mirror of
https://github.com/crawlab-team/crawlab.git
synced 2026-01-22 17:31:03 +01:00
refactor: fixed dependency errors
This commit is contained in:
@@ -19,16 +19,16 @@ var (
|
||||
mu sync.Mutex
|
||||
)
|
||||
|
||||
type ModelServiceV2[T any] struct {
|
||||
type ModelService[T any] struct {
|
||||
cfg interfaces.NodeConfigService
|
||||
c *client.GrpcClient
|
||||
modelType string
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) GetById(id primitive.ObjectID) (model *T, err error) {
|
||||
func (svc *ModelService[T]) GetById(id primitive.ObjectID) (model *T, err error) {
|
||||
ctx, cancel := svc.c.Context()
|
||||
defer cancel()
|
||||
res, err := svc.c.ModelBaseServiceV2Client.GetById(ctx, &grpc.ModelServiceV2GetByIdRequest{
|
||||
res, err := svc.c.ModelBaseServiceClient.GetById(ctx, &grpc.ModelServiceGetByIdRequest{
|
||||
NodeKey: svc.cfg.GetNodeKey(),
|
||||
ModelType: svc.modelType,
|
||||
Id: id.Hex(),
|
||||
@@ -39,7 +39,7 @@ func (svc *ModelServiceV2[T]) GetById(id primitive.ObjectID) (model *T, err erro
|
||||
return svc.deserializeOne(res)
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) GetOne(query bson.M, options *mongo.FindOptions) (model *T, err error) {
|
||||
func (svc *ModelService[T]) GetOne(query bson.M, options *mongo.FindOptions) (model *T, err error) {
|
||||
ctx, cancel := svc.c.Context()
|
||||
defer cancel()
|
||||
queryData, err := json.Marshal(query)
|
||||
@@ -50,7 +50,7 @@ func (svc *ModelServiceV2[T]) GetOne(query bson.M, options *mongo.FindOptions) (
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
res, err := svc.c.ModelBaseServiceV2Client.GetOne(ctx, &grpc.ModelServiceV2GetOneRequest{
|
||||
res, err := svc.c.ModelBaseServiceClient.GetOne(ctx, &grpc.ModelServiceGetOneRequest{
|
||||
NodeKey: svc.cfg.GetNodeKey(),
|
||||
ModelType: svc.modelType,
|
||||
Query: queryData,
|
||||
@@ -62,7 +62,7 @@ func (svc *ModelServiceV2[T]) GetOne(query bson.M, options *mongo.FindOptions) (
|
||||
return svc.deserializeOne(res)
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) GetMany(query bson.M, options *mongo.FindOptions) (models []T, err error) {
|
||||
func (svc *ModelService[T]) GetMany(query bson.M, options *mongo.FindOptions) (models []T, err error) {
|
||||
ctx, cancel := svc.c.Context()
|
||||
defer cancel()
|
||||
queryData, err := json.Marshal(query)
|
||||
@@ -73,7 +73,7 @@ func (svc *ModelServiceV2[T]) GetMany(query bson.M, options *mongo.FindOptions)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
res, err := svc.c.ModelBaseServiceV2Client.GetMany(ctx, &grpc.ModelServiceV2GetManyRequest{
|
||||
res, err := svc.c.ModelBaseServiceClient.GetMany(ctx, &grpc.ModelServiceGetManyRequest{
|
||||
NodeKey: svc.cfg.GetNodeKey(),
|
||||
ModelType: svc.modelType,
|
||||
Query: queryData,
|
||||
@@ -85,10 +85,10 @@ func (svc *ModelServiceV2[T]) GetMany(query bson.M, options *mongo.FindOptions)
|
||||
return svc.deserializeMany(res)
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) DeleteById(id primitive.ObjectID) (err error) {
|
||||
func (svc *ModelService[T]) DeleteById(id primitive.ObjectID) (err error) {
|
||||
ctx, cancel := svc.c.Context()
|
||||
defer cancel()
|
||||
_, err = svc.c.ModelBaseServiceV2Client.DeleteById(ctx, &grpc.ModelServiceV2DeleteByIdRequest{
|
||||
_, err = svc.c.ModelBaseServiceClient.DeleteById(ctx, &grpc.ModelServiceDeleteByIdRequest{
|
||||
NodeKey: svc.cfg.GetNodeKey(),
|
||||
ModelType: svc.modelType,
|
||||
Id: id.Hex(),
|
||||
@@ -99,14 +99,14 @@ func (svc *ModelServiceV2[T]) DeleteById(id primitive.ObjectID) (err error) {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) DeleteOne(query bson.M) (err error) {
|
||||
func (svc *ModelService[T]) DeleteOne(query bson.M) (err error) {
|
||||
ctx, cancel := svc.c.Context()
|
||||
defer cancel()
|
||||
queryData, err := json.Marshal(query)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
_, err = svc.c.ModelBaseServiceV2Client.DeleteOne(ctx, &grpc.ModelServiceV2DeleteOneRequest{
|
||||
_, err = svc.c.ModelBaseServiceClient.DeleteOne(ctx, &grpc.ModelServiceDeleteOneRequest{
|
||||
NodeKey: svc.cfg.GetNodeKey(),
|
||||
ModelType: svc.modelType,
|
||||
Query: queryData,
|
||||
@@ -117,14 +117,14 @@ func (svc *ModelServiceV2[T]) DeleteOne(query bson.M) (err error) {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) DeleteMany(query bson.M) (err error) {
|
||||
func (svc *ModelService[T]) DeleteMany(query bson.M) (err error) {
|
||||
ctx, cancel := svc.c.Context()
|
||||
defer cancel()
|
||||
queryData, err := json.Marshal(query)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
_, err = svc.c.ModelBaseServiceV2Client.DeleteMany(ctx, &grpc.ModelServiceV2DeleteManyRequest{
|
||||
_, err = svc.c.ModelBaseServiceClient.DeleteMany(ctx, &grpc.ModelServiceDeleteManyRequest{
|
||||
NodeKey: svc.cfg.GetNodeKey(),
|
||||
ModelType: svc.modelType,
|
||||
Query: queryData,
|
||||
@@ -135,14 +135,14 @@ func (svc *ModelServiceV2[T]) DeleteMany(query bson.M) (err error) {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) UpdateById(id primitive.ObjectID, update bson.M) (err error) {
|
||||
func (svc *ModelService[T]) UpdateById(id primitive.ObjectID, update bson.M) (err error) {
|
||||
ctx, cancel := svc.c.Context()
|
||||
defer cancel()
|
||||
updateData, err := json.Marshal(update)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
_, err = svc.c.ModelBaseServiceV2Client.UpdateById(ctx, &grpc.ModelServiceV2UpdateByIdRequest{
|
||||
_, err = svc.c.ModelBaseServiceClient.UpdateById(ctx, &grpc.ModelServiceUpdateByIdRequest{
|
||||
NodeKey: svc.cfg.GetNodeKey(),
|
||||
ModelType: svc.modelType,
|
||||
Id: id.Hex(),
|
||||
@@ -154,7 +154,7 @@ func (svc *ModelServiceV2[T]) UpdateById(id primitive.ObjectID, update bson.M) (
|
||||
return nil
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) UpdateOne(query bson.M, update bson.M) (err error) {
|
||||
func (svc *ModelService[T]) UpdateOne(query bson.M, update bson.M) (err error) {
|
||||
ctx, cancel := svc.c.Context()
|
||||
defer cancel()
|
||||
queryData, err := json.Marshal(query)
|
||||
@@ -165,7 +165,7 @@ func (svc *ModelServiceV2[T]) UpdateOne(query bson.M, update bson.M) (err error)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
_, err = svc.c.ModelBaseServiceV2Client.UpdateOne(ctx, &grpc.ModelServiceV2UpdateOneRequest{
|
||||
_, err = svc.c.ModelBaseServiceClient.UpdateOne(ctx, &grpc.ModelServiceUpdateOneRequest{
|
||||
NodeKey: svc.cfg.GetNodeKey(),
|
||||
ModelType: svc.modelType,
|
||||
Query: queryData,
|
||||
@@ -177,7 +177,7 @@ func (svc *ModelServiceV2[T]) UpdateOne(query bson.M, update bson.M) (err error)
|
||||
return nil
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) UpdateMany(query bson.M, update bson.M) (err error) {
|
||||
func (svc *ModelService[T]) UpdateMany(query bson.M, update bson.M) (err error) {
|
||||
ctx, cancel := svc.c.Context()
|
||||
defer cancel()
|
||||
queryData, err := json.Marshal(query)
|
||||
@@ -188,7 +188,7 @@ func (svc *ModelServiceV2[T]) UpdateMany(query bson.M, update bson.M) (err error
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
_, err = svc.c.ModelBaseServiceV2Client.UpdateMany(ctx, &grpc.ModelServiceV2UpdateManyRequest{
|
||||
_, err = svc.c.ModelBaseServiceClient.UpdateMany(ctx, &grpc.ModelServiceUpdateManyRequest{
|
||||
NodeKey: svc.cfg.GetNodeKey(),
|
||||
ModelType: svc.modelType,
|
||||
Query: queryData,
|
||||
@@ -197,14 +197,14 @@ func (svc *ModelServiceV2[T]) UpdateMany(query bson.M, update bson.M) (err error
|
||||
return nil
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) ReplaceById(id primitive.ObjectID, model T) (err error) {
|
||||
func (svc *ModelService[T]) ReplaceById(id primitive.ObjectID, model T) (err error) {
|
||||
ctx, cancel := svc.c.Context()
|
||||
defer cancel()
|
||||
modelData, err := json.Marshal(model)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
_, err = svc.c.ModelBaseServiceV2Client.ReplaceById(ctx, &grpc.ModelServiceV2ReplaceByIdRequest{
|
||||
_, err = svc.c.ModelBaseServiceClient.ReplaceById(ctx, &grpc.ModelServiceReplaceByIdRequest{
|
||||
NodeKey: svc.cfg.GetNodeKey(),
|
||||
ModelType: svc.modelType,
|
||||
Id: id.Hex(),
|
||||
@@ -216,7 +216,7 @@ func (svc *ModelServiceV2[T]) ReplaceById(id primitive.ObjectID, model T) (err e
|
||||
return nil
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) ReplaceOne(query bson.M, model T) (err error) {
|
||||
func (svc *ModelService[T]) ReplaceOne(query bson.M, model T) (err error) {
|
||||
ctx, cancel := svc.c.Context()
|
||||
defer cancel()
|
||||
queryData, err := json.Marshal(query)
|
||||
@@ -227,7 +227,7 @@ func (svc *ModelServiceV2[T]) ReplaceOne(query bson.M, model T) (err error) {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
_, err = svc.c.ModelBaseServiceV2Client.ReplaceOne(ctx, &grpc.ModelServiceV2ReplaceOneRequest{
|
||||
_, err = svc.c.ModelBaseServiceClient.ReplaceOne(ctx, &grpc.ModelServiceReplaceOneRequest{
|
||||
NodeKey: svc.cfg.GetNodeKey(),
|
||||
ModelType: svc.modelType,
|
||||
Query: queryData,
|
||||
@@ -239,14 +239,14 @@ func (svc *ModelServiceV2[T]) ReplaceOne(query bson.M, model T) (err error) {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) InsertOne(model T) (id primitive.ObjectID, err error) {
|
||||
func (svc *ModelService[T]) InsertOne(model T) (id primitive.ObjectID, err error) {
|
||||
ctx, cancel := svc.c.Context()
|
||||
defer cancel()
|
||||
modelData, err := json.Marshal(model)
|
||||
if err != nil {
|
||||
return primitive.NilObjectID, err
|
||||
}
|
||||
res, err := svc.c.ModelBaseServiceV2Client.InsertOne(ctx, &grpc.ModelServiceV2InsertOneRequest{
|
||||
res, err := svc.c.ModelBaseServiceClient.InsertOne(ctx, &grpc.ModelServiceInsertOneRequest{
|
||||
NodeKey: svc.cfg.GetNodeKey(),
|
||||
ModelType: svc.modelType,
|
||||
Model: modelData,
|
||||
@@ -262,14 +262,14 @@ func (svc *ModelServiceV2[T]) InsertOne(model T) (id primitive.ObjectID, err err
|
||||
//return primitive.ObjectIDFromHex(idStr)
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) InsertMany(models []T) (ids []primitive.ObjectID, err error) {
|
||||
func (svc *ModelService[T]) InsertMany(models []T) (ids []primitive.ObjectID, err error) {
|
||||
ctx, cancel := svc.c.Context()
|
||||
defer cancel()
|
||||
modelsData, err := json.Marshal(models)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
res, err := svc.c.ModelBaseServiceV2Client.InsertMany(ctx, &grpc.ModelServiceV2InsertManyRequest{
|
||||
res, err := svc.c.ModelBaseServiceClient.InsertMany(ctx, &grpc.ModelServiceInsertManyRequest{
|
||||
NodeKey: svc.cfg.GetNodeKey(),
|
||||
ModelType: svc.modelType,
|
||||
Models: modelsData,
|
||||
@@ -280,14 +280,14 @@ func (svc *ModelServiceV2[T]) InsertMany(models []T) (ids []primitive.ObjectID,
|
||||
return deserialize[[]primitive.ObjectID](res)
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) Count(query bson.M) (total int, err error) {
|
||||
func (svc *ModelService[T]) Count(query bson.M) (total int, err error) {
|
||||
ctx, cancel := svc.c.Context()
|
||||
defer cancel()
|
||||
queryData, err := json.Marshal(query)
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
res, err := svc.c.ModelBaseServiceV2Client.Count(ctx, &grpc.ModelServiceV2CountRequest{
|
||||
res, err := svc.c.ModelBaseServiceClient.Count(ctx, &grpc.ModelServiceCountRequest{
|
||||
NodeKey: svc.cfg.GetNodeKey(),
|
||||
ModelType: svc.modelType,
|
||||
Query: queryData,
|
||||
@@ -298,11 +298,11 @@ func (svc *ModelServiceV2[T]) Count(query bson.M) (total int, err error) {
|
||||
return deserialize[int](res)
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) GetCol() (col *mongo.Col) {
|
||||
func (svc *ModelService[T]) GetCol() (col *mongo.Col) {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) deserializeOne(res *grpc.Response) (result *T, err error) {
|
||||
func (svc *ModelService[T]) deserializeOne(res *grpc.Response) (result *T, err error) {
|
||||
r, err := deserialize[T](res)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@@ -310,7 +310,7 @@ func (svc *ModelServiceV2[T]) deserializeOne(res *grpc.Response) (result *T, err
|
||||
return &r, err
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) deserializeMany(res *grpc.Response) (results []T, err error) {
|
||||
func (svc *ModelService[T]) deserializeMany(res *grpc.Response) (results []T, err error) {
|
||||
return deserialize[[]T](res)
|
||||
}
|
||||
|
||||
@@ -322,7 +322,7 @@ func deserialize[T any](res *grpc.Response) (result T, err error) {
|
||||
return result, nil
|
||||
}
|
||||
|
||||
func NewModelServiceV2[T any]() *ModelServiceV2[T] {
|
||||
func NewModelService[T any]() *ModelService[T] {
|
||||
mu.Lock()
|
||||
defer mu.Unlock()
|
||||
|
||||
@@ -334,7 +334,7 @@ func NewModelServiceV2[T any]() *ModelServiceV2[T] {
|
||||
onceMap[typeName] = new(sync.Once)
|
||||
}
|
||||
|
||||
var instance *ModelServiceV2[T]
|
||||
var instance *ModelService[T]
|
||||
|
||||
c := client.GetGrpcClient()
|
||||
if !c.IsStarted() {
|
||||
@@ -345,7 +345,7 @@ func NewModelServiceV2[T any]() *ModelServiceV2[T] {
|
||||
}
|
||||
|
||||
onceMap[typeName].Do(func() {
|
||||
instance = &ModelServiceV2[T]{
|
||||
instance = &ModelService[T]{
|
||||
cfg: nodeconfig.GetNodeConfigService(),
|
||||
c: c,
|
||||
modelType: typeName,
|
||||
@@ -353,5 +353,5 @@ func NewModelServiceV2[T any]() *ModelServiceV2[T] {
|
||||
instanceMap[typeName] = instance
|
||||
})
|
||||
|
||||
return instanceMap[typeName].(*ModelServiceV2[T])
|
||||
return instanceMap[typeName].(*ModelService[T])
|
||||
}
|
||||
@@ -43,7 +43,7 @@ func stopSvr(svr *server.GrpcServer) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestModelServiceV2_GetById(t *testing.T) {
|
||||
func TestModelService_GetById(t *testing.T) {
|
||||
setupTestDB()
|
||||
defer teardownTestDB()
|
||||
svr, err := server.NewGrpcServer()
|
||||
@@ -54,7 +54,7 @@ func TestModelServiceV2_GetById(t *testing.T) {
|
||||
m := models.TestModelV2{
|
||||
Name: "Test Name",
|
||||
}
|
||||
modelSvc := service.NewModelServiceV2[models.TestModelV2]()
|
||||
modelSvc := service.NewModelService[models.TestModelV2]()
|
||||
id, err := modelSvc.InsertOne(m)
|
||||
require.Nil(t, err)
|
||||
m.SetId(id)
|
||||
@@ -64,14 +64,14 @@ func TestModelServiceV2_GetById(t *testing.T) {
|
||||
require.Nil(t, err)
|
||||
c.Connect()
|
||||
|
||||
clientSvc := client.NewModelServiceV2[models.TestModelV2]()
|
||||
clientSvc := client.NewModelService[models.TestModelV2]()
|
||||
res, err := clientSvc.GetById(m.Id)
|
||||
require.Nil(t, err)
|
||||
assert.Equal(t, res.Id, m.Id)
|
||||
assert.Equal(t, res.Name, m.Name)
|
||||
}
|
||||
|
||||
func TestModelServiceV2_GetOne(t *testing.T) {
|
||||
func TestModelService_GetOne(t *testing.T) {
|
||||
setupTestDB()
|
||||
defer teardownTestDB()
|
||||
svr, err := server.NewGrpcServer()
|
||||
@@ -82,7 +82,7 @@ func TestModelServiceV2_GetOne(t *testing.T) {
|
||||
m := models.TestModelV2{
|
||||
Name: "Test Name",
|
||||
}
|
||||
modelSvc := service.NewModelServiceV2[models.TestModelV2]()
|
||||
modelSvc := service.NewModelService[models.TestModelV2]()
|
||||
id, err := modelSvc.InsertOne(m)
|
||||
require.Nil(t, err)
|
||||
m.SetId(id)
|
||||
@@ -92,14 +92,14 @@ func TestModelServiceV2_GetOne(t *testing.T) {
|
||||
require.Nil(t, err)
|
||||
c.Connect()
|
||||
|
||||
clientSvc := client.NewModelServiceV2[models.TestModelV2]()
|
||||
clientSvc := client.NewModelService[models.TestModelV2]()
|
||||
res, err := clientSvc.GetOne(bson.M{"name": m.Name}, nil)
|
||||
require.Nil(t, err)
|
||||
assert.Equal(t, res.Id, m.Id)
|
||||
assert.Equal(t, res.Name, m.Name)
|
||||
}
|
||||
|
||||
func TestModelServiceV2_GetMany(t *testing.T) {
|
||||
func TestModelService_GetMany(t *testing.T) {
|
||||
setupTestDB()
|
||||
defer teardownTestDB()
|
||||
svr, err := server.NewGrpcServer()
|
||||
@@ -110,7 +110,7 @@ func TestModelServiceV2_GetMany(t *testing.T) {
|
||||
m := models.TestModelV2{
|
||||
Name: "Test Name",
|
||||
}
|
||||
modelSvc := service.NewModelServiceV2[models.TestModelV2]()
|
||||
modelSvc := service.NewModelService[models.TestModelV2]()
|
||||
id, err := modelSvc.InsertOne(m)
|
||||
require.Nil(t, err)
|
||||
m.SetId(id)
|
||||
@@ -120,7 +120,7 @@ func TestModelServiceV2_GetMany(t *testing.T) {
|
||||
require.Nil(t, err)
|
||||
c.Connect()
|
||||
|
||||
clientSvc := client.NewModelServiceV2[models.TestModelV2]()
|
||||
clientSvc := client.NewModelService[models.TestModelV2]()
|
||||
res, err := clientSvc.GetMany(bson.M{"name": m.Name}, nil)
|
||||
require.Nil(t, err)
|
||||
assert.Equal(t, len(res), 1)
|
||||
@@ -128,7 +128,7 @@ func TestModelServiceV2_GetMany(t *testing.T) {
|
||||
assert.Equal(t, res[0].Name, m.Name)
|
||||
}
|
||||
|
||||
func TestModelServiceV2_DeleteById(t *testing.T) {
|
||||
func TestModelService_DeleteById(t *testing.T) {
|
||||
setupTestDB()
|
||||
defer teardownTestDB()
|
||||
svr, err := server.NewGrpcServer()
|
||||
@@ -139,7 +139,7 @@ func TestModelServiceV2_DeleteById(t *testing.T) {
|
||||
m := models.TestModelV2{
|
||||
Name: "Test Name",
|
||||
}
|
||||
modelSvc := service.NewModelServiceV2[models.TestModelV2]()
|
||||
modelSvc := service.NewModelService[models.TestModelV2]()
|
||||
id, err := modelSvc.InsertOne(m)
|
||||
require.Nil(t, err)
|
||||
m.SetId(id)
|
||||
@@ -149,7 +149,7 @@ func TestModelServiceV2_DeleteById(t *testing.T) {
|
||||
require.Nil(t, err)
|
||||
c.Connect()
|
||||
|
||||
clientSvc := client.NewModelServiceV2[models.TestModelV2]()
|
||||
clientSvc := client.NewModelService[models.TestModelV2]()
|
||||
err = clientSvc.DeleteById(m.Id)
|
||||
require.Nil(t, err)
|
||||
|
||||
@@ -158,7 +158,7 @@ func TestModelServiceV2_DeleteById(t *testing.T) {
|
||||
require.Nil(t, res)
|
||||
}
|
||||
|
||||
func TestModelServiceV2_DeleteOne(t *testing.T) {
|
||||
func TestModelService_DeleteOne(t *testing.T) {
|
||||
setupTestDB()
|
||||
defer teardownTestDB()
|
||||
svr, err := server.NewGrpcServer()
|
||||
@@ -169,7 +169,7 @@ func TestModelServiceV2_DeleteOne(t *testing.T) {
|
||||
m := models.TestModelV2{
|
||||
Name: "Test Name",
|
||||
}
|
||||
modelSvc := service.NewModelServiceV2[models.TestModelV2]()
|
||||
modelSvc := service.NewModelService[models.TestModelV2]()
|
||||
id, err := modelSvc.InsertOne(m)
|
||||
require.Nil(t, err)
|
||||
m.SetId(id)
|
||||
@@ -179,7 +179,7 @@ func TestModelServiceV2_DeleteOne(t *testing.T) {
|
||||
require.Nil(t, err)
|
||||
c.Connect()
|
||||
|
||||
clientSvc := client.NewModelServiceV2[models.TestModelV2]()
|
||||
clientSvc := client.NewModelService[models.TestModelV2]()
|
||||
err = clientSvc.DeleteOne(bson.M{"name": m.Name})
|
||||
require.Nil(t, err)
|
||||
|
||||
@@ -188,7 +188,7 @@ func TestModelServiceV2_DeleteOne(t *testing.T) {
|
||||
require.Nil(t, res)
|
||||
}
|
||||
|
||||
func TestModelServiceV2_DeleteMany(t *testing.T) {
|
||||
func TestModelService_DeleteMany(t *testing.T) {
|
||||
setupTestDB()
|
||||
defer teardownTestDB()
|
||||
svr, err := server.NewGrpcServer()
|
||||
@@ -199,7 +199,7 @@ func TestModelServiceV2_DeleteMany(t *testing.T) {
|
||||
m := models.TestModelV2{
|
||||
Name: "Test Name",
|
||||
}
|
||||
modelSvc := service.NewModelServiceV2[models.TestModelV2]()
|
||||
modelSvc := service.NewModelService[models.TestModelV2]()
|
||||
id, err := modelSvc.InsertOne(m)
|
||||
require.Nil(t, err)
|
||||
m.SetId(id)
|
||||
@@ -209,7 +209,7 @@ func TestModelServiceV2_DeleteMany(t *testing.T) {
|
||||
require.Nil(t, err)
|
||||
c.Connect()
|
||||
|
||||
clientSvc := client.NewModelServiceV2[models.TestModelV2]()
|
||||
clientSvc := client.NewModelService[models.TestModelV2]()
|
||||
err = clientSvc.DeleteMany(bson.M{"name": m.Name})
|
||||
require.Nil(t, err)
|
||||
|
||||
@@ -218,7 +218,7 @@ func TestModelServiceV2_DeleteMany(t *testing.T) {
|
||||
assert.Equal(t, len(res), 0)
|
||||
}
|
||||
|
||||
func TestModelServiceV2_UpdateById(t *testing.T) {
|
||||
func TestModelService_UpdateById(t *testing.T) {
|
||||
setupTestDB()
|
||||
defer teardownTestDB()
|
||||
svr, err := server.NewGrpcServer()
|
||||
@@ -229,7 +229,7 @@ func TestModelServiceV2_UpdateById(t *testing.T) {
|
||||
m := models.TestModelV2{
|
||||
Name: "Test Name",
|
||||
}
|
||||
modelSvc := service.NewModelServiceV2[models.TestModelV2]()
|
||||
modelSvc := service.NewModelService[models.TestModelV2]()
|
||||
id, err := modelSvc.InsertOne(m)
|
||||
require.Nil(t, err)
|
||||
m.SetId(id)
|
||||
@@ -239,7 +239,7 @@ func TestModelServiceV2_UpdateById(t *testing.T) {
|
||||
require.Nil(t, err)
|
||||
c.Connect()
|
||||
|
||||
clientSvc := client.NewModelServiceV2[models.TestModelV2]()
|
||||
clientSvc := client.NewModelService[models.TestModelV2]()
|
||||
err = clientSvc.UpdateById(m.Id, bson.M{"$set": bson.M{"name": "New Name"}})
|
||||
require.Nil(t, err)
|
||||
|
||||
@@ -248,7 +248,7 @@ func TestModelServiceV2_UpdateById(t *testing.T) {
|
||||
assert.Equal(t, res.Name, "New Name")
|
||||
}
|
||||
|
||||
func TestModelServiceV2_UpdateOne(t *testing.T) {
|
||||
func TestModelService_UpdateOne(t *testing.T) {
|
||||
setupTestDB()
|
||||
defer teardownTestDB()
|
||||
svr, err := server.NewGrpcServer()
|
||||
@@ -259,7 +259,7 @@ func TestModelServiceV2_UpdateOne(t *testing.T) {
|
||||
m := models.TestModelV2{
|
||||
Name: "Test Name",
|
||||
}
|
||||
modelSvc := service.NewModelServiceV2[models.TestModelV2]()
|
||||
modelSvc := service.NewModelService[models.TestModelV2]()
|
||||
id, err := modelSvc.InsertOne(m)
|
||||
require.Nil(t, err)
|
||||
m.SetId(id)
|
||||
@@ -269,7 +269,7 @@ func TestModelServiceV2_UpdateOne(t *testing.T) {
|
||||
require.Nil(t, err)
|
||||
c.Connect()
|
||||
|
||||
clientSvc := client.NewModelServiceV2[models.TestModelV2]()
|
||||
clientSvc := client.NewModelService[models.TestModelV2]()
|
||||
err = clientSvc.UpdateOne(bson.M{"name": m.Name}, bson.M{"$set": bson.M{"name": "New Name"}})
|
||||
require.Nil(t, err)
|
||||
|
||||
@@ -278,7 +278,7 @@ func TestModelServiceV2_UpdateOne(t *testing.T) {
|
||||
assert.Equal(t, res.Name, "New Name")
|
||||
}
|
||||
|
||||
func TestModelServiceV2_UpdateMany(t *testing.T) {
|
||||
func TestModelService_UpdateMany(t *testing.T) {
|
||||
setupTestDB()
|
||||
defer teardownTestDB()
|
||||
svr, err := server.NewGrpcServer()
|
||||
@@ -292,7 +292,7 @@ func TestModelServiceV2_UpdateMany(t *testing.T) {
|
||||
m2 := models.TestModelV2{
|
||||
Name: "Test Name",
|
||||
}
|
||||
modelSvc := service.NewModelServiceV2[models.TestModelV2]()
|
||||
modelSvc := service.NewModelService[models.TestModelV2]()
|
||||
_, err = modelSvc.InsertOne(m1)
|
||||
require.Nil(t, err)
|
||||
_, err = modelSvc.InsertOne(m2)
|
||||
@@ -303,7 +303,7 @@ func TestModelServiceV2_UpdateMany(t *testing.T) {
|
||||
require.Nil(t, err)
|
||||
c.Connect()
|
||||
|
||||
clientSvc := client.NewModelServiceV2[models.TestModelV2]()
|
||||
clientSvc := client.NewModelService[models.TestModelV2]()
|
||||
err = clientSvc.UpdateMany(bson.M{"name": "Test Name"}, bson.M{"$set": bson.M{"name": "New Name"}})
|
||||
require.Nil(t, err)
|
||||
|
||||
@@ -312,7 +312,7 @@ func TestModelServiceV2_UpdateMany(t *testing.T) {
|
||||
assert.Equal(t, len(res), 2)
|
||||
}
|
||||
|
||||
func TestModelServiceV2_ReplaceById(t *testing.T) {
|
||||
func TestModelService_ReplaceById(t *testing.T) {
|
||||
setupTestDB()
|
||||
defer teardownTestDB()
|
||||
svr, err := server.NewGrpcServer()
|
||||
@@ -323,7 +323,7 @@ func TestModelServiceV2_ReplaceById(t *testing.T) {
|
||||
m := models.TestModelV2{
|
||||
Name: "Test Name",
|
||||
}
|
||||
modelSvc := service.NewModelServiceV2[models.TestModelV2]()
|
||||
modelSvc := service.NewModelService[models.TestModelV2]()
|
||||
id, err := modelSvc.InsertOne(m)
|
||||
require.Nil(t, err)
|
||||
m.SetId(id)
|
||||
@@ -333,7 +333,7 @@ func TestModelServiceV2_ReplaceById(t *testing.T) {
|
||||
require.Nil(t, err)
|
||||
c.Connect()
|
||||
|
||||
clientSvc := client.NewModelServiceV2[models.TestModelV2]()
|
||||
clientSvc := client.NewModelService[models.TestModelV2]()
|
||||
m.Name = "New Name"
|
||||
err = clientSvc.ReplaceById(m.Id, m)
|
||||
require.Nil(t, err)
|
||||
@@ -343,7 +343,7 @@ func TestModelServiceV2_ReplaceById(t *testing.T) {
|
||||
assert.Equal(t, res.Name, "New Name")
|
||||
}
|
||||
|
||||
func TestModelServiceV2_ReplaceOne(t *testing.T) {
|
||||
func TestModelService_ReplaceOne(t *testing.T) {
|
||||
setupTestDB()
|
||||
defer teardownTestDB()
|
||||
svr, err := server.NewGrpcServer()
|
||||
@@ -354,7 +354,7 @@ func TestModelServiceV2_ReplaceOne(t *testing.T) {
|
||||
m := models.TestModelV2{
|
||||
Name: "Test Name",
|
||||
}
|
||||
modelSvc := service.NewModelServiceV2[models.TestModelV2]()
|
||||
modelSvc := service.NewModelService[models.TestModelV2]()
|
||||
id, err := modelSvc.InsertOne(m)
|
||||
require.Nil(t, err)
|
||||
m.SetId(id)
|
||||
@@ -364,7 +364,7 @@ func TestModelServiceV2_ReplaceOne(t *testing.T) {
|
||||
require.Nil(t, err)
|
||||
c.Connect()
|
||||
|
||||
clientSvc := client.NewModelServiceV2[models.TestModelV2]()
|
||||
clientSvc := client.NewModelService[models.TestModelV2]()
|
||||
m.Name = "New Name"
|
||||
err = clientSvc.ReplaceOne(bson.M{"name": "Test Name"}, m)
|
||||
require.Nil(t, err)
|
||||
@@ -374,7 +374,7 @@ func TestModelServiceV2_ReplaceOne(t *testing.T) {
|
||||
assert.Equal(t, res.Name, "New Name")
|
||||
}
|
||||
|
||||
func TestModelServiceV2_InsertOne(t *testing.T) {
|
||||
func TestModelService_InsertOne(t *testing.T) {
|
||||
setupTestDB()
|
||||
defer teardownTestDB()
|
||||
svr, err := server.NewGrpcServer()
|
||||
@@ -386,7 +386,7 @@ func TestModelServiceV2_InsertOne(t *testing.T) {
|
||||
require.Nil(t, err)
|
||||
c.Connect()
|
||||
|
||||
clientSvc := client.NewModelServiceV2[models.TestModelV2]()
|
||||
clientSvc := client.NewModelService[models.TestModelV2]()
|
||||
m := models.TestModelV2{
|
||||
Name: "Test Name",
|
||||
}
|
||||
@@ -398,7 +398,7 @@ func TestModelServiceV2_InsertOne(t *testing.T) {
|
||||
assert.Equal(t, res.Name, m.Name)
|
||||
}
|
||||
|
||||
func TestModelServiceV2_InsertMany(t *testing.T) {
|
||||
func TestModelService_InsertMany(t *testing.T) {
|
||||
setupTestDB()
|
||||
defer teardownTestDB()
|
||||
svr, err := server.NewGrpcServer()
|
||||
@@ -410,7 +410,7 @@ func TestModelServiceV2_InsertMany(t *testing.T) {
|
||||
require.Nil(t, err)
|
||||
c.Connect()
|
||||
|
||||
clientSvc := client.NewModelServiceV2[models.TestModelV2]()
|
||||
clientSvc := client.NewModelService[models.TestModelV2]()
|
||||
testModels := []models.TestModelV2{
|
||||
{Name: "Test Name 1"},
|
||||
{Name: "Test Name 2"},
|
||||
@@ -425,7 +425,7 @@ func TestModelServiceV2_InsertMany(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestModelServiceV2_Count(t *testing.T) {
|
||||
func TestModelService_Count(t *testing.T) {
|
||||
setupTestDB()
|
||||
defer teardownTestDB()
|
||||
svr, err := server.NewGrpcServer()
|
||||
@@ -433,7 +433,7 @@ func TestModelServiceV2_Count(t *testing.T) {
|
||||
go startSvr(svr)
|
||||
defer stopSvr(svr)
|
||||
|
||||
modelSvc := service.NewModelServiceV2[models.TestModelV2]()
|
||||
modelSvc := service.NewModelService[models.TestModelV2]()
|
||||
for i := 0; i < 5; i++ {
|
||||
_, err = modelSvc.InsertOne(models.TestModelV2{
|
||||
Name: "Test Name",
|
||||
@@ -446,7 +446,7 @@ func TestModelServiceV2_Count(t *testing.T) {
|
||||
require.Nil(t, err)
|
||||
c.Connect()
|
||||
|
||||
clientSvc := client.NewModelServiceV2[models.TestModelV2]()
|
||||
clientSvc := client.NewModelService[models.TestModelV2]()
|
||||
count, err := clientSvc.Count(bson.M{})
|
||||
require.Nil(t, err)
|
||||
|
||||
@@ -20,11 +20,11 @@ var (
|
||||
mu sync.Mutex
|
||||
)
|
||||
|
||||
type ModelServiceV2[T any] struct {
|
||||
type ModelService[T any] struct {
|
||||
col *mongo.Col
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) GetById(id primitive.ObjectID) (model *T, err error) {
|
||||
func (svc *ModelService[T]) GetById(id primitive.ObjectID) (model *T, err error) {
|
||||
var result T
|
||||
err = svc.col.FindId(id).One(&result)
|
||||
if err != nil {
|
||||
@@ -33,7 +33,7 @@ func (svc *ModelServiceV2[T]) GetById(id primitive.ObjectID) (model *T, err erro
|
||||
return &result, nil
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) GetByIdContext(ctx context.Context, id primitive.ObjectID) (model *T, err error) {
|
||||
func (svc *ModelService[T]) GetByIdContext(ctx context.Context, id primitive.ObjectID) (model *T, err error) {
|
||||
var result T
|
||||
err = svc.col.GetCollection().FindOne(ctx, bson.M{"_id": id}).Decode(&result)
|
||||
if err != nil {
|
||||
@@ -42,7 +42,7 @@ func (svc *ModelServiceV2[T]) GetByIdContext(ctx context.Context, id primitive.O
|
||||
return &result, nil
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) GetOne(query bson.M, options *mongo.FindOptions) (model *T, err error) {
|
||||
func (svc *ModelService[T]) GetOne(query bson.M, options *mongo.FindOptions) (model *T, err error) {
|
||||
var result T
|
||||
err = svc.col.Find(query, options).One(&result)
|
||||
if err != nil {
|
||||
@@ -51,7 +51,7 @@ func (svc *ModelServiceV2[T]) GetOne(query bson.M, options *mongo.FindOptions) (
|
||||
return &result, nil
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) GetOneContext(ctx context.Context, query bson.M, opts *mongo.FindOptions) (model *T, err error) {
|
||||
func (svc *ModelService[T]) GetOneContext(ctx context.Context, query bson.M, opts *mongo.FindOptions) (model *T, err error) {
|
||||
var result T
|
||||
_opts := &options.FindOneOptions{}
|
||||
if opts != nil {
|
||||
@@ -70,7 +70,7 @@ func (svc *ModelServiceV2[T]) GetOneContext(ctx context.Context, query bson.M, o
|
||||
return &result, nil
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) GetMany(query bson.M, options *mongo.FindOptions) (models []T, err error) {
|
||||
func (svc *ModelService[T]) GetMany(query bson.M, options *mongo.FindOptions) (models []T, err error) {
|
||||
var result []T
|
||||
err = svc.col.Find(query, options).All(&result)
|
||||
if err != nil {
|
||||
@@ -79,7 +79,7 @@ func (svc *ModelServiceV2[T]) GetMany(query bson.M, options *mongo.FindOptions)
|
||||
return result, nil
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) GetManyContext(ctx context.Context, query bson.M, opts *mongo.FindOptions) (models []T, err error) {
|
||||
func (svc *ModelService[T]) GetManyContext(ctx context.Context, query bson.M, opts *mongo.FindOptions) (models []T, err error) {
|
||||
var result []T
|
||||
_opts := &options.FindOptions{}
|
||||
if opts != nil {
|
||||
@@ -110,85 +110,85 @@ func (svc *ModelServiceV2[T]) GetManyContext(ctx context.Context, query bson.M,
|
||||
return result, nil
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) DeleteById(id primitive.ObjectID) (err error) {
|
||||
func (svc *ModelService[T]) DeleteById(id primitive.ObjectID) (err error) {
|
||||
return svc.col.DeleteId(id)
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) DeleteByIdContext(ctx context.Context, id primitive.ObjectID) (err error) {
|
||||
func (svc *ModelService[T]) DeleteByIdContext(ctx context.Context, id primitive.ObjectID) (err error) {
|
||||
_, err = svc.col.GetCollection().DeleteOne(ctx, bson.M{"_id": id})
|
||||
return err
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) DeleteOne(query bson.M) (err error) {
|
||||
func (svc *ModelService[T]) DeleteOne(query bson.M) (err error) {
|
||||
_, err = svc.col.GetCollection().DeleteOne(svc.col.GetContext(), query)
|
||||
return err
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) DeleteOneContext(ctx context.Context, query bson.M) (err error) {
|
||||
func (svc *ModelService[T]) DeleteOneContext(ctx context.Context, query bson.M) (err error) {
|
||||
_, err = svc.col.GetCollection().DeleteOne(ctx, query)
|
||||
return err
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) DeleteMany(query bson.M) (err error) {
|
||||
func (svc *ModelService[T]) DeleteMany(query bson.M) (err error) {
|
||||
_, err = svc.col.GetCollection().DeleteMany(svc.col.GetContext(), query, nil)
|
||||
return err
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) DeleteManyContext(ctx context.Context, query bson.M) (err error) {
|
||||
func (svc *ModelService[T]) DeleteManyContext(ctx context.Context, query bson.M) (err error) {
|
||||
_, err = svc.col.GetCollection().DeleteMany(ctx, query, nil)
|
||||
return err
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) UpdateById(id primitive.ObjectID, update bson.M) (err error) {
|
||||
func (svc *ModelService[T]) UpdateById(id primitive.ObjectID, update bson.M) (err error) {
|
||||
return svc.col.UpdateId(id, update)
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) UpdateByIdContext(ctx context.Context, id primitive.ObjectID, update bson.M) (err error) {
|
||||
func (svc *ModelService[T]) UpdateByIdContext(ctx context.Context, id primitive.ObjectID, update bson.M) (err error) {
|
||||
_, err = svc.col.GetCollection().UpdateOne(ctx, bson.M{"_id": id}, update)
|
||||
return err
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) UpdateOne(query bson.M, update bson.M) (err error) {
|
||||
func (svc *ModelService[T]) UpdateOne(query bson.M, update bson.M) (err error) {
|
||||
_, err = svc.col.GetCollection().UpdateOne(svc.col.GetContext(), query, update)
|
||||
return err
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) UpdateOneContext(ctx context.Context, query bson.M, update bson.M) (err error) {
|
||||
func (svc *ModelService[T]) UpdateOneContext(ctx context.Context, query bson.M, update bson.M) (err error) {
|
||||
_, err = svc.col.GetCollection().UpdateOne(ctx, query, update)
|
||||
return err
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) UpdateMany(query bson.M, update bson.M) (err error) {
|
||||
func (svc *ModelService[T]) UpdateMany(query bson.M, update bson.M) (err error) {
|
||||
_, err = svc.col.GetCollection().UpdateMany(svc.col.GetContext(), query, update)
|
||||
return err
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) UpdateManyContext(ctx context.Context, query bson.M, update bson.M) (err error) {
|
||||
func (svc *ModelService[T]) UpdateManyContext(ctx context.Context, query bson.M, update bson.M) (err error) {
|
||||
_, err = svc.col.GetCollection().UpdateMany(ctx, query, update)
|
||||
return err
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) ReplaceById(id primitive.ObjectID, model T) (err error) {
|
||||
func (svc *ModelService[T]) ReplaceById(id primitive.ObjectID, model T) (err error) {
|
||||
_, err = svc.col.GetCollection().ReplaceOne(svc.col.GetContext(), bson.M{"_id": id}, model)
|
||||
return err
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) ReplaceByIdContext(ctx context.Context, id primitive.ObjectID, model T) (err error) {
|
||||
func (svc *ModelService[T]) ReplaceByIdContext(ctx context.Context, id primitive.ObjectID, model T) (err error) {
|
||||
_, err = svc.col.GetCollection().ReplaceOne(ctx, bson.M{"_id": id}, model)
|
||||
return err
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) ReplaceOne(query bson.M, model T) (err error) {
|
||||
func (svc *ModelService[T]) ReplaceOne(query bson.M, model T) (err error) {
|
||||
_, err = svc.col.GetCollection().ReplaceOne(svc.col.GetContext(), query, model)
|
||||
return err
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) ReplaceOneContext(ctx context.Context, query bson.M, model T) (err error) {
|
||||
func (svc *ModelService[T]) ReplaceOneContext(ctx context.Context, query bson.M, model T) (err error) {
|
||||
_, err = svc.col.GetCollection().ReplaceOne(ctx, query, model)
|
||||
return err
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) InsertOne(model T) (id primitive.ObjectID, err error) {
|
||||
func (svc *ModelService[T]) InsertOne(model T) (id primitive.ObjectID, err error) {
|
||||
m := any(&model).(interfaces.Model)
|
||||
if m.GetId().IsZero() {
|
||||
m.SetId(primitive.NewObjectID())
|
||||
@@ -200,7 +200,7 @@ func (svc *ModelServiceV2[T]) InsertOne(model T) (id primitive.ObjectID, err err
|
||||
return res.InsertedID.(primitive.ObjectID), nil
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) InsertOneContext(ctx context.Context, model T) (id primitive.ObjectID, err error) {
|
||||
func (svc *ModelService[T]) InsertOneContext(ctx context.Context, model T) (id primitive.ObjectID, err error) {
|
||||
m := any(&model).(interfaces.Model)
|
||||
if m.GetId().IsZero() {
|
||||
m.SetId(primitive.NewObjectID())
|
||||
@@ -212,7 +212,7 @@ func (svc *ModelServiceV2[T]) InsertOneContext(ctx context.Context, model T) (id
|
||||
return res.InsertedID.(primitive.ObjectID), nil
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) InsertMany(models []T) (ids []primitive.ObjectID, err error) {
|
||||
func (svc *ModelService[T]) InsertMany(models []T) (ids []primitive.ObjectID, err error) {
|
||||
var _models []any
|
||||
for _, model := range models {
|
||||
m := any(&model).(interfaces.Model)
|
||||
@@ -231,7 +231,7 @@ func (svc *ModelServiceV2[T]) InsertMany(models []T) (ids []primitive.ObjectID,
|
||||
return ids, nil
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) InsertManyContext(ctx context.Context, models []T) (ids []primitive.ObjectID, err error) {
|
||||
func (svc *ModelService[T]) InsertManyContext(ctx context.Context, models []T) (ids []primitive.ObjectID, err error) {
|
||||
var _models []any
|
||||
for _, model := range models {
|
||||
m := any(&model).(interfaces.Model)
|
||||
@@ -250,11 +250,11 @@ func (svc *ModelServiceV2[T]) InsertManyContext(ctx context.Context, models []T)
|
||||
return ids, nil
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) Count(query bson.M) (total int, err error) {
|
||||
func (svc *ModelService[T]) Count(query bson.M) (total int, err error) {
|
||||
return svc.col.Count(query)
|
||||
}
|
||||
|
||||
func (svc *ModelServiceV2[T]) GetCol() (col *mongo.Col) {
|
||||
func (svc *ModelService[T]) GetCol() (col *mongo.Col) {
|
||||
return svc.col
|
||||
}
|
||||
|
||||
@@ -271,8 +271,8 @@ func getCollectionName[T any]() string {
|
||||
return field.Tag.Get("collection")
|
||||
}
|
||||
|
||||
// NewModelServiceV2 return singleton instance of ModelServiceV2
|
||||
func NewModelServiceV2[T any]() *ModelServiceV2[T] {
|
||||
// NewModelService return singleton instance of ModelService
|
||||
func NewModelService[T any]() *ModelService[T] {
|
||||
typeName := fmt.Sprintf("%T", *new(T))
|
||||
|
||||
mu.Lock()
|
||||
@@ -282,19 +282,19 @@ func NewModelServiceV2[T any]() *ModelServiceV2[T] {
|
||||
onceMap[typeName] = new(sync.Once)
|
||||
}
|
||||
|
||||
var instance *ModelServiceV2[T]
|
||||
var instance *ModelService[T]
|
||||
|
||||
onceMap[typeName].Do(func() {
|
||||
collectionName := getCollectionName[T]()
|
||||
collection := mongo.GetMongoCol(collectionName)
|
||||
instance = &ModelServiceV2[T]{col: collection}
|
||||
instance = &ModelService[T]{col: collection}
|
||||
instanceMap[typeName] = instance
|
||||
})
|
||||
|
||||
return instanceMap[typeName].(*ModelServiceV2[T])
|
||||
return instanceMap[typeName].(*ModelService[T])
|
||||
}
|
||||
|
||||
func NewModelServiceV2WithColName[T any](colName string) *ModelServiceV2[T] {
|
||||
func NewModelServiceWithColName[T any](colName string) *ModelService[T] {
|
||||
mu.Lock()
|
||||
defer mu.Unlock()
|
||||
|
||||
@@ -302,13 +302,13 @@ func NewModelServiceV2WithColName[T any](colName string) *ModelServiceV2[T] {
|
||||
onceColNameMap[colName] = new(sync.Once)
|
||||
}
|
||||
|
||||
var instance *ModelServiceV2[T]
|
||||
var instance *ModelService[T]
|
||||
|
||||
onceColNameMap[colName].Do(func() {
|
||||
collection := mongo.GetMongoCol(colName)
|
||||
instance = &ModelServiceV2[T]{col: collection}
|
||||
instance = &ModelService[T]{col: collection}
|
||||
instanceMap[colName] = instance
|
||||
})
|
||||
|
||||
return instanceMap[colName].(*ModelServiceV2[T])
|
||||
return instanceMap[colName].(*ModelService[T])
|
||||
}
|
||||
@@ -41,7 +41,7 @@ func TestModelServiceV2(t *testing.T) {
|
||||
defer teardownTestDB()
|
||||
|
||||
t.Run("GetById", func(t *testing.T) {
|
||||
svc := service.NewModelServiceV2[TestModel]()
|
||||
svc := service.NewModelService[TestModel]()
|
||||
testModel := TestModel{Name: "GetById Test"}
|
||||
|
||||
id, err := svc.InsertOne(testModel)
|
||||
@@ -54,7 +54,7 @@ func TestModelServiceV2(t *testing.T) {
|
||||
})
|
||||
|
||||
t.Run("GetOne", func(t *testing.T) {
|
||||
svc := service.NewModelServiceV2[TestModel]()
|
||||
svc := service.NewModelService[TestModel]()
|
||||
testModel := TestModel{Name: "GetOne Test"}
|
||||
|
||||
_, err := svc.InsertOne(testModel)
|
||||
@@ -67,7 +67,7 @@ func TestModelServiceV2(t *testing.T) {
|
||||
})
|
||||
|
||||
t.Run("GetMany", func(t *testing.T) {
|
||||
svc := service.NewModelServiceV2[TestModel]()
|
||||
svc := service.NewModelService[TestModel]()
|
||||
testModels := []TestModel{
|
||||
{Name: "GetMany Test 1"},
|
||||
{Name: "GetMany Test 2"},
|
||||
@@ -83,7 +83,7 @@ func TestModelServiceV2(t *testing.T) {
|
||||
})
|
||||
|
||||
t.Run("InsertOne", func(t *testing.T) {
|
||||
svc := service.NewModelServiceV2[TestModel]()
|
||||
svc := service.NewModelService[TestModel]()
|
||||
testModel := TestModel{Name: "InsertOne Test"}
|
||||
|
||||
id, err := svc.InsertOne(testModel)
|
||||
@@ -92,7 +92,7 @@ func TestModelServiceV2(t *testing.T) {
|
||||
})
|
||||
|
||||
t.Run("InsertMany", func(t *testing.T) {
|
||||
svc := service.NewModelServiceV2[TestModel]()
|
||||
svc := service.NewModelService[TestModel]()
|
||||
testModels := []TestModel{
|
||||
{Name: "InsertMany Test 1"},
|
||||
{Name: "InsertMany Test 2"},
|
||||
@@ -104,7 +104,7 @@ func TestModelServiceV2(t *testing.T) {
|
||||
})
|
||||
|
||||
t.Run("UpdateById", func(t *testing.T) {
|
||||
svc := service.NewModelServiceV2[TestModel]()
|
||||
svc := service.NewModelService[TestModel]()
|
||||
testModel := TestModel{Name: "UpdateById Test"}
|
||||
|
||||
id, err := svc.InsertOne(testModel)
|
||||
@@ -122,7 +122,7 @@ func TestModelServiceV2(t *testing.T) {
|
||||
})
|
||||
|
||||
t.Run("UpdateOne", func(t *testing.T) {
|
||||
svc := service.NewModelServiceV2[TestModel]()
|
||||
svc := service.NewModelService[TestModel]()
|
||||
testModel := TestModel{Name: "UpdateOne Test"}
|
||||
|
||||
_, err := svc.InsertOne(testModel)
|
||||
@@ -140,7 +140,7 @@ func TestModelServiceV2(t *testing.T) {
|
||||
})
|
||||
|
||||
t.Run("UpdateMany", func(t *testing.T) {
|
||||
svc := service.NewModelServiceV2[TestModel]()
|
||||
svc := service.NewModelService[TestModel]()
|
||||
testModels := []TestModel{
|
||||
{Name: "UpdateMany Test 1"},
|
||||
{Name: "UpdateMany Test 2"},
|
||||
@@ -161,7 +161,7 @@ func TestModelServiceV2(t *testing.T) {
|
||||
})
|
||||
|
||||
t.Run("DeleteById", func(t *testing.T) {
|
||||
svc := service.NewModelServiceV2[TestModel]()
|
||||
svc := service.NewModelService[TestModel]()
|
||||
testModel := TestModel{Name: "DeleteById Test"}
|
||||
|
||||
id, err := svc.InsertOne(testModel)
|
||||
@@ -178,7 +178,7 @@ func TestModelServiceV2(t *testing.T) {
|
||||
})
|
||||
|
||||
t.Run("DeleteOne", func(t *testing.T) {
|
||||
svc := service.NewModelServiceV2[TestModel]()
|
||||
svc := service.NewModelService[TestModel]()
|
||||
testModel := TestModel{Name: "DeleteOne Test"}
|
||||
|
||||
_, err := svc.InsertOne(testModel)
|
||||
@@ -195,7 +195,7 @@ func TestModelServiceV2(t *testing.T) {
|
||||
})
|
||||
|
||||
t.Run("DeleteMany", func(t *testing.T) {
|
||||
svc := service.NewModelServiceV2[TestModel]()
|
||||
svc := service.NewModelService[TestModel]()
|
||||
testModels := []TestModel{
|
||||
{Name: "DeleteMany Test 1"},
|
||||
{Name: "DeleteMany Test 2"},
|
||||
@@ -215,7 +215,7 @@ func TestModelServiceV2(t *testing.T) {
|
||||
})
|
||||
|
||||
t.Run("Count", func(t *testing.T) {
|
||||
svc := service.NewModelServiceV2[TestModel]()
|
||||
svc := service.NewModelService[TestModel]()
|
||||
testModels := []TestModel{
|
||||
{Name: "Count Test 1"},
|
||||
{Name: "Count Test 2"},
|
||||
Reference in New Issue
Block a user