| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- 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
|