diff --git a/src/modules/task-manager/controllers/check-list-item.controller.ts b/src/modules/task-manager/controllers/check-list-item.controller.ts index 5d4cb29..45a9f40 100644 --- a/src/modules/task-manager/controllers/check-list-item.controller.ts +++ b/src/modules/task-manager/controllers/check-list-item.controller.ts @@ -5,7 +5,11 @@ import { CreateCheckListItemDto } from "../dto/check-list-item/create-check-list import { UpdateCheckListItemDto } from "../dto/check-list-item/update-check-list-item.dto"; import { CursorPaginationDto } from "../../../common/DTO/cursor-pagination.dto"; import { TMCheckListItem } from "../entities/check-list-item.entity"; +import { AuthGuards } from "../../../common/decorators/auth-guard.decorator"; +import { AdminRoute } from "../../../common/decorators/admin.decorator"; +@AuthGuards() +@AdminRoute() @ApiTags("Task Manager - Check List Items") @Controller("task-manager/check-list-items") export class CheckListItemController { diff --git a/src/modules/task-manager/providers/check-list-item.service.ts b/src/modules/task-manager/providers/check-list-item.service.ts index d02a78f..95cc633 100644 --- a/src/modules/task-manager/providers/check-list-item.service.ts +++ b/src/modules/task-manager/providers/check-list-item.service.ts @@ -19,7 +19,7 @@ export class CheckListItemService { const limit = pagination.limit ?? 10; const cursorDate = pagination.cursor ? new Date(pagination.cursor) : undefined; - const [data] = await this.checkListItemRepository.findAll(limit, cursorDate); + const [data] = await this.checkListItemRepository.findAllItems(limit, cursorDate); return buildCursorPageFormat(data, limit, cursorDate); } diff --git a/src/modules/task-manager/repositories/check-list-item.repository.ts b/src/modules/task-manager/repositories/check-list-item.repository.ts index 2b5d931..6f0eae3 100644 --- a/src/modules/task-manager/repositories/check-list-item.repository.ts +++ b/src/modules/task-manager/repositories/check-list-item.repository.ts @@ -4,14 +4,15 @@ import { Repository, MoreThan } from 'typeorm'; import { TMCheckListItem } from '../entities/check-list-item.entity'; @Injectable() -export class CheckListItemRepository { +export class CheckListItemRepository extends Repository{ constructor( - @InjectRepository(TMCheckListItem) - private readonly repository: Repository, - ) {} + @InjectRepository(TMCheckListItem) checkListItemRepository: Repository, + ) { + super(checkListItemRepository.target, checkListItemRepository.manager, checkListItemRepository.queryRunner); + } - findAll(limit: number, cursor?: Date) { - return this.repository.findAndCount({ + findAllItems(limit: number, cursor?: Date) { + return this.findAndCount({ where: cursor ? { createdAt: MoreThan(cursor) } : {}, order: { createdAt: 'ASC' }, take: limit + 1, @@ -20,7 +21,7 @@ export class CheckListItemRepository { } findByTask(taskId: string, limit: number, cursor?: Date) { - return this.repository.findAndCount({ + return this.findAndCount({ where: cursor ? { taskId, createdAt: MoreThan(cursor) } : { taskId }, @@ -31,32 +32,16 @@ export class CheckListItemRepository { } findOneById(id: string) { - return this.repository.findOne({ + return this.findOne({ where: { id }, relations: ['task'], }); } findOneByCreatedAt(createdAt: Date) { - return this.repository.findOne({ + return this.findOne({ where: { createdAt }, order: { createdAt: 'ASC' }, }); } - - create(data: Partial) { - return this.repository.create(data); - } - - save(checkListItem: TMCheckListItem) { - return this.repository.save(checkListItem); - } - - update(id: string, data: Partial) { - return this.repository.update(id, data); - } - - delete(id: string) { - return this.repository.delete(id); - } } \ No newline at end of file