brilink update

This commit is contained in:
fro1991
2025-05-14 22:36:43 +07:00
parent 70acb34866
commit 6d5de8e52a
5 changed files with 324 additions and 1 deletions

View File

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

View File

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

View File

@ -0,0 +1,105 @@
import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinTable, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from 'typeorm';
import { BrilinkMerchant } from './brilink_merchants';
import { BrilinkBalanceCode, BrilinkBalanceType, BrilinkTransactionActivity, BrilinkTransactionType } from '../types/brilink';
import { BrilinkMerchantTerminal } from './brilink_merchant_terminals';
import { BrilinkTerminal } from './brilink_terminals';
import { BrilinkBalance } from './brilink_balances.ts';
import { BrilinkBalanceMutation } from './brilink_balance_mutations';
import { BrilinkMerchantSettlement } from './brilink_merchant_settlements';
@Entity('brilink_transactions', { schema: 'brilinks' })
export class BrilinkTransaction {
@PrimaryGeneratedColumn('uuid')
id: string;
@ManyToOne(() => BrilinkMerchant, { onDelete: 'RESTRICT' })
@JoinTable()
merchant: BrilinkMerchant
@ManyToOne(() => BrilinkMerchantTerminal, { onDelete: 'RESTRICT' })
@JoinTable()
merchant_terminal: BrilinkMerchantTerminal
@ManyToOne(() => BrilinkBalanceMutation, { onDelete: 'RESTRICT', nullable: true })
@JoinTable()
balance_mutation: BrilinkBalanceMutation
@Column({
nullable: false,
length: 128
})
code: string;
@Column({
nullable: false,
length: 64
})
type: BrilinkTransactionType
@Column({
nullable: false,
length: 64
})
activity: BrilinkTransactionActivity;
@Column({ nullable: false })
activity_at: Date;
@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
})
total: number;
@Column({
nullable: false,
length: 64
})
status: BrilinkTransactionActivity;
@Column({
nullable: false,
default: false
})
is_merchant_settlement: boolean;
@ManyToOne(() => BrilinkMerchantSettlement, { onDelete: 'RESTRICT', nullable: true })
@JoinTable()
merchant_settlement: BrilinkMerchantSettlement
@Column()
@CreateDateColumn()
created_at: Date;
@Column({ type: "varchar", length: 255 })
created_by: string;
@Column({ nullable: true })
@UpdateDateColumn()
updated_at: Date;
@Column({ type: "varchar", length: 255, nullable: true })
updated_by: string;
@Column({ nullable: true })
@DeleteDateColumn()
deleted_at: Date;
@Column({ type: "varchar", length: 255, nullable: true })
deleted_by: string;
}

View File

@ -101,7 +101,23 @@ import { BrizziBatch } from "./entity/brizzi_batchs";
import { BrizziCard } from "./entity/brizzi_cards"; import { BrizziCard } from "./entity/brizzi_cards";
import { BrizziHistory } from "./entity/brizzi_history"; import { BrizziHistory } from "./entity/brizzi_history";
import { BrilinkMerchantStatus, BrilinkTerminalType, BrilinkTerminalCondition, BrilinkTerminalOnline, BrilinkBalanceType, BrilinkBalanceCode, BrilinkBalanceMutationType, BrilinkBalanceMutationActvity, BrilinkBalanceSourceType, BrilinkBalanceDestinationType, BrilinkBalanceMutationStatus } from "./types/brilink"; import {
BrilinkMerchantStatus,
BrilinkTerminalType,
BrilinkTerminalCondition,
BrilinkTerminalOnline,
BrilinkBalanceType,
BrilinkBalanceCode,
BrilinkBalanceMutationType,
BrilinkBalanceMutationActvity,
BrilinkBalanceSourceType,
BrilinkBalanceDestinationType,
BrilinkBalanceMutationStatus,
BrilinkTransactionType,
BrilinkTransactionActivity,
BrilinkTransactionStatus,
BrilinkMerchantSettlementStatus
} from "./types/brilink";
import { BrilinkMerchant } from "./entity/brilink_merchants"; import { BrilinkMerchant } from "./entity/brilink_merchants";
import { BrilinkMerchantUser } from "./entity/brilink_merchant_users"; import { BrilinkMerchantUser } from "./entity/brilink_merchant_users";
@ -118,6 +134,9 @@ import { BrilinkBalance } from "./entity/brilink_balances.ts";
import { BrilinkBalanceMutation } from "./entity/brilink_balance_mutations"; import { BrilinkBalanceMutation } from "./entity/brilink_balance_mutations";
import { BrilinkBalanceTopup } from "./entity/brilink_balance_topup"; import { BrilinkBalanceTopup } from "./entity/brilink_balance_topup";
import { BrilinkTerminalLanguage } from "./entity/brilink_terminal_languages"; import { BrilinkTerminalLanguage } from "./entity/brilink_terminal_languages";
import { BrilinkTransaction } from "./entity/brilink_transactions";
import { BrilinkMerchantSettlement } from "./entity/brilink_merchant_settlements";
import { BrilinkMerchantSettlementTransaction } from "./entity/brilink_merchant_settlement_transactions";
import { BriapiConfig } from "./entity/briapi_configs"; import { BriapiConfig } from "./entity/briapi_configs";
import { BriapiLog } from "./entity/briapi_logs"; import { BriapiLog } from "./entity/briapi_logs";
@ -244,6 +263,10 @@ export {
BrilinkBalanceSourceType, BrilinkBalanceSourceType,
BrilinkBalanceDestinationType, BrilinkBalanceDestinationType,
BrilinkBalanceMutationStatus, BrilinkBalanceMutationStatus,
BrilinkTransactionType,
BrilinkTransactionActivity,
BrilinkTransactionStatus,
BrilinkMerchantSettlementStatus,
BrilinkMerchant, BrilinkMerchant,
BrilinkMerchantUser, BrilinkMerchantUser,
BrilinkMerchantUserRefreshToken, BrilinkMerchantUserRefreshToken,
@ -259,6 +282,9 @@ export {
BrilinkBalanceMutation, BrilinkBalanceMutation,
BrilinkBalanceTopup, BrilinkBalanceTopup,
BrilinkTerminalLanguage, BrilinkTerminalLanguage,
BrilinkTransaction,
BrilinkMerchantSettlement,
BrilinkMerchantSettlementTransaction,
RemitBank, RemitBank,
RemitConfigTransaction, RemitConfigTransaction,
RemitConfigAllocation, RemitConfigAllocation,

View File

@ -65,3 +65,27 @@ export enum BrilinkBalanceMutationStatus {
"reject" = "reject" "reject" = "reject"
} }
export enum BrilinkTransactionType {
"brizzi" = "brizzi",
"remittance" = "remittance"
}
export enum BrilinkTransactionActivity {
"topup" = "topup",
"payment" = "payment",
"purchase" = "purchase"
}
export enum BrilinkTransactionStatus {
"pending" = "pending",
"process" = "process",
"success" = "success",
"fail" = "fail",
}
export enum BrilinkMerchantSettlementStatus {
"pending" = "pending",
"process" = "process",
"success" = "success",
"fail" = "fail",
}