@updraft-solutions/mcrit-sdk 0.14.16 → 0.14.19

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.
@@ -222,6 +222,7 @@ import {
222
222
  syllabusRolloutSkippedItemSchema,
223
223
  syllabusSchema,
224
224
  tagSchema,
225
+ teachingPermissionSchema,
225
226
  ticketSchema,
226
227
  trainingElementSchema,
227
228
  trainingRecordEntryInputSchema,
@@ -238,7 +239,7 @@ import {
238
239
  zMoneyObject,
239
240
  zNetGross,
240
241
  zNullableBool
241
- } from "../chunk-7Q7G5R47.js";
242
+ } from "../chunk-RJZJYRDQ.js";
242
243
  export {
243
244
  ALLOWED_GEOMETRY_TYPES,
244
245
  ALLOWED_NEWSLETTER_VARIABLES,
@@ -463,6 +464,7 @@ export {
463
464
  syllabusRolloutSkippedItemSchema,
464
465
  syllabusSchema,
465
466
  tagSchema,
467
+ teachingPermissionSchema,
466
468
  ticketSchema,
467
469
  trainingElementSchema,
468
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, 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 ticketSchema, cO as userSchema, cM as userAircraftRatingSchema, cN as userQualificationSchema, cP 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-B-SGYEy-.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-FkVII67X.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 {
@@ -622,4 +624,4 @@ type FboCompanyGrantInput = z.infer<typeof fboCompanyGrantInputSchema>;
622
624
  type FboMeta = z.infer<typeof fboMetaSchema>;
623
625
  type FboCompany = z.infer<typeof fboCompanySchema>;
624
626
 
625
- 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, 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, 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 ticketSchema, cO as userSchema, cM as userAircraftRatingSchema, cN as userQualificationSchema, cP 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-B-SGYEy-.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-FkVII67X.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 {
@@ -622,4 +624,4 @@ type FboCompanyGrantInput = z.infer<typeof fboCompanyGrantInputSchema>;
622
624
  type FboMeta = z.infer<typeof fboMetaSchema>;
623
625
  type FboCompany = z.infer<typeof fboCompanySchema>;
624
626
 
625
- 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, 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.16",
3
+ "version": "0.14.19",
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,
@@ -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
 
@@ -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
 
@@ -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(),
@@ -1072,6 +1100,9 @@ export const courseEnrollmentSchema = z.object({
1072
1100
  membership_id: z.number(),
1073
1101
  company_id: z.number(),
1074
1102
  mentor_id: z.number().nullable().optional(),
1103
+ // Default billing profile of the enrollment (null = the member's default);
1104
+ // the initial-fee items are billed to it.
1105
+ billing_profile_id: z.number().nullable().optional(),
1075
1106
  status: z.enum(["enrolled", "completed", "cancelled", "suspended"]),
1076
1107
  enrollment_date: z.string(),
1077
1108
  completion_date: z.string().nullable().optional(),
@@ -1089,6 +1120,7 @@ export const courseEnrollmentSchema = z.object({
1089
1120
  course: courseSchema.optional(),
1090
1121
  membership: nestedMembershipSchema.optional(),
1091
1122
  mentor: userSchema.optional(),
1123
+ billingProfile: billingProfileSchema.nullable().optional(),
1092
1124
  // Present when eager-loaded (BaseCourseEnrollmentResource). Lazy: both
1093
1125
  // schemas are declared later in this file; there is no true cycle.
1094
1126
  expense_items: z.array(z.lazy(() => expenseItemSchema)).optional(),
@@ -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
@@ -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
  >;