@updraft-solutions/mcrit-sdk 0.14.2 → 0.14.3

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.
@@ -140,12 +140,14 @@ import {
140
140
  fboDecisionInputSchema,
141
141
  fboDecisionSchema,
142
142
  fboDutySchema,
143
+ fboFlightCanSchema,
143
144
  fboFlightSchema,
144
145
  fboFlightStatusSchema,
145
146
  fboFlightTypeSchema,
146
147
  fboGroundServicesSchema,
147
148
  fboOccupationSchema,
148
149
  fboRoleSchema,
150
+ fboRowCanSchema,
149
151
  feeCategoryOptionsSchema,
150
152
  feeSchema,
151
153
  flightLogSchema,
@@ -203,7 +205,7 @@ import {
203
205
  zMoneyObject,
204
206
  zNetGross,
205
207
  zNullableBool
206
- } from "../chunk-QRQAE3NR.js";
208
+ } from "../chunk-S3FZQ66N.js";
207
209
  export {
208
210
  ALLOWED_GEOMETRY_TYPES,
209
211
  ALLOWED_NEWSLETTER_VARIABLES,
@@ -346,12 +348,14 @@ export {
346
348
  fboDecisionInputSchema,
347
349
  fboDecisionSchema,
348
350
  fboDutySchema,
351
+ fboFlightCanSchema,
349
352
  fboFlightSchema,
350
353
  fboFlightStatusSchema,
351
354
  fboFlightTypeSchema,
352
355
  fboGroundServicesSchema,
353
356
  fboOccupationSchema,
354
357
  fboRoleSchema,
358
+ fboRowCanSchema,
355
359
  feeCategoryOptionsSchema,
356
360
  feeSchema,
357
361
  flightLogSchema,
@@ -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-Dj0bqEmA.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-zg95Qlxz.cjs';
2
2
  import { z } from 'zod';
3
- import { bf as fboAcceptanceAxisSchema, bg as fboAcceptanceStatusSchema, bh as fboCompanyProfileSchema, bk as fboDecisionSchema, bi as fboDecisionAxisSchema, bj as fboDecisionInputSchema, bl as fboDutySchema, bm as fboFlightSchema, bn as fboFlightStatusSchema, bo as fboFlightTypeSchema, bp as fboGroundServicesSchema, bq as fboOccupationSchema, br as fboRoleSchema } from '../fbo-DzJbGYZB.cjs';
3
+ import { bf as fboAcceptanceAxisSchema, bg as fboAcceptanceStatusSchema, bh as fboCompanyProfileSchema, bk as fboDecisionSchema, bi as fboDecisionAxisSchema, bj as fboDecisionInputSchema, bl as fboDutySchema, bn as fboFlightSchema, bo as fboFlightStatusSchema, bp as fboFlightTypeSchema, bq as fboGroundServicesSchema, br as fboOccupationSchema, bs as fboRoleSchema } from '../fbo-CsOm51Z3.cjs';
4
4
 
5
5
  type FboAcceptanceAxis = z.infer<typeof fboAcceptanceAxisSchema>;
6
6
  type FboAcceptanceStatus = z.infer<typeof fboAcceptanceStatusSchema>;
@@ -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-DBgVZus4.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-c3SukLvt.js';
2
2
  import { z } from 'zod';
3
- import { bf as fboAcceptanceAxisSchema, bg as fboAcceptanceStatusSchema, bh as fboCompanyProfileSchema, bk as fboDecisionSchema, bi as fboDecisionAxisSchema, bj as fboDecisionInputSchema, bl as fboDutySchema, bm as fboFlightSchema, bn as fboFlightStatusSchema, bo as fboFlightTypeSchema, bp as fboGroundServicesSchema, bq as fboOccupationSchema, br as fboRoleSchema } from '../fbo-DzJbGYZB.js';
3
+ import { bf as fboAcceptanceAxisSchema, bg as fboAcceptanceStatusSchema, bh as fboCompanyProfileSchema, bk as fboDecisionSchema, bi as fboDecisionAxisSchema, bj as fboDecisionInputSchema, bl as fboDutySchema, bn as fboFlightSchema, bo as fboFlightStatusSchema, bp as fboFlightTypeSchema, bq as fboGroundServicesSchema, br as fboOccupationSchema, bs as fboRoleSchema } from '../fbo-CsOm51Z3.js';
4
4
 
5
5
  type FboAcceptanceAxis = z.infer<typeof fboAcceptanceAxisSchema>;
6
6
  type FboAcceptanceStatus = z.infer<typeof fboAcceptanceStatusSchema>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@updraft-solutions/mcrit-sdk",
3
- "version": "0.14.2",
3
+ "version": "0.14.3",
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": {
@@ -1,5 +1,5 @@
1
1
  import { describe, expect, it } from "vitest";
2
- import { fboDutySchema, fboFlightSchema } from "./fbo";
2
+ import { fboDutySchema, fboFlightSchema, fboFlightStatusSchema, fboOccupationSchema } from "./fbo";
3
3
 
4
4
  /**
5
5
  * Fixtures are copied from the API's FlightResource / DutyResource shapes, not
@@ -47,3 +47,19 @@ describe("fboDutySchema", () => {
47
47
  }).user_id).toBeNull();
48
48
  });
49
49
  });
50
+
51
+ describe("fbo status/authorization additions", () => {
52
+ it("accepts rejected as a flight status", () => {
53
+ expect(fboFlightStatusSchema.safeParse("rejected").success).toBe(true);
54
+ });
55
+
56
+ it("carries can on flights, duties and occupations", () => {
57
+ expect(fboFlightSchema.shape.can).toBeDefined();
58
+ expect(fboDutySchema.shape.can).toBeDefined();
59
+ expect(fboOccupationSchema.shape.can).toBeDefined();
60
+ });
61
+
62
+ it("still parses a flight and duty without can (assigned-bookings feed sends none)", () => {
63
+ expect(fboFlightSchema.parse(flightPayload).can).toBeUndefined();
64
+ });
65
+ });
@@ -38,7 +38,20 @@ export const fboGroundServicesSchema = z.object({
38
38
  });
39
39
 
40
40
  export const fboFlightTypeSchema = z.enum(["scheduledFlight", "ppr"]);
41
- export const fboFlightStatusSchema = z.enum(["active", "pending", "cancelled"]);
41
+ export const fboFlightStatusSchema = z.enum(["active", "pending", "rejected", "cancelled"]);
42
+
43
+ /** Per-row action gates on a flight. Absent on rows from the assigned-bookings feed. */
44
+ export const fboFlightCanSchema = z.object({
45
+ update: z.boolean(),
46
+ delete: z.boolean(),
47
+ decide: z.boolean(),
48
+ });
49
+
50
+ /** Per-row action gates on a duty or occupation. Absent on rows from the assigned-bookings feed. */
51
+ export const fboRowCanSchema = z.object({
52
+ update: z.boolean(),
53
+ delete: z.boolean(),
54
+ });
42
55
 
43
56
  export const fboFlightSchema = z.object({
44
57
  id: z.number(),
@@ -84,6 +97,7 @@ export const fboFlightSchema = z.object({
84
97
 
85
98
  created_at: z.string(),
86
99
  updated_at: z.string(),
100
+ can: fboFlightCanSchema.optional(),
87
101
  });
88
102
 
89
103
  export const fboOccupationSchema = z.object({
@@ -95,6 +109,7 @@ export const fboOccupationSchema = z.object({
95
109
  is_absence: z.boolean(),
96
110
  created_at: z.string().nullable(),
97
111
  updated_at: z.string().nullable(),
112
+ can: fboRowCanSchema.optional(),
98
113
  });
99
114
 
100
115
  export const fboDutySchema = z.object({
@@ -113,6 +128,7 @@ export const fboDutySchema = z.object({
113
128
  remarks: z.string().nullable(),
114
129
  created_at: z.string().nullable(),
115
130
  updated_at: z.string().nullable(),
131
+ can: fboRowCanSchema.optional(),
116
132
  });
117
133
 
118
134
  /** Served by `GET companies/{id}/fbo/meta` so no client hardcodes the list. */