update entity eform

This commit is contained in:
2025-08-18 21:32:45 +07:00
parent 9487d30e37
commit 49604ca9a4
12 changed files with 876 additions and 1 deletions

View File

@ -0,0 +1,152 @@
import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm";
import { EformGender, EformIdentityType } from "../types/eform";
import { EformRegionMunisipo } from "./eform_region_munisipos";
import { EformRegionAdministrativu } from "./eform_region_administrativus";
import { EformRegionSuco } from "./eform_region_sucos";
import { EformRegionAldeia } from "./eform_region_aldeias";
import { EformConfigBusinessField } from "./eform_config_business_fields";
import { EformConfigOccupation } from "./eform_config_occupations";
import { EformConfigSourceIncome } from "./eform_config_source_incomes";
import { EformConfigRelation } from "./eform_config_relations";
@Entity("eform_beneficial_owners", { schema: "eforms" })
export class EformBeneficialOwner {
@PrimaryGeneratedColumn("uuid")
id: string;
@ManyToOne(() => EformConfigRelation, { onDelete: "NO ACTION", nullable: true })
@JoinColumn()
relation: EformConfigRelation;
@ManyToOne(() => EformConfigSourceIncome, { onDelete: "NO ACTION", nullable: true })
@JoinColumn()
source_income: EformConfigSourceIncome;
@ManyToOne(() => EformConfigOccupation, { onDelete: "NO ACTION", nullable: true })
@JoinColumn()
occupation: EformConfigOccupation;
@ManyToOne(() => EformConfigBusinessField, { onDelete: "NO ACTION", nullable: true })
@JoinColumn()
business_field: EformConfigBusinessField;
@ManyToOne(() => EformRegionMunisipo, { onDelete: "NO ACTION", nullable: true })
@JoinColumn()
munisipo: EformRegionMunisipo;
@ManyToOne(() => EformRegionAdministrativu, { onDelete: "NO ACTION", nullable: true })
@JoinColumn()
administrativu: EformRegionAdministrativu;
@ManyToOne(() => EformRegionSuco, { onDelete: "NO ACTION", nullable: true })
@JoinColumn()
suco: EformRegionSuco;
@ManyToOne(() => EformRegionAldeia, { onDelete: "NO ACTION", nullable: true })
@JoinColumn()
aldeia: EformRegionAldeia;
@Column({
nullable: false,
length: 4096,
})
name: string;
@Column({
nullable: false,
length: 256,
})
gender: EformGender;
@Column({
nullable: false,
length: 256,
})
birth_place: string;
@Column({
nullable: false,
})
birth_date: Date;
@Column({
nullable: true,
length: 256,
})
type: EformIdentityType;
@Column({
nullable: true,
length: 256,
})
number: string;
@Column({
nullable: true,
length: 256,
})
expired_at: string;
@Column({
nullable: true,
length: 256,
})
issued_at: string;
@Column({
nullable: true,
length: 4096,
})
file: String;
@Column({
nullable: true,
length: 4096,
})
address: string;
@Column({
nullable: true,
length: 128,
})
postal_code: string;
@Column({
nullable: true,
length: 256,
})
place: string;
@Column({
nullable: true,
length: 256,
})
length_of_work: string;
@Column({
nullable: true,
length: 256,
})
position: 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,89 @@
import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm";
import { EformRegionMunisipo } from "./eform_region_munisipos";
import { EformRegionAdministrativu } from "./eform_region_administrativus";
import { EformRegionSuco } from "./eform_region_sucos";
import { EformRegionAldeia } from "./eform_region_aldeias";
import { EformConfigRelation } from "./eform_config_relations";
@Entity("eform_emergency_contacts", { schema: "eforms" })
export class EformEmergencyContact {
@PrimaryGeneratedColumn("uuid")
id: string;
@Column({
nullable: false,
length: 4096,
})
name: string;
@ManyToOne(() => EformConfigRelation, { onDelete: "NO ACTION", nullable: true })
@JoinColumn()
relation: EformConfigRelation;
@Column({
nullable: true,
length: 4096,
})
address: string;
@ManyToOne(() => EformRegionMunisipo, { onDelete: "NO ACTION", nullable: true })
@JoinColumn()
munisipo: EformRegionMunisipo;
@ManyToOne(() => EformRegionAdministrativu, { onDelete: "NO ACTION", nullable: true })
@JoinColumn()
administrativu: EformRegionAdministrativu;
@ManyToOne(() => EformRegionSuco, { onDelete: "NO ACTION", nullable: true })
@JoinColumn()
suco: EformRegionSuco;
@ManyToOne(() => EformRegionAldeia, { onDelete: "NO ACTION", nullable: true })
@JoinColumn()
aldeia: EformRegionAldeia;
@Column({
nullable: true,
length: 128,
})
postal_code: string;
@Column({
nullable: true,
length: 128,
})
handphone: string;
@Column({
nullable: true,
length: 128,
})
phone: string;
@Column({
nullable: false,
length: 4096,
})
faximilie: 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,76 @@
import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm";
import { EformBankType } from "../types/eform";
import { EformFinancial } from "./eform_financials";
@Entity("eform_financial_banks", { schema: "eforms" })
export class EformFinancialBank {
@PrimaryGeneratedColumn("uuid")
id: string;
@ManyToOne(() => EformFinancial, { onDelete: "NO ACTION", nullable: true })
@JoinColumn()
financial: EformFinancial;
@Column({
nullable: false,
length: 256,
})
account: string;
@Column({
nullable: false,
length: 256,
})
bank: EformBankType;
@Column({
nullable: false,
length: 256,
})
saving_account: string;
@Column({
nullable: false,
length: 256,
})
current_account: string;
@Column({
nullable: false,
length: 256,
})
deposito_account: string;
@Column({
nullable: false,
length: 256,
})
loan_account: string;
@Column({
nullable: false,
length: 256,
})
other: 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,53 @@
import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToMany, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm";
import { EformInterestAccountType } from "../types/eform";
import { EformConfigSourceIncome } from "./eform_config_source_incomes";
import { EformFinancialBank } from "./eform_financial_banks";
@Entity("eform_financials", { schema: "eforms" })
export class EformFinancial {
@PrimaryGeneratedColumn("uuid")
id: string;
@ManyToOne(() => EformConfigSourceIncome, { onDelete: "NO ACTION", nullable: true })
@JoinColumn()
source_income: EformConfigSourceIncome;
@Column({
nullable: false,
length: 256,
})
interest_account: EformInterestAccountType;
@Column({ type: "float8", nullable: true })
income_monthly: number;
@Column({ type: "float8", nullable: true })
spending_monthly: number;
@Column({ type: "float8", nullable: true })
daily_transaction: number;
@ManyToMany(() => EformFinancialBank, (bank) => bank.financial)
financial_bank: EformFinancialBank[];
@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;
}

106
src/entity/eform_jobs.ts Normal file
View File

@ -0,0 +1,106 @@
import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm";
import { EformRegionMunisipo } from "./eform_region_munisipos";
import { EformRegionAdministrativu } from "./eform_region_administrativus";
import { EformRegionSuco } from "./eform_region_sucos";
import { EformRegionAldeia } from "./eform_region_aldeias";
import { EformConfigOccupation } from "./eform_config_occupations";
import { EformConfigBusinessField } from "./eform_config_business_fields";
@Entity("eform_jobs", { schema: "eforms" })
export class EformJob {
@PrimaryGeneratedColumn("uuid")
id: string;
@ManyToOne(() => EformConfigOccupation, { onDelete: "NO ACTION", nullable: true })
@JoinColumn()
occupation: EformConfigOccupation;
@ManyToOne(() => EformConfigBusinessField, { onDelete: "NO ACTION", nullable: true })
@JoinColumn()
business_field: EformConfigBusinessField;
@Column({
nullable: true,
length: 256,
})
place: string;
@Column({
nullable: true,
length: 256,
})
length_of_work: string;
@Column({
nullable: true,
length: 256,
})
position: string;
@Column({
nullable: true,
length: 256,
})
number: string;
@Column({
nullable: true,
length: 4096,
})
address: string;
@ManyToOne(() => EformRegionMunisipo, { onDelete: "NO ACTION", nullable: true })
@JoinColumn()
munisipo: EformRegionMunisipo;
@ManyToOne(() => EformRegionAdministrativu, { onDelete: "NO ACTION", nullable: true })
@JoinColumn()
administrativu: EformRegionAdministrativu;
@ManyToOne(() => EformRegionSuco, { onDelete: "NO ACTION", nullable: true })
@JoinColumn()
suco: EformRegionSuco;
@ManyToOne(() => EformRegionAldeia, { onDelete: "NO ACTION", nullable: true })
@JoinColumn()
aldeia: EformRegionAldeia;
@Column({
nullable: true,
length: 128,
})
postal_code: string;
@Column({
nullable: true,
length: 128,
})
phone: string;
@Column({
nullable: false,
length: 4096,
})
faximilie: 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,77 @@
import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm";
import { EformPersonal } from "./eform_personals";
import { EformRegionMunisipo } from "./eform_region_munisipos";
import { EformRegionAdministrativu } from "./eform_region_administrativus";
import { EformRegionSuco } from "./eform_region_sucos";
import { EformRegionAldeia } from "./eform_region_aldeias";
@Entity("eform_personal_domicile_addresses", { schema: "eforms" })
export class EformPersonalDomicileAddress {
@PrimaryGeneratedColumn("uuid")
id: string;
@ManyToOne(() => EformPersonal, { onDelete: "NO ACTION", nullable: true })
@JoinColumn()
personal: EformPersonal;
@Column({
nullable: true,
length: 4096,
})
address: string;
@ManyToOne(() => EformRegionMunisipo, { onDelete: "NO ACTION", nullable: true })
@JoinColumn()
munisipo: EformRegionMunisipo;
@ManyToOne(() => EformRegionAdministrativu, { onDelete: "NO ACTION", nullable: true })
@JoinColumn()
administrativu: EformRegionAdministrativu;
@ManyToOne(() => EformRegionSuco, { onDelete: "NO ACTION", nullable: true })
@JoinColumn()
suco: EformRegionSuco;
@ManyToOne(() => EformRegionAldeia, { onDelete: "NO ACTION", nullable: true })
@JoinColumn()
aldeia: EformRegionAldeia;
@Column({
nullable: true,
length: 128,
})
postal_code: string;
@Column({
nullable: true,
length: 128,
})
phone: string;
@Column({
nullable: false,
length: 4096,
})
faximilie: 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,58 @@
import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm";
import { EformPersonal } from "./eform_personals";
import { EformIdentityType } from "../types/eform";
@Entity("eform_personal_identities", { schema: "eforms" })
export class EformPersonalIdentity {
@PrimaryGeneratedColumn("uuid")
id: string;
@ManyToOne(() => EformPersonal, { onDelete: "NO ACTION", nullable: true })
@JoinColumn()
personal: EformPersonal;
@Column({
nullable: true,
length: 256,
})
type: EformIdentityType;
@Column({
nullable: true,
length: 256,
})
number: string;
@Column({
nullable: true,
length: 256,
})
expired_at: 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;
}

View File

@ -0,0 +1,77 @@
import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm";
import { EformPersonal } from "./eform_personals";
import { EformRegionMunisipo } from "./eform_region_munisipos";
import { EformRegionAdministrativu } from "./eform_region_administrativus";
import { EformRegionSuco } from "./eform_region_sucos";
import { EformRegionAldeia } from "./eform_region_aldeias";
@Entity("eform_personal_main_addresses", { schema: "eforms" })
export class EformPersonalMainAddress {
@PrimaryGeneratedColumn("uuid")
id: string;
@ManyToOne(() => EformPersonal, { onDelete: "NO ACTION", nullable: true })
@JoinColumn()
personal: EformPersonal;
@Column({
nullable: true,
length: 4096,
})
address: string;
@ManyToOne(() => EformRegionMunisipo, { onDelete: "NO ACTION", nullable: true })
@JoinColumn()
munisipo: EformRegionMunisipo;
@ManyToOne(() => EformRegionAdministrativu, { onDelete: "NO ACTION", nullable: true })
@JoinColumn()
administrativu: EformRegionAdministrativu;
@ManyToOne(() => EformRegionSuco, { onDelete: "NO ACTION", nullable: true })
@JoinColumn()
suco: EformRegionSuco;
@ManyToOne(() => EformRegionAldeia, { onDelete: "NO ACTION", nullable: true })
@JoinColumn()
aldeia: EformRegionAldeia;
@Column({
nullable: true,
length: 128,
})
postal_code: string;
@Column({
nullable: true,
length: 128,
})
phone: string;
@Column({
nullable: false,
length: 4096,
})
faximilie: 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,113 @@
import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToMany, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm";
import { EformGender } from "../types/eform";
import { EformConfigNationality } from "./eform_config_nationalities";
import { EformConfigEducation } from "./eform_config_educations";
import { EformPersonalIdentity } from "./eform_personal_identities";
import { EformConfigMarital } from "./eform_config_maritals";
@Entity("eform_personals", { schema: "eforms" })
export class EformPersonal {
@PrimaryGeneratedColumn("uuid")
id: string;
@ManyToOne(() => EformConfigNationality, { onDelete: "NO ACTION", nullable: true })
@JoinColumn()
nationality: EformConfigNationality;
@ManyToOne(() => EformConfigEducation, { onDelete: "NO ACTION", nullable: true })
@JoinColumn()
education: EformConfigEducation;
@ManyToOne(() => EformConfigMarital, { onDelete: "NO ACTION", nullable: true })
@JoinColumn()
marital: EformConfigMarital;
@Column({
nullable: false,
length: 4096,
})
name: string;
@Column({
nullable: true,
length: 128,
})
phone: string;
@Column({
nullable: true,
length: 128,
})
telephone: string;
@Column({
nullable: true,
length: 128,
})
handphone: string;
@Column({
nullable: true,
length: 256,
})
social_media: string;
@Column({
nullable: true,
length: 256,
})
religion: string;
@Column({
nullable: true,
length: 256,
})
email: string;
@Column({
nullable: false,
length: 256,
})
gender: EformGender;
@Column({
nullable: true,
length: 256,
})
hobby: string;
@Column({
nullable: false,
length: 256,
})
birth_place: string;
@Column({
nullable: false,
})
birth_date: Date;
@ManyToMany(() => EformPersonalIdentity, (identity) => identity.personal)
personal_identities: EformPersonalIdentity[];
@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,5 +1,5 @@
import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm";
import { EformRequestRequestorType, EformRequestSourceType, EformRequestStatusType } from "../types/eform";
import { EformRequestAggrementType, EformRequestProductName, EformRequestProductType, EformRequestRequestorType, EformRequestSourceType, EformRequestStatusType } from "../types/eform";
import { Branch } from "./branchs";
import { EformAccount } from "./eform_accounts";
import { EformCif } from "./eform_cifs";
@ -47,6 +47,30 @@ export class EformRequest {
@JoinColumn()
cif: EformCif;
@Column({
nullable: false,
length: 64,
})
sharing: EformRequestAggrementType;
@Column({
nullable: false,
length: 64,
})
declaration: EformRequestAggrementType;
@Column({
nullable: false,
length: 64,
})
product_name: EformRequestProductName;
@Column({
nullable: false,
length: 64,
})
product_type: EformRequestProductType;
@Column({
nullable: false,
length: 64,

View File

@ -23,3 +23,12 @@ export * from "../entity/eform_accounts";
export * from "../entity/eform_cifs";
export * from "../entity/eform_requests";
export * from "../entity/eform_cifs";
export * from "../entity/eform_personals";
export * from "../entity/eform_personal_main_addresses";
export * from "../entity/eform_personal_domicile_addresses";
export * from "../entity/eform_jobs";
export * from "../entity/eform_financials";
export * from "../entity/eform_financial_banks";
export * from "../entity/eform_emergency_contacts";
export * from "../entity/eform_beneficial_owners";
export * from "../entity/eform_personal_identities";

View File

@ -3,6 +3,21 @@ export enum EformRequestSourceType {
"app_brizzi" = "app_brizzi",
}
export enum EformRequestAggrementType {
"Aggree" = "true",
"Not Aggree" = "false",
}
export enum EformRequestProductName {
"Britama" = "britama",
"Giro" = "giro",
}
export enum EformRequestProductType {
"Card" = "card",
"Book" = "book",
}
export enum EformRequestStatusType {
"verify" = "verify",
"open" = "open",
@ -15,3 +30,29 @@ export enum EformRequestRequestorType {
"wic" = "wic",
"bri" = "bri",
}
export enum EformGender {
"man" = "man",
"female" = "female",
}
export enum EformInterestAccountType {
"saving" = "saving",
"investment" = "investment",
"transaction" = "transaction",
"other" = "other",
}
export enum EformIdentityType {
"electoral" = "electoral",
"bi" = "bi",
"passport" = "passport",
"visa" = "visa",
}
export enum EformBankType {
"bnctl" = "bnctl",
"mandiri" = "mandiri",
"bnu" = "bnu",
"anz" = "anz",
}