From 3016b0cf54f50714d44d4b71967e9fa33907131a Mon Sep 17 00:00:00 2001 From: KANTAPONG SONG-NGAM <kantapong.so.59@ubu.ac.th> Date: Mon, 29 Oct 2018 21:36:27 +0700 Subject: [PATCH] add pro --- mobile/Project/Things.js | 22 +++++++++++++++++ mobile/Project/Users.js | 42 ++++++++++++++++++++++++++++++++ mobile/Project/mongoose.js | 16 ++++++++++++ mobile/Project/package-lock.json | 5 ++++ mobile/Project/package.json | 11 +++++++++ 5 files changed, 96 insertions(+) create mode 100644 mobile/Project/Things.js create mode 100644 mobile/Project/Users.js create mode 100644 mobile/Project/mongoose.js create mode 100644 mobile/Project/package-lock.json create mode 100644 mobile/Project/package.json diff --git a/mobile/Project/Things.js b/mobile/Project/Things.js new file mode 100644 index 0000000..7f54305 --- /dev/null +++ b/mobile/Project/Things.js @@ -0,0 +1,22 @@ +Schema = require('mongoose').Schema +ThingSchema = new Schema({ + Name : { + type : String, + required : true + }, + Data : { + type : [{ + Value : { + type : Number, + min : 0 + }, + Time : { + type : Date + } + }] + }, + userId : { + type : Schema.Types.ObjectId + } +}) +module.exports = mongoose.model('Things', ThingSchema) diff --git a/mobile/Project/Users.js b/mobile/Project/Users.js new file mode 100644 index 0000000..d780067 --- /dev/null +++ b/mobile/Project/Users.js @@ -0,0 +1,42 @@ +Schema = require('mongoose').Schema +bcrypt = require('bcrypt') +SALT_WORK_FACTOR = 10 + +UserSchema = new Schema({ + username : { + type : String, + required : true + }, + password : { + type : String, + required : true + } +}) + +UserSchema.pre('save', function(next) { + user = this + + if (!user.isModified('password')) + return next() + + bcrypt.genSalt(SALT_WORK_FACTOR, function(err, salt) { + if (err) return next (err) + + bcrypt.hash(user.password, salt, function(err, hash) { + if (err) return next (err) + + user.password = hash + next() + }) + }) +}) + +UserSchema.methods.comparePassword = function(candidate, cb) { + bcrypt.compare(candidate, this.password, function(err, isMatch) { + if (err) return cb (err) + cb(null, isMatch) + }) +} + + +module.exports = mongoose.model('Users', UserSchema) diff --git a/mobile/Project/mongoose.js b/mobile/Project/mongoose.js new file mode 100644 index 0000000..cfb3444 --- /dev/null +++ b/mobile/Project/mongoose.js @@ -0,0 +1,16 @@ +mongoose = require('mongoose') +Things = require('./Things') +Users = require('./Users') + +mongoose.connect('mongodb://localhost:27017/Students',{useNewUrlParser:true}); + +add_User = new Users({ + username: 'test', + password: 'pass' +}) + +add_User.save(function(err) { + if (err) throw err +console.log('save USer completed.') +}) + diff --git a/mobile/Project/package-lock.json b/mobile/Project/package-lock.json new file mode 100644 index 0000000..d4e0a2f --- /dev/null +++ b/mobile/Project/package-lock.json @@ -0,0 +1,5 @@ +{ + "name": "project", + "version": "1.0.0", + "lockfileVersion": 1 +} diff --git a/mobile/Project/package.json b/mobile/Project/package.json new file mode 100644 index 0000000..c4fdaab --- /dev/null +++ b/mobile/Project/package.json @@ -0,0 +1,11 @@ +{ + "name": "project", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC" +} -- 2.18.1