compliance update

This commit is contained in:
fro1991
2025-08-05 00:39:49 +07:00
parent 75381e75ef
commit c595a2e3f4
7 changed files with 317 additions and 0 deletions

View File

@ -0,0 +1,75 @@
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";
@Entity("compliance_appendix_items", { schema: "compliances" })
export class ComplianceAppendixItem {
@PrimaryGeneratedColumn("uuid")
id: string;
@ManyToOne(() => ComplianceAppendixCategory, { 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;
@ManyToOne(() => ComplianceAppendixItem, { onDelete: "RESTRICT" })
@JoinColumn()
parent: ComplianceAppendixItem;
@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,66 @@
import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, JoinColumn, ManyToOne } from "typeorm";
import { Status } from "../types/status";
import { EformLanguage } from "./eform_languages";
@Entity("compliance_appendix_categories", { schema: "compliances" })
export class ComplianceAppendixCategory {
@PrimaryGeneratedColumn("uuid")
id: string;
@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({
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,48 @@
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 {
@PrimaryGeneratedColumn("uuid")
id: string;
@ManyToOne(() => ComplianceAppendixItem, { onDelete: "RESTRICT" })
@JoinColumn()
appendix_item: ComplianceAppendixItem;
@Column({
nullable: true,
length: 256,
})
label: string;
@Column({
nullable: true,
length: 256,
})
value: 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;
}

View File

@ -0,0 +1,48 @@
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_appendix_item_risk_levels", { schema: "compliances" })
export class complianceAppendixItemRiskLevels {
@PrimaryGeneratedColumn("uuid")
id: string;
@ManyToOne(() => Application, { onDelete: "RESTRICT" })
@JoinColumn()
application: Application;
@ManyToOne(() => ComplianceAppendixItem, { onDelete: "RESTRICT" })
@JoinColumn()
appendix_item: ComplianceAppendixItem;
@Column({ type: "smallint", default: 0 })
level: Number;
@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,75 @@
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";
@Entity("compliance_appendix_items", { schema: "compliances" })
export class ComplianceAppendixItem {
@PrimaryGeneratedColumn("uuid")
id: string;
@ManyToOne(() => ComplianceAppendixCategory, { 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;
@ManyToOne(() => ComplianceAppendixItem, { onDelete: "RESTRICT" })
@JoinColumn()
parent: ComplianceAppendixItem;
@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

@ -9,3 +9,4 @@ export * from "./schema/brizzi";
export * from "./schema/tcel";
export * from "./schema/brilink";
export * from "./schema/eform";
export * from "./schema/compliance";

4
src/schema/compliance.ts Normal file
View File

@ -0,0 +1,4 @@
export * from "../entity/compliance_appendix_categories";
export * from "../entity/compliance_appendix_items";
export * from "../entity/compliance_appendix_item_references";
export * from "../entity/compliance_appendix_item_risk_levels";