vms-nest-prisma-api-document 24.0.0 → 25.0.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.
Files changed (81) hide show
  1. package/dist/core/Enums.d.ts +28 -12
  2. package/dist/core/Enums.js +34 -14
  3. package/dist/services/account/bookmark_service.d.ts +1 -1
  4. package/dist/services/{gps/features/user_notification_preferences.service.d.ts → account/notification_preferences.service.d.ts} +82 -50
  5. package/dist/services/{gps/features/user_notification_preferences.service.js → account/notification_preferences.service.js} +80 -63
  6. package/dist/services/{gps/features/user_report_preferences.service.d.ts → account/report_preferences.service.d.ts} +64 -53
  7. package/dist/services/{gps/features/user_report_preferences.service.js → account/report_preferences.service.js} +52 -19
  8. package/dist/services/account/ticket_service.d.ts +39 -31
  9. package/dist/services/account/ticket_service.js +27 -23
  10. package/dist/services/fleet/fuel_management/fleet_fuel_daily_summary_service.d.ts +1 -1
  11. package/dist/services/fleet/fuel_management/fleet_fuel_refill_service.d.ts +1 -1
  12. package/dist/services/fleet/fuel_management/fleet_fuel_removal_service.d.ts +1 -1
  13. package/dist/services/gps/features/geofence/gps_geofence_service.d.ts +28 -28
  14. package/dist/services/gps/features/geofence/gps_geofence_transaction_service.d.ts +16 -16
  15. package/dist/services/gps/features/geofence/gps_geofence_transaction_summary_service.d.ts +11 -11
  16. package/dist/services/gps/features/geofence/trip_geofence_to_geofence_service.d.ts +7 -7
  17. package/dist/services/gps/features/gps_live_track_share_link_service.d.ts +79 -64
  18. package/dist/services/gps/features/gps_live_track_share_link_service.js +62 -84
  19. package/dist/services/gps/features/gps_track_history_share_link_service.d.ts +69 -47
  20. package/dist/services/gps/features/gps_track_history_share_link_service.js +68 -44
  21. package/dist/services/gps/reports/gps_reports_mongo_service.d.ts +46 -46
  22. package/dist/services/main/devices/master_device_service.d.ts +1 -1
  23. package/dist/services/main/drivers/master_driver_service.d.ts +1 -1
  24. package/dist/services/main/sims/master_sim_service.d.ts +1 -1
  25. package/dist/services/main/users/auth_service.d.ts +1 -1
  26. package/dist/services/main/users/user_organisation_service.d.ts +1 -1
  27. package/dist/services/main/users/user_organisation_service.js +73 -63
  28. package/dist/services/main/users/user_service.d.ts +1 -1
  29. package/dist/services/main/vehicle/childs/vehicle_odometer_history.d.ts +1 -1
  30. package/dist/services/main/vehicle/master_vehicle_service.d.ts +1 -1
  31. package/dist/services/master/device/master_device_manufacturer_service.d.ts +1 -1
  32. package/dist/services/master/device/master_device_model_service.d.ts +1 -1
  33. package/dist/services/master/device/master_device_type_service.d.ts +1 -1
  34. package/dist/services/master/expense/master_expense_name_service.d.ts +1 -1
  35. package/dist/services/master/expense/master_expense_type_service.d.ts +1 -1
  36. package/dist/services/master/expense/master_fuel_company_service.d.ts +6 -6
  37. package/dist/services/master/expense/master_vendor_document_type_service.d.ts +3 -3
  38. package/dist/services/master/expense/master_vendor_type_service.d.ts +1 -1
  39. package/dist/services/master/fleet/master_fleet_incident_severity_service.d.ts +1 -1
  40. package/dist/services/master/fleet/master_fleet_incident_status_service.d.ts +1 -1
  41. package/dist/services/master/fleet/master_fleet_incident_type_service.d.ts +1 -1
  42. package/dist/services/master/fleet/master_fleet_insurance_claim_status_service.d.ts +1 -1
  43. package/dist/services/master/fleet/master_fleet_service_task_service.d.ts +1 -1
  44. package/dist/services/master/main/master_main_country_service.d.ts +1 -1
  45. package/dist/services/master/main/master_main_currency_service.d.ts +1 -1
  46. package/dist/services/master/main/master_main_date_format_service.d.ts +1 -1
  47. package/dist/services/master/main/master_main_industry_service.d.ts +1 -1
  48. package/dist/services/master/main/master_main_landmark_service.d.ts +4 -4
  49. package/dist/services/master/main/master_main_language_service.d.ts +1 -1
  50. package/dist/services/master/main/master_main_state_service.d.ts +1 -1
  51. package/dist/services/master/main/master_main_timezone_service.d.ts +1 -1
  52. package/dist/services/master/main/master_main_unit_distance_service.d.ts +1 -1
  53. package/dist/services/master/main/master_main_unit_mileage_service.d.ts +1 -1
  54. package/dist/services/master/main/master_main_unit_volume_service.d.ts +1 -1
  55. package/dist/services/master/organisation/organisation_branch_service.d.ts +1 -1
  56. package/dist/services/master/organisation/organisation_color_service.d.ts +1 -1
  57. package/dist/services/master/organisation/organisation_group_service.d.ts +1 -1
  58. package/dist/services/master/organisation/organisation_sub_company_service.d.ts +1 -1
  59. package/dist/services/master/organisation/organisation_tag_service.d.ts +1 -1
  60. package/dist/services/master/spare_part/master_spare_part_category_service.d.ts +1 -1
  61. package/dist/services/master/spare_part/master_spare_part_sub_category_service.d.ts +1 -1
  62. package/dist/services/master/spare_part/master_spare_part_unit_service.d.ts +1 -1
  63. package/dist/services/master/trip/master_trip_party_type_service.d.ts +1 -1
  64. package/dist/services/master/tyre/master_tyre_grade_service.d.ts +1 -1
  65. package/dist/services/master/tyre/master_tyre_make_service.d.ts +1 -1
  66. package/dist/services/master/tyre/master_tyre_model_service.d.ts +1 -1
  67. package/dist/services/master/user/master_user_role_service.d.ts +1 -1
  68. package/dist/services/master/user/master_user_status_service.d.ts +1 -1
  69. package/dist/services/master/vehicle/master_vehicle_associated_to_service.d.ts +1 -1
  70. package/dist/services/master/vehicle/master_vehicle_document_type_service.d.ts +1 -1
  71. package/dist/services/master/vehicle/master_vehicle_fuel_removal_reason_service.d.ts +1 -1
  72. package/dist/services/master/vehicle/master_vehicle_fuel_type_service.d.ts +1 -1
  73. package/dist/services/master/vehicle/master_vehicle_fuel_unit_service.d.ts +1 -1
  74. package/dist/services/master/vehicle/master_vehicle_make_service.d.ts +1 -1
  75. package/dist/services/master/vehicle/master_vehicle_model_service.d.ts +1 -1
  76. package/dist/services/master/vehicle/master_vehicle_ownership_type_service.d.ts +1 -1
  77. package/dist/services/master/vehicle/master_vehicle_status_type_service.d.ts +1 -1
  78. package/dist/services/master/vehicle/master_vehicle_sub_model_service.d.ts +1 -1
  79. package/dist/services/master/vehicle/master_vehicle_type_service.d.ts +1 -1
  80. package/dist/{user_organisation_service-C-FbPQmd.d.ts → user_organisation_service-B5QmuUSK.d.ts} +90 -64
  81. package/package.json +1 -1
