add bank garansi, bank garansi status, bank garansi type

This commit is contained in:
meusinfirmary
2024-12-18 05:24:43 +07:00
parent fe046e8cd7
commit b475d6c738
4 changed files with 238 additions and 33 deletions

119
src/entity/bank_garansi.ts Normal file
View File

@ -0,0 +1,119 @@
import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, OneToMany, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm";
import { BankGaransiType } from "./bank_garansi_type";
import { BankGaransiStatus } from "./bank_garansi_status";
// import { CategorySource } from '../types/category_source';
// import { Status } from '../types/status';
// import { Target } from './targets';
@Entity("bank_garansi")
export class BankGaransi {
@PrimaryGeneratedColumn("uuid")
id: string;
@Column({
nullable: true,
})
open_date: Date;
@Column({
nullable: true,
length: 256,
})
name: string;
@Column({
nullable: true,
length: 256,
})
phone: string;
@Column({
nullable: true,
length: 256,
})
bg_number: string;
@ManyToOne(() => BankGaransiType, (bank_garansi_type) => bank_garansi_type.bank_garansi)
@JoinColumn({ name: "bgTypeId" }) // Add foreign key column
bank_garansi_type: BankGaransiType;
@Column({ nullable: false })
bgTypeId: string;
@Column({
nullable: true,
length: 256,
})
project_owner: string;
@Column({
type: "float8",
nullable: true,
})
nominal: number;
@Column({
nullable: true,
})
release_date: Date;
@Column({
nullable: true,
})
due_date: Date;
@Column({
nullable: true,
})
accounting_date: Date;
@Column({
type: "float8",
nullable: true,
})
admin_fee: number;
@Column({
type: "float8",
nullable: true,
})
provision: number;
@ManyToOne(() => BankGaransiStatus, (bank_garansi_status) => bank_garansi_status.bank_garansi)
@JoinColumn({ name: "bgStatusId" }) // Add foreign key column
bank_garansi_status: BankGaransiStatus;
@Column({ nullable: false })
bgStatusId: string;
@Column({
nullable: true,
length: 4096,
})
description: 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;
}

View File

@ -0,0 +1,40 @@
import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, OneToMany, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm";
// import { CategorySource } from '../types/category_source';
import { Status } from "../types/status";
import { BankGaransi } from "./bank_garansi";
// import { Target } from './targets';
@Entity("bank_garansi_status")
export class BankGaransiStatus {
@PrimaryGeneratedColumn("uuid")
id: string;
@Column({
nullable: true,
length: 256,
})
name: string;
@Column({
type: "enum",
enum: Status,
nullable: false,
})
status: Status;
@OneToMany(() => BankGaransi, (bank_garansi) => bank_garansi.bgStatusId)
bank_garansi: BankGaransi[];
@Column()
@CreateDateColumn()
created_at: Date;
@Column({ nullable: true })
@UpdateDateColumn()
updated_at: Date;
@Column({ nullable: true })
@DeleteDateColumn()
deleted_at: Date;
}

View File

@ -0,0 +1,40 @@
import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, OneToMany, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm";
// import { CategorySource } from '../types/category_source';
import { Status } from "../types/status";
import { BankGaransi } from "./bank_garansi";
// import { Target } from './targets';
@Entity("bank_garansi_type")
export class BankGaransiType {
@PrimaryGeneratedColumn("uuid")
id: string;
@Column({
nullable: true,
length: 256,
})
name: string;
@Column({
type: "enum",
enum: Status,
nullable: false,
})
status: Status;
@OneToMany(() => BankGaransi, (bank_garansi) => bank_garansi.bgTypeId)
bank_garansi: BankGaransi[];
@Column()
@CreateDateColumn()
created_at: Date;
@Column({ nullable: true })
@UpdateDateColumn()
updated_at: Date;
@Column({ nullable: true })
@DeleteDateColumn()
deleted_at: Date;
}

View File

@ -28,9 +28,12 @@ import { Category } from "./entity/categories";
import { CategorySource } from "./types/category_source"; import { CategorySource } from "./types/category_source";
import { PullerStatus } from "./entity/puller_status"; import { PullerStatus } from "./entity/puller_status";
import { Target } from "./entity/targets"; import { Target } from "./entity/targets";
import { BankGaransi } from "./entity/bank_garansi";
import { BankGaransiType } from "./entity/bank_garansi_type";
import { BankGaransiStatus } from "./entity/bank_garansi_status";
export { export {
User, User, //
UserRole, UserRole,
UserActivity, UserActivity,
UserRefreshToken, UserRefreshToken,
@ -61,5 +64,8 @@ export {
Category, Category,
CategorySource, CategorySource,
PullerStatus, PullerStatus,
Target Target,
BankGaransi,
BankGaransiType,
BankGaransiStatus,
}; };