update airport, holiday, position
This commit is contained in:
56
src/entity/hrms/hrms_airport.ts
Normal file
56
src/entity/hrms/hrms_airport.ts
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
import { Entity, PrimaryGeneratedColumn, Column, OneToMany, PrimaryColumn, CreateDateColumn, UpdateDateColumn, DeleteDateColumn } from "typeorm";
|
||||||
|
import { Status } from "../../types/status";
|
||||||
|
|
||||||
|
@Entity("hrms_airports", { schema: "hrms" })
|
||||||
|
export class HrmsAirport {
|
||||||
|
@PrimaryGeneratedColumn('uuid')
|
||||||
|
id: string;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: false,
|
||||||
|
unique: false,
|
||||||
|
length: 64
|
||||||
|
})
|
||||||
|
code: string;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: false,
|
||||||
|
unique: false,
|
||||||
|
length: 64
|
||||||
|
})
|
||||||
|
name: string;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: true,
|
||||||
|
unique: false,
|
||||||
|
length: 64
|
||||||
|
})
|
||||||
|
description: 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;
|
||||||
|
}
|
||||||
78
src/entity/hrms/hrms_holiday.ts
Normal file
78
src/entity/hrms/hrms_holiday.ts
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
import {
|
||||||
|
Entity,
|
||||||
|
PrimaryGeneratedColumn,
|
||||||
|
Column,
|
||||||
|
CreateDateColumn,
|
||||||
|
UpdateDateColumn,
|
||||||
|
DeleteDateColumn
|
||||||
|
} from "typeorm";
|
||||||
|
import { Status } from "../../types/status";
|
||||||
|
import { HolidayType } from "../../types/hrms_holiday";
|
||||||
|
|
||||||
|
@Entity("hrms_holidays", { schema: "hrms" })
|
||||||
|
export class HrmsHoliday {
|
||||||
|
|
||||||
|
@PrimaryGeneratedColumn("uuid")
|
||||||
|
id: string;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
type: "enum",
|
||||||
|
enum: HolidayType,
|
||||||
|
nullable: false
|
||||||
|
})
|
||||||
|
type: HolidayType;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
type: "date",
|
||||||
|
nullable: false
|
||||||
|
})
|
||||||
|
start_date: Date;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
type: "date",
|
||||||
|
nullable: false
|
||||||
|
})
|
||||||
|
end_date: Date;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
type: "int",
|
||||||
|
nullable: false
|
||||||
|
})
|
||||||
|
working_days: number;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: false,
|
||||||
|
length: 128
|
||||||
|
})
|
||||||
|
name: string;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: true,
|
||||||
|
length: 256
|
||||||
|
})
|
||||||
|
description: string;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: false,
|
||||||
|
length: 64
|
||||||
|
})
|
||||||
|
status: Status;
|
||||||
|
|
||||||
|
@CreateDateColumn()
|
||||||
|
created_at: Date;
|
||||||
|
|
||||||
|
@Column({ nullable: true, length: 256 })
|
||||||
|
created_by: string;
|
||||||
|
|
||||||
|
@UpdateDateColumn({ nullable: true })
|
||||||
|
updated_at: Date;
|
||||||
|
|
||||||
|
@Column({ nullable: true, length: 256 })
|
||||||
|
updated_by: string;
|
||||||
|
|
||||||
|
@DeleteDateColumn({ nullable: true })
|
||||||
|
deleted_at: Date;
|
||||||
|
|
||||||
|
@Column({ nullable: true, length: 256 })
|
||||||
|
deleted_by: string;
|
||||||
|
}
|
||||||
66
src/entity/hrms/hrms_position.ts
Normal file
66
src/entity/hrms/hrms_position.ts
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
import { Entity, PrimaryGeneratedColumn, Column, OneToMany, PrimaryColumn, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinColumn } from "typeorm";
|
||||||
|
import { Status } from "../../types/status";
|
||||||
|
|
||||||
|
@Entity("hrms_positions", { schema: "hrms" })
|
||||||
|
export class HrmsPosition {
|
||||||
|
@PrimaryGeneratedColumn('uuid')
|
||||||
|
id: string;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: false,
|
||||||
|
unique: false,
|
||||||
|
length: 64
|
||||||
|
})
|
||||||
|
code: string;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: false,
|
||||||
|
unique: false,
|
||||||
|
length: 64
|
||||||
|
})
|
||||||
|
name: string;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: true,
|
||||||
|
unique: false,
|
||||||
|
length: 64
|
||||||
|
})
|
||||||
|
description: string;
|
||||||
|
|
||||||
|
@ManyToOne(() => HrmsPosition, position => position.children, {
|
||||||
|
nullable: true,
|
||||||
|
onDelete: "SET NULL"
|
||||||
|
})
|
||||||
|
@JoinColumn({ name: "parent_id" })
|
||||||
|
parent: HrmsPosition;
|
||||||
|
|
||||||
|
@OneToMany(() => HrmsPosition, position => position.parent)
|
||||||
|
children: HrmsPosition[];
|
||||||
|
|
||||||
|
@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;
|
||||||
|
}
|
||||||
@ -1 +1,6 @@
|
|||||||
export * from "../entity/hrms/hrms_department"
|
export * from "../entity/hrms/hrms_department"
|
||||||
|
export * from "../entity/hrms/hrms_airport"
|
||||||
|
export * from "../entity/hrms/hrms_position"
|
||||||
|
export * from "../entity/hrms/hrms_holiday"
|
||||||
|
|
||||||
|
export * from "../types/hrms_holiday"
|
||||||
15
src/types/hrms_holiday.ts
Normal file
15
src/types/hrms_holiday.ts
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
export enum HolidayType {
|
||||||
|
NATIONAL = "NH", // National Holiday
|
||||||
|
COLLECTIVE = "CL", // Collective Leave / Cuti Bersama
|
||||||
|
COMPANY = "CH", // Company Holiday
|
||||||
|
RELIGIOUS = "RH", // Religious Holiday
|
||||||
|
SPECIAL = "SH", // Special / Exceptional Holiday
|
||||||
|
}
|
||||||
|
|
||||||
|
export const HolidayTypeLabel: Record<HolidayType, string> = {
|
||||||
|
[HolidayType.NATIONAL]: "National Holiday",
|
||||||
|
[HolidayType.COLLECTIVE]: "Collective Leave",
|
||||||
|
[HolidayType.COMPANY]: "Company Holiday",
|
||||||
|
[HolidayType.RELIGIOUS]: "Religious Holiday",
|
||||||
|
[HolidayType.SPECIAL]: "Special Holiday",
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user