diff --git a/src/entity/compliance_aml_news.ts b/src/entity/compliance_aml_news.ts new file mode 100644 index 0000000..680be01 --- /dev/null +++ b/src/entity/compliance_aml_news.ts @@ -0,0 +1,61 @@ +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_aml_news", { schema: "compliances" }) +export class ComplianceAmlNew { + @PrimaryGeneratedColumn("uuid") + id: string; + + @Column({ + nullable: true, + length: 256, + }) + name: string; + + @Column({ + nullable: true, + length: 256, + }) + remarks: string; + + @Column({ + nullable: true, + length: 4096, + }) + link: string; + + @Column({ + nullable: true, + length: 4096, + }) + file: 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_formulas.ts b/src/entity/compliance_risk_formulas.ts index 4b82a38..4bbb978 100644 --- a/src/entity/compliance_risk_formulas.ts +++ b/src/entity/compliance_risk_formulas.ts @@ -4,15 +4,18 @@ import { Application } from "./application"; import { ComplianceRiskParameterInformation } from "./compliance_risk_parameter_informations"; import { ComplianceRiskFactor } from "./compliance_risk_factors"; import { ComplianceRiskParameter } from "./compliance_risk_parameters"; +import { ComplianceRiskFormulaType } from "../types/compliance"; @Entity("compliance_risk_formulas", { schema: "compliances" }) export class ComplianceRiskFormula { @PrimaryGeneratedColumn("uuid") id: string; - @ManyToOne(() => Application, { onDelete: "NO ACTION" }) - @JoinColumn() - application: Application; + @Column({ + length: 256, + default: ComplianceRiskFormulaType.transaction, + }) + type: ComplianceRiskFormulaType; @ManyToOne(() => ComplianceRiskFactor, { onDelete: "NO ACTION" }) @JoinColumn() @@ -34,6 +37,12 @@ export class ComplianceRiskFormula { }) name: string; + @Column({ + nullable: false, + default: 0, + }) + seq: Number; + @Column({ nullable: false, length: 64, diff --git a/src/entity/compliance_risk_result_details.ts b/src/entity/compliance_risk_result_details.ts deleted file mode 100644 index 34cfce6..0000000 --- a/src/entity/compliance_risk_result_details.ts +++ /dev/null @@ -1,38 +0,0 @@ -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_transaction_details.ts b/src/entity/compliance_risk_transaction_details.ts new file mode 100644 index 0000000..e5ea904 --- /dev/null +++ b/src/entity/compliance_risk_transaction_details.ts @@ -0,0 +1,64 @@ +import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm"; +import { ComplianceRiskFormula } from "./compliance_risk_formulas"; +import { ComplianceRiskFactor } from "./compliance_risk_factors"; +import { ComplianceRiskParameter } from "./compliance_risk_parameters"; +import { ComplianceRiskParameterInformation } from "./compliance_risk_parameter_informations"; +import { ComplianceRiskTransaction } from "./compliance_risk_transactions"; + +@Entity("compliance_risk_transaction_details", { schema: "compliances" }) +export class ComplianceRiskTransactionDetail { + @PrimaryGeneratedColumn("uuid") + id: string; + + @ManyToOne(() => ComplianceRiskTransaction, { onDelete: "NO ACTION" }) + @JoinColumn() + risk_result: ComplianceRiskTransaction; + + @ManyToOne(() => ComplianceRiskFormula, { onDelete: "NO ACTION" }) + @JoinColumn() + risk_formula: ComplianceRiskFormula; + + @ManyToOne(() => ComplianceRiskFactor, { onDelete: "NO ACTION" }) + @JoinColumn() + risk_factor: ComplianceRiskFactor; + + @ManyToOne(() => ComplianceRiskParameter, { onDelete: "NO ACTION" }) + @JoinColumn() + risk_parameter: ComplianceRiskParameter; + + @ManyToOne(() => ComplianceRiskParameterInformation, { onDelete: "NO ACTION" }) + @JoinColumn() + risk_parameter_information: ComplianceRiskParameterInformation; + + @Column({ + length: 4096, + }) + value: string; + + @Column({ + type: "smallint", + default: 3, + }) + level: Number; + + @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_results.ts b/src/entity/compliance_risk_transactions.ts similarity index 70% rename from src/entity/compliance_risk_results.ts rename to src/entity/compliance_risk_transactions.ts index fe0b742..44d649a 100644 --- a/src/entity/compliance_risk_results.ts +++ b/src/entity/compliance_risk_transactions.ts @@ -1,9 +1,9 @@ import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm"; -import { Status } from "../types/status"; +import { ComplianceRiskTransactionClassification, ComplianceRiskTransactionType } from "../types/compliance"; import { Application } from "./application"; -@Entity("compliance_risk_results", { schema: "compliances" }) -export class ComplianceRiskResults { +@Entity("compliance_risk_transactions", { schema: "compliances" }) +export class ComplianceRiskTransaction { @PrimaryGeneratedColumn("uuid") id: string; @@ -17,6 +17,16 @@ export class ComplianceRiskResults { @JoinColumn() application: Application; + @Column({ + length: 256, + }) + type: ComplianceRiskTransactionType; + + @Column({ + length: 4096, + }) + account_number: string; + @Column({ length: 4096, }) @@ -29,20 +39,16 @@ export class ComplianceRiskResults { reference: string; @Column({ + nullable: true, type: "float8", }) total: number; @Column({ + nullable: true, length: 50, }) - classification: string; - - @Column({ - nullable: false, - length: 64, - }) - status: Status; + classification: ComplianceRiskTransactionClassification; @Column() @CreateDateColumn() diff --git a/src/entity/trx_receivers.ts b/src/entity/trx_receivers.ts index f9f8034..195b7db 100644 --- a/src/entity/trx_receivers.ts +++ b/src/entity/trx_receivers.ts @@ -68,6 +68,12 @@ export class TrxReceiver { }) bsb_number: string; + @Column({ + nullable: true, + length: 256, + }) + identity_number: string; + @Column() @CreateDateColumn() created_at: Date; diff --git a/src/schema/compliance.ts b/src/schema/compliance.ts index e8aac61..4c990b2 100644 --- a/src/schema/compliance.ts +++ b/src/schema/compliance.ts @@ -3,3 +3,7 @@ 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"; +export * from "../entity/compliance_risk_transactions"; +export * from "../entity/compliance_risk_transaction_details"; +export * from "../entity/compliance_aml_news"; +export * from "../types/compliance"; diff --git a/src/types/compliance.ts b/src/types/compliance.ts index 58ceb16..127c58e 100644 --- a/src/types/compliance.ts +++ b/src/types/compliance.ts @@ -1,4 +1,4 @@ -export enum ComplianceRiskResultClassification { +export enum ComplianceRiskTransactionClassification { "low" = "low", "medium" = "medium", "high" = "high", @@ -10,3 +10,13 @@ export enum ComplianceRiskPepType { "pntl" = "pntl", "bctl" = "bctl", } + +export enum ComplianceRiskFormulaType { + "transaction" = "transaction", + "customer" = "customer", +} + +export enum ComplianceRiskTransactionType { + "bri" = "bri", + "wic" = "wic", +}