%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/opti/workflow/src/models/
Upload File :
Create Path :
Current File : /home/opti/workflow/src/models/payment.js

'use strict';

module.exports = (sequelize, DataTypes) => {
  const Payment = sequelize.define('Payment', {
    uuid: {
      type: DataTypes.UUID,
      defaultValue: DataTypes.UUIDV4
    },
    paymentTypeId: DataTypes.INTEGER,
    invoiceId: DataTypes.INTEGER,
    orgId: DataTypes.INTEGER,
    partyFromId: DataTypes.INTEGER,
    partyToId: DataTypes.INTEGER,
    referenceNumber: DataTypes.STRING,
    paymentMethodId: DataTypes.INTEGER,
    number: DataTypes.INTEGER,
    // PaymentMethodTypeId: DataTypes.INTEGER,
    paymentDate: DataTypes.DATE,
    // paymentRefNum: DataTypes.STRING,
    amount: DataTypes.DECIMAL,
    currencyId: DataTypes.INTEGER,
    comment: DataTypes.TEXT
  }, {});

  Payment.associate = function(models) {
    // associations can be defined here
    Payment.belongsTo(models.PaymentType, {foreignKey: 'paymentTypeId', targetKey: 'id', as: 'paymentType'});
    Payment.belongsTo(models.Organization, {foreignKey: 'orgId', targetKey: 'id', as: 'organisation'});
    Payment.hasMany(models.PaymentHistory, {foreignKey: 'id', sourceKey: 'id', as: 'paymentHistories'});
    // Payment.belongsTo(models.PaymentStatus, {foreignKey: 'statusId', targetKey: 'id', as: 'paymentStatus'});
    Payment.belongsTo(models.Contact, {foreignKey: 'partyFromId', targetKey: 'id', as: 'contactFrom'});
    Payment.belongsTo(models.Contact, {foreignKey: 'partyToId', targetKey: 'id', as: 'contactTo'});
    Payment.belongsTo(models.PaymentMethod, {foreignKey: 'paymentMethodId', targetKey: 'id', as: 'paymentMethod'});
    Payment.belongsTo(models.Invoice, {foreignKey: 'invoiceId', targetKey: 'id', as: 'invoice'});

  };
  return Payment;
};

Zerion Mini Shell 1.0