diff --git a/task-manager/package-lock.json b/task-manager/package-lock.json index 45c3664..427acee 100644 --- a/task-manager/package-lock.json +++ b/task-manager/package-lock.json @@ -183,6 +183,11 @@ "requires": { "memory-pager": "^1.0.2" } + }, + "validator": { + "version": "10.9.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-10.9.0.tgz", + "integrity": "sha512-hZJcZSWz9poXBlAkjjcsNAdrZ6JbjD3kWlNjq/+vE7RLLS/+8PAj3qVVwrwsOz/WL8jPmZ1hYkRvtlUeZAm4ug==" } } } diff --git a/task-manager/package.json b/task-manager/package.json index 17ad41f..6deae9d 100644 --- a/task-manager/package.json +++ b/task-manager/package.json @@ -11,6 +11,7 @@ "license": "ISC", "dependencies": { "mongodb": "^3.1.10", - "mongoose": "^5.3.16" + "mongoose": "^5.3.16", + "validator": "^10.9.0" } } diff --git a/task-manager/src/db/mongoose.js b/task-manager/src/db/mongoose.js index 4983b98..d84a814 100644 --- a/task-manager/src/db/mongoose.js +++ b/task-manager/src/db/mongoose.js @@ -1,4 +1,5 @@ const mongoose = require('mongoose') +const validator = require('validator') mongoose.connect('mongodb://localhost:27017/task-manager-api', { useNewUrlParser: true, @@ -7,13 +8,43 @@ mongoose.connect('mongodb://localhost:27017/task-manager-api', { const User = mongoose.model('User', { name: { - type: String + type: String, + required: true, + trim: true + }, + email: { + type: String, + required: true, + trim: true, + lowercase: true, + validate(value) { + if (!validator.isEmail(value)) { + throw new Error('Email is invalid') + } + } }, age: { - type: Number + type: Number, + default: 0, + validate(value) { + if (value < 0) { + throw new Error('Age must be a positive number') + } + } } }) +const me = new User({ + name: ' Jason ', + email: 'J@SON-WILLIAMS.CA ' +}) + +me.save().then(() => { + console.log(me) +}).catch((error) => { + console.log('Error!', error) +}) + const Task = mongoose.model('Task', { description: { type: String @@ -23,24 +54,13 @@ const Task = mongoose.model('Task', { } }) -const task = new Task({ - description: 'Learn the Mongoose library', - completed: false -}) - -task.save().then(() => { - console.log(task); -}).catch((error) => { - console.log('Error!', error) -}) - -// const me = new User({ -// name: 'Jason', -// age: 'Mike' +// const task = new Task({ +// description: 'Learn the Mongoose library', +// completed: false // }) // -// me.save().then(() => { -// console.log(me) +// task.save().then(() => { +// console.log(task); // }).catch((error) => { // console.log('Error!', error) // })