@driveflux/api-functions 0.0.7-next.29 → 0.0.7-next.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.
Files changed (95) 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 +36 -44
  7. package/dist/auth/register.js.map +1 -1
  8. package/dist/auth/tokens.js +55 -58
  9. package/dist/auth/verifications.js +52 -53
  10. package/dist/constants.js +1 -0
  11. package/dist/mailjet/calls/manage-contacts-in-list.d.ts +2 -2
  12. package/dist/mailjet/calls/manage-contacts-in-list.d.ts.map +1 -1
  13. package/dist/mailjet/calls/manage-contacts-in-list.js +8 -7
  14. package/dist/mailjet/calls/manage-contacts-in-list.js.map +1 -1
  15. package/dist/mailjet/calls/manage-subscription-status.d.ts +2 -2
  16. package/dist/mailjet/calls/manage-subscription-status.d.ts.map +1 -1
  17. package/dist/mailjet/calls/manage-subscription-status.js +7 -6
  18. package/dist/mailjet/calls/manage-subscription-status.js.map +1 -1
  19. package/dist/mailjet/calls/request-service.d.ts +1 -1
  20. package/dist/mailjet/calls/request-service.d.ts.map +1 -1
  21. package/dist/mailjet/calls/request-service.js +6 -7
  22. package/dist/mailjet/refresh-email-preferences.js +12 -11
  23. package/dist/mailjet/set-contact.d.ts +2 -2
  24. package/dist/mailjet/set-contact.d.ts.map +1 -1
  25. package/dist/mailjet/set-contact.js +15 -14
  26. package/dist/mailjet/set-contact.js.map +1 -1
  27. package/dist/mailjet/types.d.ts +2 -2
  28. package/dist/mailjet/types.d.ts.map +1 -1
  29. package/dist/mailjet/types.js +2 -1
  30. package/dist/mailjet/utils/convert-to-array.d.ts +1 -1
  31. package/dist/mailjet/utils/convert-to-array.d.ts.map +1 -1
  32. package/dist/mailjet/utils/convert-to-array.js +6 -8
  33. package/dist/mailjet/utils/extract-email-preferences.d.ts +1 -1
  34. package/dist/mailjet/utils/extract-email-preferences.d.ts.map +1 -1
  35. package/dist/mailjet/utils/extract-email-preferences.js +15 -14
  36. package/dist/mailjet/utils/lists.js +8 -7
  37. package/dist/mailjet/utils/update-email-references.d.ts +2 -2
  38. package/dist/mailjet/utils/update-email-references.d.ts.map +1 -1
  39. package/dist/mailjet/utils/update-email-references.js +15 -16
  40. package/dist/mailjet/utils/update-email-references.js.map +1 -1
  41. package/dist/notion/client.js +19 -22
  42. package/dist/notion/helpful.js +9 -6
  43. package/dist/notion/schemas/block.js +48 -42
  44. package/dist/notion/schemas/common.js +14 -9
  45. package/dist/notion/schemas/database.js +60 -62
  46. package/dist/notion/schemas/emoji.js +2 -1
  47. package/dist/notion/schemas/file.js +9 -9
  48. package/dist/notion/schemas/kb.js +6 -5
  49. package/dist/notion/schemas/page.js +61 -72
  50. package/dist/notion/schemas/parent.js +5 -4
  51. package/dist/notion/schemas/user.js +19 -18
  52. package/dist/reservation/agree.d.ts +1 -1
  53. package/dist/reservation/agree.d.ts.map +1 -1
  54. package/dist/reservation/agree.js +7 -6
  55. package/dist/reservation/checks.d.ts +1 -1
  56. package/dist/reservation/checks.d.ts.map +1 -1
  57. package/dist/reservation/checks.js +4 -3
  58. package/dist/reservation/display-vehicle.js +71 -65
  59. package/dist/reservation/display-vehicle.js.map +1 -1
  60. package/dist/reservation/fetch-or-create.d.ts +1 -1
  61. package/dist/reservation/fetch-or-create.d.ts.map +1 -1
  62. package/dist/reservation/fetch-or-create.js +55 -51
  63. package/dist/reservation/fetch-or-create.js.map +1 -1
  64. package/dist/reservation/invoice.d.ts +2 -3
  65. package/dist/reservation/invoice.d.ts.map +1 -1
  66. package/dist/reservation/invoice.js +76 -64
  67. package/dist/reservation/invoice.js.map +1 -1
  68. package/dist/reservation/payer.d.ts +1 -1
  69. package/dist/reservation/payer.d.ts.map +1 -1
  70. package/dist/reservation/payer.js +6 -5
  71. package/dist/reservation/reserve.d.ts +1 -1
  72. package/dist/reservation/reserve.d.ts.map +1 -1
  73. package/dist/reservation/reserve.js +9 -8
  74. package/dist/reservation/reserve.js.map +1 -1
  75. package/dist/reservation/types.js +2 -1
  76. package/dist/reservation/vehicle.d.ts +1 -1
  77. package/dist/reservation/vehicle.d.ts.map +1 -1
  78. package/dist/reservation/vehicle.js +18 -15
  79. package/dist/reservation/vehicle.js.map +1 -1
  80. package/dist/slack.d.ts +2 -2
  81. package/dist/slack.d.ts.map +1 -1
  82. package/dist/slack.js +29 -24
  83. package/dist/validation.d.ts +4 -4
  84. package/dist/validation.d.ts.map +1 -1
  85. package/dist/validation.js +71 -77
  86. package/dist/validation.js.map +1 -1
  87. package/dist/vehicle/vehicle-pricing/constants.d.ts +1 -1
  88. package/dist/vehicle/vehicle-pricing/constants.d.ts.map +1 -1
  89. package/dist/vehicle/vehicle-pricing/constants.js +19 -22
  90. package/dist/vehicle/vehicle-pricing/index.d.ts +1 -1
  91. package/dist/vehicle/vehicle-pricing/index.d.ts.map +1 -1
  92. package/dist/vehicle/vehicle-pricing/index.js +44 -30
  93. package/dist/vehicle/vehicle-pricing/index.js.map +1 -1
  94. package/dist/vehicle/vehicle-pricing/types.js +2 -1
  95. package/package.json +21 -21
