From 799f8016ed17caecc8f96aa84a8cad887010f328 Mon Sep 17 00:00:00 2001 From: fro1991 Date: Wed, 12 Nov 2025 00:07:32 +0700 Subject: [PATCH] update --- .../compliance_regulator_report_details.ts | 51 ++++++++++++++++ src/entity/compliance_regulator_reports.ts | 60 +++++++++++++++++++ src/schema/compliance.ts | 2 + src/types/compliance.ts | 5 ++ 4 files changed, 118 insertions(+) create mode 100644 src/entity/compliance_regulator_report_details.ts create mode 100644 src/entity/compliance_regulator_reports.ts diff --git a/src/entity/compliance_regulator_report_details.ts b/src/entity/compliance_regulator_report_details.ts new file mode 100644 index 0000000..828f14c --- /dev/null +++ b/src/entity/compliance_regulator_report_details.ts @@ -0,0 +1,51 @@ +import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm"; +import { ComplianceRegulatorReport } from "./compliance_regulator_reports"; + +@Entity("compliance_risk_items", { schema: "compliances" }) +export class ComplianceRegulatorReportItem { + @PrimaryGeneratedColumn("uuid") + id: string; + + @ManyToOne(() => ComplianceRegulatorReport, { onDelete: "NO ACTION" }) + @JoinColumn() + regulator_report: ComplianceRegulatorReport; + + @Column({ + nullable: true, + length: 256, + }) + name: string; + + @Column({ + nullable: true, + length: 4096, + }) + description: string; + + @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/compliance_regulator_reports.ts b/src/entity/compliance_regulator_reports.ts new file mode 100644 index 0000000..1642264 --- /dev/null +++ b/src/entity/compliance_regulator_reports.ts @@ -0,0 +1,60 @@ +import { Column, CreateDateColumn, DeleteDateColumn, Entity, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm"; +import { ComplianceRegulatorReportType } from "../types/compliance"; +import { Status } from "../types/status"; + +@Entity("compliance_regulator_reports", { schema: "compliances" }) +export class ComplianceRegulatorReport { + @PrimaryGeneratedColumn("uuid") + id: string; + + @Column({ + length: 256, + nullable: true, + }) + type: ComplianceRegulatorReportType; + + @Column({ + nullable: true, + length: 256, + }) + name: string; + + @Column({ + nullable: true, + length: 256, + }) + description: string; + + @Column({ + nullable: true, + type: "date", + }) + position_date: string; + + @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/schema/compliance.ts b/src/schema/compliance.ts index 96b6fd9..27a8fdd 100644 --- a/src/schema/compliance.ts +++ b/src/schema/compliance.ts @@ -8,4 +8,6 @@ export * from "../entity/compliance_risk_transaction_details"; export * from "../entity/compliance_risk_customers"; export * from "../entity/compliance_risk_customer_details"; export * from "../entity/compliance_aml_news"; +export * from "../entity/compliance_regulator_reports"; +export * from "../entity/compliance_regulator_report_details"; export * from "../types/compliance"; diff --git a/src/types/compliance.ts b/src/types/compliance.ts index 4483000..e2a8e7c 100644 --- a/src/types/compliance.ts +++ b/src/types/compliance.ts @@ -26,3 +26,8 @@ export enum ComplianceRiskCustomerType { "customer_personal" = "customer_personal", "customer_business" = "customer_business", } + +export enum ComplianceRegulatorReportType { + "monthly" = "monthly", + "quarterly" = "quarterly", +}