skkuding / codedang

Online Judge for SKKU
https://codedang.com
MIT License
43 stars 10 forks source link

refactor(be): refactor client contest module #2124

Open Jaehyeon1020 opened 1 month ago

Jaehyeon1020 commented 1 month ago

Description

Closes TAS-941

Client Contest 모듈을 리팩토링합니다.

수정사항

  1. 엔드포인트들이 겹쳐 혼동되는 문제를 해결하기 위해, {{baseUrl}}/contest/ongoing-upcoming 엔드포인트와 {{baseUrl}}/contest/ongoing-upcoming-with-registered를 통합했습니다. (ongoing-upcoming-with-registered와 registered-ongoing-upcoming가 모두 있어 둘의 구분이 어려워, ongoing-upcoming-with-registered를 ongoing-upcoming에 통합했습니다.) -> BREAKING CHANGE
  2. Contest 모듈 함수들의 반환 타입을 분리해 정의했습니다.
  3. Global Exception Filter를 활용하도록 예외처리 로직을 정리했습니다.
  4. JSDoc 추가

추가

Pagination이 들어가는 API들은 반환 타입이

{
  data: T[],
  total: number
}

로 고정돼있습니다.

반복되는 부분이 많아, 따로 libs에 타입 분리하고 일단 Client Contest 모듈에만 적용했습니다. 괜찮으면 프로젝트 전체적으로 적용해도 좋을 것 같아요! (일단 이름은 PaginatedResult로 했는데, 더 좋은 이름 추천해주시면 감사하겠습니다)


Before submitting the PR, please make sure you do the following

vercel[bot] commented 1 month ago

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Updated (UTC)
codedang ❌ Failed (Inspect) Oct 8, 2024 1:07pm
notion-workspace[bot] commented 1 month ago

Client Contest 모듈 함수 정리

coolify-skkuding[bot] commented 1 month ago

The preview deployment is ready. 🟢

Open Preview | Open Build Logs

Last updated at: 2024-10-08 13:09:20 CET