==============================================================
Room Controller
[POST] /api/room createRoom
upload는 다른 api
[GET] /api/room/id/{id} getRoom
[GET] /api/room/list getRoomList
[GET] /api/room/list/after-meetup-start getRoomListAfterMeetupStart
[GET] /api/room/list/before-meetup-start getRoomListBeforeMeetupStart
모집 중 모임 호출 (시간계산) -> 상태 안정성 증가 시 , 상태 Enum 값으로 비교
룸이 없을때? -> exception
pagenation, size 추가
[PUT] /api/room updateRoom
더티체킹 고려
accesstoken -> user X -> exception
hostUserId != userId -> exception
category X -> exception
meetupenddate > meetupstartdate -> exception
currentJoinNumber = 수정x
price = - [ ] 입려시 exception
roomStatus = 수정 x
title, desc,category, locatinoin, meetupstattdate, meetupenddate, maxjoinnumber, price, roomstatus, roomtype 수정 가능
사진 수정가능
[DELETE] /api/room deleteRoom
accesstoken -> user X -> exception
hostUserId != userId -> exception
유저가 만든룸 아닐때 -> exception
==============================================================
Upload Controller
[POST] /api/upload fileUpload
[GET] /api/upload/download downloadZip
[DELETE] /api/upload deleteFile
==============================================================
User Controller
[GET] /api/user/id/{id} 유저 정보 조회
[GET] /api/user/me findMeByToken
[PUT] /api/user/me updateMe
==============================================================
User Image Controller
[POST] /api/userImage uploadUserImagee
[GET] /api/userImage getUserImagee
[PUT] /api/userImage updateUserImagee
[DELETE] /api/userImage deleteUserImagee
==============================================================
Announce Controller
[POST] /api/announce createAnnounce
[GET] /api/announce/id/{id} getAnnounce
[GET] /api/announce/list getAnnounceList
[PUT] /api/announce updateAnnounce
==============================================================
Announce Upload Controller
[POST] /api/announceUpload fileUpload
[GET] /api/announceUpload/download downloadZip
[DELETE] /api/announceUpload deleteFile
==============================================================
Host User Controller
[GET] /api/hostUser/id getHostUser
[GET] /api/hostUser/ids getHostUser
==============================================================
Joined User Controller
[GET] /api/joinedUser/id getJoinedUser
[GET] /api/joinedUser/ids getJoinedUser
[GET] /api/joinedUser/roomId getJoinedUserByRoomId
[GET] /api/joinedUser/userId getJoinedUserByUserId
//룸 상태 바꾸는 기능은 JOINEDUSER API 에서 관리
================================================
Review Controller
[POST] / createReview
[GET] /roomId getReview
==============================================================
hostreview 로직 생성
[POST] / createHostReview
[GET] /roomId getReview
[DELETE] / deleteReview
==============================================================
admin api
[DELETE] / deleteRoom
[DELETE] / deleteReview
==============================================================
eventeamilschdeler.java
==============================================================
Room Controller
[POST] /api/room createRoom
upload는 다른 api
[GET] /api/room/id/{id} getRoom
[GET] /api/room/list getRoomList
[GET] /api/room/list/after-meetup-start getRoomListAfterMeetupStart
[GET] /api/room/list/before-meetup-start getRoomListBeforeMeetupStart
[PUT] /api/room updateRoom
[DELETE] /api/room deleteRoom
==============================================================
Upload Controller
[POST] /api/upload fileUpload
[GET] /api/upload/download downloadZip
[DELETE] /api/upload deleteFile
room x -> exception
filename x -> exception
방 별로 file name 볼 수 있는 api 추가
없는 파일명 요청시 예외처리
==============================================================
User Controller
[GET] /api/user/id/{id} 유저 정보 조회
[GET] /api/user/me findMeByToken
[PUT] /api/user/me updateMe
accesstoken -> user X -> exception
user x -> exception
수정가능 o -> username, profileimage, desc
image -> byte db저장으로 수정
==============================================================
User Image Controller
[POST] /api/userImage uploadUserImagee
[GET] /api/userImage getUserImagee
[PUT] /api/userImage updateUserImagee
[DELETE] /api/userImage deleteUserImagee
user x -> exception
이미지 없을때 -> exception
path 관련 로직 제거
==============================================================
Announce Controller
[POST] /api/announce createAnnounce
[GET] /api/announce/id/{id} getAnnounce
[GET] /api/announce/list getAnnounceList
[PUT] /api/announce updateAnnounce
accesstoken -> user X -> exception
user x -> exception
hostUserId != userId -> exception
announce x -> exception
수정 가능 title, desc
[DELETE] /api/announce deleteAnnounce
accesstoken -> user X -> exception
user x -> exception
hostUserId != userId -> exception
announce x -> exception
image -> byte db저장으로 수정
==============================================================
Announce Upload Controller
[POST] /api/announceUpload fileUpload
[GET] /api/announceUpload/download downloadZip
[DELETE] /api/announceUpload deleteFile
announce x -> exception
filename x -> exception
방 별로 file name 볼 수 있는 api 추가
없는 파일 이름 요청시 exception
==============================================================
Host User Controller
[GET] /api/hostUser/id getHostUser
[GET] /api/hostUser/ids getHostUser
==============================================================
Joined User Controller
[GET] /api/joinedUser/id getJoinedUser
[GET] /api/joinedUser/ids getJoinedUser
[GET] /api/joinedUser/roomId getJoinedUserByRoomId
[GET] /api/joinedUser/userId getJoinedUserByUserId
user x -> exception
방 입장 api 추가
방 나가기 api 추가
//룸 상태 바꾸는 기능은 JOINEDUSER API 에서 관리
================================================
Review Controller
[POST] / createReview
[GET] /roomId getReview
[GET] /userId getReviewByUserId
[DELETE] / deleteReview
==============================================================
hostreview 로직 생성
[POST] / createHostReview
[GET] /roomId getReview
[DELETE] / deleteReview
==============================================================
admin api
[DELETE] / deleteRoom
[DELETE] / deleteReview
==============================================================
test
jacoco
검색기능
값 테스트
예외처리시 예외 메시지나 만들어진 포맷 던지기
validation 작동
인텔리제이 환경변수 -> .env 환경별 생성 및 수정
room, announce image 로직 user image 처럼 수정
eventeamilschdeler.java
getRoomListafterMeetupStart() 인자 랜덤 호출 기능추가
N+1 을 비롯한 쿼리 수 최소화 로직 최적화