UNPKG

synt_backend

Version:

Synt light-weight node backend service

48 lines (47 loc) 1.57 kB
"use strict"; const { Model } = require("sequelize"); module.exports = (sequelize, DataTypes) => { class FinancialYear 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 FinancialYear.hasOne(models.Meeting); FinancialYear.hasMany(models.Provision); FinancialYear.hasOne(models.Settlement); } } FinancialYear.init( { year: { type: DataTypes.VIRTUAL, get() { let year1 = new Date(this.getDataValue("start_date")).getFullYear(); let year2 = new Date(this.getDataValue("end_date")).getFullYear(); return year1 !== year2 ? year1 + " - " + year2 : year1; }, }, start_date: DataTypes.DATE, end_date: DataTypes.DATE, budget: DataTypes.INTEGER, guarantee_fund: DataTypes.INTEGER, reserve_capital: DataTypes.INTEGER, months_per_invoice: DataTypes.INTEGER.UNSIGNED, months_invoiced: DataTypes.INTEGER.UNSIGNED, temp_months_invoiced: DataTypes.INTEGER.UNSIGNED, is_budget_frequency_confirmed: DataTypes.BOOLEAN, is_budget_amount_confirmed: DataTypes.BOOLEAN, is_reserve_capital_confirmed: DataTypes.BOOLEAN, is_guarantee_fund_confirmed: DataTypes.BOOLEAN, is_settled: DataTypes.BOOLEAN, }, { sequelize, modelName: "FinancialYear", } ); return FinancialYear; };