%PDF- %PDF-
| Direktori : /home/opti/workflow/src/models/ |
| Current File : /home/opti/workflow/src/models/invoice.js |
'use strict';
module.exports = (sequelize, DataTypes) => {
const Invoice = sequelize.define('Invoice', {
invoiceTypeId: DataTypes.INTEGER,
invoiceCategoryId: DataTypes.INTEGER,
uuid: {
type: DataTypes.UUID,
defaultValue: DataTypes.UUIDV4
},
orgId: DataTypes.INTEGER,
partyToId: DataTypes.INTEGER,
partyFromId: DataTypes.INTEGER,
roleTypeId: DataTypes.INTEGER,
statusId: DataTypes.INTEGER,
billingAccountId: DataTypes.INTEGER,
invoiceDate: DataTypes.DATE,
invoiceDate: DataTypes.DATE,
amount: DataTypes.DECIMAL,
balanceDue: DataTypes.DECIMAL,
dueDate: DataTypes.DATE,
paidDate: DataTypes.DATE,
invoiceMessage: DataTypes.STRING,
referenceNumber: DataTypes.STRING,
number: DataTypes.INTEGER,
description: DataTypes.TEXT,
currencyId: DataTypes.INTEGER,
termsId: DataTypes.INTEGER,
draft: DataTypes.BOOLEAN,
paymentApplication: DataTypes.INTEGER
}, {});
// Invoice.belongsTo(Person, {foreignKey: 'Id', targetKey: 'id', as: 'invoiceStatus'});
Invoice.associate = function(models) {
// associations can be defined here
Invoice.belongsTo(models.InvoiceType, {foreignKey: 'invoiceTypeId', targetKey: 'id', as: 'invoiceType'});
Invoice.belongsTo(models.Organization, {foreignKey: 'orgId', targetKey: 'id', as: 'organisation'});
Invoice.hasMany(models.InvoiceHistory, {foreignKey: 'id', sourceKey: 'id', as: 'invoiceHistories'});
Invoice.belongsTo(models.InvoiceStatus, {foreignKey: 'statusId', targetKey: 'id', as: 'invoiceStatus'});
Invoice.belongsTo(models.Contact, {foreignKey: 'partyFromId', targetKey: 'id', as: 'contactFrom'});
Invoice.belongsTo(models.Contact, {foreignKey: 'partyToId', targetKey: 'id', as: 'contactTo'});
Invoice.hasMany(models.InvoiceItem, {foreignKey: 'invoiceId', as: 'invoiceItems'});
};
return Invoice;
};