refactor: removed some functions and added toggleStatus to checklistitem

This commit is contained in:
2026-07-08 11:08:28 +03:30
parent 8481a0e86f
commit 677fc5b384
2 changed files with 21 additions and 47 deletions
@@ -3,9 +3,6 @@ import { CheckListItemRepository } from '../repositories/check-list-item.reposit
import { TMCheckListItem } from '../entities/check-list-item.entity';
import { CreateCheckListItemDto } from '../dto/check-list-item/create-check-list-item.dto';
import { UpdateCheckListItemDto } from '../dto/check-list-item/update-check-list-item.dto';
import { CursorPaginationDto } from '../../../common/DTO/cursor-pagination.dto';
import { CursorPaginatedResult } from '../../../common/interfaces/cursor-paginated-result.interface';
import { buildCursorPageFormat } from '../../../common/helpers/cursor-paginated.helper';
import { checkListItemMessage } from '../../../common/enums/message.enum';
import { TaskService } from './task.service';
@@ -16,27 +13,6 @@ export class CheckListItemService {
private readonly taskService: TaskService,
) {}
async findAll(pagination: CursorPaginationDto): Promise<CursorPaginatedResult<TMCheckListItem>> {
const limit = pagination.limit ?? 10;
const cursorDate = pagination.cursor ? new Date(pagination.cursor) : undefined;
const [data] = await this.checkListItemRepository.findAllItems(limit, cursorDate);
return buildCursorPageFormat(data, limit, cursorDate);
}
async findByTask(
taskId: string,
pagination: CursorPaginationDto,
): Promise<CursorPaginatedResult<TMCheckListItem>> {
const limit = pagination.limit ?? 10;
const cursorDate = pagination.cursor ? new Date(pagination.cursor) : undefined;
const [data] = await this.checkListItemRepository.findByTask(taskId, limit, cursorDate);
return buildCursorPageFormat(data, limit, cursorDate);
}
async findOneOrFail(id: string): Promise<TMCheckListItem> {
const checkListItem = await this.checkListItemRepository.findOneById(id);
if (!checkListItem) throw new NotFoundException(checkListItemMessage.CHECKLISTITEM_NOT_FOUND);
@@ -66,4 +42,13 @@ export class CheckListItemService {
await this.checkListItemRepository.delete(id);
return checkListItem;
}
async toggleStatus(id: string) : Promise<TMCheckListItem> {
const checkListItem = await this.findOneOrFail(id);
const isDone = checkListItem.isDone;
checkListItem.isDone = !isDone;
await this.checkListItemRepository.save(checkListItem);
return checkListItem;
}
}