From e1014355626c2d17aaa0c15244bba41235ddd2dd Mon Sep 17 00:00:00 2001 From: fro1991 Date: Sat, 14 Jun 2025 10:53:00 +0900 Subject: [PATCH] update --- src/entity/brilink_discounts.ts | 63 +++++++++++++++++++++++++++++++++ src/index.ts | 17 ++++++++- src/types/brilink.ts | 15 ++++++++ 3 files changed, 94 insertions(+), 1 deletion(-) create mode 100644 src/entity/brilink_discounts.ts diff --git a/src/entity/brilink_discounts.ts b/src/entity/brilink_discounts.ts new file mode 100644 index 0000000..c46f9a2 --- /dev/null +++ b/src/entity/brilink_discounts.ts @@ -0,0 +1,63 @@ +import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinTable, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from 'typeorm'; + +import { BrilinkDiscountModule, BrilinkDiscountStatus } from '../types/brilink'; +import { BrilinkMerchant } from './brilink_merchants'; + +@Entity('brilink_discounts', { schema: 'brilinks' }) +export class BrilinkDiscount { + @PrimaryGeneratedColumn('uuid') + id: string; + + @ManyToOne(() => BrilinkMerchant, { onDelete: 'RESTRICT' }) + @JoinTable() + merchant: BrilinkMerchant + + @Column({ type: "varchar", length: 255 }) + module: BrilinkDiscountModule; + + @Column({ type: "varchar", length: 255, unique: true }) + code: string; + + @Column({ type: "varchar", length: 255 }) + name: string; + + @Column({ type: "varchar", length: 255 }) + type: BrilinkDiscountStatus; + + @Column({ + type: 'float8', + nullable: false, + default: 0 + }) + amount: number; + + @Column({ nullable: false }) + start_date: Date; + + @Column({ nullable: false }) + end_date: Date; + + @Column({ type: "varchar", length: 10 }) + status: BrilinkDiscountStatus; + + @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; +} \ No newline at end of file diff --git a/src/index.ts b/src/index.ts index d6b8b41..75c9c7e 100644 --- a/src/index.ts +++ b/src/index.ts @@ -103,7 +103,17 @@ import { BrizziBatch } from "./entity/brizzi_batchs"; import { BrizziCard } from "./entity/brizzi_cards"; import { BrizziHistory } from "./entity/brizzi_history"; import { BrizziOldCard } from "./entity/brizzi_old_card"; -import { BrilinkMerchantStatus, BrilinkTerminalType, BrilinkTerminalCondition, BrilinkTerminalOnline, BrilinkBalanceType, BrilinkBalanceCode, BrilinkBalanceMutationType, BrilinkBalanceMutationActvity, BrilinkBalanceSourceType, BrilinkBalanceDestinationType, BrilinkBalanceMutationStatus, BrilinkTransactionType, BrilinkTransactionActivity, BrilinkTransactionStatus, BrilinkMerchantSettlementStatus, BrilinkTransactionCodePrefixType, BrilinkTransactionCodePrefixActivity, BrilinkBalanceMutationCodePrefixType, BrilinkBalanceMutationCodePrefixActvity, BrilinkBalanceTopupCodePrefix } from "./types/brilink"; +import { + BrilinkMerchantStatus, + BrilinkTerminalType, + BrilinkTerminalCondition, + BrilinkTerminalOnline, + BrilinkBalanceType, BrilinkBalanceCode, BrilinkBalanceMutationType, BrilinkBalanceMutationActvity, BrilinkBalanceSourceType, BrilinkBalanceDestinationType, BrilinkBalanceMutationStatus, BrilinkTransactionType, BrilinkTransactionActivity, BrilinkTransactionStatus, BrilinkMerchantSettlementStatus, BrilinkTransactionCodePrefixType, BrilinkTransactionCodePrefixActivity, BrilinkBalanceMutationCodePrefixType, BrilinkBalanceMutationCodePrefixActvity, + BrilinkBalanceTopupCodePrefix, + BrilinkDiscountModule, + BrilinkDiscountStatus, + BrilinkDiscountType +} from "./types/brilink"; import { BrilinkMerchant } from "./entity/brilink_merchants"; import { BrilinkMerchantUser } from "./entity/brilink_merchant_users"; @@ -124,6 +134,7 @@ import { BrilinkTransaction } from "./entity/brilink_transactions"; import { BrilinkMerchantSettlement } from "./entity/brilink_merchant_settlements"; import { BrilinkMembership } from "./entity/brilink_memberships"; import { BrilinkMembershipCard } from "./entity/brilink_membership_cards"; +import { BrilinkDiscount } from "./entity/brilink_discounts"; import { BriapiConfig } from "./entity/briapi_configs"; import { BriapiLog } from "./entity/briapi_logs"; @@ -281,6 +292,10 @@ export { BrilinkBalanceTopupCodePrefix, BrilinkMembership, BrilinkMembershipCard, + BrilinkDiscountModule, + BrilinkDiscountStatus, + BrilinkDiscountType, + BrilinkDiscount, RemitBank, RemitConfigTransaction, RemitConfigAllocation, diff --git a/src/types/brilink.ts b/src/types/brilink.ts index 7dd7d87..5346ed3 100644 --- a/src/types/brilink.ts +++ b/src/types/brilink.ts @@ -118,3 +118,18 @@ export enum BrilinkMerchantSettlementStatus { "success" = "success", "fail" = "fail", } + +export enum BrilinkDiscountType { + "fix" = "fix", + "percent" = "percent", +} + +export enum BrilinkDiscountStatus { + "active" = "active", + "inactive" = "inactive", + "expired" = "expired", +} + +export enum BrilinkDiscountModule { + "brizzi" = "brizzi" +}