@driveflux/api-functions 0.0.7-next.42 → 0.0.7-next.6

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.
Files changed (77) hide show
  1. package/dist/auth/confirm.js +29 -24
  2. package/dist/auth/emails.js +13 -12
  3. package/dist/auth/formatter.js +5 -5
  4. package/dist/auth/otp.js +50 -66
  5. package/dist/auth/register.d.ts +1 -1
  6. package/dist/auth/register.js +35 -43
  7. package/dist/auth/register.js.map +1 -1
  8. package/dist/auth/tokens.d.ts +3 -3
  9. package/dist/auth/tokens.js +55 -58
  10. package/dist/auth/verifications.js +52 -53
  11. package/dist/constants.js +1 -0
  12. package/dist/mailjet/calls/manage-contacts-in-list.d.ts +1 -1
  13. package/dist/mailjet/calls/manage-contacts-in-list.d.ts.map +1 -1
  14. package/dist/mailjet/calls/manage-contacts-in-list.js +7 -6
  15. package/dist/mailjet/calls/manage-contacts-in-list.js.map +1 -1
  16. package/dist/mailjet/calls/manage-subscription-status.d.ts +1 -1
  17. package/dist/mailjet/calls/manage-subscription-status.d.ts.map +1 -1
  18. package/dist/mailjet/calls/manage-subscription-status.js +6 -5
  19. package/dist/mailjet/calls/manage-subscription-status.js.map +1 -1
  20. package/dist/mailjet/calls/request-service.d.ts +1 -1
  21. package/dist/mailjet/calls/request-service.d.ts.map +1 -1
  22. package/dist/mailjet/calls/request-service.js +6 -7
  23. package/dist/mailjet/refresh-email-preferences.js +12 -11
  24. package/dist/mailjet/set-contact.js +12 -11
  25. package/dist/mailjet/types.js +2 -1
  26. package/dist/mailjet/utils/convert-to-array.d.ts +1 -1
  27. package/dist/mailjet/utils/convert-to-array.d.ts.map +1 -1
  28. package/dist/mailjet/utils/convert-to-array.js +6 -8
  29. package/dist/mailjet/utils/extract-email-preferences.d.ts +1 -1
  30. package/dist/mailjet/utils/extract-email-preferences.d.ts.map +1 -1
  31. package/dist/mailjet/utils/extract-email-preferences.js +15 -14
  32. package/dist/mailjet/utils/lists.js +8 -7
  33. package/dist/mailjet/utils/update-email-references.d.ts +1 -1
  34. package/dist/mailjet/utils/update-email-references.d.ts.map +1 -1
  35. package/dist/mailjet/utils/update-email-references.js +15 -16
  36. package/dist/notion/client.d.ts.map +1 -1
  37. package/dist/notion/client.js +20 -24
  38. package/dist/notion/client.js.map +1 -1
  39. package/dist/notion/helpful.js +9 -6
  40. package/dist/notion/schemas/block.js +48 -42
  41. package/dist/notion/schemas/common.js +14 -9
  42. package/dist/notion/schemas/database.d.ts +1 -1
  43. package/dist/notion/schemas/database.js +60 -62
  44. package/dist/notion/schemas/emoji.js +2 -1
  45. package/dist/notion/schemas/file.js +9 -9
  46. package/dist/notion/schemas/kb.js +6 -5
  47. package/dist/notion/schemas/page.d.ts +1 -1
  48. package/dist/notion/schemas/page.js +61 -72
  49. package/dist/notion/schemas/parent.js +5 -4
  50. package/dist/notion/schemas/user.js +19 -18
  51. package/dist/reservation/agree.js +7 -6
  52. package/dist/reservation/checks.js +4 -3
  53. package/dist/reservation/display-vehicle.d.ts +16 -16
  54. package/dist/reservation/display-vehicle.js +71 -65
  55. package/dist/reservation/display-vehicle.js.map +1 -1
  56. package/dist/reservation/fetch-or-create.d.ts.map +1 -1
  57. package/dist/reservation/fetch-or-create.js +55 -51
  58. package/dist/reservation/fetch-or-create.js.map +1 -1
  59. package/dist/reservation/invoice.d.ts +1 -2
  60. package/dist/reservation/invoice.d.ts.map +1 -1
  61. package/dist/reservation/invoice.js +76 -64
  62. package/dist/reservation/invoice.js.map +1 -1
  63. package/dist/reservation/payer.js +6 -5
  64. package/dist/reservation/reserve.js +4 -3
  65. package/dist/reservation/types.js +2 -1
  66. package/dist/reservation/vehicle.js +16 -13
  67. package/dist/slack.d.ts +2 -2
  68. package/dist/slack.d.ts.map +1 -1
  69. package/dist/slack.js +29 -24
  70. package/dist/validation.d.ts +4 -4
  71. package/dist/validation.d.ts.map +1 -1
  72. package/dist/validation.js +71 -77
  73. package/dist/validation.js.map +1 -1
  74. package/dist/vehicle/vehicle-pricing/constants.js +19 -22
  75. package/dist/vehicle/vehicle-pricing/index.js +42 -28
  76. package/dist/vehicle/vehicle-pricing/types.js +2 -1
  77. package/package.json +28 -28
@@ -1,6 +1,7 @@
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;
4
5
  id: string;
5
6
  createdAt: Date;
6
7
  updatedAt: Date;
@@ -8,7 +9,6 @@ export declare const fetchDisplayVehicle: (displayVehicle: DisplayVehicle | stri
8
9
  vehicleModel: string;
9
10
  variant: string;
10
11
  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
- name: string;
194
+ phoneNumber: string | null;
195
+ type: import("@driveflux/db").HostType | null;
195
196
  id: string;
196
197
  metadata: PrismaJson.AnyMetadata | null;
198
+ name: string;
197
199
  createdAt: Date;
198
200
  updatedAt: Date;
199
- registrationNumber: string | null;
200
- type: import("@driveflux/db").HostType | null;
201
- active: boolean;
202
201
  email: string | null;
203
- phoneNumber: string | null;
204
202
  race: import("@driveflux/db").Race | null;
205
203
  emergencyContactName: string | null;
206
204
  emergencyPhoneNumber: string | null;
205
+ active: boolean;
207
206
  commencementDate: Date | null;
207
+ registrationNumber: string | null;
208
208
  stripeAccountId: string | null;
209
209
  isStripeConnected: boolean;
210
210
  serviceCenterIds: string[];
@@ -262,11 +262,15 @@ export declare const createVehicleFromDisplayVehicle: (displayVehicle: DisplayVe
262
262
  };
263
263
  } & {
264
264
  object: import("@driveflux/db").VehicleObject;
265
+ type: VehicleType;
265
266
  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;
270
274
  make: string;
271
275
  vehicleModel: string;
272
276
  variant: string;
@@ -276,7 +280,6 @@ export declare const createVehicleFromDisplayVehicle: (displayVehicle: DisplayVe
276
280
  compositeSearchScore: number;
277
281
  registrationDate: Date | null;
278
282
  mileage: number | null;
279
- registrationNumber: string | null;
280
283
  vin: string | null;
281
284
  engineNumber: string | null;
282
285
  availability: import("@driveflux/db").VehicleAvailablity | null;
@@ -291,8 +294,6 @@ export declare const createVehicleFromDisplayVehicle: (displayVehicle: DisplayVe
291
294
  delistedAt: Date | null;
292
295
  imagesNotActual: boolean;
293
296
  imagesNotActualMessage: string | null;
294
- hostId: string;
295
- type: VehicleType;
296
297
  allowedServiceCenterIds: string[];
297
298
  displayVehicleId: string | null;
298
299
  isHostConfirmed: boolean | null;
@@ -305,7 +306,6 @@ export declare const createVehicleFromDisplayVehicle: (displayVehicle: DisplayVe
305
306
  featureOnLandingPage: boolean;
306
307
  lastMileageRecordedAt: Date | null;
307
308
  locationAvailability: string[];
308
- temporary: boolean;
309
309
  hotDeal: boolean | null;
310
310
  activeSubscriptionId: string | null;
311
311
  addresses: {
@@ -689,11 +689,15 @@ 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;
692
693
  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;
697
701
  make: string;
698
702
  vehicleModel: string;
699
703
  variant: string;
@@ -703,7 +707,6 @@ export declare const transfromVehicleDisplayToVehicle: (displayVehicle: DisplayV
703
707
  compositeSearchScore: number;
704
708
  registrationDate: Date | null;
705
709
  mileage: number | null;
706
- registrationNumber: string | null;
707
710
  vin: string | null;
708
711
  engineNumber: string | null;
709
712
  availability: import("@driveflux/db").VehicleAvailablity | null;
@@ -718,8 +721,6 @@ export declare const transfromVehicleDisplayToVehicle: (displayVehicle: DisplayV
718
721
  delistedAt: Date | null;
719
722
  imagesNotActual: boolean;
720
723
  imagesNotActualMessage: string | null;
721
- hostId: string;
722
- type: VehicleType;
723
724
  allowedServiceCenterIds: string[];
724
725
  displayVehicleId: string | null;
725
726
  isHostConfirmed: boolean | null;
@@ -732,7 +733,6 @@ export declare const transfromVehicleDisplayToVehicle: (displayVehicle: DisplayV
732
733
  featureOnLandingPage: boolean;
733
734
  lastMileageRecordedAt: Date | null;
734
735
  locationAvailability: string[];
735
- temporary: boolean;
736
736
  hotDeal: boolean | null;
737
737
  activeSubscriptionId: string | null;
738
738
  addresses: {
@@ -1,75 +1,73 @@
1
1
  import { config } from '@driveflux/config/backend';
2
- import { prisma } from '@driveflux/db';
2
+ import { prisma, } from '@driveflux/db';
3
3
  import { generateId } from '@driveflux/db/id';
4
4
  import { createPricingController } from '@driveflux/db/models/vehicle';
5
- import { getFluxExcessMileage, getFluxPiceMatrix, getHostExcessMileage, getHostsMatrix, getRecommendedMotorcycleDeposit, getStartFeeMatrix } from '../vehicle/vehicle-pricing/index.js';
6
- export const fetchDisplayVehicle = async (displayVehicle)=>{
7
- return typeof displayVehicle === 'string' ? await prisma.displayVehicle.findFirst({
8
- where: {
9
- id: displayVehicle
10
- }
11
- }) : displayVehicle;
5
+ import { getFluxExcessMileage, getFluxPiceMatrix, getHostExcessMileage, getHostsMatrix, getRecommendedMotorcycleDeposit, getStartFeeMatrix, } from '../vehicle/vehicle-pricing';
6
+ export const fetchDisplayVehicle = async (displayVehicle) => {
7
+ return typeof displayVehicle === 'string'
8
+ ? await prisma.displayVehicle.findFirst({ where: { id: displayVehicle } })
9
+ : displayVehicle;
12
10
  };
13
- export const createVehicleFromDisplayVehicle = async (displayVehicle, selectedColor)=>{
11
+ export const createVehicleFromDisplayVehicle = async (displayVehicle, selectedColor) => {
14
12
  const dv = await fetchDisplayVehicle(displayVehicle);
15
- if (!dv || typeof dv !== 'object') return;
16
- if (!dv.details) return;
17
- const mainImage = dv.images.main.find((m)=>m.variant === selectedColor)?.url;
13
+ if (!dv || typeof dv !== 'object')
14
+ return;
15
+ if (!dv.details)
16
+ return;
17
+ const mainImage = dv.images.main.find((m) => m.variant === selectedColor)?.url;
18
18
  const vehicleData = {
19
19
  id: generateId('Vehicle'),
20
20
  ...transformBasicVehicleData(dv),
21
21
  images: [
22
- ...mainImage ? [
23
- transfromSingleImage(mainImage)
24
- ] : [],
25
- ...transformImages(dv.images)
22
+ ...(mainImage ? [transfromSingleImage(mainImage)] : []),
23
+ ...transformImages(dv.images),
26
24
  ],
27
25
  ...transformBasePrices(dv.pricing),
28
26
  pricing: transformPriceMatrix(dv.type, dv.pricing),
29
27
  details: transformDetails(dv.details, selectedColor),
30
28
  host: {
31
29
  connect: {
32
- id: dv.defaultHostId
33
- }
30
+ id: dv.defaultHostId,
31
+ },
34
32
  },
35
33
  displayVehicle: {
36
34
  connect: {
37
- id: dv.id
38
- }
39
- }
35
+ id: dv.id,
36
+ },
37
+ },
40
38
  };
41
39
  return await prisma.vehicle.create({
42
40
  data: vehicleData,
43
41
  include: {
44
- host: true
45
- }
42
+ host: true,
43
+ },
46
44
  });
47
45
  };
48
- export const transfromVehicleDisplayToVehicle = async (displayVehicle, selectedColor)=>{
46
+ export const transfromVehicleDisplayToVehicle = async (displayVehicle, selectedColor) => {
49
47
  const dv = await fetchDisplayVehicle(displayVehicle);
50
- if (!dv || typeof dv !== 'object') return;
51
- if (!dv.details) return;
52
- const mainImage = dv.images.main.find((m)=>m.variant === selectedColor)?.url;
48
+ if (!dv || typeof dv !== 'object')
49
+ return;
50
+ if (!dv.details)
51
+ return;
52
+ const mainImage = dv.images.main.find((m) => m.variant === selectedColor)?.url;
53
53
  return {
54
54
  id: dv.id,
55
55
  ...transformBasicVehicleData(dv),
56
56
  images: [
57
- ...mainImage ? [
58
- transfromSingleImage(mainImage)
59
- ] : [],
60
- ...transformImages(dv.images)
57
+ ...(mainImage ? [transfromSingleImage(mainImage)] : []),
58
+ ...transformImages(dv.images),
61
59
  ],
62
60
  ...transformBasePrices(dv.pricing),
63
61
  pricing: transformPriceMatrix(dv.type, dv.pricing),
64
62
  details: transformDetails(dv.details, selectedColor),
65
63
  host: {
66
64
  address: {
67
- state: 'Kuala Lumpur'
68
- }
69
- }
65
+ state: 'Kuala Lumpur',
66
+ },
67
+ },
70
68
  };
71
69
  };
72
- export const transformBasicVehicleData = (dv)=>{
70
+ export const transformBasicVehicleData = (dv) => {
73
71
  return {
74
72
  registrationNumber: null,
75
73
  featured: false,
@@ -87,17 +85,17 @@ export const transformBasicVehicleData = (dv)=>{
87
85
  type: dv.type,
88
86
  niceName: `${dv.make} ${dv.vehicleModel} ${dv.variant} ${dv.year}`,
89
87
  niceNameShort: `${dv.make} ${dv.vehicleModel}`,
90
- appliedCoupon: dv.appliedCoupon
88
+ appliedCoupon: dv.appliedCoupon,
91
89
  };
92
90
  };
93
- export const transformImages = (images)=>{
91
+ export const transformImages = (images) => {
94
92
  return [
95
93
  transfromSingleImage(images.exterior[0].url, 'exterior'),
96
94
  transfromSingleImage(images.interior[0].url, 'interior'),
97
- ...images.gallery.map((i)=>transfromSingleImage(i.url))
95
+ ...images.gallery.map((i) => transfromSingleImage(i.url)),
98
96
  ];
99
97
  };
100
- const transfromSingleImage = (imageUrl, inspectionType)=>{
98
+ const transfromSingleImage = (imageUrl, inspectionType) => {
101
99
  return {
102
100
  default: imageUrl,
103
101
  blurBase64: null,
@@ -108,20 +106,20 @@ const transfromSingleImage = (imageUrl, inspectionType)=>{
108
106
  description: null,
109
107
  inspection: !!inspectionType,
110
108
  inspectionType: inspectionType || null,
111
- notActualPhoto: true
109
+ notActualPhoto: true,
112
110
  };
113
111
  };
114
- const transformBasePrices = (pricing)=>{
112
+ const transformBasePrices = (pricing) => {
115
113
  return {
116
114
  basePrice: pricing.matrix.plan36.lite,
117
115
  basePricePlan1: pricing.matrix.plan1.lite,
118
116
  basePricePlan12: pricing.matrix.plan12.lite,
119
117
  basePricePlan24: pricing.matrix.plan24.lite,
120
118
  basePricePlan36: pricing.matrix.plan36.lite,
121
- basePricePlan60: pricing.matrix.plan60.lite
119
+ basePricePlan60: pricing.matrix.plan60.lite,
122
120
  };
123
121
  };
124
- const transformPriceMatrix = (vehicleType, pricing)=>{
122
+ const transformPriceMatrix = (vehicleType, pricing) => {
125
123
  const baseline = pricing?.matrix.plan36.lite;
126
124
  const ultraTier = 'tier1';
127
125
  const fluxPriceCoefficient = 25;
@@ -134,14 +132,16 @@ const transformPriceMatrix = (vehicleType, pricing)=>{
134
132
  const { availablePlans, availableMileagePackages } = getNonZeroKeys(priceMatrix);
135
133
  const pricingController = createPricingController({
136
134
  coefficient: fluxPriceCoefficient,
137
- vehicleType
135
+ vehicleType,
138
136
  });
139
137
  const startFeeMatrix = excludeServiceFeesFrom(getStartFeeMatrix(pricingController, baseline, flatPricing));
140
138
  const hostMatrix = excludeServiceFeesFrom(getHostsMatrix(pricingController, baseline, ultraTier, flatPricing));
141
139
  const hostExcessMileage = getHostExcessMileage(pricingController, baseline);
142
140
  const fluxPriceMatrix = excludeServiceFeesFrom(getFluxPiceMatrix(pricingController, vehicleType, baseline, hostMatrix, ultraTier, flatPricing));
143
141
  const fluxExcessMileage = getFluxExcessMileage(pricingController, baseline);
144
- const recommendedDeposit = pricing.refundableDeposit || vehicleType === 'motorcycle' ? getRecommendedMotorcycleDeposit(baseline) : null;
142
+ const recommendedDeposit = pricing.refundableDeposit || vehicleType === 'motorcycle'
143
+ ? getRecommendedMotorcycleDeposit(baseline)
144
+ : null;
145
145
  return {
146
146
  tmv,
147
147
  gfv,
@@ -160,31 +160,31 @@ const transformPriceMatrix = (vehicleType, pricing)=>{
160
160
  excessMileage: fluxExcessMileage,
161
161
  originalExcessMileage: fluxExcessMileage,
162
162
  matrixComments: null,
163
- add: null
163
+ add: null,
164
164
  },
165
165
  hostTake: {
166
166
  matrix: hostMatrix,
167
167
  originalMatrix: hostMatrix,
168
168
  excessMileage: hostExcessMileage,
169
169
  originalExcessMileage: hostExcessMileage,
170
- matrixComments: null
170
+ matrixComments: null,
171
171
  },
172
172
  startFee: {
173
173
  matrix: startFeeMatrix,
174
174
  originalMatrix: startFeeMatrix,
175
- matrixComments: null
176
- }
175
+ matrixComments: null,
176
+ },
177
177
  };
178
178
  };
179
- const getNonZeroKeys = (matrix)=>{
179
+ const getNonZeroKeys = (matrix) => {
180
180
  const planKeys = new Set();
181
181
  const mileageKeys = new Set();
182
- for (const [plan, mileageMap] of Object.entries(matrix)){
182
+ for (const [plan, mileageMap] of Object.entries(matrix)) {
183
183
  const entries = Object.entries(mileageMap ?? {});
184
- const hasNonZero = entries.some(([_, value])=>(value ?? 0) > 0);
184
+ const hasNonZero = entries.some(([_, value]) => (value ?? 0) > 0);
185
185
  if (hasNonZero) {
186
186
  planKeys.add(plan);
187
- for (const [mileage, value] of entries){
187
+ for (const [mileage, value] of entries) {
188
188
  if ((value ?? 0) > 0) {
189
189
  mileageKeys.add(mileage);
190
190
  }
@@ -193,20 +193,20 @@ const getNonZeroKeys = (matrix)=>{
193
193
  }
194
194
  return {
195
195
  availablePlans: Array.from(planKeys),
196
- availableMileagePackages: Array.from(mileageKeys)
196
+ availableMileagePackages: Array.from(mileageKeys),
197
197
  };
198
198
  };
199
- const _getInspection = ()=>{
199
+ const _getInspection = () => {
200
200
  return {
201
201
  exterior: 5,
202
202
  interior: 5,
203
203
  engine: 5,
204
204
  frame: 5,
205
205
  total: 5,
206
- comment: 'COMMENT HERE'
206
+ comment: 'COMMENT HERE',
207
207
  };
208
208
  };
209
- const transformDetails = (details, selectColor)=>{
209
+ const transformDetails = (details, selectColor) => {
210
210
  const color = selectColor || details.colors[0].name || '';
211
211
  return {
212
212
  numberOfSeats: details.numberOfSeats,
@@ -214,25 +214,31 @@ const transformDetails = (details, selectColor)=>{
214
214
  bodyType: details.bodyType,
215
215
  transmission: details.transmission,
216
216
  engineType: details.fuelType,
217
- engineCapacity: details.fuelType === 'electric' ? details.batteryCapacity : details.engineCapacity,
217
+ engineCapacity: details.fuelType === 'electric'
218
+ ? details.batteryCapacity
219
+ : details.engineCapacity,
218
220
  drivetrain: details.drivetrain,
219
221
  accelerationTo100km: details.accelerationTo100km,
220
222
  fuelConsumptionLitersPer100Km: details.fuelConsumptionLitersPer100Km,
221
223
  color,
222
224
  features: details.features,
223
- condition: 'new'
225
+ condition: 'new',
224
226
  };
225
227
  };
226
- const excludeServiceFeesFrom = (originalMatrix)=>{
228
+ const excludeServiceFeesFrom = (originalMatrix) => {
227
229
  const matrix = {};
228
- for (const [planKey, planValue] of Object.entries(originalMatrix)){
229
- if (!planValue) continue;
230
- if (!matrix[planKey]) matrix[planKey] = {};
231
- for (const [mileageKey, price] of Object.entries(planValue)){
230
+ for (const [planKey, planValue] of Object.entries(originalMatrix)) {
231
+ if (!planValue)
232
+ continue;
233
+ if (!matrix[planKey])
234
+ matrix[planKey] = {};
235
+ for (const [mileageKey, price] of Object.entries(planValue)) {
232
236
  if (typeof price === 'number') {
233
- matrix[planKey][mileageKey] = price / (1 + config.serviceRate);
237
+ matrix[planKey][mileageKey] =
238
+ price / (1 + config.serviceRate);
234
239
  }
235
240
  }
236
241
  }
237
242
  return matrix;
238
243
  };
244
+ //# sourceMappingURL=display-vehicle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"display-vehicle.js","sourceRoot":"","sources":["../../src/reservation/display-vehicle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"display-vehicle.js","sourceRoot":"","sources":["../../src/reservation/display-vehicle.ts"],"names":[],"mappings":"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"}
@@ -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,CACzB,CAAA;CACD,CAAA;AAED,eAAO,MAAM,wBAAwB,GAAU,2BAI5C,8BAA8B,KAAG,cAAc,CAAC,uBAAuB,CAgKzE,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,CA+JzE,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
- 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 } = body;
5
+ import { slackLater } from '../slack';
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,10 +19,10 @@ 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
28
  invoice: {
@@ -37,10 +37,10 @@ export const fetchOrCreateReservation = async ({ vehicle, payer, body })=>{
37
37
  status: true,
38
38
  lockedAt: true,
39
39
  unlockAt: true,
40
- locked: true
41
- }
42
- }
43
- }
40
+ locked: true,
41
+ },
42
+ },
43
+ },
44
44
  });
45
45
  if (previousReservation) {
46
46
  if (previousReservation.invoice.voided) {
@@ -53,7 +53,7 @@ export const fetchOrCreateReservation = async ({ vehicle, payer, body })=>{
53
53
  'partiallyPaid',
54
54
  'partiallyRefunded',
55
55
  'refunded',
56
- 'pendingRefund'
56
+ 'pendingRefund',
57
57
  ];
58
58
  if (wrongStatuses.includes(previousReservation.invoice.status)) {
59
59
  const updatedReservation = await recreateReservationInvoiceAndUpdateReservation(previousReservation, body, vehicle, payer);
@@ -66,16 +66,16 @@ export const fetchOrCreateReservation = async ({ vehicle, payer, body })=>{
66
66
  text: {
67
67
  type: 'plain_text',
68
68
  text: '‼️ Reservation invoice in wrong status',
69
- emoji: true
70
- }
69
+ emoji: true,
70
+ },
71
71
  },
72
72
  {
73
73
  type: 'section',
74
74
  text: {
75
75
  type: 'plain_text',
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
- }
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
+ },
79
79
  ]);
80
80
  return updatedReservation;
81
81
  }
@@ -87,14 +87,14 @@ export const fetchOrCreateReservation = async ({ vehicle, payer, body })=>{
87
87
  // Otherwise, we need to create a new reservation
88
88
  return new Ok(previousReservation);
89
89
  }
90
- } catch (error) {
90
+ }
91
+ catch (error) {
91
92
  // We couldn't fetch the reservation, so we create a new one and just log this
92
93
  await reportError(error);
93
94
  }
94
95
  const reservationId = generateId('SubscriptionReservation');
95
96
  // Create the reservation invoice
96
97
  const invoiceResult = await createReservationInvoice({
97
- invoiceId: generateId('Invoice'),
98
98
  couponCode,
99
99
  plan,
100
100
  mileagePackage,
@@ -106,7 +106,7 @@ export const fetchOrCreateReservation = async ({ vehicle, payer, body })=>{
106
106
  analytics,
107
107
  vehicle,
108
108
  payer,
109
- subscribingUser
109
+ subscribingUser,
110
110
  });
111
111
  if (invoiceResult.err) {
112
112
  return invoiceResult;
@@ -125,63 +125,66 @@ export const fetchOrCreateReservation = async ({ vehicle, payer, body })=>{
125
125
  deliveryAddresses,
126
126
  deliveryDate,
127
127
  asBusiness,
128
- source
128
+ source,
129
129
  });
130
130
  return new Ok(reservation);
131
131
  };
132
- 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, }) => {
133
133
  return await prisma.subscriptionReservation.create({
134
134
  data: {
135
135
  id: reservationId,
136
136
  invoice: {
137
137
  connect: {
138
- id: invoiceId
139
- }
138
+ id: invoiceId,
139
+ },
140
140
  },
141
141
  user: {
142
142
  connect: {
143
- id: subscribingUserId
144
- }
143
+ id: subscribingUserId,
144
+ },
145
145
  },
146
146
  vehicle: {
147
147
  connect: {
148
- id: vehicleId
149
- }
148
+ id: vehicleId,
149
+ },
150
150
  },
151
- ...businessId ? {
152
- business: {
153
- connect: {
154
- id: businessId
155
- }
151
+ ...(businessId
152
+ ? {
153
+ business: {
154
+ connect: {
155
+ id: businessId,
156
+ },
157
+ },
156
158
  }
157
- } : undefined,
159
+ : undefined),
158
160
  plan,
159
161
  mileagePackage,
160
162
  couponCode: couponCode,
161
163
  deliveryAddresses: deliveryAddresses,
162
164
  deliveryDate: deliveryDate,
163
- ...referralCode ? {
164
- referral: {
165
- connect: {
166
- id: referralCode
167
- }
165
+ ...(referralCode
166
+ ? {
167
+ referral: {
168
+ connect: {
169
+ id: referralCode,
170
+ },
171
+ },
168
172
  }
169
- } : undefined,
173
+ : undefined),
170
174
  asBusiness: !!asBusiness,
171
175
  source,
172
176
  metadata: {
173
- analytics
174
- }
175
- }
177
+ analytics,
178
+ },
179
+ },
176
180
  });
177
181
  };
178
- const recreateReservationInvoiceAndUpdateReservation = async (previousReservation, body, vehicle, payer)=>{
182
+ const recreateReservationInvoiceAndUpdateReservation = async (previousReservation, body, vehicle, payer) => {
179
183
  const invoiceResult = await createReservationInvoice({
180
184
  ...body,
181
- invoiceId: generateId('Invoice'),
182
185
  reservationId: previousReservation.id,
183
186
  vehicle,
184
- payer
187
+ payer,
185
188
  });
186
189
  if (!invoiceResult.ok) {
187
190
  return invoiceResult;
@@ -189,15 +192,16 @@ const recreateReservationInvoiceAndUpdateReservation = async (previousReservatio
189
192
  const invoice = invoiceResult.val;
190
193
  const updatedReservation = await prisma.subscriptionReservation.update({
191
194
  where: {
192
- id: previousReservation.id
195
+ id: previousReservation.id,
193
196
  },
194
197
  data: {
195
198
  invoice: {
196
199
  connect: {
197
- id: invoice.id
198
- }
199
- }
200
- }
200
+ id: invoice.id,
201
+ },
202
+ },
203
+ },
201
204
  });
202
205
  return new Ok(updatedReservation);
203
206
  };
207
+ //# sourceMappingURL=fetch-or-create.js.map