33 lines
816 B
Go

package usersvc
import (
subscriberepository "legalgo-BE-go/internal/accessor/subscribe"
subscribeplanrepository "legalgo-BE-go/internal/accessor/subscribe_plan"
userrepository "legalgo-BE-go/internal/accessor/user"
userdomain "legalgo-BE-go/internal/domain/user"
)
type impl struct {
subsRepo subscriberepository.Subscribe
userRepo userrepository.User
subsPlanRepo subscribeplanrepository.SubscribePlan
}
type User interface {
GetUserProfile(string) (*userdomain.UserProfile, error)
LoginAsUser(userdomain.UserLogin) (string, error)
RegisterUser(userdomain.UserRegister) (string, error)
}
func New(
subsRepo subscriberepository.Subscribe,
userRepo userrepository.User,
subsPlanRepo subscribeplanrepository.SubscribePlan,
) User {
return &impl{
subsRepo,
userRepo,
subsPlanRepo,
}
}