This commit is contained in:
2025-11-08 08:33:46 +07:00
11 changed files with 275 additions and 75 deletions

View File

@ -1,29 +1,41 @@
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";
import { EformLanguage } from "./eform_languages"; import { EformLanguage } from "./eform_languages";
import { ComplianceAppendixCategory } from "./compliance_appendix_categories";
import { ComplianceAppendixItem } from "./compliance_appendix_items";
@Entity("compliance_appendix_item_references", { schema: "compliances" }) @Entity("compliance_risk_factors", { schema: "compliances" })
export class ComplianceAppendixItemReference { export class ComplianceRiskFactor {
@PrimaryGeneratedColumn("uuid") @PrimaryGeneratedColumn("uuid")
id: string; id: string;
@ManyToOne(() => ComplianceAppendixItem, { onDelete: "RESTRICT" }) @Column({
@JoinColumn() nullable: true,
appendix_item: ComplianceAppendixItem; length: 256,
})
name: string;
@Column({ @Column({
nullable: true, nullable: true,
length: 256, length: 256,
}) })
label: string; label_in: string;
@Column({ @Column({
nullable: true, nullable: true,
length: 256, length: 256,
}) })
value: string; label_tt: string;
@Column({
nullable: true,
length: 256,
})
label_en: string;
@Column({
nullable: false,
length: 64,
})
status: Status;
@Column() @Column()
@CreateDateColumn() @CreateDateColumn()

View File

@ -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;
}

View File

@ -1,56 +1,46 @@
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";
import { EformLanguage } from "./eform_languages"; import { EformLanguage } from "./eform_languages";
import { ComplianceAppendixCategory } from "./compliance_appendix_categories"; import { ComplianceRiskParameter } from "./compliance_risk_parameters";
@Entity("compliance_appendix_items", { schema: "compliances" }) @Entity("compliance_risk_parameter_informations", { schema: "compliances" })
export class ComplianceAppendixItem { export class ComplianceRiskParameterInformation {
@PrimaryGeneratedColumn("uuid") @PrimaryGeneratedColumn("uuid")
id: string; id: string;
@ManyToOne(() => ComplianceAppendixCategory, { onDelete: "RESTRICT" }) @ManyToOne(() => ComplianceRiskParameter, { onDelete: "RESTRICT" })
@JoinColumn() @JoinColumn()
appendix_category: ComplianceAppendixCategory; risk_parameter: ComplianceRiskParameter;
@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;
@Column({ @Column({
nullable: true, nullable: true,
length: 4096, length: 4096,
}) })
description: string; name: string;
@ManyToOne(() => ComplianceAppendixItem, { onDelete: "RESTRICT" }) @Column({
@JoinColumn() nullable: true,
parent: ComplianceAppendixItem; 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({ @Column({
nullable: false, nullable: false,

View File

@ -2,8 +2,8 @@ import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateCol
import { Status } from "../types/status"; import { Status } from "../types/status";
import { EformLanguage } from "./eform_languages"; import { EformLanguage } from "./eform_languages";
@Entity("compliance_appendix_categories", { schema: "compliances" }) @Entity("compliance_risk_parameters", { schema: "compliances" })
export class ComplianceAppendixCategory { export class ComplianceRiskParameter {
@PrimaryGeneratedColumn("uuid") @PrimaryGeneratedColumn("uuid")
id: string; id: string;

View File

@ -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;
}

View File

@ -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;
}

View File

@ -1,41 +1,42 @@
import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm"; import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm";
import { Status } from "../types/status"; import { Status } from "../types/status";
import { Application } from "./application"; import { Application } from "./application";
import { ComplianceAppendixItem } from "./compliance_appendix_items";
@Entity("compliance_risk_levels", { schema: "compliances" }) @Entity("compliance_risk_results", { schema: "compliances" })
export class ComplianceRiskLevel { export class ComplianceRiskResults {
@PrimaryGeneratedColumn("uuid") @PrimaryGeneratedColumn("uuid")
id: string; id: string;
@ManyToOne(() => Application, { onDelete: "RESTRICT" }) @Column({
unique: true,
length: 256,
})
code: string;
@ManyToOne(() => Application, { onDelete: "NO ACTION" })
@JoinColumn() @JoinColumn()
application: Application; application: Application;
@ManyToOne(() => ComplianceAppendixItem, { onDelete: "RESTRICT" }) @Column({
@JoinColumn() length: 4096,
appendix_item: ComplianceAppendixItem; })
name: string;
@Column({ type: "smallint", default: 0 })
level: Number;
@Column({ @Column({
nullable: true, nullable: true,
length: 256, length: 256,
}) })
param: string; reference: string;
@Column({ type: "float8", nullable: true })
param_min: Number;
@Column({ type: "float8", nullable: true })
param_max: Number;
@Column({ @Column({
nullable: true, type: "float8",
length: 256,
}) })
param_unit: string; total: number;
@Column({
length: 50,
})
classification: string;
@Column({ @Column({
nullable: false, nullable: false,

View File

@ -9,8 +9,8 @@ export * from "./schema/brizzi";
export * from "./schema/tcel"; export * from "./schema/tcel";
export * from "./schema/brilink"; export * from "./schema/brilink";
export * from "./schema/eform"; export * from "./schema/eform";
export * from "./schema/compliance";
export * from "./schema/trx"; export * from "./schema/trx";
export * from "./schema/gps"; export * from "./schema/gps";
export * from "./schema/telemor"; export * from "./schema/telemor";
export * from "./schema/earchive"; export * from "./schema/earchive";
export * from "./schema/compliance";

View File

@ -1,4 +1,5 @@
export * from "../entity/compliance_appendix_categories"; export * from "../entity/compliance_risk_peps";
export * from "../entity/compliance_appendix_items"; export * from "../entity/compliance_risk_factors";
export * from "../entity/compliance_appendix_item_references"; export * from "../entity/compliance_risk_parameters";
export * from "../entity/compliance_risk_levels"; export * from "../entity/compliance_risk_parameter_informations";
export * from "../entity/compliance_risk_formulas";

28
src/schema/trx copy.ts Normal file
View File

@ -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";

12
src/types/compliance.ts Normal file
View File

@ -0,0 +1,12 @@
export enum ComplianceRiskResultClassification {
"low" = "low",
"medium" = "medium",
"high" = "high",
}
export enum ComplianceRiskPepType {
"parliament" = "parliament",
"cabinet" = "cabinet",
"pntl" = "pntl",
"bctl" = "bctl",
}