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