generated from VLADIMIR/template
28 lines
908 B
Go
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, "Не удалось выполнить операцию с задачей")
|
|
}
|
|
}
|