Spaces:
Runtime error
Runtime error
import { Model, DataTypes } from 'sequelize'; | |
import { InvoiceApprovalAttributes } from 'shared/interfaces/invoiceApproval.interface'; | |
import { sequelize } from './index'; | |
class InvoiceApproval extends Model<InvoiceApprovalAttributes> | |
implements InvoiceApprovalAttributes { | |
public id?: number; | |
public invoice_id!: number; | |
public approved_by!: number; | |
public approval_role_id!: number; | |
public comment?: string; | |
public created_at?: Date; | |
} | |
InvoiceApproval.init( | |
{ | |
id: { | |
type: DataTypes.INTEGER, | |
autoIncrement: true, | |
primaryKey: true, | |
}, | |
invoice_id: { | |
type: DataTypes.INTEGER, | |
allowNull: false, | |
references: { | |
model: 'invoices', | |
key: 'id', | |
}, | |
onUpdate: 'CASCADE', | |
onDelete: 'CASCADE', | |
}, | |
approved_by: { | |
type: DataTypes.INTEGER, | |
allowNull: false, | |
}, | |
approval_role_id: { | |
type: DataTypes.INTEGER, | |
allowNull: false, | |
}, | |
comment: { | |
type: DataTypes.TEXT, | |
allowNull: true, | |
}, | |
created_at: { | |
type: DataTypes.DATE, | |
defaultValue: DataTypes.NOW, | |
}, | |
}, | |
{ | |
sequelize, | |
modelName: 'InvoiceApproval', | |
tableName: 'invoice_approval', | |
timestamps: false, | |
} | |
); | |
export default InvoiceApproval; | |