From 95acf0781630c0803185365efdc88a234a461aa8 Mon Sep 17 00:00:00 2001 From: fro1991 Date: Sat, 8 Nov 2025 01:18:08 +0700 Subject: [PATCH] update --- ...ferences.ts => compliance_risk_factors.ts} | 30 +++++--- src/entity/compliance_risk_formulas.ts | 63 +++++++++++++++++ ...compliance_risk_parameter_informations.ts} | 68 ++++++++----------- ...ories.ts => compliance_risk_parameters.ts} | 4 +- src/entity/compliance_risk_peps.ts | 55 +++++++++++++++ src/entity/compliance_risk_result_details.ts | 38 +++++++++++ ...k_levels.ts => compliance_risk_results.ts} | 41 +++++------ src/index.ts | 2 +- src/schema/compliance.ts | 9 +-- src/schema/trx copy.ts | 28 ++++++++ src/types/compliance.ts | 12 ++++ 11 files changed, 275 insertions(+), 75 deletions(-) rename src/entity/{compliance_appendix_item_references.ts => compliance_risk_factors.ts} (64%) create mode 100644 src/entity/compliance_risk_formulas.ts rename src/entity/{compliance_appendix_items.ts => compliance_risk_parameter_informations.ts} (63%) rename src/entity/{compliance_appendix_categories.ts => compliance_risk_parameters.ts} (90%) create mode 100644 src/entity/compliance_risk_peps.ts create mode 100644 src/entity/compliance_risk_result_details.ts rename src/entity/{compliance_risk_levels.ts => compliance_risk_results.ts} (59%) create mode 100644 src/schema/trx copy.ts create mode 100644 src/types/compliance.ts diff --git a/src/entity/compliance_appendix_item_references.ts b/src/entity/compliance_risk_factors.ts similarity index 64% rename from src/entity/compliance_appendix_item_references.ts rename to src/entity/compliance_risk_factors.ts index d38d20c..6579e49 100644 --- a/src/entity/compliance_appendix_item_references.ts +++ b/src/entity/compliance_risk_factors.ts @@ -1,29 +1,41 @@ import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, JoinColumn, ManyToOne } from "typeorm"; import { Status } from "../types/status"; import { EformLanguage } from "./eform_languages"; -import { ComplianceAppendixCategory } from "./compliance_appendix_categories"; -import { ComplianceAppendixItem } from "./compliance_appendix_items"; -@Entity("compliance_appendix_item_references", { schema: "compliances" }) -export class ComplianceAppendixItemReference { +@Entity("compliance_risk_factors", { schema: "compliances" }) +export class ComplianceRiskFactor { @PrimaryGeneratedColumn("uuid") id: string; - @ManyToOne(() => ComplianceAppendixItem, { onDelete: "RESTRICT" }) - @JoinColumn() - appendix_item: ComplianceAppendixItem; + @Column({ + nullable: true, + length: 256, + }) + name: string; @Column({ nullable: true, length: 256, }) - label: string; + label_in: string; @Column({ nullable: true, length: 256, }) - value: string; + label_tt: string; + + @Column({ + nullable: true, + length: 256, + }) + label_en: string; + + @Column({ + nullable: false, + length: 64, + }) + status: Status; @Column() @CreateDateColumn() diff --git a/src/entity/compliance_risk_formulas.ts b/src/entity/compliance_risk_formulas.ts new file mode 100644 index 0000000..4b82a38 --- /dev/null +++ b/src/entity/compliance_risk_formulas.ts @@ -0,0 +1,63 @@ +import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm"; +import { Status } from "../types/status"; +import { Application } from "./application"; +import { ComplianceRiskParameterInformation } from "./compliance_risk_parameter_informations"; +import { ComplianceRiskFactor } from "./compliance_risk_factors"; +import { ComplianceRiskParameter } from "./compliance_risk_parameters"; + +@Entity("compliance_risk_formulas", { schema: "compliances" }) +export class ComplianceRiskFormula { + @PrimaryGeneratedColumn("uuid") + id: string; + + @ManyToOne(() => Application, { onDelete: "NO ACTION" }) + @JoinColumn() + application: Application; + + @ManyToOne(() => ComplianceRiskFactor, { onDelete: "NO ACTION" }) + @JoinColumn() + risk_factor: ComplianceRiskFactor; + + @ManyToOne(() => ComplianceRiskParameter, { onDelete: "NO ACTION" }) + @JoinColumn() + risk_parameter: ComplianceRiskParameter; + + @Column({ + nullable: false, + length: 256, + }) + code: string; + + @Column({ + nullable: false, + length: 256, + }) + name: string; + + @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/compliance_appendix_items.ts b/src/entity/compliance_risk_parameter_informations.ts similarity index 63% rename from src/entity/compliance_appendix_items.ts rename to src/entity/compliance_risk_parameter_informations.ts index 256d64a..21c9ba0 100644 --- a/src/entity/compliance_appendix_items.ts +++ b/src/entity/compliance_risk_parameter_informations.ts @@ -1,56 +1,46 @@ import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, JoinColumn, ManyToOne } from "typeorm"; import { Status } from "../types/status"; import { EformLanguage } from "./eform_languages"; -import { ComplianceAppendixCategory } from "./compliance_appendix_categories"; +import { ComplianceRiskParameter } from "./compliance_risk_parameters"; -@Entity("compliance_appendix_items", { schema: "compliances" }) -export class ComplianceAppendixItem { +@Entity("compliance_risk_parameter_informations", { schema: "compliances" }) +export class ComplianceRiskParameterInformation { @PrimaryGeneratedColumn("uuid") id: string; - @ManyToOne(() => ComplianceAppendixCategory, { onDelete: "RESTRICT" }) + @ManyToOne(() => ComplianceRiskParameter, { onDelete: "RESTRICT" }) @JoinColumn() - appendix_category: ComplianceAppendixCategory; - - @Column({ - nullable: true, - length: 256, - }) - code: string; - - @Column({ - nullable: true, - length: 256, - }) - name: string; - - @Column({ - nullable: true, - length: 256, - }) - label_in: string; - - @Column({ - nullable: true, - length: 256, - }) - label_tt: string; - - @Column({ - nullable: true, - length: 256, - }) - label_en: string; + risk_parameter: ComplianceRiskParameter; @Column({ nullable: true, length: 4096, }) - description: string; + name: string; - @ManyToOne(() => ComplianceAppendixItem, { onDelete: "RESTRICT" }) - @JoinColumn() - parent: ComplianceAppendixItem; + @Column({ + nullable: true, + length: 4096, + }) + label_in: string; + + @Column({ + nullable: true, + length: 4096, + }) + label_tt: string; + + @Column({ + nullable: true, + length: 4096, + }) + label_en: string; + + @Column({ + type: "smallint", + default: 3, + }) + level: Number; @Column({ nullable: false, diff --git a/src/entity/compliance_appendix_categories.ts b/src/entity/compliance_risk_parameters.ts similarity index 90% rename from src/entity/compliance_appendix_categories.ts rename to src/entity/compliance_risk_parameters.ts index 5433ff2..bc83945 100644 --- a/src/entity/compliance_appendix_categories.ts +++ b/src/entity/compliance_risk_parameters.ts @@ -2,8 +2,8 @@ import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateCol import { Status } from "../types/status"; import { EformLanguage } from "./eform_languages"; -@Entity("compliance_appendix_categories", { schema: "compliances" }) -export class ComplianceAppendixCategory { +@Entity("compliance_risk_parameters", { schema: "compliances" }) +export class ComplianceRiskParameter { @PrimaryGeneratedColumn("uuid") id: string; diff --git a/src/entity/compliance_risk_peps.ts b/src/entity/compliance_risk_peps.ts new file mode 100644 index 0000000..4b5de68 --- /dev/null +++ b/src/entity/compliance_risk_peps.ts @@ -0,0 +1,55 @@ +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, JoinColumn, ManyToOne } from "typeorm"; +import { Status } from "../types/status"; +import { EformLanguage } from "./eform_languages"; +import { ComplianceRiskPepType } from "../types/compliance"; + +@Entity("compliance_risk_peps", { schema: "compliances" }) +export class ComplianceRiskPep { + @PrimaryGeneratedColumn("uuid") + id: string; + + @Column({ + nullable: true, + length: 256, + }) + type: ComplianceRiskPepType; + + @Column({ + nullable: true, + length: 256, + }) + name: string; + + @Column({ + nullable: true, + length: 256, + }) + remarks: string; + + @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/compliance_risk_result_details.ts b/src/entity/compliance_risk_result_details.ts new file mode 100644 index 0000000..34cfce6 --- /dev/null +++ b/src/entity/compliance_risk_result_details.ts @@ -0,0 +1,38 @@ +import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm"; +import { ComplianceRiskFormula } from "./compliance_risk_formulas"; +import { ComplianceRiskResults } from "./compliance_risk_results"; + +@Entity("compliance_risk_result_details", { schema: "compliances" }) +export class ComplianceRiskResultDetail { + @PrimaryGeneratedColumn("uuid") + id: string; + + @ManyToOne(() => ComplianceRiskResults, { onDelete: "NO ACTION" }) + @JoinColumn() + risk_result: ComplianceRiskResults; + + @ManyToOne(() => ComplianceRiskFormula, { onDelete: "NO ACTION" }) + @JoinColumn() + risk_formula: ComplianceRiskFormula; + + @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_risk_levels.ts b/src/entity/compliance_risk_results.ts similarity index 59% rename from src/entity/compliance_risk_levels.ts rename to src/entity/compliance_risk_results.ts index 9c4392e..fe0b742 100644 --- a/src/entity/compliance_risk_levels.ts +++ b/src/entity/compliance_risk_results.ts @@ -1,41 +1,42 @@ import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm"; import { Status } from "../types/status"; import { Application } from "./application"; -import { ComplianceAppendixItem } from "./compliance_appendix_items"; -@Entity("compliance_risk_levels", { schema: "compliances" }) -export class ComplianceRiskLevel { +@Entity("compliance_risk_results", { schema: "compliances" }) +export class ComplianceRiskResults { @PrimaryGeneratedColumn("uuid") id: string; - @ManyToOne(() => Application, { onDelete: "RESTRICT" }) + @Column({ + unique: true, + length: 256, + }) + code: string; + + @ManyToOne(() => Application, { onDelete: "NO ACTION" }) @JoinColumn() application: Application; - @ManyToOne(() => ComplianceAppendixItem, { onDelete: "RESTRICT" }) - @JoinColumn() - appendix_item: ComplianceAppendixItem; - - @Column({ type: "smallint", default: 0 }) - level: Number; + @Column({ + length: 4096, + }) + name: string; @Column({ nullable: true, length: 256, }) - param: string; - - @Column({ type: "float8", nullable: true }) - param_min: Number; - - @Column({ type: "float8", nullable: true }) - param_max: Number; + reference: string; @Column({ - nullable: true, - length: 256, + type: "float8", }) - param_unit: string; + total: number; + + @Column({ + length: 50, + }) + classification: string; @Column({ nullable: false, diff --git a/src/index.ts b/src/index.ts index f203513..1776053 100644 --- a/src/index.ts +++ b/src/index.ts @@ -9,8 +9,8 @@ export * from "./schema/brizzi"; export * from "./schema/tcel"; export * from "./schema/brilink"; export * from "./schema/eform"; -export * from "./schema/compliance"; export * from "./schema/trx"; export * from "./schema/gps"; export * from "./schema/telemor"; export * from "./schema/earchive"; +export * from "./schema/compliance"; diff --git a/src/schema/compliance.ts b/src/schema/compliance.ts index 4546ddf..e8aac61 100644 --- a/src/schema/compliance.ts +++ b/src/schema/compliance.ts @@ -1,4 +1,5 @@ -export * from "../entity/compliance_appendix_categories"; -export * from "../entity/compliance_appendix_items"; -export * from "../entity/compliance_appendix_item_references"; -export * from "../entity/compliance_risk_levels"; +export * from "../entity/compliance_risk_peps"; +export * from "../entity/compliance_risk_factors"; +export * from "../entity/compliance_risk_parameters"; +export * from "../entity/compliance_risk_parameter_informations"; +export * from "../entity/compliance_risk_formulas"; diff --git a/src/schema/trx copy.ts b/src/schema/trx copy.ts new file mode 100644 index 0000000..fea5985 --- /dev/null +++ b/src/schema/trx copy.ts @@ -0,0 +1,28 @@ +export * from "../entity/trx_purposes"; +export * from "../entity/trx_occupations"; +export * from "../entity/trx_verifications"; +export * from "../entity/trx_customers"; +export * from "../entity/trx_customer_accounts"; +export * from "../entity/trx_customer_users"; +export * from "../entity/trx_customer_user_signatures"; +export * from "../entity/trx_customer_user_refresh_tokens"; +export * from "../entity/trx_customer_user_activities"; +export * from "../entity/trx_customer_costs"; +export * from "../entity/trx_customer_slas"; +export * from "../entity/trx_countries"; +export * from "../entity/trx_currencies"; +export * from "../entity/trx_country_currencies"; +export * from "../entity/trx_bank_currencies"; +export * from "../entity/trx_currency_rates"; +export * from "../entity/trx_banks"; +export * from "../entity/trx_bank_swifts"; +export * from "../entity/trx_receivers"; +export * from "../entity/trx_transactions"; +export * from "../entity/trx_transaction_slas"; +export * from "../entity/trx_transaction_amls"; +export * from "../entity/trx_transaction_signatures"; +export * from "../entity/trx_email_logs"; +export * from "../entity/trx_maintenances"; +export * from "../entity/trx_maintenance_details"; +export * from "../entity/trx_maintenance_slas"; +export * from "../types/trx"; diff --git a/src/types/compliance.ts b/src/types/compliance.ts new file mode 100644 index 0000000..58ceb16 --- /dev/null +++ b/src/types/compliance.ts @@ -0,0 +1,12 @@ +export enum ComplianceRiskResultClassification { + "low" = "low", + "medium" = "medium", + "high" = "high", +} + +export enum ComplianceRiskPepType { + "parliament" = "parliament", + "cabinet" = "cabinet", + "pntl" = "pntl", + "bctl" = "bctl", +}