This commit is contained in:
fro1991
2025-06-30 15:32:46 +07:00
parent c60debc2f9
commit 9b5b07f0a9

View File

@ -1,96 +1,102 @@
import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinTable, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from 'typeorm'; import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinTable, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm";
import { BrilinkMerchantSettlementStatus } from '../types/brilink'; import { BrilinkMerchantSettlementStatus, BrilinkTransactionType } from "../types/brilink";
import { BrilinkMerchant } from './brilink_merchants'; import { BrilinkMerchant } from "./brilink_merchants";
@Entity('brilink_merchant_settlements', { schema: 'brilinks' }) @Entity("brilink_merchant_settlements", { schema: "brilinks" })
export class BrilinkMerchantSettlement { export class BrilinkMerchantSettlement {
@PrimaryGeneratedColumn('uuid') @PrimaryGeneratedColumn("uuid")
id: string; id: string;
@ManyToOne(() => BrilinkMerchant, { onDelete: 'RESTRICT' }) @ManyToOne(() => BrilinkMerchant, { onDelete: "RESTRICT" })
@JoinTable() @JoinTable()
merchant: BrilinkMerchant merchant: BrilinkMerchant;
@Column({ @Column({
nullable: false, nullable: false,
length: 128 length: 128,
}) })
code: string; code: string;
@Column({ @Column({
type: 'float8', nullable: true,
nullable: false, length: 64,
default: 0 })
}) type: BrilinkTransactionType;
amount: number;
@Column({ @Column({
type: 'float8', type: "float8",
nullable: false, nullable: false,
default: 0 default: 0,
}) })
discount: number; amount: number;
@Column({ @Column({
type: 'float8', type: "float8",
nullable: false, nullable: false,
default: 0 default: 0,
}) })
fee: number; discount: number;
@Column({ @Column({
type: 'float8', type: "float8",
nullable: false, nullable: false,
default: 0 default: 0,
}) })
total: number; fee: number;
@Column({ @Column({
nullable: false, type: "float8",
length: 64 nullable: false,
}) default: 0,
status: BrilinkMerchantSettlementStatus; })
total: number;
@Column({ @Column({
length: 128, nullable: false,
nullable: true, length: 64,
}) })
reference: string; status: BrilinkMerchantSettlementStatus;
@Column({ @Column({
length: 1024, length: 128,
nullable: true, nullable: true,
}) })
remarks: string; reference: string;
@Column() @Column({
@CreateDateColumn() length: 1024,
settlement_at: Date; nullable: true,
})
remarks: string;
@Column({ type: "varchar", length: 255, nullable: true }) @Column()
approve_by: string; @CreateDateColumn()
settlement_at: Date;
@Column({ nullable: true }) @Column({ type: "varchar", length: 255, nullable: true })
approve_at: Date; approve_by: string;
@Column() @Column({ nullable: true })
@CreateDateColumn() approve_at: Date;
created_at: Date;
@Column({ type: "varchar", length: 255 }) @Column()
created_by: string; @CreateDateColumn()
created_at: Date;
@Column({ nullable: true }) @Column({ type: "varchar", length: 255 })
@UpdateDateColumn() created_by: string;
updated_at: Date;
@Column({ type: "varchar", length: 255, nullable: true }) @Column({ nullable: true })
updated_by: string; @UpdateDateColumn()
updated_at: Date;
@Column({ nullable: true }) @Column({ type: "varchar", length: 255, nullable: true })
@DeleteDateColumn() updated_by: string;
deleted_at: Date;
@Column({ type: "varchar", length: 255, nullable: true }) @Column({ nullable: true })
deleted_by: string; @DeleteDateColumn()
deleted_at: Date;
@Column({ type: "varchar", length: 255, nullable: true })
deleted_by: string;
} }