KDT/project

[MarkYour2022/backend] 3. 글쓰기

ebulsok 2022. 10. 22. 23:59

app.js

  • postsRouter(/posts) 추가

 

routes/login.js

  • req.user를 통해 로그인 했는지 확인하는 함수 isLogin 추가

 

routes/passport.js

  • 간편로그인으로 계정 생성 시 posted(기본값: false) 항목 추가: 계정 당 게시글을 1개만 쓸 수 있도록

 

routes/posts.js

  • .get(/new)
    • isLogin으로 로그인 되었는지 확인
    • users collection에서 현재 로그인 한 계정의 document를 찾고, posted 항목이 false인 경우에만 글쓰기 페이지를 렌더링할 수 있도록

 

  • .post(/new)
    • req.body에 값이 담긴 경우 데이터를 정리해서 DB에 저장
    • postId의 경우 기본값은 1, posts collection에 1개 이상의 데이터가 존재하는 경우 마지막 document의 postId 값 + 1을 저장
    • 로그인 한 계정의 posted 값을 true로 update

 

200, 201, 300, 400, 404

https://developer.mozilla.org/en-US/docs/Web/HTTP/Status

 

HTTP response status codes - HTTP | MDN

HTTP response status codes indicate whether a specific HTTP request has been successfully completed. Responses are grouped in five classes:

developer.mozilla.org

 

 

정상적으로 작동하는지 확인하기 위해 ejs를 이용해서 하다보니 마지막에는 React로 데이터를 넘겨줘야 한다는 걸 자연스레 잊었다.. 여태 삽질을.. redirect 같은 걸로 생각없이 처리를 해뒀었는데 res.json으로 수정했다.

우리 팀은 지금 프론트/백을 아예 분리해서 하는 중인데

그러다보니 나중에 react와 합치면 쓸모없어질 것 같은 view engine을 써가면서 구현하는 게 맞는지(암만 생각해도 아닌 것 같음) 의문이다. postman 쓰기는 좀 번거로운 것 같던데 어떻게 하는 게 맞는 건지?? ㅜㅜ

코드가 아예 달라지진 않고 마지막 처리만 다르기 때문에 일단 ejs 쪽 코드와 react 합쳤을 때의 코드 둘 다 적고 있긴 하다..

목금토 너무 놀아서 저녁에 잠깐 하느라 하루에 기능 하나씩만 짜고 있긴 한데 내일부터는 시간 많이 할애해보는 걸루