package user import ( "Yimaru-Backend/internal/config" "Yimaru-Backend/internal/ports" emailtemplates "Yimaru-Backend/internal/services/emailtemplates" "Yimaru-Backend/internal/services/messenger" profilefieldoptions "Yimaru-Backend/internal/services/profilefieldoptions" "time" ) const ( OtpExpiry = 5 * time.Minute ) type Service struct { tokenStore ports.TokenStore userStore ports.UserStore otpStore ports.OtpStore messengerSvc *messenger.Service emailTemplateSvc *emailtemplates.Service profileFieldOptionSvc *profilefieldoptions.Service config *config.Config } func NewService( tokenStore ports.TokenStore, userStore ports.UserStore, otpStore ports.OtpStore, messengerSvc *messenger.Service, emailTemplateSvc *emailtemplates.Service, profileFieldOptionSvc *profilefieldoptions.Service, cfg *config.Config, ) *Service { return &Service{ tokenStore: tokenStore, userStore: userStore, otpStore: otpStore, messengerSvc: messengerSvc, emailTemplateSvc: emailTemplateSvc, profileFieldOptionSvc: profileFieldOptionSvc, config: cfg, } }