UNPKG

irest-app-test

Version:

iRest simulator application tooling and scripts - Backend

1 lines 972 B
"use strict";var bcrypt=require("bcryptjs"),_require=require("sequelize"),Sequelize=_require.Sequelize,_require2=require("../constants/schemaDefaults"),status=_require2.status,modelList=_require2.modelList,ENABLED=status.ENABLED,SALT_ROUND=process.env.SALT_ROUND,saltRound=parseInt(SALT_ROUND,10);function UserModel(a,b){var c=a.define(modelList.USER_MODEL,{id:{type:Sequelize.UUID,defaultValue:Sequelize.UUIDV4,primaryKey:!0},status:{type:b.STRING,defaultValue:ENABLED},email:{type:b.STRING,allowNull:!1,unique:!0},password:{type:b.STRING,allowNull:!0},name:{type:b.STRING,allowNull:!1},role:{type:b.STRING,defaultValue:"subuser",allowNull:!0}},{indexes:[{unique:!0,fields:["id"]}],hooks:{beforeCreate:function(a){return new Promise(function(b,c){var d=a.password;d&&bcrypt.hash(d,saltRound,function(d,e){d&&c(d),a.password=e,b()})})}}});return c.comparePassword=function(a,b,c){bcrypt.compare(a,b,function(a,b){return a?c(a):void c(null,b)})},c}module.exports=UserModel;