44 lines
1.3 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/subscribeplan"
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.SubsIntf
subsPlanRepo subscribeplanrepository.SubsPlanIntf
}
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
2025-02-27 18:59:58 +08:00
LoginAsUser(userdomain.UserLogin) (string, error)
RegisterUser(userdomain.UserRegister) (string, error)
GetUserProfile(string) (*userdomain.UserProfile, error)
}
func New(
staffRepo staffrepository.Staff,
2025-03-06 23:55:46 +08:00
userRepo userrepository.User,
2025-02-24 16:48:20 +08:00
subsRepo subscriberepository.SubsIntf,
subsPlanRepo subscribeplanrepository.SubsPlanIntf,
) Auth {
return &impl{
staffRepo: staffRepo,
userRepo: userRepo,
subsRepo: subsRepo,
subsPlanRepo: subsPlanRepo,
}
}