export const Invoice = pgTable('invoice', {
invoiceNum: serial('invoiceNum').notNull().primaryKey(),
customerId: text('customerId').notNull(),
employeeId: text('employeeId'),
leaseId: text('leaseId'),
invoiceAmount: doublePrecision('invoice_amount').notNull(),
invoiceCreated: timestamp('invoiceCreated', { precision: 3 }).notNull().defaultNow(),
invoiceDue: timestamp('invoice_due', { precision: 3 }).notNull(),
invoiceNotes: text('invoiceNotes'),
deposit: boolean('deposit').notNull(),
amountPaid: doublePrecision('amount_paid').notNull()
}, (Invoice) => ({
'invoice_customer_fkey': foreignKey({
name: 'invoice_customer_fkey',
columns: [Invoice.customerId],
foreignColumns: [User.id]
})
.onDelete('cascade')
.onUpdate('cascade'),
'invoice_employee_fkey': foreignKey({
name: 'invoice_employee_fkey',
columns: [Invoice.employeeId],
foreignColumns: [User.id]
})
.onDelete('cascade')
.onUpdate('cascade'),
'invoice_lease_fkey': foreignKey({
name: 'invoice_lease_fkey',
columns: [Invoice.leaseId],
foreignColumns: [Lease.leaseId]
})
.onDelete('cascade')
.onUpdate('cascade')
}));
export const Invoice = pgTable('invoice', {
invoiceNum: serial('invoiceNum').notNull().primaryKey(),
customerId: text('customerId').notNull(),
employeeId: text('employeeId'),
leaseId: text('leaseId'),
invoiceAmount: doublePrecision('invoice_amount').notNull(),
invoiceCreated: timestamp('invoiceCreated', { precision: 3 }).notNull().defaultNow(),
invoiceDue: timestamp('invoice_due', { precision: 3 }).notNull(),
invoiceNotes: text('invoiceNotes'),
deposit: boolean('deposit').notNull(),
amountPaid: doublePrecision('amount_paid').notNull()
}, (Invoice) => ({
'invoice_customer_fkey': foreignKey({
name: 'invoice_customer_fkey',
columns: [Invoice.customerId],
foreignColumns: [User.id]
})
.onDelete('cascade')
.onUpdate('cascade'),
'invoice_employee_fkey': foreignKey({
name: 'invoice_employee_fkey',
columns: [Invoice.employeeId],
foreignColumns: [User.id]
})
.onDelete('cascade')
.onUpdate('cascade'),
'invoice_lease_fkey': foreignKey({
name: 'invoice_lease_fkey',
columns: [Invoice.leaseId],
foreignColumns: [Lease.leaseId]
})
.onDelete('cascade')
.onUpdate('cascade')
}));