const Sequelize = require('sequelize') const sequelize = require('./sequelize') const StaffMember = sequelize.define('staffMember', { id: { type: Sequelize.UUID, defaultValue: Sequelize.UUIDV1, primaryKey: true }, staffingAgencyId: Sequelize.UUID, laborCategoryId: Sequelize.UUID, name: Sequelize.STRING, title: Sequelize.STRING, identifier: Sequelize.STRING, terminalId: Sequelize.UUID, wage: Sequelize.DECIMAL(19, 4), salary: Sequelize.DECIMAL(19, 4) }, { paranoid: true, indexes: [ { unique: true, fields: ['staffingAgencyId', 'identifier'] } ] }) StaffMember.prototype.sanitize = async function(req) { const record = this.toJSON() const LaborCategory = sequelize.models.laborCategory if (this.laborCategoryId) { const {key} = await LaborCategory.findOne({where: {id: this.laborCategoryId}}) if (!req.claims[`INCOME_${key}_VIEW`]) { delete record.wage delete record.salary } } return record } module.exports = StaffMember