package handlers import ( "Yimaru-Backend/internal/config" "Yimaru-Backend/internal/services/arifpay" "Yimaru-Backend/internal/services/authentication" "Yimaru-Backend/internal/services/currency" notificationservice "Yimaru-Backend/internal/services/notification" "Yimaru-Backend/internal/services/recommendation" referralservice "Yimaru-Backend/internal/services/referal" "Yimaru-Backend/internal/services/settings" "Yimaru-Backend/internal/services/transaction" "Yimaru-Backend/internal/services/user" jwtutil "Yimaru-Backend/internal/web_server/jwt" customvalidator "Yimaru-Backend/internal/web_server/validator" "log/slog" "go.uber.org/zap" ) type Handler struct { arifpaySvc *arifpay.ArifpayService // instSvc *institutions.Service currSvc *currency.Service logger *slog.Logger settingSvc *settings.Service notificationSvc *notificationservice.Service userSvc *user.Service referralSvc *referralservice.Service transactionSvc *transaction.Service recommendationSvc recommendation.RecommendationService authSvc *authentication.Service jwtConfig jwtutil.JwtConfig validator *customvalidator.CustomValidator Cfg *config.Config mongoLoggerSvc *zap.Logger } func New( // directDepositSvc *directdeposit.Service, // telebirrSvc *telebirr.TelebirrService, arifpaySvc *arifpay.ArifpayService, // santimpaySvc *santimpay.SantimPayService, // instSvc *institutions.Service, currSvc *currency.Service, logger *slog.Logger, settingSvc *settings.Service, notificationSvc *notificationservice.Service, validator *customvalidator.CustomValidator, // reportSvc report.ReportService, // chapaSvc *chapa.Service, referralSvc *referralservice.Service, recommendationSvc recommendation.RecommendationService, userSvc *user.Service, transactionSvc *transaction.Service, // ticketSvc *ticket.Service, authSvc *authentication.Service, jwtConfig jwtutil.JwtConfig, cfg *config.Config, mongoLoggerSvc *zap.Logger, ) *Handler { return &Handler{ arifpaySvc: arifpaySvc, instSvc: instSvc, currSvc: currSvc, logger: logger, settingSvc: settingSvc, notificationSvc: notificationSvc, referralSvc: referralSvc, validator: validator, userSvc: userSvc, transactionSvc: transactionSvc, recommendationSvc: recommendationSvc, authSvc: authSvc, jwtConfig: jwtConfig, Cfg: cfg, mongoLoggerSvc: mongoLoggerSvc, } }