2023-10-31 22:58:28 +01:00
|
|
|
// Code generated by id-generate.go DO NOT EDIT.
|
|
|
|
|
|
|
|
package {{.PkgName}}
|
|
|
|
|
|
|
|
import "go.mongodb.org/mongo-driver/bson"
|
|
|
|
import "go.mongodb.org/mongo-driver/bson/bsontype"
|
|
|
|
import "go.mongodb.org/mongo-driver/bson/primitive"
|
|
|
|
import "gogs.mikescher.com/BlackForestBytes/goext/exerr"
|
|
|
|
|
|
|
|
const ChecksumIDGenerator = "{{.Checksum}}" // GoExtVersion: {{.GoextVersion}}
|
|
|
|
|
|
|
|
{{range .IDs}}
|
|
|
|
|
|
|
|
// ================================ {{.Name}} ({{.FileRelative}}) ================================
|
|
|
|
|
|
|
|
func (i {{.Name}}) MarshalBSONValue() (bsontype.Type, []byte, error) {
|
|
|
|
if objId, err := primitive.ObjectIDFromHex(string(i)); err == nil {
|
|
|
|
return bson.MarshalValue(objId)
|
|
|
|
} else {
|
|
|
|
return 0, nil, exerr.New(exerr.TypeMarshalEntityID, "Failed to marshal {{.Name}}("+i.String()+") to ObjectId").Str("value", string(i)).Type("type", i).Build()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-10-22 09:57:06 +02:00
|
|
|
func (i {{.Name}}) String() string {
|
|
|
|
return string(i)
|
2023-10-31 22:58:28 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
func (i {{.Name}}) ObjID() (primitive.ObjectID, error) {
|
|
|
|
return primitive.ObjectIDFromHex(string(i))
|
|
|
|
}
|
|
|
|
|
|
|
|
func (i {{.Name}}) Valid() bool {
|
|
|
|
_, err := primitive.ObjectIDFromHex(string(i))
|
|
|
|
return err == nil
|
|
|
|
}
|
|
|
|
|
|
|
|
{{if ne $.AnyDef nil}}
|
|
|
|
func (i {{.Name}}) AsAny() {{$.AnyDef.Name}} {
|
|
|
|
return {{$.AnyDef.Name}}(i)
|
|
|
|
}
|
|
|
|
{{end}}
|
|
|
|
|
|
|
|
func New{{.Name}}() {{.Name}} {
|
|
|
|
return {{.Name}}(primitive.NewObjectID().Hex())
|
|
|
|
}
|
|
|
|
|
|
|
|
{{end}}
|