Skip to content

Conversation

@codie0226
Copy link
Collaborator

@codie0226 codie0226 commented Feb 13, 2025

Sweepic Server PR List

⚒️develop의 최신 커밋을 pull 받았나요?

  • 최신 커밋 업데이트

🔍️ 이 PR을 통해 해결하려는 문제가 무엇인가요?

어떤 기능을 구현한건지, 이슈 대응이라면 어떤 이슈인지 PR이 열리게 된 계기와 목적을 Reviewer 들이 쉽게 이해할 수 있도록 적어 주세요
일감 백로그 링크나 다이어그램, 피그마를 첨부해도 좋아요

  • 챌린지 API들을 전부 tsoa 형식으로 변환하고 응답 통일 진행하였습니다.

✨ 이 PR에서 핵심적으로 변경된 사항은 무엇일까요? (핵심 작업 내용)

문제를 해결하면서 주요하게 변경된 사항들을 적어 주세요

  • 기존의 autogen swagger가 아닌 tsoa 형식으로 swagger가 나오도록 변경
/**
   * 챌린지의 남은 장수와 목표 장수를 수정하는 API입니다.
   * 
   * @summary 챌린지 수정 API
   * @param body 챌린지 id, 남은 장수, 목표 장수
   * @returns 챌린지 업데이트 결과
   */
  @Patch('/update')
  @Tags('challenge controller')
  @SuccessResponse(StatusCodes.OK, '챌린지 업데이터 성공 응답')
  @Response<ITsoaErrorResponse>(
    StatusCodes.BAD_REQUEST, 
    'Not Found', 
    {
      resultType: 'FAIL',
      error: {
        errorCode: 'SRH-400',
        reason: '업데이트 내용이 없습니다.',
        data: null,
      },
      success: null,
    },
  )
  @Response<ITsoaErrorResponse>(
    StatusCodes.BAD_REQUEST, 
    'Not Found', 
    {
      resultType: 'FAIL',
      error: {
        errorCode: 'CHL-400',
        reason: '챌린지 업데이트 실패',
        data: null,
      },
      success: null,
    },
  )
  @Response<ITsoaErrorResponse>(
    StatusCodes.INTERNAL_SERVER_ERROR,
    'Internal Server Error',
    {
      resultType: 'FAIL',
      error: {
        errorCode: 'SER-001',
        reason: '내부 서버 오류입니다.',
        data: null,
      },
      success: null,
    },
  )
  public async handleUpdateChallenge (
    @Request() req: ExpressRequest,
    @Body() body: {
      id: string,
      required: number,
      remaining: number
    }
  ): Promise<ITsoaSuccessResponse<ResponseFromUpdateChallenge>> {
    if (!body){
      throw new DataValidationError({reason: '업데이트 내용이 없습니다.'});
    }

    const result: ResponseFromUpdateChallenge = await serviceUpdateChallenge(body)
    .then(r => {
      return r;
    })
    .catch(err => {
      if (!(err instanceof BaseError)) {
        throw new ServerError();
      } else {
        throw err;
      }
    });

    return new TsoaSuccessResponse(result);
  }

코드 예시는 이것만 올리겠습니다. 나머지 10개의 API 모두 같은 형태로 수정하였습니다.

🤚 동작 확인

기능을 실행했을 때 정상 동작하는지 여부를 확인하고 스크린 샷을 올려주세요

yarn
accept
complete
date
delete
geologic
getbyid
getdate
getloc
naver
newlo
update
모든 api 정상 작동하는 것 확인했습니다.
배포 과정에서 오류 발생하면 수정하겠습니다.
swagger
swagger에도 모든 API 정상적으로 표시됩니다.

🔖 핵심 변경 사항 외에 추가적으로 변경된 부분이 있나요?

없으면 "없음" 이라고 기재해 주세요

  • 어색한 에러문들을 수정했습니다.
  • 잘못된 swagger tag 분류를 수정했습니다.
  • geoLogic api의 사진 개수 범위를 05장이 아닌 510장으로 변경했습니다. 0장인 경우 아무 사진이나 챌린지 생성 판별이 되므로 수정했습니다. 위치가 다른 사진들을 섞어서 테스트 해본 결과, 알고리즘은 잘 작동되는 것 같습니다.
  • 챌린지 제목을 아예 받을 수 없도록 코드를 수정했습니다. 모든 챌린지 제목은 챌린지 내용을 반영하여 자동 생성됩니다.
  • bigint로 프론트에 넘어가는 자료들을 string으로 변환하여 반환되도록 수정했습니다.
  • 챌린지 코드의 파일명을 *.controllers.ts에서 *.controller.ts가 되도록 변경했습니다.

🙏 Reviewer 분들이 이런 부분을 신경써서 봐 주시면 좋겠어요

개발 과정에서 다른 분들의 의견은 어떠한지 궁금했거나 크로스 체크가 필요하다고 느껴진 코드가 있다면 남겨주세요

🩺 이 PR에서 테스트 혹은 검증이 필요한 부분이 있을까요?

테스트가 필요한 항목이나 테스트 코드가 추가되었다면 함께 적어주세요

📌 PR 진행 시 이러한 점들을 참고해 주세요

  • Reviewer 분들은 코드 리뷰 시 좋은 코드의 방향을 제시하되, 코드 수정을 강제하지 말아 주세요.
  • Reviewer 분들은 좋은 코드를 발견한 경우, 칭찬과 격려를 아끼지 말아 주세요.
  • Review는 특수한 케이스가 아니면 Reviewer로 지정된 시점 기준으로 2일 이내에 진행해 주세요.
  • Comment 작성 시 Prefix로 P1, P2, P3 를 적어 주시면 Assignee가 보다 명확하게 Comment에 대해 대응할 수 있어요
    • P1 : 꼭 반영해 주세요 (Request Changes) - 이슈가 발생하거나 취약점이 발견되는 케이스 등
    • P2 : 반영을 적극적으로 고려해 주시면 좋을 것 같아요 (Comment)
    • P3 : 이런 방법도 있을 것 같아요~ 등의 사소한 의견입니다 (Chore)


