Files
evening_detective_server/internal/app/answer_errors.go
T
2026-10-03 12:38:11 +07:00

25 lines
899 B
Go

// Package app exposes the backend transport handlers.
package app
import (
"errors"
"evening_detective_server/internal/services/answer_service"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
)
func answerErrorStatus(err error, internalMessage string) error {
switch {
case errors.Is(err, answer_service.ErrTeamNotFound), errors.Is(err, answer_service.ErrGameNotFound):
return status.Error(codes.NotFound, err.Error())
case errors.Is(err, answer_service.ErrQuestionNotFound), errors.Is(err, answer_service.ErrOfflineAnswers):
return status.Error(codes.InvalidArgument, err.Error())
case errors.Is(err, answer_service.ErrGameFinished), errors.Is(err, answer_service.ErrGameNotStarted), errors.Is(err, answer_service.ErrGameNotFinished):
return status.Error(codes.FailedPrecondition, err.Error())
default:
return status.Error(codes.Internal, internalMessage)
}
}