2025-03-25 18:01:14 +08:00

41 lines
1.2 KiB
Go

package staffsvc
import (
staffrepository "legalgo-BE-go/internal/accessor/staff"
subscriberepository "legalgo-BE-go/internal/accessor/subscribe"
subscribeplanrepository "legalgo-BE-go/internal/accessor/subscribe_plan"
userrepository "legalgo-BE-go/internal/accessor/user"
staffdomain "legalgo-BE-go/internal/domain/staff"
userdomain "legalgo-BE-go/internal/domain/user"
)
type impl struct {
staffRepo staffrepository.Staff
userRepo userrepository.User
subsRepo subscriberepository.Subscribe
subsPlanRepo subscribeplanrepository.SubscribePlan
}
type Auth interface {
Login(staffdomain.StaffLogin) (string, error)
Register(staffdomain.StaffRegister) (string, error)
GetProfile(string) (*staffdomain.StaffProfile, error)
GetStaffs() ([]staffdomain.StaffProfile, error)
GetUsers() ([]userdomain.UserProfile, error)
Update(string, staffdomain.StaffUpdate) error
}
func New(
staffRepo staffrepository.Staff,
userRepo userrepository.User,
subsRepo subscriberepository.Subscribe,
subsPlanRepo subscribeplanrepository.SubscribePlan,
) Auth {
return &impl{
staffRepo: staffRepo,
userRepo: userRepo,
subsRepo: subsRepo,
subsPlanRepo: subsPlanRepo,
}
}