Files
evening_detective_server/internal/app/scenario_errors.go
T
2026-10-03 00:55:28 +07:00

26 lines
791 B
Go

package app
import (
"errors"
"evening_detective_server/internal/services/scenarios_service"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
)
func scenarioErrorStatus(err error, internalMessage string) error {
switch {
case errors.Is(err, scenarios_service.ErrScenarioNotFound):
return status.Error(codes.NotFound, err.Error())
case errors.Is(err, scenarios_service.ErrScenarioNotOwner):
return status.Error(codes.PermissionDenied, err.Error())
case errors.Is(err, scenarios_service.ErrScenarioPublished):
return status.Error(codes.FailedPrecondition, err.Error())
case errors.Is(err, scenarios_service.ErrInvalidScenarioData):
return status.Error(codes.InvalidArgument, err.Error())
default:
return status.Error(codes.Internal, internalMessage)
}
}