package/dist/slack.js CHANGED
@@ -10,11 +10,12 @@ const slackBlocks = global.__slackBlocks;
10
10
  /**
11
11
  *
12
12
  * @deprecated Use slackLater instead and commitSlack to commit
13
- */ export const slack = async (message, channel = config.slack.defaultChannelId)=>{
13
+ */
14
+ export const slack = async (message, channel = config.slack.defaultChannelId) => {
14
15
  return await enhancedFetch('https://slack.com/api/chat.postMessage', {
15
16
  method: 'POST',
16
17
  headers: {
17
- Authorization: `Bearer ${config.slack.token}`
18
+ Authorization: `Bearer ${config.slack.token}`,
18
19
  },
19
20
  body: JSON.stringify({
20
21
  channel,
@@ -23,20 +24,23 @@ const slackBlocks = global.__slackBlocks;
23
24
  type: 'section',
24
25
  text: {
25
26
  type: 'mrkdwn',
26
- text: message
27
- }
28
- }
29
- ]
30
- })
27
+ text: message,
28
+ },
29
+ },
30
+ ],
31
+ }),
31
32
  });
32
33
  };
33
- export const getSlackBlocks = (channel)=>channel ? slackBlocks.get(channel) : slackBlocks;
34
+ export const getSlackBlocks = (channel) => channel ? slackBlocks.get(channel) : slackBlocks;
34
35
  /**
35
36
  * Naive implementation, however, for now (uncrowded serverless env), this works
36
37
  * @param blocks
37
38
  * @param channel
38
- */ export function slackLater(blocks, channel) {
39
- const targetChannel = (config.appEnv === 'production' ? channel : config.slack.defaultChannelId) || config.slack.defaultChannelId;
39
+ */
40
+ export function slackLater(blocks, channel) {
41
+ const targetChannel = (config.appEnv === 'production'
42
+ ? channel
43
+ : config.slack.defaultChannelId) || config.slack.defaultChannelId;
40
44
  if (!targetChannel || !blocks) {
41
45
  return;
42
46
  }
@@ -46,13 +50,15 @@ export const getSlackBlocks = (channel)=>channel ? slackBlocks.get(channel) : sl
46
50
  type: 'section',
47
51
  text: {
48
52
  type: 'mrkdwn',
49
- text: blocks
50
- }
53
+ text: blocks,
54
+ },
51
55
  });
52
- } else if (!Array.isArray(blocks)) {
56
+ }
57
+ else if (!Array.isArray(blocks)) {
53
58
  messages.add(blocks);
54
- } else {
55
- for (const b of blocks){
59
+ }
60
+ else {
61
+ for (const b of blocks) {
56
62
  messages.add(b);
57
63
  }
58
64
  }
@@ -63,22 +69,22 @@ export async function sendSlackMessages(channel, blocks) {
63
69
  return await enhancedFetch('https://slack.com/api/chat.postMessage', {
64
70
  method: 'POST',
65
71
  headers: {
66
- Authorization: `Bearer ${config.slack.token}`
72
+ Authorization: `Bearer ${config.slack.token}`,
67
73
  },
68
74
  body: JSON.stringify({
69
75
  channel: targetChannel,
70
- blocks: Array.from(blocks)
71
- })
76
+ blocks: Array.from(blocks),
77
+ }),
72
78
  });
