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 검증 로직 수정 및 구현 #215

Open
4 tasks done
PgmJun opened this issue Aug 19, 2024 · 0 comments
Open
4 tasks done

[FEAT] 방 설정 API 검증 로직 수정 및 구현 #215

PgmJun opened this issue Aug 19, 2024 · 0 comments
Assignees
Labels
🍃 BE back end ✨ feat 기능 추가 ♻️ refactor 리팩토링
Milestone

Comments

@PgmJun
Copy link
Member

PgmJun commented Aug 19, 2024

Description 💭

  • timeLimit 값 검증 (추후 PR들이 머지되면 도메인 객체로 분리하는 리팩토링 필요(현재 Room 객체에서 관련 로직 관리중))
  • timeLimit5초/10초/15초 중 하나인지 검증
    • Default 값은 10초
  • totalRound 값이 3 이상 10 이하인지 검증 (추후 PR들이 머지되면 도메인 객체로 분리하는 리팩토링 필요(현재 Room 객체에서 관련 로직 관리중))

TODO ✅

  • [ ]
  • [ ]

Reference 🔎

https://www.notion.so/ghenmaru/API-608f1d28634f47c4b9ade502d147b325?pvs=4

@PgmJun PgmJun added ♻️ refactor 리팩토링 ✨ feat 기능 추가 🍃 BE back end labels Aug 19, 2024
@PgmJun PgmJun added this to the BE Sprint4 milestone Aug 19, 2024
@PgmJun PgmJun self-assigned this Aug 19, 2024
PgmJun added a commit that referenced this issue Aug 20, 2024
leegwichan added a commit that referenced this issue Aug 22, 2024
* refactor: hook이 아닌 UI 컴포넌트에서 roomId 가져오기 #198

* test: Header 스토리북 작성 #198

* fix: 라운드 가운데 정렬 및 이미지가 늦게 로딩되면 레이아웃 밀리는 문제 해결 #198

* refactor: 라운드 결과에 기권자 항목이 추가됨에 따라 mock data 수정 #199

* refactor: 라운드 투표 결과 그룹에 기권자 타입 추가 #199

* feat: 투표에 참여하지 않은 명단을 투표 현황에 추가 #199

* fix: 각 선택지에 해당하는 사람이 1명인 경우 ui가 깨지는 문제 해결 및 간격 수정 #199

* fix: 정책에 맞추어 INFO 로그까지만 출력하도록 수정 #194

* refactor: 버전 변경에 대응할 수 있도록 app 종료 명령어 수정 #194

- 프로파일 설정 명령어 통일을 위해 실행 명령어 수정

* chore: sql 파일에 room.uuid 필드 추가 반영 #191

* fix: 명령어 단위에서 설정값을 주도록 변경

* refactor: 방 생성 API 관련 로직에 UUID 추가로 인한 변경사항 반 #191

* refactor: 방 참여 API 관련 로직에 UUID 추가로 인한 변경사항 반영 #191

* fix: API문서 uuid 변경 미반영 사항 반영 #191

* test: 방 참여 API 문서 UUID 관련 필드 설명 문구 수정 #191

* style: 개행 수정 #191

* refactor: 변수명 변경 #186

* refactor: 방의 투표 조회 시 option으로 조회, content로 조회 방식 네이밍으로 구분 #208

* refactor: 자바 실행 명령어 수정 #194

- 다른 실행 명령어들과 맞추기 위해 수정

* feat: 투표 결과 조회 시 기권자 정보 함께 조회하도록 구현 #208

* feat: 카테고리 Enum 추가 및 EXAMPLE 삭제 #207

* feat: 카테고리 조회 API 구현 #207

* test: 카테고리 조회 API 문서 테스트 추가 #207

* feat: 방 진행 여부 조회 API 추가 #214

* refactor: Dropdown 여닫는 함수를 toggleDropdown 함수로 분리 #171

* refactor: 웹 접근성을 고려한 태그 수정 #171

* fix: button 안에 button이 오는 문제로 dropdown을 div로 관리 #171

* fix: 방 설정 적용하는 API header 추가 #171

* refactor: 컴포넌트 네이밍 수정 및 시멘틱 태그 적용 #171

* refactor: width를 공통 모달에서 관리하기 위해 제거 #171

* refactor: 혼동되는 네이밍인 timer에서 timeLimit으로 수정 #171

* feat: 방 진행 여부 -> 방 활성화 여부로 네이밍 변경 #214

