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, "Не удалось выполнить операцию с задачей") } }