From e1014355626c2d17aaa0c15244bba41235ddd2dd Mon Sep 17 00:00:00 2001 From: fro1991 Date: Sat, 14 Jun 2025 10:53:00 +0900 Subject: [PATCH 01/30] 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" +} From adca2eb164b1d5899465eaf3d2c1346a2c9cef67 Mon Sep 17 00:00:00 2001 From: fro1991 Date: Sat, 14 Jun 2025 12:17:25 +0900 Subject: [PATCH 02/30] updaet --- src/types/brilink.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/types/brilink.ts b/src/types/brilink.ts index 5346ed3..652a32b 100644 --- a/src/types/brilink.ts +++ b/src/types/brilink.ts @@ -121,7 +121,7 @@ export enum BrilinkMerchantSettlementStatus { export enum BrilinkDiscountType { "fix" = "fix", - "percent" = "percent", + "percentage" = "percentage", } export enum BrilinkDiscountStatus { From bb9d6e935f9f979e797604e2e8435a822d592f4d Mon Sep 17 00:00:00 2001 From: fro1991 Date: Sun, 15 Jun 2025 01:22:45 +0900 Subject: [PATCH 03/30] updaet --- src/entity/asset_good.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/entity/asset_good.ts b/src/entity/asset_good.ts index db84178..cdd5ded 100644 --- a/src/entity/asset_good.ts +++ b/src/entity/asset_good.ts @@ -24,7 +24,7 @@ export class AssetGood { @Column({ type: "text", nullable: true }) description: string - @Column({ type: "smallint" }) + @Column({ type: "float8" }) price: number @Column({ type: "varchar", length: 50 }) From 9e8c9d252fb704a8a463f5f25299dc188a6c2e26 Mon Sep 17 00:00:00 2001 From: fro1991 Date: Sun, 15 Jun 2025 01:24:45 +0900 Subject: [PATCH 04/30] pudate --- src/entity/asset_good.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/entity/asset_good.ts b/src/entity/asset_good.ts index cdd5ded..c44ca81 100644 --- a/src/entity/asset_good.ts +++ b/src/entity/asset_good.ts @@ -24,7 +24,7 @@ export class AssetGood { @Column({ type: "text", nullable: true }) description: string - @Column({ type: "float8" }) + @Column({ type: "float8", nullable: false, default: 0 }) price: number @Column({ type: "varchar", length: 50 }) From bcbe76afcd1cfa61e6ece91aace142f058048888 Mon Sep 17 00:00:00 2001 From: fro1991 Date: Sun, 15 Jun 2025 02:19:43 +0900 Subject: [PATCH 05/30] update --- src/types/brilink.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/types/brilink.ts b/src/types/brilink.ts index 652a32b..03d0130 100644 --- a/src/types/brilink.ts +++ b/src/types/brilink.ts @@ -125,6 +125,7 @@ export enum BrilinkDiscountType { } export enum BrilinkDiscountStatus { + "scheduled" = "scheduled", "active" = "active", "inactive" = "inactive", "expired" = "expired", From 346dad18c22b4f6f3b098d87c816359e59b1d340 Mon Sep 17 00:00:00 2001 From: fro1991 Date: Sun, 15 Jun 2025 02:54:35 +0900 Subject: [PATCH 06/30] update --- src/entity/brilink_transactions.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/entity/brilink_transactions.ts b/src/entity/brilink_transactions.ts index a6a82c9..296796d 100644 --- a/src/entity/brilink_transactions.ts +++ b/src/entity/brilink_transactions.ts @@ -6,6 +6,7 @@ import { BrilinkTerminal } from './brilink_terminals'; import { BrilinkBalance } from './brilink_balances.ts'; import { BrilinkBalanceMutation } from './brilink_balance_mutations'; import { BrilinkMerchantSettlement } from './brilink_merchant_settlements'; +import { BrilinkDiscount } from './brilink_discounts'; @Entity('brilink_transactions', { schema: 'brilinks' }) export class BrilinkTransaction { @@ -64,6 +65,18 @@ export class BrilinkTransaction { }) amount: number; + @ManyToOne(() => BrilinkDiscount, { onDelete: 'RESTRICT' }) + @JoinTable() + discount: BrilinkDiscount + + @Column({ + type: 'float8', + nullable: false, + default: 0 + }) + discount_amount: number; + + @Column({ type: 'float8', nullable: false, From 30bb30ac92ae3c5bc3375d739651d8d89c05017f Mon Sep 17 00:00:00 2001 From: fro1991 Date: Sun, 15 Jun 2025 03:26:31 +0900 Subject: [PATCH 07/30] update --- src/entity/brilink_discounts.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/entity/brilink_discounts.ts b/src/entity/brilink_discounts.ts index c46f9a2..d6032e1 100644 --- a/src/entity/brilink_discounts.ts +++ b/src/entity/brilink_discounts.ts @@ -1,6 +1,6 @@ import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinTable, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from 'typeorm'; -import { BrilinkDiscountModule, BrilinkDiscountStatus } from '../types/brilink'; +import { BrilinkDiscountModule, BrilinkDiscountStatus, BrilinkDiscountType } from '../types/brilink'; import { BrilinkMerchant } from './brilink_merchants'; @Entity('brilink_discounts', { schema: 'brilinks' }) @@ -22,7 +22,7 @@ export class BrilinkDiscount { name: string; @Column({ type: "varchar", length: 255 }) - type: BrilinkDiscountStatus; + type: BrilinkDiscountType; @Column({ type: 'float8', From 04349b453e365bfe3753b491084fc53fe29302a4 Mon Sep 17 00:00:00 2001 From: fro1991 Date: Sun, 15 Jun 2025 03:31:55 +0900 Subject: [PATCH 08/30] update --- src/entity/brilink_transactions.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/entity/brilink_transactions.ts b/src/entity/brilink_transactions.ts index 296796d..893ec11 100644 --- a/src/entity/brilink_transactions.ts +++ b/src/entity/brilink_transactions.ts @@ -65,7 +65,7 @@ export class BrilinkTransaction { }) amount: number; - @ManyToOne(() => BrilinkDiscount, { onDelete: 'RESTRICT' }) + @ManyToOne(() => BrilinkDiscount, { onDelete: 'NO ACTION', nullable: true }) @JoinTable() discount: BrilinkDiscount From 3ba3c8a19d99a6107d72c5290533a1a518bb2bbd Mon Sep 17 00:00:00 2001 From: fro1991 Date: Sun, 15 Jun 2025 03:33:03 +0900 Subject: [PATCH 09/30] update --- src/entity/brilink_merchant_settlements.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/entity/brilink_merchant_settlements.ts b/src/entity/brilink_merchant_settlements.ts index cfde6f3..4033d17 100644 --- a/src/entity/brilink_merchant_settlements.ts +++ b/src/entity/brilink_merchant_settlements.ts @@ -24,6 +24,13 @@ export class BrilinkMerchantSettlement { }) amount: number; + @Column({ + type: 'float8', + nullable: false, + default: 0 + }) + discount: number; + @Column({ type: 'float8', nullable: false, From eee2be1aa8779ef9d8afe65d1633c1d98f0e7da6 Mon Sep 17 00:00:00 2001 From: fro1991 Date: Wed, 18 Jun 2025 01:45:26 +0900 Subject: [PATCH 10/30] update --- package.json | 2 +- src/entity/branchs.ts | 2 +- src/entity/remit_administrativus.ts | 40 ++++ src/entity/remit_aldeias.ts | 42 ++++ src/entity/remit_bank.ts | 53 ----- src/entity/remit_beneficials.ts | 133 ++++++++++++ src/entity/remit_beneficiaries.ts | 85 ++++++++ ..._transactions.ts => remit_config_banks.ts} | 31 ++- ...ions.ts => remit_config_business_types.ts} | 36 ++-- src/entity/remit_config_kurs.ts | 13 +- src/entity/remit_config_nationalities.ts | 49 +++++ src/entity/remit_config_occupations.ts | 49 +++++ ...llocations.ts => remit_config_purposes.ts} | 26 ++- ..._otp.ts => remit_config_source_incomes.ts} | 29 ++- src/entity/remit_munisipos.ts | 35 ++++ src/entity/remit_mutation.ts | 48 ----- src/entity/remit_partner_accounts.ts | 45 +++++ src/entity/remit_partner_apis.ts | 45 +++++ src/entity/remit_partner_documents.ts | 46 +++++ ..._transactions.ts => remit_partner_fees.ts} | 31 ++- src/entity/remit_partner_owners.ts | 112 +++++++++++ src/entity/remit_partner_users.ts | 9 + src/entity/remit_partners.ts | 189 +++++------------- src/entity/remit_region.ts | 69 ------- src/entity/remit_senders.ts | 152 ++++++++++++++ src/entity/remit_sucos.ts | 41 ++++ src/entity/remit_tansfer.ts | 141 ------------- src/entity/remit_topup.ts | 54 ----- src/entity/remit_transactions.ts | 100 +++++++++ src/index.ts | 94 ++++++--- src/types/remit.ts | 61 ++++++ 31 files changed, 1247 insertions(+), 615 deletions(-) create mode 100644 src/entity/remit_administrativus.ts create mode 100644 src/entity/remit_aldeias.ts delete mode 100644 src/entity/remit_bank.ts create mode 100644 src/entity/remit_beneficials.ts create mode 100644 src/entity/remit_beneficiaries.ts rename src/entity/{remit_config_transactions.ts => remit_config_banks.ts} (63%) rename src/entity/{remit_partner_allocations.ts => remit_config_business_types.ts} (56%) create mode 100644 src/entity/remit_config_nationalities.ts create mode 100644 src/entity/remit_config_occupations.ts rename src/entity/{remit_config_allocations.ts => remit_config_purposes.ts} (62%) rename src/entity/{remit_otp.ts => remit_config_source_incomes.ts} (53%) create mode 100644 src/entity/remit_munisipos.ts delete mode 100644 src/entity/remit_mutation.ts create mode 100644 src/entity/remit_partner_accounts.ts create mode 100644 src/entity/remit_partner_apis.ts create mode 100644 src/entity/remit_partner_documents.ts rename src/entity/{remit_partner_transactions.ts => remit_partner_fees.ts} (70%) create mode 100644 src/entity/remit_partner_owners.ts delete mode 100644 src/entity/remit_region.ts create mode 100644 src/entity/remit_senders.ts create mode 100644 src/entity/remit_sucos.ts delete mode 100644 src/entity/remit_tansfer.ts delete mode 100644 src/entity/remit_topup.ts create mode 100644 src/entity/remit_transactions.ts create mode 100644 src/types/remit.ts diff --git a/package.json b/package.json index fc4b034..6f661a6 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "license": "ISC", "dependencies": { "bcryptjs": "^2.4.3", - "typeorm": "^0.3.20" + "typeorm": "^0.3.24" }, "devDependencies": { "@types/bcryptjs": "^2.4.6", diff --git a/src/entity/branchs.ts b/src/entity/branchs.ts index 24dd321..b64bc1d 100644 --- a/src/entity/branchs.ts +++ b/src/entity/branchs.ts @@ -3,7 +3,7 @@ import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateCol import { Status } from "../types/status"; import { BankGaransi } from "./bank_garansi"; -@Entity("branchs") +@Entity("branchs", { schema: 'public' }) export class Branch { @PrimaryGeneratedColumn("uuid") id: string; diff --git a/src/entity/remit_administrativus.ts b/src/entity/remit_administrativus.ts new file mode 100644 index 0000000..fdf180b --- /dev/null +++ b/src/entity/remit_administrativus.ts @@ -0,0 +1,40 @@ +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinColumn } from "typeorm"; +import { Status } from "../types/status"; +import { RemitMunisipo } from "./remit_munisipos"; + +@Entity("remit_administrativus", { schema: "remits" }) +export class RemitAdministrativu { + @PrimaryGeneratedColumn("uuid") + id: string; + + @ManyToOne(() => RemitMunisipo, { onDelete: "NO ACTION" }) + @JoinColumn() + munisipo: RemitMunisipo + + @Column({ + nullable: true, + length: 256, + }) + name: string; + + @Column() + @CreateDateColumn() + created_at: Date; + + @Column({ nullable: true, length: 256, }) + created_by: string; + + @Column({ nullable: true }) + @UpdateDateColumn() + updated_at: Date; + + @Column({ nullable: true, length: 256 }) + updated_by: string; + + @Column({ nullable: true }) + @DeleteDateColumn() + deleted_at: Date; + + @Column({ nullable: true, length: 256 }) + deleted_by: string; +} diff --git a/src/entity/remit_aldeias.ts b/src/entity/remit_aldeias.ts new file mode 100644 index 0000000..1a29211 --- /dev/null +++ b/src/entity/remit_aldeias.ts @@ -0,0 +1,42 @@ +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinColumn } from "typeorm"; +import { Status } from "../types/status"; +import { RemitMunisipo } from "./remit_munisipos"; +import { RemitAdministrativu } from "./remit_administrativus"; +import { RemitSuco } from "./remit_sucos"; + +@Entity("remit_aldeias", { schema: "remits" }) +export class RemitAldeia { + @PrimaryGeneratedColumn("uuid") + id: string; + + @ManyToOne(() => RemitSuco, { onDelete: "NO ACTION" }) + @JoinColumn() + suco: RemitSuco + + @Column({ + nullable: true, + length: 256, + }) + name: string; + + @Column() + @CreateDateColumn() + created_at: Date; + + @Column({ nullable: true, length: 256, }) + created_by: string; + + @Column({ nullable: true }) + @UpdateDateColumn() + updated_at: Date; + + @Column({ nullable: true, length: 256 }) + updated_by: string; + + @Column({ nullable: true }) + @DeleteDateColumn() + deleted_at: Date; + + @Column({ nullable: true, length: 256 }) + deleted_by: string; +} diff --git a/src/entity/remit_bank.ts b/src/entity/remit_bank.ts deleted file mode 100644 index f2f959d..0000000 --- a/src/entity/remit_bank.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn } from "typeorm"; - -@Entity("remit_banks", { schema: "remits" }) -export class RemitBank { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ - nullable: false, - unique: false, - length: 256, - }) - name: string; - - @Column({ - nullable: false, - unique: false, - length: 256, - }) - fullname: string; - - @Column({ - nullable: false, - unique: false, - length: 256, - }) - formerly: string; - - @Column({ - nullable: false, - unique: false, - length: 256, - }) - bank_code: string; - - @Column({ - nullable: false, - length: 64, - }) - status: String; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; -} diff --git a/src/entity/remit_beneficials.ts b/src/entity/remit_beneficials.ts new file mode 100644 index 0000000..de99ede --- /dev/null +++ b/src/entity/remit_beneficials.ts @@ -0,0 +1,133 @@ +import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm"; +import { RemitPartner } from "./remit_partners"; +import { District } from "./district"; +import { Munisipo } from "./munisipo"; +import { Administrativu } from "./administrativu"; +import { Suco } from "./suco"; +import { Aldeia } from "./aldeia"; +import { RemitConfigNationalities } from "./remit_config_nationalities"; +import { RemitConfigOccupation } from "./remit_config_occupations"; +import { RemitGender, RemitIdentityType } from "../types/remit"; +import { RemitConfigSourceIncome } from "./remit_config_source_incomes"; +import { RemitMunisipo } from "./remit_munisipos"; +import { RemitAdministrativu } from "./remit_administrativus"; +import { RemitSuco } from "./remit_sucos"; +import { RemitAldeia } from "./remit_aldeias"; + +@Entity("remit_beneficials", { schema: "remits" }) +export class RemitBeneficial { + @PrimaryGeneratedColumn("uuid") + id: string; + + @Column({ + nullable: true, + length: 256, + }) + name: string; + + @Column({ + nullable: true, + length: 256, + }) + gender: RemitGender; + + @Column({ + nullable: true, + length: 256, + }) + birth_place: string; + + @Column({ + nullable: true, + }) + birth_date: Date; + + @Column({ + nullable: true, + length: 256, + }) + phone: string; + + @Column({ + nullable: true, + length: 256, + }) + email: string; + + @ManyToOne(() => RemitConfigNationalities, { onDelete: "NO ACTION", nullable: true }) + @JoinColumn() + nationality: RemitConfigNationalities; + + @Column({ + nullable: true, + length: 4096, + }) + address: string; + + @ManyToOne(() => RemitMunisipo, { onDelete: "NO ACTION" }) + @JoinColumn() + munisipo: RemitMunisipo + + @ManyToOne(() => RemitAdministrativu, { onDelete: "NO ACTION" }) + @JoinColumn() + administrativu: RemitAdministrativu + + @ManyToOne(() => RemitSuco, { onDelete: "NO ACTION" }) + @JoinColumn() + suco: RemitSuco + + @ManyToOne(() => RemitAldeia, { onDelete: "NO ACTION" }) + @JoinColumn() + aldeia: RemitAldeia + + @ManyToOne(() => RemitConfigNationalities, { onDelete: "NO ACTION", nullable: true }) + @JoinColumn() + country: RemitConfigNationalities; + + @ManyToOne(() => RemitConfigOccupation, { onDelete: "NO ACTION", nullable: true }) + @JoinColumn() + occupation: RemitConfigOccupation; + + @ManyToOne(() => RemitConfigSourceIncome, { onDelete: "NO ACTION", nullable: true }) + @JoinColumn() + source_income: RemitConfigSourceIncome; + + @Column({ + nullable: true, + length: 4096, + }) + identity_type: RemitIdentityType; + + @Column({ + nullable: true, + length: 4096, + }) + identity_number: String; + + @Column({ + nullable: true, + length: 4096, + }) + identity_file: String; + + @Column() + @CreateDateColumn() + created_at: Date; + + @Column({ nullable: true, length: 256, }) + created_by: string; + + @Column({ nullable: true }) + @UpdateDateColumn() + updated_at: Date; + + @Column({ nullable: true, length: 256 }) + updated_by: string; + + @Column({ nullable: true }) + @DeleteDateColumn() + deleted_at: Date; + + @Column({ nullable: true, length: 256 }) + deleted_by: string; +} diff --git a/src/entity/remit_beneficiaries.ts b/src/entity/remit_beneficiaries.ts new file mode 100644 index 0000000..f75e229 --- /dev/null +++ b/src/entity/remit_beneficiaries.ts @@ -0,0 +1,85 @@ +import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm"; +import { RemitPartner } from "./remit_partners"; +import { District } from "./district"; +import { Munisipo } from "./munisipo"; +import { Administrativu } from "./administrativu"; +import { Suco } from "./suco"; +import { Aldeia } from "./aldeia"; +import { RemitConfigNationalities } from "./remit_config_nationalities"; +import { RemitConfigOccupation } from "./remit_config_occupations"; +import { RemitGender, RemitIdentityType, RemitSenderType } from "../types/remit"; +import { RemitConfigSourceIncome } from "./remit_config_source_incomes"; +import { RemitConfigBank } from "./remit_config_banks"; + +@Entity("remit_beneficiaries", { schema: "remits" }) +export class RemitBeneficiary { + @PrimaryGeneratedColumn("uuid") + id: string; + + @Column({ + nullable: true, + length: 256, + }) + name: string; + + @ManyToOne(() => RemitConfigBank, { onDelete: "NO ACTION", nullable: true }) + @JoinColumn() + bank: RemitConfigBank; + + @Column({ + nullable: true, + length: 256, + }) + account: string; + + @Column({ + nullable: true, + length: 256, + }) + phone: string; + + @Column({ + nullable: true, + length: 4096, + }) + address: string; + + @Column({ + nullable: true, + length: 256, + }) + identity_type: RemitIdentityType; + + @Column({ + nullable: true, + length: 4096, + }) + identity_number: String; + + @Column({ + nullable: true, + length: 4096, + }) + identity_file: String; + + @Column() + @CreateDateColumn() + created_at: Date; + + @Column({ nullable: true, length: 256, }) + created_by: string; + + @Column({ nullable: true }) + @UpdateDateColumn() + updated_at: Date; + + @Column({ nullable: true, length: 256 }) + updated_by: string; + + @Column({ nullable: true }) + @DeleteDateColumn() + deleted_at: Date; + + @Column({ nullable: true, length: 256 }) + deleted_by: string; +} diff --git a/src/entity/remit_config_transactions.ts b/src/entity/remit_config_banks.ts similarity index 63% rename from src/entity/remit_config_transactions.ts rename to src/entity/remit_config_banks.ts index bc2842c..9bf0822 100644 --- a/src/entity/remit_config_transactions.ts +++ b/src/entity/remit_config_banks.ts @@ -1,38 +1,38 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, JoinColumn, ManyToOne } from "typeorm"; - +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn } from "typeorm"; import { Status } from "../types/status"; -@Entity("remit_config_transactions", { schema: "remits" }) -export class RemitConfigTransaction { +@Entity("remit_config_banks", { schema: "remits" }) +export class RemitConfigBank { @PrimaryGeneratedColumn("uuid") id: string; @Column({ nullable: true, + unique: true, length: 256, }) - min: string; + code: string; @Column({ nullable: true, length: 256, }) - max: string; + name: string; @Column({ nullable: true, length: 256, }) - type: string; + fullname: string; @Column({ nullable: true, length: 256, }) - value: string; + formerly: string; @Column({ - nullable: false, + nullable: true, length: 64, }) status: Status; @@ -41,23 +41,20 @@ export class RemitConfigTransaction { @CreateDateColumn() created_at: Date; - @Column({ - nullable: true, - length: 256, - }) + @Column({ nullable: true, length: 256, }) created_by: string; @Column({ nullable: true }) @UpdateDateColumn() updated_at: Date; - @Column({ - nullable: true, - length: 256, - }) + @Column({ nullable: true, length: 256 }) updated_by: string; @Column({ nullable: true }) @DeleteDateColumn() deleted_at: Date; + + @Column({ nullable: true, length: 256 }) + deleted_by: string; } diff --git a/src/entity/remit_partner_allocations.ts b/src/entity/remit_config_business_types.ts similarity index 56% rename from src/entity/remit_partner_allocations.ts rename to src/entity/remit_config_business_types.ts index aec974d..9df5bfc 100644 --- a/src/entity/remit_partner_allocations.ts +++ b/src/entity/remit_config_business_types.ts @@ -1,27 +1,24 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, JoinColumn, ManyToOne, JoinTable } from "typeorm"; -import { Status } from "../types/status"; -import { RemitPartner } from "./remit_partners"; +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, JoinColumn, ManyToOne } from "typeorm"; -@Entity("remit_partner_allocations", { schema: "remits" }) -export class RemitPartnerAllocation { +import { Status } from "../types/status"; +import { RemitRiskLevel } from "../types/remit"; + +@Entity("remit_config_business_types", { schema: "remits" }) +export class RemitConfigBusinessType { @PrimaryGeneratedColumn("uuid") id: string; - @ManyToOne(() => RemitPartner, { onDelete: "CASCADE" }) - @JoinTable() - partner: RemitPartner; - @Column({ nullable: true, length: 256, }) - bri_value: string; + name: string; @Column({ - nullable: true, - length: 256, + nullable: false, + length: 64, }) - partner_value: string; + level: RemitRiskLevel; @Column({ nullable: false, @@ -33,23 +30,20 @@ export class RemitPartnerAllocation { @CreateDateColumn() created_at: Date; - @Column({ - nullable: true, - length: 256, - }) + @Column({ nullable: true, length: 256, }) created_by: string; @Column({ nullable: true }) @UpdateDateColumn() updated_at: Date; - @Column({ - nullable: true, - length: 256, - }) + @Column({ nullable: true, length: 256 }) updated_by: string; @Column({ nullable: true }) @DeleteDateColumn() deleted_at: Date; + + @Column({ nullable: true, length: 256 }) + deleted_by: string; } diff --git a/src/entity/remit_config_kurs.ts b/src/entity/remit_config_kurs.ts index b723941..72ea709 100644 --- a/src/entity/remit_config_kurs.ts +++ b/src/entity/remit_config_kurs.ts @@ -23,23 +23,20 @@ export class RemitConfigKurs { @CreateDateColumn() created_at: Date; - @Column({ - nullable: true, - length: 256, - }) + @Column({ nullable: true, length: 256, }) created_by: string; @Column({ nullable: true }) @UpdateDateColumn() updated_at: Date; - @Column({ - nullable: true, - length: 256, - }) + @Column({ nullable: true, length: 256 }) updated_by: string; @Column({ nullable: true }) @DeleteDateColumn() deleted_at: Date; + + @Column({ nullable: true, length: 256 }) + deleted_by: string; } diff --git a/src/entity/remit_config_nationalities.ts b/src/entity/remit_config_nationalities.ts new file mode 100644 index 0000000..68637be --- /dev/null +++ b/src/entity/remit_config_nationalities.ts @@ -0,0 +1,49 @@ +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, JoinColumn, ManyToOne } from "typeorm"; + +import { Status } from "../types/status"; +import { RemitRiskLevel } from "../types/remit"; + +@Entity("remit_config_nationalities", { schema: "remits" }) +export class RemitConfigNationalities { + @PrimaryGeneratedColumn("uuid") + id: string; + + @Column({ + nullable: true, + length: 256, + }) + name: string; + + @Column({ + nullable: false, + length: 64, + }) + level: RemitRiskLevel; + + @Column({ + nullable: false, + length: 64, + }) + status: Status; + + @Column() + @CreateDateColumn() + created_at: Date; + + @Column({ nullable: true, length: 256, }) + created_by: string; + + @Column({ nullable: true }) + @UpdateDateColumn() + updated_at: Date; + + @Column({ nullable: true, length: 256 }) + updated_by: string; + + @Column({ nullable: true }) + @DeleteDateColumn() + deleted_at: Date; + + @Column({ nullable: true, length: 256 }) + deleted_by: string; +} diff --git a/src/entity/remit_config_occupations.ts b/src/entity/remit_config_occupations.ts new file mode 100644 index 0000000..1f3701f --- /dev/null +++ b/src/entity/remit_config_occupations.ts @@ -0,0 +1,49 @@ +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, JoinColumn, ManyToOne } from "typeorm"; + +import { Status } from "../types/status"; +import { RemitRiskLevel } from "../types/remit"; + +@Entity("remit_config_occupations", { schema: "remits" }) +export class RemitConfigOccupation { + @PrimaryGeneratedColumn("uuid") + id: string; + + @Column({ + nullable: true, + length: 256, + }) + name: string; + + @Column({ + nullable: false, + length: 64, + }) + level: RemitRiskLevel; + + @Column({ + nullable: false, + length: 64, + }) + status: Status; + + @Column() + @CreateDateColumn() + created_at: Date; + + @Column({ nullable: true, length: 256, }) + created_by: string; + + @Column({ nullable: true }) + @UpdateDateColumn() + updated_at: Date; + + @Column({ nullable: true, length: 256 }) + updated_by: string; + + @Column({ nullable: true }) + @DeleteDateColumn() + deleted_at: Date; + + @Column({ nullable: true, length: 256 }) + deleted_by: string; +} diff --git a/src/entity/remit_config_allocations.ts b/src/entity/remit_config_purposes.ts similarity index 62% rename from src/entity/remit_config_allocations.ts rename to src/entity/remit_config_purposes.ts index f6edc2f..21a4c4d 100644 --- a/src/entity/remit_config_allocations.ts +++ b/src/entity/remit_config_purposes.ts @@ -1,9 +1,10 @@ import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, JoinColumn, ManyToOne } from "typeorm"; import { Status } from "../types/status"; +import { RemitRiskLevel } from "../types/remit"; -@Entity("remit_config_allocations", { schema: "remits" }) -export class RemitConfigAllocation { +@Entity("remit_config_purposes", { schema: "remits" }) +export class RemitConfigPurpose { @PrimaryGeneratedColumn("uuid") id: string; @@ -11,13 +12,13 @@ export class RemitConfigAllocation { nullable: true, length: 256, }) - bri_value: string; + name: string; @Column({ - nullable: true, - length: 256, + nullable: false, + length: 64, }) - partner_value: string; + level: RemitRiskLevel; @Column({ nullable: false, @@ -29,23 +30,20 @@ export class RemitConfigAllocation { @CreateDateColumn() created_at: Date; - @Column({ - nullable: true, - length: 256, - }) + @Column({ nullable: true, length: 256, }) created_by: string; @Column({ nullable: true }) @UpdateDateColumn() updated_at: Date; - @Column({ - nullable: true, - length: 256, - }) + @Column({ nullable: true, length: 256 }) updated_by: string; @Column({ nullable: true }) @DeleteDateColumn() deleted_at: Date; + + @Column({ nullable: true, length: 256 }) + deleted_by: string; } diff --git a/src/entity/remit_otp.ts b/src/entity/remit_config_source_incomes.ts similarity index 53% rename from src/entity/remit_otp.ts rename to src/entity/remit_config_source_incomes.ts index 213e6bb..046b8f4 100644 --- a/src/entity/remit_otp.ts +++ b/src/entity/remit_config_source_incomes.ts @@ -1,36 +1,49 @@ import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, JoinColumn, ManyToOne } from "typeorm"; import { Status } from "../types/status"; +import { RemitRiskLevel } from "../types/remit"; -@Entity("remit_otp", { schema: "remits" }) -export class RemitOtp { +@Entity("remit_config_source_incomes", { schema: "remits" }) +export class RemitConfigSourceIncome { @PrimaryGeneratedColumn("uuid") id: string; @Column({ - nullable: false, + nullable: true, length: 256, }) - username: string; + name: string; @Column({ nullable: false, - length: 256, + length: 64, }) - otp: string; + level: RemitRiskLevel; - @Column("timestamp") - expired_at: Date; + @Column({ + nullable: false, + length: 64, + }) + status: Status; @Column() @CreateDateColumn() created_at: Date; + @Column({ nullable: true, length: 256, }) + created_by: string; + @Column({ nullable: true }) @UpdateDateColumn() updated_at: Date; + @Column({ nullable: true, length: 256 }) + updated_by: string; + @Column({ nullable: true }) @DeleteDateColumn() deleted_at: Date; + + @Column({ nullable: true, length: 256 }) + deleted_by: string; } diff --git a/src/entity/remit_munisipos.ts b/src/entity/remit_munisipos.ts new file mode 100644 index 0000000..37cc7ac --- /dev/null +++ b/src/entity/remit_munisipos.ts @@ -0,0 +1,35 @@ +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn } from "typeorm"; +import { Status } from "../types/status"; + +@Entity("remit_munisipos", { schema: "remits" }) +export class RemitMunisipo { + @PrimaryGeneratedColumn("uuid") + id: string; + + @Column({ + nullable: true, + length: 256, + }) + name: string; + + @Column() + @CreateDateColumn() + created_at: Date; + + @Column({ nullable: true, length: 256, }) + created_by: string; + + @Column({ nullable: true }) + @UpdateDateColumn() + updated_at: Date; + + @Column({ nullable: true, length: 256 }) + updated_by: string; + + @Column({ nullable: true }) + @DeleteDateColumn() + deleted_at: Date; + + @Column({ nullable: true, length: 256 }) + deleted_by: string; +} diff --git a/src/entity/remit_mutation.ts b/src/entity/remit_mutation.ts deleted file mode 100644 index 4c04c38..0000000 --- a/src/entity/remit_mutation.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinTable } from "typeorm"; -import { RemitPartner } from "./remit_partners"; - -@Entity("remit_mutation", { schema: "remits" }) -export class RemitMutation { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ - type: "uuid", - default: () => "uuid_generate_v4()", - }) - refId: string; - - @ManyToOne(() => RemitPartner, { onDelete: "CASCADE" }) - @JoinTable() - partner: RemitPartner; - - @Column({ - nullable: false, - length: 256, - }) - type: string; - - @Column({ - nullable: false, - length: 256, - }) - amount: string; - - @Column({ - nullable: false, - length: 256, - }) - status: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; -} diff --git a/src/entity/remit_partner_accounts.ts b/src/entity/remit_partner_accounts.ts new file mode 100644 index 0000000..6f275e3 --- /dev/null +++ b/src/entity/remit_partner_accounts.ts @@ -0,0 +1,45 @@ +import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm"; +import { RemitPartner } from "./remit_partners"; + +@Entity("remit_partner_accounts", { schema: "remits" }) +export class RemitPartnerAccounts { + @PrimaryGeneratedColumn("uuid") + id: string; + + @ManyToOne(() => RemitPartner, { onDelete: "RESTRICT" }) + @JoinColumn() + partner: RemitPartner; + + @Column({ + nullable: true, + length: 256, + }) + number: string; + + @Column({ + nullable: true, + length: 256, + }) + holder: string; + + @Column() + @CreateDateColumn() + created_at: Date; + + @Column({ nullable: true, length: 256, }) + created_by: string; + + @Column({ nullable: true }) + @UpdateDateColumn() + updated_at: Date; + + @Column({ nullable: true, length: 256 }) + updated_by: string; + + @Column({ nullable: true }) + @DeleteDateColumn() + deleted_at: Date; + + @Column({ nullable: true, length: 256 }) + deleted_by: string; +} diff --git a/src/entity/remit_partner_apis.ts b/src/entity/remit_partner_apis.ts new file mode 100644 index 0000000..3ed888b --- /dev/null +++ b/src/entity/remit_partner_apis.ts @@ -0,0 +1,45 @@ +import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm"; +import { RemitPartner } from "./remit_partners"; + +@Entity("remit_partner_apis", { schema: "remits" }) +export class RemitPartnerApis { + @PrimaryGeneratedColumn("uuid") + id: string; + + @ManyToOne(() => RemitPartner, { onDelete: "RESTRICT" }) + @JoinColumn() + partner: RemitPartner; + + @Column({ + nullable: true, + length: 256, + }) + consumer_key: string; + + @Column({ + nullable: true, + length: 256, + }) + consumer_secret: string; + + @Column() + @CreateDateColumn() + created_at: Date; + + @Column({ nullable: true, length: 256, }) + created_by: string; + + @Column({ nullable: true }) + @UpdateDateColumn() + updated_at: Date; + + @Column({ nullable: true, length: 256 }) + updated_by: string; + + @Column({ nullable: true }) + @DeleteDateColumn() + deleted_at: Date; + + @Column({ nullable: true, length: 256 }) + deleted_by: string; +} diff --git a/src/entity/remit_partner_documents.ts b/src/entity/remit_partner_documents.ts new file mode 100644 index 0000000..834da21 --- /dev/null +++ b/src/entity/remit_partner_documents.ts @@ -0,0 +1,46 @@ +import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm"; +import { RemitPartner } from "./remit_partners"; +import { RemitDocumentType } from "../types/remit"; + +@Entity("remit_partner_documents", { schema: "remits" }) +export class RemitPartnerDocument { + @PrimaryGeneratedColumn("uuid") + id: string; + + @ManyToOne(() => RemitPartner, { onDelete: "RESTRICT" }) + @JoinColumn() + partner: RemitPartner; + + @Column({ + nullable: true, + length: 256, + }) + type: RemitDocumentType; + + @Column({ + nullable: true, + length: 4096, + }) + file: string; + + @Column() + @CreateDateColumn() + created_at: Date; + + @Column({ nullable: true, length: 256, }) + created_by: string; + + @Column({ nullable: true }) + @UpdateDateColumn() + updated_at: Date; + + @Column({ nullable: true, length: 256 }) + updated_by: string; + + @Column({ nullable: true }) + @DeleteDateColumn() + deleted_at: Date; + + @Column({ nullable: true, length: 256 }) + deleted_by: string; +} diff --git a/src/entity/remit_partner_transactions.ts b/src/entity/remit_partner_fees.ts similarity index 70% rename from src/entity/remit_partner_transactions.ts rename to src/entity/remit_partner_fees.ts index 7c059b3..a9ccafa 100644 --- a/src/entity/remit_partner_transactions.ts +++ b/src/entity/remit_partner_fees.ts @@ -1,9 +1,10 @@ import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, JoinColumn, ManyToOne, JoinTable } from "typeorm"; import { Status } from "../types/status"; import { RemitPartner } from "./remit_partners"; +import { RemitPartnerFeeType } from "../types/remit"; -@Entity("remit_partner_transactions", { schema: "remits" }) -export class RemitPartnerTransaction { +@Entity("remit_partner_fees", { schema: "remits" }) +export class RemitPartnerFee { @PrimaryGeneratedColumn("uuid") id: string; @@ -27,41 +28,33 @@ export class RemitPartnerTransaction { nullable: true, length: 256, }) - type: string; + type: RemitPartnerFeeType; @Column({ nullable: true, - length: 256, + type: 'float8', + default: 0 }) - value: string; - - @Column({ - nullable: false, - length: 64, - }) - status: Status; + amount: Number; @Column() @CreateDateColumn() created_at: Date; - @Column({ - nullable: true, - length: 256, - }) + @Column({ nullable: true, length: 256, }) created_by: string; @Column({ nullable: true }) @UpdateDateColumn() updated_at: Date; - @Column({ - nullable: true, - length: 256, - }) + @Column({ nullable: true, length: 256 }) updated_by: string; @Column({ nullable: true }) @DeleteDateColumn() deleted_at: Date; + + @Column({ nullable: true, length: 256 }) + deleted_by: string; } diff --git a/src/entity/remit_partner_owners.ts b/src/entity/remit_partner_owners.ts new file mode 100644 index 0000000..0f4f8f6 --- /dev/null +++ b/src/entity/remit_partner_owners.ts @@ -0,0 +1,112 @@ +import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm"; +import { RemitGender, RemitPartnerStatus, RemitPartnerType } from "../types/remit"; +import { Administrativu } from "./administrativu"; +import { Aldeia } from "./aldeia"; +import { District } from "./district"; +import { Munisipo } from "./munisipo"; +import { RemitConfigBusinessType } from "./remit_config_business_types"; +import { RemitConfigSourceIncome } from "./remit_config_source_incomes"; +import { Suco } from "./suco"; +import { RemitPartner } from "./remit_partners"; +import { RemitConfigNationalities } from "./remit_config_nationalities"; +import { RemitBeneficial } from "./remit_beneficials"; +import { RemitMunisipo } from "./remit_munisipos"; +import { RemitAdministrativu } from "./remit_administrativus"; +import { RemitSuco } from "./remit_sucos"; +import { RemitAldeia } from "./remit_aldeias"; + +@Entity("remit_partner_owners", { schema: "remits" }) +export class RemitPartnerOwners { + @PrimaryGeneratedColumn("uuid") + id: string; + + @ManyToOne(() => RemitPartner, { onDelete: "RESTRICT" }) + @JoinColumn() + partner: RemitPartner; + + @Column({ + nullable: true, + length: 256, + }) + name: string; + + @Column({ + nullable: true, + length: 256, + }) + gender: RemitGender; + + @Column({ + nullable: true, + length: 256, + }) + birth_place: string; + + @Column({ + nullable: true, + }) + birth_date: Date; + + @Column({ + nullable: true, + length: 256, + }) + phone: string; + + @Column({ + nullable: true, + length: 256, + }) + email: string; + + @Column({ + nullable: true, + length: 4096, + }) + address: string; + + @ManyToOne(() => RemitMunisipo, { onDelete: "NO ACTION" }) + @JoinColumn() + munisipo: RemitMunisipo + + @ManyToOne(() => RemitAdministrativu, { onDelete: "NO ACTION" }) + @JoinColumn() + administrativu: RemitAdministrativu + + @ManyToOne(() => RemitSuco, { onDelete: "NO ACTION" }) + @JoinColumn() + suco: RemitSuco + + @ManyToOne(() => RemitAldeia, { onDelete: "NO ACTION" }) + @JoinColumn() + aldeia: RemitAldeia + + @ManyToOne(() => RemitConfigNationalities, { onDelete: "NO ACTION" }) + @JoinColumn() + nationality: RemitConfigNationalities; + + @ManyToOne(() => RemitConfigSourceIncome, { onDelete: "NO ACTION" }) + @JoinColumn() + source_income: RemitConfigSourceIncome; + + @Column() + @CreateDateColumn() + created_at: Date; + + @Column({ nullable: true, length: 256, }) + created_by: string; + + @Column({ nullable: true }) + @UpdateDateColumn() + updated_at: Date; + + @Column({ nullable: true, length: 256 }) + updated_by: string; + + @Column({ nullable: true }) + @DeleteDateColumn() + deleted_at: Date; + + @Column({ nullable: true, length: 256 }) + deleted_by: string; +} diff --git a/src/entity/remit_partner_users.ts b/src/entity/remit_partner_users.ts index e811065..93491df 100644 --- a/src/entity/remit_partner_users.ts +++ b/src/entity/remit_partner_users.ts @@ -60,14 +60,23 @@ export class RemitPartnerUser { @CreateDateColumn() created_at: Date; + @Column({ nullable: true, length: 256, }) + created_by: string; + @Column({ nullable: true }) @UpdateDateColumn() updated_at: Date; + @Column({ nullable: true, length: 256 }) + updated_by: string; + @Column({ nullable: true }) @DeleteDateColumn() deleted_at: Date; + @Column({ nullable: true, length: 256 }) + deleted_by: string; + hashPassword() { this.password = bcrypt.hashSync(this.password, 8); } diff --git a/src/entity/remit_partners.ts b/src/entity/remit_partners.ts index df5e43c..5c4d909 100644 --- a/src/entity/remit_partners.ts +++ b/src/entity/remit_partners.ts @@ -1,4 +1,17 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn } from "typeorm"; +import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm"; +import { RemitPartnerStatus, RemitPartnerType } from "../types/remit"; +import { Administrativu } from "./administrativu"; +import { Aldeia } from "./aldeia"; +import { District } from "./district"; +import { Munisipo } from "./munisipo"; +import { RemitConfigBusinessType } from "./remit_config_business_types"; +import { RemitConfigSourceIncome } from "./remit_config_source_incomes"; +import { Suco } from "./suco"; +import { RemitBeneficial } from "./remit_beneficials"; +import { RemitMunisipo } from "./remit_munisipos"; +import { RemitAdministrativu } from "./remit_administrativus"; +import { RemitSuco } from "./remit_sucos"; +import { RemitAldeia } from "./remit_aldeias"; @Entity("remit_partners", { schema: "remits" }) export class RemitPartner { @@ -12,6 +25,12 @@ export class RemitPartner { }) code: string; + @Column({ + nullable: false, + length: 4096, + }) + type: RemitPartnerType; + @Column({ nullable: false, unique: false, @@ -39,165 +58,61 @@ export class RemitPartner { }) address: string; - @Column({ - nullable: false, - length: 4096, - }) - type: string; + @ManyToOne(() => RemitMunisipo, { onDelete: "NO ACTION" }) + @JoinColumn() + munisipo: RemitMunisipo - @Column({ - nullable: false, - unique: false, - length: 256, - }) - municipio_id: string; + @ManyToOne(() => RemitAdministrativu, { onDelete: "NO ACTION" }) + @JoinColumn() + administrativu: RemitAdministrativu - @Column({ - nullable: false, - unique: false, - length: 256, - }) - municipio_name: string; + @ManyToOne(() => RemitSuco, { onDelete: "NO ACTION" }) + @JoinColumn() + suco: RemitSuco - @Column({ - nullable: false, - unique: false, - length: 256, - }) - posto_adm_id: string; + @ManyToOne(() => RemitAldeia, { onDelete: "NO ACTION" }) + @JoinColumn() + aldeia: RemitAldeia - @Column({ - nullable: false, - unique: false, - length: 256, - }) - posto_adm_name: string; + @ManyToOne(() => RemitConfigBusinessType, { onDelete: "NO ACTION" }) + @JoinColumn() + business_type: RemitConfigBusinessType; - @Column({ - nullable: false, - unique: false, - length: 256, - }) - suco_id: string; + @ManyToOne(() => RemitConfigSourceIncome, { onDelete: "NO ACTION" }) + @JoinColumn() + source_income: RemitConfigSourceIncome; - @Column({ - nullable: false, - unique: false, - length: 256, - }) - suco_name: string; - - @Column({ - nullable: false, - unique: false, - length: 256, - }) - aldeia_id: string; - - @Column({ - nullable: false, - unique: false, - length: 256, - }) - aldeia_name: string; - - @Column({ - nullable: false, - unique: false, - length: 256, - }) - document_type: string; - - @Column({ - nullable: false, - unique: false, - length: 256, - }) - document_number: string; - - @Column({ - nullable: false, - unique: false, - length: 256, - }) - document_file: string; - - @Column({ - nullable: true, - unique: false, - length: 256, - }) - account_number_tl: string; - - @Column({ - nullable: true, - unique: false, - length: 256, - }) - account_name_tl: string; - - @Column({ - nullable: false, - unique: false, - length: 256, - }) - pin: string; + @ManyToOne(() => RemitBeneficial, { onDelete: "NO ACTION" }) + @JoinColumn() + benefecial: RemitBeneficial; @Column({ nullable: false, length: 64, }) - status: String; + status: RemitPartnerStatus; - @Column({ - nullable: true, - length: 64, - }) - balance: String; - - @Column({ - nullable: true, - length: 64, - }) - vostro_idr: String; - - @Column({ - nullable: true, - length: 64, - }) - vostro_usd: String; - - @Column({ - nullable: true, - length: 64, - }) - qlola_usr: String; - - @Column({ - nullable: true, - length: 64, - }) - qlola_pwd: String; + @Column({ nullable: true, length: 256, }) + approved_by: string; @Column() @CreateDateColumn() created_at: Date; + @Column({ nullable: true, length: 256, }) + created_by: string; + @Column({ nullable: true }) @UpdateDateColumn() updated_at: Date; + @Column({ nullable: true, length: 256 }) + updated_by: string; + @Column({ nullable: true }) @DeleteDateColumn() deleted_at: Date; - @Column({ type: "timestamp", nullable: true }) - finalized_at: Date; - - @Column({ - nullable: true, - length: 256, - unique: false, - }) - finalized_by: string; + @Column({ nullable: true, length: 256 }) + deleted_by: string; } diff --git a/src/entity/remit_region.ts b/src/entity/remit_region.ts deleted file mode 100644 index ad750f4..0000000 --- a/src/entity/remit_region.ts +++ /dev/null @@ -1,69 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, JoinColumn, ManyToOne } from "typeorm"; - -import { Status } from "../types/status"; - -@Entity("remit_region", { schema: "remits" }) -export class RemitRegion { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ - type: "uuid", - default: () => "uuid_generate_v4()", - }) - municipioId: string; - - @Column({ - nullable: false, - length: 256, - }) - municipio_name: string; - - @Column({ - type: "uuid", - default: () => "uuid_generate_v4()", - }) - postoId: string; - - @Column({ - nullable: false, - length: 256, - }) - posto_name: string; - - @Column({ - type: "uuid", - default: () => "uuid_generate_v4()", - }) - sucoId: string; - - @Column({ - nullable: false, - length: 256, - }) - suco_name: string; - - @Column({ - type: "uuid", - default: () => "uuid_generate_v4()", - }) - aldeiaId: string; - - @Column({ - nullable: false, - length: 256, - }) - aldeia_name: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; -} diff --git a/src/entity/remit_senders.ts b/src/entity/remit_senders.ts new file mode 100644 index 0000000..9a930f2 --- /dev/null +++ b/src/entity/remit_senders.ts @@ -0,0 +1,152 @@ +import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm"; +import { RemitPartner } from "./remit_partners"; +import { District } from "./district"; +import { Munisipo } from "./munisipo"; +import { Administrativu } from "./administrativu"; +import { Suco } from "./suco"; +import { Aldeia } from "./aldeia"; +import { RemitConfigNationalities } from "./remit_config_nationalities"; +import { RemitConfigOccupation } from "./remit_config_occupations"; +import { RemitGender, RemitIdentityType, RemitSenderType } from "../types/remit"; +import { RemitConfigSourceIncome } from "./remit_config_source_incomes"; +import { RemitBeneficial } from "./remit_beneficials"; +import { RemitMunisipo } from "./remit_munisipos"; +import { RemitAdministrativu } from "./remit_administrativus"; +import { RemitSuco } from "./remit_sucos"; +import { RemitAldeia } from "./remit_aldeias"; + +@Entity("remit_senders", { schema: "remits" }) +export class RemitSender { + @PrimaryGeneratedColumn("uuid") + id: string; + + @Column({ + nullable: true, + length: 256, + }) + type: RemitSenderType; + + @Column({ + nullable: true, + length: 256, + }) + account_number: string; + + @Column({ + nullable: true, + length: 256, + }) + account_holder: string; + + @Column({ + nullable: true, + length: 256, + }) + name: string; + + @Column({ + nullable: true, + length: 256, + }) + gender: RemitGender; + + @Column({ + nullable: true, + length: 256, + }) + birth_place: string; + + @Column({ + nullable: true, + }) + birth_date: Date; + + @Column({ + nullable: true, + length: 256, + }) + phone: string; + + @Column({ + nullable: true, + length: 256, + }) + email: string; + + @ManyToOne(() => RemitConfigNationalities, { onDelete: "NO ACTION", nullable: true }) + @JoinColumn() + nationality: RemitConfigNationalities; + + @Column({ + nullable: true, + length: 4096, + }) + address: string; + + @ManyToOne(() => RemitMunisipo, { onDelete: "NO ACTION" }) + @JoinColumn() + munisipo: RemitMunisipo + + @ManyToOne(() => RemitAdministrativu, { onDelete: "NO ACTION" }) + @JoinColumn() + administrativu: RemitAdministrativu + + @ManyToOne(() => RemitSuco, { onDelete: "NO ACTION" }) + @JoinColumn() + suco: RemitSuco + + @ManyToOne(() => RemitAldeia, { onDelete: "NO ACTION" }) + @JoinColumn() + aldeia: RemitAldeia + + @ManyToOne(() => RemitConfigNationalities, { onDelete: "NO ACTION", nullable: true }) + @JoinColumn() + country: RemitConfigNationalities; + + @ManyToOne(() => RemitConfigOccupation, { onDelete: "NO ACTION", nullable: true }) + @JoinColumn() + occupation: RemitConfigOccupation; + + @ManyToOne(() => RemitConfigSourceIncome, { onDelete: "NO ACTION", nullable: true }) + @JoinColumn() + source_income: RemitConfigSourceIncome; + + @Column({ + nullable: true, + length: 4096, + }) + identity_type: RemitIdentityType; + + @Column({ + nullable: true, + length: 4096, + }) + identity_number: String; + + @Column({ + nullable: true, + length: 4096, + }) + identity_file: String; + + @Column() + @CreateDateColumn() + created_at: Date; + + @Column({ nullable: true, length: 256, }) + created_by: string; + + @Column({ nullable: true }) + @UpdateDateColumn() + updated_at: Date; + + @Column({ nullable: true, length: 256 }) + updated_by: string; + + @Column({ nullable: true }) + @DeleteDateColumn() + deleted_at: Date; + + @Column({ nullable: true, length: 256 }) + deleted_by: string; +} diff --git a/src/entity/remit_sucos.ts b/src/entity/remit_sucos.ts new file mode 100644 index 0000000..1aa082e --- /dev/null +++ b/src/entity/remit_sucos.ts @@ -0,0 +1,41 @@ +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinColumn } from "typeorm"; +import { Status } from "../types/status"; +import { RemitMunisipo } from "./remit_munisipos"; +import { RemitAdministrativu } from "./remit_administrativus"; + +@Entity("remit_sucos", { schema: "remits" }) +export class RemitSuco { + @PrimaryGeneratedColumn("uuid") + id: string; + + @ManyToOne(() => RemitAdministrativu, { onDelete: "NO ACTION" }) + @JoinColumn() + administrativu: RemitAdministrativu + + @Column({ + nullable: true, + length: 256, + }) + name: string; + + @Column() + @CreateDateColumn() + created_at: Date; + + @Column({ nullable: true, length: 256, }) + created_by: string; + + @Column({ nullable: true }) + @UpdateDateColumn() + updated_at: Date; + + @Column({ nullable: true, length: 256 }) + updated_by: string; + + @Column({ nullable: true }) + @DeleteDateColumn() + deleted_at: Date; + + @Column({ nullable: true, length: 256 }) + deleted_by: string; +} diff --git a/src/entity/remit_tansfer.ts b/src/entity/remit_tansfer.ts deleted file mode 100644 index ad95c73..0000000 --- a/src/entity/remit_tansfer.ts +++ /dev/null @@ -1,141 +0,0 @@ -import bcrypt from "bcryptjs"; -import { Status } from "../types/status"; -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, OneToOne, JoinColumn, ManyToOne, OneToMany, ManyToMany, JoinTable } from "typeorm"; -import { RemitPartner } from "./remit_partners"; -import { ApprovalStatus } from "../enum/approvalStatus"; - -@Entity("remit_transfer", { schema: "remits" }) -export class RemitTransfer { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ - nullable: false, - unique: true, - length: 256, - }) - ref_number: string; - - @ManyToOne(() => RemitPartner, { onDelete: "CASCADE" }) - @JoinTable() - partner: RemitPartner; - - @Column({ - nullable: true, - length: 64, - unique: false, - }) - bank_name: string; - - @Column({ - nullable: true, - length: 64, - unique: false, - }) - account_number: string; - - @Column({ - nullable: true, - length: 64, - unique: false, - }) - account_name: string; - - @Column({ - nullable: true, - length: 64, - unique: false, - }) - amount: string; - - // new field - @Column({ - nullable: true, - length: 64, - unique: false, - }) - sender_name: string; - - @Column({ - nullable: true, - length: 64, - unique: false, - }) - sender_id_type: string; - - @Column({ - nullable: true, - length: 64, - unique: false, - }) - sender_id_number: string; - - @Column({ - nullable: true, - type: "text", - unique: false, - }) - sender_id_file: string; - - @Column({ - nullable: true, - length: 64, - unique: false, - }) - sender_country: string; - - @Column({ - nullable: false, - length: 64, - }) - status: string; - @Column({ - nullable: true, - length: 64, - }) - transaction_fee: string; - - @Column({ - nullable: true, - length: 64, - }) - allocation_bri_value: string; - - @Column({ - nullable: true, - length: 64, - }) - allocation_partner_value: string; - - @Column({ - nullable: false, - length: 64, - default: "N", - }) - beneficiary: Status; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ type: "timestamp", nullable: true }) - finalized_at: Date; - - @Column({ - nullable: true, - length: 256, - unique: false, - }) - finalized_by: string; - - @Column({ nullable: true }) - approved_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; -} diff --git a/src/entity/remit_topup.ts b/src/entity/remit_topup.ts deleted file mode 100644 index 4778e5f..0000000 --- a/src/entity/remit_topup.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinTable } from "typeorm"; -import { RemitPartner } from "./remit_partners"; - -@Entity("remit_topup", { schema: "remits" }) -export class RemitTopup { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ - nullable: false, - unique: true, - length: 256, - }) - ref_number: string; - - @ManyToOne(() => RemitPartner, { onDelete: "CASCADE" }) - @JoinTable() - partner: RemitPartner; - - @Column({ - nullable: true, - length: 64, - unique: false, - }) - amount: string; - - @Column({ - nullable: false, - length: 64, - }) - status: string; - - @Column({ type: "timestamp", nullable: true }) - finalized_at: Date; - - @Column({ - nullable: true, - length: 256, - unique: false, - }) - finalized_by: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; -} diff --git a/src/entity/remit_transactions.ts b/src/entity/remit_transactions.ts new file mode 100644 index 0000000..788bbca --- /dev/null +++ b/src/entity/remit_transactions.ts @@ -0,0 +1,100 @@ +import bcrypt from "bcryptjs"; +import { Status } from "../types/status"; +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, OneToOne, JoinColumn, ManyToOne, OneToMany, ManyToMany, JoinTable } from "typeorm"; +import { RemitPartner } from "./remit_partners"; +import { ApprovalStatus } from "../enum/approvalStatus"; +import { RemitSender } from "./remit_senders"; +import { RemitBeneficiary } from "./remit_beneficiaries"; +import { RemitConfigPurpose } from "./remit_config_purposes"; +import { RemitTransactionCurrencyType, RemitTransactionStatus } from "../types/remit"; +import { RemitBeneficial } from "./remit_beneficials"; + +@Entity("remit_transactions", { schema: "remits" }) +export class RemitTransaction { + @PrimaryGeneratedColumn("uuid") + id: string; + + @Column({ + nullable: false, + unique: true, + length: 256, + }) + code: string; + + @ManyToOne(() => RemitPartner, { onDelete: "RESTRICT" }) + @JoinTable() + partner: RemitPartner; + + @ManyToOne(() => RemitSender, { onDelete: "RESTRICT" }) + @JoinTable() + sender: RemitSender; + + @ManyToOne(() => RemitBeneficial, { onDelete: "NO ACTION", nullable: true }) + @JoinColumn() + benefecial: RemitBeneficial; + + @ManyToOne(() => RemitBeneficiary, { onDelete: "RESTRICT" }) + @JoinTable() + beneficiary: RemitBeneficiary; + + @ManyToOne(() => RemitConfigPurpose, { onDelete: "RESTRICT" }) + @JoinTable() + purpose: RemitConfigPurpose; + + @Column({ + nullable: true, + length: 5, + }) + currency: RemitTransactionCurrencyType; + + @Column({ + nullable: false, + type: 'float8', + }) + amount: Number; + + @Column({ + nullable: true, + length: 4096, + }) + selfie_file: String; + + @Column({ + nullable: true, + length: 4096, + }) + underlying_file: String; + + @Column({ + nullable: true, + length: 256, + }) + status: RemitTransactionStatus; + + @Column({ nullable: true }) + approved_at: Date; + + @Column({ nullable: true, length: 256, }) + approved_by: string; + + @Column() + @CreateDateColumn() + created_at: Date; + + @Column({ nullable: true, length: 256, }) + created_by: string; + + @Column({ nullable: true }) + @UpdateDateColumn() + updated_at: Date; + + @Column({ nullable: true, length: 256 }) + updated_by: string; + + @Column({ nullable: true }) + @DeleteDateColumn() + deleted_at: Date; + + @Column({ nullable: true, length: 256 }) + deleted_by: string; +} diff --git a/src/index.ts b/src/index.ts index 75c9c7e..2876e84 100644 --- a/src/index.ts +++ b/src/index.ts @@ -84,19 +84,40 @@ import { AssetInventoryHistory } from "./entity/asset_inventory_histories"; import { AssetInventoryDepreciation } from "./entity/asset_inventory_depreciations"; import { AssetInventoryDepreciationLog } from "./entity/asset_inventory_depreciation_logs"; -import { RemitOtp } from "./entity/remit_otp"; +import { RemitMunisipo } from "./entity/remit_munisipos"; +import { RemitAdministrativu } from "./entity/remit_administrativus"; +import { RemitSuco } from "./entity/remit_sucos"; +import { RemitAldeia } from "./entity/remit_aldeias"; +import { RemitBeneficial } from "./entity/remit_beneficials"; +import { RemitBeneficiary } from "./entity/remit_beneficiaries"; +import { RemitConfigBank } from "./entity/remit_config_banks"; +import { RemitConfigBusinessType } from "./entity/remit_config_business_types"; +import { RemitConfigKurs } from "./entity/remit_config_kurs"; +import { RemitConfigNationalities } from "./entity/remit_config_nationalities"; +import { RemitConfigOccupation } from "./entity/remit_config_occupations"; +import { RemitConfigPurpose } from "./entity/remit_config_purposes"; +import { RemitConfigSourceIncome } from "./entity/remit_config_source_incomes"; +import { RemitPartnerAccounts } from "./entity/remit_partner_accounts"; +import { RemitPartnerApis } from "./entity/remit_partner_apis"; +import { RemitPartnerDocument } from "./entity/remit_partner_documents"; +import { RemitPartnerFee } from "./entity/remit_partner_fees"; +import { RemitPartnerOwners } from "./entity/remit_partner_owners"; import { RemitPartnerUser } from "./entity/remit_partner_users"; import { RemitPartner } from "./entity/remit_partners"; -import { RemitPartnerTransaction } from "./entity/remit_partner_transactions"; -import { RemitPartnerAllocation } from "./entity/remit_partner_allocations"; -import { RemitRegion } from "./entity/remit_region"; -import { RemitTransfer } from "./entity/remit_tansfer"; -import { RemitTopup } from "./entity/remit_topup"; -import { RemitMutation } from "./entity/remit_mutation"; -import { RemitBank } from "./entity/remit_bank"; -import { RemitConfigTransaction } from "./entity/remit_config_transactions"; -import { RemitConfigAllocation } from "./entity/remit_config_allocations"; -import { RemitConfigKurs } from "./entity/remit_config_kurs"; +import { RemitSender } from "./entity/remit_senders"; +import { RemitTransaction } from "./entity/remit_transactions"; +import { + RemitPartnerType, + RemitPartnerStatus, + RemitRiskLevel, + RemitGender, + RemitIdentityType, + RemitDocumentType, + RemitPartnerFeeType, + RemitSenderType, + RemitTransactionStatus, + RemitTransactionCurrencyType, +} from "./types/remit" import { BrizziBatchStatus, BrizziCardStatus, BrizziHistoryActvity, BrizziHistoryType, BrizziHistoryRemarks } from "./types/brizzi"; import { BrizziBatch } from "./entity/brizzi_batchs"; @@ -208,11 +229,13 @@ export { Application, TellerMutation, LogHikvision, + BrivaCompany, BrivaCompanyUser, BrivaCompanyUserRefreshToken, BrivaAccount, BrivaTransaction, + AssetSupplier, AssetFixedClassification, AssetFixedType, @@ -235,15 +258,7 @@ export { AssetFixedTypeType, AssetInventoryDepreciation, AssetInventoryDepreciationLog, - RemitOtp, - RemitPartnerUser, - RemitPartner, - RemitPartnerTransaction, - RemitPartnerAllocation, - RemitRegion, - RemitTransfer, - RemitTopup, - RemitMutation, + BrizziBatchStatus, BrizziCardStatus, BrizziHistoryActvity, @@ -253,6 +268,7 @@ export { BrizziCard, BrizziHistory, BrizziOldCard, + BrilinkMerchantStatus, BrilinkTerminalType, BrilinkTerminalCondition, @@ -296,13 +312,43 @@ export { BrilinkDiscountStatus, BrilinkDiscountType, BrilinkDiscount, - RemitBank, - RemitConfigTransaction, - RemitConfigAllocation, - RemitConfigKurs, + BriapiConfig, BriapiLog, BriapiAppendixBank, BriapiAppendixWallet, BriapiAppendixId, + + RemitMunisipo, + RemitAdministrativu, + RemitSuco, + RemitAldeia, + RemitPartnerType, + RemitPartnerStatus, + RemitRiskLevel, + RemitGender, + RemitIdentityType, + RemitDocumentType, + RemitPartnerFeeType, + RemitSenderType, + RemitTransactionStatus, + RemitTransactionCurrencyType, + RemitBeneficial, + RemitBeneficiary, + RemitConfigBank, + RemitConfigBusinessType, + RemitConfigKurs, + RemitConfigNationalities, + RemitConfigOccupation, + RemitConfigPurpose, + RemitConfigSourceIncome, + RemitPartnerAccounts, + RemitPartnerApis, + RemitPartnerDocument, + RemitPartnerFee, + RemitPartnerOwners, + RemitPartnerUser, + RemitPartner, + RemitSender, + RemitTransaction }; diff --git a/src/types/remit.ts b/src/types/remit.ts new file mode 100644 index 0000000..173f445 --- /dev/null +++ b/src/types/remit.ts @@ -0,0 +1,61 @@ +export enum RemitPartnerType { + "personal" = "personal", + "company" = "company", +} + +export enum RemitPartnerStatus { + "pending" = "pending", + "approved" = "approved", + "rejected" = "rejected" +} + +export enum RemitRiskLevel { + "low" = "low", + "mid" = "mid", + "high" = "high" +} + +export enum RemitGender { + "man" = "man", + "female" = "female" +} + +export enum RemitIdentityType { + "electoral" = "electoral", + "bilhete de identidade" = "bi", + "passport" = "passport", + "citizen personal id" = "citizen_personal_id", + "driver_license" = "driver_license" +} + +export enum RemitDocumentType { + "electoral" = "electoral", + "bilhete de identidade" = "bi", + "passport" = "passport", + "certificado registo comercial" = "certificado_registo_comercial", + "licenca provisoria" = "licenca_provisoria", + "estatuto" = "estatuto" +} + +export enum RemitPartnerFeeType { + "percentage" = "percentage", + "fix" = "fix" +} + +export enum RemitSenderType { + "bri" = "bri", + "wic" = "wic" +} + +export enum RemitTransactionStatus { + "verify" = "verify", + "reject" = "reject", + "process" = "process", + "success" = "success", + "fail" = "fail", +} + +export enum RemitTransactionCurrencyType { + "rp" = "rp", + "usd" = "usd", +} \ No newline at end of file From b046c4f1a6e402c8299d745bd2429405495652c3 Mon Sep 17 00:00:00 2001 From: fro1991 Date: Wed, 18 Jun 2025 02:05:44 +0900 Subject: [PATCH 11/30] update --- src/entity/remit_partner_apis.ts | 2 +- src/index.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/entity/remit_partner_apis.ts b/src/entity/remit_partner_apis.ts index 3ed888b..686f88b 100644 --- a/src/entity/remit_partner_apis.ts +++ b/src/entity/remit_partner_apis.ts @@ -2,7 +2,7 @@ import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToO import { RemitPartner } from "./remit_partners"; @Entity("remit_partner_apis", { schema: "remits" }) -export class RemitPartnerApis { +export class RemitPartnerApi { @PrimaryGeneratedColumn("uuid") id: string; diff --git a/src/index.ts b/src/index.ts index 2876e84..d8c5a38 100644 --- a/src/index.ts +++ b/src/index.ts @@ -98,7 +98,7 @@ import { RemitConfigOccupation } from "./entity/remit_config_occupations"; import { RemitConfigPurpose } from "./entity/remit_config_purposes"; import { RemitConfigSourceIncome } from "./entity/remit_config_source_incomes"; import { RemitPartnerAccounts } from "./entity/remit_partner_accounts"; -import { RemitPartnerApis } from "./entity/remit_partner_apis"; +import { RemitPartnerApi } from "./entity/remit_partner_apis"; import { RemitPartnerDocument } from "./entity/remit_partner_documents"; import { RemitPartnerFee } from "./entity/remit_partner_fees"; import { RemitPartnerOwners } from "./entity/remit_partner_owners"; @@ -343,7 +343,7 @@ export { RemitConfigPurpose, RemitConfigSourceIncome, RemitPartnerAccounts, - RemitPartnerApis, + RemitPartnerApi, RemitPartnerDocument, RemitPartnerFee, RemitPartnerOwners, From bce14811f26878ca4d4b1dd759f1d9dfb9b6dfbc Mon Sep 17 00:00:00 2001 From: fro1991 Date: Wed, 18 Jun 2025 12:18:44 +0900 Subject: [PATCH 12/30] update --- src/entity/remit_partner_apis.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/entity/remit_partner_apis.ts b/src/entity/remit_partner_apis.ts index 686f88b..aa84794 100644 --- a/src/entity/remit_partner_apis.ts +++ b/src/entity/remit_partner_apis.ts @@ -22,6 +22,17 @@ export class RemitPartnerApi { }) consumer_secret: string; + @Column({ + nullable: true, + length: 256, + }) + token: string; + + @Column({ + nullable: true, + }) + expires_in: Date; + @Column() @CreateDateColumn() created_at: Date; From c416e3365da967358285783bb94e1f13df943bd7 Mon Sep 17 00:00:00 2001 From: fro1991 Date: Wed, 18 Jun 2025 13:09:13 +0900 Subject: [PATCH 13/30] update --- src/entity/remit_transactions.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/entity/remit_transactions.ts b/src/entity/remit_transactions.ts index 788bbca..7127aed 100644 --- a/src/entity/remit_transactions.ts +++ b/src/entity/remit_transactions.ts @@ -21,6 +21,13 @@ export class RemitTransaction { }) code: string; + @Column({ + nullable: false, + unique: true, + length: 256, + }) + reference: string; + @ManyToOne(() => RemitPartner, { onDelete: "RESTRICT" }) @JoinTable() partner: RemitPartner; From 4c6bd591256d97903727632cccfb27a00c807201 Mon Sep 17 00:00:00 2001 From: fro1991 Date: Sat, 21 Jun 2025 19:05:41 +0700 Subject: [PATCH 14/30] update --- src/entity/remit_sender_identities.ts | 72 +++++++++++++++++++++++++++ src/entity/remit_senders.ts | 18 ------- src/index.ts | 4 ++ src/types/remit.ts | 1 + 4 files changed, 77 insertions(+), 18 deletions(-) create mode 100644 src/entity/remit_sender_identities.ts diff --git a/src/entity/remit_sender_identities.ts b/src/entity/remit_sender_identities.ts new file mode 100644 index 0000000..0ed8d63 --- /dev/null +++ b/src/entity/remit_sender_identities.ts @@ -0,0 +1,72 @@ +import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm"; +import { RemitPartner } from "./remit_partners"; +import { District } from "./district"; +import { Munisipo } from "./munisipo"; +import { Administrativu } from "./administrativu"; +import { Suco } from "./suco"; +import { Aldeia } from "./aldeia"; +import { RemitConfigNationalities } from "./remit_config_nationalities"; +import { RemitConfigOccupation } from "./remit_config_occupations"; +import { RemitGender, RemitIdentityType, RemitSenderType } from "../types/remit"; +import { RemitConfigSourceIncome } from "./remit_config_source_incomes"; +import { RemitBeneficial } from "./remit_beneficials"; +import { RemitMunisipo } from "./remit_munisipos"; +import { RemitAdministrativu } from "./remit_administrativus"; +import { RemitSuco } from "./remit_sucos"; +import { RemitAldeia } from "./remit_aldeias"; +import { RemitSender } from "./remit_senders"; + +@Entity("remit_sender_identities", { schema: "remits" }) +export class RemitSenderIdentity { + @PrimaryGeneratedColumn("uuid") + id: string; + + @ManyToOne(() => RemitSender, { onDelete: "NO ACTION", nullable: true }) + @JoinColumn() + sender: RemitSender; + + @Column({ + nullable: true, + length: 256, + }) + type: RemitIdentityType; + + @Column({ + nullable: true, + length: 256, + }) + number: string; + + @Column({ + nullable: true, + length: 256, + }) + issued_place: string; + + @Column({ + nullable: true, + length: 256, + }) + expired_at: string; + + @Column() + @CreateDateColumn() + created_at: Date; + + @Column({ nullable: true, length: 256, }) + created_by: string; + + @Column({ nullable: true }) + @UpdateDateColumn() + updated_at: Date; + + @Column({ nullable: true, length: 256 }) + updated_by: string; + + @Column({ nullable: true }) + @DeleteDateColumn() + deleted_at: Date; + + @Column({ nullable: true, length: 256 }) + deleted_by: string; +} diff --git a/src/entity/remit_senders.ts b/src/entity/remit_senders.ts index 9a930f2..c457923 100644 --- a/src/entity/remit_senders.ts +++ b/src/entity/remit_senders.ts @@ -111,24 +111,6 @@ export class RemitSender { @JoinColumn() source_income: RemitConfigSourceIncome; - @Column({ - nullable: true, - length: 4096, - }) - identity_type: RemitIdentityType; - - @Column({ - nullable: true, - length: 4096, - }) - identity_number: String; - - @Column({ - nullable: true, - length: 4096, - }) - identity_file: String; - @Column() @CreateDateColumn() created_at: Date; diff --git a/src/index.ts b/src/index.ts index d8c5a38..3575b89 100644 --- a/src/index.ts +++ b/src/index.ts @@ -105,7 +105,9 @@ import { RemitPartnerOwners } from "./entity/remit_partner_owners"; import { RemitPartnerUser } from "./entity/remit_partner_users"; import { RemitPartner } from "./entity/remit_partners"; import { RemitSender } from "./entity/remit_senders"; +import { RemitSenderIdentity } from "./entity/remit_sender_identities"; import { RemitTransaction } from "./entity/remit_transactions"; + import { RemitPartnerType, RemitPartnerStatus, @@ -163,6 +165,7 @@ import { BriapiAppendixBank } from "./entity/briapi_appendix_banks"; import { BriapiAppendixWallet } from "./entity/briapi_appendix_wallets"; import { BriapiAppendixId } from "./entity/briapi_appendix_ids"; + export { User, // UserRole, @@ -350,5 +353,6 @@ export { RemitPartnerUser, RemitPartner, RemitSender, + RemitSenderIdentity, RemitTransaction }; diff --git a/src/types/remit.ts b/src/types/remit.ts index 173f445..4672ece 100644 --- a/src/types/remit.ts +++ b/src/types/remit.ts @@ -24,6 +24,7 @@ export enum RemitIdentityType { "electoral" = "electoral", "bilhete de identidade" = "bi", "passport" = "passport", + "visa" = "visa", "citizen personal id" = "citizen_personal_id", "driver_license" = "driver_license" } From 8682dc803ee84af3fd68433be2170fc6f49c1b3d Mon Sep 17 00:00:00 2001 From: fro1991 Date: Sat, 21 Jun 2025 21:22:00 +0700 Subject: [PATCH 15/30] update remit --- src/types/remit.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/types/remit.ts b/src/types/remit.ts index 4672ece..7d3319a 100644 --- a/src/types/remit.ts +++ b/src/types/remit.ts @@ -22,7 +22,7 @@ export enum RemitGender { export enum RemitIdentityType { "electoral" = "electoral", - "bilhete de identidade" = "bi", + "bi" = "bi", "passport" = "passport", "visa" = "visa", "citizen personal id" = "citizen_personal_id", @@ -31,7 +31,7 @@ export enum RemitIdentityType { export enum RemitDocumentType { "electoral" = "electoral", - "bilhete de identidade" = "bi", + "bi" = "bi", "passport" = "passport", "certificado registo comercial" = "certificado_registo_comercial", "licenca provisoria" = "licenca_provisoria", From ef636b9a559ed1f5e3e645d211de6990f8ac6e6e Mon Sep 17 00:00:00 2001 From: fro1991 Date: Sat, 21 Jun 2025 22:47:50 +0700 Subject: [PATCH 16/30] remit - update --- src/entity/remit_partner_api_logs.ts | 73 ++++++++++++++++++++++++++++ src/index.ts | 4 +- 2 files changed, 76 insertions(+), 1 deletion(-) create mode 100644 src/entity/remit_partner_api_logs.ts diff --git a/src/entity/remit_partner_api_logs.ts b/src/entity/remit_partner_api_logs.ts new file mode 100644 index 0000000..a4e68cd --- /dev/null +++ b/src/entity/remit_partner_api_logs.ts @@ -0,0 +1,73 @@ +import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm"; +import { RemitPartner } from "./remit_partners"; + +@Entity("remit_partner_api_logs", { schema: "remits" }) +export class RemitPartnerApiLog { + @PrimaryGeneratedColumn("uuid") + id: string; + + @ManyToOne(() => RemitPartner, { onDelete: "RESTRICT" }) + @JoinColumn() + partner: RemitPartner; + + @Column({ + nullable: true, + }) + request_at: Date; + + @Column({ + nullable: true, + length: 256, + }) + path: string; + + @Column({ + nullable: true, + length: 256, + }) + verb: string; + + @Column({ + nullable: true, + length: 256, + }) + signature: string; + + @Column({ + nullable: true, + length: 256, + }) + timestamp: string; + + @Column({ + nullable: true, + type: 'text' + }) + decode: string; + + @Column({ + nullable: true, + type: 'text' + }) + param: string; + + @Column({ + nullable: true, + type: 'text' + }) + response: string; + + @Column({ + nullable: true, + type: 'text' + }) + response_at: string; + + @Column() + @CreateDateColumn() + created_at: Date; + + @Column({ nullable: true }) + @UpdateDateColumn() + updated_at: Date; +} diff --git a/src/index.ts b/src/index.ts index 3575b89..c53f461 100644 --- a/src/index.ts +++ b/src/index.ts @@ -99,6 +99,7 @@ import { RemitConfigPurpose } from "./entity/remit_config_purposes"; import { RemitConfigSourceIncome } from "./entity/remit_config_source_incomes"; import { RemitPartnerAccounts } from "./entity/remit_partner_accounts"; import { RemitPartnerApi } from "./entity/remit_partner_apis"; +import { RemitPartnerApiLog } from "./entity/remit_partner_api_logs"; import { RemitPartnerDocument } from "./entity/remit_partner_documents"; import { RemitPartnerFee } from "./entity/remit_partner_fees"; import { RemitPartnerOwners } from "./entity/remit_partner_owners"; @@ -347,6 +348,7 @@ export { RemitConfigSourceIncome, RemitPartnerAccounts, RemitPartnerApi, + RemitPartnerApiLog, RemitPartnerDocument, RemitPartnerFee, RemitPartnerOwners, @@ -354,5 +356,5 @@ export { RemitPartner, RemitSender, RemitSenderIdentity, - RemitTransaction + RemitTransaction, }; From be21d852dcd2491c4376c0cd680549a465accbfd Mon Sep 17 00:00:00 2001 From: fro1991 Date: Sat, 21 Jun 2025 23:01:07 +0700 Subject: [PATCH 17/30] update remit --- src/entity/remit_partner_api_logs.ts | 73 ---------------------------- src/index.ts | 2 - 2 files changed, 75 deletions(-) delete mode 100644 src/entity/remit_partner_api_logs.ts diff --git a/src/entity/remit_partner_api_logs.ts b/src/entity/remit_partner_api_logs.ts deleted file mode 100644 index a4e68cd..0000000 --- a/src/entity/remit_partner_api_logs.ts +++ /dev/null @@ -1,73 +0,0 @@ -import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm"; -import { RemitPartner } from "./remit_partners"; - -@Entity("remit_partner_api_logs", { schema: "remits" }) -export class RemitPartnerApiLog { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => RemitPartner, { onDelete: "RESTRICT" }) - @JoinColumn() - partner: RemitPartner; - - @Column({ - nullable: true, - }) - request_at: Date; - - @Column({ - nullable: true, - length: 256, - }) - path: string; - - @Column({ - nullable: true, - length: 256, - }) - verb: string; - - @Column({ - nullable: true, - length: 256, - }) - signature: string; - - @Column({ - nullable: true, - length: 256, - }) - timestamp: string; - - @Column({ - nullable: true, - type: 'text' - }) - decode: string; - - @Column({ - nullable: true, - type: 'text' - }) - param: string; - - @Column({ - nullable: true, - type: 'text' - }) - response: string; - - @Column({ - nullable: true, - type: 'text' - }) - response_at: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; -} diff --git a/src/index.ts b/src/index.ts index c53f461..42695bc 100644 --- a/src/index.ts +++ b/src/index.ts @@ -99,7 +99,6 @@ import { RemitConfigPurpose } from "./entity/remit_config_purposes"; import { RemitConfigSourceIncome } from "./entity/remit_config_source_incomes"; import { RemitPartnerAccounts } from "./entity/remit_partner_accounts"; import { RemitPartnerApi } from "./entity/remit_partner_apis"; -import { RemitPartnerApiLog } from "./entity/remit_partner_api_logs"; import { RemitPartnerDocument } from "./entity/remit_partner_documents"; import { RemitPartnerFee } from "./entity/remit_partner_fees"; import { RemitPartnerOwners } from "./entity/remit_partner_owners"; @@ -348,7 +347,6 @@ export { RemitConfigSourceIncome, RemitPartnerAccounts, RemitPartnerApi, - RemitPartnerApiLog, RemitPartnerDocument, RemitPartnerFee, RemitPartnerOwners, From 703c6006671eb80ea4f64a7bfe73d44ae9373d35 Mon Sep 17 00:00:00 2001 From: fro1991 Date: Sun, 22 Jun 2025 01:46:51 +0700 Subject: [PATCH 18/30] update --- .../remit_partner_user_refresh_token.ts | 64 ++++ src/index.ts | 316 +++++++++--------- 2 files changed, 230 insertions(+), 150 deletions(-) create mode 100644 src/entity/remit_partner_user_refresh_token.ts diff --git a/src/entity/remit_partner_user_refresh_token.ts b/src/entity/remit_partner_user_refresh_token.ts new file mode 100644 index 0000000..44b12f4 --- /dev/null +++ b/src/entity/remit_partner_user_refresh_token.ts @@ -0,0 +1,64 @@ +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index } from "typeorm" + +@Entity("remit_partner_user_refresh_tokens") +export class RemitPartnerUserRefreshToken { + @PrimaryGeneratedColumn("uuid") + refresh_token: string + + @Index() + @Column({ + type: "uuid", + }) + id_user: string + + @Column({ + nullable: false, + length: 4096, + }) + user_agent: string + + @Column({ + nullable: true, + length: 128, + }) + os: string + + @Column({ + nullable: true, + length: 256, + }) + device: string + + @Column({ + nullable: true, + length: 64, + }) + platform: string + + @Column({ + nullable: true, + length: 64, + }) + browser: string + + @Column({ + nullable: true, + length: 32, + }) + remote_addr: string + + @Column("timestamp") + expired_at: Date + + @Column() + @CreateDateColumn() + created_at: Date + + @Column({ nullable: true }) + @UpdateDateColumn() + updated_at: Date + + @Column({ nullable: true }) + @DeleteDateColumn() + deleted_at: Date +} diff --git a/src/index.ts b/src/index.ts index 42695bc..7b1fdec 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,115 +1,116 @@ -import { CifAccount } from "./entity/cif_account"; -import { LNKOLEK } from "./entity/lnkolek"; -import { TrialBalanceBranch } from "./entity/trial_balance_branch"; -import { TrialBalanceConsolidation } from "./entity/trial_balance_consolidation"; -import { UserActivity } from "./entity/user_activity"; -import { UserRefreshToken } from "./entity/user_refresh_token"; -import { User } from "./entity/users"; -import { UserRole } from "./entity/users_roles"; -import { ActivityType, ActivityTypeReverse } from "./types/action"; -import { ErrorType, ErrorValidation } from "./types/error"; -import { Paging } from "./types/paging"; -import { RoleList } from "./types/role"; -import { Status } from "./types/status"; -import { EmailBody } from "./types/email"; -import { Branch } from "./entity/branchs"; -import { Product } from "./entity/products"; -import { Menu } from "./entity/menu"; -import { Administrativu } from "./entity/administrativu"; -import { Aldeia } from "./entity/aldeia"; -import { ClassEconomi } from "./entity/class_economi"; -import { District } from "./entity/district"; -import { IncomeTier } from "./entity/income_tier"; -import { Munisipo } from "./entity/munisipo"; -import { Suco } from "./entity/suco"; -import { LogPull } from "./entity/log_pull"; -import { LogPullType, StatusLogPull, TellerCode } from "./types/pull"; -import { Category } from "./entity/categories"; -import { CategorySource } from "./types/category_source"; -import { PullerStatus } from "./entity/puller_status"; -import { Target } from "./entity/targets"; -import { BankGaransi } from "./entity/bank_garansi"; -import { BankGaransiType } from "./entity/bank_garansi_type"; -import { BankGaransiStatus } from "./entity/bank_garansi_status"; -import { BankGaransiPending } from "./entity/bank_garansi_pending"; -import { BankGaransiPic } from "./entity/bank_garansi_pic"; -import { CategoryType } from "./types/category"; -import { Summarize } from "./entity/summarizes"; -import { SummarizeLog } from "./entity/summarize_log"; -import { SummarizeLogStatus, SummarizeType } from "./types/summarize"; -import { TelegramBody, TelegramResponseSend } from "./types/telegram"; -import { Ledger } from "./entity/ledgers"; -import { BpaFormat } from "./entity/bpa_format"; -import { BpaLog } from "./entity/bpa_log"; -import { Bpa } from "./entity/bpa"; -import { CreditCompany } from "./entity/credit_companies"; -import { CreditDebtor } from "./entity/credit_debtors"; -import { CreditTypeForms } from "./entity/credit_type_forms"; -import { CreditApplication } from "./entity/credit_applications"; -import { CreditApplicationFileStatus, CreditApplicationStatus } from "./types/credit"; -import { CreditApplicationForm } from "./entity/credit_application_forms"; -import { CreditCompanyUser } from "./entity/credit_company_users"; -import { CreditCompanyUserRefreshToken } from "./entity/credit_company_user_refresh_token"; -import { CreditApplicationChat } from "./entity/credit_application_chats"; -import { CreditConfigs } from "./entity/credit_config"; -import { CreditConfigInsurance } from "./entity/credit_config_insurance"; -import { Application } from "./entity/application"; -import { TellerMutation } from "./entity/teller_mutation"; -import { LogHikvision } from "./entity/log_hikvision"; -import { BrivaCompany } from "./entity/briva_companies"; -import { BrivaCompanyUser } from "./entity/briva_company_users"; -import { BrivaCompanyUserRefreshToken } from "./entity/briva_company_user_refresh_token"; -import { BrivaAccount } from "./entity/briva_accounts"; -import { BrivaTransaction } from "./entity/briva_transactions"; +import { CifAccount } from "./entity/cif_account" +import { LNKOLEK } from "./entity/lnkolek" +import { TrialBalanceBranch } from "./entity/trial_balance_branch" +import { TrialBalanceConsolidation } from "./entity/trial_balance_consolidation" +import { UserActivity } from "./entity/user_activity" +import { UserRefreshToken } from "./entity/user_refresh_token" +import { User } from "./entity/users" +import { UserRole } from "./entity/users_roles" +import { ActivityType, ActivityTypeReverse } from "./types/action" +import { ErrorType, ErrorValidation } from "./types/error" +import { Paging } from "./types/paging" +import { RoleList } from "./types/role" +import { Status } from "./types/status" +import { EmailBody } from "./types/email" +import { Branch } from "./entity/branchs" +import { Product } from "./entity/products" +import { Menu } from "./entity/menu" +import { Administrativu } from "./entity/administrativu" +import { Aldeia } from "./entity/aldeia" +import { ClassEconomi } from "./entity/class_economi" +import { District } from "./entity/district" +import { IncomeTier } from "./entity/income_tier" +import { Munisipo } from "./entity/munisipo" +import { Suco } from "./entity/suco" +import { LogPull } from "./entity/log_pull" +import { LogPullType, StatusLogPull, TellerCode } from "./types/pull" +import { Category } from "./entity/categories" +import { CategorySource } from "./types/category_source" +import { PullerStatus } from "./entity/puller_status" +import { Target } from "./entity/targets" +import { BankGaransi } from "./entity/bank_garansi" +import { BankGaransiType } from "./entity/bank_garansi_type" +import { BankGaransiStatus } from "./entity/bank_garansi_status" +import { BankGaransiPending } from "./entity/bank_garansi_pending" +import { BankGaransiPic } from "./entity/bank_garansi_pic" +import { CategoryType } from "./types/category" +import { Summarize } from "./entity/summarizes" +import { SummarizeLog } from "./entity/summarize_log" +import { SummarizeLogStatus, SummarizeType } from "./types/summarize" +import { TelegramBody, TelegramResponseSend } from "./types/telegram" +import { Ledger } from "./entity/ledgers" +import { BpaFormat } from "./entity/bpa_format" +import { BpaLog } from "./entity/bpa_log" +import { Bpa } from "./entity/bpa" +import { CreditCompany } from "./entity/credit_companies" +import { CreditDebtor } from "./entity/credit_debtors" +import { CreditTypeForms } from "./entity/credit_type_forms" +import { CreditApplication } from "./entity/credit_applications" +import { CreditApplicationFileStatus, CreditApplicationStatus } from "./types/credit" +import { CreditApplicationForm } from "./entity/credit_application_forms" +import { CreditCompanyUser } from "./entity/credit_company_users" +import { CreditCompanyUserRefreshToken } from "./entity/credit_company_user_refresh_token" +import { CreditApplicationChat } from "./entity/credit_application_chats" +import { CreditConfigs } from "./entity/credit_config" +import { CreditConfigInsurance } from "./entity/credit_config_insurance" +import { Application } from "./entity/application" +import { TellerMutation } from "./entity/teller_mutation" +import { LogHikvision } from "./entity/log_hikvision" +import { BrivaCompany } from "./entity/briva_companies" +import { BrivaCompanyUser } from "./entity/briva_company_users" +import { BrivaCompanyUserRefreshToken } from "./entity/briva_company_user_refresh_token" +import { BrivaAccount } from "./entity/briva_accounts" +import { BrivaTransaction } from "./entity/briva_transactions" -import { AssetSupplier } from "./entity/asset_supplier"; -import { AssetFixedClassification } from "./entity/asset_fixed_classification"; -import { AssetFixedType } from "./entity/asset_fixed_type"; -import { AssetGoodCategory } from "./entity/asset_good_category"; -import { AssetGood } from "./entity/asset_good"; -import { AssetRequestOrderCategory } from "./entity/asset_request_order_category"; -import { AssetRequestOrder } from "./entity/asset_request_order"; -import { AssetRequestOrderGood } from "./entity/asset_request_order_good"; -import { AssetPurchase } from "./entity/asset_purchase"; -import { AssetPurchaseRequestOrder } from "./entity/asset_purchase_request_order"; -import { AssetPurchaseGoodsReceipt } from "./entity/asset_purchase_goods_receipt"; -import { AssetPurchaseGoodReceiptGood } from "./entity/asset_purchase_goods_receipt_good"; -import { AssetPurchaseRealization } from "./entity/asset_purchase_realization"; -import { AssetPurchaseBondRealizationGood } from "./entity/asset_purchase_purchase_bond_realization_good"; -import { AssetPurchaseInvoice } from "./entity/asset_purchase_invoice"; -import { AssetInventoryCondition, AssetFixedTypeType } from "./types/asset"; -import { AssetInventory } from "./entity/asset_inventories"; -import { AssetInventoryAttribute } from "./entity/asset_inventory_attributes"; -import { AssetInventoryHistory } from "./entity/asset_inventory_histories"; -import { AssetInventoryDepreciation } from "./entity/asset_inventory_depreciations"; -import { AssetInventoryDepreciationLog } from "./entity/asset_inventory_depreciation_logs"; +import { AssetSupplier } from "./entity/asset_supplier" +import { AssetFixedClassification } from "./entity/asset_fixed_classification" +import { AssetFixedType } from "./entity/asset_fixed_type" +import { AssetGoodCategory } from "./entity/asset_good_category" +import { AssetGood } from "./entity/asset_good" +import { AssetRequestOrderCategory } from "./entity/asset_request_order_category" +import { AssetRequestOrder } from "./entity/asset_request_order" +import { AssetRequestOrderGood } from "./entity/asset_request_order_good" +import { AssetPurchase } from "./entity/asset_purchase" +import { AssetPurchaseRequestOrder } from "./entity/asset_purchase_request_order" +import { AssetPurchaseGoodsReceipt } from "./entity/asset_purchase_goods_receipt" +import { AssetPurchaseGoodReceiptGood } from "./entity/asset_purchase_goods_receipt_good" +import { AssetPurchaseRealization } from "./entity/asset_purchase_realization" +import { AssetPurchaseBondRealizationGood } from "./entity/asset_purchase_purchase_bond_realization_good" +import { AssetPurchaseInvoice } from "./entity/asset_purchase_invoice" +import { AssetInventoryCondition, AssetFixedTypeType } from "./types/asset" +import { AssetInventory } from "./entity/asset_inventories" +import { AssetInventoryAttribute } from "./entity/asset_inventory_attributes" +import { AssetInventoryHistory } from "./entity/asset_inventory_histories" +import { AssetInventoryDepreciation } from "./entity/asset_inventory_depreciations" +import { AssetInventoryDepreciationLog } from "./entity/asset_inventory_depreciation_logs" -import { RemitMunisipo } from "./entity/remit_munisipos"; -import { RemitAdministrativu } from "./entity/remit_administrativus"; -import { RemitSuco } from "./entity/remit_sucos"; -import { RemitAldeia } from "./entity/remit_aldeias"; -import { RemitBeneficial } from "./entity/remit_beneficials"; -import { RemitBeneficiary } from "./entity/remit_beneficiaries"; -import { RemitConfigBank } from "./entity/remit_config_banks"; -import { RemitConfigBusinessType } from "./entity/remit_config_business_types"; -import { RemitConfigKurs } from "./entity/remit_config_kurs"; -import { RemitConfigNationalities } from "./entity/remit_config_nationalities"; -import { RemitConfigOccupation } from "./entity/remit_config_occupations"; -import { RemitConfigPurpose } from "./entity/remit_config_purposes"; -import { RemitConfigSourceIncome } from "./entity/remit_config_source_incomes"; -import { RemitPartnerAccounts } from "./entity/remit_partner_accounts"; -import { RemitPartnerApi } from "./entity/remit_partner_apis"; -import { RemitPartnerDocument } from "./entity/remit_partner_documents"; -import { RemitPartnerFee } from "./entity/remit_partner_fees"; -import { RemitPartnerOwners } from "./entity/remit_partner_owners"; -import { RemitPartnerUser } from "./entity/remit_partner_users"; -import { RemitPartner } from "./entity/remit_partners"; -import { RemitSender } from "./entity/remit_senders"; -import { RemitSenderIdentity } from "./entity/remit_sender_identities"; -import { RemitTransaction } from "./entity/remit_transactions"; +import { RemitMunisipo } from "./entity/remit_munisipos" +import { RemitAdministrativu } from "./entity/remit_administrativus" +import { RemitSuco } from "./entity/remit_sucos" +import { RemitAldeia } from "./entity/remit_aldeias" +import { RemitBeneficial } from "./entity/remit_beneficials" +import { RemitBeneficiary } from "./entity/remit_beneficiaries" +import { RemitConfigBank } from "./entity/remit_config_banks" +import { RemitConfigBusinessType } from "./entity/remit_config_business_types" +import { RemitConfigKurs } from "./entity/remit_config_kurs" +import { RemitConfigNationalities } from "./entity/remit_config_nationalities" +import { RemitConfigOccupation } from "./entity/remit_config_occupations" +import { RemitConfigPurpose } from "./entity/remit_config_purposes" +import { RemitConfigSourceIncome } from "./entity/remit_config_source_incomes" +import { RemitPartnerAccounts } from "./entity/remit_partner_accounts" +import { RemitPartnerApi } from "./entity/remit_partner_apis" +import { RemitPartnerDocument } from "./entity/remit_partner_documents" +import { RemitPartnerFee } from "./entity/remit_partner_fees" +import { RemitPartnerOwners } from "./entity/remit_partner_owners" +import { RemitPartnerUser } from "./entity/remit_partner_users" +import { RemitPartnerUserRefreshToken } from "./entity/remit_partner_user_refresh_token" +import { RemitPartner } from "./entity/remit_partners" +import { RemitSender } from "./entity/remit_senders" +import { RemitSenderIdentity } from "./entity/remit_sender_identities" +import { RemitTransaction } from "./entity/remit_transactions" import { - RemitPartnerType, + RemitPartnerType, // RemitPartnerStatus, RemitRiskLevel, RemitGender, @@ -121,50 +122,70 @@ import { RemitTransactionCurrencyType, } from "./types/remit" -import { BrizziBatchStatus, BrizziCardStatus, BrizziHistoryActvity, BrizziHistoryType, BrizziHistoryRemarks } from "./types/brizzi"; -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, + BrizziBatchStatus, // + BrizziCardStatus, + BrizziHistoryActvity, + BrizziHistoryType, + BrizziHistoryRemarks, +} from "./types/brizzi" + +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, + BrilinkBalanceType, + BrilinkBalanceCode, + BrilinkBalanceMutationType, + BrilinkBalanceMutationActvity, + BrilinkBalanceSourceType, + BrilinkBalanceDestinationType, + BrilinkBalanceMutationStatus, + BrilinkTransactionType, + BrilinkTransactionActivity, + BrilinkTransactionStatus, + BrilinkMerchantSettlementStatus, + BrilinkTransactionCodePrefixType, + BrilinkTransactionCodePrefixActivity, + BrilinkBalanceMutationCodePrefixType, + BrilinkBalanceMutationCodePrefixActvity, BrilinkBalanceTopupCodePrefix, BrilinkDiscountModule, BrilinkDiscountStatus, - BrilinkDiscountType -} from "./types/brilink"; + BrilinkDiscountType, +} from "./types/brilink" -import { BrilinkMerchant } from "./entity/brilink_merchants"; -import { BrilinkMerchantUser } from "./entity/brilink_merchant_users"; -import { BrilinkMerchantUserRefreshToken } from "./entity/brilink_merchant_user_refresh_token"; -import { BrilinkTerminal } from "./entity/brilink_terminals"; -import { BrilinkTerminalMenu } from "./entity/brilink_terminal_menus"; -import { BrilinkMerchantSite } from "./entity/brilink_merchant_sites"; -import { BrilinkMerchantTerminal } from "./entity/brilink_merchant_terminals"; -import { BrilinkMerchantTerminalHistory } from "./entity/brilink_merchant_terminal_histories"; -import { BrilinkMerchantTerminalMenu } from "./entity/brilink_merchant_terminal_menus"; -import { BrilinkMerchantTerminalUser } from "./entity/brilink_merchant_terminal_users"; -import { BrilinkMerchantTerminalUserRefreshToken } from "./entity/brilink_merchant_terminal_user_refresh_token"; -import { BrilinkBalance } from "./entity/brilink_balances.ts"; -import { BrilinkBalanceMutation } from "./entity/brilink_balance_mutations"; -import { BrilinkBalanceTopup } from "./entity/brilink_balance_topup"; -import { BrilinkTerminalLanguage } from "./entity/brilink_terminal_languages"; -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"; -import { BriapiAppendixBank } from "./entity/briapi_appendix_banks"; -import { BriapiAppendixWallet } from "./entity/briapi_appendix_wallets"; -import { BriapiAppendixId } from "./entity/briapi_appendix_ids"; +import { BrilinkMerchant } from "./entity/brilink_merchants" +import { BrilinkMerchantUser } from "./entity/brilink_merchant_users" +import { BrilinkMerchantUserRefreshToken } from "./entity/brilink_merchant_user_refresh_token" +import { BrilinkTerminal } from "./entity/brilink_terminals" +import { BrilinkTerminalMenu } from "./entity/brilink_terminal_menus" +import { BrilinkMerchantSite } from "./entity/brilink_merchant_sites" +import { BrilinkMerchantTerminal } from "./entity/brilink_merchant_terminals" +import { BrilinkMerchantTerminalHistory } from "./entity/brilink_merchant_terminal_histories" +import { BrilinkMerchantTerminalMenu } from "./entity/brilink_merchant_terminal_menus" +import { BrilinkMerchantTerminalUser } from "./entity/brilink_merchant_terminal_users" +import { BrilinkMerchantTerminalUserRefreshToken } from "./entity/brilink_merchant_terminal_user_refresh_token" +import { BrilinkBalance } from "./entity/brilink_balances.ts" +import { BrilinkBalanceMutation } from "./entity/brilink_balance_mutations" +import { BrilinkBalanceTopup } from "./entity/brilink_balance_topup" +import { BrilinkTerminalLanguage } from "./entity/brilink_terminal_languages" +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" +import { BriapiAppendixBank } from "./entity/briapi_appendix_banks" +import { BriapiAppendixWallet } from "./entity/briapi_appendix_wallets" +import { BriapiAppendixId } from "./entity/briapi_appendix_ids" export { User, // @@ -232,13 +253,11 @@ export { Application, TellerMutation, LogHikvision, - BrivaCompany, BrivaCompanyUser, BrivaCompanyUserRefreshToken, BrivaAccount, BrivaTransaction, - AssetSupplier, AssetFixedClassification, AssetFixedType, @@ -261,7 +280,6 @@ export { AssetFixedTypeType, AssetInventoryDepreciation, AssetInventoryDepreciationLog, - BrizziBatchStatus, BrizziCardStatus, BrizziHistoryActvity, @@ -271,7 +289,6 @@ export { BrizziCard, BrizziHistory, BrizziOldCard, - BrilinkMerchantStatus, BrilinkTerminalType, BrilinkTerminalCondition, @@ -315,13 +332,11 @@ export { BrilinkDiscountStatus, BrilinkDiscountType, BrilinkDiscount, - BriapiConfig, BriapiLog, BriapiAppendixBank, BriapiAppendixWallet, BriapiAppendixId, - RemitMunisipo, RemitAdministrativu, RemitSuco, @@ -351,8 +366,9 @@ export { RemitPartnerFee, RemitPartnerOwners, RemitPartnerUser, + RemitPartnerUserRefreshToken, RemitPartner, RemitSender, RemitSenderIdentity, RemitTransaction, -}; +} From 145fd4a1c097ea4c74338be914997fea264bb0ee Mon Sep 17 00:00:00 2001 From: fro1991 Date: Sun, 22 Jun 2025 13:51:10 +0700 Subject: [PATCH 19/30] update --- ...t_config_kurs.ts => remit_config_rates.ts} | 40 ++++++++++++------- src/index.ts | 4 +- 2 files changed, 28 insertions(+), 16 deletions(-) rename src/entity/{remit_config_kurs.ts => remit_config_rates.ts} (50%) diff --git a/src/entity/remit_config_kurs.ts b/src/entity/remit_config_rates.ts similarity index 50% rename from src/entity/remit_config_kurs.ts rename to src/entity/remit_config_rates.ts index 72ea709..b6ca04d 100644 --- a/src/entity/remit_config_kurs.ts +++ b/src/entity/remit_config_rates.ts @@ -1,42 +1,54 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, JoinColumn, ManyToOne } from "typeorm"; +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, JoinColumn, ManyToOne } from "typeorm" -import { Status } from "../types/status"; +import { Status } from "../types/status" -@Entity("remit_config_kurs", { schema: "remits" }) -export class RemitConfigKurs { +@Entity("remit_config_rates", { schema: "remits" }) +export class RemitConfigRate { @PrimaryGeneratedColumn("uuid") - id: string; + id: string @Column({ nullable: true, length: 256, }) - value: string; + from: string + + @Column({ + nullable: true, + length: 256, + }) + to: string + + @Column({ + nullable: true, + length: 256, + }) + value: string @Column({ nullable: false, length: 64, }) - status: Status; + status: Status @Column() @CreateDateColumn() - created_at: Date; + created_at: Date - @Column({ nullable: true, length: 256, }) - created_by: string; + @Column({ nullable: true, length: 256 }) + created_by: string @Column({ nullable: true }) @UpdateDateColumn() - updated_at: Date; + updated_at: Date @Column({ nullable: true, length: 256 }) - updated_by: string; + updated_by: string @Column({ nullable: true }) @DeleteDateColumn() - deleted_at: Date; + deleted_at: Date @Column({ nullable: true, length: 256 }) - deleted_by: string; + deleted_by: string } diff --git a/src/index.ts b/src/index.ts index 7b1fdec..14f99d1 100644 --- a/src/index.ts +++ b/src/index.ts @@ -92,7 +92,7 @@ import { RemitBeneficial } from "./entity/remit_beneficials" import { RemitBeneficiary } from "./entity/remit_beneficiaries" import { RemitConfigBank } from "./entity/remit_config_banks" import { RemitConfigBusinessType } from "./entity/remit_config_business_types" -import { RemitConfigKurs } from "./entity/remit_config_kurs" +import { RemitConfigRate } from "./entity/remit_config_rates" import { RemitConfigNationalities } from "./entity/remit_config_nationalities" import { RemitConfigOccupation } from "./entity/remit_config_occupations" import { RemitConfigPurpose } from "./entity/remit_config_purposes" @@ -355,7 +355,7 @@ export { RemitBeneficiary, RemitConfigBank, RemitConfigBusinessType, - RemitConfigKurs, + RemitConfigRate, RemitConfigNationalities, RemitConfigOccupation, RemitConfigPurpose, From 2fa3c31f803f4764ace78b7e849e4128086fba66 Mon Sep 17 00:00:00 2001 From: fro1991 Date: Sun, 22 Jun 2025 13:54:41 +0700 Subject: [PATCH 20/30] update --- .prettierrc | 7 +++++++ src/entity/remit_transactions.ts | 17 ++++++++++++++--- 2 files changed, 21 insertions(+), 3 deletions(-) create mode 100644 .prettierrc diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..43962d8 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,7 @@ +{ + "printWidth": 5000, + "semi": true, + "singleQuote": false, + "tabWidth": 4, + "useTabs": true +} diff --git a/src/entity/remit_transactions.ts b/src/entity/remit_transactions.ts index 7127aed..3b6923f 100644 --- a/src/entity/remit_transactions.ts +++ b/src/entity/remit_transactions.ts @@ -8,6 +8,7 @@ import { RemitBeneficiary } from "./remit_beneficiaries"; import { RemitConfigPurpose } from "./remit_config_purposes"; import { RemitTransactionCurrencyType, RemitTransactionStatus } from "../types/remit"; import { RemitBeneficial } from "./remit_beneficials"; +import { RemitConfigRate } from "./remit_config_rates"; @Entity("remit_transactions", { schema: "remits" }) export class RemitTransaction { @@ -56,10 +57,20 @@ export class RemitTransaction { @Column({ nullable: false, - type: 'float8', + type: "float8", }) amount: Number; + @ManyToOne(() => RemitConfigRate, { onDelete: "RESTRICT", nullable: true }) + @JoinTable() + rate: RemitConfigRate; + + @Column({ + nullable: true, + type: "float8", + }) + total: Number; + @Column({ nullable: true, length: 4096, @@ -81,14 +92,14 @@ export class RemitTransaction { @Column({ nullable: true }) approved_at: Date; - @Column({ nullable: true, length: 256, }) + @Column({ nullable: true, length: 256 }) approved_by: string; @Column() @CreateDateColumn() created_at: Date; - @Column({ nullable: true, length: 256, }) + @Column({ nullable: true, length: 256 }) created_by: string; @Column({ nullable: true }) From b4439405fd2fd8b6ae8f89265cdc26d37d5552a8 Mon Sep 17 00:00:00 2001 From: fro1991 Date: Sat, 28 Jun 2025 10:36:21 +0700 Subject: [PATCH 21/30] brilink update --- src/entity/tcel_configs.ts | 28 ++++ src/entity/tcel_logs.ts | 42 ++++++ src/index.ts | 287 +++++++++++++++++++------------------ 3 files changed, 216 insertions(+), 141 deletions(-) create mode 100644 src/entity/tcel_configs.ts create mode 100644 src/entity/tcel_logs.ts diff --git a/src/entity/tcel_configs.ts b/src/entity/tcel_configs.ts new file mode 100644 index 0000000..c43bbc7 --- /dev/null +++ b/src/entity/tcel_configs.ts @@ -0,0 +1,28 @@ +import { Column, CreateDateColumn, Entity, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm"; + +@Entity("tcel_configs", { schema: "tcel" }) +export class TcelConfig { + @PrimaryGeneratedColumn("uuid") + id: string; + + @Column({ + length: 4096, + }) + key: string; + + @Column({ + length: 4096, + }) + value: string; + + @Column() + @CreateDateColumn() + created_at: Date; + + @Column({ nullable: true }) + @UpdateDateColumn() + updated_at: Date; + + @Column({ nullable: true }) + expired_at: Date; +} diff --git a/src/entity/tcel_logs.ts b/src/entity/tcel_logs.ts new file mode 100644 index 0000000..0cd2968 --- /dev/null +++ b/src/entity/tcel_logs.ts @@ -0,0 +1,42 @@ +import { Column, CreateDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn } from "typeorm"; +import { Application } from "./application"; + +@Entity("tcel_logs", { schema: "tcel" }) +export class TcelLog { + @PrimaryGeneratedColumn("uuid") + id: string; + + @ManyToOne(() => Application, { onDelete: "NO ACTION" }) + @JoinColumn({ name: "application" }) + application: Application; + + @Column({ + length: 256, + }) + url: string; + + @Column({ + type: "jsonb", + }) + header: string; + + @Column({ + type: "jsonb", + }) + body: string; + + @Column() + request_at: Date; + + @Column({ + length: 4096, + }) + response: string; + + @Column() + response_at: Date; + + @Column() + @CreateDateColumn() + created_at: Date; +} diff --git a/src/index.ts b/src/index.ts index 14f99d1..af69c74 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,113 +1,113 @@ -import { CifAccount } from "./entity/cif_account" -import { LNKOLEK } from "./entity/lnkolek" -import { TrialBalanceBranch } from "./entity/trial_balance_branch" -import { TrialBalanceConsolidation } from "./entity/trial_balance_consolidation" -import { UserActivity } from "./entity/user_activity" -import { UserRefreshToken } from "./entity/user_refresh_token" -import { User } from "./entity/users" -import { UserRole } from "./entity/users_roles" -import { ActivityType, ActivityTypeReverse } from "./types/action" -import { ErrorType, ErrorValidation } from "./types/error" -import { Paging } from "./types/paging" -import { RoleList } from "./types/role" -import { Status } from "./types/status" -import { EmailBody } from "./types/email" -import { Branch } from "./entity/branchs" -import { Product } from "./entity/products" -import { Menu } from "./entity/menu" -import { Administrativu } from "./entity/administrativu" -import { Aldeia } from "./entity/aldeia" -import { ClassEconomi } from "./entity/class_economi" -import { District } from "./entity/district" -import { IncomeTier } from "./entity/income_tier" -import { Munisipo } from "./entity/munisipo" -import { Suco } from "./entity/suco" -import { LogPull } from "./entity/log_pull" -import { LogPullType, StatusLogPull, TellerCode } from "./types/pull" -import { Category } from "./entity/categories" -import { CategorySource } from "./types/category_source" -import { PullerStatus } from "./entity/puller_status" -import { Target } from "./entity/targets" -import { BankGaransi } from "./entity/bank_garansi" -import { BankGaransiType } from "./entity/bank_garansi_type" -import { BankGaransiStatus } from "./entity/bank_garansi_status" -import { BankGaransiPending } from "./entity/bank_garansi_pending" -import { BankGaransiPic } from "./entity/bank_garansi_pic" -import { CategoryType } from "./types/category" -import { Summarize } from "./entity/summarizes" -import { SummarizeLog } from "./entity/summarize_log" -import { SummarizeLogStatus, SummarizeType } from "./types/summarize" -import { TelegramBody, TelegramResponseSend } from "./types/telegram" -import { Ledger } from "./entity/ledgers" -import { BpaFormat } from "./entity/bpa_format" -import { BpaLog } from "./entity/bpa_log" -import { Bpa } from "./entity/bpa" -import { CreditCompany } from "./entity/credit_companies" -import { CreditDebtor } from "./entity/credit_debtors" -import { CreditTypeForms } from "./entity/credit_type_forms" -import { CreditApplication } from "./entity/credit_applications" -import { CreditApplicationFileStatus, CreditApplicationStatus } from "./types/credit" -import { CreditApplicationForm } from "./entity/credit_application_forms" -import { CreditCompanyUser } from "./entity/credit_company_users" -import { CreditCompanyUserRefreshToken } from "./entity/credit_company_user_refresh_token" -import { CreditApplicationChat } from "./entity/credit_application_chats" -import { CreditConfigs } from "./entity/credit_config" -import { CreditConfigInsurance } from "./entity/credit_config_insurance" -import { Application } from "./entity/application" -import { TellerMutation } from "./entity/teller_mutation" -import { LogHikvision } from "./entity/log_hikvision" -import { BrivaCompany } from "./entity/briva_companies" -import { BrivaCompanyUser } from "./entity/briva_company_users" -import { BrivaCompanyUserRefreshToken } from "./entity/briva_company_user_refresh_token" -import { BrivaAccount } from "./entity/briva_accounts" -import { BrivaTransaction } from "./entity/briva_transactions" +import { CifAccount } from "./entity/cif_account"; +import { LNKOLEK } from "./entity/lnkolek"; +import { TrialBalanceBranch } from "./entity/trial_balance_branch"; +import { TrialBalanceConsolidation } from "./entity/trial_balance_consolidation"; +import { UserActivity } from "./entity/user_activity"; +import { UserRefreshToken } from "./entity/user_refresh_token"; +import { User } from "./entity/users"; +import { UserRole } from "./entity/users_roles"; +import { ActivityType, ActivityTypeReverse } from "./types/action"; +import { ErrorType, ErrorValidation } from "./types/error"; +import { Paging } from "./types/paging"; +import { RoleList } from "./types/role"; +import { Status } from "./types/status"; +import { EmailBody } from "./types/email"; +import { Branch } from "./entity/branchs"; +import { Product } from "./entity/products"; +import { Menu } from "./entity/menu"; +import { Administrativu } from "./entity/administrativu"; +import { Aldeia } from "./entity/aldeia"; +import { ClassEconomi } from "./entity/class_economi"; +import { District } from "./entity/district"; +import { IncomeTier } from "./entity/income_tier"; +import { Munisipo } from "./entity/munisipo"; +import { Suco } from "./entity/suco"; +import { LogPull } from "./entity/log_pull"; +import { LogPullType, StatusLogPull, TellerCode } from "./types/pull"; +import { Category } from "./entity/categories"; +import { CategorySource } from "./types/category_source"; +import { PullerStatus } from "./entity/puller_status"; +import { Target } from "./entity/targets"; +import { BankGaransi } from "./entity/bank_garansi"; +import { BankGaransiType } from "./entity/bank_garansi_type"; +import { BankGaransiStatus } from "./entity/bank_garansi_status"; +import { BankGaransiPending } from "./entity/bank_garansi_pending"; +import { BankGaransiPic } from "./entity/bank_garansi_pic"; +import { CategoryType } from "./types/category"; +import { Summarize } from "./entity/summarizes"; +import { SummarizeLog } from "./entity/summarize_log"; +import { SummarizeLogStatus, SummarizeType } from "./types/summarize"; +import { TelegramBody, TelegramResponseSend } from "./types/telegram"; +import { Ledger } from "./entity/ledgers"; +import { BpaFormat } from "./entity/bpa_format"; +import { BpaLog } from "./entity/bpa_log"; +import { Bpa } from "./entity/bpa"; +import { CreditCompany } from "./entity/credit_companies"; +import { CreditDebtor } from "./entity/credit_debtors"; +import { CreditTypeForms } from "./entity/credit_type_forms"; +import { CreditApplication } from "./entity/credit_applications"; +import { CreditApplicationFileStatus, CreditApplicationStatus } from "./types/credit"; +import { CreditApplicationForm } from "./entity/credit_application_forms"; +import { CreditCompanyUser } from "./entity/credit_company_users"; +import { CreditCompanyUserRefreshToken } from "./entity/credit_company_user_refresh_token"; +import { CreditApplicationChat } from "./entity/credit_application_chats"; +import { CreditConfigs } from "./entity/credit_config"; +import { CreditConfigInsurance } from "./entity/credit_config_insurance"; +import { Application } from "./entity/application"; +import { TellerMutation } from "./entity/teller_mutation"; +import { LogHikvision } from "./entity/log_hikvision"; +import { BrivaCompany } from "./entity/briva_companies"; +import { BrivaCompanyUser } from "./entity/briva_company_users"; +import { BrivaCompanyUserRefreshToken } from "./entity/briva_company_user_refresh_token"; +import { BrivaAccount } from "./entity/briva_accounts"; +import { BrivaTransaction } from "./entity/briva_transactions"; -import { AssetSupplier } from "./entity/asset_supplier" -import { AssetFixedClassification } from "./entity/asset_fixed_classification" -import { AssetFixedType } from "./entity/asset_fixed_type" -import { AssetGoodCategory } from "./entity/asset_good_category" -import { AssetGood } from "./entity/asset_good" -import { AssetRequestOrderCategory } from "./entity/asset_request_order_category" -import { AssetRequestOrder } from "./entity/asset_request_order" -import { AssetRequestOrderGood } from "./entity/asset_request_order_good" -import { AssetPurchase } from "./entity/asset_purchase" -import { AssetPurchaseRequestOrder } from "./entity/asset_purchase_request_order" -import { AssetPurchaseGoodsReceipt } from "./entity/asset_purchase_goods_receipt" -import { AssetPurchaseGoodReceiptGood } from "./entity/asset_purchase_goods_receipt_good" -import { AssetPurchaseRealization } from "./entity/asset_purchase_realization" -import { AssetPurchaseBondRealizationGood } from "./entity/asset_purchase_purchase_bond_realization_good" -import { AssetPurchaseInvoice } from "./entity/asset_purchase_invoice" -import { AssetInventoryCondition, AssetFixedTypeType } from "./types/asset" -import { AssetInventory } from "./entity/asset_inventories" -import { AssetInventoryAttribute } from "./entity/asset_inventory_attributes" -import { AssetInventoryHistory } from "./entity/asset_inventory_histories" -import { AssetInventoryDepreciation } from "./entity/asset_inventory_depreciations" -import { AssetInventoryDepreciationLog } from "./entity/asset_inventory_depreciation_logs" +import { AssetSupplier } from "./entity/asset_supplier"; +import { AssetFixedClassification } from "./entity/asset_fixed_classification"; +import { AssetFixedType } from "./entity/asset_fixed_type"; +import { AssetGoodCategory } from "./entity/asset_good_category"; +import { AssetGood } from "./entity/asset_good"; +import { AssetRequestOrderCategory } from "./entity/asset_request_order_category"; +import { AssetRequestOrder } from "./entity/asset_request_order"; +import { AssetRequestOrderGood } from "./entity/asset_request_order_good"; +import { AssetPurchase } from "./entity/asset_purchase"; +import { AssetPurchaseRequestOrder } from "./entity/asset_purchase_request_order"; +import { AssetPurchaseGoodsReceipt } from "./entity/asset_purchase_goods_receipt"; +import { AssetPurchaseGoodReceiptGood } from "./entity/asset_purchase_goods_receipt_good"; +import { AssetPurchaseRealization } from "./entity/asset_purchase_realization"; +import { AssetPurchaseBondRealizationGood } from "./entity/asset_purchase_purchase_bond_realization_good"; +import { AssetPurchaseInvoice } from "./entity/asset_purchase_invoice"; +import { AssetInventoryCondition, AssetFixedTypeType } from "./types/asset"; +import { AssetInventory } from "./entity/asset_inventories"; +import { AssetInventoryAttribute } from "./entity/asset_inventory_attributes"; +import { AssetInventoryHistory } from "./entity/asset_inventory_histories"; +import { AssetInventoryDepreciation } from "./entity/asset_inventory_depreciations"; +import { AssetInventoryDepreciationLog } from "./entity/asset_inventory_depreciation_logs"; -import { RemitMunisipo } from "./entity/remit_munisipos" -import { RemitAdministrativu } from "./entity/remit_administrativus" -import { RemitSuco } from "./entity/remit_sucos" -import { RemitAldeia } from "./entity/remit_aldeias" -import { RemitBeneficial } from "./entity/remit_beneficials" -import { RemitBeneficiary } from "./entity/remit_beneficiaries" -import { RemitConfigBank } from "./entity/remit_config_banks" -import { RemitConfigBusinessType } from "./entity/remit_config_business_types" -import { RemitConfigRate } from "./entity/remit_config_rates" -import { RemitConfigNationalities } from "./entity/remit_config_nationalities" -import { RemitConfigOccupation } from "./entity/remit_config_occupations" -import { RemitConfigPurpose } from "./entity/remit_config_purposes" -import { RemitConfigSourceIncome } from "./entity/remit_config_source_incomes" -import { RemitPartnerAccounts } from "./entity/remit_partner_accounts" -import { RemitPartnerApi } from "./entity/remit_partner_apis" -import { RemitPartnerDocument } from "./entity/remit_partner_documents" -import { RemitPartnerFee } from "./entity/remit_partner_fees" -import { RemitPartnerOwners } from "./entity/remit_partner_owners" -import { RemitPartnerUser } from "./entity/remit_partner_users" -import { RemitPartnerUserRefreshToken } from "./entity/remit_partner_user_refresh_token" -import { RemitPartner } from "./entity/remit_partners" -import { RemitSender } from "./entity/remit_senders" -import { RemitSenderIdentity } from "./entity/remit_sender_identities" -import { RemitTransaction } from "./entity/remit_transactions" +import { RemitMunisipo } from "./entity/remit_munisipos"; +import { RemitAdministrativu } from "./entity/remit_administrativus"; +import { RemitSuco } from "./entity/remit_sucos"; +import { RemitAldeia } from "./entity/remit_aldeias"; +import { RemitBeneficial } from "./entity/remit_beneficials"; +import { RemitBeneficiary } from "./entity/remit_beneficiaries"; +import { RemitConfigBank } from "./entity/remit_config_banks"; +import { RemitConfigBusinessType } from "./entity/remit_config_business_types"; +import { RemitConfigRate } from "./entity/remit_config_rates"; +import { RemitConfigNationalities } from "./entity/remit_config_nationalities"; +import { RemitConfigOccupation } from "./entity/remit_config_occupations"; +import { RemitConfigPurpose } from "./entity/remit_config_purposes"; +import { RemitConfigSourceIncome } from "./entity/remit_config_source_incomes"; +import { RemitPartnerAccounts } from "./entity/remit_partner_accounts"; +import { RemitPartnerApi } from "./entity/remit_partner_apis"; +import { RemitPartnerDocument } from "./entity/remit_partner_documents"; +import { RemitPartnerFee } from "./entity/remit_partner_fees"; +import { RemitPartnerOwners } from "./entity/remit_partner_owners"; +import { RemitPartnerUser } from "./entity/remit_partner_users"; +import { RemitPartnerUserRefreshToken } from "./entity/remit_partner_user_refresh_token"; +import { RemitPartner } from "./entity/remit_partners"; +import { RemitSender } from "./entity/remit_senders"; +import { RemitSenderIdentity } from "./entity/remit_sender_identities"; +import { RemitTransaction } from "./entity/remit_transactions"; import { RemitPartnerType, // @@ -120,7 +120,7 @@ import { RemitSenderType, RemitTransactionStatus, RemitTransactionCurrencyType, -} from "./types/remit" +} from "./types/remit"; import { BrizziBatchStatus, // @@ -128,12 +128,12 @@ import { BrizziHistoryActvity, BrizziHistoryType, BrizziHistoryRemarks, -} from "./types/brizzi" +} from "./types/brizzi"; -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 { 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, @@ -158,34 +158,37 @@ import { BrilinkDiscountModule, BrilinkDiscountStatus, BrilinkDiscountType, -} from "./types/brilink" +} from "./types/brilink"; -import { BrilinkMerchant } from "./entity/brilink_merchants" -import { BrilinkMerchantUser } from "./entity/brilink_merchant_users" -import { BrilinkMerchantUserRefreshToken } from "./entity/brilink_merchant_user_refresh_token" -import { BrilinkTerminal } from "./entity/brilink_terminals" -import { BrilinkTerminalMenu } from "./entity/brilink_terminal_menus" -import { BrilinkMerchantSite } from "./entity/brilink_merchant_sites" -import { BrilinkMerchantTerminal } from "./entity/brilink_merchant_terminals" -import { BrilinkMerchantTerminalHistory } from "./entity/brilink_merchant_terminal_histories" -import { BrilinkMerchantTerminalMenu } from "./entity/brilink_merchant_terminal_menus" -import { BrilinkMerchantTerminalUser } from "./entity/brilink_merchant_terminal_users" -import { BrilinkMerchantTerminalUserRefreshToken } from "./entity/brilink_merchant_terminal_user_refresh_token" -import { BrilinkBalance } from "./entity/brilink_balances.ts" -import { BrilinkBalanceMutation } from "./entity/brilink_balance_mutations" -import { BrilinkBalanceTopup } from "./entity/brilink_balance_topup" -import { BrilinkTerminalLanguage } from "./entity/brilink_terminal_languages" -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 { BrilinkMerchant } from "./entity/brilink_merchants"; +import { BrilinkMerchantUser } from "./entity/brilink_merchant_users"; +import { BrilinkMerchantUserRefreshToken } from "./entity/brilink_merchant_user_refresh_token"; +import { BrilinkTerminal } from "./entity/brilink_terminals"; +import { BrilinkTerminalMenu } from "./entity/brilink_terminal_menus"; +import { BrilinkMerchantSite } from "./entity/brilink_merchant_sites"; +import { BrilinkMerchantTerminal } from "./entity/brilink_merchant_terminals"; +import { BrilinkMerchantTerminalHistory } from "./entity/brilink_merchant_terminal_histories"; +import { BrilinkMerchantTerminalMenu } from "./entity/brilink_merchant_terminal_menus"; +import { BrilinkMerchantTerminalUser } from "./entity/brilink_merchant_terminal_users"; +import { BrilinkMerchantTerminalUserRefreshToken } from "./entity/brilink_merchant_terminal_user_refresh_token"; +import { BrilinkBalance } from "./entity/brilink_balances.ts"; +import { BrilinkBalanceMutation } from "./entity/brilink_balance_mutations"; +import { BrilinkBalanceTopup } from "./entity/brilink_balance_topup"; +import { BrilinkTerminalLanguage } from "./entity/brilink_terminal_languages"; +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" -import { BriapiAppendixBank } from "./entity/briapi_appendix_banks" -import { BriapiAppendixWallet } from "./entity/briapi_appendix_wallets" -import { BriapiAppendixId } from "./entity/briapi_appendix_ids" +import { BriapiConfig } from "./entity/briapi_configs"; +import { BriapiLog } from "./entity/briapi_logs"; +import { BriapiAppendixBank } from "./entity/briapi_appendix_banks"; +import { BriapiAppendixWallet } from "./entity/briapi_appendix_wallets"; +import { BriapiAppendixId } from "./entity/briapi_appendix_ids"; + +import { TcelLog } from "./entity/tcel_logs"; +import { TcelConfig } from "./entity/tcel_configs"; export { User, // @@ -371,4 +374,6 @@ export { RemitSender, RemitSenderIdentity, RemitTransaction, -} + TcelConfig, + TcelLog, +}; From 528901a432f2c796d37e607f8cb9248e48a8d042 Mon Sep 17 00:00:00 2001 From: fro1991 Date: Sat, 28 Jun 2025 13:33:05 +0700 Subject: [PATCH 22/30] brilink update --- src/entity/brilink_merchant_product_items.ts | 54 +++++++ src/entity/brilink_product_categories.ts | 74 +++++++++ src/entity/brilink_product_items.ts | 99 ++++++++++++ src/entity/brilink_product_types.ts | 62 ++++++++ src/index.ts | 10 ++ src/types/brilink.ts | 149 ++++++++++--------- 6 files changed, 377 insertions(+), 71 deletions(-) create mode 100644 src/entity/brilink_merchant_product_items.ts create mode 100644 src/entity/brilink_product_categories.ts create mode 100644 src/entity/brilink_product_items.ts create mode 100644 src/entity/brilink_product_types.ts diff --git a/src/entity/brilink_merchant_product_items.ts b/src/entity/brilink_merchant_product_items.ts new file mode 100644 index 0000000..8acc1f0 --- /dev/null +++ b/src/entity/brilink_merchant_product_items.ts @@ -0,0 +1,54 @@ +import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinTable, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm"; +import { Status } from "../types/status"; +import { BrilinkProductCategory } from "./brilink_product_categories"; +import { BrilinkProductItem } from "./brilink_product_items"; +import { BrilinkMerchant } from "./brilink_merchants"; + +@Entity("brilink_merchant_product_items", { schema: "brilinks" }) +export class BrilinkMerchantProductItem { + @PrimaryGeneratedColumn("uuid") + id: string; + + @ManyToOne(() => BrilinkMerchant, { onDelete: "RESTRICT" }) + @JoinTable() + merchant: BrilinkMerchant; + + @ManyToOne(() => BrilinkProductItem, { onDelete: "RESTRICT" }) + @JoinTable() + product_item: BrilinkProductItem; + + @Column({ + type: "float8", + nullable: false, + default: 0, + }) + price_merchant: number; + + @Column({ + type: "float8", + nullable: false, + default: 0, + }) + price_sale: number; + + @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; +} diff --git a/src/entity/brilink_product_categories.ts b/src/entity/brilink_product_categories.ts new file mode 100644 index 0000000..7b5e16a --- /dev/null +++ b/src/entity/brilink_product_categories.ts @@ -0,0 +1,74 @@ +import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinTable, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm"; +import { BrilinkProductCategorySupplier } from "../types/brilink"; +import { BrilinkTerminalMenu } from "./brilink_terminal_menus"; +import { Status } from "../types/status"; + +@Entity("brilink_product_categories", { schema: "brilinks" }) +export class BrilinkProductCategory { + @PrimaryGeneratedColumn("uuid") + id: string; + + @ManyToOne(() => BrilinkTerminalMenu, { onDelete: "NO ACTION" }) + @JoinTable() + terminal_menu: BrilinkTerminalMenu; + + @Column({ + nullable: false, + length: 128, + unique: true, + }) + code: string; + + @Column({ + nullable: false, + length: 128, + }) + name: string; + + @Column({ + nullable: false, + length: 4096, + default: "", + }) + description: string; + + @Column({ + nullable: false, + length: 4096, + default: "", + }) + logo: string; + + @Column({ + nullable: false, + length: 64, + }) + status: Status; + + @Column({ + nullable: false, + length: 64, + }) + supplier: BrilinkProductCategorySupplier; + + @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; +} diff --git a/src/entity/brilink_product_items.ts b/src/entity/brilink_product_items.ts new file mode 100644 index 0000000..df0f7a4 --- /dev/null +++ b/src/entity/brilink_product_items.ts @@ -0,0 +1,99 @@ +import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinTable, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm"; +import { Status } from "../types/status"; +import { BrilinkProductCategory } from "./brilink_product_categories"; +import { BrilinkProductType } from "./brilink_product_types"; + +@Entity("brilink_product_items", { schema: "brilinks" }) +export class BrilinkProductItem { + @PrimaryGeneratedColumn("uuid") + id: string; + + @ManyToOne(() => BrilinkProductCategory, { onDelete: "RESTRICT" }) + @JoinTable() + product_category: BrilinkProductCategory; + + @ManyToOne(() => BrilinkProductType, { onDelete: "RESTRICT" }) + @JoinTable() + product_type: BrilinkProductType; + + @Column({ + nullable: false, + length: 128, + unique: true, + }) + code: string; + + @Column({ + nullable: false, + length: 128, + }) + name: string; + + @Column({ + nullable: false, + length: 128, + default: "", + }) + subtitle: string; + + @Column({ + nullable: false, + length: 4096, + default: "", + }) + description: string; + + @Column({ + type: "float8", + nullable: false, + default: 0, + }) + price_base: number; + + @Column({ + type: "float8", + nullable: false, + default: 0, + }) + price_merchant: number; + + @Column({ + type: "float8", + nullable: false, + default: 0, + }) + price_sale: number; + + @Column({ + nullable: false, + length: 64, + }) + status: Status; + + @Column({ + type: "jsonb", + nullable: true, + }) + supplier_prop: Record; + + @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; +} diff --git a/src/entity/brilink_product_types.ts b/src/entity/brilink_product_types.ts new file mode 100644 index 0000000..37f502f --- /dev/null +++ b/src/entity/brilink_product_types.ts @@ -0,0 +1,62 @@ +import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinTable, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm"; +import { BrilinkProductCategorySupplier } from "../types/brilink"; +import { BrilinkTerminalMenu } from "./brilink_terminal_menus"; +import { Status } from "../types/status"; +import { BrilinkProductCategory } from "./brilink_product_categories"; + +@Entity("brilink_product_types", { schema: "brilinks" }) +export class BrilinkProductType { + @PrimaryGeneratedColumn("uuid") + id: string; + + @ManyToOne(() => BrilinkProductCategory, { onDelete: "RESTRICT" }) + @JoinTable() + product_category: BrilinkProductCategory; + + @Column({ + nullable: false, + length: 128, + unique: true, + }) + code: string; + + @Column({ + nullable: false, + length: 128, + }) + name: string; + + @Column({ + nullable: false, + length: 4096, + default: "", + }) + description: string; + + @Column({ + nullable: false, + length: 64, + }) + status: Status; + + @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; +} diff --git a/src/index.ts b/src/index.ts index af69c74..3e9d760 100644 --- a/src/index.ts +++ b/src/index.ts @@ -158,6 +158,7 @@ import { BrilinkDiscountModule, BrilinkDiscountStatus, BrilinkDiscountType, + BrilinkProductCategorySupplier, } from "./types/brilink"; import { BrilinkMerchant } from "./entity/brilink_merchants"; @@ -180,6 +181,10 @@ 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 { BrilinkProductCategory } from "./entity/brilink_product_categories"; +import { BrilinkProductType } from "./entity/brilink_product_types"; +import { BrilinkProductItem } from "./entity/brilink_product_items"; +import { BrilinkMerchantProductItem } from "./entity/brilink_merchant_product_items"; import { BriapiConfig } from "./entity/briapi_configs"; import { BriapiLog } from "./entity/briapi_logs"; @@ -335,6 +340,11 @@ export { BrilinkDiscountStatus, BrilinkDiscountType, BrilinkDiscount, + BrilinkProductCategorySupplier, + BrilinkProductCategory, + BrilinkProductType, + BrilinkProductItem, + BrilinkMerchantProductItem, BriapiConfig, BriapiLog, BriapiAppendixBank, diff --git a/src/types/brilink.ts b/src/types/brilink.ts index 03d0130..8ced2ef 100644 --- a/src/types/brilink.ts +++ b/src/types/brilink.ts @@ -1,136 +1,143 @@ export enum BrilinkMerchantStatus { - "active" = "active", - "inactive" = "inactive", -}; + "active" = "active", + "inactive" = "inactive", +} export enum BrilinkTerminalType { - "edc" = "edc", -}; + "edc" = "edc", +} export enum BrilinkTerminalCondition { - "new" = "new", - "good" = "good", - "minor_damage" = "minor_damage", - "damaged" = "damaged", - "unusabel" = "unusable", - "disposed" = "disposed", - "lost" = "lost", -}; + "new" = "new", + "good" = "good", + "minor_damage" = "minor_damage", + "damaged" = "damaged", + "unusabel" = "unusable", + "disposed" = "disposed", + "lost" = "lost", +} export enum BrilinkTerminalOnline { - "online" = "online", - "offline" = "offline", - "block" = "block" + "online" = "online", + "offline" = "offline", + "block" = "block", } export enum BrilinkBalanceType { - "merchant" = "merchant", - "terminal" = "terminal" + "merchant" = "merchant", + "terminal" = "terminal", } export enum BrilinkBalanceCode { - "brizzi" = "brizzi", - "remittance" = "remittance" + "brizzi" = "brizzi", + "remittance" = "remittance", } export enum BrilinkBalanceMutationType { - "credit" = "credit", - "debit" = "debit", + "credit" = "credit", + "debit" = "debit", } export enum BrilinkBalanceMutationCodePrefixType { - "credit" = "CR", - "debit" = "DB" + "credit" = "CR", + "debit" = "DB", } export enum BrilinkBalanceMutationActvity { - "topup" = "topup", - "transfer" = "transfer", - "withdrawal" = "withdrawal", + "topup" = "topup", + "transfer" = "transfer", + "withdrawal" = "withdrawal", } export enum BrilinkBalanceMutationCodePrefixActvity { - "topup" = "1", - "transfer" = "2", - "withdrawal" = "3" + "topup" = "1", + "transfer" = "2", + "withdrawal" = "3", } export enum BrilinkBalanceSourceType { - "account" = "account", - "merchant" = "merchant", - "terminal" = "terminal", + "account" = "account", + "merchant" = "merchant", + "terminal" = "terminal", } export enum BrilinkBalanceDestinationType { - "account" = "account", - "merchant" = "merchant", - "terminal" = "terminal", - "brizzi" = "brizzi" + "account" = "account", + "merchant" = "merchant", + "terminal" = "terminal", + "brizzi" = "brizzi", } export enum BrilinkBalanceMutationStatus { - "pending" = "pending", - "process" = "process", - "success" = "success", - "fail" = "fail", - "reject" = "reject" + "pending" = "pending", + "process" = "process", + "success" = "success", + "fail" = "fail", + "reject" = "reject", } export enum BrilinkBalanceTopupCodePrefix { - "account" = "ACC", - "merchant" = "MCH", - "terminal" = "TML", - "brizzi" = "BRZ" + "account" = "ACC", + "merchant" = "MCH", + "terminal" = "TML", + "brizzi" = "BRZ", } export enum BrilinkTransactionType { - "brizzi" = "brizzi", - "remittance" = "remittance" + "brizzi" = "brizzi", + "remittance" = "remittance", + "mobile" = "mobile", } export enum BrilinkTransactionCodePrefixType { - "brizzi" = "BRZ", - "remittance" = "RTC" + "brizzi" = "BRZ", + "remittance" = "RTC", + "mobile" = "MBL", } export enum BrilinkTransactionActivity { - "topup" = "topup", - "payment" = "payment", - "purchase" = "purchase" + "topup" = "topup", + "payment" = "payment", + "purchase" = "purchase", } export enum BrilinkTransactionCodePrefixActivity { - "topup" = "1", - "payment" = "2", - "purchase" = "3" + "topup" = "1", + "payment" = "2", + "purchase" = "3", } export enum BrilinkTransactionStatus { - "pending" = "pending", - "process" = "process", - "success" = "success", - "fail" = "fail", + "unpaid" = "unpaid", + "pending" = "pending", + "process" = "process", + "success" = "success", + "fail" = "fail", } export enum BrilinkMerchantSettlementStatus { - "pending" = "pending", - "process" = "process", - "success" = "success", - "fail" = "fail", + "pending" = "pending", + "process" = "process", + "success" = "success", + "fail" = "fail", } export enum BrilinkDiscountType { - "fix" = "fix", - "percentage" = "percentage", + "fix" = "fix", + "percentage" = "percentage", } export enum BrilinkDiscountStatus { - "scheduled" = "scheduled", - "active" = "active", - "inactive" = "inactive", - "expired" = "expired", + "scheduled" = "scheduled", + "active" = "active", + "inactive" = "inactive", + "expired" = "expired", } export enum BrilinkDiscountModule { - "brizzi" = "brizzi" + "brizzi" = "brizzi", +} + +export enum BrilinkProductCategorySupplier { + "tcel" = "tcel", } From 3be66f090301ce7ba36f8285ca04d735f160d369 Mon Sep 17 00:00:00 2001 From: fro1991 Date: Sat, 28 Jun 2025 14:19:16 +0700 Subject: [PATCH 23/30] brilink update --- src/entity/brilink_product_items.ts | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/entity/brilink_product_items.ts b/src/entity/brilink_product_items.ts index df0f7a4..0d3064a 100644 --- a/src/entity/brilink_product_items.ts +++ b/src/entity/brilink_product_items.ts @@ -8,10 +8,6 @@ export class BrilinkProductItem { @PrimaryGeneratedColumn("uuid") id: string; - @ManyToOne(() => BrilinkProductCategory, { onDelete: "RESTRICT" }) - @JoinTable() - product_category: BrilinkProductCategory; - @ManyToOne(() => BrilinkProductType, { onDelete: "RESTRICT" }) @JoinTable() product_type: BrilinkProductType; From 16c93b353a1fd14c62a98b41962e7fe5721e8b06 Mon Sep 17 00:00:00 2001 From: fro1991 Date: Mon, 30 Jun 2025 00:34:06 +0700 Subject: [PATCH 24/30] update --- src/entity/brilink_transactions.ts | 232 +++++++++++++++-------------- 1 file changed, 118 insertions(+), 114 deletions(-) diff --git a/src/entity/brilink_transactions.ts b/src/entity/brilink_transactions.ts index 893ec11..71bb3a3 100644 --- a/src/entity/brilink_transactions.ts +++ b/src/entity/brilink_transactions.ts @@ -1,142 +1,146 @@ -import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinTable, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from 'typeorm'; -import { BrilinkMerchant } from './brilink_merchants'; -import { BrilinkBalanceCode, BrilinkBalanceType, BrilinkTransactionActivity, BrilinkTransactionStatus, 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'; -import { BrilinkDiscount } from './brilink_discounts'; +import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinTable, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm"; +import { BrilinkMerchant } from "./brilink_merchants"; +import { BrilinkBalanceCode, BrilinkBalanceType, BrilinkTransactionActivity, BrilinkTransactionStatus, 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"; +import { BrilinkDiscount } from "./brilink_discounts"; +import { BrilinkProductItem } from "./brilink_product_items"; -@Entity('brilink_transactions', { schema: 'brilinks' }) +@Entity("brilink_transactions", { schema: "brilinks" }) export class BrilinkTransaction { - @PrimaryGeneratedColumn('uuid') - id: string; + @PrimaryGeneratedColumn("uuid") + id: string; - @ManyToOne(() => BrilinkMerchant, { onDelete: 'RESTRICT' }) - @JoinTable() - merchant: BrilinkMerchant + @ManyToOne(() => BrilinkMerchant, { onDelete: "RESTRICT" }) + @JoinTable() + merchant: BrilinkMerchant; - @ManyToOne(() => BrilinkMerchantTerminal, { onDelete: 'RESTRICT' }) - @JoinTable() - merchant_terminal: BrilinkMerchantTerminal + @ManyToOne(() => BrilinkMerchantTerminal, { onDelete: "RESTRICT" }) + @JoinTable() + merchant_terminal: BrilinkMerchantTerminal; - @ManyToOne(() => BrilinkBalanceMutation, { onDelete: 'RESTRICT', nullable: true }) - @JoinTable() - balance_mutation: BrilinkBalanceMutation + @ManyToOne(() => BrilinkBalanceMutation, { onDelete: "RESTRICT", nullable: true }) + @JoinTable() + balance_mutation: BrilinkBalanceMutation; - @Column({ - nullable: false, - length: 128 - }) - code: string; + @Column({ + nullable: false, + length: 128, + }) + code: string; - @Column({ - nullable: false, - length: 64 - }) - type: BrilinkTransactionType + @Column({ + nullable: false, + length: 64, + }) + type: BrilinkTransactionType; - @Column({ - nullable: false, - length: 64 - }) - activity: BrilinkTransactionActivity; + @Column({ + nullable: false, + length: 64, + }) + activity: BrilinkTransactionActivity; - @Column({ nullable: false }) - activity_at: Date; + @Column({ nullable: false }) + activity_at: Date; - @Column({ - length: 128, - nullable: true, - }) - target: string; + @Column({ + length: 128, + nullable: true, + }) + target: string; - @Column({ - type: 'jsonb', - nullable: true, - }) - target_data: Record; + @Column({ + type: "jsonb", + nullable: true, + }) + target_data: Record; - @Column({ - type: 'float8', - nullable: false, - default: 0 - }) - amount: number; + @Column({ + type: "float8", + nullable: false, + default: 0, + }) + amount: number; - @ManyToOne(() => BrilinkDiscount, { onDelete: 'NO ACTION', nullable: true }) - @JoinTable() - discount: BrilinkDiscount + @ManyToOne(() => BrilinkDiscount, { onDelete: "NO ACTION", nullable: true }) + @JoinTable() + discount: BrilinkDiscount; - @Column({ - type: 'float8', - nullable: false, - default: 0 - }) - discount_amount: number; + @Column({ + type: "float8", + nullable: false, + default: 0, + }) + discount_amount: number; + @Column({ + type: "float8", + nullable: false, + default: 0, + }) + fee: number; - @Column({ - type: 'float8', - nullable: false, - default: 0 - }) - fee: number; + @Column({ + type: "float8", + nullable: false, + default: 0, + }) + total: number; - @Column({ - type: 'float8', - nullable: false, - default: 0 - }) - total: number; + @Column({ + nullable: false, + length: 64, + }) + status: BrilinkTransactionStatus; - @Column({ - nullable: false, - length: 64 - }) - status: BrilinkTransactionStatus; + @Column({ + length: 128, + nullable: true, + }) + reference: string; - @Column({ - length: 128, - nullable: true, - }) - reference: string; + @Column({ + length: 1024, + nullable: true, + }) + remarks: string; - @Column({ - length: 1024, - nullable: true, - }) - remarks: string; + @Column({ + nullable: false, + default: false, + }) + is_merchant_settlement: boolean; - @Column({ - nullable: false, - default: false - }) - is_merchant_settlement: boolean; + @ManyToOne(() => BrilinkMerchantSettlement, { onDelete: "RESTRICT", nullable: true }) + @JoinTable() + merchant_settlement: BrilinkMerchantSettlement; - @ManyToOne(() => BrilinkMerchantSettlement, { onDelete: 'RESTRICT', nullable: true }) - @JoinTable() - merchant_settlement: BrilinkMerchantSettlement + @ManyToOne(() => BrilinkProductItem, { onDelete: "NO ACTION", nullable: true }) + @JoinTable() + product_item: BrilinkProductItem; - @Column() - @CreateDateColumn() - created_at: Date; + @Column() + @CreateDateColumn() + created_at: Date; - @Column({ type: "varchar", length: 255 }) - created_by: string; + @Column({ type: "varchar", length: 255 }) + created_by: string; - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; + @Column({ nullable: true }) + @UpdateDateColumn() + updated_at: Date; - @Column({ type: "varchar", length: 255, nullable: true }) - updated_by: string; + @Column({ type: "varchar", length: 255, nullable: true }) + updated_by: string; - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; + @Column({ nullable: true }) + @DeleteDateColumn() + deleted_at: Date; - @Column({ type: "varchar", length: 255, nullable: true }) - deleted_by: string; -} \ No newline at end of file + @Column({ type: "varchar", length: 255, nullable: true }) + deleted_by: string; +} From 4e6393766fa04725273a7cc8bf3d570a251c44df Mon Sep 17 00:00:00 2001 From: fro1991 Date: Mon, 30 Jun 2025 01:25:09 +0700 Subject: [PATCH 25/30] update --- src/types/brilink.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/types/brilink.ts b/src/types/brilink.ts index 8ced2ef..c5c5222 100644 --- a/src/types/brilink.ts +++ b/src/types/brilink.ts @@ -109,6 +109,7 @@ export enum BrilinkTransactionCodePrefixActivity { export enum BrilinkTransactionStatus { "unpaid" = "unpaid", + "paid" = "paid", "pending" = "pending", "process" = "process", "success" = "success", From ba2dfdb567847494727043da924c8e598841b00a Mon Sep 17 00:00:00 2001 From: fro1991 Date: Mon, 30 Jun 2025 01:49:47 +0700 Subject: [PATCH 26/30] brilink update --- src/entity/brilink_transactions.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/entity/brilink_transactions.ts b/src/entity/brilink_transactions.ts index 71bb3a3..2867a54 100644 --- a/src/entity/brilink_transactions.ts +++ b/src/entity/brilink_transactions.ts @@ -123,6 +123,12 @@ export class BrilinkTransaction { @JoinTable() product_item: BrilinkProductItem; + @Column({ + length: 128, + nullable: true, + }) + reference_supplier: string; + @Column() @CreateDateColumn() created_at: Date; From d5e509d01ee8ee1e77dcc3f38604a3b7bb6eb7a8 Mon Sep 17 00:00:00 2001 From: fro1991 Date: Mon, 30 Jun 2025 02:08:15 +0700 Subject: [PATCH 27/30] update --- src/entity/brilink_transactions.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/entity/brilink_transactions.ts b/src/entity/brilink_transactions.ts index 2867a54..46b6328 100644 --- a/src/entity/brilink_transactions.ts +++ b/src/entity/brilink_transactions.ts @@ -127,7 +127,13 @@ export class BrilinkTransaction { length: 128, nullable: true, }) - reference_supplier: string; + supplier_reference_code: string; + + @Column({ + length: 128, + nullable: true, + }) + supplier_transaction_code: string; @Column() @CreateDateColumn() From a422257d0e6a29639d7164b114d15184d01a48f7 Mon Sep 17 00:00:00 2001 From: fro1991 Date: Mon, 30 Jun 2025 02:09:48 +0700 Subject: [PATCH 28/30] update --- src/entity/tcel_logs.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/entity/tcel_logs.ts b/src/entity/tcel_logs.ts index 0cd2968..ff77899 100644 --- a/src/entity/tcel_logs.ts +++ b/src/entity/tcel_logs.ts @@ -33,6 +33,16 @@ export class TcelLog { }) response: string; + @Column({ + length: 128, + }) + supplier_reference_code: string; + + @Column({ + length: 128, + }) + supplier_transaction_code: string; + @Column() response_at: Date; From 60887289f37eaceec2891d114e696c44f9c768b0 Mon Sep 17 00:00:00 2001 From: fro1991 Date: Mon, 30 Jun 2025 02:10:15 +0700 Subject: [PATCH 29/30] update --- src/entity/tcel_logs.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/entity/tcel_logs.ts b/src/entity/tcel_logs.ts index ff77899..c2e1aba 100644 --- a/src/entity/tcel_logs.ts +++ b/src/entity/tcel_logs.ts @@ -35,11 +35,13 @@ export class TcelLog { @Column({ length: 128, + nullable: true, }) supplier_reference_code: string; @Column({ length: 128, + nullable: true, }) supplier_transaction_code: string; From c60debc2f925f23f40f54c3b15f8d990c30998c6 Mon Sep 17 00:00:00 2001 From: fro1991 Date: Mon, 30 Jun 2025 02:45:13 +0700 Subject: [PATCH 30/30] update --- src/entity/brilink_transactions.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/entity/brilink_transactions.ts b/src/entity/brilink_transactions.ts index 46b6328..082ca34 100644 --- a/src/entity/brilink_transactions.ts +++ b/src/entity/brilink_transactions.ts @@ -135,6 +135,11 @@ export class BrilinkTransaction { }) supplier_transaction_code: string; + @Column({ + default: 0, + }) + supplier_check: number; + @Column() @CreateDateColumn() created_at: Date;