@updraft-solutions/mcrit-sdk 0.1.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 (79) hide show
  1. package/README.md +240 -0
  2. package/dist/chunk-2DRKSYW4.cjs +99 -0
  3. package/dist/chunk-2M32EOYI.js +145 -0
  4. package/dist/chunk-AN55SAGU.js +1189 -0
  5. package/dist/chunk-D5DUVW34.js +176 -0
  6. package/dist/chunk-HQSF3WGF.cjs +14 -0
  7. package/dist/chunk-JGIAOBZI.js +99 -0
  8. package/dist/chunk-JRVRIKNM.cjs +168 -0
  9. package/dist/chunk-LVTDNDWE.cjs +124 -0
  10. package/dist/chunk-LXNCAKJZ.js +0 -0
  11. package/dist/chunk-MF7G76QS.cjs +176 -0
  12. package/dist/chunk-MI4YBENQ.cjs +145 -0
  13. package/dist/chunk-MOOGM3DW.cjs +1 -0
  14. package/dist/chunk-NQV2D3FJ.js +14 -0
  15. package/dist/chunk-TJXWL42D.js +124 -0
  16. package/dist/chunk-VYT5KQWF.js +168 -0
  17. package/dist/chunk-XKZQ5W7E.cjs +1189 -0
  18. package/dist/courses/index.cjs +7 -0
  19. package/dist/courses/index.d.cts +58 -0
  20. package/dist/courses/index.d.ts +58 -0
  21. package/dist/courses/index.js +7 -0
  22. package/dist/crew/index.cjs +10 -0
  23. package/dist/crew/index.d.cts +102 -0
  24. package/dist/crew/index.d.ts +102 -0
  25. package/dist/crew/index.js +10 -0
  26. package/dist/crew/vue.cjs +34 -0
  27. package/dist/crew/vue.d.cts +31 -0
  28. package/dist/crew/vue.d.ts +31 -0
  29. package/dist/crew/vue.js +34 -0
  30. package/dist/format/index.cjs +44 -0
  31. package/dist/format/index.d.cts +69 -0
  32. package/dist/format/index.d.ts +69 -0
  33. package/dist/format/index.js +44 -0
  34. package/dist/index.cjs +261 -0
  35. package/dist/index.d.cts +11 -0
  36. package/dist/index.d.ts +11 -0
  37. package/dist/index.js +261 -0
  38. package/dist/media/index.cjs +30 -0
  39. package/dist/media/index.d.cts +89 -0
  40. package/dist/media/index.d.ts +89 -0
  41. package/dist/media/index.js +30 -0
  42. package/dist/models-CY3MmvCg.d.cts +33801 -0
  43. package/dist/models-CY3MmvCg.d.ts +33801 -0
  44. package/dist/money/index.cjs +18 -0
  45. package/dist/money/index.d.cts +66 -0
  46. package/dist/money/index.d.ts +66 -0
  47. package/dist/money/index.js +18 -0
  48. package/dist/pagination/index.cjs +6 -0
  49. package/dist/pagination/index.d.cts +16 -0
  50. package/dist/pagination/index.d.ts +16 -0
  51. package/dist/pagination/index.js +6 -0
  52. package/dist/schemas/index.cjs +158 -0
  53. package/dist/schemas/index.d.cts +1019 -0
  54. package/dist/schemas/index.d.ts +1019 -0
  55. package/dist/schemas/index.js +158 -0
  56. package/dist/types/index.cjs +1 -0
  57. package/dist/types/index.d.cts +143 -0
  58. package/dist/types/index.d.ts +143 -0
  59. package/dist/types/index.js +1 -0
  60. package/package.json +171 -0
  61. package/src/courses/index.ts +202 -0
  62. package/src/crew/index.ts +255 -0
  63. package/src/crew/vue.ts +70 -0
  64. package/src/format/index.ts +265 -0
  65. package/src/index.ts +76 -0
  66. package/src/media/index.ts +224 -0
  67. package/src/money/index.ts +168 -0
  68. package/src/pagination/index.ts +27 -0
  69. package/src/schemas/common.ts +73 -0
  70. package/src/schemas/faq.ts +94 -0
  71. package/src/schemas/fee.ts +37 -0
  72. package/src/schemas/index.ts +6 -0
  73. package/src/schemas/models.ts +996 -0
  74. package/src/schemas/report.ts +306 -0
  75. package/src/schemas/safety-report.ts +163 -0
  76. package/src/types/api.ts +37 -0
  77. package/src/types/compliance.ts +44 -0
  78. package/src/types/index.ts +3 -0
  79. package/src/types/models.ts +124 -0
