Files
2026-10-07 23:09:17 +07:00

28 lines
908 B
Go

package app
import (
"errors"
"log"
"evening_detective_server/internal/services/task_service"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
)
func taskErrorStatus(err error) error {
switch {
case errors.Is(err, task_service.ErrInvalidTask):
return status.Error(codes.InvalidArgument, task_service.ErrInvalidTask.Error())
case errors.Is(err, task_service.ErrInvalidAssignee):
return status.Error(codes.InvalidArgument, task_service.ErrInvalidAssignee.Error())
case errors.Is(err, task_service.ErrNotFound):
return status.Error(codes.NotFound, task_service.ErrNotFound.Error())
case errors.Is(err, task_service.ErrConflict):
return status.Error(codes.Aborted, task_service.ErrConflict.Error())
default:
log.Printf("task operation failed: %v", err)
return status.Error(codes.Internal, "Не удалось выполнить операцию с задачей")
}
}