@driveflux/api-functions 0.0.7-next.9 → 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.
Files changed (65) hide show
  1. package/dist/auth/confirm.js +24 -29
  2. package/dist/auth/emails.js +12 -13
  3. package/dist/auth/formatter.js +5 -5
  4. package/dist/auth/otp.js +66 -50
  5. package/dist/auth/register.d.ts +1 -1
  6. package/dist/auth/register.js +42 -34
  7. package/dist/auth/tokens.d.ts +3 -3
  8. package/dist/auth/tokens.js +58 -55
  9. package/dist/auth/verifications.js +53 -52
  10. package/dist/constants.js +0 -1
  11. package/dist/mailjet/calls/manage-contacts-in-list.js +5 -6
  12. package/dist/mailjet/calls/manage-subscription-status.js +4 -5
  13. package/dist/mailjet/calls/request-service.d.ts +1 -1
  14. package/dist/mailjet/calls/request-service.d.ts.map +1 -1
  15. package/dist/mailjet/calls/request-service.js +7 -6
  16. package/dist/mailjet/refresh-email-preferences.js +11 -12
  17. package/dist/mailjet/set-contact.js +11 -12
  18. package/dist/mailjet/types.js +1 -2
  19. package/dist/mailjet/utils/convert-to-array.js +8 -6
  20. package/dist/mailjet/utils/extract-email-preferences.js +14 -15
  21. package/dist/mailjet/utils/lists.js +7 -8
  22. package/dist/mailjet/utils/update-email-references.js +16 -15
  23. package/dist/notion/client.d.ts.map +1 -1
  24. package/dist/notion/client.js +24 -20
  25. package/dist/notion/client.js.map +1 -1
  26. package/dist/notion/helpful.js +6 -9
  27. package/dist/notion/schemas/block.js +42 -48
  28. package/dist/notion/schemas/common.js +9 -14
  29. package/dist/notion/schemas/database.d.ts +1 -1
  30. package/dist/notion/schemas/database.js +62 -60
  31. package/dist/notion/schemas/emoji.js +1 -2
  32. package/dist/notion/schemas/file.js +9 -9
  33. package/dist/notion/schemas/kb.js +5 -6
  34. package/dist/notion/schemas/page.d.ts +1 -1
  35. package/dist/notion/schemas/page.js +72 -61
  36. package/dist/notion/schemas/parent.js +4 -5
  37. package/dist/notion/schemas/user.js +18 -19
  38. package/dist/reservation/agree.js +6 -7
  39. package/dist/reservation/checks.js +3 -4
  40. package/dist/reservation/display-vehicle.d.ts +16 -16
  41. package/dist/reservation/display-vehicle.js +65 -71
  42. package/dist/reservation/fetch-or-create.d.ts +1 -1
  43. package/dist/reservation/fetch-or-create.d.ts.map +1 -1
  44. package/dist/reservation/fetch-or-create.js +50 -62
  45. package/dist/reservation/fetch-or-create.js.map +1 -1
  46. package/dist/reservation/invoice.d.ts +2 -1
  47. package/dist/reservation/invoice.d.ts.map +1 -1
  48. package/dist/reservation/invoice.js +62 -74
  49. package/dist/reservation/payer.js +5 -6
  50. package/dist/reservation/reserve.js +3 -4
  51. package/dist/reservation/types.d.ts +0 -1
  52. package/dist/reservation/types.d.ts.map +1 -1
  53. package/dist/reservation/types.js +1 -2
  54. package/dist/reservation/vehicle.js +13 -16
  55. package/dist/slack.d.ts +2 -2
  56. package/dist/slack.d.ts.map +1 -1
  57. package/dist/slack.js +24 -29
  58. package/dist/validation.d.ts +4 -4
  59. package/dist/validation.d.ts.map +1 -1
  60. package/dist/validation.js +77 -71
  61. package/dist/validation.js.map +1 -1
  62. package/dist/vehicle/vehicle-pricing/constants.js +22 -19
  63. package/dist/vehicle/vehicle-pricing/index.js +28 -42
  64. package/dist/vehicle/vehicle-pricing/types.js +1 -2
  65. package/package.json +28 -28
