diff --git a/internal/initialize/services.go b/internal/initialize/services.go index 7aa033c..e75d006 100644 --- a/internal/initialize/services.go +++ b/internal/initialize/services.go @@ -44,6 +44,7 @@ func NewServices(deps ServicesDeps) *Services { Repository: deps.Repositories.AccountRepository, CurrencyClient: deps.Clients.CurrencyClient, VerificationClient: deps.Clients.VerificationClient, + AuthClient: deps.Clients.AuthClient, HistoryService: historyService, }) diff --git a/internal/interface/client/mail.go b/internal/interface/client/mail.go new file mode 100644 index 0000000..d479109 --- /dev/null +++ b/internal/interface/client/mail.go @@ -0,0 +1,18 @@ +package client + +import "context" + +type MailClientDeps struct { +} + +type MailClient struct { +} + +func NewMailClient(deps MailClientDeps) *MailClient { + return &MailClient{} +} + +func (receiver *MailClient) SendMessage(ctx context.Context, userEmail string) error { + + return nil +} diff --git a/internal/service/wallet/wallet.go b/internal/service/wallet/wallet.go index add54d7..ebcd0f4 100644 --- a/internal/service/wallet/wallet.go +++ b/internal/service/wallet/wallet.go @@ -24,6 +24,10 @@ type verificationClient interface { GetVerification(ctx context.Context, userID string) (*models.Verification, errors.Error) } +type authClient interface { + GetUser(ctx context.Context, userID string) (*models.User, errors.Error) +} + type historyService interface { CreateHistory(ctx context.Context, history *models.History) (*models.History, errors.Error) } @@ -34,6 +38,7 @@ type Deps struct { CurrencyClient currencyClient HistoryService historyService VerificationClient verificationClient + AuthClient authClient } type Service struct { @@ -42,6 +47,7 @@ type Service struct { currencyClient currencyClient historyService historyService verificationClient verificationClient + authClient authClient } func New(deps Deps) *Service { @@ -61,15 +67,21 @@ func New(deps Deps) *Service { log.Panicln("VerificationClient is nil on ") } + if deps.AuthClient == nil { + log.Panicln("AuthClient is nil on ") + } + if deps.HistoryService == nil { log.Panicln("HistoryService is nil on ") } return &Service{ - logger: deps.Logger, - repository: deps.Repository, - currencyClient: deps.CurrencyClient, - historyService: deps.HistoryService, + logger: deps.Logger, + repository: deps.Repository, + currencyClient: deps.CurrencyClient, + verificationClient: deps.VerificationClient, + authClient: deps.AuthClient, + historyService: deps.HistoryService, } } @@ -296,5 +308,10 @@ func (receiver *Service) PostWalletRspay(ctx context.Context, userID string) err ) } + authData, err := receiver.authClient.GetUser(ctx, userID) + if err != nil { + return err + } + return nil }