diff --git a/src/task/repositories/task.repository.ts b/src/task/repositories/task.repository.ts index a80a102..e53dc2b 100644 --- a/src/task/repositories/task.repository.ts +++ b/src/task/repositories/task.repository.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; -import { FindOptionsWhere, Repository } from 'typeorm'; +import { Brackets, FindOptionsWhere, Repository } from 'typeorm'; import { Roles } from '~/auth/enums'; import { IJwtPayload } from '~/auth/interfaces'; import { CreateTaskRequestDto, TasksFilterOptions, TaskSubmissionRequestDto } from '../dtos/request'; @@ -77,8 +77,13 @@ export class TaskRepository { } if (query.status === TaskStatus.COMPLETED) { - queryBuilder.andWhere('task.dueDate < :today', { today: new Date() }); - queryBuilder.orWhere('submission.status = :status', { status: SubmissionStatus.APPROVED }); + queryBuilder.andWhere( + new Brackets((qb) => { + qb.where('task.dueDate < :today', { today: new Date() }).orWhere('submission.status = :status', { + status: SubmissionStatus.APPROVED, + }); + }), + ); } queryBuilder.orderBy('task.createdAt', 'DESC');