@@ -6,18 +6,18 @@ export const userForEmailPreferencesQuery = {
6
6
  subscriptions: {
7
7
  select: {
8
8
  ended: true,
9
- active: true,
10
- },
11
- },
12
- },
9
+ active: true
10
+ }
11
+ }
12
+ }
13
13
  };
14
- export const extractUserEmailPreferences = async (idOrUserForEmailPreferences) => {
15
- const user = typeof idOrUserForEmailPreferences === 'string'
16
- ? await prisma.user.findUnique({
17
- where: { id: idOrUserForEmailPreferences },
18
- ...userForEmailPreferencesQuery,
19
- })
20
- : idOrUserForEmailPreferences;
14
+ export const extractUserEmailPreferences = async (idOrUserForEmailPreferences)=>{
15
+ const user = typeof idOrUserForEmailPreferences === 'string' ? await prisma.user.findUnique({
16
+ where: {
17
+ id: idOrUserForEmailPreferences
18
+ },
19
+ ...userForEmailPreferencesQuery
20
+ }) : idOrUserForEmailPreferences;
21
21
  if (!user?.emailPreferences?.generalMarketing) {
22
22
  return;
23
23
  }
@@ -26,13 +26,13 @@ export const extractUserEmailPreferences = async (idOrUserForEmailPreferences) =
26
26
  if (subscriptions.length > 0) {
27
27
  list = 'noActiveSubs';
28
28
  }
29
- for (let i = 0; i < subscriptions.length; i++) {
29
+ for(let i = 0; i < subscriptions.length; i++){
30
30
  if (subscriptions[i].ended) {
31
31
  list = 'expiredSub';
32
32
  break;
33
33
  }
34
34
  }
35
- for (let i = 0; i < subscriptions.length; i++) {
35
+ for(let i = 0; i < subscriptions.length; i++){
36
36
  if (subscriptions[i].active && !subscriptions[i].ended) {
37
37
  list = 'activeSub';
38
38
  break;
@@ -44,8 +44,7 @@ export const extractUserEmailPreferences = async (idOrUserForEmailPreferences) =
44
44
  signUpPaymentAdded: false,
45
45
  activeSub: false,
46
46
  expiredSub: false,
47
- [list]: true,
47
+ [list]: true
48
48
  };
49
49
  return newList;
50
50
  };
51
- //# sourceMappingURL=extract-email-preferences.js.map
@@ -7,13 +7,13 @@ export const listsNames = [
7
7
  'activeSub',
8
8
  'expiredSub',
9
9
  'activeSubBusiness',
10
- 'activeSubPersonal',
10
+ 'activeSubPersonal'
11
11
  ];
12
- export const getLists = async () => {
12
+ export const getLists = async ()=>{
13
13
  const listObject = await prisma.platformConfig.findFirst({
14
14
  where: {
15
- key: 'mailjetLists',
16
- },
15
+ key: 'mailjetLists'
16
+ }
17
17
  });
18
18
  if (listObject?.value) {
19
19
  const lists = JSON.parse(listObject.value);
@@ -21,14 +21,14 @@ export const getLists = async () => {
21
21
  }
22
22
  return {};
23
23
  };
24
- export const getListByRef = async (ref) => {
24
+ export const getListByRef = async (ref)=>{
25
25
  const lists = await getLists();
26
26
  let list;
27
- for (const [name, id] of Object.entries(lists)) {
27
+ for (const [name, id] of Object.entries(lists)){
28
28
  if (name === ref || id === ref) {
29
29
  list = {
30
30
  name: name,
31
- id,
31
+ id
32
32
  };
33
33
  break;
34
34
  }
@@ -38,4 +38,3 @@ export const getListByRef = async (ref) => {
38
38
  }
39
39
  return list;
40
40
  };
41
- //# sourceMappingURL=lists.js.map
@@ -1,31 +1,32 @@
1
1
  import { prisma } from '@driveflux/db';
2
- import { userForEmailPreferencesQuery, } from './extract-email-preferences.js';
3
- export const updateEmailPreferences = async (idOrUserForEmailPreferences, preferences) => {
4
- const user = typeof idOrUserForEmailPreferences === 'string'
5
- ? await prisma.user.findUnique({
6
- where: { id: idOrUserForEmailPreferences },
7
- ...userForEmailPreferencesQuery,
8
- })
9
- : idOrUserForEmailPreferences;
2
+ import { userForEmailPreferencesQuery } from './extract-email-preferences.js';
3
+ export const updateEmailPreferences = async (idOrUserForEmailPreferences, preferences)=>{
4
+ const user = typeof idOrUserForEmailPreferences === 'string' ? await prisma.user.findUnique({
5
+ where: {
6
+ id: idOrUserForEmailPreferences
7
+ },
8
+ ...userForEmailPreferencesQuery
9
+ }) : idOrUserForEmailPreferences;
10
10
  if (!user) {
11
11
  return null;
12
12
  }
13
13
  const merged = {
14
14
  ...user.emailPreferences,
15
- ...preferences,
15
+ ...preferences
16
16
  };
17
17
  const updated = await prisma.user.update({
18
- where: { id: user.id },
18
+ where: {
19
+ id: user.id
20
+ },
19
21
  data: {
20
22
  emailPreferences: {
21
23
  upsert: {
22
24
  set: merged,
23
- update: merged,
24
- },
25
- },
25
+ update: merged
26
+ }
27
+ }
26
28
  },
27
- ...userForEmailPreferencesQuery,
29
+ ...userForEmailPreferencesQuery
28
30
  });
29
31
  return updated;
30
32
  };
31
- //# sourceMappingURL=update-email-references.js.map
@@ -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"}
@@ -2,20 +2,23 @@ import { slackLater } from '@driveflux/api-functions/slack';
2
2
  import { config } from '@driveflux/config/backend';
3
3
  import { initSingleton } from '@driveflux/singleton';
4
4
  import { Client } from '@notionhq/client';
5
- export const getNotion = () => {
6
- return initSingleton('notionClient', () => new Client({
7
- auth: config.notion.secret,
8
- }));
5
+ export const getNotion = ()=>{
6
+ return initSingleton('notionClient', ()=>new Client({
7
+ auth: config.notion.secret
8
+ }));
9
9
  };
10
- export const announceFluxstersAnniversaries = async (property, constructMessage) => {
10
+ export const announceFluxstersAnniversaries = async (property, constructMessage)=>{
11
11
  if (!config.notion.fluxstersDatabaseId) {
12
- return { counts: -1, message: 'No fluxsters database id configured' };
12
+ return {
13
+ counts: -1,
14
+ message: 'No fluxsters database id configured'
15
+ };
13
16
  }
14
17
  const notion = getNotion();
15
- const { results } = await notion.databases.query({
16
- database_id: config.notion.fluxstersDatabaseId,
18
+ const { results } = await notion.dataSources.query({
19
+ data_source_id: config.notion.fluxstersDatabaseId
17
20
  });
18
- const relevantPeople = results.filter((result) => {
21
+ const relevantPeople = results.filter((result)=>{
19
22
  const resultPropperty = result.properties[property];
20
23
  if (resultPropperty.type !== 'date' || !resultPropperty.date?.start) {
21
24
  return false;
@@ -25,33 +28,35 @@ export const announceFluxstersAnniversaries = async (property, constructMessage)
25
28
  }
26
29
  const date = new Date(resultPropperty.date.start);
27
30
  const todayDate = new Date();
28
- if (todayDate.getDate() === date.getDate() &&
29
- todayDate.getMonth() === date.getMonth()) {
31
+ if (todayDate.getDate() === date.getDate() && todayDate.getMonth() === date.getMonth()) {
30
32
  return true;
31
33
  }
32
34
  // leap year
33
- if (todayDate.getDate() === 28 &&
34
- date.getDate() === 29 &&
35
- todayDate.getMonth() === 1 &&
36
- date.getMonth() === 1) {
35
+ if (todayDate.getDate() === 28 && date.getDate() === 29 && todayDate.getMonth() === 1 && date.getMonth() === 1) {
37
36
  return true;
38
37
  }
38
+ return false;
39
39
  });
40
40
  if (relevantPeople.length > 0) {
41
41
  const message = constructMessage(relevantPeople);
42
42
  slackLater(message, config.slack.mainFluxChannel);
43
- return { counts: relevantPeople.length, message };
43
+ return {
44
+ counts: relevantPeople.length,
45
+ message
46
+ };
44
47
  }
45
- return { counts: relevantPeople.length };
48
+ return {
49
+ counts: relevantPeople.length
50
+ };
46
51
  };
47
- export const getNameFrom = (person) => {
52
+ export const getNameFrom = (person)=>{
48
53
  const nameProperty = person.properties.Name;
49
54
  if (nameProperty.type !== 'title') {
50
55
  return '';
51
56
  }
52
57
  return nameProperty.title[0].plain_text;
53
58
  };
54
- export const calculateYears = (person, property) => {
59
+ export const calculateYears = (person, property)=>{
55
60
  const joinedDateProperty = person.properties[property];
56
61
  if (joinedDateProperty.type !== 'date' || !joinedDateProperty.date?.start) {
57
62
  return 0;
@@ -60,4 +65,3 @@ export const calculateYears = (person, property) => {
60
65
  const joinedDate = new Date(joinedDateProperty.date?.start);
61
66
  return today.getFullYear() - joinedDate.getFullYear();
62
67
  };
63
- //# sourceMappingURL=client.js.map
@@ -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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"}
@@ -1,11 +1,11 @@
1
1
  import { getNotion } from '@driveflux/api-functions/notion';
2
2
  import { knowledgeBaseRetrievePageSchema } from './schemas/kb.js';
3
- export const processHelpful = async (options) => {
3
+ export const processHelpful = async (options)=>{
4
4
  const { pageId, isHelpful, hasSubmittedBefore } = options;
5
5
  // get original page
6
6
  const notion = getNotion();
7
7
  const page = await notion.pages.retrieve({
8
- page_id: pageId,
8
+ page_id: pageId
9
9
  });
10
10
  // validate page
11
11
  const kbPageValidation = knowledgeBaseRetrievePageSchema.safeParse(page);
@@ -18,15 +18,12 @@ export const processHelpful = async (options) => {
18
18
  page_id: pageId,
19
19
  properties: {
20
20
  Helpful: {
21
- number: (validatedPage.properties.Helpful.number || 0) +
22
- (hasSubmittedBefore && !isHelpful ? -1 : isHelpful ? 1 : 0),
21
+ number: (validatedPage.properties.Helpful.number || 0) + (hasSubmittedBefore && !isHelpful ? -1 : isHelpful ? 1 : 0)
23
22
  },
24
23
  Unhelpful: {
25
- number: (validatedPage.properties.Unhelpful.number || 0) +
26
- (hasSubmittedBefore && isHelpful ? -1 : !isHelpful ? 1 : 0),
27
- },
28
- },
24
+ number: (validatedPage.properties.Unhelpful.number || 0) + (hasSubmittedBefore && isHelpful ? -1 : !isHelpful ? 1 : 0)
25
+ }
26
+ }
29
27
  });
30
28
  return true;
31
29
  };
32
- //# sourceMappingURL=helpful.js.map
@@ -2,59 +2,54 @@ import { z } from 'zod';
2
2
  import { notionDateSchema } from './common.js';
3
3
  import { notionPartialUserSchema } from './user.js';
4
4
  export const notionRichTextSchema = z.object({
5
- type: z.enum(['text', 'mention', 'equation']),
6
- equation: z
7
- .object({
8
- expression: z.string(),
9
- })
10
- .optional(),
11
- mention: z
12
- .object({
5
+ type: z.enum([
6
+ 'text',
7
+ 'mention',
8
+ 'equation'
9
+ ]),
10
+ equation: z.object({
11
+ expression: z.string()
12
+ }).optional(),
13
+ mention: z.object({
13
14
  type: z.enum([
14
15
  'database',
15
16
  'date',
16
17
  'link_preview',
17
18
  'page',
18
19
  'template_mention',
19
- 'user',
20
+ 'user'
20
21
  ]),
21
- database: z
22
- .object({
23
- id: z.string(),
24
- })
25
- .optional(),
22
+ database: z.object({
23
+ id: z.string()
24
+ }).optional(),
26
25
  date: notionDateSchema.optional(),
27
- link_preview: z
28
- .object({
29
- url: z.string().url(),
30
- })
31
- .optional(),
32
- page: z
33
- .object({
34
- id: z.string(),
35
- })
36
- .optional(),
37
- template_mention: z
38
- .object({
39
- type: z.enum(['template_mention_date', 'template_mention_user']),
40
- template_mention_date: z.enum(['today', 'now']).optional(),
41
- template_mention_user: z.enum(['me']).optional(),
42
- })
43
- .optional(),
44
- user: notionPartialUserSchema.optional(),
45
- })
46
- .optional(),
47
- text: z
48
- .object({
26
+ link_preview: z.object({
27
+ url: z.string().url()
28
+ }).optional(),
29
+ page: z.object({
30
+ id: z.string()
31
+ }).optional(),
32
+ template_mention: z.object({
33
+ type: z.enum([
34
+ 'template_mention_date',
35
+ 'template_mention_user'
36
+ ]),
37
+ template_mention_date: z.enum([
38
+ 'today',
39
+ 'now'
40
+ ]).optional(),
41
+ template_mention_user: z.enum([
42
+ 'me'
43
+ ]).optional()
44
+ }).optional(),
45
+ user: notionPartialUserSchema.optional()
46
+ }).optional(),
47
+ text: z.object({
49
48
  content: z.string(),
50
- link: z
51
- .object({
52
- url: z.string().url(),
53
- })
54
- .nullable()
55
- .optional(),
56
- })
57
- .optional(),
49
+ link: z.object({
50
+ url: z.string().url()
51
+ }).nullable().optional()
52
+ }).optional(),
58
53
  annotations: z.object({
59
54
  bold: z.boolean(),
60
55
  italic: z.boolean(),
@@ -80,10 +75,9 @@ export const notionRichTextSchema = z.object({
80
75
  'red',
81
76
  'red_background',
82
77
  'yellow',
83
- 'yellow_background',
84
- ]),
78
+ 'yellow_background'
79
+ ])
85
80
  }),
86
81
  plain_text: z.string(),
87
- href: z.string().url().nullable().optional(),
82
+ href: z.string().url().nullable().optional()
88
83
  });
89
- //# sourceMappingURL=block.js.map
@@ -1,11 +1,7 @@
1
1
  import { z } from 'zod';
2
- export const notionDateOrTimeFormat = z
3
- .string()
4
- .regex(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d{3})?(Z|\+\d{2}:\d{2}))?$/);
2
+ export const notionDateOrTimeFormat = z.string().regex(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d{3})?(Z|\+\d{2}:\d{2}))?$/);
5
3
  export const notionDateFormat = z.string().regex(/^\d{4}-\d{2}-\d{2}$/);
6
- export const notionTimeFormat = z
7
- .string()
8
- .regex(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z$/);
4
+ export const notionTimeFormat = z.string().regex(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z$/);
9
5
  export const notionCommonColorEnum = z.enum([
10
6
  'blue',
11
7
  'brown',
@@ -16,16 +12,15 @@ export const notionCommonColorEnum = z.enum([
16
12
  'pink',
17
13
  'purple',
18
14
  'red',
19
- 'yellow',
15
+ 'yellow'
20
16
  ]);
21
17
  export const notionDateSchema = z.object({
22
18
  start: notionDateOrTimeFormat,
23
19
  end: notionDateOrTimeFormat.nullable().optional(),
24
- time_zone: z.string().nullable().optional(),
20
+ time_zone: z.string().nullable().optional()
25
21
  });
26
- export const commonPropertyValues = (type) => ({
27
- id: z.string(),
28
- type: z.literal(type),
29
- name: z.string().optional(),
30
- });
31
- //# sourceMappingURL=common.js.map
22
+ export const commonPropertyValues = (type)=>({
23
+ id: z.string(),
24
+ type: z.literal(type),
25
+ name: z.string().optional()
26
+ });
@@ -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>;