@@ -75,20 +75,6 @@ var numberOptional = (fieldName, min = 0, max = 1e9, defaultValue = 0) => {
75
75
  z.number({ invalid_type_error: `${fieldName} must be a number.` }).min(min, `${fieldName} must be at least ${min}.`).max(max, `${fieldName} must be at most ${max}.`).optional().default(defaultValue)
76
76
  );
77
77
  };
78
- var doubleOptionalLatLng = (fieldName, defaultValue = 0) => {
79
- return z.preprocess(
80
- (val) => {
81
- if (typeof val === "string") {
82
- val = parseFloat(val);
83
- }
84
- if (typeof val === "number") {
85
- return parseFloat(val.toFixed(6));
86
- }
87
- return val;
88
- },
89
- z.number({ invalid_type_error: `${fieldName} must be a number.` }).min(-180, `${fieldName} must be at least -180.`).max(180, `${fieldName} must be at most 180.`).default(defaultValue)
90
- ).optional();
91
- };
92
78
  var enumMandatory = (fieldName, enumType, defaultValue) => {
93
79
  return z.union([
94
80
  z.nativeEnum(enumType, {
@@ -112,9 +98,25 @@ var enumOptional = (fieldName, enumType, defaultValue) => {
112
98
  ).join(", ")}.`
113
99
  }).optional().default(() => defaultValue);
114
100
  };
101
+ var handleNullOrUndefinedEnumArray = (value, defaultValue) => Array.isArray(value) ? value : defaultValue;
115
102
  var getAllEnums = (enumType) => {
116
103
  return Object.values(enumType);
117
104
  };
105
+ var enumArrayMandatory = (fieldName, enumType, defaultValue = getAllEnums(enumType), min = 1, max = 100, unique = false) => {
106
+ const schema = z.array(z.nativeEnum(enumType), {
107
+ invalid_type_error: `${fieldName} must be an array containing only the following values: ${Object.values(
108
+ enumType
109
+ ).join(", ")}.`
110
+ }).min(min, `${fieldName} must contain at least ${min} items.`).max(max, `${fieldName} must contain at most ${max} items.`);
111
+ if (unique) {
112
+ schema.refine(
113
+ (arr) => new Set(arr).size === arr.length,
114
+ `${fieldName} must contain unique values.`
115
+ );
116
+ }
117
+ schema.transform((val) => handleNullOrUndefinedEnumArray(val, []));
118
+ return schema.default(() => defaultValue);
119
+ };
118
120
  var enumArrayOptional = (fieldName, enumType, defaultValue = getAllEnums(enumType), min = 0, max = 100, unique = false) => {
119
121
  const schema = z.array(z.nativeEnum(enumType), {
120
122
  invalid_type_error: `${fieldName} must be an array containing only the following values: ${Object.values(
@@ -222,13 +224,13 @@ var YesNo = /* @__PURE__ */ ((YesNo2) => {
222
224
  YesNo2["No"] = "No";
223
225
  return YesNo2;
224
226
  })(YesNo || {});
225
- var NotificationType = /* @__PURE__ */ ((NotificationType2) => {
226
- NotificationType2["Whatsapp"] = "Whatsapp";
227
- NotificationType2["Message"] = "Message";
228
- NotificationType2["Email"] = "Email";
229
- NotificationType2["Push"] = "Push";
230
- return NotificationType2;
231
- })(NotificationType || {});
227
+ var NotificationChannel = /* @__PURE__ */ ((NotificationChannel2) => {
228
+ NotificationChannel2["Push"] = "Push";
229
+ NotificationChannel2["WhatsApp"] = "WhatsApp";
230
+ NotificationChannel2["SMS"] = "SMS";
231
+ NotificationChannel2["Email"] = "Email";
232
+ return NotificationChannel2;
233
+ })(NotificationChannel || {});
232
234
  var LinkType = /* @__PURE__ */ ((LinkType2) => {
233
235
  LinkType2["CurrentLocation"] = "CurrentLocation";
234
236
  LinkType2["LiveLocation"] = "LiveLocation";
@@ -305,36 +307,36 @@ var MongoBaseQuerySchema = z2.object({
305
307
  var URL = "gps/features/gps_live_track_share_link";
306
308
  var ENDPOINTS = {
307
309
  find: `${URL}/search`,
310
+ create_notification: `${URL}/create_notification`,
308
311
  create: URL,
309
- delete: (id) => `${URL}/${id}`,
310
- extend: (id) => `${URL}/extend_live_track_link_time/${id}`,
311
- updateLinkStatus: (id) => `${URL}/update_live_track_link_status/${id}`,
312
- updateTripStatus: (id) => `${URL}/update_live_track_trip_link_status/${id}`,
313
- createNotification: `${URL}/create_notifications`
312
+ extend_live_track_link_time: (id) => `${URL}/extend_live_track_link_time/${id}`,
313
+ update_live_track_link_status: (id) => `${URL}/update_live_track_link_status/${id}`,
314
+ delete: (id) => `${URL}/${id}`
314
315
  };
315
- var GPSLiveTrackShareLinkNotificationsSchema = z3.object({
316
- organisation_id: single_select_optional("Organisation ID"),
317
- gps_live_track_share_link_id: single_select_optional(
318
- "GPS Live Track Share Link ID"
316
+ var GPSLiveTrackShareLinkNotificationSchema = z3.object({
317
+ organisation_id: single_select_optional("UserOrganisation"),
318
+ // ✅ Single-Selection -> UserOrganisation
319
+ gps_live_track_share_link_id: single_select_optional("GPSLiveTrackShareLink"),
320
+ notification_channels: enumArrayMandatory(
321
+ "Notification Channels",
322
+ NotificationChannel,
323
+ getAllEnums(NotificationChannel)
319
324
  ),
320
- type: enumMandatory("Type", NotificationType, "Email" /* Email */),
321
- to_recipients: stringMandatory("To Recipients", 3, 500),
325
+ mobile_numbers: stringOptional("Mobile Numbers", 0, 300),
326
+ email_ids: stringOptional("Email IDs", 0, 300),
327
+ cc_email_ids: stringOptional("CC email IDs", 0, 300),
322
328
  status: enumMandatory("Status", Status, "Active" /* Active */)
323
329
  });
324
330
  var GPSLiveTrackShareLinkSchema = z3.object({
325
- organisation_id: single_select_mandatory("Organisation ID"),
331
+ organisation_id: single_select_mandatory("UserOrganisation"),
326
332
  vehicle_id: single_select_mandatory("Vehicle ID"),
327
- link_type: enumMandatory("Link Type", LinkType, "LiveLocation" /* LiveLocation */),
328
- latitude: doubleOptionalLatLng("Latitude"),
329
- longitude: doubleOptionalLatLng("Longitude"),
330
- location: stringOptional("Location", 0, 500),
333
+ link_type: enumMandatory("Link Type", LinkType, "CurrentLocation" /* CurrentLocation */),
331
334
  expire_milliseconds: numberOptional("Expire Milliseconds"),
332
- trip_id: single_select_optional("Trip ID"),
333
335
  link_status: enumMandatory("Link Status", LinkStatus, "Active" /* Active */),
334
336
  status: enumMandatory("Status", Status, "Active" /* Active */),
335
- notifications: nestedArrayOfObjectsOptional(
336
- "Notifications",
337
- GPSLiveTrackShareLinkNotificationsSchema,
337
+ GPSLiveTrackShareLinkNotification: nestedArrayOfObjectsOptional(
338
+ "GPSLiveTrackShareLinkNotification",
339
+ GPSLiveTrackShareLinkNotificationSchema,
338
340
  []
339
341
  )
340
342
  });
@@ -345,91 +347,67 @@ var GPSLiveTrackShareLinkStatusSchema = z3.object({
345
347
  link_status: enumMandatory("Link Status", LinkStatus, "Active" /* Active */)
346
348
  });
347
349
  var GPSLiveTrackShareLinkQuerySchema = BaseQuerySchema.extend({
348
- organisation_ids: multi_select_optional("User Organisation IDs"),
350
+ organisation_ids: multi_select_optional("UserOrganisation"),
349
351
  // ✅ Multi-selection -> UserOrganisation
350
- vehicle_ids: multi_select_optional("Master Vehicle IDs"),
352
+ vehicle_ids: multi_select_optional("MasterVehicle"),
351
353
  // ✅ Multi-selection -> MasterVehicle
352
- trip_ids: multi_select_optional("Trip IDs"),
353
- // ✅ Multi-selection -> Trip
354
354
  link_type: enumArrayOptional("Link Type", LinkType, getAllEnums(LinkType)),
355
355
  link_status: enumArrayOptional(
356
356
  "Link Status",
357
357
  LinkStatus,
358
358
  getAllEnums(LinkStatus)
359
- )
359
+ ),
360
+ gps_live_track_share_link_ids: multi_select_optional("GPSLiveTrackShareLink")
361
+ // ✅ Multi-selection -> GPSLiveTrackShareLink
360
362
  });
361
363
  var toGPSLiveTrackShareLinkPayload = (data) => ({
362
364
  organisation_id: data.organisation_id,
363
365
  vehicle_id: data.vehicle_id,
364
366
  link_type: data.link_type,
365
- latitude: data.latitude,
366
- longitude: data.longitude,
367
- location: data.location || "",
368
367
  expire_milliseconds: 0,
369
- trip_id: data.trip_id || "",
370
368
  link_status: data.link_status,
371
369
  status: data.status,
372
- notifications: []
370
+ GPSLiveTrackShareLinkNotification: []
373
371
  });
374
372
  var newGPSLiveTrackShareLinkPayload = () => ({
375
373
  organisation_id: "",
376
374
  vehicle_id: "",
377
375
  link_type: "CurrentLocation" /* CurrentLocation */,
378
- latitude: void 0,
379
- longitude: void 0,
380
- location: "",
381
376
  expire_milliseconds: 0,
382
- trip_id: "",
383
377
  link_status: "Active" /* Active */,
384
378
  status: "Active" /* Active */,
385
- notifications: []
379
+ GPSLiveTrackShareLinkNotification: []
386
380
  });
387
- var findGPSLiveTrackShareLinks = async (data) => {
388
- return apiPost(
389
- ENDPOINTS.find,
390
- data
391
- );
381
+ var findGPSLiveTrackShareLink = async (data) => {
382
+ return apiPost(ENDPOINTS.find, data);
392
383
  };
393
384
  var createGPSLiveTrackShareLink = async (data) => {
394
385
  return apiPost(ENDPOINTS.create, data);
395
386
  };
396
- var deleteGPSLiveTrackShareLink = async (id) => {
397
- return apiDelete(ENDPOINTS.delete(id));
398
- };
399
387
  var extendGPSLiveTrackLinkTime = async (id, data) => {
400
- return apiPatch(
401
- ENDPOINTS.extend(id),
402
- data
403
- );
388
+ return apiPatch(ENDPOINTS.extend_live_track_link_time(id), data);
404
389
  };
405
390
  var updateGPSLiveTrackLinkStatus = async (id, data) => {
406
- return apiPatch(
407
- ENDPOINTS.updateLinkStatus(id),
408
- data
409
- );
391
+ return apiPatch(ENDPOINTS.update_live_track_link_status(id), data);
410
392
  };
411
- var updateGPSLiveTrackTripStatus = async (id) => {
412
- return apiPatch(ENDPOINTS.updateTripStatus(id), {});
393
+ var deleteGPSLiveTrackShareLink = async (id) => {
394
+ return apiDelete(ENDPOINTS.delete(id));
413
395
  };
414
- var createGPSLiveTrackNotification = async (data) => {
415
- return apiPost(
416
- ENDPOINTS.createNotification,
417
- data
418
- );
396
+ var createGPSLiveTrackShareLinkNotification = async (data) => {
397
+ return apiPost(ENDPOINTS.create_notification, data);
419
398
  };
420
399
  export {
421
- GPSLiveTrackShareLinkNotificationsSchema,
400
+ GPSLiveTrackShareLinkNotificationSchema,
422
401
  GPSLiveTrackShareLinkQuerySchema,
423
402
  GPSLiveTrackShareLinkSchema,
424
403
  GPSLiveTrackShareLinkStatusSchema,
425
404
  GPSLiveTrackShareLinkTimeSchema,
426
- createGPSLiveTrackNotification,
427
405
  createGPSLiveTrackShareLink,
406
+ createGPSLiveTrackShareLinkNotification,
428
407
  deleteGPSLiveTrackShareLink,
429
408
  extendGPSLiveTrackLinkTime,
430
- findGPSLiveTrackShareLinks,
409
+ findGPSLiveTrackShareLink,
431
410
  newGPSLiveTrackShareLinkPayload,
432
411
  toGPSLiveTrackShareLinkPayload,
433
- updateGPSLiveTrackLinkStatus,
434
- updateGPSLiveTrackTripStatus
412
+ updateGPSLiveTrackLinkStatus
435
413
  };
@@ -1,7 +1,7 @@
1
- import { TrackHistoryLinkStatus, Status, NotificationType, PAGING, LoadParents, LoadChild, LoadChildCount, OrderBy, YesNo } from '../../../core/Enums.js';
1
+ import { TrackHistoryLinkStatus, Status, NotificationChannel, PAGING, LoadParents, LoadChild, LoadChildCount, OrderBy, YesNo } from '../../../core/Enums.js';
2
2
  import { FBR, SBR } from '../../../core/BaseResponse.js';
3
3
  import { z } from 'zod';
4
- import { U as UserOrganisation, M as MasterVehicle } from '../../../user_organisation_service-C-FbPQmd.js';
4
+ import { U as UserOrganisation, M as MasterVehicle } from '../../../user_organisation_service-B5QmuUSK.js';
5
5
  import '../../../zod_utils/zod_base_schema.js';
6
6
  import '../../master/main/master_main_sim_provider_service.js';
7
7
 
@@ -9,7 +9,6 @@ interface GPSTrackHistoryShareLink extends Record<string, unknown> {
9
9
  gps_track_history_share_link_id: string;
10
10
  from_date_time: string;
11
11
  to_date_time: string;
12
- expiry_date_time: string;
13
12
  link_status: TrackHistoryLinkStatus;
14
13
  status: Status;
15
14
  added_date_time: string;
@@ -18,13 +17,19 @@ interface GPSTrackHistoryShareLink extends Record<string, unknown> {
18
17
  UserOrganisation?: UserOrganisation;
19
18
  vehicle_id: string;
20
19
  MasterVehicle?: MasterVehicle;
21
- trip_id?: string;
22
- GPSTrackHistoryShareLinkNotifications?: GPSTrackHistoryShareLinkNotification[];
20
+ vehicle_number?: string;
21
+ vehicle_type?: string;
22
+ GPSTrackHistoryShareLinkNotification?: GPSTrackHistoryShareLinkNotification[];
23
+ _count?: {
24
+ GPSTrackHistoryShareLinkNotification?: number;
25
+ };
23
26
  }
24
27
  interface GPSTrackHistoryShareLinkNotification extends Record<string, unknown> {
25
- gps_track_history_share_link_notifications_id: string;
26
- type: NotificationType;
27
- to_recipients: string;
28
+ gps_track_history_share_link_notification_id: string;
29
+ notification_channels: NotificationChannel[];
30
+ mobile_numbers?: string;
31
+ email_ids?: string;
32
+ cc_email_ids?: string;
28
33
  status: Status;
29
34
  added_date_time: string;
30
35
  modified_date_time: string;
@@ -32,83 +37,100 @@ interface GPSTrackHistoryShareLinkNotification extends Record<string, unknown> {
32
37
  UserOrganisation?: UserOrganisation;
33
38
  gps_track_history_share_link_id: string;
34
39
  GPSTrackHistoryShareLink?: GPSTrackHistoryShareLink;
40
+ _count?: {};
35
41
  }
36
- declare const GPSTrackHistoryShareLinkNotificationsSchema: z.ZodObject<{
42
+ declare const GPSTrackHistoryShareLinkNotificationSchema: z.ZodObject<{
37
43
  organisation_id: z.ZodEffects<z.ZodString, string, string>;
38
44
  gps_track_history_share_link_id: z.ZodEffects<z.ZodString, string, string>;
39
- type: z.ZodType<NotificationType, z.ZodTypeDef, NotificationType>;
40
- to_recipients: z.ZodEffects<z.ZodString, string, string>;
45
+ notification_channels: z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof NotificationChannel>, "many">>;
46
+ mobile_numbers: z.ZodDefault<z.ZodEffects<z.ZodString, string, string>>;
47
+ email_ids: z.ZodDefault<z.ZodEffects<z.ZodString, string, string>>;
48
+ cc_email_ids: z.ZodDefault<z.ZodEffects<z.ZodString, string, string>>;
41
49
  status: z.ZodType<Status, z.ZodTypeDef, Status>;
42
50
  }, "strip", z.ZodTypeAny, {
43
51
  status: Status;
44
52
  organisation_id: string;
45
- type: NotificationType;
46
- to_recipients: string;
53
+ notification_channels: NotificationChannel[];
54
+ mobile_numbers: string;
55
+ email_ids: string;
56
+ cc_email_ids: string;
47
57
  gps_track_history_share_link_id: string;
48
58
  }, {
49
59
  status: Status;
50
60
  organisation_id: string;
51
- type: NotificationType;
52
- to_recipients: string;
53
61
  gps_track_history_share_link_id: string;
62
+ notification_channels?: NotificationChannel[] | undefined;
63
+ mobile_numbers?: string | undefined;
64
+ email_ids?: string | undefined;
65
+ cc_email_ids?: string | undefined;
54
66
  }>;
55
- type GPSTrackHistoryShareLinkNotificationsDTO = z.infer<typeof GPSTrackHistoryShareLinkNotificationsSchema>;
67
+ type GPSTrackHistoryShareLinkNotificationDTO = z.infer<typeof GPSTrackHistoryShareLinkNotificationSchema>;
56
68
  declare const GPSTrackHistoryShareLinkSchema: z.ZodObject<{
57
69
  organisation_id: z.ZodEffects<z.ZodString, string, string>;
58
70
  vehicle_id: z.ZodEffects<z.ZodString, string, string>;
59
- trip_id: z.ZodEffects<z.ZodString, string, string>;
60
71
  from_date_time: z.ZodEffects<z.ZodString, string, string>;
61
72
  to_date_time: z.ZodEffects<z.ZodString, string, string>;
62
73
  link_status: z.ZodType<TrackHistoryLinkStatus, z.ZodTypeDef, TrackHistoryLinkStatus>;
63
74
  status: z.ZodType<Status, z.ZodTypeDef, Status>;
64
- notifications: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
75
+ time_zone_id: z.ZodEffects<z.ZodString, string, string>;
76
+ GPSTrackHistoryShareLinkNotification: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
65
77
  organisation_id: z.ZodEffects<z.ZodString, string, string>;
66
78
  gps_track_history_share_link_id: z.ZodEffects<z.ZodString, string, string>;
67
- type: z.ZodType<NotificationType, z.ZodTypeDef, NotificationType>;
68
- to_recipients: z.ZodEffects<z.ZodString, string, string>;
79
+ notification_channels: z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof NotificationChannel>, "many">>;
80
+ mobile_numbers: z.ZodDefault<z.ZodEffects<z.ZodString, string, string>>;
81
+ email_ids: z.ZodDefault<z.ZodEffects<z.ZodString, string, string>>;
82
+ cc_email_ids: z.ZodDefault<z.ZodEffects<z.ZodString, string, string>>;
69
83
  status: z.ZodType<Status, z.ZodTypeDef, Status>;
70
84
  }, z.UnknownKeysParam, z.ZodTypeAny, {
71
85
  status: Status;
72
86
  organisation_id: string;
73
- type: NotificationType;
74
- to_recipients: string;
87
+ notification_channels: NotificationChannel[];
88
+ mobile_numbers: string;
89
+ email_ids: string;
90
+ cc_email_ids: string;
75
91
  gps_track_history_share_link_id: string;
76
92
  }, {
77
93
  status: Status;
78
94
  organisation_id: string;
79
- type: NotificationType;
80
- to_recipients: string;
81
95
  gps_track_history_share_link_id: string;
96
+ notification_channels?: NotificationChannel[] | undefined;
97
+ mobile_numbers?: string | undefined;
98
+ email_ids?: string | undefined;
99
+ cc_email_ids?: string | undefined;
82
100
  }>, "many">>>;
83
101
  }, "strip", z.ZodTypeAny, {
102
+ link_status: TrackHistoryLinkStatus;
84
103
  status: Status;
85
104
  organisation_id: string;
86
105
  vehicle_id: string;
87
- link_status: TrackHistoryLinkStatus;
88
- trip_id: string;
89
- notifications: {
106
+ time_zone_id: string;
107
+ from_date_time: string;
108
+ to_date_time: string;
109
+ GPSTrackHistoryShareLinkNotification: {
90
110
  status: Status;
91
111
  organisation_id: string;
92
- type: NotificationType;
93
- to_recipients: string;
112
+ notification_channels: NotificationChannel[];
113
+ mobile_numbers: string;
114
+ email_ids: string;
115
+ cc_email_ids: string;
94
116
  gps_track_history_share_link_id: string;
95
117
  }[];
96
- from_date_time: string;
97
- to_date_time: string;
98
118
  }, {
119
+ link_status: TrackHistoryLinkStatus;
99
120
  status: Status;
100
121
  organisation_id: string;
101
122
  vehicle_id: string;
102
- link_status: TrackHistoryLinkStatus;
103
- trip_id: string;
123
+ time_zone_id: string;
104
124
  from_date_time: string;
105
125
  to_date_time: string;
106
- notifications?: {
126
+ GPSTrackHistoryShareLinkNotification?: {
107
127
  status: Status;
108
128
  organisation_id: string;
109
- type: NotificationType;
110
- to_recipients: string;
111
129
  gps_track_history_share_link_id: string;
130
+ notification_channels?: NotificationChannel[] | undefined;
131
+ mobile_numbers?: string | undefined;
132
+ email_ids?: string | undefined;
133
+ cc_email_ids?: string | undefined;
112
134
  }[] | undefined;
113
135
  }>;
114
136
  type GPSTrackHistoryShareLinkDTO = z.infer<typeof GPSTrackHistoryShareLinkSchema>;
@@ -145,11 +167,11 @@ declare const GPSTrackHistoryShareLinkQuerySchema: z.ZodObject<{
145
167
  } & {
146
168
  organisation_ids: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
147
169
  vehicle_ids: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
148
- trip_ids: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
149
170
  link_status: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodNativeEnum<typeof TrackHistoryLinkStatus>, "many">>>;
171
+ gps_track_history_share_link_ids: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
150
172
  }, "strip", z.ZodTypeAny, {
173
+ link_status: TrackHistoryLinkStatus[];
151
174
  status: Status[];
152
- vehicle_ids: string[];
153
175
  search: string;
154
176
  paging: PAGING;
155
177
  page_count: number;
@@ -171,13 +193,13 @@ declare const GPSTrackHistoryShareLinkQuerySchema: z.ZodObject<{
171
193
  date_format_id: string;
172
194
  time_zone_id: string;
173
195
  organisation_ids: string[];
174
- link_status: TrackHistoryLinkStatus[];
175
- trip_ids: string[];
196
+ vehicle_ids: string[];
197
+ gps_track_history_share_link_ids: string[];
176
198
  }, {
177
199
  date_format_id: string;
178
200
  time_zone_id: string;
201
+ link_status?: TrackHistoryLinkStatus[] | undefined;
179
202
  status?: Status[] | undefined;
180
- vehicle_ids?: string[] | undefined;
181
203
  search?: string | undefined;
182
204
  paging?: PAGING | undefined;
183
205
  page_count?: unknown;
@@ -197,16 +219,16 @@ declare const GPSTrackHistoryShareLinkQuerySchema: z.ZodObject<{
197
219
  }[] | undefined;
198
220
  include_master_data?: YesNo | undefined;
199
221
  organisation_ids?: string[] | undefined;
200
- link_status?: TrackHistoryLinkStatus[] | undefined;
201
- trip_ids?: string[] | undefined;
222
+ vehicle_ids?: string[] | undefined;
223
+ gps_track_history_share_link_ids?: string[] | undefined;
202
224
  }>;
203
225
  type GPSTrackHistoryShareLinkQueryDTO = z.infer<typeof GPSTrackHistoryShareLinkQuerySchema>;
204
- declare const toGPSTrackHistoryShareLinkPayload: (link: GPSTrackHistoryShareLink) => GPSTrackHistoryShareLinkDTO;
226
+ declare const toGPSTrackHistoryShareLinkPayload: (data: GPSTrackHistoryShareLink) => GPSTrackHistoryShareLinkDTO;
205
227
  declare const newGPSTrackHistoryShareLinkPayload: () => GPSTrackHistoryShareLinkDTO;
206
- declare const findGPSTrackHistoryShareLinks: (data: GPSTrackHistoryShareLinkQueryDTO) => Promise<FBR<GPSTrackHistoryShareLink[]>>;
228
+ declare const findGPSTrackHistoryShareLink: (data: GPSTrackHistoryShareLinkQueryDTO) => Promise<FBR<GPSTrackHistoryShareLink[]>>;
207
229
  declare const createGPSTrackHistoryShareLink: (data: GPSTrackHistoryShareLinkDTO) => Promise<SBR>;
208
230
  declare const updateGPSTrackHistoryShareLink: (id: string, data: GPSTrackHistoryShareLinkDTO) => Promise<SBR>;
209
231
  declare const deleteGPSTrackHistoryShareLink: (id: string) => Promise<SBR>;
210
- declare const createGPSTrackHistoryNotification: (data: GPSTrackHistoryShareLinkNotificationsDTO) => Promise<SBR>;
232
+ declare const createGPSTrackHistoryShareLinkNotification: (data: GPSTrackHistoryShareLinkNotificationDTO) => Promise<SBR>;
211
233
 
212
- export { type GPSTrackHistoryShareLink, type GPSTrackHistoryShareLinkDTO, type GPSTrackHistoryShareLinkNotification, type GPSTrackHistoryShareLinkNotificationsDTO, GPSTrackHistoryShareLinkNotificationsSchema, type GPSTrackHistoryShareLinkQueryDTO, GPSTrackHistoryShareLinkQuerySchema, GPSTrackHistoryShareLinkSchema, createGPSTrackHistoryNotification, createGPSTrackHistoryShareLink, deleteGPSTrackHistoryShareLink, findGPSTrackHistoryShareLinks, newGPSTrackHistoryShareLinkPayload, toGPSTrackHistoryShareLinkPayload, updateGPSTrackHistoryShareLink };
234
+ export { type GPSTrackHistoryShareLink, type GPSTrackHistoryShareLinkDTO, type GPSTrackHistoryShareLinkNotification, type GPSTrackHistoryShareLinkNotificationDTO, GPSTrackHistoryShareLinkNotificationSchema, type GPSTrackHistoryShareLinkQueryDTO, GPSTrackHistoryShareLinkQuerySchema, GPSTrackHistoryShareLinkSchema, createGPSTrackHistoryShareLink, createGPSTrackHistoryShareLinkNotification, deleteGPSTrackHistoryShareLink, findGPSTrackHistoryShareLink, newGPSTrackHistoryShareLinkPayload, toGPSTrackHistoryShareLinkPayload, updateGPSTrackHistoryShareLink };
@@ -84,9 +84,25 @@ var enumOptional = (fieldName, enumType, defaultValue) => {
84
84
  ).join(", ")}.`
85
85
  }).optional().default(() => defaultValue);
86
86
  };
87
+ var handleNullOrUndefinedEnumArray = (value, defaultValue) => Array.isArray(value) ? value : defaultValue;
87
88
  var getAllEnums = (enumType) => {
88
89
  return Object.values(enumType);
89
90
  };
91
+ var enumArrayMandatory = (fieldName, enumType, defaultValue = getAllEnums(enumType), min = 1, max = 100, unique = false) => {
92
+ const schema = z.array(z.nativeEnum(enumType), {
93
+ invalid_type_error: `${fieldName} must be an array containing only the following values: ${Object.values(
94
+ enumType
95
+ ).join(", ")}.`
96
+ }).min(min, `${fieldName} must contain at least ${min} items.`).max(max, `${fieldName} must contain at most ${max} items.`);
97
+ if (unique) {
98
+ schema.refine(
99
+ (arr) => new Set(arr).size === arr.length,
100
+ `${fieldName} must contain unique values.`
101
+ );
102
+ }
103
+ schema.transform((val) => handleNullOrUndefinedEnumArray(val, []));
104
+ return schema.default(() => defaultValue);
105
+ };
90
106
  var enumArrayOptional = (fieldName, enumType, defaultValue = getAllEnums(enumType), min = 0, max = 100, unique = false) => {
91
107
  const schema = z.array(z.nativeEnum(enumType), {
92
108
  invalid_type_error: `${fieldName} must be an array containing only the following values: ${Object.values(
@@ -194,13 +210,13 @@ var YesNo = /* @__PURE__ */ ((YesNo2) => {
194
210
  YesNo2["No"] = "No";
195
211
  return YesNo2;
196
212
  })(YesNo || {});
197
- var NotificationType = /* @__PURE__ */ ((NotificationType2) => {
198
- NotificationType2["Whatsapp"] = "Whatsapp";
199
- NotificationType2["Message"] = "Message";
200
- NotificationType2["Email"] = "Email";
201
- NotificationType2["Push"] = "Push";
202
- return NotificationType2;
203
- })(NotificationType || {});
213
+ var NotificationChannel = /* @__PURE__ */ ((NotificationChannel2) => {
214
+ NotificationChannel2["Push"] = "Push";
215
+ NotificationChannel2["WhatsApp"] = "WhatsApp";
216
+ NotificationChannel2["SMS"] = "SMS";
217
+ NotificationChannel2["Email"] = "Email";
218
+ return NotificationChannel2;
219
+ })(NotificationChannel || {});
204
220
  var TrackHistoryLinkStatus = /* @__PURE__ */ ((TrackHistoryLinkStatus2) => {
205
221
  TrackHistoryLinkStatus2["Active"] = "Active";
206
222
  TrackHistoryLinkStatus2["Inactive"] = "Inactive";
@@ -270,24 +286,30 @@ var MongoBaseQuerySchema = z2.object({
270
286
  var URL = "gps/features/gps_track_history_share_link";
271
287
  var ENDPOINTS = {
272
288
  find: `${URL}/search`,
289
+ create_notification: `${URL}/create_notification`,
273
290
  create: URL,
274
291
  update: (id) => `${URL}/${id}`,
275
- delete: (id) => `${URL}/${id}`,
276
- createNotification: `${URL}/create_notifications`
292
+ delete: (id) => `${URL}/${id}`
277
293
  };
278
- var GPSTrackHistoryShareLinkNotificationsSchema = z3.object({
279
- organisation_id: single_select_optional("Organisation ID"),
294
+ var GPSTrackHistoryShareLinkNotificationSchema = z3.object({
295
+ organisation_id: single_select_optional("UserOrganisation"),
296
+ // ✅ Single-Selection -> UserOrganisation
280
297
  gps_track_history_share_link_id: single_select_optional(
281
- "GPS Track History Share Link ID"
298
+ "GPSTrackHistoryShareLink"
282
299
  ),
283
- type: enumMandatory("Type", NotificationType, "Email" /* Email */),
284
- to_recipients: stringMandatory("To Recipients", 3, 500),
300
+ notification_channels: enumArrayMandatory(
301
+ "Notification Channels",
302
+ NotificationChannel,
303
+ getAllEnums(NotificationChannel)
304
+ ),
305
+ mobile_numbers: stringOptional("Mobile Numbers", 0, 300),
306
+ email_ids: stringOptional("Email IDs", 0, 300),
307
+ cc_email_ids: stringOptional("CC email IDs", 0, 300),
285
308
  status: enumMandatory("Status", Status, "Active" /* Active */)
286
309
  });
287
310
  var GPSTrackHistoryShareLinkSchema = z3.object({
288
- organisation_id: single_select_mandatory("Organisation ID"),
289
- vehicle_id: single_select_mandatory("MasterVehicle ID"),
290
- trip_id: single_select_optional("Trip ID"),
311
+ organisation_id: single_select_mandatory("UserOrganisation"),
312
+ vehicle_id: single_select_mandatory("MasterVehicle"),
291
313
  from_date_time: stringMandatory("From Date Time"),
292
314
  to_date_time: stringMandatory("To Date Time"),
293
315
  link_status: enumMandatory(
@@ -296,46 +318,51 @@ var GPSTrackHistoryShareLinkSchema = z3.object({
296
318
  "Active" /* Active */
297
319
  ),
298
320
  status: enumMandatory("Status", Status, "Active" /* Active */),
299
- notifications: nestedArrayOfObjectsOptional(
300
- "Notifications",
301
- GPSTrackHistoryShareLinkNotificationsSchema,
321
+ time_zone_id: single_select_mandatory("MasterMainTimeZone"),
322
+ GPSTrackHistoryShareLinkNotification: nestedArrayOfObjectsOptional(
323
+ "GPSTrackHistoryShareLinkNotification",
324
+ GPSTrackHistoryShareLinkNotificationSchema,
302
325
  []
303
326
  )
304
327
  });
305
328
  var GPSTrackHistoryShareLinkQuerySchema = BaseQuerySchema.extend({
306
- organisation_ids: multi_select_optional("User Organisation IDs"),
329
+ organisation_ids: multi_select_optional("UserOrganisation"),
307
330
  // ✅ Multi-selection -> UserOrganisation
308
- vehicle_ids: multi_select_optional("MasterVehicle IDs"),
331
+ vehicle_ids: multi_select_optional("MasterVehicle"),
309
332
  // ✅ Multi-selection -> MasterVehicle
310
- trip_ids: multi_select_optional("Trip IDs"),
311
- // ✅ Multi-selection -> Trip
312
333
  link_status: enumArrayOptional(
313
334
  "Track History Link Status",
314
335
  TrackHistoryLinkStatus,
315
336
  getAllEnums(TrackHistoryLinkStatus)
337
+ ),
338
+ gps_track_history_share_link_ids: multi_select_optional(
339
+ "GPSTrackHistoryShareLink"
316
340
  )
341
+ // ✅ Multi-selection -> GPSTrackHistoryShareLink
317
342
  });
318
- var toGPSTrackHistoryShareLinkPayload = (link) => ({
319
- organisation_id: link.organisation_id,
320
- vehicle_id: link.vehicle_id,
321
- trip_id: link.trip_id ?? "",
322
- from_date_time: link.from_date_time,
323
- to_date_time: link.to_date_time,
324
- link_status: link.link_status,
325
- status: link.status,
326
- notifications: []
343
+ var toGPSTrackHistoryShareLinkPayload = (data) => ({
344
+ organisation_id: data.organisation_id,
345
+ vehicle_id: data.vehicle_id,
346
+ from_date_time: data.from_date_time,
347
+ to_date_time: data.to_date_time,
348
+ link_status: data.link_status,
349
+ status: data.status,
350
+ GPSTrackHistoryShareLinkNotification: [],
351
+ time_zone_id: ""
352
+ // Needs to be provided manually
327
353
  });
328
354
  var newGPSTrackHistoryShareLinkPayload = () => ({
329
355
  organisation_id: "",
330
356
  vehicle_id: "",
331
- trip_id: "",
332
357
  from_date_time: "",
333
358
  to_date_time: "",
334
359
  link_status: "Active" /* Active */,
335
360
  status: "Active" /* Active */,
336
- notifications: []
361
+ GPSTrackHistoryShareLinkNotification: [],
362
+ time_zone_id: ""
363
+ // Needs to be provided manually
337
364
  });
338
- var findGPSTrackHistoryShareLinks = async (data) => {
365
+ var findGPSTrackHistoryShareLink = async (data) => {
339
366
  return apiPost(ENDPOINTS.find, data);
340
367
  };
341
368
  var createGPSTrackHistoryShareLink = async (data) => {
@@ -347,20 +374,17 @@ var updateGPSTrackHistoryShareLink = async (id, data) => {
347
374
  var deleteGPSTrackHistoryShareLink = async (id) => {
348
375
  return apiDelete(ENDPOINTS.delete(id));
349
376
  };
350
- var createGPSTrackHistoryNotification = async (data) => {
351
- return apiPost(
352
- ENDPOINTS.createNotification,
353
- data
354
- );
377
+ var createGPSTrackHistoryShareLinkNotification = async (data) => {
378
+ return apiPost(ENDPOINTS.create_notification, data);
355
379
  };
356
380
  export {
357
- GPSTrackHistoryShareLinkNotificationsSchema,
381
+ GPSTrackHistoryShareLinkNotificationSchema,
358
382
  GPSTrackHistoryShareLinkQuerySchema,
359
383
  GPSTrackHistoryShareLinkSchema,
360
- createGPSTrackHistoryNotification,
361
384
  createGPSTrackHistoryShareLink,
385
+ createGPSTrackHistoryShareLinkNotification,
362
386
  deleteGPSTrackHistoryShareLink,
363
- findGPSTrackHistoryShareLinks,
387
+ findGPSTrackHistoryShareLink,
364
388
  newGPSTrackHistoryShareLinkPayload,
365
389
  toGPSTrackHistoryShareLinkPayload,
366
390
  updateGPSTrackHistoryShareLink