Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: 에픽, 스토리, 태스크 우선순위 API 구현 #320

Merged
merged 5 commits into from
Aug 2, 2024

Conversation

choyoungwoo9
Copy link
Collaborator

🎟️ 태스크

우선순위 API 구현

✅ 작업 내용

  • 에픽 생성, 수정 API에 우선순위 데이터(rankValue)추가
  • 스토리 생성, 수정 API에 우선순위 데이터(rankValue)추가
  • 태스크 생성, 수정 API에 우선순위 데이터(rankValue)추가
  • 백로그 조회 API에 우선순위 데이터(rankValue)추가
  • Epic, Task, Story 생성, 수정시 중복된 rankValue를 서버가 조정해, 조정된 rankValue를 반환하는 로직 구현

🖊️ 구체적인 작업

에픽 생성, 수정 API에 우선순위 데이터(rankValue)추가

  • lexorank 패키지 설치
  • epic 엔티티
    • rankValue 프로퍼티 추가
    • 에픽의 rankValue가 project에서 고유하도록 유니크 제약조건 추가
  • project 레포지토리, project 서비스, epic컨트롤러에 rankValue 정보 추가
  • Epic DTO에 rankValue 정보 추가
  • LexoRank형식인지 검증할 수 있는 IsLexoRankValue 데코레이터 추가
  • E2E 테스트
    • 에픽, 스토리, 태스크, 백로그 테스트에 rankValue정보 추가
    • 에픽 테스트에 rankValue update테스트 추가

스토리 생성, 수정 API에 우선순위 데이터(rankValue)추가

  • story 엔티티
    • rankValue 프로퍼티 추가
    • 스토리의 rankValue가 project에서 고유하도록 유니크 제약조건 추가
  • project 레포지토리, project 서비스의 story 관련 update, create 메서드에 rankValue정보 추가
  • story 컨트롤러에 rankValue 정보 추가
  • Story DTO에 rankValue 정보 추가
  • E2E 테스트
    • 스토리, 태스크, 백로그 테스트에 스토리의 rankValue정보 추가
    • 스토리 테스트에 같은 에픽 내 rankValue 업데이트 테스트 추가
    • 스토리 테스트에 다른 에픽으로의 rankValue 업데이트 테스트 추가

태스크 생성, 수정 API에 우선순위 데이터(rankValue)추가

  • task 엔티티
    • rankValue 프로퍼티 추가
    • task의 rankValue가 project에서 고유하도록 유니크 제약조건 추가
  • project 레포지토리, project 서비스의 task 관련 update, create 메서드에 rankValue정보 추가
  • task 컨트롤러에 rankValue 정보 추가
  • task DTO에 rankValue 정보 추가
  • E2E 테스트
    • 태스크, init 백로그 테스트에 태스크의 rankValue정보 추가
    • 태스크 테스트에 같은 스토리 내 rankValue 업데이트 테스트 추가
    • 태스크 테스트에 다른 스토리으로의 rankValue 업데이트 테스트 추가

백로그 조회 API에 우선순위 데이터(rankValue)추가

  • initBacklog 테스트에 rankValue 정보 추가
  • initBacklog Response DTO에 rankValue 정보 추가

Epic, Task, Story 생성, 수정시 중복된 rankValue를 서버가 조정해, 조정된 rankValue를 반환하는 로직 구현

  • Entity
    • 유니크 제약조건 이름 명시
  • Repository
    • Create 메서드를 Unique오류이며, RankValue중복일 경우 커스텀 에러를 throw하게 변경
    • Update 메서드를 Unique오류이며, RankValue중복일 경우 커스텀 에러를 throw하게 변경
    • getNext[Epic/Task/Story]ByRankValue 메서드 구현
      • 특정 rankValue값 다음 순서의 rankValue를 가진 엔티티 반환
  • Controller
    • update시 조정된 rankValue값을 반영해 유저에게 반환하도록 수정
  • Test
    • Epic/Task/Story 생성 시 동시에 중복된 rankValue를 전송했을때 조정되는것 테스트
    • Epic/Task/Story 변경 시 동시에 중복된 rankValue를 전송했을때 조정되는것 테스트

🤔 고민 및 의논할 거리

- lexorank 패키지 설치
- epic 엔티티
  - rankValue 프로퍼티 추가
  - 에픽의 rankValue가 project에서 고유하도록 유니크 제약조건 추가
- project 레포지토리, project 서비스, epic컨트롤러에 rankValue 정보 추가
- Epic DTO에 rankValue 정보 추가
- LexoRank형식인지 검증할 수 있는 IsLexoRankValue 데코레이터 추가
- E2E 테스트
  - 에픽, 스토리, 태스크, 백로그 테스트에 rankValue정보 추가
  - 에픽 테스트에 rankValue update테스트 추가
- story 엔티티
  - rankValue 프로퍼티 추가
  - 스토리의 rankValue가 project에서 고유하도록 유니크 제약조건 추가
- project 레포지토리, project 서비스의 story 관련 update, create 메서드에 rankValue정보 추가
- story 컨트롤러에 rankValue 정보 추가
- Story DTO에 rankValue 정보 추가
- E2E 테스트
  - 스토리, 태스크, 백로그 테스트에 스토리의 rankValue정보 추가
  - 스토리 테스트에 같은 에픽 내 rankValue 업데이트 테스트 추가
  - 스토리 테스트에 다른 에픽으로의 rankValue 업데이트 테스트 추가
- task 엔티티
  - rankValue 프로퍼티 추가
  - task의 rankValue가 project에서 고유하도록 유니크 제약조건 추가
- project 레포지토리, project 서비스의 task 관련 update, create 메서드에 rankValue정보 추가
- task 컨트롤러에 rankValue 정보 추가
- task DTO에 rankValue 정보 추가
- E2E 테스트
  - 태스크, init 백로그 테스트에 태스크의 rankValue정보 추가
  - 태스크 테스트에 같은 스토리 내 rankValue 업데이트 테스트 추가
  - 태스크 테스트에 다른 스토리으로의 rankValue 업데이트 테스트 추가
- initBacklog 테스트에 rankValue 정보 추가
- initBacklog Response DTO에 rankValue 정보 추가
…를 반환하는 로직 구현

- Entity
  - 유니크 제약조건 이름 명시
- Repository
  - Create 메서드를 Unique오류이며, RankValue중복일 경우 커스텀 에러를 throw하게 변경
  - Update 메서드를 Unique오류이며, RankValue중복일 경우 커스텀 에러를 throw하게 변경
  - getNext[Epic/Task/Story]ByRankValue 메서드 구현
    - 특정 rankValue값 다음 순서의 rankValue를 가진 엔티티 반환
- Controller
  - update시 조정된 rankValue값을 반영해 유저에게 반환하도록 수정
- Test
  - Epic/Task/Story 생성 시 동시에 중복된 rankValue를 전송했을때 조정되는것 테스트
  - Epic/Task/Story 변경 시 동시에 중복된 rankValue를 전송했을때 조정되는것 테스트
@choyoungwoo9 choyoungwoo9 merged commit 45d8057 into dev Aug 2, 2024
1 check passed
@choyoungwoo9 choyoungwoo9 deleted the feature/implement-priority-rank branch August 2, 2024 02:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant