@driveflux/api-functions 0.0.7-next.8 → 1.0.0

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.
@@ -20,7 +20,7 @@ declare const Body: z.ZodObject<{
20
20
  code: z.ZodNullable<z.ZodOptional<z.ZodString>>;
21
21
  keepCode: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
22
22
  email: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
23
- dateOfBirth: z.ZodOptional<z.ZodCodec<z.ZodISODateTime, z.ZodDate>>;
23
+ dateOfBirth: z.ZodOptional<z.ZodCodec<z.ZodString, z.ZodDate>>;
24
24
  password: z.ZodOptional<z.ZodString>;
25
25
  noMarketing: z.ZodOptional<z.ZodBoolean>;
26
26
  pageSource: z.ZodNullable<z.ZodOptional<z.ZodString>>;
@@ -13,8 +13,8 @@ export declare const createToken: (userId: string | null, type: "email" | "phone
13
13
  metadata: PrismaJson.AnyMetadata | null;
14
14
  createdAt: Date;
15
15
  updatedAt: Date;
16
- value: string | null;
17
16
  userId: string | null;
17
+ value: string | null;
18
18
  client: string | null;
19
19
  identifier: string | null;
20
20
  expiresAt: Date | null;
@@ -29,8 +29,8 @@ export declare const createEmailToken: (userId: string, email: string) => Promis
29
29
  metadata: PrismaJson.AnyMetadata | null;
30
30
  createdAt: Date;
31
31
  updatedAt: Date;
32
- value: string | null;
33
32
  userId: string | null;
33
+ value: string | null;
34
34
  client: string | null;
35
35
  identifier: string | null;
36
36
  expiresAt: Date | null;
@@ -45,8 +45,8 @@ export declare const createSMSToken: (userId: string | null, phoneNumber: string
45
45
  metadata: PrismaJson.AnyMetadata | null;
46
46
  createdAt: Date;
47
47
  updatedAt: Date;
48
- value: string | null;
49
48
  userId: string | null;
49
+ value: string | null;
50
50
  client: string | null;
51
51
  identifier: string | null;
52
52
  expiresAt: Date | null;
@@ -3,5 +3,5 @@ export type ResponseBase<T> = {
3
3
  Data?: T[];
4
4
  Total?: number;
5
5
  };
6
- export declare const callMailjet: <T>(path: string, data: any, method?: string) => Promise<import("@driveflux/fetch").EnhandedFetchResult<T, import("../../../../../packages/problem/dist").Problem>>;
6
+ export declare const callMailjet: <T>(path: string, data: any, method?: string) => Promise<import("@driveflux/fetch").EnhandedFetchResult<T, import("@driveflux/problem").Problem>>;
7
7
  //# sourceMappingURL=request-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"request-service.d.ts","sourceRoot":"","sources":["../../../src/mailjet/calls/request-service.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,CAAC,EAAE,CAAA;IACV,KAAK,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAgBD,eAAO,MAAM,WAAW,GAAU,CAAC,EAClC,MAAM,MAAM,EACZ,MAAM,GAAG,EACT,eAAe,uHAaf,CAAA"}
1
+ {"version":3,"file":"request-service.d.ts","sourceRoot":"","sources":["../../../src/mailjet/calls/request-service.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,CAAC,EAAE,CAAA;IACV,KAAK,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAgBD,eAAO,MAAM,WAAW,GAAU,CAAC,EAClC,MAAM,MAAM,EACZ,MAAM,GAAG,EACT,eAAe,qGAaf,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/notion/client.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAA;AAElF,KAAK,QAAQ,GAAG,UAAU,GAAG,WAAW,CAAA;AAExC,eAAO,MAAM,SAAS,cAQrB,CAAA;AAED,eAAO,MAAM,8BAA8B,GAC1C,UAAU,QAAQ,EAClB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,MAAM,KACxD,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CA+C9C,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,QAAQ,kBAAkB,WAOrD,CAAA;AAED,eAAO,MAAM,cAAc,GAC1B,QAAQ,kBAAkB,EAC1B,UAAU,QAAQ,KAChB,MASF,CAAA"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/notion/client.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAA;AAElF,KAAK,QAAQ,GAAG,UAAU,GAAG,WAAW,CAAA;AAExC,eAAO,MAAM,SAAS,cAQrB,CAAA;AAED,eAAO,MAAM,8BAA8B,GAC1C,UAAU,QAAQ,EAClB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,MAAM,KACxD,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAiD9C,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,QAAQ,kBAAkB,WAOrD,CAAA;AAED,eAAO,MAAM,cAAc,GAC1B,QAAQ,kBAAkB,EAC1B,UAAU,QAAQ,KAChB,MASF,CAAA"}
@@ -15,8 +15,8 @@ export const announceFluxstersAnniversaries = async (property, constructMessage)
15
15
  };
16
16
  }
17
17
  const notion = getNotion();
18
- const { results } = await notion.databases.query({
19
- database_id: config.notion.fluxstersDatabaseId
18
+ const { results } = await notion.dataSources.query({
19
+ data_source_id: config.notion.fluxstersDatabaseId
20
20
  });
21
21
  const relevantPeople = results.filter((result)=>{
22
22
  const resultPropperty = result.properties[property];
@@ -35,6 +35,7 @@ export const announceFluxstersAnniversaries = async (property, constructMessage)
35
35
  if (todayDate.getDate() === 28 && date.getDate() === 29 && todayDate.getMonth() === 1 && date.getMonth() === 1) {
36
36
  return true;
37
37
  }
38
+ return false;
38
39
  });
39
40
  if (relevantPeople.length > 0) {
40
41
  const message = constructMessage(relevantPeople);
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/notion/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/notion/client.ts"],"names":[],"mappings":"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"}
@@ -190,8 +190,8 @@ export declare const notionDatabasePropertyRollupSchema: ZodObject<{
190
190
  type: z.ZodEnum<{
191
191
  number: "number";
192
192
  date: "date";
193
- array: "array";
194
193
  incomplete: "incomplete";
194
+ array: "array";
195
195
  unsupported: "unsupported";
196
196
  }>;
197
197
  }, z.core.$strip>;
@@ -231,8 +231,8 @@ export declare const notionPagePropertyRollupSchema: ZodObject<{
231
231
  type: z.ZodEnum<{
232
232
  number: "number";
233
233
  date: "date";
234
- array: "array";
235
234
  incomplete: "incomplete";
235
+ array: "array";
236
236
  unsupported: "unsupported";
237
237
  }>;
238
238
  }, z.core.$strip>;
@@ -1,7 +1,6 @@
1
1
  import { type DisplayVehicle, type MileagePackage, type PlanType, type UltraTier, type Vehicle, type VehicleType } from '@driveflux/db';
2
2
  export declare const fetchDisplayVehicle: (displayVehicle: DisplayVehicle | string) => Promise<{
3
3
  object: import("@driveflux/db").DisplayVehicleObject;
4
- type: VehicleType;
5
4
  id: string;
6
5
  createdAt: Date;
7
6
  updatedAt: Date;
@@ -9,6 +8,7 @@ export declare const fetchDisplayVehicle: (displayVehicle: DisplayVehicle | stri
9
8
  vehicleModel: string;
10
9
  variant: string;
11
10
  year: number;
11
+ type: VehicleType;
12
12
  brandSlug: string;
13
13
  brandId: string;
14
14
  defaultHostId: string;
@@ -191,20 +191,20 @@ export declare const fetchDisplayVehicle: (displayVehicle: DisplayVehicle | stri
191
191
  export declare const createVehicleFromDisplayVehicle: (displayVehicle: DisplayVehicle | string, selectedColor?: string) => Promise<({
192
192
  host: {
193
193
  object: import("@driveflux/db").HostObject;
194
- phoneNumber: string | null;
195
- type: import("@driveflux/db").HostType | null;
194
+ name: string;
196
195
  id: string;
197
196
  metadata: PrismaJson.AnyMetadata | null;
198
- name: string;
199
197
  createdAt: Date;
200
198
  updatedAt: Date;
199
+ registrationNumber: string | null;
200
+ type: import("@driveflux/db").HostType | null;
201
+ active: boolean;
201
202
  email: string | null;
203
+ phoneNumber: string | null;
202
204
  race: import("@driveflux/db").Race | null;
203
205
  emergencyContactName: string | null;
204
206
  emergencyPhoneNumber: string | null;
205
- active: boolean;
206
207
  commencementDate: Date | null;
207
- registrationNumber: string | null;
208
208
  stripeAccountId: string | null;
209
209
  isStripeConnected: boolean;
210
210
  serviceCenterIds: string[];
@@ -262,15 +262,11 @@ export declare const createVehicleFromDisplayVehicle: (displayVehicle: DisplayVe
262
262
  };
263
263
  } & {
264
264
  object: import("@driveflux/db").VehicleObject;
265
- type: VehicleType;
266
265
  id: string;
266
+ status: import("@driveflux/db").VehicleStatus;
267
267
  metadata: PrismaJson.AnyMetadata | null;
268
268
  createdAt: Date;
269
269
  updatedAt: Date;
270
- status: import("@driveflux/db").VehicleStatus;
271
- temporary: boolean;
272
- registrationNumber: string | null;
273
- hostId: string;
274
270
  make: string;
275
271
  vehicleModel: string;
276
272
  variant: string;
@@ -280,6 +276,7 @@ export declare const createVehicleFromDisplayVehicle: (displayVehicle: DisplayVe
280
276
  compositeSearchScore: number;
281
277
  registrationDate: Date | null;
282
278
  mileage: number | null;
279
+ registrationNumber: string | null;
283
280
  vin: string | null;
284
281
  engineNumber: string | null;
285
282
  availability: import("@driveflux/db").VehicleAvailablity | null;
@@ -294,6 +291,8 @@ export declare const createVehicleFromDisplayVehicle: (displayVehicle: DisplayVe
294
291
  delistedAt: Date | null;
295
292
  imagesNotActual: boolean;
296
293
  imagesNotActualMessage: string | null;
294
+ hostId: string;
295
+ type: VehicleType;
297
296
  allowedServiceCenterIds: string[];
298
297
  displayVehicleId: string | null;
299
298
  isHostConfirmed: boolean | null;
@@ -306,6 +305,7 @@ export declare const createVehicleFromDisplayVehicle: (displayVehicle: DisplayVe
306
305
  featureOnLandingPage: boolean;
307
306
  lastMileageRecordedAt: Date | null;
308
307
  locationAvailability: string[];
308
+ temporary: boolean;
309
309
  hotDeal: boolean | null;
310
310
  activeSubscriptionId: string | null;
311
311
  addresses: {
@@ -689,15 +689,11 @@ export declare const createVehicleFromDisplayVehicle: (displayVehicle: DisplayVe
689
689
  }) | undefined>;
690
690
  export declare const transfromVehicleDisplayToVehicle: (displayVehicle: DisplayVehicle | string, selectedColor: string) => Promise<({
691
691
  object: import("@driveflux/db").VehicleObject;
692
- type: VehicleType;
693
692
  id: string;
693
+ status: import("@driveflux/db").VehicleStatus;
694
694
  metadata: PrismaJson.AnyMetadata | null;
695
695
  createdAt: Date;
696
696
  updatedAt: Date;
697
- status: import("@driveflux/db").VehicleStatus;
698
- temporary: boolean;
699
- registrationNumber: string | null;
700
- hostId: string;
701
697
  make: string;
702
698
  vehicleModel: string;
703
699
  variant: string;
@@ -707,6 +703,7 @@ export declare const transfromVehicleDisplayToVehicle: (displayVehicle: DisplayV
707
703
  compositeSearchScore: number;
708
704
  registrationDate: Date | null;
709
705
  mileage: number | null;
706
+ registrationNumber: string | null;
710
707
  vin: string | null;
711
708
  engineNumber: string | null;
712
709
  availability: import("@driveflux/db").VehicleAvailablity | null;
@@ -721,6 +718,8 @@ export declare const transfromVehicleDisplayToVehicle: (displayVehicle: DisplayV
721
718
  delistedAt: Date | null;
722
719
  imagesNotActual: boolean;
723
720
  imagesNotActualMessage: string | null;
721
+ hostId: string;
722
+ type: VehicleType;
724
723
  allowedServiceCenterIds: string[];
725
724
  displayVehicleId: string | null;
726
725
  isHostConfirmed: boolean | null;
@@ -733,6 +732,7 @@ export declare const transfromVehicleDisplayToVehicle: (displayVehicle: DisplayV
733
732
  featureOnLandingPage: boolean;
734
733
  lastMileageRecordedAt: Date | null;
735
734
  locationAvailability: string[];
735
+ temporary: boolean;
736
736
  hotDeal: boolean | null;
737
737
  activeSubscriptionId: string | null;
738
738
  addresses: {
@@ -4,7 +4,7 @@ import type { ReserveVehicleParams } from './types.js';
4
4
  type FetchOrCreateReservationParams = {
5
5
  vehicle: Pick<Vehicle, 'id' | 'make' | 'vehicleModel' | 'variant' | 'year' | 'type'>;
6
6
  payer: User | Business;
7
- body: Pick<ReserveVehicleParams, 'subscribingUser' | 'plan' | 'mileagePackage' | 'couponCode' | 'referralCode' | 'asBusiness' | 'source' | 'paymentIntentId' | 'analytics' | 'deliveryAddresses' | 'deliveryDate' | 'requestUser' | 'ipAddress' | 'freeReservation' | 'freeReservationReason' | 'invoiceId'>;
7
+ body: Pick<ReserveVehicleParams, 'subscribingUser' | 'plan' | 'mileagePackage' | 'couponCode' | 'referralCode' | 'asBusiness' | 'source' | 'paymentIntentId' | 'analytics' | 'deliveryAddresses' | 'deliveryDate' | 'requestUser' | 'ipAddress' | 'freeReservation' | 'freeReservationReason'>;
8
8
  };
9
9
  export declare const fetchOrCreateReservation: ({ vehicle, payer, body, }: FetchOrCreateReservationParams) => PromisedResult<SubscriptionReservation>;
10
10
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-or-create.d.ts","sourceRoot":"","sources":["../../src/reservation/fetch-or-create.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,QAAQ,EAGb,KAAK,uBAAuB,EAC5B,KAAK,IAAI,EACT,KAAK,OAAO,EACZ,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAM,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAM3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEtD,KAAK,8BAA8B,GAAG;IACrC,OAAO,EAAE,IAAI,CACZ,OAAO,EACP,IAAI,GAAG,MAAM,GAAG,cAAc,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAC5D,CAAA;IACD,KAAK,EAAE,IAAI,GAAG,QAAQ,CAAA;IACtB,IAAI,EAAE,IAAI,CACT,oBAAoB,EAClB,iBAAiB,GACjB,MAAM,GACN,gBAAgB,GAChB,YAAY,GACZ,cAAc,GACd,YAAY,GACZ,QAAQ,GACR,iBAAiB,GACjB,WAAW,GACX,mBAAmB,GACnB,cAAc,GACd,aAAa,GACb,WAAW,GACX,iBAAiB,GACjB,uBAAuB,GACvB,WAAW,CACb,CAAA;CACD,CAAA;AAED,eAAO,MAAM,wBAAwB,GAAU,2BAI5C,8BAA8B,KAAG,cAAc,CAAC,uBAAuB,CAwKzE,CAAA"}
1
+ {"version":3,"file":"fetch-or-create.d.ts","sourceRoot":"","sources":["../../src/reservation/fetch-or-create.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,QAAQ,EAGb,KAAK,uBAAuB,EAC5B,KAAK,IAAI,EACT,KAAK,OAAO,EACZ,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAM,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAM3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEtD,KAAK,8BAA8B,GAAG;IACrC,OAAO,EAAE,IAAI,CACZ,OAAO,EACP,IAAI,GAAG,MAAM,GAAG,cAAc,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAC5D,CAAA;IACD,KAAK,EAAE,IAAI,GAAG,QAAQ,CAAA;IACtB,IAAI,EAAE,IAAI,CACT,oBAAoB,EAClB,iBAAiB,GACjB,MAAM,GACN,gBAAgB,GAChB,YAAY,GACZ,cAAc,GACd,YAAY,GACZ,QAAQ,GACR,iBAAiB,GACjB,WAAW,GACX,mBAAmB,GACnB,cAAc,GACd,aAAa,GACb,WAAW,GACX,iBAAiB,GACjB,uBAAuB,CACzB,CAAA;CACD,CAAA;AAED,eAAO,MAAM,wBAAwB,GAAU,2BAI5C,8BAA8B,KAAG,cAAc,CAAC,uBAAuB,CAgKzE,CAAA"}
@@ -1,11 +1,11 @@
1
- import { prisma, } from '@driveflux/db';
1
+ import { prisma } from '@driveflux/db';
2
2
  import { generateId } from '@driveflux/db/id';
3
3
  import { reportError } from '@driveflux/reporter';
4
4
  import { Ok } from '@driveflux/result';
5
5
  import { slackLater } from '../slack.js';
6
- import { createReservationInvoice, updateReservationInvoiceIfNeeded, } from './invoice.js';
7
- export const fetchOrCreateReservation = async ({ vehicle, payer, body, }) => {
8
- const { subscribingUser, plan, mileagePackage, couponCode, referralCode, asBusiness, source, deliveryAddresses, deliveryDate, analytics, paymentIntentId, freeReservation, freeReservationReason, invoiceId, } = body;
6
+ import { createReservationInvoice, updateReservationInvoiceIfNeeded } from './invoice.js';
7
+ export const fetchOrCreateReservation = async ({ vehicle, payer, body })=>{
8
+ const { subscribingUser, plan, mileagePackage, couponCode, referralCode, asBusiness, source, deliveryAddresses, deliveryDate, analytics, paymentIntentId, freeReservation, freeReservationReason } = body;
9
9
  try {
10
10
  const previousReservation = await prisma.subscriptionReservation.findFirst({
11
11
  where: {
@@ -19,19 +19,12 @@ export const fetchOrCreateReservation = async ({ vehicle, payer, body, }) => {
19
19
  source,
20
20
  // If the subscription ID was populated, this means that this reservation was consumed into a subsription,
21
21
  // so we shouldn't re-use it
22
- subscription: null,
22
+ subscription: null
23
23
  },
24
24
  orderBy: {
25
- updatedAt: 'desc',
25
+ updatedAt: 'desc'
26
26
  },
27
27
  include: {
28
- ...(invoiceId
29
- ? {
30
- where: {
31
- id: invoiceId,
32
- },
33
- }
34
- : {}),
35
28
  invoice: {
36
29
  select: {
37
30
  id: true,
@@ -44,10 +37,10 @@ export const fetchOrCreateReservation = async ({ vehicle, payer, body, }) => {
44
37
  status: true,
45
38
  lockedAt: true,
46
39
  unlockAt: true,
47
- locked: true,
48
- },
49
- },
50
- },
40
+ locked: true
41
+ }
42
+ }
43
+ }
51
44
  });
52
45
  if (previousReservation) {
53
46
  if (previousReservation.invoice.voided) {
@@ -60,7 +53,7 @@ export const fetchOrCreateReservation = async ({ vehicle, payer, body, }) => {
60
53
  'partiallyPaid',
61
54
  'partiallyRefunded',
62
55
  'refunded',
63
- 'pendingRefund',
56
+ 'pendingRefund'
64
57
  ];
65
58
  if (wrongStatuses.includes(previousReservation.invoice.status)) {
66
59
  const updatedReservation = await recreateReservationInvoiceAndUpdateReservation(previousReservation, body, vehicle, payer);
@@ -73,16 +66,16 @@ export const fetchOrCreateReservation = async ({ vehicle, payer, body, }) => {
73
66
  text: {
74
67
  type: 'plain_text',
75
68
  text: '‼️ Reservation invoice in wrong status',
76
- emoji: true,
77
- },
69
+ emoji: true
70
+ }
78
71
  },
79
72
  {
80
73
  type: 'section',
81
74
  text: {
82
75
  type: 'plain_text',
83
- text: `The reservation invoice ${previousReservation.invoice.id} was in a wrong status (${previousReservation.invoice.status}), it was discarded and a new invoice (${updatedReservation.val.id}) was created, however, investigate the issue.`,
84
- },
85
- },
76
+ text: `The reservation invoice ${previousReservation.invoice.id} was in a wrong status (${previousReservation.invoice.status}), it was discarded and a new invoice (${updatedReservation.val.id}) was created, however, investigate the issue.`
77
+ }
78
+ }
86
79
  ]);
87
80
  return updatedReservation;
88
81
  }
@@ -94,15 +87,14 @@ export const fetchOrCreateReservation = async ({ vehicle, payer, body, }) => {
94
87
  // Otherwise, we need to create a new reservation
95
88
  return new Ok(previousReservation);
96
89
  }
97
- }
98
- catch (error) {
90
+ } catch (error) {
99
91
  // We couldn't fetch the reservation, so we create a new one and just log this
100
92
  await reportError(error);
101
93
  }
102
94
  const reservationId = generateId('SubscriptionReservation');
103
95
  // Create the reservation invoice
104
96
  const invoiceResult = await createReservationInvoice({
105
- invoiceId,
97
+ invoiceId: generateId('Invoice'),
106
98
  couponCode,
107
99
  plan,
108
100
  mileagePackage,
@@ -114,7 +106,7 @@ export const fetchOrCreateReservation = async ({ vehicle, payer, body, }) => {
114
106
  analytics,
115
107
  vehicle,
116
108
  payer,
117
- subscribingUser,
109
+ subscribingUser
118
110
  });
119
111
  if (invoiceResult.err) {
120
112
  return invoiceResult;
@@ -133,66 +125,63 @@ export const fetchOrCreateReservation = async ({ vehicle, payer, body, }) => {
133
125
  deliveryAddresses,
134
126
  deliveryDate,
135
127
  asBusiness,
136
- source,
128
+ source
137
129
  });
138
130
  return new Ok(reservation);
139
131
  };
140
- const createReservation = async ({ reservationId, invoiceId, subscribingUserId, vehicleId, businessId, plan, mileagePackage, couponCode, referralCode, analytics, deliveryAddresses, deliveryDate, asBusiness, source, }) => {
132
+ const createReservation = async ({ reservationId, invoiceId, subscribingUserId, vehicleId, businessId, plan, mileagePackage, couponCode, referralCode, analytics, deliveryAddresses, deliveryDate, asBusiness, source })=>{
141
133
  return await prisma.subscriptionReservation.create({
142
134
  data: {
143
135
  id: reservationId,
144
136
  invoice: {
145
137
  connect: {
146
- id: invoiceId,
147
- },
138
+ id: invoiceId
139
+ }
148
140
  },
149
141
  user: {
150
142
  connect: {
151
- id: subscribingUserId,
152
- },
143
+ id: subscribingUserId
144
+ }
153
145
  },
154
146
  vehicle: {
155
147
  connect: {
156
- id: vehicleId,
157
- },
148
+ id: vehicleId
149
+ }
158
150
  },
159
- ...(businessId
160
- ? {
161
- business: {
162
- connect: {
163
- id: businessId,
164
- },
165
- },
151
+ ...businessId ? {
152
+ business: {
153
+ connect: {
154
+ id: businessId
155
+ }
166
156
  }
167
- : undefined),
157
+ } : undefined,
168
158
  plan,
169
159
  mileagePackage,
170
160
  couponCode: couponCode,
171
161
  deliveryAddresses: deliveryAddresses,
172
162
  deliveryDate: deliveryDate,
173
- ...(referralCode
174
- ? {
175
- referral: {
176
- connect: {
177
- id: referralCode,
178
- },
179
- },
163
+ ...referralCode ? {
164
+ referral: {
165
+ connect: {
166
+ id: referralCode
167
+ }
180
168
  }
181
- : undefined),
169
+ } : undefined,
182
170
  asBusiness: !!asBusiness,
183
171
  source,
184
172
  metadata: {
185
- analytics,
186
- },
187
- },
173
+ analytics
174
+ }
175
+ }
188
176
  });
189
177
  };
190
- const recreateReservationInvoiceAndUpdateReservation = async (previousReservation, { invoiceId, ...body }, vehicle, payer) => {
178
+ const recreateReservationInvoiceAndUpdateReservation = async (previousReservation, body, vehicle, payer)=>{
191
179
  const invoiceResult = await createReservationInvoice({
192
180
  ...body,
181
+ invoiceId: generateId('Invoice'),
193
182
  reservationId: previousReservation.id,
194
183
  vehicle,
195
- payer,
184
+ payer
196
185
  });
197
186
  if (!invoiceResult.ok) {
198
187
  return invoiceResult;
@@ -200,16 +189,15 @@ const recreateReservationInvoiceAndUpdateReservation = async (previousReservatio
200
189
  const invoice = invoiceResult.val;
201
190
  const updatedReservation = await prisma.subscriptionReservation.update({
202
191
  where: {
203
- id: previousReservation.id,
192
+ id: previousReservation.id
204
193
  },
205
194
  data: {
206
195
  invoice: {
207
196
  connect: {
208
- id: invoice.id,
209
- },
210
- },
211
- },
197
+ id: invoice.id
198
+ }
199
+ }
200
+ }
212
201
  });
213
202
  return new Ok(updatedReservation);
214
203
  };
215
- //# sourceMappingURL=fetch-or-create.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-or-create.js","sourceRoot":"","sources":["../../src/reservation/fetch-or-create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetch-or-create.js","sourceRoot":"","sources":["../../src/reservation/fetch-or-create.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { type Business, type Invoice, type User, type Vehicle } from '@driveflux/db';
2
2
  import { type PromisedResult } from '@driveflux/result';
3
3
  import type { ReserveVehicleParams } from './types.js';
4
- type CreateReservationInvoiceParams = Pick<ReserveVehicleParams, 'couponCode' | 'plan' | 'mileagePackage' | 'referralCode' | 'paymentIntentId' | 'freeReservation' | 'freeReservationReason' | 'analytics' | 'subscribingUser' | 'invoiceId'> & {
4
+ type CreateReservationInvoiceParams = Pick<ReserveVehicleParams, 'couponCode' | 'plan' | 'mileagePackage' | 'referralCode' | 'paymentIntentId' | 'freeReservation' | 'freeReservationReason' | 'analytics' | 'subscribingUser'> & {
5
+ invoiceId?: string;
5
6
  reservationId?: string;
6
7
  vehicle: Pick<Vehicle, 'id' | 'make' | 'vehicleModel' | 'variant' | 'year' | 'type'>;
7
8
  payer: User | Business;
@@ -1 +1 @@
1
- {"version":3,"file":"invoice.d.ts","sourceRoot":"","sources":["../../src/reservation/invoice.ts"],"names":[],"mappings":"AAMA,OAAO,EACN,KAAK,QAAQ,EACb,KAAK,OAAO,EAEZ,KAAK,IAAI,EACT,KAAK,OAAO,EACZ,MAAM,eAAe,CAAA;AAQtB,OAAO,EAAM,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAI3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEtD,KAAK,8BAA8B,GAAG,IAAI,CACzC,oBAAoB,EAClB,YAAY,GACZ,MAAM,GACN,gBAAgB,GAChB,cAAc,GACd,iBAAiB,GACjB,iBAAiB,GACjB,uBAAuB,GACvB,WAAW,GACX,iBAAiB,GACjB,WAAW,CACb,GAAG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,IAAI,CACZ,OAAO,EACP,IAAI,GAAG,MAAM,GAAG,cAAc,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAC5D,CAAA;IACD,KAAK,EAAE,IAAI,GAAG,QAAQ,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,gCAAgC,GAC5C,uBAAuB,IAAI,CAC1B,OAAO,EACL,IAAI,GACJ,YAAY,GACZ,uBAAuB,GACvB,OAAO,GACP,SAAS,GACT,aAAa,GACb,UAAU,CACZ,EACD,WAAW,IAAI,CACd,8BAA8B,EAC9B,YAAY,GAAG,iBAAiB,CAChC,KACC,cAAc,CAAC,OAAO,CAuGxB,CAAA;AAED,eAAO,MAAM,wBAAwB,GAAU,oLAc5C,8BAA8B,KAAG,cAAc,CAAC,OAAO,CA6GzD,CAAA"}
1
+ {"version":3,"file":"invoice.d.ts","sourceRoot":"","sources":["../../src/reservation/invoice.ts"],"names":[],"mappings":"AAMA,OAAO,EACN,KAAK,QAAQ,EACb,KAAK,OAAO,EAEZ,KAAK,IAAI,EACT,KAAK,OAAO,EACZ,MAAM,eAAe,CAAA;AAQtB,OAAO,EAAM,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAI3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEtD,KAAK,8BAA8B,GAAG,IAAI,CACzC,oBAAoB,EAClB,YAAY,GACZ,MAAM,GACN,gBAAgB,GAChB,cAAc,GACd,iBAAiB,GACjB,iBAAiB,GACjB,uBAAuB,GACvB,WAAW,GACX,iBAAiB,CACnB,GAAG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,IAAI,CACZ,OAAO,EACP,IAAI,GAAG,MAAM,GAAG,cAAc,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAC5D,CAAA;IACD,KAAK,EAAE,IAAI,GAAG,QAAQ,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,gCAAgC,GAC5C,uBAAuB,IAAI,CAC1B,OAAO,EACL,IAAI,GACJ,YAAY,GACZ,uBAAuB,GACvB,OAAO,GACP,SAAS,GACT,aAAa,GACb,UAAU,CACZ,EACD,WAAW,IAAI,CACd,8BAA8B,EAC9B,YAAY,GAAG,iBAAiB,CAChC,KACC,cAAc,CAAC,OAAO,CAuGxB,CAAA;AAED,eAAO,MAAM,wBAAwB,GAAU,oLAc5C,8BAA8B,KAAG,cAAc,CAAC,OAAO,CA6GzD,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { config } from '@driveflux/config/backend';
2
2
  import { loadCoupon, PROBLEM_APPLICABLE_NOT_FOUND } from '@driveflux/coupon';
3
- import { prisma, } from '@driveflux/db';
3
+ import { prisma } from '@driveflux/db';
4
4
  import { generateId } from '@driveflux/db/id';
5
5
  import { EMPTY_BILLING_ADDRESS } from '@driveflux/db/models/other';
6
6
  import { PURPOSE_RESERVATION } from '@driveflux/db/models/subscription';
@@ -12,16 +12,15 @@ import { Ok } from '@driveflux/result';
12
12
  import { format } from '@driveflux/time';
13
13
  import { isAfter } from 'date-fns/isAfter';
14
14
  import { subMinutes } from 'date-fns/subMinutes';
15
- export const updateReservationInvoiceIfNeeded = async (oldReservationInvoice, newParams) => {
15
+ export const updateReservationInvoiceIfNeeded = async (oldReservationInvoice, newParams)=>{
16
16
  const couponIsDifferent = oldReservationInvoice.couponCode !== newParams.couponCode;
17
- if (!couponIsDifferent &&
18
- oldReservationInvoice.stripePaymentIntentId === newParams.paymentIntentId) {
17
+ if (!couponIsDifferent && oldReservationInvoice.stripePaymentIntentId === newParams.paymentIntentId) {
19
18
  return new Ok(oldReservationInvoice);
20
19
  }
21
20
  // If the coupon or payment intent are differnt we should update the invoice
22
21
  let update = {
23
22
  stripePaymentIntentId: newParams.paymentIntentId,
24
- couponCode: newParams.couponCode,
23
+ couponCode: newParams.couponCode
25
24
  };
26
25
  // If the coupon is different, we need to apply the coupon to the invoice
27
26
  if (couponIsDifferent) {
@@ -29,63 +28,56 @@ export const updateReservationInvoiceIfNeeded = async (oldReservationInvoice, ne
29
28
  const result = await coupons.applyCouponToUnsavedInvoice(newParams.couponCode, oldReservationInvoice);
30
29
  if (result.ok) {
31
30
  const { discounts, ...rest } = result.val;
32
- const toDisconnect = discounts
33
- ? oldReservationInvoice.discountIds?.filter((id) => !discounts.connect?.some((d) => d.id === id))
34
- : undefined;
35
- const disconnectClauses = toDisconnect?.length
36
- ? {
37
- disconnect: toDisconnect.map((id) => ({ id })),
38
- }
39
- : undefined;
31
+ const toDisconnect = discounts ? oldReservationInvoice.discountIds?.filter((id)=>!discounts.connect?.some((d)=>d.id === id)) : undefined;
32
+ const disconnectClauses = toDisconnect?.length ? {
33
+ disconnect: toDisconnect.map((id)=>({
34
+ id
35
+ }))
36
+ } : undefined;
40
37
  update = {
41
38
  ...update,
42
39
  ...rest,
43
- ...(discounts || disconnectClauses
44
- ? {
45
- discounts: {
46
- ...(discounts || {}),
47
- ...(disconnectClauses || {}),
48
- },
40
+ ...discounts || disconnectClauses ? {
41
+ discounts: {
42
+ ...discounts || {},
43
+ ...disconnectClauses || {}
49
44
  }
50
- : {}),
45
+ } : {},
51
46
  metadata: {
52
47
  ...update.metadata,
53
- couponCode: newParams.couponCode,
48
+ couponCode: newParams.couponCode
54
49
  },
55
50
  providerMetadata: {
56
51
  ...update.providerMetadata,
57
- couponCode: newParams.couponCode,
58
- },
52
+ couponCode: newParams.couponCode
53
+ }
59
54
  };
60
55
  }
61
56
  if (result.err && result.val.code !== PROBLEM_APPLICABLE_NOT_FOUND) {
62
57
  return result;
63
58
  }
64
- }
65
- else if (oldReservationInvoice.discountIds.length) {
59
+ } else if (oldReservationInvoice.discountIds.length) {
66
60
  // No discounts, so we disconnect all of them
67
61
  update = {
68
62
  discounts: {
69
- disconnect: oldReservationInvoice.discountIds.map((id) => ({
70
- id,
71
- })),
72
- },
63
+ disconnect: oldReservationInvoice.discountIds.map((id)=>({
64
+ id
65
+ }))
66
+ }
73
67
  };
74
68
  }
75
69
  }
76
70
  let updated = await wrapInResult(biller.updateInvoice(oldReservationInvoice.id, update));
77
71
  // If the invoice was locked due to pending status and we're more than 1 minute old, we unlock it
78
72
  if (updated.err && updated.val.code === 'invoice_pending') {
79
- if ((oldReservationInvoice.lockedAt &&
80
- isAfter(oldReservationInvoice.lockedAt, subMinutes(new Date(), 1))) ||
81
- !oldReservationInvoice.lockedAt) {
73
+ if (oldReservationInvoice.lockedAt && isAfter(oldReservationInvoice.lockedAt, subMinutes(new Date(), 1)) || !oldReservationInvoice.lockedAt) {
82
74
  updated = await wrapInResult(biller.updateInvoice(oldReservationInvoice.id, {
83
75
  ...update,
84
76
  locked: false,
85
77
  lockedAt: null,
86
78
  lockReason: null,
87
79
  unlockAt: null,
88
- status: 'draft',
80
+ status: 'draft'
89
81
  }));
90
82
  }
91
83
  }
@@ -94,7 +86,7 @@ export const updateReservationInvoiceIfNeeded = async (oldReservationInvoice, ne
94
86
  }
95
87
  return new Ok(updated.val);
96
88
  };
97
- export const createReservationInvoice = async ({ invoiceId, couponCode, plan, mileagePackage, referralCode, reservationId, paymentIntentId, freeReservation, freeReservationReason, analytics, vehicle, payer, subscribingUser, }) => {
89
+ export const createReservationInvoice = async ({ invoiceId, couponCode, plan, mileagePackage, referralCode, reservationId, paymentIntentId, freeReservation, freeReservationReason, analytics, vehicle, payer, subscribingUser })=>{
98
90
  if (freeReservation) {
99
91
  // It's a free reservation, so we don't need to add a coupon code
100
92
  return await wrapInResult(biller.createInvoice(getInvoiceCreateDetails({
@@ -107,21 +99,17 @@ export const createReservationInvoice = async ({ invoiceId, couponCode, plan, mi
107
99
  freeReservation,
108
100
  freeReservationReason,
109
101
  analytics,
110
- reservationId,
102
+ reservationId
111
103
  })));
112
104
  }
113
105
  let finalCouponCode = couponCode;
114
106
  // If we don't have a reservation coupon ID, we apply the referral discount if any
115
- const referral = referralCode &&
116
- (await prisma.referral.findUnique({
117
- where: {
118
- id: referralCode,
119
- },
120
- }));
121
- if (!finalCouponCode &&
122
- referral &&
123
- referral.discountToReceiverCouponId &&
124
- referral.discountToReceiverCouponApplicationName === 'reservationFee') {
107
+ const referral = referralCode && await prisma.referral.findUnique({
108
+ where: {
109
+ id: referralCode
110
+ }
111
+ });
112
+ if (!finalCouponCode && referral && referral.discountToReceiverCouponId && referral.discountToReceiverCouponApplicationName === 'reservationFee') {
125
113
  const referralCoupon = await loadCoupon(referral.discountToReceiverCouponId);
126
114
  if (referralCoupon) {
127
115
  finalCouponCode = referralCoupon.code;
@@ -140,15 +128,15 @@ export const createReservationInvoice = async ({ invoiceId, couponCode, plan, mi
140
128
  freeReservation,
141
129
  freeReservationReason,
142
130
  analytics,
143
- reservationId,
131
+ reservationId
144
132
  }),
145
133
  lines: [
146
134
  {
147
135
  amount: reservationAmount,
148
136
  description: `Reservation fee for ${vehicleName(vehicle)}`,
149
- chargingFor: 'reservationFee',
150
- },
151
- ],
137
+ chargingFor: 'reservationFee'
138
+ }
139
+ ]
152
140
  };
153
141
  if (finalCouponCode) {
154
142
  const withCoupon = await coupons.applyCouponToUnsavedInvoice(finalCouponCode, invoiceCreateDetails, 'reservationFee', {
@@ -158,10 +146,9 @@ export const createReservationInvoice = async ({ invoiceId, couponCode, plan, mi
158
146
  vehicleMake: vehicle.make,
159
147
  userId: subscribingUser.id,
160
148
  businessId: payer.object === 'business' ? payer.id : undefined,
161
- vehicleType: vehicle.type,
149
+ vehicleType: vehicle.type
162
150
  });
163
- if (withCoupon.err &&
164
- withCoupon.val.code !== PROBLEM_APPLICABLE_NOT_FOUND) {
151
+ if (withCoupon.err && withCoupon.val.code !== PROBLEM_APPLICABLE_NOT_FOUND) {
165
152
  return withCoupon;
166
153
  }
167
154
  if (withCoupon.ok) {
@@ -169,18 +156,18 @@ export const createReservationInvoice = async ({ invoiceId, couponCode, plan, mi
169
156
  ...withCoupon.val,
170
157
  metadata: {
171
158
  ...withCoupon.val.metadata,
172
- couponCode: finalCouponCode,
159
+ couponCode: finalCouponCode
173
160
  },
174
161
  providerMetadata: {
175
162
  ...withCoupon.val.providerMetadata,
176
- couponCode: finalCouponCode,
177
- },
163
+ couponCode: finalCouponCode
164
+ }
178
165
  };
179
166
  }
180
167
  }
181
168
  return await wrapInResult(biller.createInvoice(invoiceCreateDetails));
182
169
  };
183
- const getInvoiceCreateDetails = ({ invoiceId, payer, date, reservationDiscountId, vehicle, plan, mileagePackage, couponCode, paymentIntentId, freeReservation, freeReservationReason, analytics, reservationId, }) => {
170
+ const getInvoiceCreateDetails = ({ invoiceId, payer, date, reservationDiscountId, vehicle, plan, mileagePackage, couponCode, paymentIntentId, freeReservation, freeReservationReason, analytics, reservationId })=>{
184
171
  return {
185
172
  id: invoiceId || generateId('Invoice'),
186
173
  taxPercentage: 0,
@@ -196,15 +183,13 @@ const getInvoiceCreateDetails = ({ invoiceId, payer, date, reservationDiscountId
196
183
  description: 'Reservation fee for a FLUX subscription',
197
184
  footer: `Invoice for a FLUX subscription reservation. Due by ${format(date ?? new Date())}`,
198
185
  invoiceUrl: `${config.appUrl}/invoice-preview/${invoiceId}`,
199
- ...(reservationDiscountId
200
- ? {
201
- discounts: {
202
- connect: {
203
- id: reservationDiscountId,
204
- },
205
- },
186
+ ...reservationDiscountId ? {
187
+ discounts: {
188
+ connect: {
189
+ id: reservationDiscountId
190
+ }
206
191
  }
207
- : {}),
192
+ } : {},
208
193
  lines: [],
209
194
  subscriptionDetails: {
210
195
  vehicleId: vehicle.id,
@@ -213,7 +198,7 @@ const getInvoiceCreateDetails = ({ invoiceId, payer, date, reservationDiscountId
213
198
  variant: vehicle.variant,
214
199
  year: vehicle.year,
215
200
  plan: plan,
216
- mileagePackage: mileagePackage,
201
+ mileagePackage: mileagePackage
217
202
  },
218
203
  stripePaymentIntentId: paymentIntentId,
219
204
  providerMetadata: {
@@ -221,14 +206,18 @@ const getInvoiceCreateDetails = ({ invoiceId, payer, date, reservationDiscountId
221
206
  mileagePackage,
222
207
  vehicleId: vehicle.id,
223
208
  vehicleName: vehicleName(vehicle),
224
- ...(reservationId ? { reservationId } : {}),
225
- ...(couponCode ? { couponCode } : {}),
209
+ ...reservationId ? {
210
+ reservationId
211
+ } : {},
212
+ ...couponCode ? {
213
+ couponCode
214
+ } : {}
226
215
  },
227
216
  autoRetry: {
228
217
  enabled: false,
229
218
  interval: 0,
230
219
  maxAttempts: 0,
231
- attempts: 0,
220
+ attempts: 0
232
221
  },
233
222
  metadata: {
234
223
  purpose: PURPOSE_RESERVATION,
@@ -237,11 +226,10 @@ const getInvoiceCreateDetails = ({ invoiceId, payer, date, reservationDiscountId
237
226
  plan,
238
227
  mileagePackage,
239
228
  couponCode,
240
- ...(freeReservation && freeReservationReason
241
- ? { freeReservationReason }
242
- : {}),
243
- analytics,
244
- },
229
+ ...freeReservation && freeReservationReason ? {
230
+ freeReservationReason
231
+ } : {},
232
+ analytics
233
+ }
245
234
  };
246
235
  };
247
- //# sourceMappingURL=invoice.js.map
@@ -1,7 +1,6 @@
1
1
  import type { MileagePackage, PlanType, ReservationSource, User } from '@driveflux/db';
2
2
  import type { Address } from '@driveflux/db/types/helpers';
3
3
  export type ReserveVehicleParams = {
4
- invoiceId?: string;
5
4
  plan: PlanType;
6
5
  mileagePackage: MileagePackage;
7
6
  asBusiness?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/reservation/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,cAAc,EACd,QAAQ,EACR,iBAAiB,EACjB,IAAI,EACJ,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AAE1D,MAAM,MAAM,oBAAoB,GAAG;IAClC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,QAAQ,CAAA;IACd,cAAc,EAAE,cAAc,CAAA;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,SAAS,CAAC,EAAE;QACX,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,WAAW,CAAC,EAAE,MAAM,CAAA;KACpB,CAAA;IACD,iBAAiB,CAAC,EAAE;QACnB,IAAI,EAAE,OAAO,CAAA;QACb,OAAO,EAAE,OAAO,CAAA;KAChB,CAAA;IACD,YAAY,CAAC,EAAE,IAAI,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,MAAM,EAAE,iBAAiB,CAAA;IACzB,eAAe,EAAE,IAAI,CAAA;IACrB,WAAW,EAAE,IAAI,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/reservation/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,cAAc,EACd,QAAQ,EACR,iBAAiB,EACjB,IAAI,EACJ,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AAE1D,MAAM,MAAM,oBAAoB,GAAG;IAClC,IAAI,EAAE,QAAQ,CAAA;IACd,cAAc,EAAE,cAAc,CAAA;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,SAAS,CAAC,EAAE;QACX,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,WAAW,CAAC,EAAE,MAAM,CAAA;KACpB,CAAA;IACD,iBAAiB,CAAC,EAAE;QACnB,IAAI,EAAE,OAAO,CAAA;QACb,OAAO,EAAE,OAAO,CAAA;KAChB,CAAA;IACD,YAAY,CAAC,EAAE,IAAI,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,MAAM,EAAE,iBAAiB,CAAA;IACzB,eAAe,EAAE,IAAI,CAAA;IACrB,WAAW,EAAE,IAAI,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA"}
@@ -1,2 +1 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
1
+ export { };
package/dist/slack.d.ts CHANGED
@@ -6,7 +6,7 @@ declare global {
6
6
  *
7
7
  * @deprecated Use slackLater instead and commitSlack to commit
8
8
  */
9
- export declare const slack: (message: string, channel?: string | undefined) => Promise<import("@driveflux/fetch").EnhandedFetchResult<object, import("../../../packages/problem/dist/index.js").Problem>>;
9
+ export declare const slack: (message: string, channel?: string) => Promise<import("@driveflux/fetch").EnhandedFetchResult<object, import("@driveflux/problem").Problem>>;
10
10
  export declare const getSlackBlocks: (channel?: string) => Set<KnownBlock> | Map<string, Set<KnownBlock>> | undefined;
11
11
  /**
12
12
  * Naive implementation, however, for now (uncrowded serverless env), this works
@@ -14,6 +14,6 @@ export declare const getSlackBlocks: (channel?: string) => Set<KnownBlock> | Map
14
14
  * @param channel
15
15
  */
16
16
  export declare function slackLater(blocks: string | KnownBlock | KnownBlock[], channel?: string): void;
17
- export declare function sendSlackMessages(channel: string, blocks: KnownBlock[]): Promise<import("@driveflux/fetch").EnhandedFetchResult<object, import("../../../packages/problem/dist/index.js").Problem>>;
17
+ export declare function sendSlackMessages(channel: string, blocks: KnownBlock[]): Promise<import("@driveflux/fetch").EnhandedFetchResult<object, import("@driveflux/problem").Problem>>;
18
18
  export declare const commitSlack: () => void;
19
19
  //# sourceMappingURL=slack.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"slack.d.ts","sourceRoot":"","sources":["../src/slack.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAI9C,OAAO,CAAC,MAAM,CAAC;IAEd,IAAI,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAA;CAC/C;AAOD;;;GAGG;AACH,eAAO,MAAM,KAAK,GACjB,SAAS,MAAM,EACf,4BAAuC,+HAoBvC,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,UAAU,MAAM,+DACE,CAAA;AAEjD;;;;GAIG;AAEH,wBAAgB,UAAU,CACzB,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,EAAE,EAC1C,OAAO,CAAC,EAAE,MAAM,GACd,IAAI,CA4BN;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,8HAc5E;AAED,eAAO,MAAM,WAAW,YA0BvB,CAAA"}
1
+ {"version":3,"file":"slack.d.ts","sourceRoot":"","sources":["../src/slack.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAI9C,OAAO,CAAC,MAAM,CAAC;IAEd,IAAI,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAA;CAC/C;AAOD;;;GAGG;AACH,eAAO,MAAM,KAAK,GACjB,SAAS,MAAM,EACf,gBAAuC,0GAoBvC,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,UAAU,MAAM,+DACE,CAAA;AAEjD;;;;GAIG;AAEH,wBAAgB,UAAU,CACzB,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,EAAE,EAC1C,OAAO,CAAC,EAAE,MAAM,GACd,IAAI,CA4BN;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,yGAc5E;AAED,eAAO,MAAM,WAAW,YA0BvB,CAAA"}
@@ -19,8 +19,8 @@ export declare const addressValidation: z.ZodObject<{
19
19
  postalCode: z.ZodString;
20
20
  country: z.ZodString;
21
21
  }, z.core.$strip>;
22
- export declare const getIsoDatetimeToDate: (dateValidation?: ZodDate) => ZodCodec<z.ZodISODateTime, ZodDate>;
23
- export declare const dateValidation: ZodCodec<z.ZodISODateTime, ZodDate>;
22
+ export declare const getIsoDatetimeToDate: (dateValidation?: ZodDate) => ZodCodec<z.ZodString, ZodDate>;
23
+ export declare const dateValidation: ZodCodec<z.ZodString, ZodDate>;
24
24
  export declare const enhancedImageValidation: z.ZodObject<{
25
25
  default: z.ZodString;
26
26
  blurBase64: z.ZodOptional<z.ZodString>;
@@ -54,8 +54,8 @@ export declare const documentFileValidation: z.ZodObject<{
54
54
  }>>>;
55
55
  mimeType: z.ZodOptional<z.ZodString>;
56
56
  uploaded: z.ZodDefault<z.ZodBoolean>;
57
- createdAt: z.ZodOptional<z.ZodNullable<ZodCodec<z.ZodISODateTime, ZodDate>>>;
58
- updatedAt: z.ZodOptional<z.ZodNullable<ZodCodec<z.ZodISODateTime, ZodDate>>>;
57
+ createdAt: z.ZodOptional<z.ZodNullable<ZodCodec<z.ZodString, ZodDate>>>;
58
+ updatedAt: z.ZodOptional<z.ZodNullable<ZodCodec<z.ZodString, ZodDate>>>;
59
59
  metadata: z.ZodOptional<z.ZodNullable<z.ZodObject<{}, z.core.$catchall<ZodUnion<readonly [z.ZodString, ZodNumber, z.ZodBoolean, ZodArray<z.ZodString>, ZodArray<ZodNumber>, ZodArray<z.ZodBoolean>, z.ZodNull, z.ZodUndefined]>>>>>;
60
60
  }, z.core.$strip>;
61
61
  export declare const queryBooleanValidator: ZodCodec<z.ZodString, z.ZodBoolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EACN,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,QAAQ,EAEb,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,CAAC,EACD,MAAM,KAAK,CAAA;AAEZ,eAAO,MAAM,yBAAyB,GACrC,UAAU,QAAQ,CAAC,OAAO,CAAC,KACzB,cAAc,CAAC,KAAK,CAatB,CAAA;AAED,eAAO,MAAM,uBAAuB,GACnC,UAAU,SAAS,MAAM,EACzB,sBAAsB,SAAS,CAAC,CAAC,WAAW,EAE5C,QAAQ,UAAU,EAClB,yBAAyB,sBAAsB;;gCAiB9C,CAAA;AAEF,eAAO,MAAM,uBAAuB,aAAoB,CAAA;AAExD,eAAO,MAAM,kBAAkB,6LAa7B,CAAA;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;iBAe5B,CAAA;AAEF,eAAO,MAAM,oBAAoB,GAAI,iBAAiB,OAAO,wCAI1D,CAAA;AAEH,eAAO,MAAM,cAAc,qCAAyB,CAAA;AAEpD,eAAO,MAAM,uBAAuB;;;;;;;;iBAQlC,CAAA;AAEF,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,MAAM,EAAE,GAAG,CAAC,2GACnC,CAAA;AAEvB,eAAO,MAAM,iBAAiB;QACW,CAAC,CAAC,SAAS;;;;;;;iBAWlD,CAAA;AAEF,eAAO,MAAM,sBAAsB;QACM,CAAC,CAAC,SAAS;;;;;;;;;;;;;;;;iBAalD,CAAA;AAEF,eAAO,MAAM,qBAAqB,qCAGhC,CAAA;AAOF,eAAO,MAAM,oBAAoB,kCAAsB,CAAA;AAEvD,wBAAgB,uBAAuB,CAAC,KAAK,CAAC,CAAC,SAAS,SAAS,MAAM,EAAE,EACxE,SAAS,EAAE,CAAC,GACV,QAAQ,CACV;IACC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;CAC3C,CACD,CAAA;AACD,wBAAgB,uBAAuB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,EACtE,OAAO,EAAE,CAAC,GACR,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAChF,wBAAgB,uBAAuB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,EACtE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,GACpB,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EACN,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,QAAQ,EAEb,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,CAAC,EACD,MAAM,KAAK,CAAA;AAEZ,eAAO,MAAM,yBAAyB,GACrC,UAAU,QAAQ,CAAC,OAAO,CAAC,KACzB,cAAc,CAAC,KAAK,CAatB,CAAA;AAED,eAAO,MAAM,uBAAuB,GACnC,UAAU,SAAS,MAAM,EACzB,sBAAsB,SAAS,CAAC,CAAC,WAAW,EAE5C,QAAQ,UAAU,EAClB,yBAAyB,sBAAsB;;gCAiB9C,CAAA;AAEF,eAAO,MAAM,uBAAuB,aAAoB,CAAA;AAExD,eAAO,MAAM,kBAAkB,6LAa7B,CAAA;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;iBAe5B,CAAA;AAEF,eAAO,MAAM,oBAAoB,GAAI,iBAAiB,OAAO,mCAe1D,CAAA;AAEH,eAAO,MAAM,cAAc,gCAAyB,CAAA;AAEpD,eAAO,MAAM,uBAAuB;;;;;;;;iBAQlC,CAAA;AAEF,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,MAAM,EAAE,GAAG,CAAC,2GACnC,CAAA;AAEvB,eAAO,MAAM,iBAAiB;QACW,CAAC,CAAC,SAAS;;;;;;;iBAWlD,CAAA;AAEF,eAAO,MAAM,sBAAsB;QACM,CAAC,CAAC,SAAS;;;;;;;;;;;;;;;;iBAalD,CAAA;AAEF,eAAO,MAAM,qBAAqB,qCAGhC,CAAA;AAOF,eAAO,MAAM,oBAAoB,kCAAsB,CAAA;AAEvD,wBAAgB,uBAAuB,CAAC,KAAK,CAAC,CAAC,SAAS,SAAS,MAAM,EAAE,EACxE,SAAS,EAAE,CAAC,GACV,QAAQ,CACV;IACC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;CAC3C,CACD,CAAA;AACD,wBAAgB,uBAAuB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,EACtE,OAAO,EAAE,CAAC,GACR,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAChF,wBAAgB,uBAAuB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,EACtE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,GACpB,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA"}
@@ -49,9 +49,17 @@ export const addressValidation = z.object({
49
49
  postalCode: z.string().min(3).max(11),
50
50
  country: nonEmptyStringValidator
51
51
  });
52
- export const getIsoDatetimeToDate = (dateValidation)=>z.codec(z.iso.datetime(), dateValidation ?? z.date(), {
52
+ export const getIsoDatetimeToDate = (dateValidation)=>z.codec(z.string(), dateValidation ?? z.date(), {
53
53
  decode: (isoString)=>new Date(isoString),
54
54
  encode: (date)=>date.toISOString()
55
+ }).refine((d)=>{
56
+ const date = new Date(d);
57
+ return !Number.isNaN(date.getTime());
58
+ }, {
59
+ message: 'Invalid date',
60
+ path: [
61
+ 'date'
62
+ ]
55
63
  });
56
64
  export const dateValidation = getIsoDatetimeToDate();
57
65
  export const enhancedImageValidation = z.object({
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@driveflux/api-functions",
3
- "version": "0.0.7-next.8",
3
+ "version": "1.0.0",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./notion": {
@@ -73,39 +73,39 @@
73
73
  ],
74
74
  "dependencies": {
75
75
  "@casl/ability": "^6.7.3",
76
- "@driveflux/auth": "3.0.0-next.5",
77
- "@driveflux/billing": "7.0.0-develop.35",
78
- "@driveflux/config": "2.1.0-next.1",
79
- "@driveflux/coupon": "8.0.0-develop.43",
80
- "@driveflux/db": "3.0.0-develop.60",
81
- "@driveflux/email": "6.0.0-develop.41",
82
- "@driveflux/email-templates": "0.0.2-develop.44",
83
- "@driveflux/engine": "0.1.2-develop.70",
84
- "@driveflux/fetch": "7.0.3",
85
- "@driveflux/format-money": "6.0.2",
86
- "@driveflux/problem": "5.0.3",
87
- "@driveflux/reporter": "6.0.4-next.2",
88
- "@driveflux/result": "5.0.3",
89
- "@driveflux/scheduler": "7.0.0-develop.42",
90
- "@driveflux/singleton": "2.0.2",
91
- "@driveflux/subscription": "8.0.0-develop.29",
92
- "@driveflux/time": "5.0.2",
93
- "@driveflux/utils": "5.0.2",
94
- "@notionhq/client": "^4.0.2",
76
+ "@driveflux/auth": "4.0.0",
77
+ "@driveflux/billing": "7.0.0-develop.49",
78
+ "@driveflux/config": "3.0.0",
79
+ "@driveflux/coupon": "8.0.0-develop.68",
80
+ "@driveflux/db": "3.0.0-develop.81",
81
+ "@driveflux/email": "6.0.0-develop.62",
82
+ "@driveflux/email-templates": "0.0.2-develop.66",
83
+ "@driveflux/engine": "0.1.2-develop.103",
84
+ "@driveflux/fetch": "8.0.0",
85
+ "@driveflux/format-money": "7.0.0",
86
+ "@driveflux/problem": "6.0.0",
87
+ "@driveflux/reporter": "7.0.0",
88
+ "@driveflux/result": "6.0.0",
89
+ "@driveflux/scheduler": "7.0.0-develop.67",
90
+ "@driveflux/singleton": "3.0.0",
91
+ "@driveflux/subscription": "8.0.0-develop.44",
92
+ "@driveflux/time": "6.0.0",
93
+ "@driveflux/utils": "6.0.0",
94
+ "@notionhq/client": "^5.3.0",
95
95
  "bcryptjs": "^3.0.2",
96
96
  "date-fns": "^4.1.0",
97
97
  "lodash": "^4.17.21",
98
- "nanoid": "^5.1.5",
99
- "zod": "^4.1.4"
98
+ "nanoid": "^5.1.6",
99
+ "zod": "^4.1.12"
100
100
  },
101
101
  "devDependencies": {
102
- "@driveflux/fab": "3.0.2",
103
- "@driveflux/tsconfig": "2.0.2",
104
- "@slack/types": "^2.16.0",
102
+ "@driveflux/fab": "4.0.0",
103
+ "@driveflux/tsconfig": "3.0.0",
104
+ "@slack/types": "^2.17.0",
105
105
  "@types/lodash": "^4.17.20",
106
- "@types/node": "^24.3.0",
107
- "del-cli": "^6.0.0",
108
- "typescript": "^5.9.2"
106
+ "@types/node": "^24.9.1",
107
+ "del-cli": "^7.0.0",
108
+ "typescript": "^5.9.3"
109
109
  },
110
110
  "scripts": {
111
111
  "build": "fab",