gps_vehicles

This commit is contained in:
pringgosutono
2025-10-13 17:26:51 +07:00
parent 793d922e46
commit 5faa20107e
2 changed files with 185 additions and 0 deletions

184
src/entity/gps_vehicles.ts Normal file
View File

@ -0,0 +1,184 @@
import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinTable, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn, OneToOne, JoinColumn } from "typeorm";
import { GpsDevice } from "./gps_devices";
export abstract class BaseEntityAudit {
@CreateDateColumn({ name: "created_at" })
created_at: Date;
@Column({ type: "varchar", length: 255 })
created_by: string;
@UpdateDateColumn({ name: "updated_at", nullable: true })
updated_at?: Date;
@Column({ type: "varchar", length: 255, nullable: true })
updated_by?: string;
@DeleteDateColumn({ name: "deleted_at", nullable: true })
deleted_at?: Date;
@Column({ type: "varchar", length: 255, nullable: true })
deleted_by?: string;
}
@Entity("gps_vehicles", { schema: "gps" })
export class GpsVehicles extends BaseEntityAudit {
@PrimaryGeneratedColumn("uuid")
vehicle_id: string;
@Column({ type: "varchar", length: 255, nullable: true })
name?: string;
@OneToOne(() => GpsDevice, { nullable: true, onDelete: "SET NULL" })
@JoinColumn({ name: "device_id", referencedColumnName: "id" })
device_id?: GpsDevice;
@Column({ type: "json", nullable: true })
vehicle_dt?: Record<string, any>;
// =============================
@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;
}
@Entity("gps_vehicle_types", { schema: "gps" })
export class GpsVehicleTypes extends BaseEntityAudit {
@PrimaryGeneratedColumn("uuid")
vehicle_type_id: string;
@Column({ type: "json", nullable: true })
vehicle_type_dt?: Record<string, any>;
// =============================
@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;
}
@Entity("gps_vehicle_brands", { schema: "gps" })
export class GpsVehicleBrands extends BaseEntityAudit {
@PrimaryGeneratedColumn("uuid")
vehicle_brand_id: string;
@Column({ type: "json", nullable: true })
vehicle_brand_dt?: Record<string, any>;
// =============================
@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;
}
@Entity("gps_vehicle_cats", { schema: "gps" })
export class GpsVehicleCats extends BaseEntityAudit {
@PrimaryGeneratedColumn("uuid")
vehicle_cat_id: string;
@Column({ type: "json", nullable: true })
vehicle_cat_dt?: Record<string, any>;
// =============================
@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;
}
@Entity("gps_vehicle_models", { schema: "gps" })
export class GpsVehicleModels extends BaseEntityAudit {
@PrimaryGeneratedColumn("uuid")
vehicle_model_id: string;
@Column({ type: "json", nullable: true })
vehicle_model_dt?: Record<string, any>;
// =============================
@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;
}

View File

@ -1,3 +1,4 @@
export * from "../types/gps"; export * from "../types/gps";
export * from "../entity/gps_devices"; export * from "../entity/gps_devices";
export * from "../entity/gps_device_log"; export * from "../entity/gps_device_log";
export * from "../entity/gps_vehicles";