update application module parent

This commit is contained in:
2024-12-31 09:29:39 +07:00
parent 8a3aa36f4f
commit 75f7366065
5 changed files with 57 additions and 4 deletions

36
src/entity/application.ts Normal file
View File

@ -0,0 +1,36 @@
import { Entity, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, PrimaryColumn } from 'typeorm';
import { Status } from '../types/status';
@Entity('application')
export class Application {
@PrimaryColumn({
nullable: false,
length: 32
})
id: string;
@Column({
nullable: false,
length: 256
})
name: 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;
}

View File

@ -1,12 +1,17 @@
import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index } from 'typeorm'; import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, JoinColumn, ManyToOne } from 'typeorm';
import { Status } from '../types/status'; import { Status } from '../types/status';
import { Application } from './application';
@Entity('menus') @Entity('menus')
export class Menu { export class Menu {
@PrimaryGeneratedColumn('uuid') @PrimaryGeneratedColumn('uuid')
id: string; id: string;
@ManyToOne(() => Application, { onDelete: "RESTRICT" })
@JoinColumn({ name: 'application' })
application: Application
@Column({ @Column({
nullable: false, nullable: false,
length: 128 length: 128

View File

@ -1,12 +1,17 @@
import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index } from 'typeorm'; import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, JoinColumn, ManyToOne } from 'typeorm';
import { ActivityType } from '../types/action'; import { ActivityType } from '../types/action';
import { Application } from './application';
@Entity('user_activities') @Entity('user_activities')
export class UserActivity { export class UserActivity {
@PrimaryGeneratedColumn('uuid') @PrimaryGeneratedColumn('uuid')
id: string; id: string;
@ManyToOne(() => Application, { onDelete: "RESTRICT" })
@JoinColumn({ name: 'application' })
application: Application
@Index() @Index()
@Column({ @Column({
type: 'uuid' type: 'uuid'

View File

@ -1,12 +1,17 @@
import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn } from 'typeorm'; import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, JoinColumn, ManyToOne } from 'typeorm';
import { Status } from '../types/status'; import { Status } from '../types/status';
import { Application } from './application';
@Entity('user_roles') @Entity('user_roles')
export class UserRole { export class UserRole {
@PrimaryGeneratedColumn('uuid') @PrimaryGeneratedColumn('uuid')
id: string; id: string;
@ManyToOne(() => Application, { onDelete: "RESTRICT" })
@JoinColumn({ name: 'application' })
application: Application
@Column({ @Column({
nullable: false, nullable: false,
unique: true, unique: true,

View File

@ -45,6 +45,7 @@ import { CreditTypeForms } from "./entity/credit_type_forms";
import { CreditApplication } from "./entity/credit_applications"; import { CreditApplication } from "./entity/credit_applications";
import { CreditApplicationStatus } from "./types/credit"; import { CreditApplicationStatus } from "./types/credit";
import { CreditApplicationForm } from "./entity/credit_application_forms"; import { CreditApplicationForm } from "./entity/credit_application_forms";
import { Application } from "./entity/application";
export { export {
User, // User, //
@ -97,5 +98,6 @@ export {
CreditTypeForms, CreditTypeForms,
CreditApplication, CreditApplication,
CreditApplicationStatus, CreditApplicationStatus,
CreditApplicationForm CreditApplicationForm,
Application
}; };