package team import ( "Yimaru-Backend/internal/ports" emailtemplates "Yimaru-Backend/internal/services/emailtemplates" "Yimaru-Backend/internal/services/messenger" "time" ) type Service struct { teamStore ports.TeamStore refreshExpirySec int emailTemplateSvc *emailtemplates.Service messengerSvc *messenger.Service inviteBaseURL string inviteExpiry time.Duration } func NewService( teamStore ports.TeamStore, refreshExpirySeconds int, emailTemplateSvc *emailtemplates.Service, messengerSvc *messenger.Service, inviteBaseURL string, inviteExpiry time.Duration, ) *Service { if refreshExpirySeconds <= 0 { refreshExpirySeconds = 7 * 24 * 3600 } if inviteExpiry <= 0 { inviteExpiry = 7 * 24 * time.Hour } return &Service{ teamStore: teamStore, refreshExpirySec: refreshExpirySeconds, emailTemplateSvc: emailTemplateSvc, messengerSvc: messengerSvc, inviteBaseURL: inviteBaseURL, inviteExpiry: inviteExpiry, } }