package handlers import ( "Yimaru-Backend/internal/config" "Yimaru-Backend/internal/services/arifpay" "Yimaru-Backend/internal/services/assessment" "Yimaru-Backend/internal/services/authentication" 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 { assessmentSvc *assessment.Service arifpaySvc *arifpay.ArifpayService logger *slog.Logger settingSvc *settings.Service notificationSvc *notificationservice.Service userSvc *user.Service transactionSvc *transaction.Service recommendationSvc recommendation.RecommendationService authSvc *authentication.Service jwtConfig jwtutil.JwtConfig validator *customvalidator.CustomValidator Cfg *config.Config mongoLoggerSvc *zap.Logger } func New( assessmentSvc *assessment.Service, arifpaySvc *arifpay.ArifpayService, logger *slog.Logger, settingSvc *settings.Service, notificationSvc *notificationservice.Service, validator *customvalidator.CustomValidator, recommendationSvc recommendation.RecommendationService, userSvc *user.Service, transactionSvc *transaction.Service, authSvc *authentication.Service, jwtConfig jwtutil.JwtConfig, cfg *config.Config, mongoLoggerSvc *zap.Logger, ) *Handler { return &Handler{ assessmentSvc: assessmentSvc, arifpaySvc: arifpaySvc, logger: logger, settingSvc: settingSvc, notificationSvc: notificationSvc, validator: validator, userSvc: userSvc, transactionSvc: transactionSvc, recommendationSvc: recommendationSvc, authSvc: authSvc, jwtConfig: jwtConfig, Cfg: cfg, mongoLoggerSvc: mongoLoggerSvc, } }