%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/opti/workflow/src/models/
Upload File :
Create Path :
Current File : /home/opti/workflow/src/models/request.js

'use strict';

module.exports = (sequelize, DataTypes) => {
  const Request = sequelize.define('Request', {
    uuid: {
      type: DataTypes.UUID,
      defaultValue: DataTypes.UUIDV4
    },
    serviceType: DataTypes.STRING,
    amount: DataTypes.REAL,
    title: DataTypes.STRING,
    description: DataTypes.STRING,
    justification: DataTypes.STRING,
    nextOfficer: DataTypes.INTEGER,
    owner: DataTypes.INTEGER,
    workflowId: DataTypes.INTEGER,
    targetedStructure: DataTypes.INTEGER,
    previousOfficer: DataTypes.INTEGER,
    status: DataTypes.STRING,
    supervisorComment: DataTypes.STRING,

  }, {});


  Request.associate = function(models) {
    // associations can be defined here
    Request.belongsTo(models.User, {foreignKey: 'owner', targetKey: 'id', as: 'requestOwner'});
    Request.belongsTo(models.User, {foreignKey: 'previousOfficer', targetKey: 'id', as: 'requestPrevOfficer'});
    Request.belongsTo(models.User, {foreignKey: 'nextOfficer', targetKey: 'id', as: 'requestNextOfficer'});
    Request.belongsTo(models.CompanyStructure, {foreignKey: 'targetedStructure', targetKey: 'id', as: 'structure'});
    Request.belongsTo(models.Workflow, {foreignKey: 'workflowId', targetKey: 'id', as: 'workflow'});

    // Request.hasMany(RequestHistory, { foreignKey: 'requestId', as:'histories'});
    Request.hasMany(models.RequestHistory, {foreignKey: 'requestId', as: 'histories'})
  };

  return Request;
};

Zerion Mini Shell 1.0