Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- frontend
- javscript
- 리액트
- react
- nodejs
- MongoDB
- express
- NextJs
- Component
- HTML
- heroku
- node.js
- CLONE
- GRID
- clonecoding
- TypeScript
- backend
- Flutter
- CSS
- Session
- graphQL
- Mongoose
- ES6
- 자바스크립트
- JavaScript
- API
- DART
- form
- ECMAScript
- pug
Archives
- Today
- Total
Enjoy Programming
Express - Adding Creator to Video 본문
이제 할 일은 업로드된 비디오에 작성자를 연결해주고 작성자가 로그인 되었다면 edit을 할수 있게한다
그리고 다른 유저라면 그냥 수정할 수 없게 하겠다
먼저 각 모델에 스키마를 추가한다. 비디오에는 유저의 정보를 그리고 유저에는 비디오와 코멘트 정보, 코멘트에는 유저의 정보를 넣어주자
그리고 비디오 컨트롤러에서 post업로드 컨트롤러를 수정해주자
새로 만들어진 비디오의 스키마 creator를 req.user.id를 추가해주고 (유저가 로그인 되어있다면 항상 req에는 user가 있다)
videos에 neVideo.id를 넣어준다. 그리고 저장.
그리고 상세정보 컨트롤러를 살짝 수정해준다. populate함수를 통해 객체를 가져오도록 하는데 이 함수는 Object ID타입에만 쓸수있다
마지막으로 videoDetail 템플릿을 수정하자
먼저 edit button을 로그인한 유저와 비디오 작성자의 아이디가 같을때만 띄워주도록 하고
작성자 정보를 띄워준다. 이때 routes.js에 작성된 userDetail() 라우트함수에 video.creator.id를 넣어 정보를 가져오도록 해주자.
최종적으로
이렇게 만들어지고~ upload by 뒤 유저아이디를 클릭하면 해당 유저의 프로필 페이지로 이동한다 이때도 전에 작성한 조건에 의해
로그인 유저와 정보가 일치하지 않으면 수정버튼과 비밀번호 변경 버튼은 뜨지 않는다.
'JavaScript > Node.JS' 카테고리의 다른 글
Webpack - creating video player &&&& (미완 - 작성예정 포스트들) (0) | 2021.05.18 |
---|---|
Express- Protectiong Videos Routes && profile page view video list (0) | 2021.05.17 |
Express - (passport-local-mongoose) - Change Password (0) | 2021.05.16 |
Express - edit User Profile (0) | 2021.05.15 |
Express - passport kakaotalk (0) | 2021.05.14 |