diff --git a/src/entity/trx_cifs.ts b/src/entity/trx_cifs.ts new file mode 100644 index 0000000..a335205 --- /dev/null +++ b/src/entity/trx_cifs.ts @@ -0,0 +1,46 @@ +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, JoinColumn, ManyToOne } from "typeorm"; +import { Status } from "../types/status"; + +@Entity("trx_cifs", { schema: "trx" }) +export class TrxCif { + @PrimaryGeneratedColumn("uuid") + id: string; + + @Column({ + nullable: true, + length: 256, + }) + number: string; + + @Column({ + nullable: true, + }) + generated_at: Date; + + @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/trx_companies.ts b/src/entity/trx_companies.ts new file mode 100644 index 0000000..c563669 --- /dev/null +++ b/src/entity/trx_companies.ts @@ -0,0 +1,67 @@ +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, JoinColumn, ManyToOne } from "typeorm"; + +import { Status } from "../types/status"; + +@Entity("trx_companies", { schema: "trx" }) +export class TrxCompany { + @PrimaryGeneratedColumn("uuid") + id: string; + + @Column({ + nullable: false, + unique: true, + length: 256, + }) + name: string; + + @Column({ + nullable: false, + unique: true, + length: 256, + }) + code: string; + + @Column({ + nullable: true, + length: 4096, + }) + description: string; + + @Column({ + nullable: false, + length: 64, + }) + status: Status; + + @Column({ + nullable: false, + length: 256, + }) + pic_name: string; + + @Column({ + nullable: false, + unique: false, + length: 256, + }) + pic_phone: string; + + @Column({ + nullable: false, + unique: false, + length: 256, + }) + pic_email: string; + + @Column() + @CreateDateColumn() + created_at: Date; + + @Column({ nullable: true }) + @UpdateDateColumn() + updated_at: Date; + + @Column({ nullable: true }) + @DeleteDateColumn() + deleted_at: Date; +} diff --git a/src/entity/trx_company_accounts.ts b/src/entity/trx_company_accounts.ts new file mode 100644 index 0000000..69685d9 --- /dev/null +++ b/src/entity/trx_company_accounts.ts @@ -0,0 +1,68 @@ +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, JoinColumn, ManyToOne, JoinTable } from "typeorm"; + +import { Status } from "../types/status"; +import { TrxCompany } from "./trx_companies"; + +@Entity("trx_company_accounts", { schema: "trx" }) +export class TrxCompanyAccount { + @PrimaryGeneratedColumn("uuid") + id: string; + + @Column({ + nullable: false, + unique: true, + length: 256, + }) + code: string; + + @Column({ + nullable: true, + length: 256, + }) + name: string; + + @Column({ + nullable: false, + length: 256, + }) + account_number: string; + + @Column({ + nullable: false, + length: 256, + }) + account_holder: string; + + @ManyToOne(() => TrxCompany, { onDelete: "NO ACTION", nullable: true }) + @JoinTable() + company: TrxCompany; + + @Column({ + nullable: true, + }) + last_trans_at: Date; + + @Column({ + nullable: true, + length: 256, + }) + last_trans_ref_number: string; + + @Column({ + nullable: true, + type: "float8", + }) + last_trans_amount: number; + + @Column() + @CreateDateColumn() + created_at: Date; + + @Column({ nullable: true }) + @UpdateDateColumn() + updated_at: Date; + + @Column({ nullable: true }) + @DeleteDateColumn() + deleted_at: Date; +} diff --git a/src/entity/trx_company_user_refresh_token.ts b/src/entity/trx_company_user_refresh_token.ts new file mode 100644 index 0000000..bbc69ba --- /dev/null +++ b/src/entity/trx_company_user_refresh_token.ts @@ -0,0 +1,64 @@ +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index } from "typeorm"; + +@Entity("trx_company_user_refresh_tokens", { schema: "trx" }) +export class TrxCompanyUserRefreshToken { + @PrimaryGeneratedColumn("uuid") + refresh_token: string; + + @Index() + @Column({ + type: "uuid", + }) + id_user: string; + + @Column({ + nullable: false, + length: 4096, + }) + user_agent: string; + + @Column({ + nullable: true, + length: 128, + }) + os: string; + + @Column({ + nullable: true, + length: 256, + }) + device: string; + + @Column({ + nullable: true, + length: 64, + }) + platform: string; + + @Column({ + nullable: true, + length: 64, + }) + browser: string; + + @Column({ + nullable: true, + length: 32, + }) + remote_addr: string; + + @Column("timestamp") + expired_at: Date; + + @Column() + @CreateDateColumn() + created_at: Date; + + @Column({ nullable: true }) + @UpdateDateColumn() + updated_at: Date; + + @Column({ nullable: true }) + @DeleteDateColumn() + deleted_at: Date; +} diff --git a/src/entity/trx_company_users.ts b/src/entity/trx_company_users.ts new file mode 100644 index 0000000..8d53549 --- /dev/null +++ b/src/entity/trx_company_users.ts @@ -0,0 +1,77 @@ +import bcrypt from "bcryptjs"; +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, OneToOne, JoinColumn, ManyToOne, OneToMany, ManyToMany, JoinTable } from "typeorm"; + +import { Status } from "../types/status"; +import { TrxCompany } from "./trx_companies"; + +@Entity("trx_company_users", { schema: "trx" }) +export class TrxCompanyUser { + @PrimaryGeneratedColumn("uuid") + id: string; + + @Column({ + nullable: false, + unique: false, + length: 64, + }) + email: string; + + @Column({ + nullable: false, + length: 64, + select: false, + }) + password: string; + + @Column({ + nullable: false, + unique: false, + length: 64, + }) + username: string; + + @Column({ + nullable: true, + length: 64, + unique: false, + }) + name: string; + + @ManyToOne(() => TrxCompany, { onDelete: "CASCADE" }) + @JoinTable() + company: TrxCompany; + + @Index() + @Column({ + nullable: true, + type: "uuid", + select: false, + }) + reset_token: string; + + @Column({ + nullable: false, + length: 64, + }) + status: Status; + + @Column() + @CreateDateColumn() + created_at: Date; + + @Column({ nullable: true }) + @UpdateDateColumn() + updated_at: Date; + + @Column({ nullable: true }) + @DeleteDateColumn() + deleted_at: Date; + + hashPassword() { + this.password = bcrypt.hashSync(this.password, 8); + } + + checkIfPasswordMatch(unencryptedPassword: string) { + return bcrypt.compareSync(unencryptedPassword, this.password); + } +} diff --git a/src/entity/trx_config_booms.ts b/src/entity/trx_config_booms.ts new file mode 100644 index 0000000..b1c2a14 --- /dev/null +++ b/src/entity/trx_config_booms.ts @@ -0,0 +1,49 @@ +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, JoinColumn, ManyToOne } from "typeorm"; +import { Status } from "../types/status"; +import { TrxLanguage } from "./trx_languages"; + +@Entity("trx_config_booms", { schema: "trx" }) +export class TrxConfigBoom { + @PrimaryGeneratedColumn("uuid") + id: string; + + @Column({ + nullable: true, + length: 256, + }) + name: string; + + @Column({ type: "smallint", default: 0 }) + level: Number; + + @ManyToOne(() => TrxLanguage, { onDelete: "RESTRICT", nullable: true }) + @JoinColumn() + language: TrxLanguage; + + @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/trx_config_business_entities.ts b/src/entity/trx_config_business_entities.ts new file mode 100644 index 0000000..b8ce97d --- /dev/null +++ b/src/entity/trx_config_business_entities.ts @@ -0,0 +1,49 @@ +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, JoinColumn, ManyToOne } from "typeorm"; +import { Status } from "../types/status"; +import { TrxLanguage } from "./trx_languages"; + +@Entity("trx_config_business_entities", { schema: "trx" }) +export class TrxConfigBusinessEntity { + @PrimaryGeneratedColumn("uuid") + id: string; + + @Column({ + nullable: true, + length: 256, + }) + name: string; + + @Column({ type: "smallint", default: 0 }) + level: Number; + + @ManyToOne(() => TrxLanguage, { onDelete: "RESTRICT", nullable: true }) + @JoinColumn() + language: TrxLanguage; + + @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/trx_config_business_fields.ts b/src/entity/trx_config_business_fields.ts new file mode 100644 index 0000000..72316e9 --- /dev/null +++ b/src/entity/trx_config_business_fields.ts @@ -0,0 +1,49 @@ +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, JoinColumn, ManyToOne } from "typeorm"; +import { Status } from "../types/status"; +import { TrxLanguage } from "./trx_languages"; + +@Entity("trx_config_business_fields", { schema: "trx" }) +export class TrxConfigBusinessField { + @PrimaryGeneratedColumn("uuid") + id: string; + + @Column({ + nullable: true, + length: 256, + }) + name: string; + + @Column({ type: "smallint", default: 0 }) + level: Number; + + @ManyToOne(() => TrxLanguage, { onDelete: "RESTRICT", nullable: true }) + @JoinColumn() + language: TrxLanguage; + + @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/trx_config_channels.ts b/src/entity/trx_config_channels.ts new file mode 100644 index 0000000..1581589 --- /dev/null +++ b/src/entity/trx_config_channels.ts @@ -0,0 +1,49 @@ +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, JoinColumn, ManyToOne } from "typeorm"; +import { Status } from "../types/status"; +import { TrxLanguage } from "./trx_languages"; + +@Entity("trx_config_channels", { schema: "trx" }) +export class TrxConfigChannel { + @PrimaryGeneratedColumn("uuid") + id: string; + + @Column({ + nullable: true, + length: 256, + }) + name: string; + + @Column({ type: "smallint", default: 0 }) + level: Number; + + @ManyToOne(() => TrxLanguage, { onDelete: "RESTRICT", nullable: true }) + @JoinColumn() + language: TrxLanguage; + + @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/trx_config_educations.ts b/src/entity/trx_config_educations.ts new file mode 100644 index 0000000..5b9d134 --- /dev/null +++ b/src/entity/trx_config_educations.ts @@ -0,0 +1,49 @@ +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, JoinColumn, ManyToOne } from "typeorm"; +import { Status } from "../types/status"; +import { TrxLanguage } from "./trx_languages"; + +@Entity("trx_config_educations", { schema: "trx" }) +export class TrxConfigEducation { + @PrimaryGeneratedColumn("uuid") + id: string; + + @Column({ + nullable: true, + length: 256, + }) + name: string; + + @Column({ type: "smallint", default: 0 }) + level: Number; + + @ManyToOne(() => TrxLanguage, { onDelete: "RESTRICT", nullable: true }) + @JoinColumn() + language: TrxLanguage; + + @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/trx_config_identity_types.ts b/src/entity/trx_config_identity_types.ts new file mode 100644 index 0000000..d5bced2 --- /dev/null +++ b/src/entity/trx_config_identity_types.ts @@ -0,0 +1,49 @@ +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, JoinColumn, ManyToOne } from "typeorm"; +import { Status } from "../types/status"; +import { TrxLanguage } from "./trx_languages"; + +@Entity("trx_config_identity_types", { schema: "trx" }) +export class TrxConfigIdentityType { + @PrimaryGeneratedColumn("uuid") + id: string; + + @Column({ + nullable: true, + length: 256, + }) + name: string; + + @Column({ type: "smallint", default: 0 }) + level: Number; + + @ManyToOne(() => TrxLanguage, { onDelete: "RESTRICT", nullable: true }) + @JoinColumn() + language: TrxLanguage; + + @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/trx_config_maritals.ts b/src/entity/trx_config_maritals.ts new file mode 100644 index 0000000..5a416f6 --- /dev/null +++ b/src/entity/trx_config_maritals.ts @@ -0,0 +1,49 @@ +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, JoinColumn, ManyToOne } from "typeorm"; +import { Status } from "../types/status"; +import { TrxLanguage } from "./trx_languages"; + +@Entity("trx_config_maritals", { schema: "trx" }) +export class TrxConfigMarital { + @PrimaryGeneratedColumn("uuid") + id: string; + + @Column({ + nullable: true, + length: 256, + }) + name: string; + + @Column({ type: "smallint", default: 0 }) + level: Number; + + @ManyToOne(() => TrxLanguage, { onDelete: "RESTRICT", nullable: true }) + @JoinColumn() + language: TrxLanguage; + + @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/trx_config_munisipos.ts b/src/entity/trx_config_munisipos.ts new file mode 100644 index 0000000..7e4158f --- /dev/null +++ b/src/entity/trx_config_munisipos.ts @@ -0,0 +1,44 @@ +import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm"; + +import { Status } from "../types/status"; +import { TrxRegionMunisipo } from "./trx_region_munisipos"; + +@Entity("trx_config_munisipos", { schema: "trx" }) +export class TrxConfigMunisipo { + @PrimaryGeneratedColumn("uuid") + id: string; + + @ManyToOne(() => TrxRegionMunisipo, { onDelete: "RESTRICT" }) + @JoinColumn() + munisipo: TrxRegionMunisipo; + + @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; +} diff --git a/src/entity/trx_config_nationalities.ts b/src/entity/trx_config_nationalities.ts new file mode 100644 index 0000000..eb1067f --- /dev/null +++ b/src/entity/trx_config_nationalities.ts @@ -0,0 +1,61 @@ +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, JoinColumn, ManyToOne } from "typeorm"; +import { Status } from "../types/status"; +import { TrxLanguage } from "./trx_languages"; + +@Entity("trx_config_nationalities", { schema: "trx" }) +export class TrxConfigNationality { + @PrimaryGeneratedColumn("uuid") + id: string; + + @Column({ + nullable: true, + length: 256, + }) + name: string; + + @Column({ type: "smallint", default: 0 }) + level: Number; + + @ManyToOne(() => TrxLanguage, { onDelete: "RESTRICT", nullable: true }) + @JoinColumn() + language: TrxLanguage; + + @Column({ + nullable: true, + length: 256, + }) + code_number: string; + + @Column({ + nullable: true, + length: 256, + }) + flag: 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/trx_config_occupations.ts b/src/entity/trx_config_occupations.ts new file mode 100644 index 0000000..49ddf0d --- /dev/null +++ b/src/entity/trx_config_occupations.ts @@ -0,0 +1,49 @@ +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, JoinColumn, ManyToOne } from "typeorm"; +import { Status } from "../types/status"; +import { TrxLanguage } from "./trx_languages"; + +@Entity("trx_config_occupations", { schema: "trx" }) +export class TrxConfigOccupation { + @PrimaryGeneratedColumn("uuid") + id: string; + + @Column({ + nullable: true, + length: 256, + }) + name: string; + + @Column({ type: "smallint", default: 0 }) + level: Number; + + @ManyToOne(() => TrxLanguage, { onDelete: "RESTRICT", nullable: true }) + @JoinColumn() + language: TrxLanguage; + + @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/trx_config_products.ts b/src/entity/trx_config_products.ts new file mode 100644 index 0000000..f61296d --- /dev/null +++ b/src/entity/trx_config_products.ts @@ -0,0 +1,49 @@ +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, JoinColumn, ManyToOne } from "typeorm"; +import { Status } from "../types/status"; +import { TrxLanguage } from "./trx_languages"; + +@Entity("trx_config_products", { schema: "trx" }) +export class TrxConfigProduct { + @PrimaryGeneratedColumn("uuid") + id: string; + + @Column({ + nullable: true, + length: 256, + }) + name: string; + + @Column({ type: "smallint", default: 0 }) + level: Number; + + @ManyToOne(() => TrxLanguage, { onDelete: "RESTRICT", nullable: true }) + @JoinColumn() + language: TrxLanguage; + + @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/trx_config_purposes.ts b/src/entity/trx_config_purposes.ts new file mode 100644 index 0000000..e92a418 --- /dev/null +++ b/src/entity/trx_config_purposes.ts @@ -0,0 +1,49 @@ +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, JoinColumn, ManyToOne } from "typeorm"; +import { Status } from "../types/status"; +import { TrxLanguage } from "./trx_languages"; + +@Entity("trx_config_purposes", { schema: "trx" }) +export class TrxConfigPurpose { + @PrimaryGeneratedColumn("uuid") + id: string; + + @Column({ + nullable: true, + length: 256, + }) + name: string; + + @Column({ type: "smallint", default: 0 }) + level: Number; + + @ManyToOne(() => TrxLanguage, { onDelete: "RESTRICT", nullable: true }) + @JoinColumn() + language: TrxLanguage; + + @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/trx_config_relations.ts b/src/entity/trx_config_relations.ts new file mode 100644 index 0000000..0ba8c12 --- /dev/null +++ b/src/entity/trx_config_relations.ts @@ -0,0 +1,49 @@ +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, JoinColumn, ManyToOne } from "typeorm"; +import { Status } from "../types/status"; +import { TrxLanguage } from "./trx_languages"; + +@Entity("trx_config_relations", { schema: "trx" }) +export class TrxConfigRelation { + @PrimaryGeneratedColumn("uuid") + id: string; + + @Column({ + nullable: true, + length: 256, + }) + name: string; + + @Column({ type: "smallint", default: 0 }) + level: Number; + + @ManyToOne(() => TrxLanguage, { onDelete: "RESTRICT", nullable: true }) + @JoinColumn() + language: TrxLanguage; + + @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/trx_config_religions.ts b/src/entity/trx_config_religions.ts new file mode 100644 index 0000000..71da474 --- /dev/null +++ b/src/entity/trx_config_religions.ts @@ -0,0 +1,49 @@ +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, JoinColumn, ManyToOne } from "typeorm"; +import { Status } from "../types/status"; +import { TrxLanguage } from "./trx_languages"; + +@Entity("trx_config_religions", { schema: "trx" }) +export class TrxConfigReligion { + @PrimaryGeneratedColumn("uuid") + id: string; + + @Column({ + nullable: true, + length: 256, + }) + name: string; + + @Column({ type: "smallint", default: 0 }) + level: Number; + + @ManyToOne(() => TrxLanguage, { onDelete: "RESTRICT", nullable: true }) + @JoinColumn() + language: TrxLanguage; + + @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/trx_config_source_incomes.ts b/src/entity/trx_config_source_incomes.ts new file mode 100644 index 0000000..32fe71a --- /dev/null +++ b/src/entity/trx_config_source_incomes.ts @@ -0,0 +1,49 @@ +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, JoinColumn, ManyToOne } from "typeorm"; +import { Status } from "../types/status"; +import { TrxLanguage } from "./trx_languages"; + +@Entity("trx_config_source_incomes", { schema: "trx" }) +export class TrxConfigSourceIncome { + @PrimaryGeneratedColumn("uuid") + id: string; + + @Column({ + nullable: true, + length: 256, + }) + name: string; + + @Column({ type: "smallint", default: 0 }) + level: Number; + + @ManyToOne(() => TrxLanguage, { onDelete: "RESTRICT", nullable: true }) + @JoinColumn() + language: TrxLanguage; + + @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/trx_config_strs.ts b/src/entity/trx_config_strs.ts new file mode 100644 index 0000000..49ad3a1 --- /dev/null +++ b/src/entity/trx_config_strs.ts @@ -0,0 +1,49 @@ +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, JoinColumn, ManyToOne } from "typeorm"; +import { Status } from "../types/status"; +import { TrxLanguage } from "./trx_languages"; + +@Entity("trx_config_strs", { schema: "trx" }) +export class TrxConfigStr { + @PrimaryGeneratedColumn("uuid") + id: string; + + @Column({ + nullable: true, + length: 256, + }) + name: string; + + @Column({ type: "smallint", default: 0 }) + level: Number; + + @ManyToOne(() => TrxLanguage, { onDelete: "RESTRICT", nullable: true }) + @JoinColumn() + language: TrxLanguage; + + @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/trx_languages.ts b/src/entity/trx_languages.ts new file mode 100644 index 0000000..ebe3570 --- /dev/null +++ b/src/entity/trx_languages.ts @@ -0,0 +1,63 @@ +import { Column, CreateDateColumn, DeleteDateColumn, Entity, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm"; + +import { Status } from "../types/status"; + +@Entity("trx_languages", { schema: "trx" }) +export class TrxLanguage { + @PrimaryGeneratedColumn("uuid") + id: string; + + @Column({ + nullable: false, + length: 128, + }) + code: string; + + @Column({ + nullable: false, + length: 4096, + default: "", + }) + eng: string; + + @Column({ + nullable: false, + length: 4096, + default: "", + }) + tet: string; + + @Column({ + nullable: false, + length: 4096, + default: "", + }) + ind: string; + + @Column({ + nullable: false, + length: 64, + }) + status: Status; + + @Column() + @CreateDateColumn() + created_at: Date; + + @Column({ type: "varchar", length: 255 }) + created_by: string; + + @Column({ nullable: true }) + @UpdateDateColumn() + updated_at: Date; + + @Column({ type: "varchar", length: 255, nullable: true }) + updated_by: string; + + @Column({ nullable: true }) + @DeleteDateColumn() + deleted_at: Date; + + @Column({ type: "varchar", length: 255, nullable: true }) + deleted_by: string; +} diff --git a/src/entity/trx_otp.ts b/src/entity/trx_otp.ts new file mode 100644 index 0000000..744b339 --- /dev/null +++ b/src/entity/trx_otp.ts @@ -0,0 +1,37 @@ +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn } from "typeorm"; + +@Entity("trx_otp", { schema: "trx" }) +export class TrxOtp { + @PrimaryGeneratedColumn("uuid") + id: string; + + @Column({ + nullable: false, + length: 64, + }) + otp: string; + + @Column({ + nullable: false, + unique: true, + length: 64, + }) + number: string; + + @Column({ + nullable: false, + }) + expired: Date; + + @Column() + @CreateDateColumn() + created_at: Date; + + @Column({ nullable: true }) + @UpdateDateColumn() + updated_at: Date; + + @Column({ nullable: true }) + @DeleteDateColumn() + deleted_at: Date; +} diff --git a/src/entity/trx_region_administrativus.ts b/src/entity/trx_region_administrativus.ts new file mode 100644 index 0000000..343f7ea --- /dev/null +++ b/src/entity/trx_region_administrativus.ts @@ -0,0 +1,39 @@ +import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm"; +import { TrxRegionMunisipo } from "./trx_region_munisipos"; + +@Entity("trx_region_administrativus", { schema: "trx" }) +export class TrxRegionAdministrativu { + @PrimaryGeneratedColumn("uuid") + id: string; + + @ManyToOne(() => TrxRegionMunisipo, { onDelete: "NO ACTION" }) + @JoinColumn() + munisipo: TrxRegionMunisipo; + + @Column({ + nullable: true, + length: 256, + }) + name: 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; +} diff --git a/src/entity/trx_region_aldeias.ts b/src/entity/trx_region_aldeias.ts new file mode 100644 index 0000000..d248f5f --- /dev/null +++ b/src/entity/trx_region_aldeias.ts @@ -0,0 +1,39 @@ +import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm"; +import { TrxRegionSuco } from "./trx_region_sucos"; + +@Entity("trx_region_aldeias", { schema: "trx" }) +export class TrxRegionAldeia { + @PrimaryGeneratedColumn("uuid") + id: string; + + @ManyToOne(() => TrxRegionSuco, { onDelete: "NO ACTION" }) + @JoinColumn() + suco: TrxRegionSuco; + + @Column({ + nullable: true, + length: 256, + }) + name: 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; +} diff --git a/src/entity/trx_region_munisipos.ts b/src/entity/trx_region_munisipos.ts new file mode 100644 index 0000000..69e60e4 --- /dev/null +++ b/src/entity/trx_region_munisipos.ts @@ -0,0 +1,35 @@ +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn } from "typeorm"; +import { Status } from "../types/status"; + +@Entity("trx_region_munisipos", { schema: "trx" }) +export class TrxRegionMunisipo { + @PrimaryGeneratedColumn("uuid") + id: string; + + @Column({ + nullable: true, + length: 256, + }) + name: 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; +} diff --git a/src/entity/trx_region_sucos.ts b/src/entity/trx_region_sucos.ts new file mode 100644 index 0000000..b9f2d9d --- /dev/null +++ b/src/entity/trx_region_sucos.ts @@ -0,0 +1,40 @@ +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinColumn } from "typeorm"; +import { Status } from "../types/status"; +import { TrxRegionAdministrativu } from "./trx_region_administrativus"; + +@Entity("trx_region_sucos", { schema: "trx" }) +export class TrxRegionSuco { + @PrimaryGeneratedColumn("uuid") + id: string; + + @ManyToOne(() => TrxRegionAdministrativu, { onDelete: "NO ACTION" }) + @JoinColumn() + administrativu: TrxRegionAdministrativu; + + @Column({ + nullable: true, + length: 256, + }) + name: 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; +} diff --git a/src/index.ts b/src/index.ts index c24d2f2..8784c42 100644 --- a/src/index.ts +++ b/src/index.ts @@ -10,3 +10,4 @@ export * from "./schema/tcel"; export * from "./schema/brilink"; export * from "./schema/eform"; export * from "./schema/compliance"; +export * from "./schema/trx"; diff --git a/src/schema/trx.ts b/src/schema/trx.ts new file mode 100644 index 0000000..1326d86 --- /dev/null +++ b/src/schema/trx.ts @@ -0,0 +1,27 @@ +export * from "../entity/trx_companies"; +export * from "../entity/trx_company_users"; +export * from "../entity/trx_company_user_refresh_token"; +export * from "../entity/trx_company_accounts"; +export * from "../entity/trx_otp"; +export * from "../entity/trx_cifs"; +export * from "../entity/trx_languages"; +export * from "../entity/trx_config_booms"; +export * from "../entity/trx_config_business_entities"; +export * from "../entity/trx_config_business_fields"; +export * from "../entity/trx_config_channels"; +export * from "../entity/trx_config_educations"; +export * from "../entity/trx_config_identity_types"; +export * from "../entity/trx_config_maritals"; +export * from "../entity/trx_config_munisipos"; +export * from "../entity/trx_config_nationalities"; +export * from "../entity/trx_config_occupations"; +export * from "../entity/trx_config_products"; +export * from "../entity/trx_config_purposes"; +export * from "../entity/trx_config_relations"; +export * from "../entity/trx_config_religions"; +export * from "../entity/trx_config_source_incomes"; +export * from "../entity/trx_config_strs"; +export * from "../entity/trx_region_munisipos"; +export * from "../entity/trx_region_administrativus"; +export * from "../entity/trx_region_aldeias"; +export * from "../entity/trx_region_sucos";