@driveflux/api-functions 1.0.44 → 1.0.45
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.
- package/dist/auth/confirm.js +24 -29
- package/dist/auth/emails.js +12 -13
- package/dist/auth/formatter.js +5 -5
- package/dist/auth/otp.js +66 -50
- package/dist/auth/register.js +42 -34
- package/dist/auth/tokens.js +58 -55
- package/dist/auth/verifications.js +53 -52
- package/dist/constants.js +0 -1
- package/dist/create-logger.js +1 -2
- package/dist/mailjet/calls/manage-contacts-in-list.js +5 -6
- package/dist/mailjet/calls/manage-subscription-status.js +4 -5
- package/dist/mailjet/calls/request-service.js +7 -6
- package/dist/mailjet/refresh-email-preferences.js +11 -12
- package/dist/mailjet/set-contact.js +11 -12
- package/dist/mailjet/types.js +1 -2
- package/dist/mailjet/utils/convert-to-array.js +8 -6
- package/dist/mailjet/utils/extract-email-preferences.js +14 -15
- package/dist/mailjet/utils/lists.js +7 -8
- package/dist/mailjet/utils/update-email-references.js +16 -15
- package/dist/notion/client.js +22 -19
- package/dist/notion/helpful.js +6 -9
- package/dist/notion/schemas/block.js +42 -48
- package/dist/notion/schemas/common.js +9 -14
- package/dist/notion/schemas/database.d.ts +2 -2
- package/dist/notion/schemas/database.js +62 -60
- package/dist/notion/schemas/emoji.js +1 -2
- package/dist/notion/schemas/file.d.ts +1 -1
- package/dist/notion/schemas/file.js +9 -9
- package/dist/notion/schemas/kb.d.ts +4 -4
- package/dist/notion/schemas/kb.js +5 -6
- package/dist/notion/schemas/page.d.ts +3 -3
- package/dist/notion/schemas/page.js +72 -61
- package/dist/notion/schemas/parent.js +4 -5
- package/dist/notion/schemas/user.js +18 -19
- package/dist/reservation/agree.js +6 -7
- package/dist/reservation/checks.js +3 -4
- package/dist/reservation/display-vehicle.js +65 -71
- package/dist/reservation/ensure-user-billing-address.js +9 -11
- package/dist/reservation/fetch-or-create.js +48 -54
- package/dist/reservation/payer.js +5 -6
- package/dist/reservation/reserve.js +3 -4
- package/dist/reservation/types.js +1 -2
- package/dist/reservation/vehicle.js +13 -16
- package/dist/slack.js +24 -29
- package/dist/validation.js +77 -79
- package/dist/vehicle/vehicle-pricing/constants.js +22 -19
- package/dist/vehicle/vehicle-pricing/index.js +28 -42
- package/dist/vehicle/vehicle-pricing/types.js +1 -2
- package/package.json +2 -2
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { notionTimeFormat } from './common.js';
|
|
3
3
|
export const notionFileSchema = z.object({
|
|
4
|
-
type: z.enum([
|
|
4
|
+
type: z.enum([
|
|
5
|
+
'file',
|
|
6
|
+
'external'
|
|
7
|
+
]),
|
|
5
8
|
name: z.string().optional(),
|
|
6
9
|
// type file
|
|
7
|
-
file: z
|
|
8
|
-
.object({
|
|
10
|
+
file: z.object({
|
|
9
11
|
url: z.string().url(),
|
|
10
|
-
expiry_time: notionTimeFormat
|
|
11
|
-
})
|
|
12
|
-
.optional(),
|
|
12
|
+
expiry_time: notionTimeFormat
|
|
13
|
+
}).optional(),
|
|
13
14
|
// type external
|
|
14
15
|
external: z.object({
|
|
15
|
-
url: z.string().url()
|
|
16
|
-
})
|
|
16
|
+
url: z.string().url()
|
|
17
|
+
})
|
|
17
18
|
});
|
|
18
|
-
//# sourceMappingURL=file.js.map
|
|
@@ -188,8 +188,8 @@ export declare const knowledgeBaseRetrieveDatabaseSchema: z.ZodObject<{
|
|
|
188
188
|
}, z.core.$strip>>;
|
|
189
189
|
icon: z.ZodUnion<[z.ZodObject<{
|
|
190
190
|
type: z.ZodEnum<{
|
|
191
|
-
file: "file";
|
|
192
191
|
external: "external";
|
|
192
|
+
file: "file";
|
|
193
193
|
}>;
|
|
194
194
|
name: z.ZodOptional<z.ZodString>;
|
|
195
195
|
file: z.ZodOptional<z.ZodObject<{
|
|
@@ -205,8 +205,8 @@ export declare const knowledgeBaseRetrieveDatabaseSchema: z.ZodObject<{
|
|
|
205
205
|
}, z.core.$strip>]>;
|
|
206
206
|
cover: z.ZodNullable<z.ZodObject<{
|
|
207
207
|
type: z.ZodEnum<{
|
|
208
|
-
file: "file";
|
|
209
208
|
external: "external";
|
|
209
|
+
file: "file";
|
|
210
210
|
}>;
|
|
211
211
|
name: z.ZodOptional<z.ZodString>;
|
|
212
212
|
file: z.ZodOptional<z.ZodObject<{
|
|
@@ -611,8 +611,8 @@ export declare const knowledgeBaseRetrievePageSchema: z.ZodObject<{
|
|
|
611
611
|
archived: z.ZodBoolean;
|
|
612
612
|
icon: z.ZodNullable<z.ZodUnion<[z.ZodObject<{
|
|
613
613
|
type: z.ZodEnum<{
|
|
614
|
-
file: "file";
|
|
615
614
|
external: "external";
|
|
615
|
+
file: "file";
|
|
616
616
|
}>;
|
|
617
617
|
name: z.ZodOptional<z.ZodString>;
|
|
618
618
|
file: z.ZodOptional<z.ZodObject<{
|
|
@@ -1123,8 +1123,8 @@ export declare const knowledgeBaseQueryDatabaseSchema: z.ZodObject<{
|
|
|
1123
1123
|
archived: z.ZodBoolean;
|
|
1124
1124
|
icon: z.ZodNullable<z.ZodUnion<[z.ZodObject<{
|
|
1125
1125
|
type: z.ZodEnum<{
|
|
1126
|
-
file: "file";
|
|
1127
1126
|
external: "external";
|
|
1127
|
+
file: "file";
|
|
1128
1128
|
}>;
|
|
1129
1129
|
name: z.ZodOptional<z.ZodString>;
|
|
1130
1130
|
file: z.ZodOptional<z.ZodObject<{
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { notionDatabasePropertyCheckboxSchema, notionDatabasePropertyCreatedBySchema, notionDatabasePropertyCreatedTimeSchema, notionDatabasePropertyDateSchema, notionDatabasePropertyFormulaSchema, notionDatabasePropertyLastEditedBySchema, notionDatabasePropertyLastEditedTimeSchema, notionDatabasePropertyMultiSelectSchema, notionDatabasePropertyNumberSchema, notionDatabasePropertyRelationSchema, notionDatabasePropertySelectSchema, notionDatabasePropertyStatusSchema, notionDatabasePropertyTitleSchema, notionDatabasePropertyUniqueIdSchema, notionDatabaseSchema
|
|
3
|
-
import { notionPagePropertyCheckboxSchema, notionPagePropertyCreatedBySchema, notionPagePropertyCreatedTimeSchema, notionPagePropertyDateSchema, notionPagePropertyFormulaSchema, notionPagePropertyLastEditedBySchema, notionPagePropertyLastEditedTimeSchema, notionPagePropertyMultiSelectSchema, notionPagePropertyNumberSchema, notionPagePropertyRelationSchema, notionPagePropertyRichTextSchema, notionPagePropertySelectSchema, notionPagePropertyStatusSchema, notionPagePropertyTitleSchema, notionPagePropertyUniqueIdSchema, notionPageSchema, notionPagesSchema
|
|
2
|
+
import { notionDatabasePropertyCheckboxSchema, notionDatabasePropertyCreatedBySchema, notionDatabasePropertyCreatedTimeSchema, notionDatabasePropertyDateSchema, notionDatabasePropertyFormulaSchema, notionDatabasePropertyLastEditedBySchema, notionDatabasePropertyLastEditedTimeSchema, notionDatabasePropertyMultiSelectSchema, notionDatabasePropertyNumberSchema, notionDatabasePropertyRelationSchema, notionDatabasePropertySelectSchema, notionDatabasePropertyStatusSchema, notionDatabasePropertyTitleSchema, notionDatabasePropertyUniqueIdSchema, notionDatabaseSchema } from './database.js';
|
|
3
|
+
import { notionPagePropertyCheckboxSchema, notionPagePropertyCreatedBySchema, notionPagePropertyCreatedTimeSchema, notionPagePropertyDateSchema, notionPagePropertyFormulaSchema, notionPagePropertyLastEditedBySchema, notionPagePropertyLastEditedTimeSchema, notionPagePropertyMultiSelectSchema, notionPagePropertyNumberSchema, notionPagePropertyRelationSchema, notionPagePropertyRichTextSchema, notionPagePropertySelectSchema, notionPagePropertyStatusSchema, notionPagePropertyTitleSchema, notionPagePropertyUniqueIdSchema, notionPageSchema, notionPagesSchema } from './page.js';
|
|
4
4
|
export const knowledgeBaseRetrieveDatabaseSchema = notionDatabaseSchema(z.object({
|
|
5
5
|
Title: notionDatabasePropertyTitleSchema,
|
|
6
6
|
Status: notionDatabasePropertyStatusSchema,
|
|
@@ -22,7 +22,7 @@ export const knowledgeBaseRetrieveDatabaseSchema = notionDatabaseSchema(z.object
|
|
|
22
22
|
'Section Slug': notionDatabasePropertyFormulaSchema,
|
|
23
23
|
'Topic Slug': notionDatabasePropertyFormulaSchema,
|
|
24
24
|
Helpful: notionDatabasePropertyNumberSchema,
|
|
25
|
-
Unhelpful: notionDatabasePropertyNumberSchema
|
|
25
|
+
Unhelpful: notionDatabasePropertyNumberSchema
|
|
26
26
|
}));
|
|
27
27
|
export const knowledgeBaseRetrievePageSchema = notionPageSchema(z.object({
|
|
28
28
|
Title: notionPagePropertyTitleSchema,
|
|
@@ -46,7 +46,7 @@ export const knowledgeBaseRetrievePageSchema = notionPageSchema(z.object({
|
|
|
46
46
|
'Section Slug': notionPagePropertyFormulaSchema,
|
|
47
47
|
'Topic Slug': notionPagePropertyFormulaSchema,
|
|
48
48
|
Helpful: notionPagePropertyNumberSchema,
|
|
49
|
-
Unhelpful: notionPagePropertyNumberSchema
|
|
49
|
+
Unhelpful: notionPagePropertyNumberSchema
|
|
50
50
|
}));
|
|
51
51
|
export const knowledgeBaseQueryDatabaseSchema = notionPagesSchema(z.object({
|
|
52
52
|
Title: notionPagePropertyTitleSchema,
|
|
@@ -69,6 +69,5 @@ export const knowledgeBaseQueryDatabaseSchema = notionPagesSchema(z.object({
|
|
|
69
69
|
'Section Slug': notionPagePropertyFormulaSchema,
|
|
70
70
|
'Topic Slug': notionPagePropertyFormulaSchema,
|
|
71
71
|
Helpful: notionPagePropertyNumberSchema,
|
|
72
|
-
Unhelpful: notionPagePropertyNumberSchema
|
|
72
|
+
Unhelpful: notionPagePropertyNumberSchema
|
|
73
73
|
}));
|
|
74
|
-
//# sourceMappingURL=kb.js.map
|
|
@@ -58,8 +58,8 @@ export declare const notionPagePropertyEmailSchema: ZodObject<{
|
|
|
58
58
|
export declare const notionPagePropertyFilesSchema: ZodObject<{
|
|
59
59
|
files: z.ZodArray<ZodObject<{
|
|
60
60
|
type: z.ZodEnum<{
|
|
61
|
-
file: "file";
|
|
62
61
|
external: "external";
|
|
62
|
+
file: "file";
|
|
63
63
|
}>;
|
|
64
64
|
name: z.ZodOptional<z.ZodString>;
|
|
65
65
|
file: z.ZodOptional<ZodObject<{
|
|
@@ -536,8 +536,8 @@ export declare const notionPageSchema: <T extends ZodObject<any>>(properties: T)
|
|
|
536
536
|
archived: z.ZodBoolean;
|
|
537
537
|
icon: z.ZodNullable<z.ZodUnion<[ZodObject<{
|
|
538
538
|
type: z.ZodEnum<{
|
|
539
|
-
file: "file";
|
|
540
539
|
external: "external";
|
|
540
|
+
file: "file";
|
|
541
541
|
}>;
|
|
542
542
|
name: z.ZodOptional<z.ZodString>;
|
|
543
543
|
file: z.ZodOptional<ZodObject<{
|
|
@@ -581,8 +581,8 @@ export declare const notionPagesSchema: <T extends ZodObject<any>>(properties: T
|
|
|
581
581
|
archived: z.ZodBoolean;
|
|
582
582
|
icon: z.ZodNullable<z.ZodUnion<[ZodObject<{
|
|
583
583
|
type: z.ZodEnum<{
|
|
584
|
-
file: "file";
|
|
585
584
|
external: "external";
|
|
585
|
+
file: "file";
|
|
586
586
|
}>;
|
|
587
587
|
name: z.ZodOptional<z.ZodString>;
|
|
588
588
|
file: z.ZodOptional<ZodObject<{
|
|
@@ -1,78 +1,83 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { notionRichTextSchema } from './block.js';
|
|
3
|
-
import { commonPropertyValues, notionCommonColorEnum, notionDateFormat, notionDateSchema, notionTimeFormat
|
|
3
|
+
import { commonPropertyValues, notionCommonColorEnum, notionDateFormat, notionDateSchema, notionTimeFormat } from './common.js';
|
|
4
4
|
import { notionEmojiSchema } from './emoji.js';
|
|
5
5
|
import { notionFileSchema } from './file.js';
|
|
6
6
|
import { notionDatabaseParentSchema } from './parent.js';
|
|
7
7
|
import { notionPartialUserSchema, notionUserSchema } from './user.js';
|
|
8
8
|
export const notionPagePropertyCheckboxSchema = z.object({
|
|
9
9
|
...commonPropertyValues('checkbox'),
|
|
10
|
-
checkbox: z.boolean()
|
|
10
|
+
checkbox: z.boolean()
|
|
11
11
|
});
|
|
12
12
|
export const notionPagePropertyCreatedBySchema = z.object({
|
|
13
13
|
...commonPropertyValues('created_by'),
|
|
14
|
-
created_by: notionUserSchema
|
|
14
|
+
created_by: notionUserSchema
|
|
15
15
|
});
|
|
16
16
|
export const notionPagePropertyCreatedTimeSchema = z.object({
|
|
17
17
|
...commonPropertyValues('created_time'),
|
|
18
|
-
created_time: notionTimeFormat
|
|
18
|
+
created_time: notionTimeFormat
|
|
19
19
|
});
|
|
20
20
|
export const notionPagePropertyDateSchema = z.object({
|
|
21
21
|
...commonPropertyValues('date'),
|
|
22
|
-
date: notionDateSchema.nullable()
|
|
22
|
+
date: notionDateSchema.nullable()
|
|
23
23
|
});
|
|
24
24
|
export const notionPagePropertyEmailSchema = z.object({
|
|
25
25
|
...commonPropertyValues('email'),
|
|
26
|
-
email: z.string()
|
|
26
|
+
email: z.string()
|
|
27
27
|
});
|
|
28
28
|
export const notionPagePropertyFilesSchema = z.object({
|
|
29
29
|
...commonPropertyValues('files'),
|
|
30
|
-
files: z.array(notionFileSchema)
|
|
30
|
+
files: z.array(notionFileSchema)
|
|
31
31
|
});
|
|
32
32
|
export const notionPagePropertyFormulaSchema = z.object({
|
|
33
33
|
...commonPropertyValues('formula'),
|
|
34
34
|
formula: z.object({
|
|
35
|
-
type: z.enum([
|
|
35
|
+
type: z.enum([
|
|
36
|
+
'boolean',
|
|
37
|
+
'date',
|
|
38
|
+
'number',
|
|
39
|
+
'string'
|
|
40
|
+
]),
|
|
36
41
|
boolean: z.boolean().optional(),
|
|
37
42
|
date: notionDateFormat.optional(),
|
|
38
43
|
number: z.number().optional(),
|
|
39
|
-
string: z.string().optional()
|
|
40
|
-
})
|
|
44
|
+
string: z.string().optional()
|
|
45
|
+
})
|
|
41
46
|
});
|
|
42
47
|
export const notionPagePropertyLastEditedBySchema = z.object({
|
|
43
48
|
...commonPropertyValues('last_edited_by'),
|
|
44
|
-
last_edited_by: notionUserSchema
|
|
49
|
+
last_edited_by: notionUserSchema
|
|
45
50
|
});
|
|
46
51
|
export const notionPagePropertyLastEditedTimeSchema = z.object({
|
|
47
52
|
...commonPropertyValues('last_edited_time'),
|
|
48
|
-
last_edited_time: notionTimeFormat
|
|
53
|
+
last_edited_time: notionTimeFormat
|
|
49
54
|
});
|
|
50
55
|
export const notionPagePropertyMultiSelectSchema = z.object({
|
|
51
56
|
...commonPropertyValues('multi_select'),
|
|
52
57
|
multi_select: z.array(z.object({
|
|
53
58
|
id: z.string(),
|
|
54
59
|
name: z.string(),
|
|
55
|
-
color: notionCommonColorEnum
|
|
56
|
-
}))
|
|
60
|
+
color: notionCommonColorEnum
|
|
61
|
+
}))
|
|
57
62
|
});
|
|
58
63
|
export const notionPagePropertyNumberSchema = z.object({
|
|
59
64
|
...commonPropertyValues('number'),
|
|
60
|
-
number: z.number().nullable()
|
|
65
|
+
number: z.number().nullable()
|
|
61
66
|
});
|
|
62
67
|
export const notionPagePropertyPeopleSchema = z.object({
|
|
63
68
|
...commonPropertyValues('people'),
|
|
64
|
-
people: z.array(notionUserSchema)
|
|
69
|
+
people: z.array(notionUserSchema)
|
|
65
70
|
});
|
|
66
71
|
export const notionPagePropertyPhoneNumberSchema = z.object({
|
|
67
72
|
...commonPropertyValues('phone_number'),
|
|
68
|
-
phone_number: z.string()
|
|
73
|
+
phone_number: z.string()
|
|
69
74
|
});
|
|
70
75
|
export const notionPagePropertyRelationSchema = z.object({
|
|
71
76
|
...commonPropertyValues('relation'),
|
|
72
77
|
relation: z.array(z.object({
|
|
73
|
-
id: z.string()
|
|
78
|
+
id: z.string()
|
|
74
79
|
})),
|
|
75
|
-
has_more: z.boolean()
|
|
80
|
+
has_more: z.boolean()
|
|
76
81
|
});
|
|
77
82
|
export const notionPagePropertyRollupSchema = z.object({
|
|
78
83
|
...commonPropertyValues('rollup'),
|
|
@@ -106,76 +111,82 @@ export const notionPagePropertyRollupSchema = z.object({
|
|
|
106
111
|
'show_unique',
|
|
107
112
|
'sum',
|
|
108
113
|
'unchecked',
|
|
109
|
-
'unique'
|
|
114
|
+
'unique'
|
|
110
115
|
]),
|
|
111
|
-
type: z.enum([
|
|
112
|
-
|
|
116
|
+
type: z.enum([
|
|
117
|
+
'array',
|
|
118
|
+
'date',
|
|
119
|
+
'incomplete',
|
|
120
|
+
'number',
|
|
121
|
+
'unsupported'
|
|
122
|
+
])
|
|
123
|
+
})
|
|
113
124
|
});
|
|
114
125
|
export const notionPagePropertyRichTextSchema = z.object({
|
|
115
126
|
...commonPropertyValues('rich_text'),
|
|
116
|
-
rich_text: z.array(notionRichTextSchema)
|
|
127
|
+
rich_text: z.array(notionRichTextSchema)
|
|
117
128
|
});
|
|
118
129
|
export const notionPagePropertySelectSchema = z.object({
|
|
119
130
|
...commonPropertyValues('select'),
|
|
120
|
-
select: z
|
|
121
|
-
.object({
|
|
131
|
+
select: z.object({
|
|
122
132
|
id: z.string(),
|
|
123
133
|
name: z.string(),
|
|
124
|
-
color: notionCommonColorEnum
|
|
125
|
-
})
|
|
126
|
-
.nullable(),
|
|
134
|
+
color: notionCommonColorEnum
|
|
135
|
+
}).nullable()
|
|
127
136
|
});
|
|
128
137
|
export const notionPagePropertyStatusSchema = z.object({
|
|
129
138
|
...commonPropertyValues('status'),
|
|
130
139
|
status: z.object({
|
|
131
140
|
id: z.string(),
|
|
132
141
|
name: z.string(),
|
|
133
|
-
color: notionCommonColorEnum
|
|
134
|
-
})
|
|
142
|
+
color: notionCommonColorEnum
|
|
143
|
+
})
|
|
135
144
|
});
|
|
136
145
|
export const notionPagePropertyTitleSchema = z.object({
|
|
137
146
|
...commonPropertyValues('title'),
|
|
138
|
-
title: z.array(notionRichTextSchema)
|
|
147
|
+
title: z.array(notionRichTextSchema)
|
|
139
148
|
});
|
|
140
149
|
export const notionPagePropertyUrlSchema = z.object({
|
|
141
150
|
...commonPropertyValues('url'),
|
|
142
|
-
url: z.string().url().nullable()
|
|
151
|
+
url: z.string().url().nullable()
|
|
143
152
|
});
|
|
144
153
|
export const notionPagePropertyUniqueIdSchema = z.object({
|
|
145
154
|
...commonPropertyValues('unique_id'),
|
|
146
155
|
unique_id: z.object({
|
|
147
156
|
number: z.number(),
|
|
148
|
-
prefix: z.string().nullable().optional()
|
|
149
|
-
})
|
|
157
|
+
prefix: z.string().nullable().optional()
|
|
158
|
+
})
|
|
150
159
|
});
|
|
151
160
|
export const notionPagePropertyVerificationSchema = z.object({
|
|
152
161
|
...commonPropertyValues('verification'),
|
|
153
162
|
verification: z.object({
|
|
154
|
-
state: z.enum([
|
|
163
|
+
state: z.enum([
|
|
164
|
+
'verified',
|
|
165
|
+
'unverified'
|
|
166
|
+
]),
|
|
155
167
|
verified_by: notionUserSchema.nullable(),
|
|
156
|
-
date: notionDateSchema
|
|
157
|
-
})
|
|
158
|
-
});
|
|
159
|
-
export const notionPageSchema = (properties)
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
});
|
|
173
|
-
export const notionPagesSchema = (properties)
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
});
|
|
181
|
-
//# sourceMappingURL=page.js.map
|
|
168
|
+
date: notionDateSchema
|
|
169
|
+
})
|
|
170
|
+
});
|
|
171
|
+
export const notionPageSchema = (properties)=>z.object({
|
|
172
|
+
object: z.literal('page'),
|
|
173
|
+
id: z.string(),
|
|
174
|
+
created_time: notionTimeFormat,
|
|
175
|
+
created_by: notionPartialUserSchema,
|
|
176
|
+
last_edited_time: notionTimeFormat,
|
|
177
|
+
last_edited_by: notionPartialUserSchema,
|
|
178
|
+
archived: z.boolean(),
|
|
179
|
+
icon: notionFileSchema.or(notionEmojiSchema).nullable(),
|
|
180
|
+
properties,
|
|
181
|
+
parent: notionDatabaseParentSchema,
|
|
182
|
+
url: z.string().url(),
|
|
183
|
+
public_url: z.string().nullable()
|
|
184
|
+
});
|
|
185
|
+
export const notionPagesSchema = (properties)=>z.object({
|
|
186
|
+
has_more: z.boolean(),
|
|
187
|
+
next_cursor: z.string().nullable(),
|
|
188
|
+
object: z.literal('list'),
|
|
189
|
+
page_or_database: z.object({}),
|
|
190
|
+
type: z.literal('page_or_database'),
|
|
191
|
+
results: z.array(notionPageSchema(properties))
|
|
192
|
+
});
|
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
export const notionDatabaseParentSchema = z.object({
|
|
3
3
|
type: z.literal('database_id'),
|
|
4
|
-
database_id: z.string()
|
|
4
|
+
database_id: z.string()
|
|
5
5
|
});
|
|
6
6
|
export const notionPageParentSchema = z.object({
|
|
7
7
|
type: z.literal('page_id'),
|
|
8
|
-
page_id: z.string()
|
|
8
|
+
page_id: z.string()
|
|
9
9
|
});
|
|
10
10
|
export const notionWorkspaceParentSchema = z.object({
|
|
11
11
|
type: z.literal('workspace'),
|
|
12
|
-
workspace: z.literal(true)
|
|
12
|
+
workspace: z.literal(true)
|
|
13
13
|
});
|
|
14
14
|
export const notionBlockParentSchema = z.object({
|
|
15
15
|
type: z.literal('block_id'),
|
|
16
|
-
block_id: z.string()
|
|
16
|
+
block_id: z.string()
|
|
17
17
|
});
|
|
18
|
-
//# sourceMappingURL=parent.js.map
|
|
@@ -1,31 +1,30 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
export const notionPartialUserSchema = z.object({
|
|
3
3
|
object: z.literal('user'),
|
|
4
|
-
user: z.string().optional()
|
|
4
|
+
user: z.string().optional()
|
|
5
5
|
});
|
|
6
6
|
export const notionUserSchema = z.object({
|
|
7
7
|
object: z.literal('user'),
|
|
8
8
|
id: z.string(),
|
|
9
|
-
type: z.enum([
|
|
9
|
+
type: z.enum([
|
|
10
|
+
'person',
|
|
11
|
+
'bot'
|
|
12
|
+
]).optional(),
|
|
10
13
|
name: z.string().optional(),
|
|
11
14
|
avatar_url: z.string().nullable().optional(),
|
|
12
15
|
// type person
|
|
13
|
-
person: z
|
|
14
|
-
.
|
|
15
|
-
|
|
16
|
-
})
|
|
17
|
-
.optional(),
|
|
16
|
+
person: z.object({
|
|
17
|
+
email: z.string().email()
|
|
18
|
+
}).optional(),
|
|
18
19
|
// type bot
|
|
19
|
-
bot: z
|
|
20
|
-
.object({
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
workspace_name: z.string().optional()
|
|
28
|
-
})
|
|
29
|
-
.optional(),
|
|
20
|
+
bot: z.object({
|
|
21
|
+
owner: z.object({
|
|
22
|
+
type: z.enum([
|
|
23
|
+
'workspace',
|
|
24
|
+
'user'
|
|
25
|
+
]),
|
|
26
|
+
workspace: z.boolean()
|
|
27
|
+
}).optional(),
|
|
28
|
+
workspace_name: z.string().optional()
|
|
29
|
+
}).optional()
|
|
30
30
|
});
|
|
31
|
-
//# sourceMappingURL=user.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { prisma } from '@driveflux/db';
|
|
2
2
|
import { generateId } from '@driveflux/db/id';
|
|
3
|
-
export const handleAgreeToTerms = async ({ agreedToTerms, subscribingUser, ipAddress
|
|
3
|
+
export const handleAgreeToTerms = async ({ agreedToTerms, subscribingUser, ipAddress })=>{
|
|
4
4
|
if (agreedToTerms && !subscribingUser.consented) {
|
|
5
5
|
subscribingUser = await prisma.user.update({
|
|
6
6
|
where: {
|
|
7
|
-
id: subscribingUser.id
|
|
7
|
+
id: subscribingUser.id
|
|
8
8
|
},
|
|
9
9
|
data: {
|
|
10
10
|
consented: true,
|
|
@@ -13,11 +13,10 @@ export const handleAgreeToTerms = async ({ agreedToTerms, subscribingUser, ipAdd
|
|
|
13
13
|
id: generateId('UserConsent'),
|
|
14
14
|
ipAddress,
|
|
15
15
|
consentType: 'terms',
|
|
16
|
-
email: subscribingUser.email
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
}
|
|
16
|
+
email: subscribingUser.email
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
20
|
});
|
|
21
21
|
}
|
|
22
22
|
};
|
|
23
|
-
//# sourceMappingURL=agree.js.map
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { ForbiddenError, subject } from '@casl/ability';
|
|
2
2
|
import { buildOrDefineAbility } from '@driveflux/auth/authorization';
|
|
3
|
-
import { makeProblem, PROBLEM_CONDITION_FAILED, PROBLEM_RESOURCE_BUSY
|
|
3
|
+
import { makeProblem, PROBLEM_CONDITION_FAILED, PROBLEM_RESOURCE_BUSY } from '@driveflux/problem';
|
|
4
4
|
import { Err, Ok } from '@driveflux/result';
|
|
5
|
-
export const checkIfUserCanReserve = async ({ requestUser, subscribingUser
|
|
5
|
+
export const checkIfUserCanReserve = async ({ requestUser, subscribingUser })=>{
|
|
6
6
|
// Check if the user can reserve
|
|
7
7
|
const requestUserAbility = await buildOrDefineAbility(requestUser);
|
|
8
8
|
// Check if user can reserve
|
|
9
9
|
ForbiddenError.from(requestUserAbility).throwUnlessCan('reserveVehicle', subject('User', subscribingUser));
|
|
10
10
|
return requestUserAbility;
|
|
11
11
|
};
|
|
12
|
-
export const checkIfVehicleIsAvailableForReservation = async (vehicle, plan, allowDelisted)
|
|
12
|
+
export const checkIfVehicleIsAvailableForReservation = async (vehicle, plan, allowDelisted)=>{
|
|
13
13
|
if (!vehicle.pricing) {
|
|
14
14
|
return new Err(makeProblem(PROBLEM_RESOURCE_BUSY, 'This vehicle is not available for reservation'));
|
|
15
15
|
}
|
|
@@ -25,4 +25,3 @@ export const checkIfVehicleIsAvailableForReservation = async (vehicle, plan, all
|
|
|
25
25
|
}
|
|
26
26
|
return new Ok(vehicle);
|
|
27
27
|
};
|
|
28
|
-
//# sourceMappingURL=checks.js.map
|