@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.
- package/dist/{chunk-B2TBWTOG.cjs → chunk-562POFCT.cjs} +19 -5
- package/dist/{chunk-QRQAE3NR.js → chunk-S3FZQ66N.js} +18 -4
- package/dist/{fbo-DzJbGYZB.d.cts → fbo-CsOm51Z3.d.cts} +16845 -16735
- package/dist/{fbo-DzJbGYZB.d.ts → fbo-CsOm51Z3.d.ts} +16845 -16735
- package/dist/index.cjs +6 -2
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +5 -1
- package/dist/{operating-hours-DBgVZus4.d.ts → operating-hours-c3SukLvt.d.ts} +1 -1
- package/dist/{operating-hours-Dj0bqEmA.d.cts → operating-hours-zg95Qlxz.d.cts} +1 -1
- package/dist/schemas/index.cjs +6 -2
- package/dist/schemas/index.d.cts +121 -121
- package/dist/schemas/index.d.ts +121 -121
- package/dist/schemas/index.js +5 -1
- package/dist/types/index.d.cts +2 -2
- package/dist/types/index.d.ts +2 -2
- package/package.json +1 -1
- package/src/schemas/fbo.spec.ts +17 -1
- package/src/schemas/fbo.ts +17 -1
package/dist/schemas/index.js
CHANGED
|
@@ -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-
|
|
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,
|
package/dist/types/index.d.cts
CHANGED
|
@@ -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-
|
|
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,
|
|
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>;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -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-
|
|
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,
|
|
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.
|
|
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": {
|
package/src/schemas/fbo.spec.ts
CHANGED
|
@@ -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
|
+
});
|
package/src/schemas/fbo.ts
CHANGED
|
@@ -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. */
|