* test: 방 활성화 상태 여부 API 문서 테스트 추가 #214

* refactor: 반복되는 클릭 액션을 함수로 관리 #171

* feat: 방에서 나가는 비즈니스 로직 구현 #209

* feat: 방에서 나가기 API 구현 #209

* feat: 방 멤버 일급 컬렉션 추가 #204

* feat: 방장 dto 추가 #204

* feat: polling에 방장 dto 추가 #204

* style: 주석 제거 #204

* refactor: 예외 추가 #204

* refactor: 예외 메시지 수정 #204

* fix: 테스트 예외 메시지 수정 #204

* refactor: 닉네임 최대 12자리 및 참여자 최대 인원시를 테스트하기 위해 mock data 수정 #199

* refactor: 프로필 사진을 땅콩 이모지에서 바보 땅콩 이미지로 수정 및 전체적인 ui 수정 #199

* feat: 방 설정 변경에 검증 로직 추가 #215

* fix: 일반 멤버가 2명 이상일 때도 '다른 멤버 마스터화'가 정상 작동하도록 수정 #209

* fix: getRoom 메서드 트랜잭션 readOnly true로 변경 #215

* refactor: opacity Theme 직관적으로 관리 #171

* fix: RoomSetting 기본생성자 접근제어 Package-Private로 변경 #215

* feat: 방 초기화 여부 확인 API 추가 #203

* fix: 테스트를 위한 코드 제거 #215

* feat: 방 나가기 아이콘 추가 #203

* test: RoomSetting 테스트와 RoomTest 분리 #215

* refactor: nicknameItem의 의미를 담은 스타일 레이아웃명 수정 #199

* feat: 멤버 별로 투표 마이그레이션 기능 구현 #209

* feat: 방 관련 예외 코드, 클래스 정의 및 적용 #181

* feat: 컨벤션에 맞게 메서드명 변경 #207

* feat: 방 초기화 API mocking #203

* refactor: Dropdown 컴포넌트를 제네릭 컴포넌트로 만들어 props 타입을 넓히기 #171

* refactor: flex 스타일을 grid로 수정하여 하위 width를 지정하지 않아도 레이아웃을 그릴 수 있도록 수정 #199

* refactor: 사용자 프로필 이미지 의미를 담아 alt 작성 #199

* refactor: 선택 완료 네이밍 수정 및 mutation 성공 후 상태 변경 #171

* refactor: ENDPOINT로 통일 #207

* feat: 선택 mutation이 실행중일 때 disabled 처리 #171

* style: record 코드 컨벤션 설정 #208

* fix: 투표 마이그레이션 시기를 '방이 지워질 때'에서 '멤버가 나갈 때'로 수정

- Member의 soft delete를 도입하면, 모든 조회의 내용을 수정해야 한다
- Member의 hard delete만을 사용하기 위해 투표 마이그레이션 시기 조정

* test: RestDocs 테스트 멤버의 이름 -> 멤버의 닉네임으로 description 변경 #208

* feat: 멤버 관련 예외 코드, 클래스 정의 및 적용 #181

* refactor: totalCount가 0이면 0 리턴하도록 변경 #208

* refactor: useModal 네이밍 수정 #171

* refactor: giveUpMember 조회로직 group 투표 정보 조회 메서드 내부에서 관리 #208

* fix: Http Method 변경 및 유효성 검사 추가 #209

- 관련 테스트 추가

* feat: 룸 컨텐츠 관련 예외 코드, 클래스 정의 및 적용 #181

* feat: 룸 투표 관련 예외 코드, 클래스 정의 및 적용 #181

* feat: 밸런스 컨텐츠 관련 예외 코드, 클래스 정의 및 적용 #181

* feat: 밸런스 옵션 관련 예외 코드, 클래스 정의 및 적용 #181

* feat: PercentageCalculator 예외 클래스 정의 및 적용 #181

* refactor: 가로 구분선의 의미를 담은 네이밍으로 수정 #199

* test: NON_TOTAL_COUNT_PERCENTAGE 변경사항 반영 #208

* style: 사용 위치에 따른 메서드 위치 변경 #208

* refactor: 투표한 멤버 조회 로직 메서드 분리 #208

* test: 테스트 예외 클래스 검증 수정 #181

* refactor: GroupOption과 GroupMemberInfo의 타입 수정 #199

* feat: AlertModal 구현 #171

* feat: 선택 완료 API 요청 시 에러가 발생하면 modal 로 알림창을 띄운다 #171

