96 lines
1.7 KiB
TypeScript
96 lines
1.7 KiB
TypeScript
import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, JoinTable, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm";
|
|
import { GpsDevice } from "./gps_devices";
|
|
import { GpsActionType, GpsEngineStatus, GpsIgnitionStatus, GpsReverseGeoStatus } from "../types/gps";
|
|
|
|
@Entity("gps_device_logs", { schema: "gps" })
|
|
export class GpsDeviceLog {
|
|
@PrimaryGeneratedColumn("uuid")
|
|
id: string;
|
|
|
|
@ManyToOne(() => GpsDevice, { nullable: true })
|
|
@JoinColumn({ name: "deviceId" })
|
|
device: GpsDevice;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
})
|
|
activity_at: Date;
|
|
|
|
@Column({
|
|
nullable: false,
|
|
type: "text",
|
|
})
|
|
socket: string;
|
|
|
|
@Column({
|
|
nullable: false,
|
|
type: "text",
|
|
})
|
|
hex: string;
|
|
|
|
@Column({
|
|
nullable: false,
|
|
})
|
|
action: GpsActionType;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
type: "double precision",
|
|
})
|
|
latitude: number;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
type: "double precision",
|
|
})
|
|
longitude: number;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
type: "float",
|
|
})
|
|
speed: string;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
})
|
|
ignition_status: GpsIgnitionStatus;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
})
|
|
engine_status: GpsEngineStatus;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
})
|
|
reverse_geo_status: GpsReverseGeoStatus;
|
|
|
|
@Column({
|
|
nullable: true,
|
|
type: "jsonb",
|
|
})
|
|
reverse_geo: string;
|
|
|
|
@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;
|
|
}
|