게시글(리뷰) 밑에 달려야 하는 댓글을 등록하고, 조회하고, 수정하고, 삭제하는 기능 중에서 등록은 23일에 작업을 해서 나머지 기능 중 조회와 삭제를 먼저 진행하기로 했다.
처음 작업 이후 목록 조회 api에서 좋아요 개수 정보와 작성자에 따라 프로필 사진을 보여주기 위한 작성자 정보가 필요해서 추가하기로 했는데 이 때 api의 이름이 fetchComment에서fetchComments로 바뀌고 return 받는 양식이 object에서 JSONObject로 바뀌어서 작성한 query와 map 방식을 조금 수정했다.
export const FETCH_COMMENTS = gql`
query fetchComments($boardId: String!){
fetchComments(boardId: $boardId)
}
`;
<S.BoxDiv>
<S.ProfileDiv><S.ProfileImg src= {url} /></S.ProfileDiv>
<div>
<S.ProfileWrapDiv>
<S.WriterDiv>{props.el?.userNickname} 단짝님</S.WriterDiv>
<S.CreatedAtDiv>{timeForToday(props.el?.commentCreateAt)}</S.CreatedAtDiv>
</S.ProfileWrapDiv>
<S.ContentsDiv>내용 : {props.el?.commentContents}</S.ContentsDiv>
</div>
<div>좋아요개수 : {props.el?.commentLikeCount}</div>
<div onClick={onClickLike(props.el?.commentId)}>좋아요버튼</div>
{showDelete &&(<S.DeleteBtn onClick={onClickDelete(props.el?.commentId)}>삭제</S.DeleteBtn>)}
</S.BoxDiv>
CSS 작업은 아직 완료 되지 않아 styled component와 html 태그가 같이 있다^^;
좋아요, 삭제 기능 api에서도 문제가 생겼다.
좋아요 기능을 추가하고 나서 DB에 댓글 데이터와 좋아요 개수 데이터가 연결되어있는데 삭제할 때 댓글 데이터만 삭제하려고 하다보니 에러가 발생한 것이었다.
그래서 데이터 자체를 지우는 방식이 아닌 조회 목록에서 filter해 보이지 않는 softdelete방식을 이용 하기로 했다.
댓글 작성 - 조회 - 좋아요 - 삭제 모두 잘 작동한다.
회원가입 api에서 필요로 하는 데이터가 바뀌어서(정확히는 늘어서) 수정 작업에 들어갔다.
회원가입 수정작업 이어서
댓글 관련 마무리 작업
로그아웃 기능 추가
쪽지 기능 작업