const Sequelize = require('sequelize');
/**
* @typedef User
* @property {{type: Sequelize.TEXT, trim: true}} observation - Observation générale de l'user.
* @property {{type: Sequelize.STRING, trim: true}} login - Login de l'user.
* @property {{type: Sequelize.STRING, trim: true}} password - Password de l'user.
* @property {{type: Sequelize.STRING, trim: true}} salt - Grain de sel pour crypter le mots de passe.
* @property {Sequelize.BLOB} pic - l'image de l'user
* @property {{type: Sequelize.STRING, trim: true}} picType - Type mine de l'image
* @property {{type: Sequelize.STRING, trim: true}} tmpAccessKey - <span style="color:red"> N'est plus utiliser a vérifier et retirers </span>
* @property {{type: Sequelize.STRING, trim: true}} firstname - Le Prénom de l'user.
* @property {{type: Sequelize.STRING, trim: true}} lastname - Le Nom de famille de l'user.
* @property {{type: Sequelize.STRING, trim: true}} phone - Le numéro de télephone de l'user.
* @property {{type: Sequelize.STRING, trim: true}} type - Le type de l'user : Consultant || Admin || SuperAdmin
* @memberof Myintranet.Database
*/
module.exports = {
observation: {type: Sequelize.TEXT, trim: true},
login: {
type: Sequelize.STRING, trim: true,
unique: 'EmailLoginUniqueIndex',
validate: {
isEmail: true,
notEmpty: true
}
},
password: {type: Sequelize.STRING, trim: true},
salt: {type: Sequelize.STRING, trim: true},
pic: Sequelize.BLOB('long'),
picType: {type: Sequelize.STRING, trim: true},
tmpAccessKey: {type: Sequelize.STRING, trim: true},
firstname: {type: Sequelize.STRING, trim: true, capitalizeOnSpace: true},
gender: {type: Sequelize.STRING, trim: true},
lastname: {type: Sequelize.STRING, trim: true, capitalizeOnSpace: true},
phone: {
type: Sequelize.STRING,
trim: true,
unique: 'PhoneLoginUniqueIndex',
validate: {
notEmpty: true
}
},
type: {
type: Sequelize.STRING,
trim: true,
defaultValue: "Consultant"
}
}