Use props in Find
This commit is contained in:
6
go.mod
6
go.mod
@@ -3,9 +3,9 @@ module git.gsuntres.com/general/persist
|
||||
go 1.25.0
|
||||
|
||||
require (
|
||||
git.gsuntres.com/general/commons v0.0.0-20260414224953-706ed2e6b0be
|
||||
git.gsuntres.com/general/mongo v0.0.0-20260411181748-96254895839d
|
||||
git.gsuntres.com/general/structful v0.0.0-20260402004702-c83e44b04a9f
|
||||
git.gsuntres.com/general/commons v0.0.0-20260418004121-f52793a7641f
|
||||
git.gsuntres.com/general/mongo v0.0.0-20260418161100-6e91f8475035
|
||||
git.gsuntres.com/general/structful v0.0.0-20260415004657-80b95298f342
|
||||
github.com/go-viper/mapstructure/v2 v2.5.0
|
||||
github.com/testcontainers/testcontainers-go v0.41.0
|
||||
github.com/testcontainers/testcontainers-go/modules/mongodb v0.41.0
|
||||
|
||||
8
go.sum
8
go.sum
@@ -6,14 +6,22 @@ git.gsuntres.com/general/commons v0.0.0-20260402010100-7e8cf14bb0a5 h1:iDZS0uQCo
|
||||
git.gsuntres.com/general/commons v0.0.0-20260402010100-7e8cf14bb0a5/go.mod h1:ZawSPCI/Irjx7P83qJRcknKGuLLJ9c7hhP4OXgILnCY=
|
||||
git.gsuntres.com/general/commons v0.0.0-20260414224953-706ed2e6b0be h1:dqRYGcUv3zcQPFS8KTUakkNbXaA1rC8P0Ll2ruNQceM=
|
||||
git.gsuntres.com/general/commons v0.0.0-20260414224953-706ed2e6b0be/go.mod h1:ZawSPCI/Irjx7P83qJRcknKGuLLJ9c7hhP4OXgILnCY=
|
||||
git.gsuntres.com/general/commons v0.0.0-20260418004121-f52793a7641f h1:lSjhzGQBpON/Cc+wXZXcMrpgm0RQ+waipLoC/abmX7I=
|
||||
git.gsuntres.com/general/commons v0.0.0-20260418004121-f52793a7641f/go.mod h1:ZawSPCI/Irjx7P83qJRcknKGuLLJ9c7hhP4OXgILnCY=
|
||||
git.gsuntres.com/general/mongo v0.0.0-20260329164619-eff6c4ecee15 h1:MD2fRF3oIQ7g/ToW+toCZH3/LL8bBsSz9PhEQyjOpk0=
|
||||
git.gsuntres.com/general/mongo v0.0.0-20260329164619-eff6c4ecee15/go.mod h1:AUb/BDG+dVPHpKmO5GsoZqIbDO8uqbxBabEqtqAB4tw=
|
||||
git.gsuntres.com/general/mongo v0.0.0-20260411181748-96254895839d h1:eDbxpvgu0d751/SBIHlH1Km2er49Luau35/8ztCeBfk=
|
||||
git.gsuntres.com/general/mongo v0.0.0-20260411181748-96254895839d/go.mod h1:AUb/BDG+dVPHpKmO5GsoZqIbDO8uqbxBabEqtqAB4tw=
|
||||
git.gsuntres.com/general/mongo v0.0.0-20260418004600-7599b8b85689 h1:S9ryADnMXyTKWtUsjm1+Ah9of8R+4MmUrJgXEyrfAgg=
|
||||
git.gsuntres.com/general/mongo v0.0.0-20260418004600-7599b8b85689/go.mod h1:C3f5b9tKohacdYd2Ugnyu9rMdvQZ5a+XrrKb+O/WA/M=
|
||||
git.gsuntres.com/general/mongo v0.0.0-20260418161100-6e91f8475035 h1:8XxWEbdwRAQUAnHcKhWtqGYjCEWT2/NGU6XlwEZkhpU=
|
||||
git.gsuntres.com/general/mongo v0.0.0-20260418161100-6e91f8475035/go.mod h1:C3f5b9tKohacdYd2Ugnyu9rMdvQZ5a+XrrKb+O/WA/M=
|
||||
git.gsuntres.com/general/structful v0.0.0-20260330181942-47f7fdf9c083 h1:Z4zgJfWbcfnUiE1NjqMukUMYYlpN/10DUFpu4u789eQ=
|
||||
git.gsuntres.com/general/structful v0.0.0-20260330181942-47f7fdf9c083/go.mod h1:yAdT20C09rz2VHA6ALurxc2KUaF03cSqvmRvDwv+KZk=
|
||||
git.gsuntres.com/general/structful v0.0.0-20260402004702-c83e44b04a9f h1:bJpj6N9a2fBlcwMFoG+egkDsAmNbjfzdz3arzbdgzHs=
|
||||
git.gsuntres.com/general/structful v0.0.0-20260402004702-c83e44b04a9f/go.mod h1:fB5HAdx2wWMUkTitRz729EhpASpiHrgTYdIKQugVMjs=
|
||||
git.gsuntres.com/general/structful v0.0.0-20260415004657-80b95298f342 h1:atJ49utlrKue+mu+lbw18bvhG30TnTXQYokTKrH80+4=
|
||||
git.gsuntres.com/general/structful v0.0.0-20260415004657-80b95298f342/go.mod h1:QILJDJKzi75Q4av6LvI+/OwXAeqoLtx6p5UZXqlxfKc=
|
||||
git.gsuntres.com/general/sys v0.0.0-20260329160429-49966ca31027 h1:4pmcjxEDM4rzv+iimQ7wTgCAQ1VnAoeGiHLuf6wC6Fw=
|
||||
git.gsuntres.com/general/sys v0.0.0-20260329160429-49966ca31027/go.mod h1:OVs7w4/tJO1GT7cLIeEsb90LuZqH2xYIVQODI5P1GJs=
|
||||
git.gsuntres.com/general/sys v0.0.1 h1:JpGG6HCkJrTaCICR09kURhMTIc+/s8yb0lHQjo/TDVI=
|
||||
|
||||
@@ -19,7 +19,7 @@ func BuildFind(col map[string]any, report *InitReport) {
|
||||
in := []reflect.Type{
|
||||
reflect.TypeOf((*context.Context)(nil)).Elem(),
|
||||
reflect.TypeOf((*map[string]any)(nil)).Elem(),
|
||||
reflect.TypeOf((*int64)(nil)).Elem(),
|
||||
reflect.TypeOf((*mongo.FindOptions)(nil)).Elem(),
|
||||
}
|
||||
out := []reflect.Type{
|
||||
reflect.TypeOf(bson.M{}),
|
||||
@@ -45,7 +45,7 @@ func BuildFind(col map[string]any, report *InitReport) {
|
||||
mc := mongo.GetMongoClient()
|
||||
|
||||
// we defer function's implementation until we create the actual struct
|
||||
deferedFuncs[funcName] = func(ctx context.Context, filter map[string]any, limit int64) (bson.M, error) {
|
||||
deferedFuncs[funcName] = func(ctx context.Context, filter map[string]any, opts *mongo.FindOptions) (bson.M, error) {
|
||||
db := "__undefined__"
|
||||
if isSystem {
|
||||
db = sysDb
|
||||
@@ -56,6 +56,5 @@ func BuildFind(col map[string]any, report *InitReport) {
|
||||
}
|
||||
}
|
||||
|
||||
return mc.Find(ctx, db, name, filter, limit)
|
||||
}
|
||||
}
|
||||
return mc.Find(ctx, db, name, filter, opts)
|
||||
}}
|
||||
|
||||
@@ -19,8 +19,7 @@ func BuildFindOffset(col map[string]any, report *InitReport) {
|
||||
in := []reflect.Type{
|
||||
reflect.TypeOf((*context.Context)(nil)).Elem(),
|
||||
reflect.TypeOf((*map[string]any)(nil)).Elem(),
|
||||
reflect.TypeOf((*int64)(nil)).Elem(),
|
||||
reflect.TypeOf((*int64)(nil)).Elem(),
|
||||
reflect.TypeOf((*mongo.FindOptions)(nil)).Elem(),
|
||||
}
|
||||
out := []reflect.Type{
|
||||
reflect.TypeOf(bson.M{}),
|
||||
@@ -46,7 +45,7 @@ func BuildFindOffset(col map[string]any, report *InitReport) {
|
||||
mc := mongo.GetMongoClient()
|
||||
|
||||
// we defer function's implementation until we create the actual struct
|
||||
deferedFuncs[funcName] = func(ctx context.Context, filter map[string]any, offset int64, limit int64) (bson.M, error) {
|
||||
deferedFuncs[funcName] = func(ctx context.Context, filter map[string]any, opts *mongo.FindOptions) (bson.M, error) {
|
||||
db := "__undefined__"
|
||||
if isSystem {
|
||||
db = sysDb
|
||||
@@ -57,6 +56,6 @@ func BuildFindOffset(col map[string]any, report *InitReport) {
|
||||
}
|
||||
}
|
||||
|
||||
return mc.FindOffset(ctx, db, name, filter, offset, limit)
|
||||
return mc.FindOffset(ctx, db, name, filter, opts)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user