%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; };