Select Git revision
-
florimondmanca authoredflorimondmanca authored
user.model.js 1.83 KiB
var Sequelize = require('sequelize');
var sequelize = require('./sequelize');
const moment = require('moment')
sequelize
.authenticate()
.then(() => {
console.log('Connection has been established successfully.');
})
.catch(err => {
console.error('Unable to connect to the database:', err);
});
var Users = sequelize.define('Users', {
uName: {
type : Sequelize.STRING,
allowNull: false,
unique: true,
},
fName: Sequelize.STRING,
lName: Sequelize.STRING,
phoneNumber: Sequelize.STRING,
token: Sequelize.STRING,
expires: Sequelize.DATE
},{
timestamps: false,
tableUser: 'Users',
});
sequelize.sync({force:true})
function refreshUser(user){
expiresTime = user.toJSON().expires
if( moment.duration(moment(expiresTime).diff(moment())).asHours() < 23){
user.updateAttributes({
expires : moment().add(1,'days')
})
}
}
function refreshById(id,timeLeft){
if( moment.duration(moment(user.expires).diff(moment())).asHours() < 23){
return true;
}else{
return false;
}
}
function getUser(id) {
return Users.findById(id);
}
function getUserUName(uName) {
return Users.findOne(
{ where: { uName: uName } }
);
}
function authUser(userInfos) {
return Users.upsert(
userInfos
).then(function(users) {
return users;
}).catch((err) => {
console.log(err)
})
}
function isAuthed(uName,token){
return Users.findOne({where : {uName : uName, token : token}});
}