* test: 알림 모달 스토리북 구현 #171

* test: msw 게임 시작 API 구현 #171

* refactor: 에러 메시지 포맷 변경 #181

* feat: 멤버 매치 결과 인터페이스 추가 #206

* refactor: 매칭 결과 api 변경에 따라 url 수정 #206

* refactor: 매칭 결과 api 변경에 따라 호출 로직 수정 및 params 추가 #206

* feat: Room에 변경 시각 추가 #209

* feat: 비활성화 된 방 삭제를 위한 비즈니스 로직 구현 #209

* feat: 주기적인 비활성화 방 삭제를 위한 스케줄러 구현 #209

* test: 투표할 때 에러 발생시키는 코드 제거 #171

* test: 선택 완료 버튼 눌렀을 때 API 에러 발생 시 모달 뜨는 테스트 코드 작성 #171

* refactor: categoryList API 가 오류가 날 경우 드랍다운만 영향을 받도록 컴포넌트 분리 #171

* refactor: Functional Interface 제거 #204

* refactor: 멤버 당 매칭에 대한 정보라는 의미를 담아 인터페이스명 수정 #206

* feat: 게임 종료 후 대기방으로 이동 #203

* feat: 개발 서버를 위한 밸런스 게임 추가

* refactor: 필드명 및 메서드명 리팩토링 #204

* feat: 방 시작 가능 여부 -> 방 상태 확인으로 변경 #214

* feat: 응답 DTO 변경 #214

* feat: 방 나가기 API 추가 #203

* feat: 방 나가기 기능 추가 #203

* feat: F5/스크롤  막기 #203

* feat: 해당 멤버가 일반 멤버인지 확인하는 기능 구현 #209

* refactor: RoomMembers를 이용하여 RoomFacade의 로직을 수행 #209

* feat: 초대코드 roomUuid로 변경 #203

* refactor: client, server error code 분리 #181

* test: client error code 문서화 #181

* docs: error code 설명 추가 #181

* feat: 방 생성, 방 참여  mocking #203

* refactor: header hook 분리 #203

* refactor: 변수명 변경 및 불필요한 메서드 삭제 #214

* refactor: DTO 필드명 변경 #214

* fix: 불필요한 API 호출 수정 #203

* fix: path 변경 #209

- 단수형(member)에서 복수형(members)로 변경

* test: 테스트 메서드 수정 및 assert 구문 수정 #209

* feat: 방 참가 에러 처리 추가 #203

* feat: 방이 초기화되었는지 확인하는 기능 추가 #205

* feat: 방이 초기화 여부를 반환하는 기능 추가 #205

* feat: 방 초기화 여부 endpoint 추가 #205

* test: 방 초기화 여부 api 문서 테스트 추가 #205

* refactor: error code 컨벤션 적용 #181

* refactor: 예외 메시지 검증 제거 #181

* feat: 매칭도 조회 기능 구현 #224

* fix: 불필요한 EntityManager 로직 제거 #224

* test: 매칭도 조회 DocumentTest 작성 #224

* docs: 매칭도 조회 RestDocs 설정 #224

* style: JOIN문 들여쓰기 통일 #224

* style: 메서드 매개변수 들여쓰기 컨벤션에 맞게 수정 #224

* refactor: 불필요한 JOIN 제거 #224

* fix: balanceContentQuery 수정 후 테스트 통과 #203

* refactor: Header 분기처리하는 로직 커스텀훅으로 분리 #198

* refactor: 제목을 h1 태그로 수정 #198

* refactor: layout 가운데 정렬 분기 처리 #198

* refactor: api 명세에 따라 매칭 결과 타입 수정 #206

* refactor: 쿼리키 수정 및 msw 매칭 결과 핸들러 연결 api 수정 #206

* feat: 나와 하나라도 같은 선택을 한 참여자가 있는 경우 매칭도를 보여주는 기능 #206

* design: 사용자 프로필 이미지 땅콩 이모지에서 바보 땅콩 이미지로 교체 및 스타일 수정 #206

* design: 나와 하나라도 같은 선택을 한 참여자가 없는 경우를 안내하는 ui 구현 #206

* feat: spinner 컴포넌트 구현 #206

* feat: 상태에 따라 게임 결과 화면을 보여주는 기능 #206

* refactor: @EnableScheduling을 SpringApplication에서 분리 #209

* refactor: 사용하지 않는 메서드 제거 #209

