generated from VLADIMIR/template
26 lines
945 B
Go
26 lines
945 B
Go
package app
|
|
|
|
import (
|
|
"errors"
|
|
|
|
"evening_detective_server/internal/services/users_service"
|
|
|
|
"google.golang.org/grpc/codes"
|
|
"google.golang.org/grpc/status"
|
|
)
|
|
|
|
func userErrorStatus(err error, internalMessage string) error {
|
|
switch {
|
|
case errors.Is(err, users_service.ErrUserNotFound):
|
|
return status.Error(codes.NotFound, err.Error())
|
|
case errors.Is(err, users_service.ErrTermsNotAccepted), errors.Is(err, users_service.ErrInvalidEmail), errors.Is(err, users_service.ErrInvalidRole), errors.Is(err, users_service.ErrInvalidPasswordChange):
|
|
return status.Error(codes.InvalidArgument, err.Error())
|
|
case errors.Is(err, users_service.ErrInvalidCredentials):
|
|
return status.Error(codes.Unauthenticated, users_service.ErrInvalidCredentials.Error())
|
|
case errors.Is(err, users_service.ErrInvalidAccountPassword):
|
|
return status.Error(codes.PermissionDenied, err.Error())
|
|
default:
|
|
return status.Error(codes.Internal, internalMessage)
|
|
}
|
|
}
|