synt_backend
Version:
Synt light-weight node backend service
53 lines (52 loc) • 1.57 kB
JavaScript
"use strict";
const { Model } = require("sequelize");
module.exports = (sequelize, DataTypes) => {
class VME extends Model {
/**
* Helper method for defining associations.
* This method is not a part of Sequelize lifecycle.
* The `models/index` file will call this method automatically.
*/
static associate(models) {
// define association here
VME.belongsToMany(models.User, {
through: "UserVME",
foreignKey: "VMEId",
as: "Users",
});
VME.belongsTo(models.Company);
VME.hasMany(models.Lot);
VME.hasMany(models.Supplier);
VME.hasMany(models.Meeting);
VME.hasMany(models.Incident);
VME.hasMany(models.Document);
VME.hasMany(models.DistributionKey);
VME.hasMany(models.GeneralLedgerAccount);
VME.hasMany(models.Purchase);
VME.hasMany(models.Provision);
VME.hasMany(models.FinancialYear);
}
}
VME.init(
{
alias: DataTypes.STRING,
meeting_period_starts_at: DataTypes.DATE,
meeting_period_ends_at: DataTypes.DATE,
total_shares: DataTypes.INTEGER,
insurance_company: DataTypes.STRING,
insurance_number: DataTypes.STRING,
financial_year_starts_at: DataTypes.DATEONLY,
division_id: DataTypes.INTEGER, // exact online
division_name: DataTypes.STRING,
actor_id: DataTypes.INTEGER, // keypoint
has_banking: DataTypes.BOOLEAN,
is_frozen: DataTypes.BOOLEAN,
},
{
sequelize,
paranoid: true,
modelName: "VME",
}
);
return VME;
};