@updraft-solutions/mcrit-sdk 0.14.15 → 0.14.18

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.
@@ -175,6 +175,7 @@ import {
175
175
  fboRowCanSchema,
176
176
  fboStatisticsSchema,
177
177
  fboSystemRoleSchema,
178
+ fboTrafficLayerInputSchema,
178
179
  fboTrafficRowSchema,
179
180
  fboTrafficRowTypeSchema,
180
181
  fboTrafficSourceSchema,
@@ -221,6 +222,7 @@ import {
221
222
  syllabusRolloutSkippedItemSchema,
222
223
  syllabusSchema,
223
224
  tagSchema,
225
+ teachingPermissionSchema,
224
226
  ticketSchema,
225
227
  trainingElementSchema,
226
228
  trainingRecordEntryInputSchema,
@@ -237,7 +239,7 @@ import {
237
239
  zMoneyObject,
238
240
  zNetGross,
239
241
  zNullableBool
240
- } from "../chunk-CKSRCSJF.js";
242
+ } from "../chunk-2TZ63XWR.js";
241
243
  export {
242
244
  ALLOWED_GEOMETRY_TYPES,
243
245
  ALLOWED_NEWSLETTER_VARIABLES,
@@ -415,6 +417,7 @@ export {
415
417
  fboRowCanSchema,
416
418
  fboStatisticsSchema,
417
419
  fboSystemRoleSchema,
420
+ fboTrafficLayerInputSchema,
418
421
  fboTrafficRowSchema,
419
422
  fboTrafficRowTypeSchema,
420
423
  fboTrafficSourceSchema,
@@ -461,6 +464,7 @@ export {
461
464
  syllabusRolloutSkippedItemSchema,
462
465
  syllabusSchema,
463
466
  tagSchema,
467
+ teachingPermissionSchema,
464
468
  ticketSchema,
465
469
  trainingElementSchema,
466
470
  trainingRecordEntryInputSchema,
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { aE as activitySchema, aF as addressSchema, aG as aircraftPositionSchema, aH as aircraftRatingSchema, aM as airplaneSchema, aL as airplanePermissionSchema, aN as airplaneShareInviteSchema, aO as airportSchema, aP as alertSchema, aQ as allowedDocumentTypeSchema, aR as approachTypeSchema, aS as availSchema, aT as baseMembershipSchema, aV as bookingSchema, aX as commentSchema, aZ as companySchema, b3 as courseSchema, b1 as courseEnrollmentSchema, b2 as courseFeeSchema, aJ as airplaneIssueSeverityEnum, b9 as documentSchema, b5 as documentComplianceStatus, b6 as documentRequirement, b7 as documentRequirementGroup, b8 as documentRequirementGroupAssignment, ba as documentShareSchema, bb as documentType, bd as eventSchema, bf as expenseSchema, be as expenseItemSchema, bg as extendedAirplaneSchema, b$ as feeSchema, b_ as feeCategoryOptionsSchema, c0 as flightLogSchema, c8 as invoiceSchema, ca as landingSchema, c9 as landingFeeSchema, cc as maintenanceEventSchema, cb as maintenanceEventEstimationSchema, cd as maintenanceStatusSchema, ce as mediaCollection, ch as membershipSchema, ci as membershipSignupSchema, ck as postSchema, cl as postSubjectSchema, cn as prePaidPackageSchema, co as priceSchema, cp as qualificationSchema, cq as recurringFlightSchema, cr as roleSchema, cs as runwaySchema, ct as scheduledFlightSchema, cu as settingSchema, cv as specialFlightSchema, cC as tagSchema, cD as ticketSchema, cN as userSchema, cL as userAircraftRatingSchema, cM as userQualificationSchema, cO as waypointSchema, aI as airplaneIssueSchema, aK as airplaneIssueStatusEnum, B as BaseModel$1, a$ as courseCheckSyllabusSchema, b0 as courseEnrollmentMetricsSchema, cf as mediaSchema, n as FormSubmission, bh as fboAcceptanceAxisSchema, bi as fboAcceptanceStatusSchema, bl as fboActivitySchema, bj as fboActivityCauserSchema, bk as fboActivityChangesSchema, bq as fboCompanySchema, bn as fboCompanyGrantSchema, bm as fboCompanyGrantInputSchema, bo as fboCompanyMemberSchema, bp as fboCompanyProfileSchema, bt as fboDecisionSchema, br as fboDecisionAxisSchema, bs as fboDecisionInputSchema, bv as fboDutySchema, bu as fboDutyAffectedSchema, bw as fboDutySeriesResponseSchema, bz as fboFlightSchema, by as fboFlightDocumentSchema, bA as fboFlightStatusSchema, bB as fboFlightTypeSchema, bD as fboGrantAbilitySchema, bC as fboGrantAbilityOptionSchema, bE as fboGrantCompanyRefSchema, bF as fboGroundServicesSchema, bG as fboLandingsSummarySchema, bH as fboMaterialiseResultSchema, bI as fboMetaSchema, bJ as fboNextDutySchema, bK as fboOccupationSchema, bL as fboOperationsSchema, bM as fboPersonSchema, bN as fboPobSchema, bO as fboRecurrenceSchema, bP as fboRecurrenceTypeSchema, bQ as fboRecurringFlightSchema, bR as fboRoleSchema, bT as fboStatisticsSchema, bU as fboSystemRoleSchema, bV as fboTrafficRowSchema, bX as fboTrafficSourceSchema, bY as fboVisibilitySchema, bZ as fboWeeklyLandingSchema } from '../fbo-8VPwfme5.cjs';
2
+ import { aE as activitySchema, aF as addressSchema, aG as aircraftPositionSchema, aH as aircraftRatingSchema, aM as airplaneSchema, aL as airplanePermissionSchema, aN as airplaneShareInviteSchema, aO as airportSchema, aP as alertSchema, aQ as allowedDocumentTypeSchema, aR as approachTypeSchema, aS as availSchema, aT as baseMembershipSchema, aV as bookingSchema, aX as commentSchema, aZ as companySchema, b3 as courseSchema, b1 as courseEnrollmentSchema, b2 as courseFeeSchema, aJ as airplaneIssueSeverityEnum, b9 as documentSchema, b5 as documentComplianceStatus, b6 as documentRequirement, b7 as documentRequirementGroup, b8 as documentRequirementGroupAssignment, ba as documentShareSchema, bb as documentType, bd as eventSchema, bf as expenseSchema, be as expenseItemSchema, bg as extendedAirplaneSchema, c0 as feeSchema, b$ as feeCategoryOptionsSchema, c1 as flightLogSchema, c9 as invoiceSchema, cb as landingSchema, ca as landingFeeSchema, cd as maintenanceEventSchema, cc as maintenanceEventEstimationSchema, ce as maintenanceStatusSchema, cf as mediaCollection, ci as membershipSchema, cj as membershipSignupSchema, cl as postSchema, cm as postSubjectSchema, co as prePaidPackageSchema, cp as priceSchema, cq as qualificationSchema, cr as recurringFlightSchema, cs as roleSchema, ct as runwaySchema, cu as scheduledFlightSchema, cv as settingSchema, cw as specialFlightSchema, cD as tagSchema, cE as teachingPermissionSchema, cF as ticketSchema, cP as userSchema, cN as userAircraftRatingSchema, cO as userQualificationSchema, cQ as waypointSchema, aI as airplaneIssueSchema, aK as airplaneIssueStatusEnum, B as BaseModel$1, a$ as courseCheckSyllabusSchema, b0 as courseEnrollmentMetricsSchema, cg as mediaSchema, n as FormSubmission, bh as fboAcceptanceAxisSchema, bi as fboAcceptanceStatusSchema, bl as fboActivitySchema, bj as fboActivityCauserSchema, bk as fboActivityChangesSchema, bq as fboCompanySchema, bn as fboCompanyGrantSchema, bm as fboCompanyGrantInputSchema, bo as fboCompanyMemberSchema, bp as fboCompanyProfileSchema, bt as fboDecisionSchema, br as fboDecisionAxisSchema, bs as fboDecisionInputSchema, bv as fboDutySchema, bu as fboDutyAffectedSchema, bw as fboDutySeriesResponseSchema, bz as fboFlightSchema, by as fboFlightDocumentSchema, bA as fboFlightStatusSchema, bB as fboFlightTypeSchema, bD as fboGrantAbilitySchema, bC as fboGrantAbilityOptionSchema, bE as fboGrantCompanyRefSchema, bF as fboGroundServicesSchema, bG as fboLandingsSummarySchema, bH as fboMaterialiseResultSchema, bI as fboMetaSchema, bJ as fboNextDutySchema, bK as fboOccupationSchema, bL as fboOperationsSchema, bM as fboPersonSchema, bN as fboPobSchema, bO as fboRecurrenceSchema, bP as fboRecurrenceTypeSchema, bQ as fboRecurringFlightSchema, bR as fboRoleSchema, bT as fboStatisticsSchema, bU as fboSystemRoleSchema, bV as fboTrafficLayerInputSchema, bW as fboTrafficRowSchema, bY as fboTrafficSourceSchema, bZ as fboVisibilitySchema, b_ as fboWeeklyLandingSchema } from '../fbo-3nV_Rerj.cjs';
3
3
 
4
4
  type BaseModel = z.infer<typeof BaseModel$1>;
5
5
  type User = z.infer<typeof userSchema>;
@@ -11,6 +11,7 @@ type Membership = z.infer<typeof membershipSchema>;
11
11
  type Airplane = z.infer<typeof airplaneSchema>;
12
12
  type ExtendedAirplane = z.infer<typeof extendedAirplaneSchema>;
13
13
  type AirplanePermission = z.infer<typeof airplanePermissionSchema>;
14
+ type TeachingPermission = z.infer<typeof teachingPermissionSchema>;
14
15
  type AirplaneShareInvite = z.infer<typeof airplaneShareInviteSchema>;
15
16
  type LandingFee = z.infer<typeof landingFeeSchema>;
16
17
  type AircraftRating = z.infer<typeof aircraftRatingSchema>;
@@ -167,6 +168,7 @@ interface ComplianceRequirement {
167
168
  logical_group: string;
168
169
  is_satisfied: boolean;
169
170
  awaiting_countersignature?: boolean;
171
+ shared?: boolean;
170
172
  submission: FormSubmission | null;
171
173
  }
172
174
  interface ComplianceRequirementGroup {
@@ -602,6 +604,7 @@ type FboDecisionInput = z.infer<typeof fboDecisionInputSchema>;
602
604
  type FboVisibility = z.infer<typeof fboVisibilitySchema>;
603
605
  type FboTrafficSource = z.infer<typeof fboTrafficSourceSchema>;
604
606
  type FboTrafficRow = z.infer<typeof fboTrafficRowSchema>;
607
+ type FboTrafficLayerInput = z.infer<typeof fboTrafficLayerInputSchema>;
605
608
  type FboSystemRole = z.infer<typeof fboSystemRoleSchema>;
606
609
  type FboCompanyMember = z.infer<typeof fboCompanyMemberSchema>;
607
610
  type FboNextDuty = z.infer<typeof fboNextDutySchema>;
@@ -621,4 +624,4 @@ type FboCompanyGrantInput = z.infer<typeof fboCompanyGrantInputSchema>;
621
624
  type FboMeta = z.infer<typeof fboMetaSchema>;
622
625
  type FboCompany = z.infer<typeof fboCompanySchema>;
623
626
 
624
- export type { Activity, Address, AiSuggestedMilestone, AiSuggestion, AiSuggestionStatus, AircraftBlock, AircraftBlockReason, AircraftPosition, AircraftRating, Airplane, AirplaneIssue, AirplaneIssueSeverity, AirplaneIssueStatus, AirplanePermission, AirplaneShareInvite, Airport, Alert, AllowedDocumentType, ApiResponse, ApproachType, Avail, BackgroundTask, BackgroundTaskStatus, BaseMembership, BaseModel, Booking, Comment, Company, ComplianceData, ComplianceGroup, ComplianceGroupSource, ComplianceRequirement, ComplianceRequirementGroup, ComplianceResponse, ComplianceSummary, Course, CourseCheckSyllabus, CourseDescriptionSuggestionPayload, CourseEnrollment, CourseEnrollmentMetrics, CourseFee, CreateAirplaneIssueInput, CreateCommentInput, CreatePostInput, DataWrappedResponse, DeferAirplaneIssueInput, DiscardedRow, Document, DocumentComplianceStatus, DocumentRequirement, DocumentRequirementGroup, DocumentRequirementGroupAssignment, DocumentShare, DocumentType, Event, Expense, ExpenseItem, ExtendedAirplane, FboAcceptanceAxis, FboAcceptanceStatus, FboActivity, FboActivityCauser, FboActivityChanges, FboCompany, FboCompanyGrant, FboCompanyGrantInput, FboCompanyMember, FboCompanyProfile, FboDecision, FboDecisionAxis, FboDecisionInput, FboDuty, FboDutyAffected, FboDutySeriesResponse, FboFlight, FboFlightDocument, FboFlightStatus, FboFlightType, FboGrantAbility, FboGrantAbilityOption, FboGrantCompanyRef, FboGroundServices, FboLandingsSummary, FboMaterialiseResult, FboMeta, FboNextDuty, FboOccupation, FboOperations, FboPerson, FboPob, FboRecurrence, FboRecurrenceType, FboRecurringFlight, FboRole, FboStatistics, FboSystemRole, FboTrafficRow, FboTrafficSource, FboVisibility, FboWeeklyLanding, Fee, FeeCategoryOptions, FlightLog, GroupedPermissions, Invoice, Landing, LandingFee, LandingFeeImportResult, LandingFeeInvoiceApplyPayload, LandingFeeInvoiceApplyResult, LandingFeeInvoicePreview, LandingFeeInvoicePreviewRow, LandingFeeTemplateParams, LogbookFlightLogPayload, LogbookStageResult, LogbookSuggestion, LogbookSuggestionMeta, MaintenanceEvent, MaintenanceEventEstimation, MaintenanceStatus, Media, MediaCollection, Membership, MembershipSignup, OperatingHourDay, OperatingHourException, OperatingHourExceptionInput, OperatingHourInterval, OperatingHourKind, OperatingHourResolvedDate, OperatingHourSchedule, OperatingHourScheduleInput, OperatingHourStatusEntry, OperatingHourWindow, OperatingHoursMeta, OperatingHoursNextOpenEntry, OperatingHoursNextOpenResponse, OperatingHoursStatusResponse, OperatingStatusValue, PaginatedResponse, PermissionItem, Post, PostSubject, PrePaidPackage, Price, Qualification, RecurringFlight, ResolveAirplaneIssueInput, Resource, Role, RoleDetail, RoleListItem, Runway, ScheduledFlight, Setting, SpecialFlight, Tag, TagSyncEntry, Ticket, TimeAnchor, ToggleFavoriteResponse, UpdateAirplaneIssueInput, UpdateCommentInput, UpdatePostInput, User, UserAircraftRating, UserQualification, Waypoint };
627
+ export type { Activity, Address, AiSuggestedMilestone, AiSuggestion, AiSuggestionStatus, AircraftBlock, AircraftBlockReason, AircraftPosition, AircraftRating, Airplane, AirplaneIssue, AirplaneIssueSeverity, AirplaneIssueStatus, AirplanePermission, AirplaneShareInvite, Airport, Alert, AllowedDocumentType, ApiResponse, ApproachType, Avail, BackgroundTask, BackgroundTaskStatus, BaseMembership, BaseModel, Booking, Comment, Company, ComplianceData, ComplianceGroup, ComplianceGroupSource, ComplianceRequirement, ComplianceRequirementGroup, ComplianceResponse, ComplianceSummary, Course, CourseCheckSyllabus, CourseDescriptionSuggestionPayload, CourseEnrollment, CourseEnrollmentMetrics, CourseFee, CreateAirplaneIssueInput, CreateCommentInput, CreatePostInput, DataWrappedResponse, DeferAirplaneIssueInput, DiscardedRow, Document, DocumentComplianceStatus, DocumentRequirement, DocumentRequirementGroup, DocumentRequirementGroupAssignment, DocumentShare, DocumentType, Event, Expense, ExpenseItem, ExtendedAirplane, FboAcceptanceAxis, FboAcceptanceStatus, FboActivity, FboActivityCauser, FboActivityChanges, FboCompany, FboCompanyGrant, FboCompanyGrantInput, FboCompanyMember, FboCompanyProfile, FboDecision, FboDecisionAxis, FboDecisionInput, FboDuty, FboDutyAffected, FboDutySeriesResponse, FboFlight, FboFlightDocument, FboFlightStatus, FboFlightType, FboGrantAbility, FboGrantAbilityOption, FboGrantCompanyRef, FboGroundServices, FboLandingsSummary, FboMaterialiseResult, FboMeta, FboNextDuty, FboOccupation, FboOperations, FboPerson, FboPob, FboRecurrence, FboRecurrenceType, FboRecurringFlight, FboRole, FboStatistics, FboSystemRole, FboTrafficLayerInput, FboTrafficRow, FboTrafficSource, FboVisibility, FboWeeklyLanding, Fee, FeeCategoryOptions, FlightLog, GroupedPermissions, Invoice, Landing, LandingFee, LandingFeeImportResult, LandingFeeInvoiceApplyPayload, LandingFeeInvoiceApplyResult, LandingFeeInvoicePreview, LandingFeeInvoicePreviewRow, LandingFeeTemplateParams, LogbookFlightLogPayload, LogbookStageResult, LogbookSuggestion, LogbookSuggestionMeta, MaintenanceEvent, MaintenanceEventEstimation, MaintenanceStatus, Media, MediaCollection, Membership, MembershipSignup, OperatingHourDay, OperatingHourException, OperatingHourExceptionInput, OperatingHourInterval, OperatingHourKind, OperatingHourResolvedDate, OperatingHourSchedule, OperatingHourScheduleInput, OperatingHourStatusEntry, OperatingHourWindow, OperatingHoursMeta, OperatingHoursNextOpenEntry, OperatingHoursNextOpenResponse, OperatingHoursStatusResponse, OperatingStatusValue, PaginatedResponse, PermissionItem, Post, PostSubject, PrePaidPackage, Price, Qualification, RecurringFlight, ResolveAirplaneIssueInput, Resource, Role, RoleDetail, RoleListItem, Runway, ScheduledFlight, Setting, SpecialFlight, Tag, TagSyncEntry, TeachingPermission, Ticket, TimeAnchor, ToggleFavoriteResponse, UpdateAirplaneIssueInput, UpdateCommentInput, UpdatePostInput, User, UserAircraftRating, UserQualification, Waypoint };
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { aE as activitySchema, aF as addressSchema, aG as aircraftPositionSchema, aH as aircraftRatingSchema, aM as airplaneSchema, aL as airplanePermissionSchema, aN as airplaneShareInviteSchema, aO as airportSchema, aP as alertSchema, aQ as allowedDocumentTypeSchema, aR as approachTypeSchema, aS as availSchema, aT as baseMembershipSchema, aV as bookingSchema, aX as commentSchema, aZ as companySchema, b3 as courseSchema, b1 as courseEnrollmentSchema, b2 as courseFeeSchema, aJ as airplaneIssueSeverityEnum, b9 as documentSchema, b5 as documentComplianceStatus, b6 as documentRequirement, b7 as documentRequirementGroup, b8 as documentRequirementGroupAssignment, ba as documentShareSchema, bb as documentType, bd as eventSchema, bf as expenseSchema, be as expenseItemSchema, bg as extendedAirplaneSchema, b$ as feeSchema, b_ as feeCategoryOptionsSchema, c0 as flightLogSchema, c8 as invoiceSchema, ca as landingSchema, c9 as landingFeeSchema, cc as maintenanceEventSchema, cb as maintenanceEventEstimationSchema, cd as maintenanceStatusSchema, ce as mediaCollection, ch as membershipSchema, ci as membershipSignupSchema, ck as postSchema, cl as postSubjectSchema, cn as prePaidPackageSchema, co as priceSchema, cp as qualificationSchema, cq as recurringFlightSchema, cr as roleSchema, cs as runwaySchema, ct as scheduledFlightSchema, cu as settingSchema, cv as specialFlightSchema, cC as tagSchema, cD as ticketSchema, cN as userSchema, cL as userAircraftRatingSchema, cM as userQualificationSchema, cO as waypointSchema, aI as airplaneIssueSchema, aK as airplaneIssueStatusEnum, B as BaseModel$1, a$ as courseCheckSyllabusSchema, b0 as courseEnrollmentMetricsSchema, cf as mediaSchema, n as FormSubmission, bh as fboAcceptanceAxisSchema, bi as fboAcceptanceStatusSchema, bl as fboActivitySchema, bj as fboActivityCauserSchema, bk as fboActivityChangesSchema, bq as fboCompanySchema, bn as fboCompanyGrantSchema, bm as fboCompanyGrantInputSchema, bo as fboCompanyMemberSchema, bp as fboCompanyProfileSchema, bt as fboDecisionSchema, br as fboDecisionAxisSchema, bs as fboDecisionInputSchema, bv as fboDutySchema, bu as fboDutyAffectedSchema, bw as fboDutySeriesResponseSchema, bz as fboFlightSchema, by as fboFlightDocumentSchema, bA as fboFlightStatusSchema, bB as fboFlightTypeSchema, bD as fboGrantAbilitySchema, bC as fboGrantAbilityOptionSchema, bE as fboGrantCompanyRefSchema, bF as fboGroundServicesSchema, bG as fboLandingsSummarySchema, bH as fboMaterialiseResultSchema, bI as fboMetaSchema, bJ as fboNextDutySchema, bK as fboOccupationSchema, bL as fboOperationsSchema, bM as fboPersonSchema, bN as fboPobSchema, bO as fboRecurrenceSchema, bP as fboRecurrenceTypeSchema, bQ as fboRecurringFlightSchema, bR as fboRoleSchema, bT as fboStatisticsSchema, bU as fboSystemRoleSchema, bV as fboTrafficRowSchema, bX as fboTrafficSourceSchema, bY as fboVisibilitySchema, bZ as fboWeeklyLandingSchema } from '../fbo-8VPwfme5.js';
2
+ import { aE as activitySchema, aF as addressSchema, aG as aircraftPositionSchema, aH as aircraftRatingSchema, aM as airplaneSchema, aL as airplanePermissionSchema, aN as airplaneShareInviteSchema, aO as airportSchema, aP as alertSchema, aQ as allowedDocumentTypeSchema, aR as approachTypeSchema, aS as availSchema, aT as baseMembershipSchema, aV as bookingSchema, aX as commentSchema, aZ as companySchema, b3 as courseSchema, b1 as courseEnrollmentSchema, b2 as courseFeeSchema, aJ as airplaneIssueSeverityEnum, b9 as documentSchema, b5 as documentComplianceStatus, b6 as documentRequirement, b7 as documentRequirementGroup, b8 as documentRequirementGroupAssignment, ba as documentShareSchema, bb as documentType, bd as eventSchema, bf as expenseSchema, be as expenseItemSchema, bg as extendedAirplaneSchema, c0 as feeSchema, b$ as feeCategoryOptionsSchema, c1 as flightLogSchema, c9 as invoiceSchema, cb as landingSchema, ca as landingFeeSchema, cd as maintenanceEventSchema, cc as maintenanceEventEstimationSchema, ce as maintenanceStatusSchema, cf as mediaCollection, ci as membershipSchema, cj as membershipSignupSchema, cl as postSchema, cm as postSubjectSchema, co as prePaidPackageSchema, cp as priceSchema, cq as qualificationSchema, cr as recurringFlightSchema, cs as roleSchema, ct as runwaySchema, cu as scheduledFlightSchema, cv as settingSchema, cw as specialFlightSchema, cD as tagSchema, cE as teachingPermissionSchema, cF as ticketSchema, cP as userSchema, cN as userAircraftRatingSchema, cO as userQualificationSchema, cQ as waypointSchema, aI as airplaneIssueSchema, aK as airplaneIssueStatusEnum, B as BaseModel$1, a$ as courseCheckSyllabusSchema, b0 as courseEnrollmentMetricsSchema, cg as mediaSchema, n as FormSubmission, bh as fboAcceptanceAxisSchema, bi as fboAcceptanceStatusSchema, bl as fboActivitySchema, bj as fboActivityCauserSchema, bk as fboActivityChangesSchema, bq as fboCompanySchema, bn as fboCompanyGrantSchema, bm as fboCompanyGrantInputSchema, bo as fboCompanyMemberSchema, bp as fboCompanyProfileSchema, bt as fboDecisionSchema, br as fboDecisionAxisSchema, bs as fboDecisionInputSchema, bv as fboDutySchema, bu as fboDutyAffectedSchema, bw as fboDutySeriesResponseSchema, bz as fboFlightSchema, by as fboFlightDocumentSchema, bA as fboFlightStatusSchema, bB as fboFlightTypeSchema, bD as fboGrantAbilitySchema, bC as fboGrantAbilityOptionSchema, bE as fboGrantCompanyRefSchema, bF as fboGroundServicesSchema, bG as fboLandingsSummarySchema, bH as fboMaterialiseResultSchema, bI as fboMetaSchema, bJ as fboNextDutySchema, bK as fboOccupationSchema, bL as fboOperationsSchema, bM as fboPersonSchema, bN as fboPobSchema, bO as fboRecurrenceSchema, bP as fboRecurrenceTypeSchema, bQ as fboRecurringFlightSchema, bR as fboRoleSchema, bT as fboStatisticsSchema, bU as fboSystemRoleSchema, bV as fboTrafficLayerInputSchema, bW as fboTrafficRowSchema, bY as fboTrafficSourceSchema, bZ as fboVisibilitySchema, b_ as fboWeeklyLandingSchema } from '../fbo-3nV_Rerj.js';
3
3
 
4
4
  type BaseModel = z.infer<typeof BaseModel$1>;
5
5
  type User = z.infer<typeof userSchema>;
@@ -11,6 +11,7 @@ type Membership = z.infer<typeof membershipSchema>;
11
11
  type Airplane = z.infer<typeof airplaneSchema>;
12
12
  type ExtendedAirplane = z.infer<typeof extendedAirplaneSchema>;
13
13
  type AirplanePermission = z.infer<typeof airplanePermissionSchema>;
14
+ type TeachingPermission = z.infer<typeof teachingPermissionSchema>;
14
15
  type AirplaneShareInvite = z.infer<typeof airplaneShareInviteSchema>;
15
16
  type LandingFee = z.infer<typeof landingFeeSchema>;
16
17
  type AircraftRating = z.infer<typeof aircraftRatingSchema>;
@@ -167,6 +168,7 @@ interface ComplianceRequirement {
167
168
  logical_group: string;
168
169
  is_satisfied: boolean;
169
170
  awaiting_countersignature?: boolean;
171
+ shared?: boolean;
170
172
  submission: FormSubmission | null;
171
173
  }
172
174
  interface ComplianceRequirementGroup {
@@ -602,6 +604,7 @@ type FboDecisionInput = z.infer<typeof fboDecisionInputSchema>;
602
604
  type FboVisibility = z.infer<typeof fboVisibilitySchema>;
603
605
  type FboTrafficSource = z.infer<typeof fboTrafficSourceSchema>;
604
606
  type FboTrafficRow = z.infer<typeof fboTrafficRowSchema>;
607
+ type FboTrafficLayerInput = z.infer<typeof fboTrafficLayerInputSchema>;
605
608
  type FboSystemRole = z.infer<typeof fboSystemRoleSchema>;
606
609
  type FboCompanyMember = z.infer<typeof fboCompanyMemberSchema>;
607
610
  type FboNextDuty = z.infer<typeof fboNextDutySchema>;
@@ -621,4 +624,4 @@ type FboCompanyGrantInput = z.infer<typeof fboCompanyGrantInputSchema>;
621
624
  type FboMeta = z.infer<typeof fboMetaSchema>;
622
625
  type FboCompany = z.infer<typeof fboCompanySchema>;
623
626
 
624
- export type { Activity, Address, AiSuggestedMilestone, AiSuggestion, AiSuggestionStatus, AircraftBlock, AircraftBlockReason, AircraftPosition, AircraftRating, Airplane, AirplaneIssue, AirplaneIssueSeverity, AirplaneIssueStatus, AirplanePermission, AirplaneShareInvite, Airport, Alert, AllowedDocumentType, ApiResponse, ApproachType, Avail, BackgroundTask, BackgroundTaskStatus, BaseMembership, BaseModel, Booking, Comment, Company, ComplianceData, ComplianceGroup, ComplianceGroupSource, ComplianceRequirement, ComplianceRequirementGroup, ComplianceResponse, ComplianceSummary, Course, CourseCheckSyllabus, CourseDescriptionSuggestionPayload, CourseEnrollment, CourseEnrollmentMetrics, CourseFee, CreateAirplaneIssueInput, CreateCommentInput, CreatePostInput, DataWrappedResponse, DeferAirplaneIssueInput, DiscardedRow, Document, DocumentComplianceStatus, DocumentRequirement, DocumentRequirementGroup, DocumentRequirementGroupAssignment, DocumentShare, DocumentType, Event, Expense, ExpenseItem, ExtendedAirplane, FboAcceptanceAxis, FboAcceptanceStatus, FboActivity, FboActivityCauser, FboActivityChanges, FboCompany, FboCompanyGrant, FboCompanyGrantInput, FboCompanyMember, FboCompanyProfile, FboDecision, FboDecisionAxis, FboDecisionInput, FboDuty, FboDutyAffected, FboDutySeriesResponse, FboFlight, FboFlightDocument, FboFlightStatus, FboFlightType, FboGrantAbility, FboGrantAbilityOption, FboGrantCompanyRef, FboGroundServices, FboLandingsSummary, FboMaterialiseResult, FboMeta, FboNextDuty, FboOccupation, FboOperations, FboPerson, FboPob, FboRecurrence, FboRecurrenceType, FboRecurringFlight, FboRole, FboStatistics, FboSystemRole, FboTrafficRow, FboTrafficSource, FboVisibility, FboWeeklyLanding, Fee, FeeCategoryOptions, FlightLog, GroupedPermissions, Invoice, Landing, LandingFee, LandingFeeImportResult, LandingFeeInvoiceApplyPayload, LandingFeeInvoiceApplyResult, LandingFeeInvoicePreview, LandingFeeInvoicePreviewRow, LandingFeeTemplateParams, LogbookFlightLogPayload, LogbookStageResult, LogbookSuggestion, LogbookSuggestionMeta, MaintenanceEvent, MaintenanceEventEstimation, MaintenanceStatus, Media, MediaCollection, Membership, MembershipSignup, OperatingHourDay, OperatingHourException, OperatingHourExceptionInput, OperatingHourInterval, OperatingHourKind, OperatingHourResolvedDate, OperatingHourSchedule, OperatingHourScheduleInput, OperatingHourStatusEntry, OperatingHourWindow, OperatingHoursMeta, OperatingHoursNextOpenEntry, OperatingHoursNextOpenResponse, OperatingHoursStatusResponse, OperatingStatusValue, PaginatedResponse, PermissionItem, Post, PostSubject, PrePaidPackage, Price, Qualification, RecurringFlight, ResolveAirplaneIssueInput, Resource, Role, RoleDetail, RoleListItem, Runway, ScheduledFlight, Setting, SpecialFlight, Tag, TagSyncEntry, Ticket, TimeAnchor, ToggleFavoriteResponse, UpdateAirplaneIssueInput, UpdateCommentInput, UpdatePostInput, User, UserAircraftRating, UserQualification, Waypoint };
627
+ export type { Activity, Address, AiSuggestedMilestone, AiSuggestion, AiSuggestionStatus, AircraftBlock, AircraftBlockReason, AircraftPosition, AircraftRating, Airplane, AirplaneIssue, AirplaneIssueSeverity, AirplaneIssueStatus, AirplanePermission, AirplaneShareInvite, Airport, Alert, AllowedDocumentType, ApiResponse, ApproachType, Avail, BackgroundTask, BackgroundTaskStatus, BaseMembership, BaseModel, Booking, Comment, Company, ComplianceData, ComplianceGroup, ComplianceGroupSource, ComplianceRequirement, ComplianceRequirementGroup, ComplianceResponse, ComplianceSummary, Course, CourseCheckSyllabus, CourseDescriptionSuggestionPayload, CourseEnrollment, CourseEnrollmentMetrics, CourseFee, CreateAirplaneIssueInput, CreateCommentInput, CreatePostInput, DataWrappedResponse, DeferAirplaneIssueInput, DiscardedRow, Document, DocumentComplianceStatus, DocumentRequirement, DocumentRequirementGroup, DocumentRequirementGroupAssignment, DocumentShare, DocumentType, Event, Expense, ExpenseItem, ExtendedAirplane, FboAcceptanceAxis, FboAcceptanceStatus, FboActivity, FboActivityCauser, FboActivityChanges, FboCompany, FboCompanyGrant, FboCompanyGrantInput, FboCompanyMember, FboCompanyProfile, FboDecision, FboDecisionAxis, FboDecisionInput, FboDuty, FboDutyAffected, FboDutySeriesResponse, FboFlight, FboFlightDocument, FboFlightStatus, FboFlightType, FboGrantAbility, FboGrantAbilityOption, FboGrantCompanyRef, FboGroundServices, FboLandingsSummary, FboMaterialiseResult, FboMeta, FboNextDuty, FboOccupation, FboOperations, FboPerson, FboPob, FboRecurrence, FboRecurrenceType, FboRecurringFlight, FboRole, FboStatistics, FboSystemRole, FboTrafficLayerInput, FboTrafficRow, FboTrafficSource, FboVisibility, FboWeeklyLanding, Fee, FeeCategoryOptions, FlightLog, GroupedPermissions, Invoice, Landing, LandingFee, LandingFeeImportResult, LandingFeeInvoiceApplyPayload, LandingFeeInvoiceApplyResult, LandingFeeInvoicePreview, LandingFeeInvoicePreviewRow, LandingFeeTemplateParams, LogbookFlightLogPayload, LogbookStageResult, LogbookSuggestion, LogbookSuggestionMeta, MaintenanceEvent, MaintenanceEventEstimation, MaintenanceStatus, Media, MediaCollection, Membership, MembershipSignup, OperatingHourDay, OperatingHourException, OperatingHourExceptionInput, OperatingHourInterval, OperatingHourKind, OperatingHourResolvedDate, OperatingHourSchedule, OperatingHourScheduleInput, OperatingHourStatusEntry, OperatingHourWindow, OperatingHoursMeta, OperatingHoursNextOpenEntry, OperatingHoursNextOpenResponse, OperatingHoursStatusResponse, OperatingStatusValue, PaginatedResponse, PermissionItem, Post, PostSubject, PrePaidPackage, Price, Qualification, RecurringFlight, ResolveAirplaneIssueInput, Resource, Role, RoleDetail, RoleListItem, Runway, ScheduledFlight, Setting, SpecialFlight, Tag, TagSyncEntry, TeachingPermission, Ticket, TimeAnchor, ToggleFavoriteResponse, UpdateAirplaneIssueInput, UpdateCommentInput, UpdatePostInput, User, UserAircraftRating, UserQualification, Waypoint };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@updraft-solutions/mcrit-sdk",
3
- "version": "0.14.15",
3
+ "version": "0.14.18",
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": {
package/src/index.ts CHANGED
@@ -9,6 +9,7 @@ export {
9
9
  type Airplane,
10
10
  type ExtendedAirplane,
11
11
  type AirplanePermission,
12
+ type TeachingPermission,
12
13
  type AirplaneShareInvite,
13
14
  type LandingFee,
14
15
  type Fee,
@@ -152,6 +153,7 @@ export {
152
153
  type FboVisibility,
153
154
  type FboTrafficSource,
154
155
  type FboTrafficRow,
156
+ type FboTrafficLayerInput,
155
157
  type FboSystemRole,
156
158
  type FboCompanyMember,
157
159
  type FboNextDuty,
@@ -89,7 +89,11 @@ export type ImpersonationState = z.infer<typeof impersonationStateSchema>;
89
89
  export const userSchema = z.object({
90
90
  type: z.literal("user"),
91
91
  id: z.number(),
92
- name: z.string(),
92
+ // name/firstname/lastname are gate-guarded server-side exactly like
93
+ // email/mobile below (a `viewName` policy decision, driven by the member's
94
+ // own `name.visibility` setting) and go null TOGETHER when denied. Render
95
+ // a placeholder via a display-name helper — never a bare `user.name`.
96
+ name: z.string().nullable(),
93
97
  firstname: z.string().nullable().optional(),
94
98
  lastname: z.string().nullable().optional(),
95
99
  // email/mobile are gate-guarded server-side (viewMail/viewMobile) and come
@@ -7,12 +7,17 @@ export enum FaqStatus {
7
7
  REJECTED = "rejected",
8
8
  }
9
9
 
10
- // User schema for submitter/reviewer
10
+ // User schema for submitter/reviewer.
11
+ //
12
+ // `name` and `email` are both gate-guarded server-side (`UserPolicy::viewName`
13
+ // / `viewMail`) and come back null for a viewer the member hid them from —
14
+ // a company member without `membership.viewMail` sees the submitter's name
15
+ // but no address. Render a placeholder, never a bare `.email`.
11
16
  const UserBasicSchema = z
12
17
  .object({
13
18
  id: z.number(),
14
- name: z.string(),
15
- email: z.string().email(),
19
+ name: z.string().nullable(),
20
+ email: z.string().email().nullable(),
16
21
  })
17
22
  .nullable();
18
23
 
@@ -21,6 +21,7 @@ import {
21
21
  fboRecurringFlightSchema,
22
22
  fboStatisticsSchema,
23
23
  fboSystemRoleSchema,
24
+ fboTrafficLayerInputSchema,
24
25
  fboTrafficRowSchema,
25
26
  } from "./fbo";
26
27
 
@@ -176,6 +177,42 @@ describe("fboTrafficRowSchema", () => {
176
177
  expect(fboTrafficRowSchema.safeParse({ id: 1, visibility: "secret", source: "movement", flight_status: "active" }).success).toBe(false);
177
178
  });
178
179
 
180
+ it("parses a decidable booking row — the FBO's own layer plus the gates ride along", () => {
181
+ // The Own tier of `GET|PATCH traffic/{id}?source=booking` as a root
182
+ // decider reads it: the flight is the school's, the four layer keys and
183
+ // `can` are the FBO's.
184
+ const bookingRow = {
185
+ id: 4711,
186
+ type: "booking",
187
+ source: "booking",
188
+ visibility: "own",
189
+ flight_status: "active",
190
+ company_id: 22,
191
+ company: { id: 22, name: "Flugschule Nord" },
192
+ ac_call: "D-EABC",
193
+ etdZ: "2026-09-01T08:00:00.000000Z",
194
+ etaZ: "2026-09-01T09:00:00.000000Z",
195
+ contact: null,
196
+ operations: { dz_start: null, dz_end: null, apron: "North" },
197
+ ground_services: { stairs: false, hangar: true, car_access: false, lifter: false, rental_car: false, refueling: true, gpu: false },
198
+ acceptance_status: {
199
+ fbo: { status: "accepted", is_required: false, decided_by_id: 7, updated_at: "2026-08-30T10:00:00.000000Z" },
200
+ airport: { status: "unknown", is_required: false, decided_by_id: null, updated_at: null },
201
+ customs: { status: "pending", is_required: true, decided_by_id: null, updated_at: null },
202
+ },
203
+ fbo_notes: "park on stand 3",
204
+ assigned_user_ids: [42, 43],
205
+ can: { update: true, delete: false, decide: true },
206
+ };
207
+ const parsed = fboTrafficRowSchema.parse(bookingRow);
208
+ expect(parsed.operations).toEqual({ dz_start: null, dz_end: null, apron: "North" });
209
+ expect(parsed.ground_services?.hangar).toBe(true);
210
+ expect(parsed.fbo_notes).toBe("park on stand 3");
211
+ expect(parsed.assigned_user_ids).toEqual([42, 43]);
212
+ expect(parsed.can).toEqual({ update: true, delete: false, decide: true });
213
+ expect(parsed.acceptance_status?.fbo.status).toBe("accepted");
214
+ });
215
+
179
216
  it("parses an assigned-company booking row — type widens to 'booking', company_id nulled", () => {
180
217
  const bookingRow = {
181
218
  id: 900,
@@ -194,6 +231,35 @@ describe("fboTrafficRowSchema", () => {
194
231
  });
195
232
  });
196
233
 
234
+ describe("fboTrafficLayerInputSchema", () => {
235
+ const layer = {
236
+ fbo_notes: "park on stand 3",
237
+ assigned_user_ids: [42, 43],
238
+ operations: { dz_start: null, dz_end: null, apron: "North" },
239
+ ground_services: { stairs: false, hangar: true, car_access: false, lifter: false, rental_car: false, refueling: true, gpu: false },
240
+ };
241
+
242
+ it("parses the four writable keys of the FBO's layer on a booking", () => {
243
+ expect(fboTrafficLayerInputSchema.parse(layer)).toEqual(layer);
244
+ });
245
+
246
+ it("accepts a cleared note and a cleared roster — null is how the layer is emptied", () => {
247
+ expect(fboTrafficLayerInputSchema.parse({ ...layer, fbo_notes: null, assigned_user_ids: null }).fbo_notes).toBeNull();
248
+ });
249
+
250
+ it("rejects a partial operations bag — the object is replaced wholesale, never merged", () => {
251
+ expect(fboTrafficLayerInputSchema.safeParse({ ...layer, operations: { apron: "North" } }).success).toBe(false);
252
+ });
253
+
254
+ it("rejects a partial ground-services bag for the same reason", () => {
255
+ expect(fboTrafficLayerInputSchema.safeParse({ ...layer, ground_services: { hangar: true } }).success).toBe(false);
256
+ });
257
+
258
+ it("allows a partial patch through .partial() — every key is `sometimes` on the API", () => {
259
+ expect(fboTrafficLayerInputSchema.partial().safeParse({ fbo_notes: "just the note" }).success).toBe(true);
260
+ });
261
+ });
262
+
197
263
  describe("fboCompanyMemberSchema", () => {
198
264
  it("parses a member row with its assigned roles", () => {
199
265
  const member = {
@@ -149,8 +149,19 @@ export const fboFlightSchema = z.object({
149
149
  landings: z.number().nullable(),
150
150
  remarks: z.string().nullable(),
151
151
 
152
- // Null on an assigned company's booking rendered as a movement (see `source`).
153
- contact: zContactDTO.nullable(),
152
+ /**
153
+ * The filer's contact block. Own-row tier since the 2026-08 hardening: the
154
+ * key is OMITTED for a reader who is neither the movement's author, a root
155
+ * decider, nor in `assigned_user_ids` — a tenant colleague browsing a
156
+ * movement they did not file no longer receives it. Still explicitly `null`
157
+ * on an assigned company's booking rendered as a movement (see `source`),
158
+ * so BOTH `undefined` and `null` occur and consumers must use `contact?.…`.
159
+ *
160
+ * A client that backfills an empty block to bind a form to must key that on
161
+ * the KEY BEING PRESENT — `UpdateFlightRequest` accepts `contact` from any
162
+ * updater, so sending a seeded blank would erase the author's data.
163
+ */
164
+ contact: zContactDTO.nullable().optional(),
154
165
  ground_services: fboGroundServicesSchema.nullable(),
155
166
  acceptance_status: fboAcceptanceStatusSchema,
156
167
 
@@ -313,6 +324,27 @@ export const fboTrafficRowSchema = fboFlightSchema.partial().extend({
313
324
  flight_status: fboFlightStatusSchema,
314
325
  });
315
326
 
327
+ /**
328
+ * The FBO's own LAYER on a flight-school booking that sits on its board —
329
+ * the write shape of `PATCH companies/{fbo}/fbo/traffic/{id}?source=booking`.
330
+ *
331
+ * Everything about the flight itself (aircraft, route, times, remarks,
332
+ * status, acceptance) stays the school's: the API answers a 422 NAMING the
333
+ * key for anything outside these four, so a payload is built from this shape
334
+ * rather than from the row it was read out of.
335
+ *
336
+ * `operations` and `ground_services` are schemaless bags replaced WHOLESALE
337
+ * — send the full object you want to end up with. The API takes every key as
338
+ * `sometimes`, so a partial patch (`fboTrafficLayerInputSchema.partial()`) is
339
+ * equally valid; clients that edit the layer as one form send all four.
340
+ */
341
+ export const fboTrafficLayerInputSchema = z.object({
342
+ fbo_notes: z.string().nullable(),
343
+ assigned_user_ids: z.array(z.number()).nullable(),
344
+ operations: fboOperationsSchema,
345
+ ground_services: fboGroundServicesSchema,
346
+ });
347
+
316
348
  /** System roles served by `GET companies/{id}/fbo/meta` for role-assignment UI. */
317
349
  export const FBO_SYSTEM_ROLES = [
318
350
  "fboOperator",
@@ -27,7 +27,13 @@ export const membershipIdentitySchema = z.object({
27
27
  user_id: z.number(),
28
28
  user: userSchema.optional(),
29
29
  company_id: z.number(),
30
- name: z.string(),
30
+ // The member's display name, lifted off the user row — and gate-guarded on
31
+ // the way, exactly like `userSchema.name`: `MembershipResource` and
32
+ // `MembershipIdentityResource` both run it through `UserPolicy::viewName`
33
+ // (driven by the member's own `name.visibility` setting, default `*`) and
34
+ // send `null` when denied. Render a placeholder, never a bare
35
+ // `membership.name`.
36
+ name: z.string().nullable(),
31
37
  });
32
38
 
33
39
  /**
@@ -310,6 +316,28 @@ export const airplanePermissionSchema = z.object({
310
316
  .optional(),
311
317
  });
312
318
 
319
+ export const teachingPermissionSchema = z.object({
320
+ type: z.literal("teaching_permission"),
321
+ id: z.number(),
322
+ course_id: z.number(),
323
+ course: z.object({ id: z.number(), name: z.string() }).passthrough().optional(),
324
+ membership_id: z.number(),
325
+ membership: nestedMembershipSchema.optional(),
326
+ status: z.enum(["pending", "approved"]),
327
+ is_active: z.boolean(),
328
+ expires_at: z.string().nullable().optional(),
329
+ notes: z.string().nullable().optional(),
330
+ conditions: z.string().nullable().optional(),
331
+ requested_by: userSchema.nullable().optional(),
332
+ approved_by: userSchema.nullable().optional(),
333
+ approved_at: z.string().nullable().optional(),
334
+ created_at: z.string(),
335
+ updated_at: z.string(),
336
+ can: z
337
+ .object({ view: zNullableBool, update: zNullableBool, delete: zNullableBool, approve: zNullableBool })
338
+ .optional(),
339
+ });
340
+
313
341
  export const landingFeeSchema = z.object({
314
342
  id: z.number(),
315
343
  airplane_id: z.number(),
@@ -12,6 +12,12 @@ export interface ComplianceRequirement {
12
12
  // isn't the blocker — consumers refine this into an `awaiting_countersign`
13
13
  // display state.
14
14
  awaiting_countersignature?: boolean;
15
+ // Whether the displayed submission is visible to the requesting company:
16
+ // it resolves to that company (company template / membership-issued, e.g.
17
+ // the Chartervertrag) or the member explicitly shared their user-owned
18
+ // submission. Stamped by the backend for User targets; absent for other
19
+ // target types.
20
+ shared?: boolean;
15
21
  // The submission to display for this requirement: the satisfying (final,
16
22
  // non-expired) one when present, otherwise the latest expired /
17
23
  // awaiting-signatures submission so the UI can explain *why* an unmet
package/src/types/fbo.ts CHANGED
@@ -25,6 +25,7 @@ export type FboDecisionInput = z.infer<typeof Fbo.fboDecisionInputSchema>;
25
25
  export type FboVisibility = z.infer<typeof Fbo.fboVisibilitySchema>;
26
26
  export type FboTrafficSource = z.infer<typeof Fbo.fboTrafficSourceSchema>;
27
27
  export type FboTrafficRow = z.infer<typeof Fbo.fboTrafficRowSchema>;
28
+ export type FboTrafficLayerInput = z.infer<typeof Fbo.fboTrafficLayerInputSchema>;
28
29
  export type FboSystemRole = z.infer<typeof Fbo.fboSystemRoleSchema>;
29
30
  export type FboCompanyMember = z.infer<typeof Fbo.fboCompanyMemberSchema>;
30
31
  export type FboNextDuty = z.infer<typeof Fbo.fboNextDutySchema>;
@@ -22,6 +22,9 @@ export type ExtendedAirplane = z.infer<
22
22
  export type AirplanePermission = z.infer<
23
23
  typeof ModelSchemas.airplanePermissionSchema
24
24
  >;
25
+ export type TeachingPermission = z.infer<
26
+ typeof ModelSchemas.teachingPermissionSchema
27
+ >;
25
28
  export type AirplaneShareInvite = z.infer<
26
29
  typeof ModelSchemas.airplaneShareInviteSchema
27
30
  >;