chore: discount module

This commit is contained in:
Matin
2025-02-16 16:30:17 +03:30
parent 6785b3e9d0
commit 20d6c5b294
31 changed files with 1752 additions and 141 deletions
@@ -5,6 +5,7 @@ import { Column, Entity, ManyToOne, OneToMany } from "typeorm";
import { InvoiceItem } from "./invoice-item.entity";
import { BaseEntity } from "../../../common/entities/base.entity";
import { DecimalTransformer } from "../../../common/transformers/decimal.transformer";
import { Discount } from "../../discounts/entities/discount.entity";
import { User } from "../../users/entities/user.entity";
import { InvoiceStatus } from "../enums/invoice-status.enum";
@@ -28,9 +29,14 @@ export class Invoice extends BaseEntity {
@Column({ type: "int", default: 0 })
tax: number;
//---------------------------------------------
@OneToMany(() => InvoiceItem, (invoiceItem) => invoiceItem.invoice, { cascade: true })
items: InvoiceItem[];
@ManyToOne(() => Discount, { nullable: true, onDelete: "SET NULL" })
discount: Discount;
get isOverdue(): boolean {
return this.status === InvoiceStatus.PENDING && new Date() > this.dueDate;
}