This commit is contained in:
natib21
2026-06-19 12:17:18 +00:00
parent b2f1ce7d48
commit 5ca107f781
2 changed files with 17 additions and 20 deletions

View File

@@ -1,4 +1,4 @@
import { Entity, Column, Index } from 'typeorm';
import { Entity, Column } from 'typeorm';
import { BaseEntity } from '@edr/api-common';
export enum DriverStatus {
@@ -9,48 +9,44 @@ export enum DriverStatus {
}
@Entity({ name: 'drivers', schema: 'freight' })
@Index(['licenseNumber'])
@Index(['email'])
@Index(['phoneNumber'])
@Index(['status'])
export class Driver extends BaseEntity {
@Column({ unique: true })
@Column({ name: 'license_number', unique: true })
licenseNumber!: string;
@Column()
@Column({ name: 'first_name' })
firstName!: string;
@Column()
@Column({ name: 'last_name' })
lastName!: string;
@Column({ unique: true })
email!: string;
@Column({ unique: true })
@Column({ name: 'phone_number', unique: true })
phoneNumber!: string;
@Column({ type: 'date' })
@Column({ name: 'date_of_birth', type: 'date' })
dateOfBirth!: Date;
@Column({ type: 'date' })
@Column({ name: 'license_expiry_date', type: 'date' })
licenseExpiryDate!: Date;
@Column({ type: 'varchar', default: DriverStatus.ACTIVE })
status!: DriverStatus;
@Column({ type: 'varchar', array: true, nullable: true })
@Column({ name: 'vehicle_types_authorized', type: 'varchar', array: true, nullable: true })
vehicleTypesAuthorized?: string[];
@Column({ type: 'text', nullable: true })
address!: string | null;
@Column({ type: 'varchar', nullable: true })
@Column({ name: 'emergency_contact', type: 'varchar', nullable: true })
emergencyContact!: string | null;
@Column({ type: 'text', nullable: true })
notes!: string | null;
@Column({ type: 'int', default: 0 })
@Column({ name: 'total_trips', type: 'int', default: 0 })
totalTrips!: number;
@Column({ type: 'numeric', precision: 3, scale: 2, nullable: true })