Files
edr-platform/apps/edr-freight-api/src/modules/billing/entities/invoice.entity.ts
2026-05-23 10:00:40 +03:00

33 lines
895 B
TypeScript

import { BaseEntity } from "@edr/api-common";
import { Freight } from "@edr/types";
import { Column, Entity } from "typeorm";
@Entity({schema:"freight", name: "invoices" })
export class Invoice extends BaseEntity {
@Column({ name: "booking_id", type: "uuid" })
bookingId!: string;
@Column({ name: "invoice_number", type: "varchar", length: 64, unique: true })
invoiceNumber!: string;
@Column({ name: "amount", type: "numeric", precision: 14, scale: 2 })
amount!: number;
@Column({ name: "currency", type: "varchar", length: 8, default: "ETB" })
currency!: string;
@Column({
name: "status",
type: "enum",
enum: Freight.PaymentStatus,
default: Freight.PaymentStatus.Pending,
})
status!: Freight.PaymentStatus;
@Column({ name: "issued_at", type: "timestamptz" })
issuedAt!: Date;
@Column({ name: "due_at", type: "timestamptz" })
dueAt!: Date;
}