📝 Assignee를 위한 CheckList

  • To-Do Item

@codie0226 codie0226 added ♻️ REFACTOR 기능 향상 및 리팩토링 🐛 FIX 버그 수정 labels Feb 13, 2025
@codie0226 codie0226 self-assigned this Feb 13, 2025
@codie0226 codie0226 linked an issue Feb 13, 2025 that may be closed by this pull request
1 task
@jjiinaaa jjiinaaa merged commit 21318c6 into develop Feb 13, 2025
1 check passed
@jjiinaaa jjiinaaa deleted the refactor/SWEP-98 branch February 13, 2025 09:24
jjiinaaa added a commit that referenced this pull request Feb 14, 2025
* [SWEP-96] 메모장 사진 업로드 및 저장 로직 개선 (#200) (#201)

* [SWEP-96] 메모장 사진 업로드 및 저장 로직 개선 (#200)

* fix: 폴더 생성 및 사진 저장 API 주석처리 + multer 미들웨어 실행 전에 폴더 ID 검사 (#202)

* [SWEP-96] 메모장 사진 업로드 및 저장 로직 개선

* [SWEP-96] 폴더 생성 및 사진 저장 API 주석처리 + multer 미들웨어 실행 전에 폴더 ID 검사

* fix: tsoa.json 폴더 생성 및 사진 저장 spec requestBody 삭제 (#203)

* [SWEP-96] 메모장 사진 업로드 및 저장 로직 개선

* [SWEP-96] 폴더 생성 및 사진 저장 API 주석처리 + multer 미들웨어 실행 전에 폴더 ID 검사

* [SWEP-96] tsoa.json 폴더 생성 및 사진 저장 spec requestBody 삭제

* [SWEP-98] 챌린지 API tsoa 변환 (#205)

* [SWEP-86] 히스토리 API 임시 저장

* [SWEP-87] 챌린지 API 개선

* [SWEP-58] 스웨거 문서 작성 (#187)

* [SWEP-58] 스웨거 문서 작성

* [SWEP-58] 사진삭제 스웨거 주석 작성

* [SWEP-58] 스웨거 문서 변경

* [SWEP-89] 메모 텍스트 저장 API tsoa 적용 및 여러 multer 객체 사용할 수 있도록 구현 (#189) (#191)

Co-authored-by: JinHa Park <[email protected]>

* [SWEP-98] tsoa 변환

* [SWEP-98] 임시저장 14:31

* [SWEP-98] app.ts 수정

---------

Co-authored-by: Socializedistp <[email protected]>
Co-authored-by: asjasj3964 <[email protected]>
Co-authored-by: JinHa Park <[email protected]>

---------

Co-authored-by: asjasj3964 <[email protected]>
Co-authored-by: codie0226 <[email protected]>
Co-authored-by: Socializedistp <[email protected]>
jjiinaaa added a commit that referenced this pull request Feb 15, 2025
* [SWEP-96] 메모장 사진 업로드 및 저장 로직 개선 (#200) (#201)

* [SWEP-96] 메모장 사진 업로드 및 저장 로직 개선 (#200)

* fix: 폴더 생성 및 사진 저장 API 주석처리 + multer 미들웨어 실행 전에 폴더 ID 검사 (#202)

* [SWEP-96] 메모장 사진 업로드 및 저장 로직 개선

* [SWEP-96] 폴더 생성 및 사진 저장 API 주석처리 + multer 미들웨어 실행 전에 폴더 ID 검사

* fix: tsoa.json 폴더 생성 및 사진 저장 spec requestBody 삭제 (#203)

* [SWEP-96] 메모장 사진 업로드 및 저장 로직 개선

* [SWEP-96] 폴더 생성 및 사진 저장 API 주석처리 + multer 미들웨어 실행 전에 폴더 ID 검사

* [SWEP-96] tsoa.json 폴더 생성 및 사진 저장 spec requestBody 삭제

* [SWEP-98] 챌린지 API tsoa 변환 (#205)

* [SWEP-86] 히스토리 API 임시 저장

* [SWEP-87] 챌린지 API 개선

* [SWEP-58] 스웨거 문서 작성 (#187)

* [SWEP-58] 스웨거 문서 작성

* [SWEP-58] 사진삭제 스웨거 주석 작성

* [SWEP-58] 스웨거 문서 변경

* [SWEP-89] 메모 텍스트 저장 API tsoa 적용 및 여러 multer 객체 사용할 수 있도록 구현 (#189) (#191)

Co-authored-by: JinHa Park <[email protected]>

* [SWEP-98] tsoa 변환

* [SWEP-98] 임시저장 14:31

* [SWEP-98] app.ts 수정

---------

Co-authored-by: Socializedistp <[email protected]>
Co-authored-by: asjasj3964 <[email protected]>
Co-authored-by: JinHa Park <[email protected]>

* [SWEP-58] 휴지통 API 변경사항 (#207)

* [SWEP-101] 히스토리 API 수정 (#213)

* [SWEP-101] 히스토리 API 수정

* [SWEP-101] 어워드 조회 수정

---------

Co-authored-by: asjasj3964 <[email protected]>
Co-authored-by: codie0226 <[email protected]>
Co-authored-by: Socializedistp <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🐛 FIX 버그 수정 ♻️ REFACTOR 기능 향상 및 리팩토링

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[SWEP-98] 챌린지 API Tsoa 변환

4 participants