fcsc_ipi_backend/app/models/submissionProduct.model.js

61 lines
1.8 KiB
JavaScript

module.exports = (sequelize, DataTypes) => {
const SubmissionProduct = sequelize.define("submission_products", {
id: {
type: DataTypes.INTEGER,
autoIncrement: true,
primaryKey: true,
},
submission_id: {
type: DataTypes.INTEGER,
allowNull: false,
},
product_id: DataTypes.INTEGER,
unit_id: DataTypes.INTEGER,
annual_installed_capacity: DataTypes.STRING(100),
previous_quantity: DataTypes.STRING(100),
previous_cost: DataTypes.STRING(100),
current_quantity: DataTypes.STRING(100),
current_cost: DataTypes.STRING(100),
forecast_quantity: DataTypes.STRING(100),
forecast_cost: DataTypes.STRING(100),
variation_reason_master_id: DataTypes.INTEGER,
other_variation_reason: DataTypes.STRING(255),
zero_target_reason_master_id: DataTypes.INTEGER,
other_zero_target_reason: DataTypes.STRING(255),
remarks: DataTypes.STRING(255),
created_by: DataTypes.INTEGER,
updated_by: DataTypes.INTEGER,
is_active: {
type: DataTypes.BOOLEAN,
defaultValue: true,
},
created_at: {
type: DataTypes.DATE,
defaultValue: DataTypes.NOW,
},
updated_at: {
type: DataTypes.DATE,
allowNull: true,
},
}, {
tableName: "submission_products",
timestamps: false,
});
SubmissionProduct.associate = (models) => {
SubmissionProduct.belongsTo(models.Submission, {
foreignKey: "submission_id",
as: "submission",
});
};
SubmissionProduct.associate = (models) => {
SubmissionProduct.belongsTo(models.Product, { // 'Product' with capital P
foreignKey: "product_id",
as: "product",
});
};
return SubmissionProduct;
};