@delpa/mt-prisma 0.6.0 → 0.7.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/README.md CHANGED
@@ -14,12 +14,44 @@ pnpm add @delpa/mt-prisma
14
14
  2. Generate Prisma client: `pnpm db:generate`
15
15
  3. Push schema to database: `pnpm db:push`
16
16
 
17
+ ## Environment Variables
18
+
19
+ ```bash
20
+ # Required
21
+ DATABASE_URL="postgresql://user:password@host:port/database"
22
+
23
+ # Pool Configuration (optional - defaults shown)
24
+ DATABASE_POOL_MAX=12 # Maximum connections per microservice (default: 12)
25
+ DATABASE_POOL_MIN=2 # Minimum connections in pool
26
+ DATABASE_IDLE_TIMEOUT=30000 # Time in ms before idle connection is closed
27
+ DATABASE_CONNECTION_TIMEOUT=5000 # Time in ms to wait for connection
28
+ ```
29
+
30
+ ### Pool Distribution (40 connections total)
31
+
32
+ Recommended per-service configuration:
33
+
34
+ | Service | DATABASE_POOL_MAX | Notes |
35
+ |-------------|-------------------|--------------------------------|
36
+ | ms-routes | 15 | High load (routes, orders) |
37
+ | ms-admin | 15 | Admin operations (CRUD) |
38
+ | ms-auth | 8 | Auth & sessions (lighter) |
39
+ | **Reserve** | 2 | Direct DB access / migrations |
40
+
17
41
  ## Usage
18
42
 
19
43
  ```typescript
20
- import { prisma, PrismaService } from '@delpa/mt-prisma';
44
+ import { prisma, closePrismaConnection, getPoolStats } from '@delpa/mt-prisma';
21
45
 
46
+ // Query data
22
47
  const routes = await prisma.route.findMany();
48
+
49
+ // Get pool statistics
50
+ const stats = getPoolStats();
51
+ console.log(stats); // { total: 5, idle: 3, waiting: 0 }
52
+
53
+ // Gracefully close connections (on shutdown)
54
+ await closePrismaConnection();
23
55
  ```
24
56
 
25
57
  ## Commands
@@ -92,10 +92,53 @@ exports.Prisma.TransactionIsolationLevel = makeStrictEnum({
92
92
  Serializable: 'Serializable'
93
93
  });
94
94
 
