generated from VLADIMIR/template
up
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
package app
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"log"
|
||||
|
||||
"evening_detective_server/internal/services/device_presence_service"
|
||||
"evening_detective_server/internal/services/game_service"
|
||||
"evening_detective_server/internal/services/screen_service"
|
||||
"evening_detective_server/internal/services/team_service"
|
||||
|
||||
"google.golang.org/grpc/codes"
|
||||
"google.golang.org/grpc/status"
|
||||
)
|
||||
|
||||
func deviceErrorStatus(err error) error {
|
||||
switch {
|
||||
case errors.Is(err, context.Canceled):
|
||||
return status.Error(codes.Canceled, "запрос отменён")
|
||||
case errors.Is(err, context.DeadlineExceeded):
|
||||
return status.Error(codes.DeadlineExceeded, "время запроса истекло")
|
||||
case errors.Is(err, device_presence_service.ErrInvalid):
|
||||
return status.Error(codes.InvalidArgument, device_presence_service.ErrInvalid.Error())
|
||||
case errors.Is(err, device_presence_service.ErrDisabled):
|
||||
return status.Error(codes.FailedPrecondition, device_presence_service.ErrDisabled.Error())
|
||||
case errors.Is(err, device_presence_service.ErrPermission):
|
||||
return status.Error(codes.PermissionDenied, device_presence_service.ErrPermission.Error())
|
||||
case errors.Is(err, device_presence_service.ErrUnauthorized):
|
||||
return status.Error(codes.Unauthenticated, device_presence_service.ErrUnauthorized.Error())
|
||||
case errors.Is(err, device_presence_service.ErrFull):
|
||||
return status.Error(codes.ResourceExhausted, device_presence_service.ErrFull.Error())
|
||||
case errors.Is(err, team_service.ErrTeamNotFound):
|
||||
return status.Error(codes.NotFound, team_service.ErrTeamNotFound.Error())
|
||||
case errors.Is(err, game_service.ErrGameNotFound):
|
||||
return status.Error(codes.NotFound, game_service.ErrGameNotFound.Error())
|
||||
case errors.Is(err, screen_service.ErrScreenNotFound):
|
||||
return status.Error(codes.Unauthenticated, "недействительная сессия экрана")
|
||||
default:
|
||||
log.Printf("device presence: %v", err)
|
||||
return status.Error(codes.Internal, "не удалось обновить учёт устройств")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user