@delpa/mt-prisma 0.12.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -63,19 +63,48 @@ enum FuelType {
63
63
  GAS
64
64
  }
65
65
 
66
- enum TypeOfRoutes {
67
- PICKING
68
- DELIVERY
69
- RETURN
70
- }
71
-
72
66
  enum AddressType {
73
67
  PICKUP
74
68
  DELIVERY
75
69
  WAREHOUSE
70
+ FUEL_STATION
71
+ REST_STOP
72
+ TOLL_BOOTH
73
+ CUSTOMS
74
+ INSPECTION
75
+ MAINTENANCE
76
+ LOADING_DOCK
77
+ CROSS_DOCK
78
+ DISTRIBUTION_CENTER
79
+ BORDER_CROSSING
80
+ WEIGH_STATION
81
+ PARKING
82
+ OVERNIGHT_STOP
83
+ CUSTOMER_SITE
76
84
  OTHER
77
85
  }
78
86
 
87
+ enum EquipmentStatus {
88
+ ACTIVE
89
+ INACTIVE
90
+ MAINTENANCE
91
+ }
92
+
93
+ enum GpsProviders {
94
+ BEERMAN
95
+ GETRAK
96
+ GPS_GLOBAL
97
+ GPS_CHILE
98
+ IGPS
99
+ MAVI_GPS
100
+ MICHELIN
101
+ RED_GPS
102
+ TRUCK_CONTROL
103
+ GYG
104
+ ONIX
105
+ SASCAR
106
+ }
107
+
79
108
  model Client {
80
109
  id String @id @default(uuid()) @db.Uuid
81
110
  tax_id String?
@@ -150,7 +179,7 @@ model Order {
150
179
 
151
180
  shipper Client? @relation("shipper_client", fields: [shipper_id], references: [id], onDelete: SetNull)
152
181
  handling_units HandlingUnit[]
153
- route_orders RouteOrders[]
182
+ routes Route[]
154
183
 
155
184
  @@index([shipper_id])
156
185
  @@map("orders")
@@ -169,6 +198,7 @@ model companies {
169
198
  clients Client[]
170
199
  vehicles Vehicle[]
171
200
  user_companies UserCompany[]
201
+ equipments Equipment[]
172
202
 
173
203
  @@map("companies")
174
204
  }
@@ -219,9 +249,10 @@ model User {
219
249
  created_at DateTime @default(now())
220
250
  updated_at DateTime @updatedAt
221
251
 
222
- routes Route[]
223
- user_companies UserCompany[]
224
- sessions Session[]
252
+ routes Route[]
253
+ user_companies UserCompany[]
254
+ sessions Session[]
255
+ driverLocations DriverLocation[]
225
256
 
226
257
  @@map("users")
227
258
  }
@@ -307,10 +338,12 @@ model Vehicle {
307
338
  created_at DateTime @default(now())
308
339
  updated_at DateTime @updatedAt
309
340
 
310
- brand VehicleBrand? @relation(fields: [brand_id], references: [id], onDelete: SetNull)
311
- model VehicleModel? @relation(fields: [model_id], references: [id], onDelete: SetNull)
312
- company companies? @relation(fields: [company_id], references: [id], onDelete: Cascade)
313
- routes Route[]
341
+ brand VehicleBrand? @relation(fields: [brand_id], references: [id], onDelete: SetNull)
342
+ model VehicleModel? @relation(fields: [model_id], references: [id], onDelete: SetNull)
343
+ company companies? @relation(fields: [company_id], references: [id], onDelete: Cascade)
344
+ routes Route[]
345
+ equipments Equipment[]
346
+ vehicleLocations VehicleLocation[]
314
347
 
315
348
  @@index([company_id])
316
349
  @@index([brand_id])
@@ -319,23 +352,34 @@ model Vehicle {
319
352
  }
320
353
 
321
354
  model Route {
322
- id String @id @default(uuid()) @db.Uuid
323
- driver_id String? @db.Uuid
324
- vehicle_id String? @db.Uuid
325
- status RouteStatus @default(PENDING)
326
- started_at DateTime?
327
- completed_at DateTime?
328
- type_of_route TypeOfRoutes?
329
- created_at DateTime @default(now())
330
- updated_at DateTime @updatedAt
355
+ id String @id @default(uuid()) @db.Uuid
356
+ order_id String? @db.Uuid
357
+ driver_id String? @db.Uuid
358
+ vehicle_id String? @db.Uuid
359
+ status RouteStatus @default(PENDING)
360
+ started_at DateTime?
361
+ completed_at DateTime?
362
+
363
+ optimized_at DateTime?
364
+ optimization_polyline String?
365
+ optimization_distance_meters Int?
366
+ optimization_duration_seconds Int?
367
+ optimization_distance_saved_meters Int?
368
+ optimization_duration_saved_seconds Int?
369
+ optimization_percentage Float?
370
+ optimization_waypoint_order Json?
371
+
372
+ created_at DateTime @default(now())
373
+ updated_at DateTime @updatedAt
331
374
 
375
+ order Order? @relation(fields: [order_id], references: [id], onDelete: Cascade)
332
376
  driver User? @relation(fields: [driver_id], references: [id], onDelete: SetNull)
333
377
  vehicle Vehicle? @relation(fields: [vehicle_id], references: [id], onDelete: SetNull)
334
378
 
335
379
  route_handling_units RouteHandlingUnit[]
336
- route_orders RouteOrders[]
337
380
  addresses Address[]
338
381
 
382
+ @@index([order_id])
339
383
  @@index([driver_id])
340
384
  @@index([vehicle_id])
341
385
  @@map("routes")
@@ -356,21 +400,6 @@ model RouteHandlingUnit {
356
400
  @@map("route_handling_units")
357
401
  }
358
402
 
359
- model RouteOrders {
360
- id String @id @default(uuid()) @db.Uuid
361
- route_id String @db.Uuid
362
- order_id String @db.Uuid
363
- created_at DateTime @default(now())
364
- updated_at DateTime @updatedAt
365
-
366
- route Route @relation(fields: [route_id], references: [id], onDelete: Cascade)
367
- order Order @relation(fields: [order_id], references: [id], onDelete: Cascade)
368
-
369
- @@index([route_id])
370
- @@index([order_id])
371
- @@map("route_orders")
372
- }
373
-
374
403
  model Address {
375
404
  id String @id @default(uuid()) @db.Uuid
376
405
  address_type AddressType @default(OTHER)
@@ -411,3 +440,116 @@ model AddressHandlingUnit {
411
440
  @@index([handling_unit_id])
412
441
  @@map("address_handling_units")
413
442
  }
443
+
444
+ model EquipmentBrand {
445
+ id String @id @default(uuid()) @db.Uuid
446
+ name String @unique
447
+ logo_url String?
448
+ is_active Boolean @default(true)
449
+ created_at DateTime @default(now())
450
+ updated_at DateTime @updatedAt
451
+
452
+ models EquipmentModel[]
453
+ equipments Equipment[]
454
+
455
+ @@map("equipment_brands")
456
+ }
457
+
458
+ model EquipmentModel {
459
+ id String @id @default(uuid()) @db.Uuid
460
+ name String
461
+ brand_id String @db.Uuid
462
+ is_active Boolean @default(true)
463
+ created_at DateTime @default(now())
464
+ updated_at DateTime @updatedAt
465
+
466
+ brand EquipmentBrand @relation(fields: [brand_id], references: [id], onDelete: Cascade)
467
+ equipment Equipment[]
468
+
469
+ @@unique([name, brand_id])
470
+ @@index([brand_id])
471
+ @@map("equipment_models")
472
+ }
473
+
474
+ model Equipment {
475
+ id String @id @default(uuid()) @db.Uuid
476
+ title String
477
+ plate String? @unique
478
+ year Int?
479
+ color VehicleColor?
480
+ brand_id String? @db.Uuid
481
+ model_id String? @db.Uuid
482
+ axles Int?
483
+ chassis_number String? @unique
484
+ weight Float?
485
+ weight_unit WeightUnits @default(KG)
486
+ length Float?
487
+ width Float?
488
+ height Float?
489
+ dimension_unit DimensionUnits @default(CM)
490
+ pallets Int?
491
+ load_capacity Float?
492
+ status EquipmentStatus @default(ACTIVE)
493
+ company_id String? @db.Uuid
494
+ vehicle_id String? @db.Uuid
495
+ created_at DateTime @default(now())
496
+ updated_at DateTime @updatedAt
497
+
498
+ brand EquipmentBrand? @relation(fields: [brand_id], references: [id], onDelete: SetNull)
499
+ model EquipmentModel? @relation(fields: [model_id], references: [id], onDelete: SetNull)
500
+ company companies? @relation(fields: [company_id], references: [id], onDelete: SetNull)
501
+ vehicle Vehicle? @relation(fields: [vehicle_id], references: [id], onDelete: SetNull)
502
+ vehicleLocations VehicleLocation[]
503
+
504
+ @@index([company_id])
505
+ @@index([brand_id])
506
+ @@index([model_id])
507
+ @@index([vehicle_id])
508
+ @@index([plate])
509
+ @@map("equipments")
510
+ }
511
+
512
+ model VehicleLocation {
513
+ id String @id @default(uuid()) @db.Uuid
514
+ vehicle_id String? @db.Uuid
515
+ equiment_id String? @db.Uuid
516
+ provider GpsProviders?
517
+ plate String?
518
+ temperature Float?
519
+ voltage String?
520
+ odometer String?
521
+ batery_level String?
522
+ stopped_time String?
523
+ ignition_status Boolean?
524
+ current_speed Float?
525
+ latitude Float?
526
+ longitude Float?
527
+ metadata Json? @default("{}")
528
+ created_at DateTime @default(now())
529
+ updated_at DateTime @updatedAt
530
+
531
+ vehicle Vehicle? @relation(fields: [vehicle_id], references: [id], onDelete: SetNull)
532
+ equipment Equipment? @relation(fields: [equiment_id], references: [id], onDelete: SetNull)
533
+
534
+ @@index([vehicle_id])
535
+ @@index([equiment_id])
536
+ @@index([provider])
537
+ @@index([plate])
538
+ @@index([created_at])
539
+ @@map("vehicle_locations")
540
+ }
541
+
542
+ model DriverLocation {
543
+ id String @id @default(uuid()) @db.Uuid
544
+ driver_id String @db.Uuid
545
+ latitude Float
546
+ longitude Float
547
+ created_at DateTime @default(now())
548
+ updated_at DateTime @updatedAt
549
+
550
+ driver User @relation(fields: [driver_id], references: [id], onDelete: Cascade)
551
+
552
+ @@index([driver_id])
553
+ @@index([created_at])
554
+ @@map("driver_locations")
555
+ }