@updraft-solutions/mcrit-sdk 0.11.0 → 0.11.2

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.
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { aB as activitySchema, aC as addressSchema, aD as aircraftPositionSchema, aE as aircraftRatingSchema, aJ as airplaneSchema, aI as airplanePermissionSchema, aK as airplaneShareInviteSchema, aL as airportSchema, aM as alertSchema, aN as allowedDocumentTypeSchema, aO as approachTypeSchema, aP as availSchema, aQ as baseMembershipSchema, aS as bookingSchema, aU as commentSchema, aV as companySchema, a$ as courseSchema, aZ as courseEnrollmentSchema, a_ as courseFeeSchema, aG as airplaneIssueSeverityEnum, b5 as documentSchema, b1 as documentComplianceStatus, b2 as documentRequirement, b3 as documentRequirementGroup, b4 as documentRequirementGroupAssignment, b6 as documentShareSchema, b7 as documentType, b9 as eventSchema, bb as expenseSchema, ba as expenseItemSchema, bc as extendedAirplaneSchema, be as feeSchema, bd as feeCategoryOptionsSchema, bf as flightLogSchema, bm as invoiceSchema, bo as landingSchema, bn as landingFeeSchema, bq as maintenanceEventSchema, bp as maintenanceEventEstimationSchema, br as maintenanceStatusSchema, bs as mediaCollection, bu as membershipSchema, bv as membershipSignupSchema, bw as postSchema, bx as postSubjectSchema, bz as prePaidPackageSchema, bA as priceSchema, bB as qualificationSchema, bC as recurringFlightSchema, bD as roleSchema, bE as runwaySchema, bF as scheduledFlightSchema, bG as settingSchema, bH as specialFlightSchema, bO as tagSchema, bP as ticketSchema, bZ as userSchema, bX as userAircraftRatingSchema, bY as userQualificationSchema, b_ as waypointSchema, aF as airplaneIssueSchema, aH as airplaneIssueStatusEnum, B as BaseModel$1, aX as courseCheckSyllabusSchema, aY as courseEnrollmentMetricsSchema, bt as mediaSchema, l as FormSubmission } from '../training-CuiDqGAo.cjs';
2
+ import { aC as activitySchema, aD as addressSchema, aE as aircraftPositionSchema, aF as aircraftRatingSchema, aK as airplaneSchema, aJ as airplanePermissionSchema, aL as airplaneShareInviteSchema, aM as airportSchema, aN as alertSchema, aO as allowedDocumentTypeSchema, aP as approachTypeSchema, aQ as availSchema, aR as baseMembershipSchema, aT as bookingSchema, aV as commentSchema, aW as companySchema, b0 as courseSchema, a_ as courseEnrollmentSchema, a$ as courseFeeSchema, aH as airplaneIssueSeverityEnum, b6 as documentSchema, b2 as documentComplianceStatus, b3 as documentRequirement, b4 as documentRequirementGroup, b5 as documentRequirementGroupAssignment, b7 as documentShareSchema, b8 as documentType, ba as eventSchema, bc as expenseSchema, bb as expenseItemSchema, bd as extendedAirplaneSchema, bf as feeSchema, be as feeCategoryOptionsSchema, bg as flightLogSchema, bo as invoiceSchema, bq as landingSchema, bp as landingFeeSchema, bs as maintenanceEventSchema, br as maintenanceEventEstimationSchema, bt as maintenanceStatusSchema, bu as mediaCollection, bw as membershipSchema, bx as membershipSignupSchema, by as postSchema, bz as postSubjectSchema, bB as prePaidPackageSchema, bC as priceSchema, bD as qualificationSchema, bE as recurringFlightSchema, bF as roleSchema, bG as runwaySchema, bH as scheduledFlightSchema, bI as settingSchema, bJ as specialFlightSchema, bQ as tagSchema, bR as ticketSchema, b$ as userSchema, bZ as userAircraftRatingSchema, b_ as userQualificationSchema, c0 as waypointSchema, aG as airplaneIssueSchema, aI as airplaneIssueStatusEnum, B as BaseModel$1, aY as courseCheckSyllabusSchema, aZ as courseEnrollmentMetricsSchema, bv as mediaSchema, l as FormSubmission } from '../training-D3dneyB8.cjs';
3
3
 
