@delpa/mt-prisma 0.10.0 → 0.12.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.
- package/dist/generated/generated/client/edge.js +63 -3
- package/dist/generated/generated/client/index-browser.js +61 -1
- package/dist/generated/generated/client/index.d.ts +7095 -164
- package/dist/generated/generated/client/index.js +63 -3
- package/dist/generated/generated/client/package.json +1 -1
- package/dist/generated/generated/client/schema.prisma +91 -6
- package/generated/client/edge.js +63 -3
- package/generated/client/index-browser.js +61 -1
- package/generated/client/index.d.ts +7095 -164
- package/generated/client/index.js +63 -3
- package/generated/client/package.json +1 -1
- package/generated/client/schema.prisma +91 -6
- package/package.json +1 -1
- package/prisma/migrations/20260121144101_add_equipament_table/migration.sql +92 -0
- package/prisma/migrations/20260121180634_add_vehicle_id_to_equipment/migration.sql +8 -0
- package/prisma/migrations/20260122143027_add_route_optimization_fields/migration.sql +9 -0
- package/prisma/schema.prisma +86 -0
|
@@ -259,6 +259,14 @@ exports.Prisma.RouteScalarFieldEnum = {
|
|
|
259
259
|
status: 'status',
|
|
260
260
|
started_at: 'started_at',
|
|
261
261
|
completed_at: 'completed_at',
|
|
262
|
+
optimized_at: 'optimized_at',
|
|
263
|
+
optimization_polyline: 'optimization_polyline',
|
|
264
|
+
optimization_distance_meters: 'optimization_distance_meters',
|
|
265
|
+
optimization_duration_seconds: 'optimization_duration_seconds',
|
|
266
|
+
optimization_distance_saved_meters: 'optimization_distance_saved_meters',
|
|
267
|
+
optimization_duration_saved_seconds: 'optimization_duration_saved_seconds',
|
|
268
|
+
optimization_percentage: 'optimization_percentage',
|
|
269
|
+
optimization_waypoint_order: 'optimization_waypoint_order',
|
|
262
270
|
created_at: 'created_at',
|
|
263
271
|
updated_at: 'updated_at'
|
|
264
272
|
};
|
|
@@ -299,6 +307,49 @@ exports.Prisma.AddressHandlingUnitScalarFieldEnum = {
|
|
|
299
307
|
updated_at: 'updated_at'
|
|
300
308
|
};
|
|
301
309
|
|
|
310
|
+
exports.Prisma.EquipmentBrandScalarFieldEnum = {
|
|
311
|
+
id: 'id',
|
|
312
|
+
name: 'name',
|
|
313
|
+
logo_url: 'logo_url',
|
|
314
|
+
is_active: 'is_active',
|
|
315
|
+
created_at: 'created_at',
|
|
316
|
+
updated_at: 'updated_at'
|
|
317
|
+
};
|
|
318
|
+
|
|
319
|
+
exports.Prisma.EquipmentModelScalarFieldEnum = {
|
|
320
|
+
id: 'id',
|
|
321
|
+
name: 'name',
|
|
322
|
+
brand_id: 'brand_id',
|
|
323
|
+
is_active: 'is_active',
|
|
324
|
+
created_at: 'created_at',
|
|
325
|
+
updated_at: 'updated_at'
|
|
326
|
+
};
|
|
327
|
+
|
|
328
|
+
exports.Prisma.EquipmentScalarFieldEnum = {
|
|
329
|
+
id: 'id',
|
|
330
|
+
title: 'title',
|
|
331
|
+
plate: 'plate',
|
|
332
|
+
year: 'year',
|
|
333
|
+
color: 'color',
|
|
334
|
+
brand_id: 'brand_id',
|
|
335
|
+
model_id: 'model_id',
|
|
336
|
+
axles: 'axles',
|
|
337
|
+
chassis_number: 'chassis_number',
|
|
338
|
+
weight: 'weight',
|
|
339
|
+
weight_unit: 'weight_unit',
|
|
340
|
+
length: 'length',
|
|
341
|
+
width: 'width',
|
|
342
|
+
height: 'height',
|
|
343
|
+
dimension_unit: 'dimension_unit',
|
|
344
|
+
pallets: 'pallets',
|
|
345
|
+
load_capacity: 'load_capacity',
|
|
346
|
+
status: 'status',
|
|
347
|
+
company_id: 'company_id',
|
|
348
|
+
vehicle_id: 'vehicle_id',
|
|
349
|
+
created_at: 'created_at',
|
|
350
|
+
updated_at: 'updated_at'
|
|
351
|
+
};
|
|
352
|
+
|
|
302
353
|
exports.Prisma.SortOrder = {
|
|
303
354
|
asc: 'asc',
|
|
304
355
|
desc: 'desc'
|
|
@@ -401,6 +452,12 @@ exports.AddressType = exports.$Enums.AddressType = {
|
|
|
401
452
|
OTHER: 'OTHER'
|
|
402
453
|
};
|
|
403
454
|
|
|
455
|
+
exports.EquipmentStatus = exports.$Enums.EquipmentStatus = {
|
|
456
|
+
ACTIVE: 'ACTIVE',
|
|
457
|
+
INACTIVE: 'INACTIVE',
|
|
458
|
+
MAINTENANCE: 'MAINTENANCE'
|
|
459
|
+
};
|
|
460
|
+
|
|
404
461
|
exports.Prisma.ModelName = {
|
|
405
462
|
Client: 'Client',
|
|
406
463
|
ClientAddress: 'ClientAddress',
|
|
@@ -417,7 +474,10 @@ exports.Prisma.ModelName = {
|
|
|
417
474
|
Route: 'Route',
|
|
418
475
|
RouteHandlingUnit: 'RouteHandlingUnit',
|
|
419
476
|
Address: 'Address',
|
|
420
|
-
AddressHandlingUnit: 'AddressHandlingUnit'
|
|
477
|
+
AddressHandlingUnit: 'AddressHandlingUnit',
|
|
478
|
+
EquipmentBrand: 'EquipmentBrand',
|
|
479
|
+
EquipmentModel: 'EquipmentModel',
|
|
480
|
+
Equipment: 'Equipment'
|
|
421
481
|
};
|
|
422
482
|
/**
|
|
423
483
|
* Create the Client
|
|
@@ -427,10 +487,10 @@ const config = {
|
|
|
427
487
|
"clientVersion": "7.2.0",
|
|
428
488
|
"engineVersion": "0c8ef2ce45c83248ab3df073180d5eda9e8be7a3",
|
|
429
489
|
"activeProvider": "postgresql",
|
|
430
|
-
"inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n output = \"../generated/client\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n}\n\nenum RouteStatus {\n IN_TRANSIT\n DELIVERED\n PENDING\n CANCELLED\n INCIDENT\n}\n\nenum WeightUnits {\n KG\n LB\n}\n\nenum DimensionUnits {\n CM\n IN\n MT\n FT\n}\n\nenum Roles {\n ADMIN\n OPERATOR\n DRIVER\n GUEST\n}\n\nenum VehicleSize {\n SMALL\n MEDIUM\n LARGE\n EXTRA_LARGE\n}\n\nenum VehicleColor {\n WHITE\n BLACK\n SILVER\n GRAY\n RED\n BLUE\n GREEN\n YELLOW\n ORANGE\n BROWN\n BEIGE\n}\n\nenum FuelType {\n GASOLINE\n DIESEL\n ELECTRIC\n HYBRID\n GAS\n}\n\nenum AddressType {\n PICKUP\n DELIVERY\n WAREHOUSE\n FUEL_STATION\n REST_STOP\n TOLL_BOOTH\n CUSTOMS\n INSPECTION\n MAINTENANCE\n LOADING_DOCK\n CROSS_DOCK\n DISTRIBUTION_CENTER\n BORDER_CROSSING\n WEIGH_STATION\n PARKING\n OVERNIGHT_STOP\n CUSTOMER_SITE\n OTHER\n}\n\nmodel Client {\n id String @id @default(uuid()) @db.Uuid\n tax_id String?\n name String\n email String?\n phone String?\n country_code String?\n company_id String? @db.Uuid\n created_by String? @db.Uuid\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n company companies? @relation(fields: [company_id], references: [id], onDelete: SetNull)\n addresses ClientAddress[]\n contacts ClientContact[]\n orders_as_shipper Order[] @relation(\"shipper_client\")\n handling_units_as_consignee HandlingUnit[]\n\n @@index([company_id])\n @@index([created_by])\n @@map(\"clients\")\n}\n\nmodel ClientAddress {\n id String @id @default(uuid()) @db.Uuid\n client_id String @db.Uuid\n title String?\n address_type AddressType @default(OTHER)\n line1 String\n line2 String?\n city String?\n state String?\n postal_code String?\n country String?\n formatted_address String?\n latitude Float?\n longitude Float?\n is_default Boolean @default(false)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n client Client @relation(fields: [client_id], references: [id], onDelete: Cascade)\n\n @@index([client_id])\n @@map(\"client_addresses\")\n}\n\nmodel ClientContact {\n id String @id @default(uuid()) @db.Uuid\n client_id String @db.Uuid\n name String\n email String?\n phone String?\n is_default Boolean @default(false)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n client Client @relation(fields: [client_id], references: [id], onDelete: Cascade)\n\n @@index([client_id])\n @@map(\"client_contacts\")\n}\n\nmodel Order {\n id String @id @default(uuid()) @db.Uuid\n reference String?\n shipper_id String? @db.Uuid\n attachments Json? @default(\"[]\")\n status RouteStatus @default(PENDING)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n shipper Client? @relation(\"shipper_client\", fields: [shipper_id], references: [id], onDelete: SetNull)\n handling_units HandlingUnit[]\n routes Route[]\n\n @@index([shipper_id])\n @@map(\"orders\")\n}\n\nmodel companies {\n id String @id @default(uuid()) @db.Uuid\n tax_id String? @unique\n name String\n address Json? @default(\"{}\")\n contact_info Json? @default(\"{}\")\n country_code String?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n clients Client[]\n vehicles Vehicle[]\n user_companies UserCompany[]\n\n @@map(\"companies\")\n}\n\nmodel HandlingUnit {\n id String @id @default(uuid()) @db.Uuid\n order_id String @db.Uuid\n description String\n quantity Int @default(1)\n weight Float?\n weight_unit WeightUnits @default(KG)\n length Float?\n width Float?\n height Float?\n volume Float?\n dimension_unit DimensionUnits @default(CM)\n total_volume Float?\n total_weight Float?\n commodity String?\n delivery_contact Json? @default(\"{}\")\n pickup_contact Json? @default(\"{}\")\n delivery_address Json? @default(\"{}\")\n pickup_address Json? @default(\"{}\")\n delivery_instructions String?\n pickup_instructions String?\n client_id String? @db.Uuid\n contact_notify Json? @default(\"[]\")\n eta DateTime?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n order Order @relation(fields: [order_id], references: [id], onDelete: Cascade)\n client Client? @relation(fields: [client_id], references: [id], onDelete: SetNull)\n route_handling_units RouteHandlingUnit[]\n address_handling_units AddressHandlingUnit[]\n\n @@index([order_id])\n @@index([client_id])\n @@map(\"handling_units\")\n}\n\nmodel User {\n id String @id @default(uuid()) @db.Uuid\n email String @unique\n name String\n password String\n role Roles @default(GUEST)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n routes Route[]\n user_companies UserCompany[]\n sessions Session[]\n\n @@map(\"users\")\n}\n\nmodel UserCompany {\n id String @id @default(uuid()) @db.Uuid\n user_id String @db.Uuid\n company_id String @db.Uuid\n is_primary Boolean @default(false)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n user User @relation(fields: [user_id], references: [id], onDelete: Cascade)\n company companies @relation(fields: [company_id], references: [id], onDelete: Cascade)\n\n @@unique([user_id, company_id])\n @@index([user_id])\n @@index([company_id])\n @@map(\"user_companies\")\n}\n\nmodel Session {\n id String @id @default(uuid()) @db.Uuid\n user_id String @db.Uuid\n refresh_token String @unique\n device_info String?\n ip_address String?\n expires_at DateTime\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n user User @relation(fields: [user_id], references: [id], onDelete: Cascade)\n\n @@index([user_id])\n @@index([refresh_token])\n @@map(\"sessions\")\n}\n\nmodel VehicleBrand {\n id String @id @default(uuid()) @db.Uuid\n name String @unique\n logo_url String?\n is_active Boolean @default(true)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n models VehicleModel[]\n vehicles Vehicle[]\n\n @@map(\"vehicle_brands\")\n}\n\nmodel VehicleModel {\n id String @id @default(uuid()) @db.Uuid\n name String\n brand_id String @db.Uuid\n is_active Boolean @default(true)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n brand VehicleBrand @relation(fields: [brand_id], references: [id], onDelete: Cascade)\n vehicles Vehicle[]\n\n @@unique([name, brand_id])\n @@index([brand_id])\n @@map(\"vehicle_models\")\n}\n\nmodel Vehicle {\n id String @id @default(uuid()) @db.Uuid\n license_plate String @unique\n brand_id String? @db.Uuid\n model_id String? @db.Uuid\n capacity Float?\n year Int?\n fuel_type FuelType? @default(DIESEL)\n color VehicleColor?\n chassis_number String? @unique\n size VehicleSize? @default(MEDIUM)\n gps_enabled Boolean @default(false)\n image_url Json? @default(\"[]\")\n company_id String? @db.Uuid\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n brand VehicleBrand? @relation(fields: [brand_id], references: [id], onDelete: SetNull)\n model VehicleModel? @relation(fields: [model_id], references: [id], onDelete: SetNull)\n company companies? @relation(fields: [company_id], references: [id], onDelete: Cascade)\n routes Route[]\n\n @@index([company_id])\n @@index([brand_id])\n @@index([model_id])\n @@map(\"vehicles\")\n}\n\nmodel Route {\n id String @id @default(uuid()) @db.Uuid\n order_id String? @db.Uuid\n driver_id String? @db.Uuid\n vehicle_id String? @db.Uuid\n status RouteStatus @default(PENDING)\n started_at DateTime?\n completed_at DateTime?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n order Order? @relation(fields: [order_id], references: [id], onDelete: Cascade)\n driver User? @relation(fields: [driver_id], references: [id], onDelete: SetNull)\n vehicle Vehicle? @relation(fields: [vehicle_id], references: [id], onDelete: SetNull)\n\n route_handling_units RouteHandlingUnit[]\n addresses Address[]\n\n @@index([order_id])\n @@index([driver_id])\n @@index([vehicle_id])\n @@map(\"routes\")\n}\n\nmodel RouteHandlingUnit {\n id String @id @default(uuid()) @db.Uuid\n route_id String @db.Uuid\n handling_unit_id String @db.Uuid\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n route Route @relation(fields: [route_id], references: [id], onDelete: Cascade)\n handling_unit HandlingUnit @relation(fields: [handling_unit_id], references: [id], onDelete: Cascade)\n\n @@index([route_id])\n @@index([handling_unit_id])\n @@map(\"route_handling_units\")\n}\n\nmodel Address {\n id String @id @default(uuid()) @db.Uuid\n address_type AddressType @default(OTHER)\n sequence Int?\n title String?\n address_line1 String\n address_line2 String?\n apartment String?\n city String?\n state String?\n postal_code String?\n country String\n latitude Float?\n longitude Float?\n google_address Json? @default(\"{}\")\n route_id String? @db.Uuid\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n route Route? @relation(fields: [route_id], references: [id], onDelete: Cascade)\n address_handling_units AddressHandlingUnit[]\n\n @@index([route_id])\n @@map(\"addresses\")\n}\n\nmodel AddressHandlingUnit {\n id String @id @default(uuid()) @db.Uuid\n address_id String @db.Uuid\n handling_unit_id String @db.Uuid\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n address Address @relation(fields: [address_id], references: [id], onDelete: Cascade)\n handling_unit HandlingUnit @relation(fields: [handling_unit_id], references: [id], onDelete: Cascade)\n\n @@index([address_id])\n @@index([handling_unit_id])\n @@map(\"address_handling_units\")\n}\n"
|
|
490
|
+
"inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n output = \"../generated/client\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n}\n\nenum RouteStatus {\n IN_TRANSIT\n DELIVERED\n PENDING\n CANCELLED\n INCIDENT\n}\n\nenum WeightUnits {\n KG\n LB\n}\n\nenum DimensionUnits {\n CM\n IN\n MT\n FT\n}\n\nenum Roles {\n ADMIN\n OPERATOR\n DRIVER\n GUEST\n}\n\nenum VehicleSize {\n SMALL\n MEDIUM\n LARGE\n EXTRA_LARGE\n}\n\nenum VehicleColor {\n WHITE\n BLACK\n SILVER\n GRAY\n RED\n BLUE\n GREEN\n YELLOW\n ORANGE\n BROWN\n BEIGE\n}\n\nenum FuelType {\n GASOLINE\n DIESEL\n ELECTRIC\n HYBRID\n GAS\n}\n\nenum AddressType {\n PICKUP\n DELIVERY\n WAREHOUSE\n FUEL_STATION\n REST_STOP\n TOLL_BOOTH\n CUSTOMS\n INSPECTION\n MAINTENANCE\n LOADING_DOCK\n CROSS_DOCK\n DISTRIBUTION_CENTER\n BORDER_CROSSING\n WEIGH_STATION\n PARKING\n OVERNIGHT_STOP\n CUSTOMER_SITE\n OTHER\n}\n\nenum EquipmentStatus {\n ACTIVE\n INACTIVE\n MAINTENANCE\n}\n\nmodel Client {\n id String @id @default(uuid()) @db.Uuid\n tax_id String?\n name String\n email String?\n phone String?\n country_code String?\n company_id String? @db.Uuid\n created_by String? @db.Uuid\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n company companies? @relation(fields: [company_id], references: [id], onDelete: SetNull)\n addresses ClientAddress[]\n contacts ClientContact[]\n orders_as_shipper Order[] @relation(\"shipper_client\")\n handling_units_as_consignee HandlingUnit[]\n\n @@index([company_id])\n @@index([created_by])\n @@map(\"clients\")\n}\n\nmodel ClientAddress {\n id String @id @default(uuid()) @db.Uuid\n client_id String @db.Uuid\n title String?\n address_type AddressType @default(OTHER)\n line1 String\n line2 String?\n city String?\n state String?\n postal_code String?\n country String?\n formatted_address String?\n latitude Float?\n longitude Float?\n is_default Boolean @default(false)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n client Client @relation(fields: [client_id], references: [id], onDelete: Cascade)\n\n @@index([client_id])\n @@map(\"client_addresses\")\n}\n\nmodel ClientContact {\n id String @id @default(uuid()) @db.Uuid\n client_id String @db.Uuid\n name String\n email String?\n phone String?\n is_default Boolean @default(false)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n client Client @relation(fields: [client_id], references: [id], onDelete: Cascade)\n\n @@index([client_id])\n @@map(\"client_contacts\")\n}\n\nmodel Order {\n id String @id @default(uuid()) @db.Uuid\n reference String?\n shipper_id String? @db.Uuid\n attachments Json? @default(\"[]\")\n status RouteStatus @default(PENDING)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n shipper Client? @relation(\"shipper_client\", fields: [shipper_id], references: [id], onDelete: SetNull)\n handling_units HandlingUnit[]\n routes Route[]\n\n @@index([shipper_id])\n @@map(\"orders\")\n}\n\nmodel companies {\n id String @id @default(uuid()) @db.Uuid\n tax_id String? @unique\n name String\n address Json? @default(\"{}\")\n contact_info Json? @default(\"{}\")\n country_code String?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n clients Client[]\n vehicles Vehicle[]\n user_companies UserCompany[]\n equipments Equipment[]\n\n @@map(\"companies\")\n}\n\nmodel HandlingUnit {\n id String @id @default(uuid()) @db.Uuid\n order_id String @db.Uuid\n description String\n quantity Int @default(1)\n weight Float?\n weight_unit WeightUnits @default(KG)\n length Float?\n width Float?\n height Float?\n volume Float?\n dimension_unit DimensionUnits @default(CM)\n total_volume Float?\n total_weight Float?\n commodity String?\n delivery_contact Json? @default(\"{}\")\n pickup_contact Json? @default(\"{}\")\n delivery_address Json? @default(\"{}\")\n pickup_address Json? @default(\"{}\")\n delivery_instructions String?\n pickup_instructions String?\n client_id String? @db.Uuid\n contact_notify Json? @default(\"[]\")\n eta DateTime?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n order Order @relation(fields: [order_id], references: [id], onDelete: Cascade)\n client Client? @relation(fields: [client_id], references: [id], onDelete: SetNull)\n route_handling_units RouteHandlingUnit[]\n address_handling_units AddressHandlingUnit[]\n\n @@index([order_id])\n @@index([client_id])\n @@map(\"handling_units\")\n}\n\nmodel User {\n id String @id @default(uuid()) @db.Uuid\n email String @unique\n name String\n password String\n role Roles @default(GUEST)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n routes Route[]\n user_companies UserCompany[]\n sessions Session[]\n\n @@map(\"users\")\n}\n\nmodel UserCompany {\n id String @id @default(uuid()) @db.Uuid\n user_id String @db.Uuid\n company_id String @db.Uuid\n is_primary Boolean @default(false)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n user User @relation(fields: [user_id], references: [id], onDelete: Cascade)\n company companies @relation(fields: [company_id], references: [id], onDelete: Cascade)\n\n @@unique([user_id, company_id])\n @@index([user_id])\n @@index([company_id])\n @@map(\"user_companies\")\n}\n\nmodel Session {\n id String @id @default(uuid()) @db.Uuid\n user_id String @db.Uuid\n refresh_token String @unique\n device_info String?\n ip_address String?\n expires_at DateTime\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n user User @relation(fields: [user_id], references: [id], onDelete: Cascade)\n\n @@index([user_id])\n @@index([refresh_token])\n @@map(\"sessions\")\n}\n\nmodel VehicleBrand {\n id String @id @default(uuid()) @db.Uuid\n name String @unique\n logo_url String?\n is_active Boolean @default(true)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n models VehicleModel[]\n vehicles Vehicle[]\n\n @@map(\"vehicle_brands\")\n}\n\nmodel VehicleModel {\n id String @id @default(uuid()) @db.Uuid\n name String\n brand_id String @db.Uuid\n is_active Boolean @default(true)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n brand VehicleBrand @relation(fields: [brand_id], references: [id], onDelete: Cascade)\n vehicles Vehicle[]\n\n @@unique([name, brand_id])\n @@index([brand_id])\n @@map(\"vehicle_models\")\n}\n\nmodel Vehicle {\n id String @id @default(uuid()) @db.Uuid\n license_plate String @unique\n brand_id String? @db.Uuid\n model_id String? @db.Uuid\n capacity Float?\n year Int?\n fuel_type FuelType? @default(DIESEL)\n color VehicleColor?\n chassis_number String? @unique\n size VehicleSize? @default(MEDIUM)\n gps_enabled Boolean @default(false)\n image_url Json? @default(\"[]\")\n company_id String? @db.Uuid\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n brand VehicleBrand? @relation(fields: [brand_id], references: [id], onDelete: SetNull)\n model VehicleModel? @relation(fields: [model_id], references: [id], onDelete: SetNull)\n company companies? @relation(fields: [company_id], references: [id], onDelete: Cascade)\n routes Route[]\n equipments Equipment[]\n\n @@index([company_id])\n @@index([brand_id])\n @@index([model_id])\n @@map(\"vehicles\")\n}\n\nmodel Route {\n id String @id @default(uuid()) @db.Uuid\n order_id String? @db.Uuid\n driver_id String? @db.Uuid\n vehicle_id String? @db.Uuid\n status RouteStatus @default(PENDING)\n started_at DateTime?\n completed_at DateTime?\n\n optimized_at DateTime?\n optimization_polyline String?\n optimization_distance_meters Int?\n optimization_duration_seconds Int?\n optimization_distance_saved_meters Int?\n optimization_duration_saved_seconds Int?\n optimization_percentage Float?\n optimization_waypoint_order Json?\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n order Order? @relation(fields: [order_id], references: [id], onDelete: Cascade)\n driver User? @relation(fields: [driver_id], references: [id], onDelete: SetNull)\n vehicle Vehicle? @relation(fields: [vehicle_id], references: [id], onDelete: SetNull)\n\n route_handling_units RouteHandlingUnit[]\n addresses Address[]\n\n @@index([order_id])\n @@index([driver_id])\n @@index([vehicle_id])\n @@map(\"routes\")\n}\n\nmodel RouteHandlingUnit {\n id String @id @default(uuid()) @db.Uuid\n route_id String @db.Uuid\n handling_unit_id String @db.Uuid\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n route Route @relation(fields: [route_id], references: [id], onDelete: Cascade)\n handling_unit HandlingUnit @relation(fields: [handling_unit_id], references: [id], onDelete: Cascade)\n\n @@index([route_id])\n @@index([handling_unit_id])\n @@map(\"route_handling_units\")\n}\n\nmodel Address {\n id String @id @default(uuid()) @db.Uuid\n address_type AddressType @default(OTHER)\n sequence Int?\n title String?\n address_line1 String\n address_line2 String?\n apartment String?\n city String?\n state String?\n postal_code String?\n country String\n latitude Float?\n longitude Float?\n google_address Json? @default(\"{}\")\n route_id String? @db.Uuid\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n route Route? @relation(fields: [route_id], references: [id], onDelete: Cascade)\n address_handling_units AddressHandlingUnit[]\n\n @@index([route_id])\n @@map(\"addresses\")\n}\n\nmodel AddressHandlingUnit {\n id String @id @default(uuid()) @db.Uuid\n address_id String @db.Uuid\n handling_unit_id String @db.Uuid\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n address Address @relation(fields: [address_id], references: [id], onDelete: Cascade)\n handling_unit HandlingUnit @relation(fields: [handling_unit_id], references: [id], onDelete: Cascade)\n\n @@index([address_id])\n @@index([handling_unit_id])\n @@map(\"address_handling_units\")\n}\n\nmodel EquipmentBrand {\n id String @id @default(uuid()) @db.Uuid\n name String @unique\n logo_url String?\n is_active Boolean @default(true)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n models EquipmentModel[]\n equipments Equipment[]\n\n @@map(\"equipment_brands\")\n}\n\nmodel EquipmentModel {\n id String @id @default(uuid()) @db.Uuid\n name String\n brand_id String @db.Uuid\n is_active Boolean @default(true)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n brand EquipmentBrand @relation(fields: [brand_id], references: [id], onDelete: Cascade)\n equipment Equipment[]\n\n @@unique([name, brand_id])\n @@index([brand_id])\n @@map(\"equipment_models\")\n}\n\nmodel Equipment {\n id String @id @default(uuid()) @db.Uuid\n title String\n plate String? @unique\n year Int?\n color VehicleColor?\n brand_id String? @db.Uuid\n model_id String? @db.Uuid\n axles Int?\n chassis_number String? @unique\n weight Float?\n weight_unit WeightUnits @default(KG)\n length Float?\n width Float?\n height Float?\n dimension_unit DimensionUnits @default(CM)\n pallets Int?\n load_capacity Float?\n status EquipmentStatus @default(ACTIVE)\n company_id String? @db.Uuid\n vehicle_id String? @db.Uuid\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n brand EquipmentBrand? @relation(fields: [brand_id], references: [id], onDelete: SetNull)\n model EquipmentModel? @relation(fields: [model_id], references: [id], onDelete: SetNull)\n company companies? @relation(fields: [company_id], references: [id], onDelete: SetNull)\n vehicle Vehicle? @relation(fields: [vehicle_id], references: [id], onDelete: SetNull)\n\n @@index([company_id])\n @@index([brand_id])\n @@index([model_id])\n @@index([vehicle_id])\n @@index([plate])\n @@map(\"equipments\")\n}\n"
|
|
431
491
|
}
|
|
432
492
|
|
|
433
|
-
config.runtimeDataModel = JSON.parse("{\"models\":{\"Client\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tax_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"country_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"company_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"company\",\"kind\":\"object\",\"type\":\"companies\",\"relationName\":\"ClientTocompanies\"},{\"name\":\"addresses\",\"kind\":\"object\",\"type\":\"ClientAddress\",\"relationName\":\"ClientToClientAddress\"},{\"name\":\"contacts\",\"kind\":\"object\",\"type\":\"ClientContact\",\"relationName\":\"ClientToClientContact\"},{\"name\":\"orders_as_shipper\",\"kind\":\"object\",\"type\":\"Order\",\"relationName\":\"shipper_client\"},{\"name\":\"handling_units_as_consignee\",\"kind\":\"object\",\"type\":\"HandlingUnit\",\"relationName\":\"ClientToHandlingUnit\"}],\"dbName\":\"clients\"},\"ClientAddress\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"client_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"address_type\",\"kind\":\"enum\",\"type\":\"AddressType\"},{\"name\":\"line1\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"line2\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"city\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"state\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"postal_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"country\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"formatted_address\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"latitude\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"longitude\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"is_default\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"client\",\"kind\":\"object\",\"type\":\"Client\",\"relationName\":\"ClientToClientAddress\"}],\"dbName\":\"client_addresses\"},\"ClientContact\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"client_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_default\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"client\",\"kind\":\"object\",\"type\":\"Client\",\"relationName\":\"ClientToClientContact\"}],\"dbName\":\"client_contacts\"},\"Order\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reference\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"shipper_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"attachments\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"RouteStatus\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"shipper\",\"kind\":\"object\",\"type\":\"Client\",\"relationName\":\"shipper_client\"},{\"name\":\"handling_units\",\"kind\":\"object\",\"type\":\"HandlingUnit\",\"relationName\":\"HandlingUnitToOrder\"},{\"name\":\"routes\",\"kind\":\"object\",\"type\":\"Route\",\"relationName\":\"OrderToRoute\"}],\"dbName\":\"orders\"},\"companies\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tax_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"address\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"contact_info\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"country_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"clients\",\"kind\":\"object\",\"type\":\"Client\",\"relationName\":\"ClientTocompanies\"},{\"name\":\"vehicles\",\"kind\":\"object\",\"type\":\"Vehicle\",\"relationName\":\"VehicleTocompanies\"},{\"name\":\"user_companies\",\"kind\":\"object\",\"type\":\"UserCompany\",\"relationName\":\"UserCompanyTocompanies\"}],\"dbName\":\"companies\"},\"HandlingUnit\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"order_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"quantity\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"weight\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"weight_unit\",\"kind\":\"enum\",\"type\":\"WeightUnits\"},{\"name\":\"length\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"width\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"height\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"volume\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"dimension_unit\",\"kind\":\"enum\",\"type\":\"DimensionUnits\"},{\"name\":\"total_volume\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"total_weight\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"commodity\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"delivery_contact\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"pickup_contact\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"delivery_address\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"pickup_address\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"delivery_instructions\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"pickup_instructions\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"client_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"contact_notify\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"eta\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"order\",\"kind\":\"object\",\"type\":\"Order\",\"relationName\":\"HandlingUnitToOrder\"},{\"name\":\"client\",\"kind\":\"object\",\"type\":\"Client\",\"relationName\":\"ClientToHandlingUnit\"},{\"name\":\"route_handling_units\",\"kind\":\"object\",\"type\":\"RouteHandlingUnit\",\"relationName\":\"HandlingUnitToRouteHandlingUnit\"},{\"name\":\"address_handling_units\",\"kind\":\"object\",\"type\":\"AddressHandlingUnit\",\"relationName\":\"AddressHandlingUnitToHandlingUnit\"}],\"dbName\":\"handling_units\"},\"User\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"password\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role\",\"kind\":\"enum\",\"type\":\"Roles\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"routes\",\"kind\":\"object\",\"type\":\"Route\",\"relationName\":\"RouteToUser\"},{\"name\":\"user_companies\",\"kind\":\"object\",\"type\":\"UserCompany\",\"relationName\":\"UserToUserCompany\"},{\"name\":\"sessions\",\"kind\":\"object\",\"type\":\"Session\",\"relationName\":\"SessionToUser\"}],\"dbName\":\"users\"},\"UserCompany\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"company_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_primary\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UserToUserCompany\"},{\"name\":\"company\",\"kind\":\"object\",\"type\":\"companies\",\"relationName\":\"UserCompanyTocompanies\"}],\"dbName\":\"user_companies\"},\"Session\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"refresh_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"device_info\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ip_address\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expires_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"SessionToUser\"}],\"dbName\":\"sessions\"},\"VehicleBrand\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"logo_url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"models\",\"kind\":\"object\",\"type\":\"VehicleModel\",\"relationName\":\"VehicleBrandToVehicleModel\"},{\"name\":\"vehicles\",\"kind\":\"object\",\"type\":\"Vehicle\",\"relationName\":\"VehicleToVehicleBrand\"}],\"dbName\":\"vehicle_brands\"},\"VehicleModel\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"brand_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"brand\",\"kind\":\"object\",\"type\":\"VehicleBrand\",\"relationName\":\"VehicleBrandToVehicleModel\"},{\"name\":\"vehicles\",\"kind\":\"object\",\"type\":\"Vehicle\",\"relationName\":\"VehicleToVehicleModel\"}],\"dbName\":\"vehicle_models\"},\"Vehicle\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"license_plate\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"brand_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"model_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"capacity\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"year\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"fuel_type\",\"kind\":\"enum\",\"type\":\"FuelType\"},{\"name\":\"color\",\"kind\":\"enum\",\"type\":\"VehicleColor\"},{\"name\":\"chassis_number\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"size\",\"kind\":\"enum\",\"type\":\"VehicleSize\"},{\"name\":\"gps_enabled\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"image_url\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"company_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"brand\",\"kind\":\"object\",\"type\":\"VehicleBrand\",\"relationName\":\"VehicleToVehicleBrand\"},{\"name\":\"model\",\"kind\":\"object\",\"type\":\"VehicleModel\",\"relationName\":\"VehicleToVehicleModel\"},{\"name\":\"company\",\"kind\":\"object\",\"type\":\"companies\",\"relationName\":\"VehicleTocompanies\"},{\"name\":\"routes\",\"kind\":\"object\",\"type\":\"Route\",\"relationName\":\"RouteToVehicle\"}],\"dbName\":\"vehicles\"},\"Route\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"order_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"driver_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"vehicle_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"RouteStatus\"},{\"name\":\"started_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"completed_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"order\",\"kind\":\"object\",\"type\":\"Order\",\"relationName\":\"OrderToRoute\"},{\"name\":\"driver\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"RouteToUser\"},{\"name\":\"vehicle\",\"kind\":\"object\",\"type\":\"Vehicle\",\"relationName\":\"RouteToVehicle\"},{\"name\":\"route_handling_units\",\"kind\":\"object\",\"type\":\"RouteHandlingUnit\",\"relationName\":\"RouteToRouteHandlingUnit\"},{\"name\":\"addresses\",\"kind\":\"object\",\"type\":\"Address\",\"relationName\":\"AddressToRoute\"}],\"dbName\":\"routes\"},\"RouteHandlingUnit\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"route_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"handling_unit_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"route\",\"kind\":\"object\",\"type\":\"Route\",\"relationName\":\"RouteToRouteHandlingUnit\"},{\"name\":\"handling_unit\",\"kind\":\"object\",\"type\":\"HandlingUnit\",\"relationName\":\"HandlingUnitToRouteHandlingUnit\"}],\"dbName\":\"route_handling_units\"},\"Address\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"address_type\",\"kind\":\"enum\",\"type\":\"AddressType\"},{\"name\":\"sequence\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"address_line1\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"address_line2\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"apartment\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"city\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"state\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"postal_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"country\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"latitude\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"longitude\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"google_address\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"route_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"route\",\"kind\":\"object\",\"type\":\"Route\",\"relationName\":\"AddressToRoute\"},{\"name\":\"address_handling_units\",\"kind\":\"object\",\"type\":\"AddressHandlingUnit\",\"relationName\":\"AddressToAddressHandlingUnit\"}],\"dbName\":\"addresses\"},\"AddressHandlingUnit\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"address_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"handling_unit_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"address\",\"kind\":\"object\",\"type\":\"Address\",\"relationName\":\"AddressToAddressHandlingUnit\"},{\"name\":\"handling_unit\",\"kind\":\"object\",\"type\":\"HandlingUnit\",\"relationName\":\"AddressHandlingUnitToHandlingUnit\"}],\"dbName\":\"address_handling_units\"}},\"enums\":{},\"types\":{}}")
|
|
493
|
+
config.runtimeDataModel = JSON.parse("{\"models\":{\"Client\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tax_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"country_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"company_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"company\",\"kind\":\"object\",\"type\":\"companies\",\"relationName\":\"ClientTocompanies\"},{\"name\":\"addresses\",\"kind\":\"object\",\"type\":\"ClientAddress\",\"relationName\":\"ClientToClientAddress\"},{\"name\":\"contacts\",\"kind\":\"object\",\"type\":\"ClientContact\",\"relationName\":\"ClientToClientContact\"},{\"name\":\"orders_as_shipper\",\"kind\":\"object\",\"type\":\"Order\",\"relationName\":\"shipper_client\"},{\"name\":\"handling_units_as_consignee\",\"kind\":\"object\",\"type\":\"HandlingUnit\",\"relationName\":\"ClientToHandlingUnit\"}],\"dbName\":\"clients\"},\"ClientAddress\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"client_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"address_type\",\"kind\":\"enum\",\"type\":\"AddressType\"},{\"name\":\"line1\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"line2\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"city\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"state\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"postal_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"country\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"formatted_address\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"latitude\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"longitude\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"is_default\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"client\",\"kind\":\"object\",\"type\":\"Client\",\"relationName\":\"ClientToClientAddress\"}],\"dbName\":\"client_addresses\"},\"ClientContact\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"client_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_default\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"client\",\"kind\":\"object\",\"type\":\"Client\",\"relationName\":\"ClientToClientContact\"}],\"dbName\":\"client_contacts\"},\"Order\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reference\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"shipper_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"attachments\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"RouteStatus\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"shipper\",\"kind\":\"object\",\"type\":\"Client\",\"relationName\":\"shipper_client\"},{\"name\":\"handling_units\",\"kind\":\"object\",\"type\":\"HandlingUnit\",\"relationName\":\"HandlingUnitToOrder\"},{\"name\":\"routes\",\"kind\":\"object\",\"type\":\"Route\",\"relationName\":\"OrderToRoute\"}],\"dbName\":\"orders\"},\"companies\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tax_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"address\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"contact_info\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"country_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"clients\",\"kind\":\"object\",\"type\":\"Client\",\"relationName\":\"ClientTocompanies\"},{\"name\":\"vehicles\",\"kind\":\"object\",\"type\":\"Vehicle\",\"relationName\":\"VehicleTocompanies\"},{\"name\":\"user_companies\",\"kind\":\"object\",\"type\":\"UserCompany\",\"relationName\":\"UserCompanyTocompanies\"},{\"name\":\"equipments\",\"kind\":\"object\",\"type\":\"Equipment\",\"relationName\":\"EquipmentTocompanies\"}],\"dbName\":\"companies\"},\"HandlingUnit\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"order_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"quantity\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"weight\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"weight_unit\",\"kind\":\"enum\",\"type\":\"WeightUnits\"},{\"name\":\"length\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"width\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"height\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"volume\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"dimension_unit\",\"kind\":\"enum\",\"type\":\"DimensionUnits\"},{\"name\":\"total_volume\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"total_weight\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"commodity\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"delivery_contact\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"pickup_contact\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"delivery_address\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"pickup_address\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"delivery_instructions\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"pickup_instructions\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"client_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"contact_notify\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"eta\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"order\",\"kind\":\"object\",\"type\":\"Order\",\"relationName\":\"HandlingUnitToOrder\"},{\"name\":\"client\",\"kind\":\"object\",\"type\":\"Client\",\"relationName\":\"ClientToHandlingUnit\"},{\"name\":\"route_handling_units\",\"kind\":\"object\",\"type\":\"RouteHandlingUnit\",\"relationName\":\"HandlingUnitToRouteHandlingUnit\"},{\"name\":\"address_handling_units\",\"kind\":\"object\",\"type\":\"AddressHandlingUnit\",\"relationName\":\"AddressHandlingUnitToHandlingUnit\"}],\"dbName\":\"handling_units\"},\"User\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"password\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role\",\"kind\":\"enum\",\"type\":\"Roles\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"routes\",\"kind\":\"object\",\"type\":\"Route\",\"relationName\":\"RouteToUser\"},{\"name\":\"user_companies\",\"kind\":\"object\",\"type\":\"UserCompany\",\"relationName\":\"UserToUserCompany\"},{\"name\":\"sessions\",\"kind\":\"object\",\"type\":\"Session\",\"relationName\":\"SessionToUser\"}],\"dbName\":\"users\"},\"UserCompany\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"company_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_primary\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UserToUserCompany\"},{\"name\":\"company\",\"kind\":\"object\",\"type\":\"companies\",\"relationName\":\"UserCompanyTocompanies\"}],\"dbName\":\"user_companies\"},\"Session\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"refresh_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"device_info\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ip_address\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expires_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"SessionToUser\"}],\"dbName\":\"sessions\"},\"VehicleBrand\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"logo_url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"models\",\"kind\":\"object\",\"type\":\"VehicleModel\",\"relationName\":\"VehicleBrandToVehicleModel\"},{\"name\":\"vehicles\",\"kind\":\"object\",\"type\":\"Vehicle\",\"relationName\":\"VehicleToVehicleBrand\"}],\"dbName\":\"vehicle_brands\"},\"VehicleModel\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"brand_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"brand\",\"kind\":\"object\",\"type\":\"VehicleBrand\",\"relationName\":\"VehicleBrandToVehicleModel\"},{\"name\":\"vehicles\",\"kind\":\"object\",\"type\":\"Vehicle\",\"relationName\":\"VehicleToVehicleModel\"}],\"dbName\":\"vehicle_models\"},\"Vehicle\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"license_plate\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"brand_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"model_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"capacity\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"year\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"fuel_type\",\"kind\":\"enum\",\"type\":\"FuelType\"},{\"name\":\"color\",\"kind\":\"enum\",\"type\":\"VehicleColor\"},{\"name\":\"chassis_number\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"size\",\"kind\":\"enum\",\"type\":\"VehicleSize\"},{\"name\":\"gps_enabled\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"image_url\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"company_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"brand\",\"kind\":\"object\",\"type\":\"VehicleBrand\",\"relationName\":\"VehicleToVehicleBrand\"},{\"name\":\"model\",\"kind\":\"object\",\"type\":\"VehicleModel\",\"relationName\":\"VehicleToVehicleModel\"},{\"name\":\"company\",\"kind\":\"object\",\"type\":\"companies\",\"relationName\":\"VehicleTocompanies\"},{\"name\":\"routes\",\"kind\":\"object\",\"type\":\"Route\",\"relationName\":\"RouteToVehicle\"},{\"name\":\"equipments\",\"kind\":\"object\",\"type\":\"Equipment\",\"relationName\":\"EquipmentToVehicle\"}],\"dbName\":\"vehicles\"},\"Route\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"order_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"driver_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"vehicle_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"RouteStatus\"},{\"name\":\"started_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"completed_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"optimized_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"optimization_polyline\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"optimization_distance_meters\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"optimization_duration_seconds\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"optimization_distance_saved_meters\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"optimization_duration_saved_seconds\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"optimization_percentage\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"optimization_waypoint_order\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"order\",\"kind\":\"object\",\"type\":\"Order\",\"relationName\":\"OrderToRoute\"},{\"name\":\"driver\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"RouteToUser\"},{\"name\":\"vehicle\",\"kind\":\"object\",\"type\":\"Vehicle\",\"relationName\":\"RouteToVehicle\"},{\"name\":\"route_handling_units\",\"kind\":\"object\",\"type\":\"RouteHandlingUnit\",\"relationName\":\"RouteToRouteHandlingUnit\"},{\"name\":\"addresses\",\"kind\":\"object\",\"type\":\"Address\",\"relationName\":\"AddressToRoute\"}],\"dbName\":\"routes\"},\"RouteHandlingUnit\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"route_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"handling_unit_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"route\",\"kind\":\"object\",\"type\":\"Route\",\"relationName\":\"RouteToRouteHandlingUnit\"},{\"name\":\"handling_unit\",\"kind\":\"object\",\"type\":\"HandlingUnit\",\"relationName\":\"HandlingUnitToRouteHandlingUnit\"}],\"dbName\":\"route_handling_units\"},\"Address\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"address_type\",\"kind\":\"enum\",\"type\":\"AddressType\"},{\"name\":\"sequence\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"address_line1\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"address_line2\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"apartment\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"city\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"state\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"postal_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"country\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"latitude\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"longitude\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"google_address\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"route_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"route\",\"kind\":\"object\",\"type\":\"Route\",\"relationName\":\"AddressToRoute\"},{\"name\":\"address_handling_units\",\"kind\":\"object\",\"type\":\"AddressHandlingUnit\",\"relationName\":\"AddressToAddressHandlingUnit\"}],\"dbName\":\"addresses\"},\"AddressHandlingUnit\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"address_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"handling_unit_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"address\",\"kind\":\"object\",\"type\":\"Address\",\"relationName\":\"AddressToAddressHandlingUnit\"},{\"name\":\"handling_unit\",\"kind\":\"object\",\"type\":\"HandlingUnit\",\"relationName\":\"AddressHandlingUnitToHandlingUnit\"}],\"dbName\":\"address_handling_units\"},\"EquipmentBrand\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"logo_url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"models\",\"kind\":\"object\",\"type\":\"EquipmentModel\",\"relationName\":\"EquipmentBrandToEquipmentModel\"},{\"name\":\"equipments\",\"kind\":\"object\",\"type\":\"Equipment\",\"relationName\":\"EquipmentToEquipmentBrand\"}],\"dbName\":\"equipment_brands\"},\"EquipmentModel\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"brand_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"brand\",\"kind\":\"object\",\"type\":\"EquipmentBrand\",\"relationName\":\"EquipmentBrandToEquipmentModel\"},{\"name\":\"equipment\",\"kind\":\"object\",\"type\":\"Equipment\",\"relationName\":\"EquipmentToEquipmentModel\"}],\"dbName\":\"equipment_models\"},\"Equipment\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"plate\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"year\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"color\",\"kind\":\"enum\",\"type\":\"VehicleColor\"},{\"name\":\"brand_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"model_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"axles\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"chassis_number\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"weight\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"weight_unit\",\"kind\":\"enum\",\"type\":\"WeightUnits\"},{\"name\":\"length\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"width\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"height\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"dimension_unit\",\"kind\":\"enum\",\"type\":\"DimensionUnits\"},{\"name\":\"pallets\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"load_capacity\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"EquipmentStatus\"},{\"name\":\"company_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"vehicle_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"brand\",\"kind\":\"object\",\"type\":\"EquipmentBrand\",\"relationName\":\"EquipmentToEquipmentBrand\"},{\"name\":\"model\",\"kind\":\"object\",\"type\":\"EquipmentModel\",\"relationName\":\"EquipmentToEquipmentModel\"},{\"name\":\"company\",\"kind\":\"object\",\"type\":\"companies\",\"relationName\":\"EquipmentTocompanies\"},{\"name\":\"vehicle\",\"kind\":\"object\",\"type\":\"Vehicle\",\"relationName\":\"EquipmentToVehicle\"}],\"dbName\":\"equipments\"}},\"enums\":{},\"types\":{}}")
|
|
434
494
|
defineDmmfProperty(exports.Prisma, config.runtimeDataModel)
|
|
435
495
|
config.compilerWasm = {
|
|
436
496
|
getRuntime: async () => require('./query_compiler_bg.js'),
|
|
@@ -84,6 +84,12 @@ enum AddressType {
|
|
|
84
84
|
OTHER
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
+
enum EquipmentStatus {
|
|
88
|
+
ACTIVE
|
|
89
|
+
INACTIVE
|
|
90
|
+
MAINTENANCE
|
|
91
|
+
}
|
|
92
|
+
|
|
87
93
|
model Client {
|
|
88
94
|
id String @id @default(uuid()) @db.Uuid
|
|
89
95
|
tax_id String?
|
|
@@ -177,6 +183,7 @@ model companies {
|
|
|
177
183
|
clients Client[]
|
|
178
184
|
vehicles Vehicle[]
|
|
179
185
|
user_companies UserCompany[]
|
|
186
|
+
equipments Equipment[]
|
|
180
187
|
|
|
181
188
|
@@map("companies")
|
|
182
189
|
}
|
|
@@ -315,10 +322,11 @@ model Vehicle {
|
|
|
315
322
|
created_at DateTime @default(now())
|
|
316
323
|
updated_at DateTime @updatedAt
|
|
317
324
|
|
|
318
|
-
brand
|
|
319
|
-
model
|
|
320
|
-
company
|
|
321
|
-
routes
|
|
325
|
+
brand VehicleBrand? @relation(fields: [brand_id], references: [id], onDelete: SetNull)
|
|
326
|
+
model VehicleModel? @relation(fields: [model_id], references: [id], onDelete: SetNull)
|
|
327
|
+
company companies? @relation(fields: [company_id], references: [id], onDelete: Cascade)
|
|
328
|
+
routes Route[]
|
|
329
|
+
equipments Equipment[]
|
|
322
330
|
|
|
323
331
|
@@index([company_id])
|
|
324
332
|
@@index([brand_id])
|
|
@@ -334,8 +342,18 @@ model Route {
|
|
|
334
342
|
status RouteStatus @default(PENDING)
|
|
335
343
|
started_at DateTime?
|
|
336
344
|
completed_at DateTime?
|
|
337
|
-
|
|
338
|
-
|
|
345
|
+
|
|
346
|
+
optimized_at DateTime?
|
|
347
|
+
optimization_polyline String?
|
|
348
|
+
optimization_distance_meters Int?
|
|
349
|
+
optimization_duration_seconds Int?
|
|
350
|
+
optimization_distance_saved_meters Int?
|
|
351
|
+
optimization_duration_saved_seconds Int?
|
|
352
|
+
optimization_percentage Float?
|
|
353
|
+
optimization_waypoint_order Json?
|
|
354
|
+
|
|
355
|
+
created_at DateTime @default(now())
|
|
356
|
+
updated_at DateTime @updatedAt
|
|
339
357
|
|
|
340
358
|
order Order? @relation(fields: [order_id], references: [id], onDelete: Cascade)
|
|
341
359
|
driver User? @relation(fields: [driver_id], references: [id], onDelete: SetNull)
|
|
@@ -405,3 +423,70 @@ model AddressHandlingUnit {
|
|
|
405
423
|
@@index([handling_unit_id])
|
|
406
424
|
@@map("address_handling_units")
|
|
407
425
|
}
|
|
426
|
+
|
|
427
|
+
model EquipmentBrand {
|
|
428
|
+
id String @id @default(uuid()) @db.Uuid
|
|
429
|
+
name String @unique
|
|
430
|
+
logo_url String?
|
|
431
|
+
is_active Boolean @default(true)
|
|
432
|
+
created_at DateTime @default(now())
|
|
433
|
+
updated_at DateTime @updatedAt
|
|
434
|
+
|
|
435
|
+
models EquipmentModel[]
|
|
436
|
+
equipments Equipment[]
|
|
437
|
+
|
|
438
|
+
@@map("equipment_brands")
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
model EquipmentModel {
|
|
442
|
+
id String @id @default(uuid()) @db.Uuid
|
|
443
|
+
name String
|
|
444
|
+
brand_id String @db.Uuid
|
|
445
|
+
is_active Boolean @default(true)
|
|
446
|
+
created_at DateTime @default(now())
|
|
447
|
+
updated_at DateTime @updatedAt
|
|
448
|
+
|
|
449
|
+
brand EquipmentBrand @relation(fields: [brand_id], references: [id], onDelete: Cascade)
|
|
450
|
+
equipment Equipment[]
|
|
451
|
+
|
|
452
|
+
@@unique([name, brand_id])
|
|
453
|
+
@@index([brand_id])
|
|
454
|
+
@@map("equipment_models")
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
model Equipment {
|
|
458
|
+
id String @id @default(uuid()) @db.Uuid
|
|
459
|
+
title String
|
|
460
|
+
plate String? @unique
|
|
461
|
+
year Int?
|
|
462
|
+
color VehicleColor?
|
|
463
|
+
brand_id String? @db.Uuid
|
|
464
|
+
model_id String? @db.Uuid
|
|
465
|
+
axles Int?
|
|
466
|
+
chassis_number String? @unique
|
|
467
|
+
weight Float?
|
|
468
|
+
weight_unit WeightUnits @default(KG)
|
|
469
|
+
length Float?
|
|
470
|
+
width Float?
|
|
471
|
+
height Float?
|
|
472
|
+
dimension_unit DimensionUnits @default(CM)
|
|
473
|
+
pallets Int?
|
|
474
|
+
load_capacity Float?
|
|
475
|
+
status EquipmentStatus @default(ACTIVE)
|
|
476
|
+
company_id String? @db.Uuid
|
|
477
|
+
vehicle_id String? @db.Uuid
|
|
478
|
+
created_at DateTime @default(now())
|
|
479
|
+
updated_at DateTime @updatedAt
|
|
480
|
+
|
|
481
|
+
brand EquipmentBrand? @relation(fields: [brand_id], references: [id], onDelete: SetNull)
|
|
482
|
+
model EquipmentModel? @relation(fields: [model_id], references: [id], onDelete: SetNull)
|
|
483
|
+
company companies? @relation(fields: [company_id], references: [id], onDelete: SetNull)
|
|
484
|
+
vehicle Vehicle? @relation(fields: [vehicle_id], references: [id], onDelete: SetNull)
|
|
485
|
+
|
|
486
|
+
@@index([company_id])
|
|
487
|
+
@@index([brand_id])
|
|
488
|
+
@@index([model_id])
|
|
489
|
+
@@index([vehicle_id])
|
|
490
|
+
@@index([plate])
|
|
491
|
+
@@map("equipments")
|
|
492
|
+
}
|