diff --git a/src/controllers/07-task-controller.ts b/src/controllers/07-task-controller.ts index 3c855c2..19a81e0 100644 --- a/src/controllers/07-task-controller.ts +++ b/src/controllers/07-task-controller.ts @@ -723,20 +723,38 @@ export class UserTaskController extends Controller { requestWorkStep: { responsibleUserId: req.user.sub }, }, }, - userTask: userTaskStatus - ? { - some: { - userTaskStatus: + AND: userTaskStatus + ? [ + { + OR: userTaskStatus === UserTaskStatus.Pending - ? { in: [UserTaskStatus.Pending, UserTaskStatus.Restart] } - : userTaskStatus, - userId: req.user.sub, + ? [ + { + userTask: { + some: { + userTaskStatus: { + in: [UserTaskStatus.Pending, UserTaskStatus.Restart], + }, + userId: req.user.sub, + }, + }, + }, + { + userTask: { none: { userId: req.user.sub } }, + }, + ] + : undefined, + userTask: + userTaskStatus !== UserTaskStatus.Pending + ? { + some: { + userTaskStatus, + userId: req.user.sub, + }, + } + : undefined, }, - none: - userTaskStatus === UserTaskStatus.Pending - ? { userId: req.user.sub, userTaskStatus: { not: UserTaskStatus.Restart } } - : undefined, - } + ] : undefined, OR: queryOrNot(query, [ { code: { contains: query, mode: "insensitive" } },