From 05f19a55ae0b4b241101a865fc464eff203fc5b6 Mon Sep 17 00:00:00 2001 From: MartinezAvellan Date: Wed, 2 Oct 2024 19:14:44 +0200 Subject: [PATCH] fix: mongdb connection and wire to save metadata of transaction :bug: --- .../internal/app/command/create-transaction.go | 2 +- components/transaction/internal/gen/inject.go | 5 +++++ components/transaction/internal/gen/wire_gen.go | 9 ++++++++- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/components/transaction/internal/app/command/create-transaction.go b/components/transaction/internal/app/command/create-transaction.go index 1b32092d..4d839277 100644 --- a/components/transaction/internal/app/command/create-transaction.go +++ b/components/transaction/internal/app/command/create-transaction.go @@ -81,5 +81,5 @@ func (uc *UseCase) CreateTransaction(ctx context.Context, organizationID, ledger tran.Metadata = transaction.Metadata } - return nil, nil + return tran, nil } diff --git a/components/transaction/internal/gen/inject.go b/components/transaction/internal/gen/inject.go index 5a1ccdfb..fa64f65a 100644 --- a/components/transaction/internal/gen/inject.go +++ b/components/transaction/internal/gen/inject.go @@ -12,12 +12,14 @@ import ( "github.com/LerianStudio/midaz/common/mmongo" "github.com/LerianStudio/midaz/common/mpostgres" "github.com/LerianStudio/midaz/common/mzap" + "github.com/LerianStudio/midaz/components/transaction/internal/adapters/database/mongodb" "github.com/LerianStudio/midaz/components/transaction/internal/adapters/database/postgres" "github.com/LerianStudio/midaz/components/transaction/internal/adapters/grpc" adapter "github.com/LerianStudio/midaz/components/transaction/internal/adapters/grpc" "github.com/LerianStudio/midaz/components/transaction/internal/app/command" "github.com/LerianStudio/midaz/components/transaction/internal/app/query" a "github.com/LerianStudio/midaz/components/transaction/internal/domain/account" + m "github.com/LerianStudio/midaz/components/transaction/internal/domain/metadata" o "github.com/LerianStudio/midaz/components/transaction/internal/domain/operation" t "github.com/LerianStudio/midaz/components/transaction/internal/domain/transaction" "github.com/LerianStudio/midaz/components/transaction/internal/ports" @@ -52,6 +54,7 @@ func setupMongoDBConnection(cfg *service.Config) *mmongo.MongoConnection { return &mmongo.MongoConnection{ ConnectionStringSource: connStrSource, + Database: cfg.MongoDBName, } } @@ -75,6 +78,7 @@ var ( service.NewServer, postgres.NewTransactionPostgreSQLRepository, postgres.NewOperationPostgreSQLRepository, + mongodb.NewMetadataMongoDBRepository, grpc.NewAccountGRPC, wire.Struct(new(ports.TransactionHandler), "*"), wire.Struct(new(command.UseCase), "*"), @@ -82,6 +86,7 @@ var ( wire.Bind(new(t.Repository), new(*postgres.TransactionPostgreSQLRepository)), wire.Bind(new(o.Repository), new(*postgres.OperationPostgreSQLRepository)), wire.Bind(new(a.Repository), new(*adapter.AccountGRPCRepository)), + wire.Bind(new(m.Repository), new(*mongodb.MetadataMongoDBRepository)), ) svcSet = wire.NewSet( diff --git a/components/transaction/internal/gen/wire_gen.go b/components/transaction/internal/gen/wire_gen.go index 7fdf7884..4682331f 100644 --- a/components/transaction/internal/gen/wire_gen.go +++ b/components/transaction/internal/gen/wire_gen.go @@ -13,11 +13,13 @@ import ( "github.com/LerianStudio/midaz/common/mmongo" "github.com/LerianStudio/midaz/common/mpostgres" "github.com/LerianStudio/midaz/common/mzap" + "github.com/LerianStudio/midaz/components/transaction/internal/adapters/database/mongodb" "github.com/LerianStudio/midaz/components/transaction/internal/adapters/database/postgres" "github.com/LerianStudio/midaz/components/transaction/internal/adapters/grpc" "github.com/LerianStudio/midaz/components/transaction/internal/app/command" "github.com/LerianStudio/midaz/components/transaction/internal/app/query" "github.com/LerianStudio/midaz/components/transaction/internal/domain/account" + "github.com/LerianStudio/midaz/components/transaction/internal/domain/metadata" "github.com/LerianStudio/midaz/components/transaction/internal/domain/operation" "github.com/LerianStudio/midaz/components/transaction/internal/domain/transaction" "github.com/LerianStudio/midaz/components/transaction/internal/ports" @@ -36,13 +38,17 @@ func InitializeService() *service.Service { transactionPostgreSQLRepository := postgres.NewTransactionPostgreSQLRepository(postgresConnection) grpcConnection := setupGRPCConnection(config) accountGRPCRepository := grpc.NewAccountGRPC(grpcConnection) + mongoConnection := setupMongoDBConnection(config) + metadataMongoDBRepository := mongodb.NewMetadataMongoDBRepository(mongoConnection) useCase := &command.UseCase{ TransactionRepo: transactionPostgreSQLRepository, AccountGRPCRepo: accountGRPCRepository, + MetadataRepo: metadataMongoDBRepository, } queryUseCase := &query.UseCase{ TransactionRepo: transactionPostgreSQLRepository, AccountGRPCRepo: accountGRPCRepository, + MetadataRepo: metadataMongoDBRepository, } transactionHandler := &ports.TransactionHandler{ Command: useCase, @@ -86,6 +92,7 @@ func setupMongoDBConnection(cfg *service.Config) *mmongo.MongoConnection { return &mmongo.MongoConnection{ ConnectionStringSource: connStrSource, + Database: cfg.MongoDBName, } } @@ -100,7 +107,7 @@ func setupGRPCConnection(cfg *service.Config) *mgrpc.GRPCConnection { var ( serviceSet = wire.NewSet(common.InitLocalEnvConfig, mzap.InitializeLogger, setupPostgreSQLConnection, setupMongoDBConnection, - setupGRPCConnection, service.NewConfig, http.NewRouter, service.NewServer, postgres.NewTransactionPostgreSQLRepository, postgres.NewOperationPostgreSQLRepository, grpc.NewAccountGRPC, wire.Struct(new(ports.TransactionHandler), "*"), wire.Struct(new(command.UseCase), "*"), wire.Struct(new(query.UseCase), "*"), wire.Bind(new(transaction.Repository), new(*postgres.TransactionPostgreSQLRepository)), wire.Bind(new(operation.Repository), new(*postgres.OperationPostgreSQLRepository)), wire.Bind(new(account.Repository), new(*grpc.AccountGRPCRepository)), + setupGRPCConnection, service.NewConfig, http.NewRouter, service.NewServer, postgres.NewTransactionPostgreSQLRepository, postgres.NewOperationPostgreSQLRepository, mongodb.NewMetadataMongoDBRepository, grpc.NewAccountGRPC, wire.Struct(new(ports.TransactionHandler), "*"), wire.Struct(new(command.UseCase), "*"), wire.Struct(new(query.UseCase), "*"), wire.Bind(new(transaction.Repository), new(*postgres.TransactionPostgreSQLRepository)), wire.Bind(new(operation.Repository), new(*postgres.OperationPostgreSQLRepository)), wire.Bind(new(account.Repository), new(*grpc.AccountGRPCRepository)), wire.Bind(new(metadata.Repository), new(*mongodb.MetadataMongoDBRepository)), ) svcSet = wire.NewSet(wire.Struct(new(service.Service), "Server", "Logger"))