95
+ exports.Prisma.ClientScalarFieldEnum = {
96
+ id: 'id',
97
+ tax_id: 'tax_id',
98
+ name: 'name',
99
+ email: 'email',
100
+ phone: 'phone',
101
+ country_code: 'country_code',
102
+ company_id: 'company_id',
103
+ created_by: 'created_by',
104
+ created_at: 'created_at',
105
+ updated_at: 'updated_at'
106
+ };
107
+
108
+ exports.Prisma.ClientAddressScalarFieldEnum = {
109
+ id: 'id',
110
+ client_id: 'client_id',
111
+ title: 'title',
112
+ address_type: 'address_type',
113
+ line1: 'line1',
114
+ line2: 'line2',
115
+ city: 'city',
116
+ state: 'state',
117
+ postal_code: 'postal_code',
118
+ country: 'country',
119
+ formatted_address: 'formatted_address',
120
+ latitude: 'latitude',
121
+ longitude: 'longitude',
122
+ is_default: 'is_default',
123
+ created_at: 'created_at',
124
+ updated_at: 'updated_at'
125
+ };
126
+
127
+ exports.Prisma.ClientContactScalarFieldEnum = {
128
+ id: 'id',
129
+ client_id: 'client_id',
130
+ name: 'name',
131
+ email: 'email',
132
+ phone: 'phone',
133
+ is_default: 'is_default',
134
+ created_at: 'created_at',
135
+ updated_at: 'updated_at'
136
+ };
137
+
95
138
  exports.Prisma.OrderScalarFieldEnum = {
96
139
  id: 'id',
97
140
  reference: 'reference',
98
- shipper: 'shipper',
141
+ shipper_id: 'shipper_id',
99
142
  attachments: 'attachments',
100
143
  status: 'status',
101
144
  created_at: 'created_at',
@@ -134,7 +177,7 @@ exports.Prisma.HandlingUnitScalarFieldEnum = {
134
177
  pickup_address: 'pickup_address',
135
178
  delivery_instructions: 'delivery_instructions',
136
179
  pickup_instructions: 'pickup_instructions',
137
- consignee: 'consignee',
180
+ client_id: 'client_id',
138
181
  contact_notify: 'contact_notify',
139
182
  eta: 'eta',
140
183
  created_at: 'created_at',
@@ -151,12 +194,50 @@ exports.Prisma.UserScalarFieldEnum = {
151
194
  updated_at: 'updated_at'
152
195
  };
153
196
 
197
+ exports.Prisma.UserCompanyScalarFieldEnum = {
198
+ id: 'id',
199
+ user_id: 'user_id',
200
+ company_id: 'company_id',
201
+ is_primary: 'is_primary',
202
+ created_at: 'created_at',
203
+ updated_at: 'updated_at'
204
+ };
205
+
206
+ exports.Prisma.SessionScalarFieldEnum = {
207
+ id: 'id',
208
+ user_id: 'user_id',
209
+ refresh_token: 'refresh_token',
210
+ device_info: 'device_info',
211
+ ip_address: 'ip_address',
212
+ expires_at: 'expires_at',
213
+ created_at: 'created_at',
214
+ updated_at: 'updated_at'
215
+ };
216
+
217
+ exports.Prisma.VehicleBrandScalarFieldEnum = {
218
+ id: 'id',
219
+ name: 'name',
220
+ logo_url: 'logo_url',
221
+ is_active: 'is_active',
222
+ created_at: 'created_at',
223
+ updated_at: 'updated_at'
224
+ };
225
+
226
+ exports.Prisma.VehicleModelScalarFieldEnum = {
227
+ id: 'id',
228
+ name: 'name',
229
+ brand_id: 'brand_id',
230
+ is_active: 'is_active',
231
+ created_at: 'created_at',
232
+ updated_at: 'updated_at'
233
+ };
234
+
154
235
  exports.Prisma.VehicleScalarFieldEnum = {
155
236
  id: 'id',
156
237
  license_plate: 'license_plate',
157
- model: 'model',
238
+ brand_id: 'brand_id',
239
+ model_id: 'model_id',
158
240
  capacity: 'capacity',
159
- mark: 'mark',
160
241
  year: 'year',
161
242
  fuel_type: 'fuel_type',
162
243
  color: 'color',
@@ -200,6 +281,7 @@ exports.Prisma.RouteOrdersScalarFieldEnum = {
200
281
  exports.Prisma.AddressScalarFieldEnum = {
201
282
  id: 'id',
202
283
  address_type: 'address_type',
284
+ sequence: 'sequence',
203
285
  title: 'title',
204
286
  address_line1: 'address_line1',
205
287
  address_line2: 'address_line2',
@@ -239,16 +321,16 @@ exports.Prisma.QueryMode = {
239
321
  insensitive: 'insensitive'
240
322
  };
241
323
 
324
+ exports.Prisma.NullsOrder = {
325
+ first: 'first',
326
+ last: 'last'
327
+ };
328
+
242
329
  exports.Prisma.JsonNullValueFilter = {
243
330
  DbNull: Prisma.DbNull,
244
331
  JsonNull: Prisma.JsonNull,
245
332
  AnyNull: Prisma.AnyNull
246
333
  };
247
-
248
- exports.Prisma.NullsOrder = {
249
- first: 'first',
250
- last: 'last'
251
- };
252
334
  exports.RouteStatus = exports.$Enums.RouteStatus = {
253
335
  IN_TRANSIT: 'IN_TRANSIT',
254
336
  DELIVERED: 'DELIVERED',
@@ -283,6 +365,28 @@ exports.VehicleSize = exports.$Enums.VehicleSize = {
283
365
  EXTRA_LARGE: 'EXTRA_LARGE'
284
366
  };
285
367
 
368
+ exports.VehicleColor = exports.$Enums.VehicleColor = {
369
+ WHITE: 'WHITE',
370
+ BLACK: 'BLACK',
371
+ SILVER: 'SILVER',
372
+ GRAY: 'GRAY',
373
+ RED: 'RED',
374
+ BLUE: 'BLUE',
375
+ GREEN: 'GREEN',
376
+ YELLOW: 'YELLOW',
377
+ ORANGE: 'ORANGE',
378
+ BROWN: 'BROWN',
379
+ BEIGE: 'BEIGE'
380
+ };
381
+
382
+ exports.FuelType = exports.$Enums.FuelType = {
383
+ GASOLINE: 'GASOLINE',
384
+ DIESEL: 'DIESEL',
385
+ ELECTRIC: 'ELECTRIC',
386
+ HYBRID: 'HYBRID',
387
+ GAS: 'GAS'
388
+ };
389
+
286
390
  exports.TypeOfRoutes = exports.$Enums.TypeOfRoutes = {
287
391
  PICKING: 'PICKING',
288
392
  DELIVERY: 'DELIVERY',
@@ -297,10 +401,17 @@ exports.AddressType = exports.$Enums.AddressType = {
297
401
  };
298
402
 
299
403
  exports.Prisma.ModelName = {
404
+ Client: 'Client',
405
+ ClientAddress: 'ClientAddress',
406
+ ClientContact: 'ClientContact',
300
407
  Order: 'Order',
301
408
  companies: 'companies',
302
409
  HandlingUnit: 'HandlingUnit',
303
410
  User: 'User',
411
+ UserCompany: 'UserCompany',
412
+ Session: 'Session',
413
+ VehicleBrand: 'VehicleBrand',
414
+ VehicleModel: 'VehicleModel',
304
415
  Vehicle: 'Vehicle',
305
416
  Route: 'Route',
306
417
  RouteHandlingUnit: 'RouteHandlingUnit',
@@ -316,10 +427,10 @@ const config = {
316
427
  "clientVersion": "7.2.0",
317
428
  "engineVersion": "0c8ef2ce45c83248ab3df073180d5eda9e8be7a3",
318
429
  "activeProvider": "postgresql",
319
- "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 TypeOfRoutes {\n PICKING\n DELIVERY\n RETURN\n}\n\nenum AddressType {\n PICKUP\n DELIVERY\n WAREHOUSE\n OTHER\n}\n\nmodel Order {\n id String @id @default(uuid()) @db.Uuid\n reference String?\n shipper String\n attachments Json? @default(\"[]\")\n status RouteStatus @default(PENDING)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n handling_units HandlingUnit[]\n route_orders RouteOrders[]\n\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 handling_units HandlingUnit[]\n vehicles Vehicle[]\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 consignee 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 company companies? @relation(fields: [consignee], references: [id], onDelete: SetNull)\n route_handling_units RouteHandlingUnit[]\n address_handling_units AddressHandlingUnit[]\n\n @@index([order_id])\n @@index([consignee])\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\n @@map(\"users\")\n}\n\nmodel Vehicle {\n id String @id @default(uuid()) @db.Uuid\n license_plate String @unique\n model String\n capacity Float?\n mark String?\n year Int?\n fuel_type String?\n color String?\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 company companies? @relation(fields: [company_id], references: [id], onDelete: Cascade)\n routes Route[]\n\n @@index([company_id])\n @@map(\"vehicles\")\n}\n\nmodel Route {\n id String @id @default(uuid()) @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 type_of_route TypeOfRoutes?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\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 route_orders RouteOrders[]\n addresses Address[]\n\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 RouteOrders {\n id String @id @default(uuid()) @db.Uuid\n route_id String @db.Uuid\n order_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 order Order @relation(fields: [order_id], references: [id], onDelete: Cascade)\n\n @@index([route_id])\n @@index([order_id])\n @@map(\"route_orders\")\n}\n\nmodel Address {\n id String @id @default(uuid()) @db.Uuid\n address_type AddressType @default(OTHER)\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"
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 TypeOfRoutes {\n PICKING\n DELIVERY\n RETURN\n}\n\nenum AddressType {\n PICKUP\n DELIVERY\n WAREHOUSE\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 route_orders RouteOrders[]\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 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 type_of_route TypeOfRoutes?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\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 route_orders RouteOrders[]\n addresses Address[]\n\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 RouteOrders {\n id String @id @default(uuid()) @db.Uuid\n route_id String @db.Uuid\n order_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 order Order @relation(fields: [order_id], references: [id], onDelete: Cascade)\n\n @@index([route_id])\n @@index([order_id])\n @@map(\"route_orders\")\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"
320
431
  }
321
432
 
322
- config.runtimeDataModel = JSON.parse("{\"models\":{\"Order\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reference\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"shipper\",\"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\":\"handling_units\",\"kind\":\"object\",\"type\":\"HandlingUnit\",\"relationName\":\"HandlingUnitToOrder\"},{\"name\":\"route_orders\",\"kind\":\"object\",\"type\":\"RouteOrders\",\"relationName\":\"OrderToRouteOrders\"}],\"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\":\"handling_units\",\"kind\":\"object\",\"type\":\"HandlingUnit\",\"relationName\":\"HandlingUnitTocompanies\"},{\"name\":\"vehicles\",\"kind\":\"object\",\"type\":\"Vehicle\",\"relationName\":\"VehicleTocompanies\"}],\"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\":\"consignee\",\"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\":\"company\",\"kind\":\"object\",\"type\":\"companies\",\"relationName\":\"HandlingUnitTocompanies\"},{\"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\"}],\"dbName\":\"users\"},\"Vehicle\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"license_plate\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"model\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"capacity\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"mark\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"year\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"fuel_type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"color\",\"kind\":\"scalar\",\"type\":\"String\"},{\"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\":\"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\":\"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\":\"type_of_route\",\"kind\":\"enum\",\"type\":\"TypeOfRoutes\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"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\":\"route_orders\",\"kind\":\"object\",\"type\":\"RouteOrders\",\"relationName\":\"RouteToRouteOrders\"},{\"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\"},\"RouteOrders\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"route_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"order_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\":\"RouteToRouteOrders\"},{\"name\":\"order\",\"kind\":\"object\",\"type\":\"Order\",\"relationName\":\"OrderToRouteOrders\"}],\"dbName\":\"route_orders\"},\"Address\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"address_type\",\"kind\":\"enum\",\"type\":\"AddressType\"},{\"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\":{}}")
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\":\"route_orders\",\"kind\":\"object\",\"type\":\"RouteOrders\",\"relationName\":\"OrderToRouteOrders\"}],\"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\":\"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\":\"type_of_route\",\"kind\":\"enum\",\"type\":\"TypeOfRoutes\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"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\":\"route_orders\",\"kind\":\"object\",\"type\":\"RouteOrders\",\"relationName\":\"RouteToRouteOrders\"},{\"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\"},\"RouteOrders\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"route_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"order_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\":\"RouteToRouteOrders\"},{\"name\":\"order\",\"kind\":\"object\",\"type\":\"Order\",\"relationName\":\"OrderToRouteOrders\"}],\"dbName\":\"route_orders\"},\"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\":{}}")
323
434
  defineDmmfProperty(exports.Prisma, config.runtimeDataModel)
324
435
  config.compilerWasm = {
325
436
  getRuntime: async () => require('./query_compiler_bg.js'),
@@ -120,10 +120,53 @@ exports.Prisma.TransactionIsolationLevel = makeStrictEnum({
120
120
  Serializable: 'Serializable'
121
121
  });
122
122
 
123
+ exports.Prisma.ClientScalarFieldEnum = {
124
+ id: 'id',
125
+ tax_id: 'tax_id',
126
+ name: 'name',
127
+ email: 'email',
128
+ phone: 'phone',
129
+ country_code: 'country_code',
130
+ company_id: 'company_id',
131
+ created_by: 'created_by',
132
+ created_at: 'created_at',
133
+ updated_at: 'updated_at'
134
+ };
135
+
136
+ exports.Prisma.ClientAddressScalarFieldEnum = {
137
+ id: 'id',
138
+ client_id: 'client_id',
139
+ title: 'title',
140
+ address_type: 'address_type',
141
+ line1: 'line1',
142
+ line2: 'line2',
143
+ city: 'city',
144
+ state: 'state',
145
+ postal_code: 'postal_code',
146
+ country: 'country',
147
+ formatted_address: 'formatted_address',
148
+ latitude: 'latitude',
149
+ longitude: 'longitude',
150
+ is_default: 'is_default',
151
+ created_at: 'created_at',
152
+ updated_at: 'updated_at'
153
+ };
154
+
155
+ exports.Prisma.ClientContactScalarFieldEnum = {
156
+ id: 'id',
157
+ client_id: 'client_id',
158
+ name: 'name',
159
+ email: 'email',
160
+ phone: 'phone',
161
+ is_default: 'is_default',
162
+ created_at: 'created_at',
163
+ updated_at: 'updated_at'
164
+ };
165
+
123
166
  exports.Prisma.OrderScalarFieldEnum = {
124
167
  id: 'id',
125
168
  reference: 'reference',
126
- shipper: 'shipper',
169
+ shipper_id: 'shipper_id',
127
170
  attachments: 'attachments',
128
171
  status: 'status',
129
172
  created_at: 'created_at',
@@ -162,7 +205,7 @@ exports.Prisma.HandlingUnitScalarFieldEnum = {
162
205
  pickup_address: 'pickup_address',
163
206
  delivery_instructions: 'delivery_instructions',
164
207
  pickup_instructions: 'pickup_instructions',
165
- consignee: 'consignee',
208
+ client_id: 'client_id',
166
209
  contact_notify: 'contact_notify',
167
210
  eta: 'eta',
168
211
  created_at: 'created_at',
@@ -179,12 +222,50 @@ exports.Prisma.UserScalarFieldEnum = {
179
222
  updated_at: 'updated_at'
180
223
  };
181
224
 
225
+ exports.Prisma.UserCompanyScalarFieldEnum = {
226
+ id: 'id',
227
+ user_id: 'user_id',
228
+ company_id: 'company_id',
229
+ is_primary: 'is_primary',
230
+ created_at: 'created_at',
231
+ updated_at: 'updated_at'
232
+ };
233
+
234
+ exports.Prisma.SessionScalarFieldEnum = {
235
+ id: 'id',
236
+ user_id: 'user_id',
237
+ refresh_token: 'refresh_token',
238
+ device_info: 'device_info',
239
+ ip_address: 'ip_address',
240
+ expires_at: 'expires_at',
241
+ created_at: 'created_at',
242
+ updated_at: 'updated_at'
243
+ };
244
+
245
+ exports.Prisma.VehicleBrandScalarFieldEnum = {
246
+ id: 'id',
247
+ name: 'name',
248
+ logo_url: 'logo_url',
249
+ is_active: 'is_active',
250
+ created_at: 'created_at',
251
+ updated_at: 'updated_at'
252
+ };
253
+
254
+ exports.Prisma.VehicleModelScalarFieldEnum = {
255
+ id: 'id',
256
+ name: 'name',
257
+ brand_id: 'brand_id',
258
+ is_active: 'is_active',
259
+ created_at: 'created_at',
260
+ updated_at: 'updated_at'
261
+ };
262
+
182
263
  exports.Prisma.VehicleScalarFieldEnum = {
183
264
  id: 'id',
184
265
  license_plate: 'license_plate',
185
- model: 'model',
266
+ brand_id: 'brand_id',
267
+ model_id: 'model_id',
186
268
  capacity: 'capacity',
187
- mark: 'mark',
188
269
  year: 'year',
189
270
  fuel_type: 'fuel_type',
190
271
  color: 'color',
@@ -228,6 +309,7 @@ exports.Prisma.RouteOrdersScalarFieldEnum = {
228
309
  exports.Prisma.AddressScalarFieldEnum = {
229
310
  id: 'id',
230
311
  address_type: 'address_type',
312
+ sequence: 'sequence',
231
313
  title: 'title',
232
314
  address_line1: 'address_line1',
233
315
  address_line2: 'address_line2',
@@ -267,16 +349,23 @@ exports.Prisma.QueryMode = {
267
349
  insensitive: 'insensitive'
268
350
  };
269
351
 
352
+ exports.Prisma.NullsOrder = {
353
+ first: 'first',
354
+ last: 'last'
355
+ };
356
+
270
357
  exports.Prisma.JsonNullValueFilter = {
271
358
  DbNull: Prisma.DbNull,
272
359
  JsonNull: Prisma.JsonNull,
273
360
  AnyNull: Prisma.AnyNull
274
361
  };
275
-
276
- exports.Prisma.NullsOrder = {
277
- first: 'first',
278
- last: 'last'
362
+ exports.AddressType = exports.$Enums.AddressType = {
363
+ PICKUP: 'PICKUP',
364
+ DELIVERY: 'DELIVERY',
365
+ WAREHOUSE: 'WAREHOUSE',
366
+ OTHER: 'OTHER'
279
367
  };
368
+
280
369
  exports.RouteStatus = exports.$Enums.RouteStatus = {
281
370
  IN_TRANSIT: 'IN_TRANSIT',
282
371
  DELIVERED: 'DELIVERED',
@@ -304,6 +393,28 @@ exports.Roles = exports.$Enums.Roles = {
304
393
  GUEST: 'GUEST'
305
394
  };
306
395
 
396
+ exports.FuelType = exports.$Enums.FuelType = {
397
+ GASOLINE: 'GASOLINE',
398
+ DIESEL: 'DIESEL',
399
+ ELECTRIC: 'ELECTRIC',
400
+ HYBRID: 'HYBRID',
401
+ GAS: 'GAS'
402
+ };
403
+
404
+ exports.VehicleColor = exports.$Enums.VehicleColor = {
405
+ WHITE: 'WHITE',
406
+ BLACK: 'BLACK',
407
+ SILVER: 'SILVER',
408
+ GRAY: 'GRAY',
409
+ RED: 'RED',
410
+ BLUE: 'BLUE',
411
+ GREEN: 'GREEN',
412
+ YELLOW: 'YELLOW',
413
+ ORANGE: 'ORANGE',
414
+ BROWN: 'BROWN',
415
+ BEIGE: 'BEIGE'
416
+ };
417
+
307
418
  exports.VehicleSize = exports.$Enums.VehicleSize = {
308
419
  SMALL: 'SMALL',
309
420
  MEDIUM: 'MEDIUM',
@@ -317,18 +428,18 @@ exports.TypeOfRoutes = exports.$Enums.TypeOfRoutes = {
317
428
  RETURN: 'RETURN'
318
429
  };
319
430
 
320
- exports.AddressType = exports.$Enums.AddressType = {
321
- PICKUP: 'PICKUP',
322
- DELIVERY: 'DELIVERY',
323
- WAREHOUSE: 'WAREHOUSE',
324
- OTHER: 'OTHER'
325
- };
326
-
327
431
  exports.Prisma.ModelName = {
432
+ Client: 'Client',
433
+ ClientAddress: 'ClientAddress',
434
+ ClientContact: 'ClientContact',
328
435
  Order: 'Order',
329
436
  companies: 'companies',
330
437
  HandlingUnit: 'HandlingUnit',
331
438
  User: 'User',
439
+ UserCompany: 'UserCompany',
440
+ Session: 'Session',
441
+ VehicleBrand: 'VehicleBrand',
442
+ VehicleModel: 'VehicleModel',
332
443
  Vehicle: 'Vehicle',
333
444
  Route: 'Route',
334
445
  RouteHandlingUnit: 'RouteHandlingUnit',