Showing
4 changed files
with
29 additions
and
0 deletions
| ... | @@ -3,6 +3,7 @@ import app from "./app"; // app.js에서 export default app했기 때문에 불 | ... | @@ -3,6 +3,7 @@ import app from "./app"; // app.js에서 export default app했기 때문에 불 |
| 3 | import "./db"; | 3 | import "./db"; |
| 4 | import "./models/Video"; | 4 | import "./models/Video"; |
| 5 | import "./models/Comment"; | 5 | import "./models/Comment"; |
| 6 | +import "./models/User"; | ||
| 6 | 7 | ||
| 7 | dotenv.config(); | 8 | dotenv.config(); |
| 8 | 9 | ... | ... |
models/User.js
0 → 100644
| 1 | +import mongoose from "mongoose"; | ||
| 2 | +import passportLocalMongoose from "passport-local-mongoose"; | ||
| 3 | + | ||
| 4 | +const UserSchema = new mongoose.Schema({ | ||
| 5 | + name: String, | ||
| 6 | + email: String, | ||
| 7 | + avatarUrl: String, | ||
| 8 | + facebookId: Number, | ||
| 9 | + githubId: Number, | ||
| 10 | +}); | ||
| 11 | +// 이 상태에서 새로운 스키마를 추가한다. | ||
| 12 | +// passportLocalMongoose는 configuration object가 필요하다. | ||
| 13 | +// passportLocalMongoose의 옵션에 usernameField가 있다. 이는 username이 될 field를 명시해준다. | ||
| 14 | +// passportLocalMongoose에게 어떤 Field를 username으로 사용할 것인지 알려줘야 한다. | ||
| 15 | +// usernameField로 이메일을 사용하기로 하겠다. | ||
| 16 | +UserSchema.plugin(passportLocalMongoose, { usernameField: "email" }); | ||
| 17 | + | ||
| 18 | +const model = mongoose.model("User", UserSchema); | ||
| 19 | +export default model; |
| ... | @@ -32,6 +32,9 @@ | ... | @@ -32,6 +32,9 @@ |
| 32 | "morgan": "^1.10.0", | 32 | "morgan": "^1.10.0", |
| 33 | "multer": "^1.4.2", | 33 | "multer": "^1.4.2", |
| 34 | "node-sass": "^4.14.1", | 34 | "node-sass": "^4.14.1", |
| 35 | + "passport": "^0.4.1", | ||
| 36 | + "passport-local": "^1.0.0", | ||
| 37 | + "passport-local-mongoose": "^6.0.1", | ||
| 35 | "postcss-loader": "^3.0.0", | 38 | "postcss-loader": "^3.0.0", |
| 36 | "pug": "^2.0.4", | 39 | "pug": "^2.0.4", |
| 37 | "sass-loader": "^8.0.2", | 40 | "sass-loader": "^8.0.2", | ... | ... |
-
Please register or login to post a comment