package handlers import ( "log/slog" "github.com/SamuelTariku/FortuneBet-Backend/internal/services/authentication" "github.com/SamuelTariku/FortuneBet-Backend/internal/services/bet" "github.com/SamuelTariku/FortuneBet-Backend/internal/services/branch" "github.com/SamuelTariku/FortuneBet-Backend/internal/services/company" "github.com/SamuelTariku/FortuneBet-Backend/internal/services/event" notificationservice "github.com/SamuelTariku/FortuneBet-Backend/internal/services/notfication" "github.com/SamuelTariku/FortuneBet-Backend/internal/services/odds" referralservice "github.com/SamuelTariku/FortuneBet-Backend/internal/services/referal" "github.com/SamuelTariku/FortuneBet-Backend/internal/services/ticket" "github.com/SamuelTariku/FortuneBet-Backend/internal/services/transaction" "github.com/SamuelTariku/FortuneBet-Backend/internal/services/user" virtualgameservice "github.com/SamuelTariku/FortuneBet-Backend/internal/services/virtualGame" "github.com/SamuelTariku/FortuneBet-Backend/internal/services/wallet" jwtutil "github.com/SamuelTariku/FortuneBet-Backend/internal/web_server/jwt" customvalidator "github.com/SamuelTariku/FortuneBet-Backend/internal/web_server/validator" ) type Handler struct { logger *slog.Logger notificationSvc *notificationservice.Service userSvc *user.Service referralSvc referralservice.ReferralStore walletSvc *wallet.Service transactionSvc *transaction.Service ticketSvc *ticket.Service betSvc *bet.Service branchSvc *branch.Service companySvc *company.Service prematchSvc *odds.ServiceImpl eventSvc event.Service virtualGameSvc virtualgameservice.VirtualGameService authSvc *authentication.Service jwtConfig jwtutil.JwtConfig validator *customvalidator.CustomValidator } func New( logger *slog.Logger, notificationSvc *notificationservice.Service, validator *customvalidator.CustomValidator, walletSvc *wallet.Service, referralSvc referralservice.ReferralStore, virtualGameSvc virtualgameservice.VirtualGameService, userSvc *user.Service, transactionSvc *transaction.Service, ticketSvc *ticket.Service, betSvc *bet.Service, authSvc *authentication.Service, jwtConfig jwtutil.JwtConfig, branchSvc *branch.Service, companySvc *company.Service, prematchSvc *odds.ServiceImpl, eventSvc event.Service, ) *Handler { return &Handler{ logger: logger, notificationSvc: notificationSvc, walletSvc: walletSvc, referralSvc: referralSvc, validator: validator, userSvc: userSvc, transactionSvc: transactionSvc, ticketSvc: ticketSvc, betSvc: betSvc, branchSvc: branchSvc, companySvc: companySvc, prematchSvc: prematchSvc, eventSvc: eventSvc, virtualGameSvc: virtualGameSvc, authSvc: authSvc, jwtConfig: jwtConfig, } }