4
4
  type BaseModel = z.infer<typeof BaseModel$1>;
5
5
  type User = z.infer<typeof userSchema>;
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { aB as activitySchema, aC as addressSchema, aD as aircraftPositionSchema, aE as aircraftRatingSchema, aJ as airplaneSchema, aI as airplanePermissionSchema, aK as airplaneShareInviteSchema, aL as airportSchema, aM as alertSchema, aN as allowedDocumentTypeSchema, aO as approachTypeSchema, aP as availSchema, aQ as baseMembershipSchema, aS as bookingSchema, aU as commentSchema, aV as companySchema, a$ as courseSchema, aZ as courseEnrollmentSchema, a_ as courseFeeSchema, aG as airplaneIssueSeverityEnum, b5 as documentSchema, b1 as documentComplianceStatus, b2 as documentRequirement, b3 as documentRequirementGroup, b4 as documentRequirementGroupAssignment, b6 as documentShareSchema, b7 as documentType, b9 as eventSchema, bb as expenseSchema, ba as expenseItemSchema, bc as extendedAirplaneSchema, be as feeSchema, bd as feeCategoryOptionsSchema, bf as flightLogSchema, bm as invoiceSchema, bo as landingSchema, bn as landingFeeSchema, bq as maintenanceEventSchema, bp as maintenanceEventEstimationSchema, br as maintenanceStatusSchema, bs as mediaCollection, bu as membershipSchema, bv as membershipSignupSchema, bw as postSchema, bx as postSubjectSchema, bz as prePaidPackageSchema, bA as priceSchema, bB as qualificationSchema, bC as recurringFlightSchema, bD as roleSchema, bE as runwaySchema, bF as scheduledFlightSchema, bG as settingSchema, bH as specialFlightSchema, bO as tagSchema, bP as ticketSchema, bZ as userSchema, bX as userAircraftRatingSchema, bY as userQualificationSchema, b_ as waypointSchema, aF as airplaneIssueSchema, aH as airplaneIssueStatusEnum, B as BaseModel$1, aX as courseCheckSyllabusSchema, aY as courseEnrollmentMetricsSchema, bt as mediaSchema, l as FormSubmission } from '../training-CuiDqGAo.js';
2
+ import { aC as activitySchema, aD as addressSchema, aE as aircraftPositionSchema, aF as aircraftRatingSchema, aK as airplaneSchema, aJ as airplanePermissionSchema, aL as airplaneShareInviteSchema, aM as airportSchema, aN as alertSchema, aO as allowedDocumentTypeSchema, aP as approachTypeSchema, aQ as availSchema, aR as baseMembershipSchema, aT as bookingSchema, aV as commentSchema, aW as companySchema, b0 as courseSchema, a_ as courseEnrollmentSchema, a$ as courseFeeSchema, aH as airplaneIssueSeverityEnum, b6 as documentSchema, b2 as documentComplianceStatus, b3 as documentRequirement, b4 as documentRequirementGroup, b5 as documentRequirementGroupAssignment, b7 as documentShareSchema, b8 as documentType, ba as eventSchema, bc as expenseSchema, bb as expenseItemSchema, bd as extendedAirplaneSchema, bf as feeSchema, be as feeCategoryOptionsSchema, bg as flightLogSchema, bo as invoiceSchema, bq as landingSchema, bp as landingFeeSchema, bs as maintenanceEventSchema, br as maintenanceEventEstimationSchema, bt as maintenanceStatusSchema, bu as mediaCollection, bw as membershipSchema, bx as membershipSignupSchema, by as postSchema, bz as postSubjectSchema, bB as prePaidPackageSchema, bC as priceSchema, bD as qualificationSchema, bE as recurringFlightSchema, bF as roleSchema, bG as runwaySchema, bH as scheduledFlightSchema, bI as settingSchema, bJ as specialFlightSchema, bQ as tagSchema, bR as ticketSchema, b$ as userSchema, bZ as userAircraftRatingSchema, b_ as userQualificationSchema, c0 as waypointSchema, aG as airplaneIssueSchema, aI as airplaneIssueStatusEnum, B as BaseModel$1, aY as courseCheckSyllabusSchema, aZ as courseEnrollmentMetricsSchema, bv as mediaSchema, l as FormSubmission } from '../training-D3dneyB8.js';
3
3
 
