package authsvc import ( "errors" authdomain "legalgo-BE-go/internal/domain/auth" userdomain "legalgo-BE-go/internal/domain/user" "legalgo-BE-go/internal/utilities/utils" "github.com/google/uuid" ) func (a *impl) LoginAsUser(spec userdomain.UserLogin) (string, error) { user, err := a.userRepo.GetUserByEmail(spec.Email) if err != nil { return "", errors.New(err.Error()) } matchPassword := ComparePassword(user.Password, spec.Password) if !matchPassword { return "", errors.New("wrong password") } authToken := authdomain.AuthToken{ Email: user.Email, SessionID: uuid.NewString(), Role: "user", } token, err := utils.GenerateToken(authToken) if err != nil { return "", errors.New(err.Error()) } return token, nil }