팀프로젝트 card CRUD중 생성과 수정할 때 마감기한이 현재 날짜보다 늦을 경우 에러를 내보내는 코드를 작성해보았다!
async createCard(
columnId: number,
createCardDto: CreateCardDto,
): Promise<Cards> {
const newCard = this.cardsRepository.create({
...createCardDto,
columnId,
});
await this.cardsRepository.save(newCard);
return newCard;
}
먼저 이 코드에서는 마감기한에 대해 에러를 내보내는 코드가 따로 없다!
여기서 마감기한을 2024-01-01로 설정했을때 현재 날짜인 2024-03-20보다 늦기 때문에 에러를 보내야한다.
const createCardDate = new Date();
createCardDate.setHours(0, 0, 0, 0);
const endDate = new Date(createCardDto.endDate);
endDate.setHours(0, 0, 0, 0);
if (endDate < createCardDate) {
throw new BadRequestException(
'마감일은 카드생성일보다 이전으로 선택할 수 없습니다.',
);
}
이 코드를 추가하면 마감기한이 현재 날짜보다 빠를때 에러가 나온다!!
async createCard(
columnId: number,
createCardDto: CreateCardDto,
): Promise<Cards> {
const createCardDate = new Date();
createCardDate.setHours(0, 0, 0, 0);
const endDate = new Date(createCardDto.endDate);
endDate.setHours(0, 0, 0, 0);
if (endDate < createCardDate) {
throw new BadRequestException(
'마감일은 카드생성일보다 이전으로 선택할 수 없습니다.',
);
}
const newCard = this.cardsRepository.create({
...createCardDto,
columnId,
});
await this.cardsRepository.save(newCard);
return newCard;
}