-
랜딩페이지에서 팀장일 경우만 초대링크를 제공하도록 변경
-
어려운 점
- 초대링크를 팀장에게만 보내주는것은 비즈니스 로직의 변경이기 때문에 컨트롤러 로직이 아닌 서비스 로직이 변경되어야 한다.
- 그러나 서비스 로직에는 실제로 랜딩페이지에서 호출하는 getProject이외에도 많은 서비스들이 project를 반환하고 있다.
- getProject하나만 팀장인지 확인하는 로직을 추가하면 제대로 동작하지만 다른 서비스들은 그대로 팀장이 아닌 사람에게 초대링크를 노출할것이다.
- 모든 서비스 로직에 대해서 이를 적용하는게 미래에 있을 수 있는 실수를 줄일 수 있을 것으로 예상된다.
async getProjectList(member: Member): Promise<Project[]> {
return await this.projectRepository.getProjectList(member);
}
async getProject(projectId: number): Promise<Project | null> {
return await this.projectRepository.getProject(projectId);
}
완료 조건
<aside>
💡 태스크 상태를 진행 중
→ 완료
로 업데이트 하기 위해서는 아래 체크리스트가 모두 완료되어야 함.
</aside>
- [x] 📝 API 명세서 작성
- [x] ✏️ 노션 또는 깃허브에 문서 업로드
- [x] 🔗 문서 링크를 백로그에 첨부
- [x] 📐 유닛 테스트 성공
- [x] 🧪 기능 구현 전: 실패하는 테스트 코드 작성
- [x] ✅ 기능 구현 후: 앞서 작성한 테스트 코드 성공 확인
- [x] 🌈 e2e 테스트 성공
- [x] 🧪 기능 구현 전: 실패하는 테스트 코드 작성
- [x] ✅ 기능 구현 후: 앞서 작성한 테스트 코드 성공 확인
- [x] 👷 로컬 환경: 빌드 및 실행 성공
- [x] 🔀 dev 브랜치에 소스코드 머지
- [x] 🚀 배포 환경: 빌드 및 실행 성공