4
4
  type BaseModel = z.infer<typeof BaseModel$1>;
5
5
  type User = z.infer<typeof userSchema>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@updraft-solutions/mcrit-sdk",
3
- "version": "0.11.0",
3
+ "version": "0.11.2",
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": {
@@ -149,6 +149,10 @@ export const courseFeeSchema = feeSchema.extend({
149
149
  is_initial_payment: z.boolean().optional(),
150
150
  });
151
151
 
152
+ /** Fuel quantity unit as printed in the AFM/POH; per hour when used for `cruise_fuel_flow`. */
153
+ export const fuelUnitSchema = z.enum(["l", "usgal", "kg", "lb"]);
154
+ export type FuelUnit = z.infer<typeof fuelUnitSchema>;
155
+
152
156
  export const airplaneSchema = BaseModel.extend({
153
157
  type: z.literal("airplane"),
154
158
  id: z.number(),
@@ -189,9 +193,6 @@ export const airplaneSchema = BaseModel.extend({
189
193
  .optional(),
190
194
  is_simulator: z.boolean().optional(),
191
195
  category: z.string().nullable().optional(),
192
- averageFuelConsumption: z.string().nullable().optional(),
193
- weightUnitString: z.string().optional(),
194
- fuelUnitString: z.string().optional(),
195
196
  isoCountryCodeFromRegistration: z.string().optional(),
196
197
  registrationWithoutSpecialChars: z.string().nullable().optional(),
197
198
  equipmentCodes: z.array(z.string()).nullable().optional(),
@@ -221,6 +222,9 @@ export const airplaneSchema = BaseModel.extend({
221
222
  max_takeoff_mass: z.string().optional(),
222
223
  max_speed: z.string().optional(),
223
224
  max_range: z.string().optional(),
225
+ // Cruise fuel-flow baseline (~75 % power / ISA; POH authoritative).
226
+ cruise_fuel_flow: z.number().nullable().optional(),
227
+ cruise_fuel_flow_unit: fuelUnitSchema.nullable().optional(),
224
228
  equipment: z.array(equipmentSchema).optional(),
225
229
  has_pre_paid_package: z.boolean().optional(),
226
230
  logging_required_from: z.string().optional(),
@@ -95,6 +95,10 @@ export const NewsletterCategorySchema = z.object({
95
95
  name: z.string(),
96
96
  description: z.string().nullable().optional(),
97
97
  is_mandatory: z.boolean(),
98
+ /** Missing preference row → opted in (true) or opted out (false). */
99
+ default_opt_in: z.boolean().optional(),
100
+ /** Reserved for application notifications — never selectable for campaigns. */
101
+ is_internal: z.boolean().optional(),
98
102
  is_active: z.boolean(),
99
103
  sort_order: z.number().int(),
100
104
  created_at: z.string().optional(),
@@ -141,6 +145,14 @@ export const NewsletterTemplateSchema = z.object({
141
145
  is_active: z.boolean(),
142
146
  created_by: z.number().nullable().optional(),
143
147
  creator: UserBasicSchema.optional(),
148
+ can: z
149
+ .object({
150
+ update: z.boolean(),
151
+ delete: z.boolean(),
152
+ duplicate: z.boolean(),
153
+ })
154
+ .partial()
155
+ .optional(),
144
156
  created_at: z.string().optional(),
145
157
  updated_at: z.string().optional(),
146
158
  });
@@ -308,6 +320,7 @@ export enum NewsletterRecipientStatus {
308
320
  Complained = "complained",
309
321
  Suppressed = "suppressed",
310
322
  OptedOut = "opted_out",
323
+ Cancelled = "cancelled",
311
324
  }
312
325
 
313
326
  export const NewsletterCampaignRecipientSchema = z.object({