Merge remote-tracking branch 'origin/feature/mongo-driver-v2'
Build Docker and Deploy / Run goext test-suite (push) Successful in 1m34s

This commit is contained in:
2026-04-26 14:35:07 +02:00
34 changed files with 203 additions and 473 deletions
+8 -7
View File
@@ -3,12 +3,13 @@ package reflectext
import (
"errors"
"fmt"
"git.blackforestbytes.com/BlackForestBytes/goext/langext"
"go.mongodb.org/mongo-driver/bson/primitive"
"reflect"
"strconv"
"strings"
"time"
"git.blackforestbytes.com/BlackForestBytes/goext/langext"
"go.mongodb.org/mongo-driver/v2/bson"
)
var primitiveSerializer = map[reflect.Type]genSerializer{
@@ -28,7 +29,7 @@ var primitiveSerializer = map[reflect.Type]genSerializer{
reflect.TypeFor[bool](): newGenSerializer(serBoolToString, serStringToBool),
reflect.TypeFor[primitive.ObjectID](): newGenSerializer(serObjectIDToString, serStringToObjectID),
reflect.TypeFor[bson.ObjectID](): newGenSerializer(serObjectIDToString, serStringToObjectID),
reflect.TypeFor[time.Time](): newGenSerializer(serTimeToString, serStringToTime),
}
@@ -111,15 +112,15 @@ func serStringToBool(v string) (bool, error) {
return false, errors.New(fmt.Sprintf("invalid boolean value '%s'", v))
}
func serObjectIDToString(v primitive.ObjectID) (string, error) {
func serObjectIDToString(v bson.ObjectID) (string, error) {
return v.Hex(), nil
}
func serStringToObjectID(v string) (primitive.ObjectID, error) {
if rv, err := primitive.ObjectIDFromHex(v); err == nil {
func serStringToObjectID(v string) (bson.ObjectID, error) {
if rv, err := bson.ObjectIDFromHex(v); err == nil {
return rv, nil
} else {
return primitive.ObjectID{}, err
return bson.ObjectID{}, err
}
}