TIL 85일차 - 자잘한 내용 추가 및 오류 수정

박찬웅·2023년 5월 1일
0

항해99

목록 보기
90/105

23년 5월 1일

시도 한 것, 알게 된 점

주말에 프론트분들이 몇몇 내용이 추가적으로 필요하다고 해서 나는 오늘 아침에 몇몇 내용을 추가를 하는 작업을 진행하였다. 기존 피드 전체 보기와 가게 내에 있는 피드 페이지 에서도 isMine이 필요하다고 하는데 해당 글에서 삭제 하기 위한 표시가 나타내기 위해서 본인인지 아닌지 유무가 필요했던 것이였다. 그래서 isMine 또한 저번주부터 했던 것처럼 동일하게 구현을 하였다.

근데 가게 내에 있는 피드페이지에서 심각한 버그가 있었다. 비로그인 유저는 해당 상세페이지가 안뜨고 서버가 다운되서 app crash가 뜨는 현상이였다. 확인해 보니까 토큰이 없을 때에 그때의 코드가 없었던 것이였다. 이게 원래는 내가 구현한게 아니라 팀원분이 구현했던 것이라 당연히 토큰이 필요한거로 생각했었는데 알고보니 이 기능은 로그인 유무가 상관 없는 api였던 것이였다.
그래서 이 부분을 수정하는데 약간 오래 걸렸다.

const { shopId } = req.params;
    // const { userId } = res.locals.user;

    // const feedFindAll = await this.feedService.detailShopFeed(shopId,userId);
    let feedFindAll = null
    if(res.locals.user){
      const { userId } = res.locals.user;
      feedFindAll = await this.feedService.detailShopFeed(shopId,userId);
    } else { 
      feedFindAll = await this.feedService.detailShopFeed(shopId)
    }
    
    res.send(feedFindAll)

이렇게 컨트롤러 계층에서 res.local.user 유무로 토큰이 있을때랑 없을때를 구분하면 되었다.
그렇게 하니까 비로소 로그인이 없어도 잘 실행 될 수 있었다.

이 외로는 사실상 더이상 백앤드에서 구현하려고 했던 부분은 거의다 해결 된 상태였다. 원래는 동 개수를 구하는 것도 추가 하려고 했었으나 이게 공공포털api에서 가져온 도로명 주소에서는 동이 아닌 '가'로 끝나는 것들도 상당히 많았고, 설령 동을 추가하더라도 나오는 동만 해도 수백개나 되었기 때문에 이걸 프론트분들이 일일히 넣는거는 어려운 과정이라고 판단해서 결국에는 동까지 출력 하는 것은 폐기를 하였다.
그래서 기존 처럼 '구' 기준으로 해당 카페가 총 몇개인지 구현을 하는 방식으로 변경하였다.
이 api는 어디다 쓰냐면 우리 프론트에서는 현위치에서 반경 100m부터 1000m까지 카페들을 조회 하는 기능인데, 이게 지도를 너무 축소하게 되면 그때에는 구 기점으로 나타나게 하려는 로직이였다. 해당 부분은 이미 팀원 한분이 미리 구현했던 내용이라 원래 동 추가하면 나도 연습하려고 시도 해보려고 했으나 무산되서 없던일이 되버렸다. 이제 백앤드에서는 모든 api는 확실하게 다 마무리 되었다.

앞으로 할 일

이제 백앤드에서는 사실상 모든 기능이 다 구현이 되었기 때문에 남는것은 프론트의 마지막 완성을 위한 테스트를 할 계획이다. 혹시나 여전히 안되는 기능이 있으면 계속해서 원인을 찾아보는 일만 이번주 내내 계속 반복 될 것으로 예상된다.

profile
향해 13기 node.js 백앤드

0개의 댓글