40 lines
1.1 KiB
Go
Raw Normal View History

2025-02-24 16:48:20 +08:00
package authsvc
2025-02-24 16:48:20 +08:00
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"
2025-02-24 16:48:20 +08:00
)
type impl struct {
staffRepo staffrepository.Staff
2025-03-06 23:55:46 +08:00
userRepo userrepository.User
subsRepo subscriberepository.Subscribe
subsPlanRepo subscribeplanrepository.SubscribePlan
}
type Auth interface {
LoginAsStaff(staffdomain.StaffLogin) (string, error)
RegisterStaff(staffdomain.StaffRegister) (string, error)
GetStaffProfile(string) (*staffdomain.StaffProfile, error)
GetUsers() ([]userdomain.UserProfile, error)
UpdateStaff(staffdomain.Staff) error
}
func New(
staffRepo staffrepository.Staff,
2025-03-06 23:55:46 +08:00
userRepo userrepository.User,
subsRepo subscriberepository.Subscribe,
subsPlanRepo subscribeplanrepository.SubscribePlan,
) Auth {
return &impl{
staffRepo: staffRepo,
userRepo: userRepo,
subsRepo: subsRepo,
subsPlanRepo: subsPlanRepo,
}
}