* refactor: 특정 시간 이후로 변경되지 않는 방 삭제 로직 리팩토링 #209

* refactor: throws 제거 #181

* refactor: 하드코딩된 값 상수로 변경 #203

* refactor: modal 커스텀 훅 수정 #168

* refactor: nest로 test grouping #181

* feat: useMatchingResultQuery 커스텀 훅 반환 타입 추가 #206

* refactor: 방 입장시 loading 상태 추가 #203

* refactor: interface 이름 변경 #203

* feat: 스피너 스토리북 생성 #206

* refactor: 스핀 땅콩 이미지로 스핀 이미지 변경 및 사이즈 수정 #206

* refactor: Member의 id 비교 메서드 사용

* feat: 카테고리 DTO 변경 #214

* refactor: 메서드명 변경 #214

* feat: 에러코드 추가 #214

* refactor: useModal 리팩토링에 따라 prop명 수정 #168

* feat: QR code 추가 #203

* refactor: reset을 initial로 변경 #205

* refactor: 스니펫 경로 변경 #205

* refactor: 테스트 메서드명 변경 #205

* refactor: percent 계산 PercentageCalculator Util 사용하도록 변경 #224

* refactor: PercentageCalculator 메서드명 calculate로 변경 #224

* refactor: 구체 타입 List를 인터페이스로 변경 #224

* feat: API 속성 변경 #203

* refactor: LinkedList 필요 없어짐에 따라 ArrayList로 변경 #224

* refactor: right join -> inner join으로 변경 #224

* test: ENDPOINT 반복되는 값을 변수로 사용 #209

* refactor: 리뷰 반영 #209

- FK 관계를 생각하여 삭제 순서 변경
- 알아보기 쉽게 하기 위해 변수명 변경
- 멤버 인원 수 판단을 도메인에서 하도록 함

* fix: 중복 조건 제거 #224

* refactor: 새로 추가한 메서드 제거하고 기존에 존재하던 메서드 사용하도록 수정 #224

* refactor: rank 설정 로직 리팩토링 #224

* feat: 방 정보 조회 응답에 카테고리 DTO추가 #232

* refactor: category API 명세 변경 적용 #203

* refactor: ONE_MINUTE 상수 변경 #203

* refactor: mock data 수정 #203

* refactor: 로딩 분기 삭제 #206

* fix: category mock data 수정 #203

* fix: test skip #203

* refactor: 마지막 라운드인 경우 모달 안내가 아닌 바로 전체 결과를 볼 수 있도록 로직 수정 #236

* refactor: 게임 대기 페이지 로딩 스피너 처리 #236

* fix: 방장만 방설정 버튼을 볼 수 있도록 설정 #236

* fix: 텍스트가 모바일에서 파란색으로 보여 color black 설정 #236

* fix: useQuery cache 에러 해결 #236

* fix: caching 제거 #236

* fix: 로딩일 때 최종 결과를 안보여주도록 수정 #236

* refactor: 사용자 피드백 반영하여 그룹에서 방으로 텍스트 수정 #236

* fix: 안내 모달의 메세지가 두 번 나오는 문제 해결 #236

* fix: 안내 모달 onConfirm 오류 해결 #236

* refactor: 모달 아이콘 버튼 크기 지정하여 레이아웃 흔들림 개선 #236

* refactor: 사용자 프로필 기본 땅콩 이미지로 수정 #236

* fix: 닉네임 페이지 NaN 요청 제거 #236

* fix: 방장이 나갈 경우 다른 멤버에게 방장권한 부여 #236

* fix: RoomContentResponse 카테고리 응답 값 변경 #232

* refactor: 방장만 대기 화면으로 돌아가는 버튼 활성화 되도록 수정 #236

* fix: Header 이미지 크기 수정 및 라우터 수정 #236

---------

Co-authored-by: rbgksqkr <[email protected]>
Co-authored-by: useon <[email protected]>
Co-authored-by: PgmJun <[email protected]>
Co-authored-by: Nam Gi Beom <[email protected]>
Co-authored-by: jhon3242 <[email protected]>
Co-authored-by: novice0840 <[email protected]>
Co-authored-by: Wonjun Choi(타칸) <[email protected]>
Co-authored-by: Yuseon Kim(썬데이) <[email protected]>
Co-authored-by: novice0840 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🍃 BE back end ✨ feat 기능 추가 ♻️ refactor 리팩토링
Projects
Status: No status
Development

No branches or pull requests

1 participant