진행 상황 공유
•
BE
◦
시은 :
▪
플랜 디테일 웹소켓 작업 완료
▪
웹소켓도 헤더에 authorization 넣어줘야 함
웹소켓
◦
type 분기 없앰
▪
프론트에서 client.subscribe() 웹소켓 구독에 대해 하나의 callback 함수에서 응답들을 받아서 처리하기 때문에 type 분기 필요
◦
type 다시 넣어주시기로
▪
type 을 어떻게 나눌 지 ?
•
간단하게 : todo / chatting
•
상세하게 : todo 에 대한 모든 타입도 분기
◦
todo list에 대한 CRUD
◦
date에 대한 CRUD
•
여러 사람이 동시에 보내는 경우 어떤 내용에 대한 response 인지 모르므로 상세한 type이 필요할 것 같다
필요한 타입 프론트에서 정리해서 웹소켓 명세에 적어드리기
•
한 사람이 삭제한 경우
◦
누구라도 삭제하면, response로 하나의 카드가 삭제된 새로운 todo list를 구독하고 있는 모든 유저에게 전달
▪
delete response 에 대한 로직을 client.subscribe() 웹소켓 구독에 대한 콜백함수 안에 작성해 놓으면, 구독하고 있는 모든 유저들의 화면에 동일하게 적용됨
◦
시은님이 이전에 하신 방식
▪
응답으로 받은 카드 번호를 가지고 모든 사람들의 화면에서 해당 카드가 안보이도록 가려 놓음 display: none
▪
이후 다시 플래너에 접속하면, 해당 카드가 삭제된 리스트를 서버에서 불러와서 보여줌
플래너 디테일
▪
BE → FE 질문 : 호스트가 아닌 경우 그룹멤버 추가 버튼 숨겨줄 수 있는지?
•
해당 플래너의 호스트가 누구인지 플래너 디테일에 들어갔을 때, response 에 담아주시면 로그인한 정보랑 비교해서 버튼 숨길 수 있을 것 같다
예시 : {host : {userId : 3 }}
▪
FE → BE 질문 : 하나의 플래너에 들어가면 웹소켓으로 작성되어 있는 모든 내용이 response로 오는지?
•
모든 내용이 response 로 넘어오도록 할 예정 (아직 반영 안됨)
•
FE
◦
웹소켓에 authorization 어떻게 넣을 지?
▪
▪
방법 2 : 클라이언트 객체 생성할 때 헤더에 넣는 방식 시도해보기 (예슬님이 주석으로 작성해두심)
•
세션 스토리지에 있는 토큰 꺼내서 useEffect 에서 클라이언트 객체 생성할 때 넣기
웹소켓 authorization 만료되면 어떻게 다시 갱신 요청 할 지? (공부 필요)
•
소켓 토큰을 아예 따로 만드는 방식 : https://velog.io/@tlatldms/Socket-인증-with-API-Gateway-Refresh-JWT
◦
FE → BE 질문 : 플래너 생성할 때 request.body에 이메일 정보를 안넣어도 가능한지?
◦
이메일 정보 안 넣어도 됨
▪
플래너 생성 성공했을 때의 response 는 추가해주실 예정
▪
플래너 조회 GET planner
•
query 를 안넣으면 현재 존재하는 모든 플래너 조회됨
•
query 로 email 을 넣으면 해당 email 이 포함되어 있는 플래너만 필터링 되어서 조회 됨
플래너 상세 조회 GET planner/plannerId 일 때 받는 response 형식 ( 종승님 요청 형식, 아직 백엔드 확정은 X)
▪
채팅 데이터도 함께 불러와짐
•
매일 새벽 3시에 한달 전 채팅 내역은 삭제 됨