From 591810d484019544099b0fe3060c52fb28a9c189 Mon Sep 17 00:00:00 2001 From: frab1t <33671357+frab1t@users.noreply.github.com> Date: Thu, 4 Jul 2019 08:51:08 +0200 Subject: [PATCH] feat(database): add users model --- src/models/users.js | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 src/models/users.js diff --git a/src/models/users.js b/src/models/users.js new file mode 100644 index 0000000..ef0acfd --- /dev/null +++ b/src/models/users.js @@ -0,0 +1,35 @@ +const mongoose = require('mongoose'); +const bcrypt = require('bcrypt'); + +const saltRounds = 10; + +// Define a schema +const { Schema } = mongoose; + +const UserSchema = new Schema({ + name: { + type: String, + trim: true, + required: true, + }, + email: { + type: String, + trim: true, + required: true, + }, + password: { + type: String, + trim: true, + required: true, + }, +}); + +// hash +// eslint-disable-next-line func-names +UserSchema.pre('save', function (next) { + const user = this; + user.password = bcrypt.hashSync(user.password, saltRounds); + next(); +}); + +module.exports = mongoose.model('User', UserSchema);