Mike Schwörer
5a8d7110e4
All checks were successful
Build Docker and Deploy / Run goext test-suite (push) Successful in 2m52s
50 lines
1.3 KiB
Plaintext
50 lines
1.3 KiB
Plaintext
// 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()
|
|
}
|
|
}
|
|
|
|
func (i *{{.Name}}) String() string {
|
|
if i == nil {
|
|
return "<nil>"
|
|
}
|
|
return string(*i)
|
|
}
|
|
|
|
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}} |