User(사용자)
- 필요한 column
- quote(구), payload, phrase(절)
- role : 문구로 쓰는데
- {role} 썼는데 이 것이 문구를 뜻하는 지는 모르기 때문에
- 그대로 써도 될지 아니면 새로 문구를 뜻하는 column을 추가할지
role ⇒
quote(구),
payload
, phrase(절)로
바꿔서 쓰는 것으로 결정
⇒ payload 안됨
{ "coverImage": String,// X "image": String,// O "role": String, // (?)=> 문구로 쓸까요? "emailVerified": Boolean,// X "banned": Boolean,//X "isOnline": Boolean, // X "posts": Post[], // O "likes": Like[], // O "comments": String[], // O "followers": [], // X "following": [ // X { "_id": "6169e91316cb2265df003c6d", "user": "6169e58216cb2265df003bf4", "follower": "6169e206aa57d952c6dc1edd", "createdAt": "2021-10-15T20:48:19.816Z", "updatedAt": "2021-10-15T20:48:19.816Z", "__v": 0 } ], "notifications": Notification[], // O "messages": Message[], // X "_id": String, // O "fullName": String, // O "email": String, // O "createdAt": String, // O "updatedAt": String // O } // DB에서 데이터 건드린 날짜 => 수정날짜랑 생성날짜
직접 사용하는 User의 column
{ "image": String, "role": String, "posts": Post[], "likes": Like[], "comments": String[], "notifications": Notification[], "_id": String, "fullName": String, "email": String, "createdAt": String, "updatedAt": String }
Channel(카테고리)
- API 테스트
{ "authRequired": Boolean,// 사용되지 않음 "posts": String[], "_id": String, "name": String, "description": String, // X 안쓸 것 같은데 남겨는 둡시다 "createdAt": String, "updatedAt": String }
Post
{ "likes": Like[], "comments": Comment[], "_id": String, "image": Optional<String>, "imagePublicId": Optional<String>, "title": String, "channel": Channel, "author": User, "createdAt": String, "updatedAt": String }
Like
{ "_id": String, "user": String,// 사용자 id "post": String,// 포스트 id "createdAt": String, "updatedAt": String }
Comment
{ "_id": String, "comment": String, "author": User, "post": String,// 포스트 id "createdAt": String, "updatedAt": String }
Notification
{ "seen": Boolean, "_id": String, "author": User, "user": User | String, "post": Nullable<String>,// 포스트 id "comment": Optional<Comment>, "createdAt": String, "updatedAt": String }