2024.03.20 TIL - 프로젝트 협업 도구 만들기(3)

김민석·2024년 3월 20일
0

TIL

목록 보기
55/78

팀프로젝트 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;
  }
profile
화이팅 화이팅

0개의 댓글