@@ -0,0 +1,1189 @@
1
+ // src/schemas/common.ts
2
+ import { z } from "zod";
3
+ var zNullableBool = z.boolean().nullable().optional();
4
+ var zNetGross = z.enum(["net", "gross"]).optional();
5
+ var zContactDTO = z.object({
6
+ name: z.string().optional(),
7
+ email: z.string().email().optional(),
8
+ phone: z.string().optional()
9
+ });
10
+ var zPhpMoneyObject = z.object({
11
+ amount: z.number(),
12
+ currency: z.string(),
13
+ formatted: z.string()
14
+ });
15
+ var contactAttributeSchema = z.object({
16
+ name: z.string().optional(),
17
+ email: z.string().optional(),
18
+ phone: z.string().optional(),
19
+ company: z.string().optional(),
20
+ fax: z.string().optional()
21
+ });
22
+ var BaseModel = z.object({
23
+ type: z.string(),
24
+ id: z.number(),
25
+ created_at: z.string(),
26
+ updated_at: z.string()
27
+ });
28
+ var mediaSchema = z.object({
29
+ type: z.literal("media"),
30
+ id: z.number(),
31
+ description: z.string().optional(),
32
+ collection_name: z.string().optional(),
33
+ conversions: z.record(z.string().url()).optional(),
34
+ created_at: z.string().optional(),
35
+ updated_at: z.string().optional(),
36
+ url: z.string().optional(),
37
+ mime_type: z.string().optional(),
38
+ file_name: z.string().optional(),
39
+ size: z.number().optional()
40
+ });
41
+ var mediaCollection = z.object({
42
+ avatar: mediaSchema.nullable().optional(),
43
+ header: mediaSchema.nullable().optional(),
44
+ images: z.array(mediaSchema).nullable().optional(),
45
+ documents: z.array(mediaSchema).nullable().optional()
46
+ }).nullable().optional();
47
+ var userSchema = z.object({
48
+ type: z.literal("user"),
49
+ id: z.number(),
50
+ name: z.string(),
51
+ email: z.string().optional(),
52
+ mobile: z.string().optional()
53
+ });
54
+ var companySchema = z.object({
55
+ type: z.literal("company"),
56
+ id: z.number(),
57
+ name: z.string(),
58
+ media: mediaCollection
59
+ });
60
+
61
+ // src/schemas/models.ts
62
+ import { z as z2 } from "zod";
63
+ var baseMembershipSchema = z2.object({
64
+ type: z2.literal("membership"),
65
+ id: z2.number(),
66
+ user_id: z2.number(),
67
+ user: userSchema.optional(),
68
+ company_id: z2.number(),
69
+ company: companySchema.nullable().optional(),
70
+ name: z2.string(),
71
+ status: z2.string(),
72
+ instructor: z2.boolean(),
73
+ admin: z2.boolean(),
74
+ accountant: z2.boolean(),
75
+ student: z2.boolean(),
76
+ created_at: z2.string(),
77
+ updated_at: z2.string(),
78
+ can: z2.object({
79
+ update: zNullableBool,
80
+ deactivate: zNullableBool,
81
+ activate: zNullableBool,
82
+ delete: zNullableBool
83
+ }).optional()
84
+ });
85
+ var membershipSchema = baseMembershipSchema.extend({
86
+ remarks: z2.string().nullable().optional(),
87
+ confirmed_at: z2.string().nullable(),
88
+ created_at: z2.string(),
89
+ updated_at: z2.string()
90
+ });
91
+ var documentType = z2.object({
92
+ label: z2.string(),
93
+ description: z2.string(),
94
+ documentTypeClass: z2.string(),
95
+ requiresFile: z2.boolean().optional(),
96
+ fieldDefinitions: z2.object({
97
+ base: z2.record(z2.any()).optional(),
98
+ data: z2.record(z2.any()).optional()
99
+ }).optional(),
100
+ validationRules: z2.record(z2.any()).optional()
101
+ });
102
+ var priceSchema = z2.object({
103
+ id: z2.number(),
104
+ gross_total: zPhpMoneyObject,
105
+ net_total: zPhpMoneyObject,
106
+ tax_percentage: z2.number(),
107
+ valid_from: z2.string(),
108
+ created_at: z2.string(),
109
+ updated_at: z2.string(),
110
+ input_value: z2.number().optional(),
111
+ net_gross: zNetGross
112
+ });
113
+ var feeSchema = BaseModel.extend({
114
+ type: z2.literal("fee"),
115
+ id: z2.number(),
116
+ price: priceSchema.optional(),
117
+ prices: z2.array(priceSchema).optional(),
118
+ provider: z2.string().optional(),
119
+ company_id: z2.number().optional(),
120
+ company: companySchema.optional(),
121
+ ident: z2.string().optional(),
122
+ category: z2.string().optional(),
123
+ subcategory: z2.string().optional(),
124
+ title: z2.string().optional(),
125
+ relation: z2.array(z2.enum(["booking", "flightLog", "invoice", "instructor"])).optional(),
126
+ payment_per: z2.string().optional(),
127
+ can: z2.object({
128
+ update: zNullableBool,
129
+ delete: zNullableBool
130
+ }).optional(),
131
+ course_count: z2.number().optional(),
132
+ count: z2.number().optional(),
133
+ variant: z2.string().optional(),
134
+ is_optional: z2.boolean().optional(),
135
+ input_value: z2.number().optional(),
136
+ net_gross: zNetGross,
137
+ tax_percentage: z2.string().optional(),
138
+ valid_from: z2.string()
139
+ });
140
+ var courseFeeSchema = feeSchema.extend({
141
+ count: z2.number().optional(),
142
+ variant: z2.string().optional(),
143
+ is_optional: z2.boolean().optional()
144
+ });
145
+ var airplaneSchema = BaseModel.extend({
146
+ type: z2.literal("airplane"),
147
+ id: z2.number(),
148
+ company_id: z2.number(),
149
+ registration: z2.string(),
150
+ model: z2.string(),
151
+ media: z2.object({
152
+ avatar: mediaSchema.nullable().optional(),
153
+ header: mediaSchema.nullable().optional(),
154
+ images: z2.array(mediaSchema).nullable().optional(),
155
+ documents: z2.array(mediaSchema).nullable().optional()
156
+ }).nullable().optional().optional(),
157
+ fee: feeSchema.optional(),
158
+ booking_fee: feeSchema.optional(),
159
+ hasFavorited: z2.boolean().optional(),
160
+ homebase_id: z2.number().nullable().optional(),
161
+ description: z2.string().optional(),
162
+ capacity: z2.number().optional(),
163
+ manufacturer: z2.string().optional(),
164
+ year_of_construction: z2.string().optional(),
165
+ span: z2.string().optional(),
166
+ height: z2.string().optional(),
167
+ length: z2.string().optional(),
168
+ ato: z2.boolean().optional(),
169
+ restricted_access: z2.boolean().optional(),
170
+ can: z2.object({
171
+ view: zNullableBool,
172
+ update: zNullableBool,
173
+ viewMaintenanceEvents: zNullableBool,
174
+ createMaintenanceEvents: zNullableBool,
175
+ createBooking: zNullableBool,
176
+ manageAirplanePermissions: zNullableBool
177
+ })
178
+ });
179
+ var airplanePermissionSchema = z2.object({
180
+ type: z2.literal("airplane_permission"),
181
+ id: z2.number(),
182
+ airplane_id: z2.number(),
183
+ airplane: airplaneSchema.optional(),
184
+ membership_id: z2.number(),
185
+ membership: baseMembershipSchema.optional(),
186
+ notes: z2.string().nullable().optional(),
187
+ conditions: z2.string().nullable().optional(),
188
+ expires_at: z2.string().nullable().optional(),
189
+ is_active: z2.boolean(),
190
+ granted_by: userSchema.nullable().optional(),
191
+ granted_at: z2.string(),
192
+ created_at: z2.string(),
193
+ updated_at: z2.string(),
194
+ can: z2.object({
195
+ view: zNullableBool,
196
+ update: zNullableBool,
197
+ delete: zNullableBool
198
+ }).optional()
199
+ });
200
+ var landingFeeSchema = z2.object({
201
+ id: z2.number(),
202
+ airplane_id: z2.number(),
203
+ price: priceSchema.optional()
204
+ });
205
+ var aircraftRatingSchema = z2.object({
206
+ id: z2.number(),
207
+ manufacturer: z2.string(),
208
+ aircraft_model: z2.string(),
209
+ licence_endorsement: z2.string(),
210
+ is_complex: z2.boolean(),
211
+ is_single_pilot: z2.boolean(),
212
+ is_high_performance: z2.boolean(),
213
+ is_multi_pilot: z2.boolean(),
214
+ remarks: z2.string().optional()
215
+ });
216
+ var userAircraftRatingSchema = z2.object({
217
+ id: z2.number(),
218
+ user_id: z2.number(),
219
+ aircraft_rating_id: z2.number(),
220
+ aircraftRating: aircraftRatingSchema,
221
+ reminder_enabled: z2.boolean(),
222
+ reminder_days: z2.number(),
223
+ expires_at: z2.string(),
224
+ created_at: z2.string(),
225
+ updated_at: z2.string()
226
+ });
227
+ var userQualificationSchema = z2.object({
228
+ id: z2.number(),
229
+ user_id: z2.number(),
230
+ title: z2.string(),
231
+ reminder_enabled: z2.boolean(),
232
+ reminder_days: z2.number(),
233
+ expires_at: z2.string(),
234
+ created_at: z2.string(),
235
+ updated_at: z2.string()
236
+ });
237
+ var airportSchema = z2.object({
238
+ type: z2.literal("airport"),
239
+ id: z2.number(),
240
+ ident: z2.string(),
241
+ name: z2.string(),
242
+ country: z2.string()
243
+ });
244
+ var recurringFlightSchema = z2.object({
245
+ id: z2.number(),
246
+ departure_airport_id: z2.number(),
247
+ departure_airport: airportSchema.optional(),
248
+ destination_airport_id: z2.number(),
249
+ destination_airport: airportSchema.optional(),
250
+ dep_time: z2.string(),
251
+ arr_time: z2.string()
252
+ });
253
+ var maintenanceEventSchema = z2.object({
254
+ type: z2.literal("maintenanceEvent"),
255
+ id: z2.number(),
256
+ airplane_id: z2.number(),
257
+ company_id: z2.number(),
258
+ description: z2.string().nullable(),
259
+ remarks: z2.string().nullable(),
260
+ scheduled_at: z2.string().nullable(),
261
+ completed_at: z2.string().nullable(),
262
+ created_at: z2.string(),
263
+ updated_at: z2.string(),
264
+ elapsed_time: z2.number().nullable(),
265
+ remaining_time: z2.number().nullable(),
266
+ can: z2.object({
267
+ update: zNullableBool
268
+ }).optional()
269
+ });
270
+ var maintenanceEventEstimationSchema = z2.object({
271
+ estimated_at: z2.string().nullable().optional(),
272
+ actual_at: z2.string().nullable().optional()
273
+ });
274
+ var maintenanceStatusSchema = z2.object({
275
+ intervalSetting: z2.number().optional(),
276
+ lastMaintenanceEvent: maintenanceEventSchema.nullable().optional(),
277
+ nextMaintenanceEventEstimation: maintenanceEventEstimationSchema.nullable().optional()
278
+ });
279
+ var extendedAirplaneSchema = airplaneSchema.extend({
280
+ manufacturer: z2.string().optional(),
281
+ capacity: z2.number().optional(),
282
+ description: z2.string().optional(),
283
+ homebase_id: z2.number().optional(),
284
+ ato: z2.boolean().optional(),
285
+ year_of_construction: z2.string().optional(),
286
+ span: z2.string().optional(),
287
+ height: z2.string().optional(),
288
+ length: z2.string().optional(),
289
+ empty_weight: z2.string().optional(),
290
+ max_takeoff_mass: z2.string().optional(),
291
+ max_speed: z2.string().optional(),
292
+ max_range: z2.string().optional(),
293
+ power: z2.string().optional(),
294
+ fuel_type: z2.string().optional(),
295
+ oil_min: z2.string().optional(),
296
+ oil_max: z2.string().optional(),
297
+ oil_type_winter: z2.string().optional(),
298
+ oil_type_summer: z2.string().optional(),
299
+ minimumCrewCount: z2.number().optional(),
300
+ VFR: z2.boolean().optional(),
301
+ VFRNight: z2.boolean().optional(),
302
+ IFR: z2.boolean().optional(),
303
+ IFRKnownIcing: z2.boolean().optional(),
304
+ equipment: z2.array(z2.any()).optional(),
305
+ contact: contactAttributeSchema.optional(),
306
+ hints: z2.object({
307
+ booking: z2.object({
308
+ ifr: z2.string().optional()
309
+ }).optional()
310
+ }).optional(),
311
+ has_pre_paid_package: z2.boolean().optional(),
312
+ fee_id: z2.number().optional(),
313
+ booking_fee_id: z2.number().optional(),
314
+ logging_required_from: z2.string().optional(),
315
+ foreflight_profile_url: z2.string().optional(),
316
+ media: z2.object({
317
+ avatar: z2.any().optional(),
318
+ header: z2.any().optional(),
319
+ images: z2.array(z2.any()).optional(),
320
+ documents: z2.array(z2.any()).optional()
321
+ }).optional(),
322
+ can: z2.object({
323
+ update: zNullableBool,
324
+ viewMaintenanceEvents: zNullableBool
325
+ }).optional()
326
+ });
327
+ var availSchema = z2.object({
328
+ type: z2.literal("avail"),
329
+ id: z2.number(),
330
+ airplane_id: z2.number(),
331
+ title: z2.string(),
332
+ etdZ: z2.string(),
333
+ etaZ: z2.string(),
334
+ can: z2.object({
335
+ update: zNullableBool
336
+ }).optional()
337
+ });
338
+ var bookingSchema = BaseModel.extend({
339
+ type: z2.literal("booking"),
340
+ ifr: z2.boolean().default(false),
341
+ airplane_id: z2.number(),
342
+ author: userSchema.optional(),
343
+ attendants: z2.array(userSchema).optional(),
344
+ company_id: z2.number(),
345
+ company: companySchema.optional(),
346
+ airplane: airplaneSchema.optional(),
347
+ attendant_ids: z2.array(z2.number()).optional(),
348
+ etdZ: z2.string(),
349
+ etaZ: z2.string(),
350
+ duration_minutes: z2.number().optional(),
351
+ departure_airport_id: z2.number().optional(),
352
+ destination_airport_id: z2.number().optional(),
353
+ departure_airport: airportSchema.optional(),
354
+ destination_airport: airportSchema.optional(),
355
+ next_booking_id: z2.number().nullable().optional(),
356
+ previous_booking_id: z2.number().nullable().optional(),
357
+ maintenance: z2.number().optional(),
358
+ contact: zContactDTO.optional(),
359
+ remarks: z2.string().optional(),
360
+ can: z2.object({
361
+ update: zNullableBool
362
+ }).optional()
363
+ });
364
+ var alertSchema = z2.object({
365
+ id: z2.number(),
366
+ start_time: z2.string(),
367
+ finish_time: z2.string(),
368
+ can: z2.object({
369
+ update: zNullableBool
370
+ }).optional()
371
+ });
372
+ var documentSchema = z2.object({
373
+ type: z2.literal("document"),
374
+ id: z2.number(),
375
+ documentable_type: z2.string(),
376
+ documentable_id: z2.number(),
377
+ document_type_class: z2.string(),
378
+ document_type: documentType.optional(),
379
+ title: z2.string().nullable().optional(),
380
+ description: z2.string().nullable().optional(),
381
+ expires_at: z2.string().nullable().optional(),
382
+ is_notifiable: z2.boolean().default(true),
383
+ notification_days: z2.number().nullable().optional(),
384
+ data: z2.record(z2.any()).nullable().optional(),
385
+ created_by: z2.number().nullable().optional(),
386
+ updated_by: z2.number().nullable().optional(),
387
+ created_at: z2.string(),
388
+ updated_at: z2.string(),
389
+ media: z2.array(mediaSchema).optional(),
390
+ can: z2.object({
391
+ update: zNullableBool,
392
+ delete: zNullableBool,
393
+ share: zNullableBool
394
+ }).optional()
395
+ });
396
+ var documentRequirement = z2.object({
397
+ id: z2.number(),
398
+ document_requirement_group_id: z2.number(),
399
+ document_type_class: z2.string(),
400
+ document_type: documentType.optional(),
401
+ logical_group: z2.string().nullable().optional(),
402
+ group_operator: z2.enum(["AND", "OR"]).nullable().optional(),
403
+ metadata: z2.object({
404
+ min_validity_days: z2.number().optional(),
405
+ max_validity_days: z2.number().optional(),
406
+ required_fields: z2.array(z2.string()).optional()
407
+ }).nullable().optional(),
408
+ created_by: z2.number().nullable().optional(),
409
+ updated_by: z2.number().nullable().optional(),
410
+ created_at: z2.string(),
411
+ updated_at: z2.string()
412
+ });
413
+ var documentRequirementGroup = z2.object({
414
+ id: z2.number(),
415
+ name: z2.string(),
416
+ description: z2.string().nullable().optional(),
417
+ target_model_type: z2.string(),
418
+ company_id: z2.number().nullable().optional(),
419
+ is_default_template: z2.boolean().default(false),
420
+ is_active: z2.boolean().default(true),
421
+ requirements: z2.array(documentRequirement).optional(),
422
+ documentRequirements: z2.array(documentRequirement).optional(),
423
+ group_operator: z2.enum(["AND", "OR"]).default("AND"),
424
+ requirements_count: z2.number().optional(),
425
+ assignments_count: z2.number().optional(),
426
+ created_by: z2.number().nullable().optional(),
427
+ updated_by: z2.number().nullable().optional(),
428
+ created_at: z2.string(),
429
+ updated_at: z2.string(),
430
+ can: z2.object({
431
+ update: zNullableBool,
432
+ delete: zNullableBool,
433
+ assign: zNullableBool
434
+ }).optional()
435
+ });
436
+ var documentRequirementGroupAssignment = z2.object({
437
+ id: z2.number(),
438
+ assignable_type: z2.string(),
439
+ assignable_id: z2.number(),
440
+ document_requirement_group_id: z2.number(),
441
+ requirement_group: documentRequirementGroup.optional(),
442
+ requirementGroup: documentRequirementGroup.optional(),
443
+ created_at: z2.string(),
444
+ updated_at: z2.string()
445
+ });
446
+ var documentComplianceStatus = z2.object({
447
+ overall_compliant: z2.boolean(),
448
+ missing_documents: z2.array(
449
+ z2.object({
450
+ requirement_id: z2.number(),
451
+ document_type_class: z2.string(),
452
+ document_type: documentType.optional(),
453
+ reason: z2.string()
454
+ })
455
+ ).optional(),
456
+ expired_documents: z2.array(
457
+ z2.object({
458
+ document_id: z2.number(),
459
+ document_type_class: z2.string(),
460
+ document_type: documentType.optional(),
461
+ expired_at: z2.string()
462
+ })
463
+ ).optional(),
464
+ expiring_soon_documents: z2.array(
465
+ z2.object({
466
+ document_id: z2.number(),
467
+ document_type_class: z2.string(),
468
+ document_type: documentType.optional(),
469
+ expires_at: z2.string(),
470
+ days_until_expiry: z2.number()
471
+ })
472
+ ).optional(),
473
+ group_compliance_status: z2.array(
474
+ z2.object({
475
+ group_id: z2.number(),
476
+ group_name: z2.string(),
477
+ is_compliant: z2.boolean(),
478
+ missing_requirements: z2.array(z2.string()).optional()
479
+ })
480
+ ).optional()
481
+ });
482
+ var documentShareSchema = z2.object({
483
+ id: z2.number(),
484
+ document_id: z2.number(),
485
+ document: documentSchema.optional(),
486
+ shared_by: z2.number(),
487
+ sharer: userSchema.optional(),
488
+ shared_with_type: z2.string(),
489
+ shared_with_id: z2.number(),
490
+ can_download: z2.boolean().default(true),
491
+ can_delete: z2.boolean().default(false),
492
+ expires_at: z2.string().nullable().optional(),
493
+ accessed_at: z2.string().nullable().optional(),
494
+ access_count: z2.number().default(0),
495
+ created_at: z2.string(),
496
+ updated_at: z2.string()
497
+ });
498
+ var allowedDocumentTypeSchema = z2.object({
499
+ label: z2.string(),
500
+ description: z2.string(),
501
+ documentTypeClass: z2.string(),
502
+ requiresFile: z2.boolean(),
503
+ category: z2.string().optional(),
504
+ fieldDefinitions: z2.object({
505
+ base: z2.record(
506
+ z2.object({
507
+ type: z2.string(),
508
+ label: z2.string(),
509
+ required: z2.boolean().optional(),
510
+ rules: z2.array(z2.any()).optional(),
511
+ options: z2.array(z2.any()).optional(),
512
+ hint: z2.string().optional()
513
+ })
514
+ ).optional(),
515
+ data: z2.record(
516
+ z2.object({
517
+ type: z2.string(),
518
+ label: z2.string(),
519
+ required: z2.boolean().optional(),
520
+ rules: z2.array(z2.any()).optional(),
521
+ options: z2.array(z2.any()).optional(),
522
+ hint: z2.string().optional()
523
+ })
524
+ ).optional()
525
+ }).optional()
526
+ });
527
+ var flightLogSchema = z2.object({
528
+ type: z2.literal("flightLog"),
529
+ id: z2.number(),
530
+ airplane_id: z2.number(),
531
+ airplane: airplaneSchema.optional(),
532
+ ac_type: z2.string().nullable().optional(),
533
+ ac_reg: z2.string().nullable().optional(),
534
+ ac_call: z2.string().nullable().optional(),
535
+ booking_id: z2.number().nullable().optional(),
536
+ membership_id: z2.number().nullable().optional(),
537
+ membership: baseMembershipSchema.optional(),
538
+ author_id: z2.number(),
539
+ author: userSchema.optional(),
540
+ invoice_id: z2.number().nullable().optional(),
541
+ special_flight_id: z2.number().nullable().optional(),
542
+ etdZ: z2.string(),
543
+ etaZ: z2.string(),
544
+ duration_minutes: z2.number(),
545
+ crew: z2.array(z2.any()).nullable().optional(),
546
+ attendants: z2.array(z2.any()).nullable().optional(),
547
+ total_landings: z2.number().nullable().optional(),
548
+ full_stop_landings: z2.number().nullable().optional(),
549
+ touch_and_gos: z2.number().default(0),
550
+ flight_rule: z2.string().nullable().optional(),
551
+ flight_time_type: z2.string().nullable().optional(),
552
+ dep_airport_id: z2.number().nullable().optional(),
553
+ dep_airport: airportSchema.optional(),
554
+ arr_airport_id: z2.number().nullable().optional(),
555
+ arr_airport: airportSchema.optional(),
556
+ from: z2.string().nullable().optional(),
557
+ to: z2.string().nullable().optional(),
558
+ costs: zPhpMoneyObject.nullable().optional(),
559
+ charge: zPhpMoneyObject.nullable().optional(),
560
+ remarks: z2.string().nullable().optional(),
561
+ created_at: z2.string(),
562
+ updated_at: z2.string(),
563
+ can: z2.object({
564
+ update: zNullableBool,
565
+ delete: zNullableBool
566
+ }).optional()
567
+ });
568
+ var invoiceSchema = z2.object({
569
+ type: z2.literal("invoice"),
570
+ id: z2.number(),
571
+ title: z2.string(),
572
+ membership_id: z2.number(),
573
+ membership: baseMembershipSchema.optional(),
574
+ company_id: z2.number().optional(),
575
+ company: companySchema.optional(),
576
+ sequence_number: z2.string().nullable().optional(),
577
+ order_number: z2.string().nullable().optional(),
578
+ invoice_date: z2.string().nullable().optional(),
579
+ due_date: z2.string().nullable().optional(),
580
+ status: z2.string().nullable().optional(),
581
+ paid_status: z2.string().nullable().optional(),
582
+ total: zPhpMoneyObject.nullable().optional(),
583
+ subtotal: zPhpMoneyObject.nullable().optional(),
584
+ tax_amount: zPhpMoneyObject.nullable().optional(),
585
+ discount_amount: zPhpMoneyObject.nullable().optional(),
586
+ paid_at: z2.string().nullable().optional(),
587
+ released_at: z2.string().nullable().optional(),
588
+ sent: z2.number().default(0),
589
+ viewed: z2.boolean().default(false),
590
+ remarks: z2.string().nullable().optional(),
591
+ notes: z2.string().nullable().optional(),
592
+ recipient_company: z2.string().nullable().optional(),
593
+ recipient_name: z2.string().nullable().optional(),
594
+ recipient_address_street_1: z2.string().nullable().optional(),
595
+ recipient_address_street_2: z2.string().nullable().optional(),
596
+ recipient_city: z2.string().nullable().optional(),
597
+ recipient_zip: z2.string().nullable().optional(),
598
+ recipient_state: z2.string().nullable().optional(),
599
+ recipient_country: z2.string().nullable().optional(),
600
+ issuer_name: z2.string().nullable().optional(),
601
+ issuer_address_street_1: z2.string().nullable().optional(),
602
+ issuer_address_street_2: z2.string().nullable().optional(),
603
+ issuer_city: z2.string().nullable().optional(),
604
+ issuer_zip: z2.string().nullable().optional(),
605
+ issuer_state: z2.string().nullable().optional(),
606
+ created_at: z2.string(),
607
+ updated_at: z2.string(),
608
+ can: z2.object({
609
+ update: zNullableBool,
610
+ delete: zNullableBool,
611
+ release: zNullableBool,
612
+ view: zNullableBool
613
+ }).optional()
614
+ });
615
+ var scheduledFlightSchema = z2.object({
616
+ type: z2.literal("scheduledFlight"),
617
+ id: z2.number(),
618
+ booking_id: z2.number(),
619
+ departure_time: z2.string(),
620
+ arrival_time: z2.string(),
621
+ departure_airport_id: z2.number().nullable().optional(),
622
+ departure_airport: airportSchema.optional(),
623
+ arrival_airport_id: z2.number().nullable().optional(),
624
+ arrival_airport: airportSchema.optional(),
625
+ flight_number: z2.string().nullable().optional(),
626
+ notes: z2.string().nullable().optional(),
627
+ created_at: z2.string(),
628
+ updated_at: z2.string()
629
+ });
630
+ var qualificationSchema = z2.object({
631
+ type: z2.literal("qualification"),
632
+ id: z2.number(),
633
+ title: z2.string(),
634
+ description: z2.string().nullable().optional(),
635
+ category: z2.string().nullable().optional(),
636
+ created_at: z2.string(),
637
+ updated_at: z2.string()
638
+ });
639
+ var expenseSchema = z2.object({
640
+ type: z2.literal("expense"),
641
+ id: z2.number(),
642
+ company_id: z2.number(),
643
+ company: companySchema.optional(),
644
+ membership_id: z2.number(),
645
+ membership: baseMembershipSchema.optional(),
646
+ title: z2.string(),
647
+ description: z2.string().nullable().optional(),
648
+ amount: zPhpMoneyObject,
649
+ status: z2.string().nullable().optional(),
650
+ expense_date: z2.string().nullable().optional(),
651
+ invoice_id: z2.number().nullable().optional(),
652
+ created_at: z2.string(),
653
+ updated_at: z2.string(),
654
+ can: z2.object({
655
+ update: zNullableBool,
656
+ delete: zNullableBool,
657
+ approve: zNullableBool
658
+ }).optional()
659
+ });
660
+ var courseSchema = z2.object({
661
+ type: z2.literal("course"),
662
+ id: z2.number(),
663
+ company_id: z2.number(),
664
+ company: companySchema.optional(),
665
+ name: z2.string(),
666
+ description: z2.string().nullable().optional(),
667
+ start_date: z2.string().nullable().optional(),
668
+ end_date: z2.string().nullable().optional(),
669
+ max_participants: z2.number().nullable().optional(),
670
+ price: zPhpMoneyObject.nullable().optional(),
671
+ instructor_id: z2.number().nullable().optional(),
672
+ instructor: userSchema.optional(),
673
+ aircraft_required: z2.boolean().default(false),
674
+ qualification_id: z2.number().nullable().optional(),
675
+ qualification: qualificationSchema.optional(),
676
+ created_at: z2.string(),
677
+ updated_at: z2.string(),
678
+ can: z2.object({
679
+ update: zNullableBool,
680
+ delete: zNullableBool,
681
+ enroll: zNullableBool
682
+ }).optional()
683
+ });
684
+ var courseEnrollmentSchema = z2.object({
685
+ type: z2.literal("course_enrollment").optional(),
686
+ id: z2.number(),
687
+ course_id: z2.number(),
688
+ membership_id: z2.number(),
689
+ company_id: z2.number(),
690
+ mentor_id: z2.number().nullable().optional(),
691
+ status: z2.enum(["enrolled", "completed", "cancelled", "suspended"]),
692
+ enrollment_date: z2.string(),
693
+ completion_date: z2.string().nullable().optional(),
694
+ progress_percentage: z2.number().default(0),
695
+ comments: z2.string().nullable().optional(),
696
+ created_at: z2.string(),
697
+ updated_at: z2.string(),
698
+ course: courseSchema.optional(),
699
+ membership: membershipSchema.optional(),
700
+ mentor: userSchema.optional(),
701
+ can: z2.object({
702
+ view: zNullableBool,
703
+ update: zNullableBool,
704
+ delete: zNullableBool,
705
+ complete: zNullableBool
706
+ }).optional()
707
+ });
708
+ var eventSchema = z2.object({
709
+ type: z2.literal("event"),
710
+ id: z2.number(),
711
+ company_id: z2.number(),
712
+ company: companySchema.optional(),
713
+ title: z2.string(),
714
+ description: z2.string().nullable().optional(),
715
+ start_date: z2.string(),
716
+ end_date: z2.string().nullable().optional(),
717
+ all_day: z2.boolean().default(false),
718
+ location: z2.string().nullable().optional(),
719
+ category: z2.string().nullable().optional(),
720
+ created_by: z2.number(),
721
+ creator: userSchema.optional(),
722
+ created_at: z2.string(),
723
+ updated_at: z2.string(),
724
+ can: z2.object({
725
+ update: zNullableBool,
726
+ delete: zNullableBool,
727
+ attend: zNullableBool
728
+ }).optional()
729
+ });
730
+ var addressSchema = z2.object({
731
+ type: z2.literal("address"),
732
+ id: z2.number(),
733
+ company_id: z2.number().nullable().optional(),
734
+ addressable_type: z2.string(),
735
+ addressable_id: z2.number(),
736
+ street: z2.string().nullable().optional(),
737
+ house_number: z2.string().nullable().optional(),
738
+ postal_code: z2.string().nullable().optional(),
739
+ city: z2.string().nullable().optional(),
740
+ state: z2.string().nullable().optional(),
741
+ country: z2.string().nullable().optional(),
742
+ additional_info: z2.string().nullable().optional(),
743
+ created_at: z2.string(),
744
+ updated_at: z2.string()
745
+ });
746
+ var roleSchema = z2.object({
747
+ type: z2.literal("role"),
748
+ id: z2.number(),
749
+ company_id: z2.number(),
750
+ name: z2.string(),
751
+ description: z2.string().nullable().optional(),
752
+ permissions: z2.array(z2.string()).optional(),
753
+ created_at: z2.string(),
754
+ updated_at: z2.string()
755
+ });
756
+ var landingSchema = z2.object({
757
+ type: z2.literal("landing"),
758
+ id: z2.number(),
759
+ flight_log_id: z2.number(),
760
+ approach_type_id: z2.number().nullable().optional(),
761
+ airport_id: z2.number().nullable().optional(),
762
+ airport: airportSchema.optional(),
763
+ landing_fee_id: z2.number().nullable().optional(),
764
+ landing_time: z2.string(),
765
+ price: zPhpMoneyObject.nullable().optional(),
766
+ created_at: z2.string(),
767
+ updated_at: z2.string()
768
+ });
769
+ var ticketSchema = z2.object({
770
+ type: z2.literal("ticket"),
771
+ id: z2.number(),
772
+ company_id: z2.number().nullable().optional(),
773
+ company: companySchema.optional(),
774
+ user_id: z2.number(),
775
+ user: userSchema.optional(),
776
+ assigned_to: z2.number().nullable().optional(),
777
+ assignee: userSchema.optional(),
778
+ title: z2.string(),
779
+ description: z2.string(),
780
+ status: z2.string(),
781
+ priority: z2.string().nullable().optional(),
782
+ category: z2.string().nullable().optional(),
783
+ resolved_at: z2.string().nullable().optional(),
784
+ created_at: z2.string(),
785
+ updated_at: z2.string(),
786
+ can: z2.object({
787
+ update: zNullableBool,
788
+ delete: zNullableBool,
789
+ resolve: zNullableBool
790
+ }).optional()
791
+ });
792
+ var runwaySchema = z2.object({
793
+ type: z2.literal("runway"),
794
+ id: z2.number(),
795
+ airport_id: z2.number(),
796
+ airport: airportSchema.optional(),
797
+ name: z2.string(),
798
+ length_m: z2.number().nullable().optional(),
799
+ width_m: z2.number().nullable().optional(),
800
+ surface: z2.string().nullable().optional(),
801
+ heading: z2.number().nullable().optional(),
802
+ elevation_m: z2.number().nullable().optional(),
803
+ active: z2.boolean().default(true),
804
+ created_at: z2.string(),
805
+ updated_at: z2.string()
806
+ });
807
+ var settingSchema = z2.object({
808
+ type: z2.literal("setting"),
809
+ id: z2.number(),
810
+ model_type: z2.string(),
811
+ model_id: z2.number(),
812
+ key: z2.string(),
813
+ value: z2.any(),
814
+ created_at: z2.string(),
815
+ updated_at: z2.string()
816
+ });
817
+ var postSchema = z2.object({
818
+ type: z2.literal("post"),
819
+ id: z2.number(),
820
+ postable_type: z2.string(),
821
+ postable_id: z2.number(),
822
+ author_id: z2.number(),
823
+ author: userSchema.optional(),
824
+ title: z2.string(),
825
+ content: z2.string(),
826
+ published: z2.boolean().default(false),
827
+ published_at: z2.string().nullable().optional(),
828
+ created_at: z2.string(),
829
+ updated_at: z2.string(),
830
+ can: z2.object({
831
+ update: zNullableBool,
832
+ delete: zNullableBool,
833
+ publish: zNullableBool
834
+ }).optional()
835
+ });
836
+ var commentSchema = z2.object({
837
+ type: z2.literal("comment"),
838
+ id: z2.number(),
839
+ commentable_type: z2.string().optional(),
840
+ commentable_id: z2.number().optional(),
841
+ parent_id: z2.number().optional().nullable(),
842
+ title: z2.string().optional().nullable(),
843
+ body: z2.string(),
844
+ author_id: z2.number().optional(),
845
+ author: userSchema.optional(),
846
+ resolved_at: z2.string().optional().nullable(),
847
+ created_at: z2.string(),
848
+ updated_at: z2.string().optional(),
849
+ children: z2.lazy(() => commentSchema.array()).optional(),
850
+ can: z2.object({
851
+ view: z2.boolean().optional(),
852
+ update: z2.boolean().optional().nullable(),
853
+ delete: z2.boolean().optional().nullable(),
854
+ resolve: z2.boolean().optional(),
855
+ reply: z2.boolean().optional(),
856
+ viewComments: z2.boolean().optional(),
857
+ createComments: z2.boolean().optional()
858
+ }).optional()
859
+ });
860
+ var specialFlightSchema = z2.object({
861
+ type: z2.literal("specialFlight"),
862
+ id: z2.number(),
863
+ company_id: z2.number(),
864
+ company: companySchema.optional(),
865
+ name: z2.string(),
866
+ description: z2.string().nullable().optional(),
867
+ fee_id: z2.number().nullable().optional(),
868
+ fee: feeSchema.optional(),
869
+ active: z2.boolean().default(true),
870
+ created_at: z2.string(),
871
+ updated_at: z2.string()
872
+ });
873
+ var prePaidPackageSchema = z2.object({
874
+ type: z2.literal("prePaidPackage"),
875
+ id: z2.number(),
876
+ company_id: z2.number(),
877
+ company: companySchema.optional(),
878
+ name: z2.string(),
879
+ description: z2.string().nullable().optional(),
880
+ balance: zPhpMoneyObject,
881
+ initial_amount: zPhpMoneyObject,
882
+ discount_percentage: z2.number().nullable().optional(),
883
+ valid_until: z2.string().nullable().optional(),
884
+ created_at: z2.string(),
885
+ updated_at: z2.string(),
886
+ can: z2.object({
887
+ update: zNullableBool,
888
+ delete: zNullableBool,
889
+ assign: zNullableBool
890
+ }).optional()
891
+ });
892
+ var expenseItemSchema = z2.object({
893
+ type: z2.literal("expenseItem"),
894
+ id: z2.number(),
895
+ company_id: z2.number(),
896
+ company: companySchema.optional(),
897
+ name: z2.string(),
898
+ description: z2.string().nullable().optional(),
899
+ category: z2.string().nullable().optional(),
900
+ active: z2.boolean().default(true),
901
+ created_at: z2.string(),
902
+ updated_at: z2.string()
903
+ });
904
+ var waypointSchema = z2.object({
905
+ type: z2.literal("waypoint"),
906
+ id: z2.number(),
907
+ identifier: z2.string(),
908
+ name: z2.string(),
909
+ latitude: z2.number(),
910
+ longitude: z2.number(),
911
+ elevation_m: z2.number().nullable().optional(),
912
+ country: z2.string().nullable().optional(),
913
+ created_at: z2.string(),
914
+ updated_at: z2.string()
915
+ });
916
+ var approachTypeSchema = z2.object({
917
+ type: z2.literal("approachType"),
918
+ id: z2.number(),
919
+ name: z2.string(),
920
+ abbreviation: z2.string(),
921
+ description: z2.string().nullable().optional(),
922
+ created_at: z2.string(),
923
+ updated_at: z2.string()
924
+ });
925
+
926
+ // src/schemas/faq.ts
927
+ import { z as z3 } from "zod";
928
+ var FaqStatus = /* @__PURE__ */ ((FaqStatus2) => {
929
+ FaqStatus2["PENDING"] = "pending";
930
+ FaqStatus2["APPROVED"] = "approved";
931
+ FaqStatus2["REJECTED"] = "rejected";
932
+ return FaqStatus2;
933
+ })(FaqStatus || {});
934
+ var UserBasicSchema = z3.object({
935
+ id: z3.number(),
936
+ name: z3.string(),
937
+ email: z3.string().email()
938
+ }).nullable();
939
+ var FaqSchema = z3.object({
940
+ type: z3.literal("faq"),
941
+ id: z3.number(),
942
+ company_id: z3.number().nullable(),
943
+ faqable_type: z3.string().nullable(),
944
+ faqable_id: z3.number().nullable(),
945
+ category: z3.string(),
946
+ subcategory: z3.string().nullable(),
947
+ question: z3.string(),
948
+ answer: z3.string().nullable(),
949
+ order: z3.number(),
950
+ is_active: z3.boolean(),
951
+ status: z3.enum(["pending", "approved", "rejected"]),
952
+ submitted_by: z3.number().nullable(),
953
+ reviewed_by: z3.number().nullable(),
954
+ reviewed_at: z3.string().nullable(),
955
+ created_at: z3.string(),
956
+ updated_at: z3.string(),
957
+ submitter: UserBasicSchema.optional(),
958
+ reviewer: UserBasicSchema.optional(),
959
+ is_pending: z3.boolean().optional(),
960
+ is_user_submitted: z3.boolean().optional(),
961
+ can: z3.object({
962
+ view: z3.boolean().optional(),
963
+ update: z3.boolean().optional(),
964
+ delete: z3.boolean().optional(),
965
+ review: z3.boolean().optional(),
966
+ submit: z3.boolean().optional()
967
+ }).optional()
968
+ });
969
+ var SubmitFaqQuestionSchema = z3.object({
970
+ category: z3.string().min(1, "Category is required"),
971
+ subcategory: z3.string().nullable().optional(),
972
+ question: z3.string().min(10, "Question must be at least 10 characters")
973
+ });
974
+ var ReviewFaqSchema = z3.object({
975
+ status: z3.enum(["pending", "approved", "rejected"]),
976
+ answer: z3.string().optional(),
977
+ category: z3.string().optional(),
978
+ subcategory: z3.string().nullable().optional(),
979
+ order: z3.number().optional(),
980
+ is_active: z3.boolean().optional()
981
+ });
982
+
983
+ // src/schemas/fee.ts
984
+ import { z as z4 } from "zod";
985
+ var FeeSchema = z4.object({
986
+ id: z4.number(),
987
+ type: z4.literal("fee").optional(),
988
+ company_id: z4.number(),
989
+ provider: z4.string().nullable().optional(),
990
+ category: z4.string(),
991
+ subcategory: z4.string().nullable().optional(),
992
+ title: z4.string(),
993
+ internal_title: z4.string().nullable().optional(),
994
+ display_title: z4.string().optional(),
995
+ relation: z4.array(z4.enum(["booking", "flightlog", "invoice", "instructor"])).nullable().optional(),
996
+ payment_per: z4.enum(["perSession", "perFlight", "perBooking", "perHour"]).nullable().optional(),
997
+ price: z4.any().optional(),
998
+ prices: z4.array(z4.any()).optional(),
999
+ can: z4.object({
1000
+ update: z4.boolean().optional(),
1001
+ delete: z4.boolean().optional()
1002
+ }).optional()
1003
+ });
1004
+ var FeeCategoryOptionsSchema = z4.object({
1005
+ categories: z4.array(z4.string()),
1006
+ subcategories: z4.record(z4.string(), z4.array(z4.string()))
1007
+ });
1008
+
1009
+ // src/schemas/safety-report.ts
1010
+ import { z as z5 } from "zod";
1011
+ var SafetyReportStatusEnum = z5.enum([
1012
+ "new",
1013
+ "under_review",
1014
+ "action_taken",
1015
+ "closed"
1016
+ ]);
1017
+ var SafetyReportCategorySchema = z5.object({
1018
+ id: z5.number(),
1019
+ name: z5.string(),
1020
+ description: z5.string().nullable(),
1021
+ color: z5.string(),
1022
+ sort_order: z5.number(),
1023
+ is_active: z5.boolean(),
1024
+ is_global: z5.boolean().optional(),
1025
+ created_at: z5.string().optional(),
1026
+ updated_at: z5.string().optional()
1027
+ });
1028
+ var SafetyReportCategoryFormSchema = z5.object({
1029
+ name: z5.string().min(1, "Name is required").max(100, "Name must be at most 100 characters"),
1030
+ description: z5.string().max(500).nullable().optional(),
1031
+ color: z5.string().regex(/^#[0-9A-Fa-f]{6}$/, "Invalid hex color").nullable().optional(),
1032
+ sort_order: z5.number().int().min(0).optional(),
1033
+ is_active: z5.boolean().optional()
1034
+ });
1035
+ var SafetyReportMediaSchema = z5.object({
1036
+ id: z5.number(),
1037
+ file_name: z5.string(),
1038
+ mime_type: z5.string(),
1039
+ size: z5.number(),
1040
+ url: z5.string().nullable()
1041
+ });
1042
+ var SafetyReportSchema = z5.object({
1043
+ id: z5.number(),
1044
+ incident_date: z5.string(),
1045
+ location: z5.string().nullable(),
1046
+ description: z5.string(),
1047
+ status: SafetyReportStatusEnum,
1048
+ is_archived: z5.boolean(),
1049
+ category: SafetyReportCategorySchema.nullable().optional(),
1050
+ attachments: z5.array(SafetyReportMediaSchema).optional(),
1051
+ attachments_count: z5.number().optional(),
1052
+ created_at: z5.string(),
1053
+ updated_at: z5.string(),
1054
+ can: z5.record(z5.string(), z5.boolean()).optional()
1055
+ });
1056
+ var SafetyReportListResponseSchema = z5.object({
1057
+ data: z5.array(SafetyReportSchema),
1058
+ links: z5.object({
1059
+ first: z5.string().nullable().optional(),
1060
+ last: z5.string().nullable().optional(),
1061
+ prev: z5.string().nullable().optional(),
1062
+ next: z5.string().nullable().optional()
1063
+ }).optional(),
1064
+ meta: z5.object({
1065
+ current_page: z5.number(),
1066
+ from: z5.number().nullable(),
1067
+ last_page: z5.number(),
1068
+ per_page: z5.number(),
1069
+ to: z5.number().nullable(),
1070
+ total: z5.number()
1071
+ }).optional()
1072
+ });
1073
+ var SafetyReportFormSchema = z5.object({
1074
+ incident_date: z5.string().min(1, "Incident date is required"),
1075
+ location: z5.string().max(255).nullable().optional(),
1076
+ description: z5.string().min(10, "Description must be at least 10 characters").max(1e4, "Description must be at most 10000 characters")
1077
+ });
1078
+ var SafetyReportUpdateSchema = z5.object({
1079
+ status: SafetyReportStatusEnum.optional(),
1080
+ category_id: z5.number().nullable().optional()
1081
+ });
1082
+ var SafetyReportFilterSchema = z5.object({
1083
+ status: SafetyReportStatusEnum.optional(),
1084
+ category_id: z5.number().optional(),
1085
+ date_from: z5.string().optional(),
1086
+ date_to: z5.string().optional(),
1087
+ include_archived: z5.boolean().optional(),
1088
+ search: z5.string().optional(),
1089
+ sort: z5.enum(["incident_date", "created_at", "status"]).optional(),
1090
+ direction: z5.enum(["asc", "desc"]).optional(),
1091
+ per_page: z5.number().optional(),
1092
+ page: z5.number().optional()
1093
+ });
1094
+ var SafetyReportSubmissionResponseSchema = z5.object({
1095
+ message: z5.string(),
1096
+ submitted: z5.boolean()
1097
+ });
1098
+ var SAFETY_REPORT_STATUS_LABELS = {
1099
+ new: "New",
1100
+ under_review: "Under Review",
1101
+ action_taken: "Action Taken",
1102
+ closed: "Closed"
1103
+ };
1104
+ var SAFETY_REPORT_STATUS_COLORS = {
1105
+ new: "info",
1106
+ under_review: "warning",
1107
+ action_taken: "primary",
1108
+ closed: "success"
1109
+ };
1110
+
1111
+ export {
1112
+ zNullableBool,
1113
+ zNetGross,
1114
+ zContactDTO,
1115
+ zPhpMoneyObject,
1116
+ contactAttributeSchema,
1117
+ BaseModel,
1118
+ mediaSchema,
1119
+ mediaCollection,
1120
+ userSchema,
1121
+ companySchema,
1122
+ baseMembershipSchema,
1123
+ membershipSchema,
1124
+ documentType,
1125
+ priceSchema,
1126
+ feeSchema,
1127
+ courseFeeSchema,
1128
+ airplaneSchema,
1129
+ airplanePermissionSchema,
1130
+ landingFeeSchema,
1131
+ aircraftRatingSchema,
1132
+ userAircraftRatingSchema,
1133
+ userQualificationSchema,
1134
+ airportSchema,
1135
+ recurringFlightSchema,
1136
+ maintenanceEventSchema,
1137
+ maintenanceEventEstimationSchema,
1138
+ maintenanceStatusSchema,
1139
+ extendedAirplaneSchema,
1140
+ availSchema,
1141
+ bookingSchema,
1142
+ alertSchema,
1143
+ documentSchema,
1144
+ documentRequirement,
1145
+ documentRequirementGroup,
1146
+ documentRequirementGroupAssignment,
1147
+ documentComplianceStatus,
1148
+ documentShareSchema,
1149
+ allowedDocumentTypeSchema,
1150
+ flightLogSchema,
1151
+ invoiceSchema,
1152
+ scheduledFlightSchema,
1153
+ qualificationSchema,
1154
+ expenseSchema,
1155
+ courseSchema,
1156
+ courseEnrollmentSchema,
1157
+ eventSchema,
1158
+ addressSchema,
1159
+ roleSchema,
1160
+ landingSchema,
1161
+ ticketSchema,
1162
+ runwaySchema,
1163
+ settingSchema,
1164
+ postSchema,
1165
+ commentSchema,
1166
+ specialFlightSchema,
1167
+ prePaidPackageSchema,
1168
+ expenseItemSchema,
1169
+ waypointSchema,
1170
+ approachTypeSchema,
1171
+ FaqStatus,
1172
+ FaqSchema,
1173
+ SubmitFaqQuestionSchema,
1174
+ ReviewFaqSchema,
1175
+ FeeSchema,
1176
+ FeeCategoryOptionsSchema,
1177
+ SafetyReportStatusEnum,
1178
+ SafetyReportCategorySchema,
1179
+ SafetyReportCategoryFormSchema,
1180
+ SafetyReportMediaSchema,
1181
+ SafetyReportSchema,
1182
+ SafetyReportListResponseSchema,
1183
+ SafetyReportFormSchema,
1184
+ SafetyReportUpdateSchema,
1185
+ SafetyReportFilterSchema,
1186
+ SafetyReportSubmissionResponseSchema,
1187
+ SAFETY_REPORT_STATUS_LABELS,
1188
+ SAFETY_REPORT_STATUS_COLORS
1189
+ };