@updraft-solutions/mcrit-sdk 0.14.9 → 0.14.12

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.
@@ -149,6 +149,7 @@ import {
149
149
  fboDutySchema,
150
150
  fboDutySeriesResponseSchema,
151
151
  fboFlightCanSchema,
152
+ fboFlightDocumentSchema,
152
153
  fboFlightSchema,
153
154
  fboFlightStatusSchema,
154
155
  fboFlightTypeSchema,
@@ -158,6 +159,8 @@ import {
158
159
  fboNextDutySchema,
159
160
  fboOccupationSchema,
160
161
  fboOperationsSchema,
162
+ fboPersonSchema,
163
+ fboPobSchema,
161
164
  fboRecurrenceSchema,
162
165
  fboRecurrenceTypeSchema,
163
166
  fboRecurringFlightSchema,
@@ -227,7 +230,7 @@ import {
227
230
  zMoneyObject,
228
231
  zNetGross,
229
232
  zNullableBool
230
- } from "../chunk-7BDZMKTO.js";
233
+ } from "../chunk-QCA4OD7R.js";
231
234
  export {
232
235
  ALLOWED_GEOMETRY_TYPES,
233
236
  ALLOWED_NEWSLETTER_VARIABLES,
@@ -379,6 +382,7 @@ export {
379
382
  fboDutySchema,
380
383
  fboDutySeriesResponseSchema,
381
384
  fboFlightCanSchema,
385
+ fboFlightDocumentSchema,
382
386
  fboFlightSchema,
383
387
  fboFlightStatusSchema,
384
388
  fboFlightTypeSchema,
@@ -388,6 +392,8 @@ export {
388
392
  fboNextDutySchema,
389
393
  fboOccupationSchema,
390
394
  fboOperationsSchema,
395
+ fboPersonSchema,
396
+ fboPobSchema,
391
397
  fboRecurrenceSchema,
392
398
  fboRecurrenceTypeSchema,
393
399
  fboRecurringFlightSchema,
@@ -1,6 +1,6 @@
1
- export { A as Activity, a as Address, b as AiSuggestedMilestone, c as AiSuggestion, d as AiSuggestionStatus, e as AircraftBlock, f as AircraftBlockReason, g as AircraftPosition, h as AircraftRating, i as Airplane, b0 as AirplaneIssue, b1 as AirplaneIssueSeverity, b2 as AirplaneIssueStatus, j as AirplanePermission, k as AirplaneShareInvite, l as Airport, m as Alert, n as AllowedDocumentType, o as ApiResponse, p as ApproachType, q as Avail, B as BackgroundTask, r as BackgroundTaskStatus, s as BaseMembership, b3 as BaseModel, t as Booking, C as Comment, u as Company, v as ComplianceData, w as ComplianceGroup, x as ComplianceGroupSource, y as ComplianceRequirement, z as ComplianceRequirementGroup, D as ComplianceResponse, E as ComplianceSummary, F as Course, b4 as CourseCheckSyllabus, G as CourseDescriptionSuggestionPayload, H as CourseEnrollment, b5 as CourseEnrollmentMetrics, I as CourseFee, J as CreateAirplaneIssueInput, K as CreateCommentInput, L as CreatePostInput, M as DataWrappedResponse, N as DeferAirplaneIssueInput, O as DiscardedRow, P as Document, Q as DocumentComplianceStatus, R as DocumentRequirement, S as DocumentRequirementGroup, T as DocumentRequirementGroupAssignment, U as DocumentShare, V as DocumentType, W as Event, X as Expense, Y as ExpenseItem, Z as ExtendedAirplane, _ as Fee, $ as FeeCategoryOptions, a0 as FlightLog, a1 as GroupedPermissions, a2 as Invoice, a3 as Landing, a4 as LandingFee, a5 as LandingFeeImportResult, a6 as LandingFeeInvoiceApplyPayload, a7 as LandingFeeInvoiceApplyResult, a8 as LandingFeeInvoicePreview, a9 as LandingFeeInvoicePreviewRow, aa as LandingFeeTemplateParams, ab as LogbookFlightLogPayload, ac as LogbookStageResult, ad as LogbookSuggestion, ae as LogbookSuggestionMeta, af as MaintenanceEvent, ag as MaintenanceEventEstimation, ah as MaintenanceStatus, b6 as Media, ai as MediaCollection, aj as Membership, ak as MembershipSignup, al as OperatingHourDay, am as OperatingHourException, an as OperatingHourExceptionInput, ao as OperatingHourInterval, ap as OperatingHourKind, aq as OperatingHourResolvedDate, ar as OperatingHourSchedule, as as OperatingHourScheduleInput, at as OperatingHourStatusEntry, au as OperatingHourWindow, av as OperatingHoursMeta, aw as OperatingHoursNextOpenEntry, ax as OperatingHoursNextOpenResponse, ay as OperatingHoursStatusResponse, az as OperatingStatusValue, aA as PaginatedResponse, aB as PermissionItem, aC as Post, aD as PostSubject, aE as PrePaidPackage, aF as Price, aG as Qualification, aH as RecurringFlight, aI as ResolveAirplaneIssueInput, aJ as Resource, aK as Role, aL as RoleDetail, aM as RoleListItem, aN as Runway, aO as ScheduledFlight, aP as Setting, aQ as SpecialFlight, aR as Tag, b7 as TagSyncEntry, aS as Ticket, aT as TimeAnchor, aU as ToggleFavoriteResponse, aV as UpdateAirplaneIssueInput, aW as UpdateCommentInput, aX as UpdatePostInput, aY as User, aZ as UserAircraftRating, a_ as UserQualification, a$ as Waypoint } from '../operating-hours-CSwAonXW.cjs';
1
+ export { A as Activity, a as Address, b as AiSuggestedMilestone, c as AiSuggestion, d as AiSuggestionStatus, e as AircraftBlock, f as AircraftBlockReason, g as AircraftPosition, h as AircraftRating, i as Airplane, b0 as AirplaneIssue, b1 as AirplaneIssueSeverity, b2 as AirplaneIssueStatus, j as AirplanePermission, k as AirplaneShareInvite, l as Airport, m as Alert, n as AllowedDocumentType, o as ApiResponse, p as ApproachType, q as Avail, B as BackgroundTask, r as BackgroundTaskStatus, s as BaseMembership, b3 as BaseModel, t as Booking, C as Comment, u as Company, v as ComplianceData, w as ComplianceGroup, x as ComplianceGroupSource, y as ComplianceRequirement, z as ComplianceRequirementGroup, D as ComplianceResponse, E as ComplianceSummary, F as Course, b4 as CourseCheckSyllabus, G as CourseDescriptionSuggestionPayload, H as CourseEnrollment, b5 as CourseEnrollmentMetrics, I as CourseFee, J as CreateAirplaneIssueInput, K as CreateCommentInput, L as CreatePostInput, M as DataWrappedResponse, N as DeferAirplaneIssueInput, O as DiscardedRow, P as Document, Q as DocumentComplianceStatus, R as DocumentRequirement, S as DocumentRequirementGroup, T as DocumentRequirementGroupAssignment, U as DocumentShare, V as DocumentType, W as Event, X as Expense, Y as ExpenseItem, Z as ExtendedAirplane, _ as Fee, $ as FeeCategoryOptions, a0 as FlightLog, a1 as GroupedPermissions, a2 as Invoice, a3 as Landing, a4 as LandingFee, a5 as LandingFeeImportResult, a6 as LandingFeeInvoiceApplyPayload, a7 as LandingFeeInvoiceApplyResult, a8 as LandingFeeInvoicePreview, a9 as LandingFeeInvoicePreviewRow, aa as LandingFeeTemplateParams, ab as LogbookFlightLogPayload, ac as LogbookStageResult, ad as LogbookSuggestion, ae as LogbookSuggestionMeta, af as MaintenanceEvent, ag as MaintenanceEventEstimation, ah as MaintenanceStatus, b6 as Media, ai as MediaCollection, aj as Membership, ak as MembershipSignup, al as OperatingHourDay, am as OperatingHourException, an as OperatingHourExceptionInput, ao as OperatingHourInterval, ap as OperatingHourKind, aq as OperatingHourResolvedDate, ar as OperatingHourSchedule, as as OperatingHourScheduleInput, at as OperatingHourStatusEntry, au as OperatingHourWindow, av as OperatingHoursMeta, aw as OperatingHoursNextOpenEntry, ax as OperatingHoursNextOpenResponse, ay as OperatingHoursStatusResponse, az as OperatingStatusValue, aA as PaginatedResponse, aB as PermissionItem, aC as Post, aD as PostSubject, aE as PrePaidPackage, aF as Price, aG as Qualification, aH as RecurringFlight, aI as ResolveAirplaneIssueInput, aJ as Resource, aK as Role, aL as RoleDetail, aM as RoleListItem, aN as Runway, aO as ScheduledFlight, aP as Setting, aQ as SpecialFlight, aR as Tag, b7 as TagSyncEntry, aS as Ticket, aT as TimeAnchor, aU as ToggleFavoriteResponse, aV as UpdateAirplaneIssueInput, aW as UpdateCommentInput, aX as UpdatePostInput, aY as User, aZ as UserAircraftRating, a_ as UserQualification, a$ as Waypoint } from '../operating-hours-BLJOADcx.cjs';
2
2
  import { z } from 'zod';
3
- import { bh as fboAcceptanceAxisSchema, bi as fboAcceptanceStatusSchema, bl as fboActivitySchema, bj as fboActivityCauserSchema, bk as fboActivityChangesSchema, bm as fboCompanyMemberSchema, bn as fboCompanyProfileSchema, bq as fboDecisionSchema, bo as fboDecisionAxisSchema, bp as fboDecisionInputSchema, bs as fboDutySchema, br as fboDutyAffectedSchema, bt as fboDutySeriesResponseSchema, bv as fboFlightSchema, bw as fboFlightStatusSchema, bx as fboFlightTypeSchema, by as fboGroundServicesSchema, bz as fboLandingsSummarySchema, bA as fboMaterialiseResultSchema, bB as fboNextDutySchema, bC as fboOccupationSchema, bD as fboOperationsSchema, bE as fboRecurrenceSchema, bF as fboRecurrenceTypeSchema, bG as fboRecurringFlightSchema, bH as fboRoleSchema, bJ as fboStatisticsSchema, bK as fboSystemRoleSchema, bL as fboTrafficRowSchema, bN as fboTrafficSourceSchema, bO as fboVisibilitySchema, bP as fboWeeklyLandingSchema } from '../fbo-BYdFXRZn.cjs';
3
+ import { bh as fboAcceptanceAxisSchema, bi as fboAcceptanceStatusSchema, bl as fboActivitySchema, bj as fboActivityCauserSchema, bk as fboActivityChangesSchema, bm as fboCompanyMemberSchema, bn as fboCompanyProfileSchema, bq as fboDecisionSchema, bo as fboDecisionAxisSchema, bp as fboDecisionInputSchema, bs as fboDutySchema, br as fboDutyAffectedSchema, bt as fboDutySeriesResponseSchema, bw as fboFlightSchema, bv as fboFlightDocumentSchema, bx as fboFlightStatusSchema, by as fboFlightTypeSchema, bz as fboGroundServicesSchema, bA as fboLandingsSummarySchema, bB as fboMaterialiseResultSchema, bC as fboNextDutySchema, bD as fboOccupationSchema, bE as fboOperationsSchema, bF as fboPersonSchema, bG as fboPobSchema, bH as fboRecurrenceSchema, bI as fboRecurrenceTypeSchema, bJ as fboRecurringFlightSchema, bK as fboRoleSchema, bM as fboStatisticsSchema, bN as fboSystemRoleSchema, bO as fboTrafficRowSchema, bQ as fboTrafficSourceSchema, bR as fboVisibilitySchema, bS as fboWeeklyLandingSchema } from '../fbo-7EyTUlqN.cjs';
4
4
 
5
5
  type FboAcceptanceAxis = z.infer<typeof fboAcceptanceAxisSchema>;
6
6
  type FboAcceptanceStatus = z.infer<typeof fboAcceptanceStatusSchema>;
@@ -8,6 +8,9 @@ type FboGroundServices = z.infer<typeof fboGroundServicesSchema>;
8
8
  type FboFlightType = z.infer<typeof fboFlightTypeSchema>;
9
9
  type FboFlightStatus = z.infer<typeof fboFlightStatusSchema>;
10
10
  type FboOperations = z.infer<typeof fboOperationsSchema>;
11
+ type FboPob = z.infer<typeof fboPobSchema>;
12
+ type FboPerson = z.infer<typeof fboPersonSchema>;
13
+ type FboFlightDocument = z.infer<typeof fboFlightDocumentSchema>;
11
14
  type FboFlight = z.infer<typeof fboFlightSchema>;
12
15
  type FboOccupation = z.infer<typeof fboOccupationSchema>;
13
16
  type FboDuty = z.infer<typeof fboDutySchema>;
@@ -35,4 +38,4 @@ type FboActivity = z.infer<typeof fboActivitySchema>;
35
38
  type FboRecurringFlight = z.infer<typeof fboRecurringFlightSchema>;
36
39
  type FboMaterialiseResult = z.infer<typeof fboMaterialiseResultSchema>;
37
40
 
38
- export type { FboAcceptanceAxis, FboAcceptanceStatus, FboActivity, FboActivityCauser, FboActivityChanges, FboCompanyMember, FboCompanyProfile, FboDecision, FboDecisionAxis, FboDecisionInput, FboDuty, FboDutyAffected, FboDutySeriesResponse, FboFlight, FboFlightStatus, FboFlightType, FboGroundServices, FboLandingsSummary, FboMaterialiseResult, FboNextDuty, FboOccupation, FboOperations, FboRecurrence, FboRecurrenceType, FboRecurringFlight, FboRole, FboStatistics, FboSystemRole, FboTrafficRow, FboTrafficSource, FboVisibility, FboWeeklyLanding };
41
+ export type { FboAcceptanceAxis, FboAcceptanceStatus, FboActivity, FboActivityCauser, FboActivityChanges, FboCompanyMember, FboCompanyProfile, FboDecision, FboDecisionAxis, FboDecisionInput, FboDuty, FboDutyAffected, FboDutySeriesResponse, FboFlight, FboFlightDocument, FboFlightStatus, FboFlightType, FboGroundServices, FboLandingsSummary, FboMaterialiseResult, FboNextDuty, FboOccupation, FboOperations, FboPerson, FboPob, FboRecurrence, FboRecurrenceType, FboRecurringFlight, FboRole, FboStatistics, FboSystemRole, FboTrafficRow, FboTrafficSource, FboVisibility, FboWeeklyLanding };
@@ -1,6 +1,6 @@
1
- export { A as Activity, a as Address, b as AiSuggestedMilestone, c as AiSuggestion, d as AiSuggestionStatus, e as AircraftBlock, f as AircraftBlockReason, g as AircraftPosition, h as AircraftRating, i as Airplane, b0 as AirplaneIssue, b1 as AirplaneIssueSeverity, b2 as AirplaneIssueStatus, j as AirplanePermission, k as AirplaneShareInvite, l as Airport, m as Alert, n as AllowedDocumentType, o as ApiResponse, p as ApproachType, q as Avail, B as BackgroundTask, r as BackgroundTaskStatus, s as BaseMembership, b3 as BaseModel, t as Booking, C as Comment, u as Company, v as ComplianceData, w as ComplianceGroup, x as ComplianceGroupSource, y as ComplianceRequirement, z as ComplianceRequirementGroup, D as ComplianceResponse, E as ComplianceSummary, F as Course, b4 as CourseCheckSyllabus, G as CourseDescriptionSuggestionPayload, H as CourseEnrollment, b5 as CourseEnrollmentMetrics, I as CourseFee, J as CreateAirplaneIssueInput, K as CreateCommentInput, L as CreatePostInput, M as DataWrappedResponse, N as DeferAirplaneIssueInput, O as DiscardedRow, P as Document, Q as DocumentComplianceStatus, R as DocumentRequirement, S as DocumentRequirementGroup, T as DocumentRequirementGroupAssignment, U as DocumentShare, V as DocumentType, W as Event, X as Expense, Y as ExpenseItem, Z as ExtendedAirplane, _ as Fee, $ as FeeCategoryOptions, a0 as FlightLog, a1 as GroupedPermissions, a2 as Invoice, a3 as Landing, a4 as LandingFee, a5 as LandingFeeImportResult, a6 as LandingFeeInvoiceApplyPayload, a7 as LandingFeeInvoiceApplyResult, a8 as LandingFeeInvoicePreview, a9 as LandingFeeInvoicePreviewRow, aa as LandingFeeTemplateParams, ab as LogbookFlightLogPayload, ac as LogbookStageResult, ad as LogbookSuggestion, ae as LogbookSuggestionMeta, af as MaintenanceEvent, ag as MaintenanceEventEstimation, ah as MaintenanceStatus, b6 as Media, ai as MediaCollection, aj as Membership, ak as MembershipSignup, al as OperatingHourDay, am as OperatingHourException, an as OperatingHourExceptionInput, ao as OperatingHourInterval, ap as OperatingHourKind, aq as OperatingHourResolvedDate, ar as OperatingHourSchedule, as as OperatingHourScheduleInput, at as OperatingHourStatusEntry, au as OperatingHourWindow, av as OperatingHoursMeta, aw as OperatingHoursNextOpenEntry, ax as OperatingHoursNextOpenResponse, ay as OperatingHoursStatusResponse, az as OperatingStatusValue, aA as PaginatedResponse, aB as PermissionItem, aC as Post, aD as PostSubject, aE as PrePaidPackage, aF as Price, aG as Qualification, aH as RecurringFlight, aI as ResolveAirplaneIssueInput, aJ as Resource, aK as Role, aL as RoleDetail, aM as RoleListItem, aN as Runway, aO as ScheduledFlight, aP as Setting, aQ as SpecialFlight, aR as Tag, b7 as TagSyncEntry, aS as Ticket, aT as TimeAnchor, aU as ToggleFavoriteResponse, aV as UpdateAirplaneIssueInput, aW as UpdateCommentInput, aX as UpdatePostInput, aY as User, aZ as UserAircraftRating, a_ as UserQualification, a$ as Waypoint } from '../operating-hours-DBu1OrvF.js';
1
+ export { A as Activity, a as Address, b as AiSuggestedMilestone, c as AiSuggestion, d as AiSuggestionStatus, e as AircraftBlock, f as AircraftBlockReason, g as AircraftPosition, h as AircraftRating, i as Airplane, b0 as AirplaneIssue, b1 as AirplaneIssueSeverity, b2 as AirplaneIssueStatus, j as AirplanePermission, k as AirplaneShareInvite, l as Airport, m as Alert, n as AllowedDocumentType, o as ApiResponse, p as ApproachType, q as Avail, B as BackgroundTask, r as BackgroundTaskStatus, s as BaseMembership, b3 as BaseModel, t as Booking, C as Comment, u as Company, v as ComplianceData, w as ComplianceGroup, x as ComplianceGroupSource, y as ComplianceRequirement, z as ComplianceRequirementGroup, D as ComplianceResponse, E as ComplianceSummary, F as Course, b4 as CourseCheckSyllabus, G as CourseDescriptionSuggestionPayload, H as CourseEnrollment, b5 as CourseEnrollmentMetrics, I as CourseFee, J as CreateAirplaneIssueInput, K as CreateCommentInput, L as CreatePostInput, M as DataWrappedResponse, N as DeferAirplaneIssueInput, O as DiscardedRow, P as Document, Q as DocumentComplianceStatus, R as DocumentRequirement, S as DocumentRequirementGroup, T as DocumentRequirementGroupAssignment, U as DocumentShare, V as DocumentType, W as Event, X as Expense, Y as ExpenseItem, Z as ExtendedAirplane, _ as Fee, $ as FeeCategoryOptions, a0 as FlightLog, a1 as GroupedPermissions, a2 as Invoice, a3 as Landing, a4 as LandingFee, a5 as LandingFeeImportResult, a6 as LandingFeeInvoiceApplyPayload, a7 as LandingFeeInvoiceApplyResult, a8 as LandingFeeInvoicePreview, a9 as LandingFeeInvoicePreviewRow, aa as LandingFeeTemplateParams, ab as LogbookFlightLogPayload, ac as LogbookStageResult, ad as LogbookSuggestion, ae as LogbookSuggestionMeta, af as MaintenanceEvent, ag as MaintenanceEventEstimation, ah as MaintenanceStatus, b6 as Media, ai as MediaCollection, aj as Membership, ak as MembershipSignup, al as OperatingHourDay, am as OperatingHourException, an as OperatingHourExceptionInput, ao as OperatingHourInterval, ap as OperatingHourKind, aq as OperatingHourResolvedDate, ar as OperatingHourSchedule, as as OperatingHourScheduleInput, at as OperatingHourStatusEntry, au as OperatingHourWindow, av as OperatingHoursMeta, aw as OperatingHoursNextOpenEntry, ax as OperatingHoursNextOpenResponse, ay as OperatingHoursStatusResponse, az as OperatingStatusValue, aA as PaginatedResponse, aB as PermissionItem, aC as Post, aD as PostSubject, aE as PrePaidPackage, aF as Price, aG as Qualification, aH as RecurringFlight, aI as ResolveAirplaneIssueInput, aJ as Resource, aK as Role, aL as RoleDetail, aM as RoleListItem, aN as Runway, aO as ScheduledFlight, aP as Setting, aQ as SpecialFlight, aR as Tag, b7 as TagSyncEntry, aS as Ticket, aT as TimeAnchor, aU as ToggleFavoriteResponse, aV as UpdateAirplaneIssueInput, aW as UpdateCommentInput, aX as UpdatePostInput, aY as User, aZ as UserAircraftRating, a_ as UserQualification, a$ as Waypoint } from '../operating-hours-D0OI71DZ.js';
2
2
  import { z } from 'zod';
3
- import { bh as fboAcceptanceAxisSchema, bi as fboAcceptanceStatusSchema, bl as fboActivitySchema, bj as fboActivityCauserSchema, bk as fboActivityChangesSchema, bm as fboCompanyMemberSchema, bn as fboCompanyProfileSchema, bq as fboDecisionSchema, bo as fboDecisionAxisSchema, bp as fboDecisionInputSchema, bs as fboDutySchema, br as fboDutyAffectedSchema, bt as fboDutySeriesResponseSchema, bv as fboFlightSchema, bw as fboFlightStatusSchema, bx as fboFlightTypeSchema, by as fboGroundServicesSchema, bz as fboLandingsSummarySchema, bA as fboMaterialiseResultSchema, bB as fboNextDutySchema, bC as fboOccupationSchema, bD as fboOperationsSchema, bE as fboRecurrenceSchema, bF as fboRecurrenceTypeSchema, bG as fboRecurringFlightSchema, bH as fboRoleSchema, bJ as fboStatisticsSchema, bK as fboSystemRoleSchema, bL as fboTrafficRowSchema, bN as fboTrafficSourceSchema, bO as fboVisibilitySchema, bP as fboWeeklyLandingSchema } from '../fbo-BYdFXRZn.js';
3
+ import { bh as fboAcceptanceAxisSchema, bi as fboAcceptanceStatusSchema, bl as fboActivitySchema, bj as fboActivityCauserSchema, bk as fboActivityChangesSchema, bm as fboCompanyMemberSchema, bn as fboCompanyProfileSchema, bq as fboDecisionSchema, bo as fboDecisionAxisSchema, bp as fboDecisionInputSchema, bs as fboDutySchema, br as fboDutyAffectedSchema, bt as fboDutySeriesResponseSchema, bw as fboFlightSchema, bv as fboFlightDocumentSchema, bx as fboFlightStatusSchema, by as fboFlightTypeSchema, bz as fboGroundServicesSchema, bA as fboLandingsSummarySchema, bB as fboMaterialiseResultSchema, bC as fboNextDutySchema, bD as fboOccupationSchema, bE as fboOperationsSchema, bF as fboPersonSchema, bG as fboPobSchema, bH as fboRecurrenceSchema, bI as fboRecurrenceTypeSchema, bJ as fboRecurringFlightSchema, bK as fboRoleSchema, bM as fboStatisticsSchema, bN as fboSystemRoleSchema, bO as fboTrafficRowSchema, bQ as fboTrafficSourceSchema, bR as fboVisibilitySchema, bS as fboWeeklyLandingSchema } from '../fbo-7EyTUlqN.js';
4
4
 
5
5
  type FboAcceptanceAxis = z.infer<typeof fboAcceptanceAxisSchema>;
6
6
  type FboAcceptanceStatus = z.infer<typeof fboAcceptanceStatusSchema>;
@@ -8,6 +8,9 @@ type FboGroundServices = z.infer<typeof fboGroundServicesSchema>;
8
8
  type FboFlightType = z.infer<typeof fboFlightTypeSchema>;
9
9
  type FboFlightStatus = z.infer<typeof fboFlightStatusSchema>;
10
10
  type FboOperations = z.infer<typeof fboOperationsSchema>;
11
+ type FboPob = z.infer<typeof fboPobSchema>;
12
+ type FboPerson = z.infer<typeof fboPersonSchema>;
13
+ type FboFlightDocument = z.infer<typeof fboFlightDocumentSchema>;
11
14
  type FboFlight = z.infer<typeof fboFlightSchema>;
12
15
  type FboOccupation = z.infer<typeof fboOccupationSchema>;
13
16
  type FboDuty = z.infer<typeof fboDutySchema>;
@@ -35,4 +38,4 @@ type FboActivity = z.infer<typeof fboActivitySchema>;
35
38
  type FboRecurringFlight = z.infer<typeof fboRecurringFlightSchema>;
36
39
  type FboMaterialiseResult = z.infer<typeof fboMaterialiseResultSchema>;
37
40
 
38
- export type { FboAcceptanceAxis, FboAcceptanceStatus, FboActivity, FboActivityCauser, FboActivityChanges, FboCompanyMember, FboCompanyProfile, FboDecision, FboDecisionAxis, FboDecisionInput, FboDuty, FboDutyAffected, FboDutySeriesResponse, FboFlight, FboFlightStatus, FboFlightType, FboGroundServices, FboLandingsSummary, FboMaterialiseResult, FboNextDuty, FboOccupation, FboOperations, FboRecurrence, FboRecurrenceType, FboRecurringFlight, FboRole, FboStatistics, FboSystemRole, FboTrafficRow, FboTrafficSource, FboVisibility, FboWeeklyLanding };
41
+ export type { FboAcceptanceAxis, FboAcceptanceStatus, FboActivity, FboActivityCauser, FboActivityChanges, FboCompanyMember, FboCompanyProfile, FboDecision, FboDecisionAxis, FboDecisionInput, FboDuty, FboDutyAffected, FboDutySeriesResponse, FboFlight, FboFlightDocument, FboFlightStatus, FboFlightType, FboGroundServices, FboLandingsSummary, FboMaterialiseResult, FboNextDuty, FboOccupation, FboOperations, FboPerson, FboPob, FboRecurrence, FboRecurrenceType, FboRecurringFlight, FboRole, FboStatistics, FboSystemRole, FboTrafficRow, FboTrafficSource, FboVisibility, FboWeeklyLanding };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@updraft-solutions/mcrit-sdk",
3
- "version": "0.14.9",
3
+ "version": "0.14.12",
4
4
  "description": "Shared TypeScript types, Zod schemas, and pure helpers for the MCRIT aviation fleet management platform",
5
5
  "homepage": "https://github.com/updraft-solutions/mcrit-sdk#readme",
6
6
  "bugs": {
@@ -5,11 +5,14 @@ import {
5
5
  fboDutyAffectedSchema,
6
6
  fboDutySchema,
7
7
  fboDutySeriesResponseSchema,
8
+ fboFlightDocumentSchema,
8
9
  fboFlightSchema,
9
10
  fboFlightStatusSchema,
10
11
  fboMaterialiseResultSchema,
11
12
  fboOccupationSchema,
12
13
  fboOperationsSchema,
14
+ fboPersonSchema,
15
+ fboPobSchema,
13
16
  fboRecurrenceSchema,
14
17
  fboRecurringFlightSchema,
15
18
  fboStatisticsSchema,
@@ -304,6 +307,12 @@ describe("fboFlightSchema — operations, batch, legs, and decider-only fields",
304
307
  expect(parsed.fbo_notes).toBe("Fuel truck delayed");
305
308
  expect(parsed.assigned_user_ids).toEqual([7, 12]);
306
309
  });
310
+
311
+ it("parses assigned_user_ids: null — a NULL column round-trips as raw null (an empty array cast), and FlightResource sets the key unconditionally for a decider", () => {
312
+ const decided = { ...flightPayload, fbo_notes: null, assigned_user_ids: null };
313
+ const parsed = fboFlightSchema.parse(decided);
314
+ expect(parsed.assigned_user_ids).toBeNull();
315
+ });
307
316
  });
308
317
 
309
318
  const recurringFlightPayload = {
@@ -343,6 +352,10 @@ describe("fboRecurringFlightSchema", () => {
343
352
  it("rejects an operating day outside 1..7 shape being a string", () => {
344
353
  expect(fboRecurringFlightSchema.safeParse({ ...recurringFlightPayload, operating_days: "135" }).success).toBe(false);
345
354
  });
355
+
356
+ it("rejects landings: null — the migration's tinyInteger column is NOT NULL (default 1)", () => {
357
+ expect(fboRecurringFlightSchema.safeParse({ ...recurringFlightPayload, landings: null }).success).toBe(false);
358
+ });
346
359
  });
347
360
 
348
361
  describe("fboMaterialiseResultSchema", () => {
@@ -351,3 +364,112 @@ describe("fboMaterialiseResultSchema", () => {
351
364
  expect(fboMaterialiseResultSchema.parse(payload)).toEqual(payload);
352
365
  });
353
366
  });
367
+
368
+ const pobPayload = {
369
+ crew: true,
370
+ firstname: "Erika",
371
+ lastname: "Muster",
372
+ birth: "1979-04-02",
373
+ nationality: "DE",
374
+ document_id: "C01X00T47",
375
+ document_validity: "2031-04-01",
376
+ };
377
+
378
+ describe("fboPobSchema", () => {
379
+ it("parses a fully filled person on board", () => {
380
+ expect(fboPobSchema.parse(pobPayload).nationality).toBe("DE");
381
+ });
382
+
383
+ it("parses a person whose travel document is not known yet — every field but the names is optional data", () => {
384
+ const sparse = { ...pobPayload, birth: null, nationality: null, document_id: null, document_validity: null };
385
+ expect(fboPobSchema.parse(sparse).document_id).toBeNull();
386
+ });
387
+
388
+ it("rejects a missing lastname — the API requires both names on every entry", () => {
389
+ const { lastname, ...withoutLastname } = pobPayload;
390
+ expect(fboPobSchema.safeParse(withoutLastname).success).toBe(false);
391
+ });
392
+
393
+ it("rejects crew as a string — the flag decides which table half the declaration lists the person in", () => {
394
+ expect(fboPobSchema.safeParse({ ...pobPayload, crew: "1" }).success).toBe(false);
395
+ });
396
+ });
397
+
398
+ describe("fboPersonSchema", () => {
399
+ const personPayload = { ...pobPayload, id: 143, is_mine: true, created_at: "2026-08-26T10:00:00.000000Z" };
400
+
401
+ it("parses an address-book row the caller owns", () => {
402
+ const parsed = fboPersonSchema.parse(personPayload);
403
+ expect(parsed.id).toBe(143);
404
+ expect(parsed.is_mine).toBe(true);
405
+ });
406
+
407
+ it("parses a row visible only through the company, not owned by the caller", () => {
408
+ expect(fboPersonSchema.parse({ ...personPayload, is_mine: false }).is_mine).toBe(false);
409
+ });
410
+
411
+ it("rejects a row without an id — a template must be addressable to be edited or deleted", () => {
412
+ const { id, ...withoutId } = personPayload;
413
+ expect(fboPersonSchema.safeParse(withoutId).success).toBe(false);
414
+ });
415
+ });
416
+
417
+ const documentPayload = {
418
+ id: 9001,
419
+ uuid: "6f1b3d5e-0000-4000-8000-000000000042",
420
+ name: "General Declaration",
421
+ file_name: "gendec.pdf",
422
+ mime_type: "application/pdf",
423
+ size: 84213,
424
+ collection_name: "documents",
425
+ ima_file_id: null,
426
+ download_path: "/companies/34/fbo/flights/44796/documents/9001",
427
+ created_at: "2026-08-26T10:00:00.000000Z",
428
+ };
429
+
430
+ describe("fboFlightDocumentSchema", () => {
431
+ it("parses an uploaded movement document", () => {
432
+ expect(fboFlightDocumentSchema.parse(documentPayload).download_path).toBe(
433
+ "/companies/34/fbo/flights/44796/documents/9001",
434
+ );
435
+ });
436
+
437
+ it("parses an imported row whose source id is stamped as text", () => {
438
+ expect(fboFlightDocumentSchema.parse({ ...documentPayload, ima_file_id: "104" }).ima_file_id).toBe("104");
439
+ });
440
+
441
+ it("rejects a size sent as a string — the list renders it as a byte count", () => {
442
+ expect(fboFlightDocumentSchema.safeParse({ ...documentPayload, size: "84213" }).success).toBe(false);
443
+ });
444
+ });
445
+
446
+ describe("fboFlightSchema — POB, documents and the customs mail stamp", () => {
447
+ it("parses a movement whose payload carries none of the three keys — a colleague never receives POB", () => {
448
+ const parsed = fboFlightSchema.parse(flightPayload);
449
+ expect(parsed.pobs).toBeUndefined();
450
+ expect(parsed.documents_count).toBeUndefined();
451
+ expect(parsed.customs_mail_sent_at).toBeUndefined();
452
+ });
453
+
454
+ it("parses the author's own row: the POB list, the document count and an unsent customs mail", () => {
455
+ const own = { ...flightPayload, pobs: [pobPayload], documents_count: 2, customs_mail_sent_at: null };
456
+ const parsed = fboFlightSchema.parse(own);
457
+ expect(parsed.pobs).toHaveLength(1);
458
+ expect(parsed.documents_count).toBe(2);
459
+ expect(parsed.customs_mail_sent_at).toBeNull();
460
+ });
461
+
462
+ it("parses pobs: null — a movement whose list was never filled, or has been purged by retention", () => {
463
+ expect(fboFlightSchema.parse({ ...flightPayload, pobs: null }).pobs).toBeNull();
464
+ });
465
+
466
+ it("parses a stamped customs mail timestamp", () => {
467
+ const sent = { ...flightPayload, customs_mail_sent_at: "2026-08-28T09:15:00.000000Z" };
468
+ expect(fboFlightSchema.parse(sent).customs_mail_sent_at).toBe("2026-08-28T09:15:00.000000Z");
469
+ });
470
+
471
+ it("rejects a POB entry missing its names inside an otherwise valid movement", () => {
472
+ const bad = { ...flightPayload, pobs: [{ crew: false, firstname: "Erika" }] };
473
+ expect(fboFlightSchema.safeParse(bad).success).toBe(false);
474
+ });
475
+ });
@@ -64,6 +64,62 @@ export const fboRowCanSchema = z.object({
64
64
  delete: z.boolean(),
65
65
  });
66
66
 
67
+ /**
68
+ * One person on board a movement — the per-element shape of the flight's
69
+ * `pobs` list and, minus the row identity, of an address-book person.
70
+ * `birth`/`document_validity` are plain `Y-m-d` dates (no time); `nationality`
71
+ * is an uppercase ISO-3166-1 alpha-2 code. Every field but the names is
72
+ * optional data a filer may not have to hand yet.
73
+ *
74
+ * Passport data: it is only ever in a payload the API decided the caller may
75
+ * see (the movement's own author, or a root decider) — never cached to disk
76
+ * on the client.
77
+ */
78
+ export const fboPobSchema = z.object({
79
+ /** Crew member rather than passenger — the customs declaration lists the two apart. */
80
+ crew: z.boolean(),
81
+ firstname: z.string(),
82
+ lastname: z.string(),
83
+ birth: z.string().nullable(),
84
+ nationality: z.string().nullable(),
85
+ document_id: z.string().nullable(),
86
+ document_validity: z.string().nullable(),
87
+ });
88
+
89
+ /**
90
+ * An address-book person — a saved template the POB editor fills a row from,
91
+ * so a document number never has to be retyped. Same field set as
92
+ * `fboPobSchema` plus the row's own identity; `is_mine` says whether the
93
+ * CALLER owns it (theirs to edit or delete) rather than it merely being
94
+ * visible through the company they are filing at.
95
+ */
96
+ export const fboPersonSchema = fboPobSchema.extend({
97
+ id: z.number(),
98
+ is_mine: z.boolean(),
99
+ created_at: z.string().nullable(),
100
+ });
101
+
102
+ /**
103
+ * A document hanging on a movement — General Declaration, passports, customs
104
+ * paperwork. `download_path` is a RELATIVE API path, never a fetchable file
105
+ * URL: the bytes live on a private disk and are streamed back through the
106
+ * authorised endpoint, so every fetch re-runs the caller's authority.
107
+ * `ima_file_id` is set only on the rows imported from the predecessor system,
108
+ * and is a STRING there — the importer stamps the source id as text.
109
+ */
110
+ export const fboFlightDocumentSchema = z.object({
111
+ id: z.number(),
112
+ uuid: z.string().nullable(),
113
+ name: z.string(),
114
+ file_name: z.string(),
115
+ mime_type: z.string().nullable(),
116
+ size: z.number(),
117
+ collection_name: z.string(),
118
+ ima_file_id: z.string().nullable().optional(),
119
+ download_path: z.string().nullable(),
120
+ created_at: z.string().nullable(),
121
+ });
122
+
67
123
  export const fboFlightSchema = z.object({
68
124
  id: z.number(),
69
125
  type: fboFlightTypeSchema,
@@ -104,13 +160,28 @@ export const fboFlightSchema = z.object({
104
160
  batch_uuid: z.string().nullable(),
105
161
  /** Count of live rows sharing `batch_uuid`; `1` when `batch_uuid` is null. */
106
162
  legs_count: z.number(),
163
+ /**
164
+ * Persons on board. Own-row tier, stricter than `fbo_notes`: the key is
165
+ * present only for the movement's own AUTHOR or a root decider — a
166
+ * colleague reading the same row never receives it. `.optional()` covers
167
+ * the omitted key, `.nullable()` a movement whose list was never filled
168
+ * (or has been purged by retention).
169
+ */
170
+ pobs: z.array(fboPobSchema).nullable().optional(),
171
+ /**
172
+ * How many documents hang on the movement. The files themselves are never
173
+ * listed here — they are fetched, and authorised, one endpoint deeper.
174
+ */
175
+ documents_count: z.number().nullable().optional(),
176
+ /** When the customs pre-declaration was last mailed; `null` while it never was. */
177
+ customs_mail_sent_at: z.string().nullable().optional(),
107
178
  /**
108
179
  * Root tier — present only when the requesting user holds `fbo.flight.decide`
109
180
  * for the row's company; absent (key omitted) for everyone else, including
110
181
  * traffic-board `details`/`limited` viewers. Writable only by deciders.
111
182
  */
112
183
  fbo_notes: z.string().nullable().optional(),
113
- assigned_user_ids: z.array(z.number()).optional(),
184
+ assigned_user_ids: z.array(z.number()).nullable().optional(),
114
185
 
115
186
  /**
116
187
  * Where the row comes from: the FBO's own filing (`fbo`, default) or a
@@ -351,7 +422,7 @@ export const fboRecurringFlightSchema = z.object({
351
422
  timezone: z.string(),
352
423
  ifr: z.boolean(),
353
424
  wx: z.boolean(),
354
- landings: z.number().nullable(),
425
+ landings: z.number(),
355
426
  remarks: z.string().nullable(),
356
427
  author_id: z.number().nullable(),
357
428
  created_at: z.string(),
package/src/types/fbo.ts CHANGED
@@ -7,6 +7,9 @@ export type FboGroundServices = z.infer<typeof Fbo.fboGroundServicesSchema>;
7
7
  export type FboFlightType = z.infer<typeof Fbo.fboFlightTypeSchema>;
8
8
  export type FboFlightStatus = z.infer<typeof Fbo.fboFlightStatusSchema>;
9
9
  export type FboOperations = z.infer<typeof Fbo.fboOperationsSchema>;
10
+ export type FboPob = z.infer<typeof Fbo.fboPobSchema>;
11
+ export type FboPerson = z.infer<typeof Fbo.fboPersonSchema>;
12
+ export type FboFlightDocument = z.infer<typeof Fbo.fboFlightDocumentSchema>;
10
13
  export type FboFlight = z.infer<typeof Fbo.fboFlightSchema>;
11
14
  export type FboOccupation = z.infer<typeof Fbo.fboOccupationSchema>;
12
15
  export type FboDuty = z.infer<typeof Fbo.fboDutySchema>;