73
79
  }
74
- export const commitSlack = ()=>{
80
+ export const commitSlack = () => {
75
81
  if (!slackBlocks.size) {
76
82
  return;
77
83
  }
78
84
  const channels = slackBlocks.keys();
79
85
  let i = 1;
80
86
  const baseUrl = config.appEnv === 'development' ? config.tunnelUrl : config.appUrl;
81
- for (const channel of channels){
87
+ for (const channel of channels) {
82
88
  const blocks = slackBlocks.get(channel);
83
89
  if (!blocks?.size) {
84
90
  continue;
@@ -88,13 +94,12 @@ export const commitSlack = ()=>{
88
94
  name: TASK_COMMIT_SLACK_CHANNEL,
89
95
  metadata: {
90
96
  channel,
91
- blocks: [
92
- ...blocks
93
- ]
97
+ blocks: [...blocks],
94
98
  },
95
99
  taskHandlerUrl: `${baseUrl || config.appUrl}/api/hooks/slack-pipeline`,
96
- scheduledAt: addSeconds(new Date(), i++)
100
+ scheduledAt: addSeconds(new Date(), i++),
97
101
  });
98
102
  }
99
103
  slackBlocks.clear();
100
104
  };
105
+ //# sourceMappingURL=slack.js.map
@@ -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.ZodString, ZodDate>;
23
- export declare const dateValidation: ZodCodec<z.ZodString, ZodDate>;
22
+ export declare const getIsoDatetimeToDate: (dateValidation?: ZodDate) => ZodCodec<z.ZodISODateTime, ZodDate>;
23
+ export declare const dateValidation: ZodCodec<z.ZodISODateTime, 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.ZodString, ZodDate>>>;
58
- updatedAt: z.ZodOptional<z.ZodNullable<ZodCodec<z.ZodString, ZodDate>>>;
57
+ createdAt: z.ZodOptional<z.ZodNullable<ZodCodec<z.ZodISODateTime, ZodDate>>>;
58
+ updatedAt: z.ZodOptional<z.ZodNullable<ZodCodec<z.ZodISODateTime, 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,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"}
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,32 +1,34 @@
1
1
  import { makeProblem } from '@driveflux/problem';
2
2
  import { Err } from '@driveflux/result';
3
- import { z } from 'zod';
4
- export const makeValidationErrorResult = (zodError)=>{
5
- const validation = zodError.flatten((i)=>({
6
- message: i.message,
7
- code: i.code,
8
- path: i.path
9
- }));
3
+ import { z, } from 'zod';
4
+ export const makeValidationErrorResult = (zodError) => {
5
+ const validation = zodError.flatten((i) => ({
6
+ message: i.message,
7
+ code: i.code,
8
+ path: i.path,
9
+ }));
10
10
  return new Err(makeProblem({
11
11
  object: 'validation-issues',
12
- ...validation
12
+ ...validation,
13
13
  }));
14
14
  };
15
- export const getIdOrObjectValidation = (object, extendObjectValidation)=>z.union([
16
- z.string(),
17
- z.object({
18
- object: z.literal(object),
19
- ...extendObjectValidation
20
- }).passthrough().catchall(z.any())
21
- ], {
22
- error: ()=>{
23
- return {
24
- message: `Invalid details. Please provide an id as a string or an object of type ${object}`
25
- };
26
- }
27
- });
15
+ export const getIdOrObjectValidation = (object, extendObjectValidation) => z.union([
16
+ z.string(),
17
+ z
18
+ .object({ object: z.literal(object), ...extendObjectValidation })
19
+ .passthrough()
20
+ .catchall(z.any()),
21
+ ], {
22
+ error: () => {
23
+ return {
24
+ message: `Invalid details. Please provide an id as a string or an object of type ${object}`,
25
+ };
26
+ },
27
+ });
28
28
  export const nonEmptyStringValidator = z.string().min(1);
29
- export const metadataValidation = z.object({}).catchall(z.union([
29
+ export const metadataValidation = z
30
+ .object({})
31
+ .catchall(z.union([
30
32
  z.string(),
31
33
  z.number(),
32
34
  z.boolean(),
@@ -34,33 +36,28 @@ export const metadataValidation = z.object({}).catchall(z.union([
34
36
  z.array(z.number()),
35
37
  z.array(z.boolean()),
36
38
  z.null(),
37
- z.undefined()
39
+ z.undefined(),
38
40
  ]));
39
41
  export const addressValidation = z.object({
40
42
  name: z.string().optional().nullable(),
41
- coordinates: z.object({
43
+ coordinates: z
44
+ .object({
42
45
  lat: z.number().min(-90).max(90),
43
- lng: z.number().min(-180).max(180)
44
- }).nullable().optional(),
46
+ lng: z.number().min(-180).max(180),
47
+ })
48
+ .nullable()
49
+ .optional(),
45
50
  street1: nonEmptyStringValidator,
46
51
  street2: z.string().nullable().optional(),
47
52
  city: nonEmptyStringValidator,
48
53
  state: nonEmptyStringValidator,
49
54
  postalCode: z.string().min(3).max(11),
50
- country: nonEmptyStringValidator
55
+ country: nonEmptyStringValidator,
56
+ });
57
+ export const getIsoDatetimeToDate = (dateValidation) => z.codec(z.iso.datetime(), dateValidation ?? z.date(), {
58
+ decode: (isoString) => new Date(isoString),
59
+ encode: (date) => date.toISOString(),
51
60
  });
52
- export const getIsoDatetimeToDate = (dateValidation)=>z.codec(z.string(), dateValidation ?? z.date(), {
53
- decode: (isoString)=>new Date(isoString),
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
- ]
63
- });
64
61
  export const dateValidation = getIsoDatetimeToDate();
65
62
  export const enhancedImageValidation = z.object({
66
63
  default: z.string(),
@@ -69,67 +66,64 @@ export const enhancedImageValidation = z.object({
69
66
  small: z.string().optional(),
70
67
  medium: z.string().optional(),
71
68
  large: z.string().optional(),
72
- description: z.string().optional()
69
+ description: z.string().optional(),
73
70
  });
74
- export const getObjectValidation = (o)=>z.enum([
75
- o
76
- ]).optional();
71
+ export const getObjectValidation = (o) => z.enum([o]).optional();
77
72
  export const contactValidation = z.object({
78
73
  id: z.string().optional(),
79
74
  firstName: z.string(),
80
75
  lastName: z.string(),
81
76
  jobTitle: z.string().optional(),
82
- email: z.string().email().optional().transform((email)=>email?.toLowerCase().trim()),
77
+ email: z
78
+ .string()
79
+ .email()
80
+ .optional()
81
+ .transform((email) => email?.toLowerCase().trim()),
83
82
  phoneNumber: z.string().optional(),
84
- remarks: z.string().default('')
83
+ remarks: z.string().default(''),
85
84
  });
86
85
  export const documentFileValidation = z.object({
87
86
  id: z.string().optional(),
88
87
  name: z.string(),
89
88
  description: z.string().nullable().optional(),
90
89
  url: z.string(),
91
- fileType: z.preprocess((f)=>typeof f === 'string' ? f.toLowerCase() : f, z.enum([
92
- 'jpg',
93
- 'jpeg',
94
- 'png',
95
- 'pdf',
96
- 'image'
97
- ]).optional()),
90
+ fileType: z.preprocess((f) => (typeof f === 'string' ? f.toLowerCase() : f), z.enum(['jpg', 'jpeg', 'png', 'pdf', 'image']).optional()),
98
91
  mimeType: z.string().optional(),
99
92
  uploaded: z.boolean().default(true),
100
93
  createdAt: dateValidation.nullable().optional(),
101
94
  updatedAt: dateValidation.nullable().optional(),
102
- metadata: metadataValidation.nullable().optional()
95
+ metadata: metadataValidation.nullable().optional(),
103
96
  });
104
97
  export const queryBooleanValidator = z.stringbool({
105
- truthy: [
106
- '1',
107
- 'true',
108
- 'yes'
109
- ],
110
- falsy: [
111
- '0',
112
- 'false',
113
- 'no'
114
- ]
98
+ truthy: ['1', 'true', 'yes'],
99
+ falsy: ['0', 'false', 'no'],
100
+ });
101
+ const getStringToNumber = (numberValidation) => z.codec(z.string().regex(z.regexes.number), numberValidation ?? z.number(), {
102
+ decode: (str) => Number.parseFloat(str),
103
+ encode: (num) => num.toString(),
115
104
  });
116
- const getStringToNumber = (numberValidation)=>z.codec(z.string().regex(z.regexes.number), numberValidation ?? z.number(), {
117
- decode: (str)=>Number.parseFloat(str),
118
- encode: (num)=>num.toString()
119
- });
120
105
  export const queryNumberValidator = getStringToNumber();
121
106
  export function queryEnumArrayValidator(enumOrValidation) {
122
107
  // Handle ZodEnum case
123
- if (enumOrValidation && typeof enumOrValidation === 'object' && '_zod' in enumOrValidation) {
124
- return z.codec(z.string(), z.array(enumOrValidation), {
125
- encode: (value)=>value.join(','),
126
- decode: (value)=>value.split(',')
127
- }).or(z.array(enumOrValidation));
108
+ if (enumOrValidation &&
109
+ typeof enumOrValidation === 'object' &&
110
+ '_zod' in enumOrValidation) {
111
+ return z
112
+ .codec(z.string(), z.array(enumOrValidation), {
113
+ encode: (value) => value.join(','),
114
+ decode: (value) => value.split(','),
115
+ })
116
+ .or(z.array(enumOrValidation));
128
117
  }
129
118
  // Handle array or enum-like object case
130
- const enumSchema = Array.isArray(enumOrValidation) ? z.enum(enumOrValidation) : z.enum(Object.values(enumOrValidation));
131
- return z.codec(z.string(), z.array(enumSchema), {
132
- encode: (value)=>value.join(','),
133
- decode: (value)=>value.split(',')
134
- }).or(z.array(enumSchema));
119
+ const enumSchema = Array.isArray(enumOrValidation)
120
+ ? z.enum(enumOrValidation)
121
+ : z.enum(Object.values(enumOrValidation));
122
+ return z
123
+ .codec(z.string(), z.array(enumSchema), {
124
+ encode: (value) => value.join(','),
125
+ decode: (value) => value.split(','),
126
+ })
127
+ .or(z.array(enumSchema));
135
128
  }
129
+ //# sourceMappingURL=validation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAyB,MAAM,oBAAoB,CAAA;AACvE,OAAO,EAAE,GAAG,EAAuB,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EASN,CAAC,GACD,MAAM,KAAK,CAAA;AAEZ,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACxC,QAA2B,EACH,EAAE;IAC1B,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAW,EAAE,EAAE,CAAC,CAAC;QACrD,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,IAAI,EAAE,CAAC,CAAC,IAAI;KACZ,CAAC,CAAC,CAAA;IAEH,OAAO,IAAI,GAAG,CACb,WAAW,CAAC;QACX,MAAM,EAAE,mBAAmB;QAC3B,GAAG,UAAU;KACO,CAAC,CACtB,CAAA;AACF,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAItC,MAAkB,EAClB,sBAA+C,EAC9C,EAAE,CACH,CAAC,CAAC,KAAK,CACN;IACC,CAAC,CAAC,MAAM,EAAE;IACV,CAAC;SACC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,sBAAsB,EAAE,CAAC;SAChE,WAAW,EAAE;SACb,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;CACnB,EACD;IACC,KAAK,EAAE,GAAG,EAAE;QACX,OAAO;YACN,OAAO,EAAE,0EAA0E,MAAM,EAAE;SAC3F,CAAA;IACF,CAAC;CACD,CACD,CAAA;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AAExD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KACjC,MAAM,CAAC,EAAE,CAAC;KACV,QAAQ,CACR,CAAC,CAAC,KAAK,CAAC;IACP,CAAC,CAAC,MAAM,EAAE;IACV,CAAC,CAAC,MAAM,EAAE;IACV,CAAC,CAAC,OAAO,EAAE;IACX,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACnB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACnB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACpB,CAAC,CAAC,IAAI,EAAE;IACR,CAAC,CAAC,SAAS,EAAE;CACb,CAAC,CACF,CAAA;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACtC,WAAW,EAAE,CAAC;SACZ,MAAM,CAAC;QACP,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;KAClC,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,EAAE;IACZ,OAAO,EAAE,uBAAuB;IAChC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACzC,IAAI,EAAE,uBAAuB;IAC7B,KAAK,EAAE,uBAAuB;IAC9B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACrC,OAAO,EAAE,uBAAuB;CAChC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,cAAwB,EAAE,EAAE,CAChE,CAAC;KACC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,cAAc,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;IAC9C,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC;IAC1C,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE;CACpC,CAAC;KACD,MAAM,CACN,CAAC,CAAC,EAAE,EAAE;IACL,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAA;IACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;AACrC,CAAC,EACD;IACC,OAAO,EAAE,cAAc;IACvB,IAAI,EAAE,CAAC,MAAM,CAAC;CACd,CACD,CAAA;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,oBAAoB,EAAE,CAAA;AAEpD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAmB,CAAI,EAAE,EAAE,CAC7D,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;AAEvB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAA4B;IACnD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,KAAK,EAAE,CAAC;SACN,MAAM,EAAE;SACR,KAAK,EAAE;SACP,QAAQ,EAAE;SACV,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IACnD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;CAC/B,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAA4B;IACnD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC7C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,QAAQ,EAAE,CAAC,CAAC,UAAU,CACrB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EACpD,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CACzD;IACD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACnC,SAAS,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC/C,SAAS,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC/C,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAClD,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,UAAU,CAAC;IACjD,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC;IAC5B,KAAK,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC;CAC3B,CAAC,CAAA;AAEF,MAAM,iBAAiB,GAAG,CAAC,gBAA4B,EAAE,EAAE,CAC1D,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,gBAAgB,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;IAC3E,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;IACvC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAA;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,iBAAiB,EAAE,CAAA;AAgBvD,MAAM,UAAU,uBAAuB,CACtC,gBAG2B;IAO3B,sBAAsB;IACtB,IACC,gBAAgB;QAChB,OAAO,gBAAgB,KAAK,QAAQ;QACpC,MAAM,IAAI,gBAAgB,EACzB,CAAC;QACF,OAAO,CAAC;aACN,KAAK,CACL,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,KAAK,CAAC,gBAA4C,CAAC,EACrD;YACC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;YAClC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;SACnC,CACD;aACA,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,gBAA4C,CAAC,CAAC,CAAA;IAC5D,CAAC;IAED,wCAAwC;IACxC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC;QACjD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAyC,CAAC;QACnD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAA0B,CAAC,CAAA;IAEnE,OAAO,CAAC;SACN,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;QACvC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;QAClC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;KACnC,CAAC;SACD,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAA;AAC1B,CAAC"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { VehiclePriceMatrix } from '@driveflux/db/types/frontend';
2
- import type { FluxPriceMatrixCoefficients, StartFeeMatrixCoefficients, TiersPricing } from './types.js';
2
+ import type { FluxPriceMatrixCoefficients, StartFeeMatrixCoefficients, TiersPricing } from './types';
3
3
  export declare const DEFAULT_MATRIX: {
4
4
  plan1: {
5
5
  lite: number;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/vehicle/vehicle-pricing/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,KAAK,EACX,2BAA2B,EAC3B,0BAA0B,EAC1B,YAAY,EACZ,MAAM,YAAY,CAAA;AAInB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAO1B,CAAA;AAED,eAAO,MAAM,aAAa,MAAM,CAAA;AAShC,eAAO,MAAM,oCAAoC,EAAE,2BAUxC,CAAA;AAEX,eAAO,MAAM,sCAAsC,EAAE,0BAQ1C,CAAA;AAEX,eAAO,MAAM,iBAAiB,EAAE,YAgBtB,CAAA;AAEV,eAAO,MAAM,YAAY,EAAE,kBAO1B,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,EAAE,kBAqC7B,CAAA;AAEV,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;CAgBpC,CAAA;AAED,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;CAgB3B,CAAA;AAEV,eAAO,MAAM,+BAA+B,UAAU,CAAA;AACtD,eAAO,MAAM,uBAAuB,IAAI,CAAA;AACxC,eAAO,MAAM,uBAAuB,OAAO,CAAA;AAE3C,eAAO,MAAM,uBAAuB,IAAI,CAAA;AACxC,eAAO,MAAM,uBAAuB,OAAO,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/vehicle/vehicle-pricing/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,KAAK,EACX,2BAA2B,EAC3B,0BAA0B,EAC1B,YAAY,EACZ,MAAM,SAAS,CAAA;AAIhB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAO1B,CAAA;AAED,eAAO,MAAM,aAAa,MAAM,CAAA;AAShC,eAAO,MAAM,oCAAoC,EAAE,2BAUxC,CAAA;AAEX,eAAO,MAAM,sCAAsC,EAAE,0BAQ1C,CAAA;AAEX,eAAO,MAAM,iBAAiB,EAAE,YAgBtB,CAAA;AAEV,eAAO,MAAM,YAAY,EAAE,kBAO1B,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,EAAE,kBAqC7B,CAAA;AAEV,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;CAgBpC,CAAA;AAED,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;CAgB3B,CAAA;AAEV,eAAO,MAAM,+BAA+B,UAAU,CAAA;AACtD,eAAO,MAAM,uBAAuB,IAAI,CAAA;AACxC,eAAO,MAAM,uBAAuB,OAAO,CAAA;AAE3C,eAAO,MAAM,uBAAuB,IAAI,CAAA;AACxC,eAAO,MAAM,uBAAuB,OAAO,CAAA"}
@@ -1,23 +1,18 @@
1
- const DEFAUALT_MILEAGE_MATRIX = {
2
- lite: 0,
3
- standard: 0,
4
- plus: 0,
5
- unlimited: 0
6
- };
1
+ const DEFAUALT_MILEAGE_MATRIX = { lite: 0, standard: 0, plus: 0, unlimited: 0 };
7
2
  export const DEFAULT_MATRIX = {
8
3
  plan1: DEFAUALT_MILEAGE_MATRIX,
9
4
  plan12: DEFAUALT_MILEAGE_MATRIX,
10
5
  plan24: DEFAUALT_MILEAGE_MATRIX,
11
6
  plan36: DEFAUALT_MILEAGE_MATRIX,
12
7
  plan60: DEFAUALT_MILEAGE_MATRIX,
13
- planWeekly: DEFAUALT_MILEAGE_MATRIX
8
+ planWeekly: DEFAUALT_MILEAGE_MATRIX,
14
9
  };
15
10
  export const FLUX_MIN_TAKE = 200;
16
11
  const EMPTY_MILEAGE_PACKAGES = {
17
12
  lite: 0,
18
13
  standard: 0,
19
14
  plus: 0,
20
- unlimited: 0
15
+ unlimited: 0,
21
16
  };
22
17
  export const EMPTY_FLUX_PRICING_MATRIX_CONTROLLER = {
23
18
  plan60: 0,
@@ -27,7 +22,7 @@ export const EMPTY_FLUX_PRICING_MATRIX_CONTROLLER = {
27
22
  plan1: 0,
28
23
  planWeekly: 0,
29
24
  add: EMPTY_MILEAGE_PACKAGES,
30
- excessMileage: 0
25
+ excessMileage: 0,
31
26
  };
32
27
  export const EMPTY_FLUX_START_FEE_MATRIX_CONTROLLER = {
33
28
  plan60: EMPTY_MILEAGE_PACKAGES,
@@ -35,7 +30,7 @@ export const EMPTY_FLUX_START_FEE_MATRIX_CONTROLLER = {
35
30
  plan24: EMPTY_MILEAGE_PACKAGES,
36
31
  plan12: EMPTY_MILEAGE_PACKAGES,
37
32
  plan1: EMPTY_MILEAGE_PACKAGES,
38
- planWeekly: EMPTY_MILEAGE_PACKAGES
33
+ planWeekly: EMPTY_MILEAGE_PACKAGES,
39
34
  };
40
35
  export const EMPTY_ULTRA_TIERS = {
41
36
  tier1: 0,
@@ -52,7 +47,7 @@ export const EMPTY_ULTRA_TIERS = {
52
47
  tier12: 0,
53
48
  tier13: 0,
54
49
  tier14: 0,
55
- tier15: 0
50
+ tier15: 0,
56
51
  };
57
52
  export const EMPTY_MATRIX = {
58
53
  plan60: EMPTY_MILEAGE_PACKAGES,
@@ -60,49 +55,50 @@ export const EMPTY_MATRIX = {
60
55
  plan24: EMPTY_MILEAGE_PACKAGES,
61
56
  plan12: EMPTY_MILEAGE_PACKAGES,
62
57
  plan1: EMPTY_MILEAGE_PACKAGES,
63
- planWeekly: EMPTY_MILEAGE_PACKAGES
58
+ planWeekly: EMPTY_MILEAGE_PACKAGES,
64
59
  };
65
60
  /**
66
61
  * Matrix representing the dealership's take in percentages
67
62
  *
68
63
  * @see https://docs.google.com/spreadsheets/d/1lYYMdQgnzG53lCGf_dKJY9pEue5suJuo3O3-zegIOT0/edit#gid=819271234
69
- */ export const HOST_MATRIX_COEFFICIENTS = {
64
+ */
65
+ export const HOST_MATRIX_COEFFICIENTS = {
70
66
  plan60: {
71
67
  lite: 0.8,
72
68
  standard: 0.9,
73
69
  plus: 1,
74
- unlimited: 1.25
70
+ unlimited: 1.25,
75
71
  },
76
72
  plan36: {
77
73
  lite: 1,
78
74
  standard: 1.1,
79
75
  plus: 1.2,
80
- unlimited: 1.45
76
+ unlimited: 1.45,
81
77
  },
82
78
  plan24: {
83
79
  lite: 1.1,
84
80
  standard: 1.2,
85
81
  plus: 1.3,
86
- unlimited: 1.55
82
+ unlimited: 1.55,
87
83
  },
88
84
  plan12: {
89
85
  lite: 1.2,
90
86
  standard: 1.3,
91
87
  plus: 1.4,
92
- unlimited: 1.65
88
+ unlimited: 1.65,
93
89
  },
94
90
  plan1: {
95
91
  lite: 0,
96
92
  standard: 0,
97
93
  plus: 0,
98
- unlimited: 0
94
+ unlimited: 0,
99
95
  },
100
96
  planWeekly: {
101
97
  lite: 0,
102
98
  standard: 0,
103
99
  plus: 0,
104
- unlimited: 0
105
- }
100
+ unlimited: 0,
101
+ },
106
102
  };
107
103
  export const ULTRA_HOST_TIERS_PRICING = {
108
104
  tier1: 800,
@@ -119,7 +115,7 @@ export const ULTRA_HOST_TIERS_PRICING = {
119
115
  tier12: 8500,
120
116
  tier13: 10500,
121
117
  tier14: 12800,
122
- tier15: 15000
118
+ tier15: 15000,
123
119
  };
124
120
  export const ULTRA_FLUX_TIERS_PRICING = {
125
121
  tier1: 999,
@@ -136,10 +132,11 @@ export const ULTRA_FLUX_TIERS_PRICING = {
136
132
  tier12: 9999,
137
133
  tier13: 12599,
138
134
  tier14: 14999,
139
- tier15: 17999
135
+ tier15: 17999,
140
136
  };
141
137
  export const HOST_EXCESS_MILEAGE_COEFFICIENT = 0.00048;
142
138
  export const MAX_HOST_EXCESS_MILEAGE = 4;
143
139
  export const MIN_HOST_EXCESS_MILEAGE = 0.52;
144
140
  export const MAX_FLUX_EXCESS_MILEAGE = 5;
145
141
  export const MIN_FLUX_EXCESS_MILEAGE = 0.65;
142
+ //# sourceMappingURL=constants.js.map
@@ -1,5 +1,5 @@
1
1
  import type { UltraTier, VehiclePriceMatrix, VehiclePricing, VehicleType } from '@driveflux/db';
2
- import type { FluxVehiclePricingController } from './types.js';
2
+ import type { FluxVehiclePricingController } from './types';
3
3
  type CustomLitePricing = {
4
4
  plan60?: number;
5
5
  plan36?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/vehicle/vehicle-pricing/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGX,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,MAAM,eAAe,CAAA;AAMtB,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAA;AAE9D,KAAK,iBAAiB,GAAG;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,+BAA+B,GAAI,UAAU,MAAM,WAE/D,CAAA;AAED,eAAO,MAAM,cAAc,GAC1B,aAAa,4BAA4B,EACzC,UAAU,MAAM,EAChB,MAAM,SAAS,EACf,aAAa,OAAO,KAClB,kBAgCF,CAAA;AAED,eAAO,MAAM,oBAAoB,GAChC,aAAa,4BAA4B,EACzC,UAAU,MAAM,WAWhB,CAAA;AAED,eAAO,MAAM,cAAc,QAAO,kBAEjC,CAAA;AAED,eAAO,MAAM,UAAU,GACtB,iBAAiB,kBAAkB,KACjC,kBAiBF,CAAA;AAMD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,GAC7B,aAAa,4BAA4B,EACzC,aAAa,WAAW,EACxB,UAAU,MAAM,EAChB,uBAAuB,kBAAkB,EACzC,MAAM,SAAS,EACf,aAAa,OAAO,EACpB,uBAAuB,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,EACzD,mBAAmB,iBAAiB,KAClC,kBAmFF,CAAA;AAED,eAAO,MAAM,8BAA8B,GAC1C,QAAQ,kBAAkB,EAC1B,KAAK,WAAW,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,KAClD,kBAsBF,CAAA;AAED,eAAO,MAAM,oBAAoB,GAChC,aAAa,4BAA4B,EACzC,UAAU,MAAM,WAWhB,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAC7B,aAAa,4BAA4B,EACzC,UAAU,MAAM,EAChB,aAAa,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoBpB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/vehicle/vehicle-pricing/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGX,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,MAAM,eAAe,CAAA;AAMtB,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAA;AAE3D,KAAK,iBAAiB,GAAG;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,+BAA+B,GAAI,UAAU,MAAM,WAE/D,CAAA;AAED,eAAO,MAAM,cAAc,GAC1B,aAAa,4BAA4B,EACzC,UAAU,MAAM,EAChB,MAAM,SAAS,EACf,aAAa,OAAO,KAClB,kBAgCF,CAAA;AAED,eAAO,MAAM,oBAAoB,GAChC,aAAa,4BAA4B,EACzC,UAAU,MAAM,WAWhB,CAAA;AAED,eAAO,MAAM,cAAc,QAAO,kBAEjC,CAAA;AAED,eAAO,MAAM,UAAU,GACtB,iBAAiB,kBAAkB,KACjC,kBAiBF,CAAA;AAMD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,GAC7B,aAAa,4BAA4B,EACzC,aAAa,WAAW,EACxB,UAAU,MAAM,EAChB,uBAAuB,kBAAkB,EACzC,MAAM,SAAS,EACf,aAAa,OAAO,EACpB,uBAAuB,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,EACzD,mBAAmB,iBAAiB,KAClC,kBAmFF,CAAA;AAED,eAAO,MAAM,8BAA8B,GAC1C,QAAQ,kBAAkB,EAC1B,KAAK,WAAW,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,KAClD,kBAsBF,CAAA;AAED,eAAO,MAAM,oBAAoB,GAChC,aAAa,4BAA4B,EACzC,UAAU,MAAM,WAWhB,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAC7B,aAAa,4BAA4B,EACzC,UAAU,MAAM,EAChB,aAAa,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoBpB,CAAA"}