@getcommunity/gc-validators 0.0.216 → 0.0.217
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/chunk-CKQMccvm.cjs +28 -0
- package/dist/constants.cjs +461 -438
- package/dist/constants.cjs.map +1 -1
- package/dist/constants.d.cts +2 -233
- package/dist/constants.d.mts +2 -0
- package/dist/constants.mjs +355 -0
- package/dist/constants.mjs.map +1 -0
- package/dist/index-B6pNPQrV.d.mts +4192 -0
- package/dist/index-CQtazKyX.d.cts +4192 -0
- package/dist/index-CiWVYf_f.d.cts +292 -0
- package/dist/index-DOR_It7I.d.mts +292 -0
- package/dist/index.cjs +350 -1388
- package/dist/index.d.cts +3 -10
- package/dist/index.d.mts +3 -0
- package/dist/index.mjs +6 -0
- package/dist/permissions.cjs +757 -30
- package/dist/permissions.cjs.map +1 -1
- package/dist/permissions.d.cts +2 -747
- package/dist/permissions.d.mts +2 -0
- package/dist/permissions.mjs +753 -0
- package/dist/permissions.mjs.map +1 -0
- package/dist/schemas.cjs +1781 -896
- package/dist/schemas.cjs.map +1 -1
- package/dist/schemas.d.cts +2 -1935
- package/dist/schemas.d.mts +2 -0
- package/dist/schemas.mjs +1559 -0
- package/dist/schemas.mjs.map +1 -0
- package/dist/types.cjs +0 -6
- package/dist/types.d.cts +2 -851
- package/dist/types.d.mts +2 -0
- package/dist/types.mjs +1 -0
- package/dist/utilities.cjs +76 -38
- package/dist/utilities.cjs.map +1 -1
- package/dist/utilities.d.cts +2 -26
- package/dist/utilities.d.mts +2 -0
- package/dist/utilities.mjs +68 -0
- package/dist/utilities.mjs.map +1 -0
- package/package.json +4 -4
- package/dist/chunk-57PRSDKM.cjs +0 -368
- package/dist/chunk-57PRSDKM.cjs.map +0 -1
- package/dist/chunk-7CI3M2JM.js +0 -3
- package/dist/chunk-7CI3M2JM.js.map +0 -1
- package/dist/chunk-ABPKJ5AP.js +0 -259
- package/dist/chunk-ABPKJ5AP.js.map +0 -1
- package/dist/chunk-BYTL5J7D.js +0 -2606
- package/dist/chunk-BYTL5J7D.js.map +0 -1
- package/dist/chunk-CDBT3J75.cjs +0 -4
- package/dist/chunk-CDBT3J75.cjs.map +0 -1
- package/dist/chunk-DU5WCXJJ.js +0 -685
- package/dist/chunk-DU5WCXJJ.js.map +0 -1
- package/dist/chunk-IMI6XEMX.cjs +0 -2849
- package/dist/chunk-IMI6XEMX.cjs.map +0 -1
- package/dist/chunk-NMDMJZPF.cjs +0 -692
- package/dist/chunk-NMDMJZPF.cjs.map +0 -1
- package/dist/chunk-NNLSUHMQ.js +0 -63
- package/dist/chunk-NNLSUHMQ.js.map +0 -1
- package/dist/chunk-UAQWYRXG.cjs +0 -92
- package/dist/chunk-UAQWYRXG.cjs.map +0 -1
- package/dist/comment.document-HT6qJLh5.d.cts +0 -468
- package/dist/comment.document-xCsfHOer.d.ts +0 -468
- package/dist/constants.d.ts +0 -233
- package/dist/constants.js +0 -3
- package/dist/constants.js.map +0 -1
- package/dist/font.constants-BVwxlH3J.d.cts +0 -52
- package/dist/font.constants-BVwxlH3J.d.ts +0 -52
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.ts +0 -10
- package/dist/index.js +0 -7
- package/dist/index.js.map +0 -1
- package/dist/permission.constants-B99nobws.d.cts +0 -30
- package/dist/permission.constants-B99nobws.d.ts +0 -30
- package/dist/permissions.d.ts +0 -747
- package/dist/permissions.js +0 -3
- package/dist/permissions.js.map +0 -1
- package/dist/response-8Bkawql4.d.cts +0 -56
- package/dist/response-8Bkawql4.d.ts +0 -56
- package/dist/schemas.d.ts +0 -1935
- package/dist/schemas.js +0 -5
- package/dist/schemas.js.map +0 -1
- package/dist/types.cjs.map +0 -1
- package/dist/types.d.ts +0 -851
- package/dist/types.js +0 -3
- package/dist/types.js.map +0 -1
- package/dist/utilities.d.ts +0 -26
- package/dist/utilities.js +0 -3
- package/dist/utilities.js.map +0 -1
package/dist/schemas.mjs
ADDED
|
@@ -0,0 +1,1559 @@
|
|
|
1
|
+
import { ClientProjectPhaseOptions, ClientProjectStatusOptions, CommentApprovalStatusOptions, ERROR_MESSAGE_COMMA_SEPPARATED_URLS, ERROR_MESSAGE_INVALID_URL, ERROR_MESSAGE_ONE_PROJECT_STATUS, ERROR_MESSAGE_REGEX_PHONE, ERROR_MESSAGE_REGEX_URL_SLUG, ERROR_MESSAGE_REGEX_UTM_VALUE, ERROR_MESSAGE_ROBOT, ERROR_MESSAGE_URL_NO_QUERY_PARAMS, ERROR_MESSAGE_URL_PREFIX, ERROR_MESSAGE_UTM_URL, IsValidClientClassificationSelectOptions, LIMIT_LONG_STRING_MAX_LENGTH, LIMIT_MAX_DESTINATION, LIMIT_MAX_UTM_CAMPAIGN, LIMIT_MAX_UTM_CONTENT, LIMIT_MAX_UTM_CREATIVE_FORMAT, LIMIT_MAX_UTM_ID, LIMIT_MAX_UTM_MEDIUM, LIMIT_MAX_UTM_SOURCE, LIMIT_MONDAY_WORKSPACE_PAGINATION_MAX_SIZE, LIMIT_PAGINATION_MAX_SIZE, LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE, LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE, REGEX_NANP_PHONE, REGEX_URL_SLUG, REGEX_UTM_VALUE, ReportCommentReasonOptions } from "./constants.mjs";
|
|
2
|
+
import { CLIENT_ENTITY_SCOPES } from "./permissions.mjs";
|
|
3
|
+
import * as v from "valibot";
|
|
4
|
+
//#region src/schemas/shared.validators.ts
|
|
5
|
+
/**
|
|
6
|
+
* Basic number validator
|
|
7
|
+
*/
|
|
8
|
+
const VNumberNullable = () => v.optional(v.nullable(v.number()));
|
|
9
|
+
const VIntegerNullable = () => v.optional(v.nullable(v.pipe(v.number(), v.integer())));
|
|
10
|
+
/**
|
|
11
|
+
* Basic string validator with trim and min length
|
|
12
|
+
*/
|
|
13
|
+
const VString = (minLength = 1) => v.pipe(v.string(), v.trim(), v.minLength(minLength));
|
|
14
|
+
/**
|
|
15
|
+
* String validator with trim, min length, and max length (Short)
|
|
16
|
+
*/
|
|
17
|
+
const VStringShort = (minLength = 1) => v.pipe(v.string(), v.trim(), v.minLength(minLength), v.maxLength(255));
|
|
18
|
+
/**
|
|
19
|
+
* String validator with trim, min length, and max length (Long)
|
|
20
|
+
*/
|
|
21
|
+
const VStringLong = (minLength = 1) => v.pipe(v.string(), v.trim(), v.minLength(minLength), v.maxLength(LIMIT_LONG_STRING_MAX_LENGTH));
|
|
22
|
+
/**
|
|
23
|
+
* String validator with trim, and max length
|
|
24
|
+
*/
|
|
25
|
+
const VStringMax = (maxLength = 255) => v.pipe(v.string(), v.trim(), v.maxLength(maxLength));
|
|
26
|
+
/**
|
|
27
|
+
* String validator with trim, and max length
|
|
28
|
+
*/
|
|
29
|
+
const VStringMaxRegex = (maxLength = 255, pattern, message) => v.pipe(v.string(), v.trim(), v.maxLength(maxLength), v.regex(pattern, message));
|
|
30
|
+
/**
|
|
31
|
+
* String validator with trim, min length, and max length
|
|
32
|
+
*/
|
|
33
|
+
const VStringMinMax = (minLength = 1, maxLength = 255) => v.pipe(v.string(), v.trim(), v.minLength(minLength), v.maxLength(maxLength));
|
|
34
|
+
/**
|
|
35
|
+
* String validator with trim, min length, max length, and regex pattern
|
|
36
|
+
*/
|
|
37
|
+
const VStringMinMaxRegex = (minLength = 1, maxLength = 255, pattern, message) => v.pipe(v.string(), v.trim(), v.minLength(minLength), v.maxLength(maxLength), v.regex(pattern, message));
|
|
38
|
+
/**
|
|
39
|
+
* Optional Nullable String validator (Long)
|
|
40
|
+
*/
|
|
41
|
+
const VStringLongNullable = (minLength = 1) => v.optional(v.nullable(v.pipe(v.string(), v.trim(), v.minLength(minLength), v.maxLength(LIMIT_LONG_STRING_MAX_LENGTH))));
|
|
42
|
+
/**
|
|
43
|
+
* Optional Nullable String validator
|
|
44
|
+
* Commonly used for optional fields that might be null in the database or API
|
|
45
|
+
*/
|
|
46
|
+
const VStringShortNullable = (minLength = 1) => v.optional(v.nullable(v.pipe(v.string(), v.trim(), v.minLength(minLength), v.maxLength(255))));
|
|
47
|
+
/**
|
|
48
|
+
* URL Validator
|
|
49
|
+
* Checks for http/https prefix and valid URL format
|
|
50
|
+
*/
|
|
51
|
+
const VStringUrl = () => v.pipe(v.string(), v.trim(), v.startsWith("http", ERROR_MESSAGE_URL_PREFIX), v.url(ERROR_MESSAGE_INVALID_URL));
|
|
52
|
+
/**
|
|
53
|
+
* UTM URL Validator
|
|
54
|
+
* Checks for valid URL format that does contain utm params
|
|
55
|
+
*/
|
|
56
|
+
const VStringUrlUtm = () => v.pipe(v.string(), v.trim(), v.url(ERROR_MESSAGE_INVALID_URL), v.check((input) => {
|
|
57
|
+
return input.includes("utm_");
|
|
58
|
+
}, ERROR_MESSAGE_UTM_URL));
|
|
59
|
+
/**
|
|
60
|
+
* URL no utm params Validator
|
|
61
|
+
* Checks for valid URL format that does not contain utm params
|
|
62
|
+
*/
|
|
63
|
+
const VStringUrlNoUtm = () => v.pipe(v.string(), v.trim(), v.url(ERROR_MESSAGE_INVALID_URL), v.check((input) => {
|
|
64
|
+
if (input === "") return false;
|
|
65
|
+
return input.indexOf("?") === -1;
|
|
66
|
+
}, ERROR_MESSAGE_URL_NO_QUERY_PARAMS));
|
|
67
|
+
/**
|
|
68
|
+
* Optional Nullable URL Validator
|
|
69
|
+
*/
|
|
70
|
+
const VStringUrlNullable = () => v.optional(v.nullable(v.pipe(v.string(), v.trim(), v.startsWith("http", ERROR_MESSAGE_URL_PREFIX), v.url(ERROR_MESSAGE_INVALID_URL))));
|
|
71
|
+
/**
|
|
72
|
+
* Slug Validator
|
|
73
|
+
*/
|
|
74
|
+
const VStringSlug = () => v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(255), v.regex(REGEX_URL_SLUG, ERROR_MESSAGE_REGEX_URL_SLUG));
|
|
75
|
+
/**
|
|
76
|
+
* Email Validator
|
|
77
|
+
*/
|
|
78
|
+
const VStringEmail = () => v.pipe(v.string(), v.trim(), v.minLength(5), v.maxLength(255), v.email());
|
|
79
|
+
/**
|
|
80
|
+
* Phone Validator (NANP)
|
|
81
|
+
*/
|
|
82
|
+
const VStringPhone = () => v.pipe(v.string(), v.trim(), v.minLength(7), v.maxLength(24), v.regex(REGEX_NANP_PHONE, ERROR_MESSAGE_REGEX_PHONE));
|
|
83
|
+
/**
|
|
84
|
+
* Optional Nullable Phone Validator
|
|
85
|
+
*/
|
|
86
|
+
const VStringPhoneNullable = () => v.optional(v.nullable(VStringPhone()));
|
|
87
|
+
/**
|
|
88
|
+
* Pagination Page Validator
|
|
89
|
+
*/
|
|
90
|
+
const VPage = () => v.optional(v.pipe(v.number(), v.minValue(1)));
|
|
91
|
+
/**
|
|
92
|
+
* Pagination Size Validator
|
|
93
|
+
*/
|
|
94
|
+
const VSize = (maxSize) => v.optional(v.pipe(v.number(), v.minValue(1), v.maxValue(maxSize)));
|
|
95
|
+
//#endregion
|
|
96
|
+
//#region src/schemas/blog.schemas.ts
|
|
97
|
+
const BlogPostSortKeys = [
|
|
98
|
+
"id",
|
|
99
|
+
"title",
|
|
100
|
+
"slug",
|
|
101
|
+
"is_live",
|
|
102
|
+
"is_featured",
|
|
103
|
+
"is_public",
|
|
104
|
+
"published",
|
|
105
|
+
"createdAt",
|
|
106
|
+
"updatedAt"
|
|
107
|
+
];
|
|
108
|
+
const QuerySortBlogPosts = v.optional(v.pipe(v.array(v.picklist(BlogPostSortKeys.flatMap((k) => [`${k}:ASC`, `${k}:DESC`]))), v.maxLength(BlogPostSortKeys.length)));
|
|
109
|
+
const QueryStrapiSearchBlogPosts = v.object({
|
|
110
|
+
page: VPage(),
|
|
111
|
+
size: VSize(20),
|
|
112
|
+
search: v.optional(VStringShort(0)),
|
|
113
|
+
category: v.optional(VStringShort(0)),
|
|
114
|
+
tags: v.optional(v.array(VStringShort())),
|
|
115
|
+
status: v.optional(v.picklist(["draft", "published"])),
|
|
116
|
+
sort: QuerySortBlogPosts
|
|
117
|
+
});
|
|
118
|
+
const QueryStrapiSearchBlogPostsBySlug = v.object({
|
|
119
|
+
slug: VStringShort(),
|
|
120
|
+
status: v.optional(v.picklist(["draft", "published"]), "published"),
|
|
121
|
+
sort: QuerySortBlogPosts
|
|
122
|
+
});
|
|
123
|
+
//#endregion
|
|
124
|
+
//#region src/schemas/category.schemas.ts
|
|
125
|
+
const CategorySortKeys = [
|
|
126
|
+
"id",
|
|
127
|
+
"label",
|
|
128
|
+
"slug",
|
|
129
|
+
"createdAt",
|
|
130
|
+
"updatedAt"
|
|
131
|
+
];
|
|
132
|
+
const QuerySortCategories = v.optional(v.pipe(v.array(v.picklist(CategorySortKeys.flatMap((k) => [`${k}:ASC`, `${k}:DESC`]))), v.maxLength(CategorySortKeys.length)));
|
|
133
|
+
const QueryStrapiSearchCategories = v.object({
|
|
134
|
+
page: VPage(),
|
|
135
|
+
size: VSize(20),
|
|
136
|
+
label: v.optional(VStringMax()),
|
|
137
|
+
slug: v.optional(VStringMax()),
|
|
138
|
+
sort: QuerySortCategories
|
|
139
|
+
});
|
|
140
|
+
const SCreateCategoryDocument = v.object({
|
|
141
|
+
label: VStringMinMax(1, 255),
|
|
142
|
+
slug: VStringMinMaxRegex(1, 255, REGEX_URL_SLUG, ERROR_MESSAGE_REGEX_URL_SLUG)
|
|
143
|
+
});
|
|
144
|
+
const SUpdateCategoryDocument = v.object({
|
|
145
|
+
label: v.optional(VStringMinMax(1, 255)),
|
|
146
|
+
slug: v.optional(VStringMinMaxRegex(1, 255, REGEX_URL_SLUG, ERROR_MESSAGE_REGEX_URL_SLUG))
|
|
147
|
+
});
|
|
148
|
+
const SUpdateCategoryDocumentRequest = v.object({
|
|
149
|
+
documentId: VStringMinMax(1, 255),
|
|
150
|
+
data: SUpdateCategoryDocument
|
|
151
|
+
});
|
|
152
|
+
//#endregion
|
|
153
|
+
//#region src/schemas/client-content-pillar.schemas.ts
|
|
154
|
+
const ClientContentPillarSortKeys = [
|
|
155
|
+
"id",
|
|
156
|
+
"is_active",
|
|
157
|
+
"content_pillar.title",
|
|
158
|
+
"content_pillar.slug",
|
|
159
|
+
"createdAt",
|
|
160
|
+
"updatedAt"
|
|
161
|
+
];
|
|
162
|
+
const QuerySortClientContentPillars = v.optional(v.pipe(v.array(v.picklist(ClientContentPillarSortKeys.flatMap((k) => [`${k}:ASC`, `${k}:DESC`]))), v.maxLength(ClientContentPillarSortKeys.length)));
|
|
163
|
+
const QueryStrapiSearchClientContentPillars = v.object({
|
|
164
|
+
page: VPage(),
|
|
165
|
+
size: VSize(100),
|
|
166
|
+
is_active: v.optional(v.boolean()),
|
|
167
|
+
client_id: v.optional(VStringMinMax(1, 255)),
|
|
168
|
+
content_pillar_id: v.optional(VStringMinMax(1, 255)),
|
|
169
|
+
sort: QuerySortClientContentPillars
|
|
170
|
+
});
|
|
171
|
+
const SCreateClientContentPillarDocument = v.object({
|
|
172
|
+
client: VStringMinMax(1, 255),
|
|
173
|
+
content_pillar: VStringMinMax(1, 255),
|
|
174
|
+
is_active: v.optional(v.boolean())
|
|
175
|
+
});
|
|
176
|
+
const SUpdateClientContentPillarDocument = v.object({ is_active: v.optional(v.boolean()) });
|
|
177
|
+
const SUpdateClientContentPillarDocumentRequest = v.object({
|
|
178
|
+
documentId: VStringMinMax(1, 255),
|
|
179
|
+
data: SUpdateClientContentPillarDocument
|
|
180
|
+
});
|
|
181
|
+
//#endregion
|
|
182
|
+
//#region src/schemas/client-media-platform-content-type.schemas.ts
|
|
183
|
+
const ClientMediaPlatformContentTypeSortKeys = [
|
|
184
|
+
"id",
|
|
185
|
+
"is_active",
|
|
186
|
+
"is_organic_social",
|
|
187
|
+
"is_paid_media",
|
|
188
|
+
"client_media_platform.media_platform.title",
|
|
189
|
+
"client_media_platform.media_platform.slug",
|
|
190
|
+
"media_content_type.title",
|
|
191
|
+
"media_content_type.slug",
|
|
192
|
+
"createdAt",
|
|
193
|
+
"updatedAt"
|
|
194
|
+
];
|
|
195
|
+
const QuerySortClientMediaPlatformContentTypes = v.optional(v.pipe(v.array(v.picklist(ClientMediaPlatformContentTypeSortKeys.flatMap((k) => [`${k}:ASC`, `${k}:DESC`]))), v.maxLength(ClientMediaPlatformContentTypeSortKeys.length)));
|
|
196
|
+
const QueryStrapiSearchClientMediaPlatformContentTypes = v.object({
|
|
197
|
+
page: VPage(),
|
|
198
|
+
size: VSize(100),
|
|
199
|
+
is_active: v.optional(v.boolean()),
|
|
200
|
+
is_organic_social: v.optional(v.boolean()),
|
|
201
|
+
is_paid_media: v.optional(v.boolean()),
|
|
202
|
+
client_media_platform_id: v.optional(VStringMinMax(1, 255)),
|
|
203
|
+
media_content_type_id: v.optional(VStringMinMax(1, 255)),
|
|
204
|
+
sort: QuerySortClientMediaPlatformContentTypes
|
|
205
|
+
});
|
|
206
|
+
const SCreateClientMediaPlatformContentTypeDocument = v.object({
|
|
207
|
+
client_media_platform: VStringMinMax(1, 255),
|
|
208
|
+
media_content_type: VStringMinMax(1, 255),
|
|
209
|
+
is_active: v.boolean(),
|
|
210
|
+
is_organic_social: v.boolean(),
|
|
211
|
+
is_paid_media: v.boolean()
|
|
212
|
+
});
|
|
213
|
+
const SUpdateClientMediaPlatformContentTypeDocument = v.object({
|
|
214
|
+
is_active: v.optional(v.boolean()),
|
|
215
|
+
is_organic_social: v.optional(v.boolean()),
|
|
216
|
+
is_paid_media: v.optional(v.boolean())
|
|
217
|
+
});
|
|
218
|
+
const SUpdateClientMediaPlatformContentTypeDocumentRequest = v.object({
|
|
219
|
+
documentId: VStringMinMax(1, 255),
|
|
220
|
+
data: SUpdateClientMediaPlatformContentTypeDocument
|
|
221
|
+
});
|
|
222
|
+
//#endregion
|
|
223
|
+
//#region src/schemas/client-media-platform.schemas.ts
|
|
224
|
+
const ClientMediaPlatformSortKeys = [
|
|
225
|
+
"id",
|
|
226
|
+
"is_active",
|
|
227
|
+
"is_organic_social",
|
|
228
|
+
"is_paid_media",
|
|
229
|
+
"media_platform.title",
|
|
230
|
+
"media_platform.slug",
|
|
231
|
+
"media_content_types.title",
|
|
232
|
+
"media_content_types.slug",
|
|
233
|
+
"createdAt",
|
|
234
|
+
"updatedAt"
|
|
235
|
+
];
|
|
236
|
+
const QuerySortClientMediaPlatforms = v.optional(v.pipe(v.array(v.picklist(ClientMediaPlatformSortKeys.flatMap((k) => [`${k}:ASC`, `${k}:DESC`]))), v.maxLength(ClientMediaPlatformSortKeys.length)));
|
|
237
|
+
const QueryStrapiSearchClientMediaPlatforms = v.object({
|
|
238
|
+
page: VPage(),
|
|
239
|
+
size: VSize(100),
|
|
240
|
+
is_active: v.optional(v.boolean()),
|
|
241
|
+
client_id: v.optional(VStringMinMax(1, 255)),
|
|
242
|
+
media_platform_id: v.optional(VStringMinMax(1, 255)),
|
|
243
|
+
media_content_types: v.optional(v.pipe(v.array(VStringMinMax(1, 255)), v.minLength(1))),
|
|
244
|
+
sort: QuerySortClientMediaPlatforms
|
|
245
|
+
});
|
|
246
|
+
const SCreateClientMediaPlatformDocument = v.object({
|
|
247
|
+
client: VStringMinMax(1, 255),
|
|
248
|
+
media_platform: VStringMinMax(1, 255),
|
|
249
|
+
media_content_types: v.pipe(v.array(VStringMinMax(1, 255)), v.minLength(1)),
|
|
250
|
+
is_active: v.boolean()
|
|
251
|
+
});
|
|
252
|
+
const SUpdateClientMediaPlatformDocument = v.object({ is_active: v.optional(v.boolean()) });
|
|
253
|
+
const SUpdateClientMediaPlatformDocumentRequest = v.object({
|
|
254
|
+
documentId: VStringMinMax(1, 255),
|
|
255
|
+
data: SUpdateClientMediaPlatformDocument
|
|
256
|
+
});
|
|
257
|
+
const SAssociateMediaContentTypesToClientMediaPlatform = v.object({
|
|
258
|
+
client_media_platform: VStringMinMax(1, 255),
|
|
259
|
+
media_content_types: v.pipe(v.array(VStringMinMax(1, 255)), v.minLength(1))
|
|
260
|
+
});
|
|
261
|
+
//#endregion
|
|
262
|
+
//#region src/schemas/client-project.schemas.ts
|
|
263
|
+
const ClientProjectSortKeys = [
|
|
264
|
+
"id",
|
|
265
|
+
"title",
|
|
266
|
+
"slug",
|
|
267
|
+
"is_active",
|
|
268
|
+
"is_hidden",
|
|
269
|
+
"project_phase",
|
|
270
|
+
"project_url",
|
|
271
|
+
"project_type",
|
|
272
|
+
"project_pricing",
|
|
273
|
+
"project_address",
|
|
274
|
+
"phone_number",
|
|
275
|
+
"num_of_models",
|
|
276
|
+
"num_of_units_remain",
|
|
277
|
+
"buyer_profile",
|
|
278
|
+
"social_organic_start_date",
|
|
279
|
+
"paid_media_start_date",
|
|
280
|
+
"go_date",
|
|
281
|
+
"createdAt",
|
|
282
|
+
"updatedAt"
|
|
283
|
+
];
|
|
284
|
+
const QuerySortClientProjects = v.optional(v.pipe(v.array(v.picklist(ClientProjectSortKeys.flatMap((k) => [`${k}:ASC`, `${k}:DESC`]))), v.maxLength(ClientProjectSortKeys.length)));
|
|
285
|
+
const QueryStrapiSearchClientProjects = v.object({
|
|
286
|
+
page: VPage(),
|
|
287
|
+
size: VSize(100),
|
|
288
|
+
client_id: v.optional(VStringShort()),
|
|
289
|
+
title: v.optional(VStringMax()),
|
|
290
|
+
slug: v.optional(VStringSlug()),
|
|
291
|
+
is_active: v.optional(v.boolean()),
|
|
292
|
+
is_hidden: v.optional(v.boolean()),
|
|
293
|
+
project_status: v.optional(v.pipe(v.array(v.optional(v.picklist(ClientProjectStatusOptions), ClientProjectStatusOptions[0])), v.minLength(1), v.maxLength(1))),
|
|
294
|
+
project_phase: v.optional(v.picklist(ClientProjectPhaseOptions)),
|
|
295
|
+
project_url: v.optional(VStringUrl()),
|
|
296
|
+
project_type: v.optional(VStringMax()),
|
|
297
|
+
project_pricing: v.optional(VStringMax(255)),
|
|
298
|
+
project_address: v.optional(VStringMax()),
|
|
299
|
+
phone_number: v.optional(VStringPhone()),
|
|
300
|
+
num_of_models: VIntegerNullable(),
|
|
301
|
+
num_of_units_remain: VIntegerNullable(),
|
|
302
|
+
buyer_profile: v.optional(VStringMax()),
|
|
303
|
+
social_organic_start_date: v.optional(v.pipe(v.string(), v.isoDate())),
|
|
304
|
+
paid_media_start_date: v.optional(v.pipe(v.string(), v.isoDate())),
|
|
305
|
+
go_date: v.optional(v.pipe(v.string(), v.isoDate())),
|
|
306
|
+
sort: QuerySortClientProjects
|
|
307
|
+
});
|
|
308
|
+
const SCreateClientProjectDocument = v.object({
|
|
309
|
+
clients: v.pipe(v.array(VStringShort()), v.minLength(1)),
|
|
310
|
+
title: VStringShort(),
|
|
311
|
+
slug: VStringSlug(),
|
|
312
|
+
is_active: v.boolean(),
|
|
313
|
+
is_hidden: v.boolean(),
|
|
314
|
+
project_status: v.pipe(v.array(v.optional(v.picklist(ClientProjectStatusOptions), ClientProjectStatusOptions[0])), v.minLength(1, ERROR_MESSAGE_ONE_PROJECT_STATUS), v.maxLength(1, ERROR_MESSAGE_ONE_PROJECT_STATUS)),
|
|
315
|
+
project_phase: v.picklist(ClientProjectPhaseOptions),
|
|
316
|
+
project_url: VStringUrlNullable(),
|
|
317
|
+
project_type: v.optional(v.nullable(VStringMax())),
|
|
318
|
+
project_pricing: v.optional(v.nullable(VStringMax())),
|
|
319
|
+
project_address: v.optional(v.nullable(VStringMax())),
|
|
320
|
+
phone_number: VStringPhoneNullable(),
|
|
321
|
+
num_of_models: VIntegerNullable(),
|
|
322
|
+
num_of_units_remain: VIntegerNullable(),
|
|
323
|
+
buyer_profile: v.optional(v.nullable(VStringMax())),
|
|
324
|
+
social_organic_start_date: v.optional(v.nullable(v.pipe(v.string(), v.isoDate()))),
|
|
325
|
+
paid_media_start_date: v.optional(v.nullable(v.pipe(v.string(), v.isoDate()))),
|
|
326
|
+
go_date: v.optional(v.nullable(v.pipe(v.string(), v.isoDate())))
|
|
327
|
+
});
|
|
328
|
+
const SUpdateClientProjectDocument = v.object({
|
|
329
|
+
clients: v.optional(v.pipe(v.array(VStringShort()), v.minLength(1))),
|
|
330
|
+
title: v.optional(VStringShort()),
|
|
331
|
+
slug: v.optional(VStringSlug()),
|
|
332
|
+
is_active: v.optional(v.boolean()),
|
|
333
|
+
is_hidden: v.optional(v.boolean()),
|
|
334
|
+
project_status: v.optional(v.pipe(v.array(v.optional(v.picklist(ClientProjectStatusOptions), ClientProjectStatusOptions[0])), v.minLength(1, ERROR_MESSAGE_ONE_PROJECT_STATUS), v.maxLength(1, ERROR_MESSAGE_ONE_PROJECT_STATUS))),
|
|
335
|
+
project_phase: v.optional(v.picklist(ClientProjectPhaseOptions)),
|
|
336
|
+
project_url: VStringUrlNullable(),
|
|
337
|
+
project_type: v.optional(v.nullable(VStringMax())),
|
|
338
|
+
project_pricing: v.optional(v.nullable(VStringMax())),
|
|
339
|
+
project_address: v.optional(v.nullable(VStringMax())),
|
|
340
|
+
phone_number: VStringPhoneNullable(),
|
|
341
|
+
num_of_models: VIntegerNullable(),
|
|
342
|
+
num_of_units_remain: VIntegerNullable(),
|
|
343
|
+
buyer_profile: v.optional(v.nullable(VStringMax())),
|
|
344
|
+
social_organic_start_date: v.optional(v.nullable(v.pipe(v.string(), v.isoDate()))),
|
|
345
|
+
paid_media_start_date: v.optional(v.nullable(v.pipe(v.string(), v.isoDate()))),
|
|
346
|
+
go_date: v.optional(v.nullable(v.pipe(v.string(), v.isoDate())))
|
|
347
|
+
});
|
|
348
|
+
const SUpdateClientProjectDocumentRequest = v.object({
|
|
349
|
+
documentId: VStringShort(),
|
|
350
|
+
data: SUpdateClientProjectDocument
|
|
351
|
+
});
|
|
352
|
+
const SAssociateClientToClientProjectDocument = v.object({
|
|
353
|
+
client: VStringShort(),
|
|
354
|
+
client_project: VStringShort()
|
|
355
|
+
});
|
|
356
|
+
//#endregion
|
|
357
|
+
//#region src/schemas/client-report.schemas.ts
|
|
358
|
+
const ClientReportSortKeys = [
|
|
359
|
+
"id",
|
|
360
|
+
"title",
|
|
361
|
+
"is_active",
|
|
362
|
+
"is_external",
|
|
363
|
+
"is_hidden",
|
|
364
|
+
"createdAt",
|
|
365
|
+
"updatedAt"
|
|
366
|
+
];
|
|
367
|
+
const QuerySortClientReports = v.optional(v.pipe(v.array(v.picklist(ClientReportSortKeys.flatMap((k) => [`${k}:ASC`, `${k}:DESC`]))), v.maxLength(ClientReportSortKeys.length)));
|
|
368
|
+
const QueryStrapiSearchClientReports = v.object({
|
|
369
|
+
page: VPage(),
|
|
370
|
+
size: VSize(100),
|
|
371
|
+
title: v.optional(VStringMax()),
|
|
372
|
+
report_id: v.optional(VStringMax()),
|
|
373
|
+
is_active: v.optional(v.boolean()),
|
|
374
|
+
is_external: v.optional(v.boolean()),
|
|
375
|
+
is_hidden: v.optional(v.boolean()),
|
|
376
|
+
client_id: v.optional(VStringMinMax(1, 255)),
|
|
377
|
+
sort: QuerySortClientReports
|
|
378
|
+
});
|
|
379
|
+
const SCreateClientReportDocument = v.object({
|
|
380
|
+
clients: v.pipe(v.array(VStringMinMax(1, 255)), v.minLength(1)),
|
|
381
|
+
title: VStringMinMax(1, 255),
|
|
382
|
+
report_id: v.pipe(VStringMinMaxRegex(1, 255, REGEX_URL_SLUG, ERROR_MESSAGE_REGEX_URL_SLUG)),
|
|
383
|
+
is_active: v.optional(v.boolean(), true),
|
|
384
|
+
is_external: v.optional(v.boolean(), false),
|
|
385
|
+
is_hidden: v.optional(v.boolean(), false),
|
|
386
|
+
scopes: v.optional(v.pipe(v.array(v.string("Please provide a valid list of scopes."))), ["user:*"])
|
|
387
|
+
});
|
|
388
|
+
const SUpdateClientReportDocument = v.object({
|
|
389
|
+
clients: v.optional(v.pipe(v.array(VStringMinMax(1, 255)), v.minLength(1))),
|
|
390
|
+
title: v.optional(VStringMinMax(1, 255)),
|
|
391
|
+
report_id: v.optional(VStringMinMaxRegex(1, 255, REGEX_URL_SLUG, ERROR_MESSAGE_REGEX_URL_SLUG)),
|
|
392
|
+
is_active: v.optional(v.boolean()),
|
|
393
|
+
is_external: v.optional(v.boolean()),
|
|
394
|
+
is_hidden: v.optional(v.boolean()),
|
|
395
|
+
scopes: v.optional(v.pipe(v.array(v.string("Please provide a valid list of scopes."))), ["user:*"])
|
|
396
|
+
});
|
|
397
|
+
const SUpdateClientReportDocumentRequest = v.object({
|
|
398
|
+
documentId: VStringMinMax(1, 255),
|
|
399
|
+
data: SUpdateClientReportDocument
|
|
400
|
+
});
|
|
401
|
+
//#endregion
|
|
402
|
+
//#region src/schemas/client-styleguide.schemas.ts
|
|
403
|
+
const ClientStyleguideSortKeys = [
|
|
404
|
+
"id",
|
|
405
|
+
"title",
|
|
406
|
+
"createdAt",
|
|
407
|
+
"updatedAt"
|
|
408
|
+
];
|
|
409
|
+
const QuerySortClientStyleguides = v.optional(v.pipe(v.array(v.picklist(ClientStyleguideSortKeys.flatMap((k) => [`${k}:ASC`, `${k}:DESC`]))), v.maxLength(ClientStyleguideSortKeys.length)));
|
|
410
|
+
const QueryStrapiSearchClientStyleguide = v.object({
|
|
411
|
+
page: VPage(),
|
|
412
|
+
size: VSize(100),
|
|
413
|
+
title: v.optional(VStringMax()),
|
|
414
|
+
is_active: v.optional(v.boolean()),
|
|
415
|
+
client_id: v.optional(VStringMinMax(1, 255)),
|
|
416
|
+
sort: QuerySortClientStyleguides
|
|
417
|
+
});
|
|
418
|
+
const SCreateClientStyleguideDocument = v.object({
|
|
419
|
+
client: VStringMinMax(1, 255),
|
|
420
|
+
title: VStringMinMax(1, 255),
|
|
421
|
+
is_active: v.optional(v.boolean(), true)
|
|
422
|
+
});
|
|
423
|
+
const SUpdateClientStyleguideDocument = v.object({
|
|
424
|
+
client: v.optional(VStringMinMax(1, 255)),
|
|
425
|
+
title: v.optional(VStringMinMax(1, 255)),
|
|
426
|
+
is_active: v.optional(v.boolean())
|
|
427
|
+
});
|
|
428
|
+
const SUpdateClientStyleguideDocumentRequest = v.object({
|
|
429
|
+
documentId: VStringMinMax(1, 255),
|
|
430
|
+
data: SUpdateClientStyleguideDocument
|
|
431
|
+
});
|
|
432
|
+
//#endregion
|
|
433
|
+
//#region src/schemas/client-user.schemas.ts
|
|
434
|
+
const ClientUserSortKeys = [
|
|
435
|
+
"id",
|
|
436
|
+
"client.title",
|
|
437
|
+
"client.teamwork_id",
|
|
438
|
+
"client.teamwork_name",
|
|
439
|
+
"client.is_active",
|
|
440
|
+
"client.allow_create_utm_link",
|
|
441
|
+
"client.is_paid_media",
|
|
442
|
+
"client.is_organic_social",
|
|
443
|
+
"user.username",
|
|
444
|
+
"user.email",
|
|
445
|
+
"user.confirmed",
|
|
446
|
+
"user.blocked",
|
|
447
|
+
"createdAt",
|
|
448
|
+
"updatedAt"
|
|
449
|
+
];
|
|
450
|
+
const QuerySortClientUsers = v.optional(v.pipe(v.array(v.picklist(ClientUserSortKeys.flatMap((k) => [`${k}:ASC`, `${k}:DESC`]))), v.maxLength(ClientUserSortKeys.length)));
|
|
451
|
+
const SQueryListClientUserDocuments = v.object({
|
|
452
|
+
documentId: v.pipe(v.string(), v.minLength(1), v.maxLength(255)),
|
|
453
|
+
page: VPage(),
|
|
454
|
+
size: VSize(100)
|
|
455
|
+
});
|
|
456
|
+
const SCreateClientUserDocument = v.object({
|
|
457
|
+
client: VStringMinMax(1, 255),
|
|
458
|
+
user: VStringMinMax(1, 255),
|
|
459
|
+
scopes: v.pipe(v.array(v.pipe(v.string(), v.picklist(CLIENT_ENTITY_SCOPES)), "Please provide a valid list of scopes."), v.maxLength(CLIENT_ENTITY_SCOPES.length, "You cannot provide more scopes than there are available."))
|
|
460
|
+
});
|
|
461
|
+
const SUpdateClientUserDocument = v.object({ scopes: v.pipe(v.array(v.pipe(v.string(), v.picklist(CLIENT_ENTITY_SCOPES)), "Please provide a valid list of scopes."), v.maxLength(CLIENT_ENTITY_SCOPES.length, "You cannot provide more scopes than there are available.")) });
|
|
462
|
+
const SUpdateClientUserDocumentRequest = v.object({
|
|
463
|
+
documentId: VStringMinMax(1, 255),
|
|
464
|
+
data: SUpdateClientUserDocument
|
|
465
|
+
});
|
|
466
|
+
const SVerifyClientUserDocument = v.object({
|
|
467
|
+
client: VStringMinMax(1, 255),
|
|
468
|
+
user: VStringMinMax(1, 255)
|
|
469
|
+
});
|
|
470
|
+
//#endregion
|
|
471
|
+
//#region src/schemas/client.schemas.ts
|
|
472
|
+
const ClientSortKeys = [
|
|
473
|
+
"id",
|
|
474
|
+
"title",
|
|
475
|
+
"teamwork_id",
|
|
476
|
+
"teamwork_name",
|
|
477
|
+
"utm_sheet_id",
|
|
478
|
+
"is_active",
|
|
479
|
+
"is_hidden",
|
|
480
|
+
"is_featured",
|
|
481
|
+
"allow_create_utm_link",
|
|
482
|
+
"is_organic_social",
|
|
483
|
+
"is_paid_media",
|
|
484
|
+
"createdAt",
|
|
485
|
+
"updatedAt"
|
|
486
|
+
];
|
|
487
|
+
const QuerySortClients = v.optional(v.pipe(v.array(v.picklist(ClientSortKeys.flatMap((k) => [`${k}:ASC`, `${k}:DESC`]))), v.maxLength(ClientSortKeys.length)));
|
|
488
|
+
const QueryStrapiSearchClients = v.object({
|
|
489
|
+
page: VPage(),
|
|
490
|
+
size: VSize(100),
|
|
491
|
+
title: v.optional(VStringMax()),
|
|
492
|
+
teamwork_id: v.optional(VStringMax()),
|
|
493
|
+
teamwork_name: v.optional(VStringMax()),
|
|
494
|
+
gainapp_id: v.optional(VStringMax()),
|
|
495
|
+
utm_sheet_id: v.optional(VStringMax()),
|
|
496
|
+
is_active: v.optional(v.boolean()),
|
|
497
|
+
is_hidden: v.optional(v.boolean()),
|
|
498
|
+
is_featured: v.optional(v.boolean()),
|
|
499
|
+
allow_create_utm_link: v.optional(v.boolean()),
|
|
500
|
+
is_paid_media: v.optional(v.boolean()),
|
|
501
|
+
is_organic_social: v.optional(v.boolean()),
|
|
502
|
+
classification: v.optional(v.pipe(v.array(v.picklist(IsValidClientClassificationSelectOptions)), v.maxLength(IsValidClientClassificationSelectOptions.length))),
|
|
503
|
+
sort: QuerySortClients
|
|
504
|
+
});
|
|
505
|
+
const SCreateClientDocument = v.object({
|
|
506
|
+
title: VStringMinMax(1, 255),
|
|
507
|
+
teamwork_id: VStringMinMax(1, 255),
|
|
508
|
+
teamwork_name: VStringMinMax(1, 255),
|
|
509
|
+
gainapp_id: v.optional(v.nullable(VStringMinMax(1, 255))),
|
|
510
|
+
utm_sheet_id: v.optional(VStringMinMax(1, 255)),
|
|
511
|
+
is_active: v.boolean(),
|
|
512
|
+
is_hidden: v.boolean(),
|
|
513
|
+
is_featured: v.boolean(),
|
|
514
|
+
allow_create_utm_link: v.boolean(),
|
|
515
|
+
is_organic_social: v.boolean(),
|
|
516
|
+
is_paid_media: v.boolean(),
|
|
517
|
+
classification: v.optional(v.pipe(v.array(v.picklist(IsValidClientClassificationSelectOptions)), v.maxLength(IsValidClientClassificationSelectOptions.length)))
|
|
518
|
+
});
|
|
519
|
+
const SUpdateClientDocument = v.object({
|
|
520
|
+
title: v.optional(VStringMinMax(1, 255)),
|
|
521
|
+
teamwork_id: v.optional(VStringMinMax(1, 255)),
|
|
522
|
+
teamwork_name: v.optional(VStringMinMax(1, 255)),
|
|
523
|
+
gainapp_id: v.optional(v.nullable(VStringMinMax(1, 255))),
|
|
524
|
+
utm_sheet_id: v.optional(VStringMinMax(1, 255)),
|
|
525
|
+
is_active: v.optional(v.boolean()),
|
|
526
|
+
is_hidden: v.optional(v.boolean()),
|
|
527
|
+
is_featured: v.optional(v.boolean()),
|
|
528
|
+
allow_create_utm_link: v.optional(v.boolean()),
|
|
529
|
+
is_organic_social: v.optional(v.boolean()),
|
|
530
|
+
is_paid_media: v.optional(v.boolean()),
|
|
531
|
+
classification: v.optional(v.pipe(v.array(v.picklist(IsValidClientClassificationSelectOptions)), v.maxLength(IsValidClientClassificationSelectOptions.length)))
|
|
532
|
+
});
|
|
533
|
+
const SUpdateClientDocumentRequest = v.object({
|
|
534
|
+
documentId: VStringMinMax(1, 255),
|
|
535
|
+
data: SUpdateClientDocument
|
|
536
|
+
});
|
|
537
|
+
//#endregion
|
|
538
|
+
//#region src/schemas/comment.schemas.ts
|
|
539
|
+
const StrapiCommentSortKeys = [
|
|
540
|
+
"id",
|
|
541
|
+
"content",
|
|
542
|
+
"blocked",
|
|
543
|
+
"blockedThread",
|
|
544
|
+
"approvalStatus",
|
|
545
|
+
"createdAt",
|
|
546
|
+
"updatedAt"
|
|
547
|
+
];
|
|
548
|
+
const QuerySortStrapiComments = v.optional(v.pipe(v.array(v.picklist(StrapiCommentSortKeys.flatMap((k) => [`${k}:ASC`, `${k}:DESC`]))), v.maxLength(StrapiCommentSortKeys.length)));
|
|
549
|
+
const QueryFilterStrapiComments = v.object({
|
|
550
|
+
approvalStatus: v.optional(v.object({ eq: v.picklist(CommentApprovalStatusOptions) })),
|
|
551
|
+
authorName: v.optional(v.object({ containsi: v.pipe(v.string(), v.trim(), v.maxLength(255)) })),
|
|
552
|
+
authorEmail: v.optional(v.object({ containsi: v.pipe(v.string(), v.trim(), v.maxLength(255)) })),
|
|
553
|
+
blocked: v.optional(v.object({ eq: v.boolean() })),
|
|
554
|
+
blockedThread: v.optional(v.object({ eq: v.boolean() })),
|
|
555
|
+
content: v.optional(v.object({ containsi: v.pipe(v.string(), v.trim(), v.maxLength(255)) })),
|
|
556
|
+
removed: v.optional(v.object({ eq: v.boolean() }))
|
|
557
|
+
});
|
|
558
|
+
const QueryStrapiCommentsInHeirarchy = v.object({
|
|
559
|
+
relation: VStringMinMax(1, 255),
|
|
560
|
+
sort: QuerySortStrapiComments,
|
|
561
|
+
filters: v.optional(QueryFilterStrapiComments),
|
|
562
|
+
nested_levels: v.optional(VPage())
|
|
563
|
+
});
|
|
564
|
+
const QueryStrapiCommentsFlat = v.object({
|
|
565
|
+
relation: VStringMinMax(1, 255),
|
|
566
|
+
filters: v.optional(QueryFilterStrapiComments),
|
|
567
|
+
pagination: v.optional(v.object({
|
|
568
|
+
page: VPage(),
|
|
569
|
+
pageSize: v.optional(VSize(LIMIT_PAGINATION_MAX_SIZE))
|
|
570
|
+
})),
|
|
571
|
+
sort: QuerySortStrapiComments
|
|
572
|
+
});
|
|
573
|
+
const SCreateCommentDocument = v.object({
|
|
574
|
+
relation: VStringMinMax(1, 255),
|
|
575
|
+
content: VStringMinMax(1, LIMIT_LONG_STRING_MAX_LENGTH),
|
|
576
|
+
author: v.object({
|
|
577
|
+
id: v.number(),
|
|
578
|
+
name: VStringMinMax(1, 255)
|
|
579
|
+
}),
|
|
580
|
+
threadOf: v.optional(v.number())
|
|
581
|
+
});
|
|
582
|
+
const SUpdateCommentDocument = v.object({
|
|
583
|
+
relation: VStringMinMax(1, 255),
|
|
584
|
+
id: v.number(),
|
|
585
|
+
content: VStringMinMax(1, LIMIT_LONG_STRING_MAX_LENGTH),
|
|
586
|
+
author: v.object({ id: v.number() })
|
|
587
|
+
});
|
|
588
|
+
const SDeleteCommentDocument = v.object({
|
|
589
|
+
relation: VStringMinMax(1, 255),
|
|
590
|
+
id: v.number(),
|
|
591
|
+
author: v.object({ id: v.number() })
|
|
592
|
+
});
|
|
593
|
+
const SReportCommentDocument = v.object({
|
|
594
|
+
relation: VStringMinMax(1, 255),
|
|
595
|
+
commentId: v.number(),
|
|
596
|
+
content: VStringMinMax(1, LIMIT_LONG_STRING_MAX_LENGTH),
|
|
597
|
+
reason: v.picklist(ReportCommentReasonOptions, "You must select a valid reason for reporting this comment.")
|
|
598
|
+
});
|
|
599
|
+
//#endregion
|
|
600
|
+
//#region src/schemas/content-pillar.schemas.ts
|
|
601
|
+
const ContentPillarSortKeys = [
|
|
602
|
+
"id",
|
|
603
|
+
"title",
|
|
604
|
+
"slug",
|
|
605
|
+
"createdAt",
|
|
606
|
+
"updatedAt"
|
|
607
|
+
];
|
|
608
|
+
const QuerySortContentPillars = v.optional(v.pipe(v.array(v.picklist(ContentPillarSortKeys.flatMap((k) => [`${k}:ASC`, `${k}:DESC`]))), v.maxLength(ContentPillarSortKeys.length)));
|
|
609
|
+
const QueryStrapiSearchContentPillars = v.object({
|
|
610
|
+
page: VPage(),
|
|
611
|
+
size: VSize(LIMIT_PAGINATION_MAX_SIZE),
|
|
612
|
+
title: v.optional(VStringMax()),
|
|
613
|
+
slug: v.optional(VStringMax()),
|
|
614
|
+
sort: QuerySortContentPillars
|
|
615
|
+
});
|
|
616
|
+
const SCreateContentPillarDocument = v.object({
|
|
617
|
+
title: VStringMinMax(1, 255),
|
|
618
|
+
slug: VStringMinMaxRegex(1, 255, REGEX_URL_SLUG, ERROR_MESSAGE_REGEX_URL_SLUG),
|
|
619
|
+
description: v.optional(v.nullable(VStringMax(255)))
|
|
620
|
+
});
|
|
621
|
+
const SUpdateContentPillarDocument = v.object({
|
|
622
|
+
title: v.optional(VStringMinMax(1, 255)),
|
|
623
|
+
slug: v.optional(VStringMinMaxRegex(1, 255, REGEX_URL_SLUG, ERROR_MESSAGE_REGEX_URL_SLUG)),
|
|
624
|
+
description: v.optional(v.nullable(VStringMax(255)))
|
|
625
|
+
});
|
|
626
|
+
const SUpdateContentPillarDocumentRequest = v.object({
|
|
627
|
+
documentId: VStringMinMax(1, 255),
|
|
628
|
+
data: SUpdateContentPillarDocument
|
|
629
|
+
});
|
|
630
|
+
//#endregion
|
|
631
|
+
//#region src/schemas/gcflytour-snap.schemas.ts
|
|
632
|
+
const GCFlyTourSnapSortKeys = [
|
|
633
|
+
"id",
|
|
634
|
+
"title",
|
|
635
|
+
"slug",
|
|
636
|
+
"utm_key",
|
|
637
|
+
"is_active",
|
|
638
|
+
"is_hidden",
|
|
639
|
+
"createdAt",
|
|
640
|
+
"updatedAt"
|
|
641
|
+
];
|
|
642
|
+
const QuerySortGCFlyTourSnaps = v.optional(v.pipe(v.array(v.picklist(GCFlyTourSnapSortKeys.flatMap((k) => [`${k}:ASC`, `${k}:DESC`]))), v.maxLength(GCFlyTourSnapSortKeys.length)));
|
|
643
|
+
const QueryStrapiSearchGCFlyTourSnaps = v.object({
|
|
644
|
+
page: VPage(),
|
|
645
|
+
size: VSize(LIMIT_PAGINATION_MAX_SIZE),
|
|
646
|
+
title: v.optional(VStringMax()),
|
|
647
|
+
slug: v.optional(VStringMax()),
|
|
648
|
+
utm_key: v.optional(VStringMinMaxRegex(1, 255, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE)),
|
|
649
|
+
is_active: v.optional(v.boolean()),
|
|
650
|
+
is_hidden: v.optional(v.boolean()),
|
|
651
|
+
gcflytour: v.optional(VStringMinMax(1, 255)),
|
|
652
|
+
gcflytours: v.optional(v.pipe(v.array(VStringMinMax(1, 255)), v.minLength(1))),
|
|
653
|
+
sort: QuerySortGCFlyTourSnaps
|
|
654
|
+
});
|
|
655
|
+
const SCreateGCFlyTourSnapDocument = v.object({
|
|
656
|
+
title: VStringMinMax(1, 255),
|
|
657
|
+
slug: v.pipe(VStringMinMaxRegex(1, 255, REGEX_URL_SLUG, ERROR_MESSAGE_REGEX_URL_SLUG)),
|
|
658
|
+
description: v.optional(v.nullable(VStringMax(255))),
|
|
659
|
+
utm_key: v.optional(v.nullable(VStringMinMaxRegex(1, 255, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE))),
|
|
660
|
+
is_active: v.boolean(),
|
|
661
|
+
is_hidden: v.boolean(),
|
|
662
|
+
gcflytour: VStringMinMax(1, 255)
|
|
663
|
+
});
|
|
664
|
+
const SUpdateGCFlyTourSnapDocument = v.object({
|
|
665
|
+
title: v.optional(VStringMinMax(1, 255)),
|
|
666
|
+
slug: v.optional(VStringMinMaxRegex(1, 255, REGEX_URL_SLUG, ERROR_MESSAGE_REGEX_URL_SLUG)),
|
|
667
|
+
description: v.optional(v.nullable(VStringMax(255))),
|
|
668
|
+
utm_key: v.optional(v.nullable(VStringMinMaxRegex(1, 255, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE))),
|
|
669
|
+
is_active: v.optional(v.boolean()),
|
|
670
|
+
is_hidden: v.optional(v.boolean()),
|
|
671
|
+
gcflytour: v.optional(VStringMinMax(1, 255))
|
|
672
|
+
});
|
|
673
|
+
const SUpdateGCFlyTourSnapDocumentRequest = v.object({
|
|
674
|
+
documentId: VStringMinMax(1, 255),
|
|
675
|
+
data: SUpdateGCFlyTourSnapDocument
|
|
676
|
+
});
|
|
677
|
+
//#endregion
|
|
678
|
+
//#region src/schemas/gcflytour.schemas.ts
|
|
679
|
+
const GCFlyTourSortKeys = [
|
|
680
|
+
"id",
|
|
681
|
+
"title",
|
|
682
|
+
"slug",
|
|
683
|
+
"utm_key",
|
|
684
|
+
"is_active",
|
|
685
|
+
"is_hidden",
|
|
686
|
+
"createdAt",
|
|
687
|
+
"updatedAt"
|
|
688
|
+
];
|
|
689
|
+
const QuerySortGCFlyTours = v.optional(v.pipe(v.array(v.picklist(GCFlyTourSortKeys.flatMap((k) => [`${k}:ASC`, `${k}:DESC`]))), v.maxLength(GCFlyTourSortKeys.length)));
|
|
690
|
+
const QueryStrapiSearchGCFlyTours = v.object({
|
|
691
|
+
page: VPage(),
|
|
692
|
+
size: VSize(LIMIT_PAGINATION_MAX_SIZE),
|
|
693
|
+
title: v.optional(VStringMax()),
|
|
694
|
+
slug: v.optional(VStringMax()),
|
|
695
|
+
utm_key: v.optional(VStringMinMaxRegex(1, 255, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE)),
|
|
696
|
+
is_active: v.optional(v.boolean()),
|
|
697
|
+
is_hidden: v.optional(v.boolean()),
|
|
698
|
+
clients: v.optional(v.pipe(v.array(VStringMinMax(1, 255)), v.minLength(1))),
|
|
699
|
+
sort: QuerySortGCFlyTours
|
|
700
|
+
});
|
|
701
|
+
const SCreateGCFlyTourDocument = v.object({
|
|
702
|
+
title: VStringMinMax(1, 255),
|
|
703
|
+
slug: VStringMinMaxRegex(1, 255, REGEX_URL_SLUG, ERROR_MESSAGE_REGEX_URL_SLUG),
|
|
704
|
+
description: v.optional(v.nullable(VStringMax(255))),
|
|
705
|
+
utm_key: v.optional(v.nullable(VStringMinMaxRegex(1, 255, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE))),
|
|
706
|
+
is_active: v.boolean(),
|
|
707
|
+
is_hidden: v.boolean(),
|
|
708
|
+
clients: v.optional(v.pipe(v.array(VStringMinMax(1, 255)), v.minLength(1)))
|
|
709
|
+
});
|
|
710
|
+
const SUpdateGCFlyTourDocument = v.object({
|
|
711
|
+
title: v.optional(VStringMinMax(1, 255)),
|
|
712
|
+
slug: v.optional(VStringMinMaxRegex(1, 255, REGEX_URL_SLUG, ERROR_MESSAGE_REGEX_URL_SLUG)),
|
|
713
|
+
description: v.optional(v.nullable(VStringMax(255))),
|
|
714
|
+
utm_key: v.optional(v.nullable(VStringMinMaxRegex(1, 255, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE))),
|
|
715
|
+
is_active: v.optional(v.boolean()),
|
|
716
|
+
is_hidden: v.optional(v.boolean()),
|
|
717
|
+
clients: v.optional(v.pipe(v.array(VStringMinMax(1, 255)), v.minLength(1)))
|
|
718
|
+
});
|
|
719
|
+
const SUpdateGCFlyTourDocumentRequest = v.object({
|
|
720
|
+
documentId: VStringMinMax(1, 255),
|
|
721
|
+
data: SUpdateGCFlyTourDocument
|
|
722
|
+
});
|
|
723
|
+
const SAssociateClientsToGCFlyTour = v.object({
|
|
724
|
+
gcflytour: VStringMinMax(1, 255),
|
|
725
|
+
clients: v.pipe(v.array(VStringMinMax(1, 255)), v.minLength(1))
|
|
726
|
+
});
|
|
727
|
+
const SAssociateGcFlyTourSnapsToGCFlyTour = v.object({
|
|
728
|
+
gcflytour: VStringMinMax(1, 255),
|
|
729
|
+
gcflytour_snaps: v.pipe(v.array(VStringMinMax(1, 255)), v.minLength(1))
|
|
730
|
+
});
|
|
731
|
+
//#endregion
|
|
732
|
+
//#region src/schemas/generic.schemas.ts
|
|
733
|
+
const EntitySortKeys = [
|
|
734
|
+
"id",
|
|
735
|
+
"createdAt",
|
|
736
|
+
"updatedAt"
|
|
737
|
+
];
|
|
738
|
+
const QuerySortEntities = v.optional(v.pipe(v.array(v.picklist(EntitySortKeys.flatMap((k) => [`${k}:ASC`, `${k}:DESC`]))), v.maxLength(EntitySortKeys.length)));
|
|
739
|
+
const QueryStrapiPaginated = v.object({
|
|
740
|
+
page: VPage(),
|
|
741
|
+
size: VSize(LIMIT_PAGINATION_MAX_SIZE),
|
|
742
|
+
sort: QuerySortEntities
|
|
743
|
+
});
|
|
744
|
+
const QueryStrapiById = v.object({ id: v.number() });
|
|
745
|
+
const QueryStrapiByDocumentId = v.object({ documentId: VStringShort() });
|
|
746
|
+
const QueryStrapiBySlug = v.object({
|
|
747
|
+
slug: VStringShort(),
|
|
748
|
+
sort: QuerySortEntities
|
|
749
|
+
});
|
|
750
|
+
const QueryStrapiByEmail = v.object({
|
|
751
|
+
email: VStringEmail(),
|
|
752
|
+
sort: QuerySortEntities
|
|
753
|
+
});
|
|
754
|
+
const QueryStrapiByPhone = v.object({
|
|
755
|
+
phone: VStringPhone(),
|
|
756
|
+
sort: QuerySortEntities
|
|
757
|
+
});
|
|
758
|
+
const QueryStrapiByName = v.object({
|
|
759
|
+
name: VStringShort(),
|
|
760
|
+
sort: QuerySortEntities
|
|
761
|
+
});
|
|
762
|
+
//#endregion
|
|
763
|
+
//#region src/schemas/lead.schemas.ts
|
|
764
|
+
const SCreateLeadDocument = v.object({
|
|
765
|
+
first_name: VStringMinMax(1, 255),
|
|
766
|
+
last_name: VStringMinMax(1, 255),
|
|
767
|
+
email: VStringEmail(),
|
|
768
|
+
phone: VStringPhone(),
|
|
769
|
+
company: VStringMinMax(1, 255),
|
|
770
|
+
title: VStringMinMax(1, 255),
|
|
771
|
+
message: VStringMax(LIMIT_LONG_STRING_MAX_LENGTH),
|
|
772
|
+
product_interest: VStringMax(255),
|
|
773
|
+
email_consent: v.boolean(),
|
|
774
|
+
sms_consent: v.boolean(),
|
|
775
|
+
on_page: VStringMax(LIMIT_MAX_DESTINATION),
|
|
776
|
+
captcha: VStringMax(LIMIT_LONG_STRING_MAX_LENGTH)
|
|
777
|
+
});
|
|
778
|
+
const SUpdateLeadDocument = v.object({
|
|
779
|
+
first_name: v.optional(VStringMinMax(1, 255)),
|
|
780
|
+
last_name: v.optional(VStringMinMax(1, 255)),
|
|
781
|
+
email: v.optional(VStringEmail()),
|
|
782
|
+
phone: v.optional(VStringPhone()),
|
|
783
|
+
company: v.optional(VStringMinMax(1, 255)),
|
|
784
|
+
title: v.optional(VStringMinMax(1, 255)),
|
|
785
|
+
message: v.optional(VStringMax(LIMIT_LONG_STRING_MAX_LENGTH)),
|
|
786
|
+
product_interest: v.optional(v.nullable(VStringMax(255))),
|
|
787
|
+
email_consent: v.optional(v.boolean()),
|
|
788
|
+
sms_consent: v.optional(v.boolean()),
|
|
789
|
+
on_page: v.optional(VStringMax(LIMIT_MAX_DESTINATION)),
|
|
790
|
+
captcha: VStringMax(LIMIT_LONG_STRING_MAX_LENGTH)
|
|
791
|
+
});
|
|
792
|
+
const SUpdateLeadRequest = v.object({
|
|
793
|
+
documentId: VStringMinMax(1, 255),
|
|
794
|
+
data: SUpdateLeadDocument
|
|
795
|
+
});
|
|
796
|
+
//#endregion
|
|
797
|
+
//#region src/schemas/media-content-type.schemas.ts
|
|
798
|
+
const MediaContentTypeSortKeys = [
|
|
799
|
+
"id",
|
|
800
|
+
"title",
|
|
801
|
+
"slug",
|
|
802
|
+
"utm_key",
|
|
803
|
+
"is_active",
|
|
804
|
+
"is_organic_social",
|
|
805
|
+
"is_paid_media",
|
|
806
|
+
"createdAt",
|
|
807
|
+
"updatedAt"
|
|
808
|
+
];
|
|
809
|
+
const QuerySortMediaContentType = v.optional(v.pipe(v.array(v.picklist(MediaContentTypeSortKeys.flatMap((k) => [`${k}:ASC`, `${k}:DESC`]))), v.maxLength(MediaContentTypeSortKeys.length)));
|
|
810
|
+
const QueryStrapiSearchMediaContentTypes = v.object({
|
|
811
|
+
page: VPage(),
|
|
812
|
+
size: VSize(LIMIT_PAGINATION_MAX_SIZE),
|
|
813
|
+
title: v.optional(VStringMax()),
|
|
814
|
+
slug: v.optional(VStringMax()),
|
|
815
|
+
utm_key: v.optional(VStringMinMaxRegex(1, 255, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE)),
|
|
816
|
+
is_active: v.optional(v.boolean()),
|
|
817
|
+
is_organic_social: v.optional(v.boolean()),
|
|
818
|
+
is_paid_media: v.optional(v.boolean()),
|
|
819
|
+
media_platforms: v.optional(v.pipe(v.array(VStringMinMax(1, 255)), v.minLength(1))),
|
|
820
|
+
sort: QuerySortMediaContentType
|
|
821
|
+
});
|
|
822
|
+
const SCreateMediaContentTypeDocument = v.object({
|
|
823
|
+
title: VStringMinMax(1, 255),
|
|
824
|
+
slug: v.pipe(VStringMinMaxRegex(1, 255, REGEX_URL_SLUG, ERROR_MESSAGE_REGEX_URL_SLUG)),
|
|
825
|
+
utm_key: v.optional(v.nullable(VStringMinMaxRegex(1, 255, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE))),
|
|
826
|
+
is_active: v.boolean(),
|
|
827
|
+
is_organic_social: v.boolean(),
|
|
828
|
+
is_paid_media: v.boolean(),
|
|
829
|
+
description: v.optional(v.nullable(VStringMax(255)))
|
|
830
|
+
});
|
|
831
|
+
const SUpdateMediaContentTypeDocument = v.object({
|
|
832
|
+
title: v.optional(VStringMinMax(1, 255)),
|
|
833
|
+
slug: v.optional(VStringMinMaxRegex(1, 255, REGEX_URL_SLUG, ERROR_MESSAGE_REGEX_URL_SLUG)),
|
|
834
|
+
utm_key: v.optional(v.nullable(VStringMinMaxRegex(1, 255, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE))),
|
|
835
|
+
is_active: v.optional(v.boolean()),
|
|
836
|
+
is_organic_social: v.optional(v.boolean()),
|
|
837
|
+
is_paid_media: v.optional(v.boolean()),
|
|
838
|
+
description: v.optional(v.nullable(VStringMax(255)))
|
|
839
|
+
});
|
|
840
|
+
const SUpdateMediaContentTypeDocumentRequest = v.object({
|
|
841
|
+
documentId: VStringMinMax(1, 255),
|
|
842
|
+
data: SUpdateMediaContentTypeDocument
|
|
843
|
+
});
|
|
844
|
+
const SAssociateMediaPlatformsToMediaContentType = v.object({
|
|
845
|
+
media_content_type: VStringMinMax(1, 255),
|
|
846
|
+
media_platforms: v.pipe(v.array(VStringMinMax(1, 255)), v.minLength(1))
|
|
847
|
+
});
|
|
848
|
+
const SAssociateClientMediaPlatformContentTypesToMediaContentType = v.object({
|
|
849
|
+
media_content_type: VStringMinMax(1, 255),
|
|
850
|
+
client_media_platform_content_types: v.pipe(v.array(VStringMinMax(1, 255)), v.minLength(1))
|
|
851
|
+
});
|
|
852
|
+
//#endregion
|
|
853
|
+
//#region src/schemas/media-platform.schemas.ts
|
|
854
|
+
const MediaPlatformSortKeys = [
|
|
855
|
+
"id",
|
|
856
|
+
"title",
|
|
857
|
+
"slug",
|
|
858
|
+
"utm_key",
|
|
859
|
+
"is_active",
|
|
860
|
+
"is_organic_social",
|
|
861
|
+
"is_paid_media",
|
|
862
|
+
"createdAt",
|
|
863
|
+
"updatedAt"
|
|
864
|
+
];
|
|
865
|
+
const QuerySortMediaPlatforms = v.optional(v.pipe(v.array(v.picklist(MediaPlatformSortKeys.flatMap((k) => [`${k}:ASC`, `${k}:DESC`]))), v.maxLength(MediaPlatformSortKeys.length)));
|
|
866
|
+
const QueryStrapiSearchMediaPlatforms = v.object({
|
|
867
|
+
page: VPage(),
|
|
868
|
+
size: VSize(LIMIT_PAGINATION_MAX_SIZE),
|
|
869
|
+
title: v.optional(VStringMax()),
|
|
870
|
+
slug: v.optional(VStringMax()),
|
|
871
|
+
utm_key: v.optional(VStringMinMaxRegex(1, 255, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE)),
|
|
872
|
+
is_active: v.optional(v.boolean()),
|
|
873
|
+
is_organic_social: v.optional(v.boolean()),
|
|
874
|
+
is_paid_media: v.optional(v.boolean()),
|
|
875
|
+
media_content_types: v.optional(v.pipe(v.array(VStringMinMax(1, 255)), v.minLength(1))),
|
|
876
|
+
sort: QuerySortMediaPlatforms
|
|
877
|
+
});
|
|
878
|
+
const SCreateMediaPlatformDocument = v.object({
|
|
879
|
+
title: VStringMinMax(1, 255),
|
|
880
|
+
slug: v.pipe(VStringMinMaxRegex(1, 255, REGEX_URL_SLUG, ERROR_MESSAGE_REGEX_URL_SLUG)),
|
|
881
|
+
utm_key: v.optional(v.nullable(VStringMinMaxRegex(1, 255, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE))),
|
|
882
|
+
is_active: v.boolean(),
|
|
883
|
+
is_organic_social: v.boolean(),
|
|
884
|
+
is_paid_media: v.boolean(),
|
|
885
|
+
description: v.optional(v.nullable(VStringMax(255)))
|
|
886
|
+
});
|
|
887
|
+
const SUpdateMediaPlatformDocument = v.object({
|
|
888
|
+
title: v.optional(VStringMinMax(1, 255)),
|
|
889
|
+
slug: v.optional(VStringMinMaxRegex(1, 255, REGEX_URL_SLUG, ERROR_MESSAGE_REGEX_URL_SLUG)),
|
|
890
|
+
utm_key: v.optional(v.nullable(VStringMinMaxRegex(1, 255, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE))),
|
|
891
|
+
is_active: v.optional(v.boolean()),
|
|
892
|
+
is_organic_social: v.optional(v.boolean()),
|
|
893
|
+
is_paid_media: v.optional(v.boolean()),
|
|
894
|
+
description: v.optional(v.nullable(VStringMax(255)))
|
|
895
|
+
});
|
|
896
|
+
const SUpdateMediaPlatformDocumentRequest = v.object({
|
|
897
|
+
documentId: VStringMinMax(1, 255),
|
|
898
|
+
data: SUpdateMediaPlatformDocument
|
|
899
|
+
});
|
|
900
|
+
const SAssociateMediaContentTypesToMediaPlatform = v.object({
|
|
901
|
+
media_platform: VStringMinMax(1, 255),
|
|
902
|
+
media_content_types: v.pipe(v.array(VStringMinMax(1, 255)), v.minLength(1))
|
|
903
|
+
});
|
|
904
|
+
//#endregion
|
|
905
|
+
//#region src/schemas/monday-workspace.schemas.ts
|
|
906
|
+
const MondayWorkspaceSortKeys = [
|
|
907
|
+
"id",
|
|
908
|
+
"clients.title",
|
|
909
|
+
"clients.teamwork_name",
|
|
910
|
+
"title",
|
|
911
|
+
"workspace_id",
|
|
912
|
+
"createdAt",
|
|
913
|
+
"updatedAt"
|
|
914
|
+
];
|
|
915
|
+
const QuerySortMondayWorkspaces = v.optional(v.pipe(v.array(v.picklist(MondayWorkspaceSortKeys.flatMap((k) => [`${k}:ASC`, `${k}:DESC`]))), v.maxLength(MondayWorkspaceSortKeys.length)));
|
|
916
|
+
const QueryStrapiSearchMondayWorkspaces = v.object({
|
|
917
|
+
page: VPage(),
|
|
918
|
+
size: VSize(LIMIT_MONDAY_WORKSPACE_PAGINATION_MAX_SIZE),
|
|
919
|
+
clients: v.optional(v.pipe(v.array(VStringShort()), v.minLength(1))),
|
|
920
|
+
title: v.optional(VStringMax()),
|
|
921
|
+
workspace_id: v.optional(VStringMax()),
|
|
922
|
+
sort: QuerySortMondayWorkspaces
|
|
923
|
+
});
|
|
924
|
+
const SCreateMondayWorkspaceDocument = v.object({
|
|
925
|
+
clients: v.pipe(v.array(VStringShort()), v.minLength(1)),
|
|
926
|
+
title: VStringShort(),
|
|
927
|
+
workspace_id: VStringMinMaxRegex(1, 255, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE)
|
|
928
|
+
});
|
|
929
|
+
const SUpdateMondayWorkspaceDocument = v.object({
|
|
930
|
+
clients: v.optional(v.pipe(v.array(VStringShort()), v.minLength(1))),
|
|
931
|
+
title: v.optional(VStringShort()),
|
|
932
|
+
workspace_id: v.optional(VStringMinMaxRegex(1, 255, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE))
|
|
933
|
+
});
|
|
934
|
+
const SUpdateMondayWorkspaceDocumentRequest = v.object({
|
|
935
|
+
documentId: VStringShort(),
|
|
936
|
+
data: SUpdateMondayWorkspaceDocument
|
|
937
|
+
});
|
|
938
|
+
//#endregion
|
|
939
|
+
//#region src/schemas/newsletter.schemas.ts
|
|
940
|
+
const SCreateNewsletterSignup = v.object({
|
|
941
|
+
first_name: VStringMinMax(1, 255),
|
|
942
|
+
last_name: VStringMinMax(1, 255),
|
|
943
|
+
email: VStringEmail(),
|
|
944
|
+
download_key: v.pipe(v.string(), v.trim(), v.maxLength(255)),
|
|
945
|
+
product_interest: v.pipe(v.string(ERROR_MESSAGE_ROBOT), v.trim(), v.maxLength(255)),
|
|
946
|
+
email_consent: v.boolean(),
|
|
947
|
+
sms_consent: v.boolean(),
|
|
948
|
+
on_page: VStringMax(LIMIT_MAX_DESTINATION),
|
|
949
|
+
captcha: VStringMax(LIMIT_LONG_STRING_MAX_LENGTH),
|
|
950
|
+
middle_name: v.string()
|
|
951
|
+
});
|
|
952
|
+
const SCreateNewsletterSignupDocument = v.object({
|
|
953
|
+
first_name: VStringMinMax(1, 255),
|
|
954
|
+
last_name: VStringMinMax(1, 255),
|
|
955
|
+
email: VStringEmail(),
|
|
956
|
+
download_key: v.optional(v.nullable(VStringMax())),
|
|
957
|
+
product_interest: v.optional(v.nullable(VStringMax(255))),
|
|
958
|
+
email_consent: v.boolean(),
|
|
959
|
+
sms_consent: v.boolean(),
|
|
960
|
+
on_page: VStringMax(LIMIT_MAX_DESTINATION),
|
|
961
|
+
captcha: VStringMax(LIMIT_LONG_STRING_MAX_LENGTH)
|
|
962
|
+
});
|
|
963
|
+
const SUpdateNewsletterSignupDocument = v.object({
|
|
964
|
+
first_name: v.optional(VStringMinMax(1, 255)),
|
|
965
|
+
last_name: v.optional(VStringMinMax(1, 255)),
|
|
966
|
+
email: v.optional(VStringEmail()),
|
|
967
|
+
download_key: v.optional(v.nullable(VStringMax())),
|
|
968
|
+
product_interest: v.optional(v.nullable(VStringMax(255))),
|
|
969
|
+
email_consent: v.optional(v.boolean()),
|
|
970
|
+
sms_consent: v.optional(v.boolean()),
|
|
971
|
+
on_page: v.optional(VStringMax(LIMIT_MAX_DESTINATION)),
|
|
972
|
+
captcha: VStringMax(LIMIT_LONG_STRING_MAX_LENGTH)
|
|
973
|
+
});
|
|
974
|
+
const SUpdateNewsletterSignupRequest = v.object({
|
|
975
|
+
documentId: VStringMinMax(1, 255),
|
|
976
|
+
data: SUpdateNewsletterSignupDocument
|
|
977
|
+
});
|
|
978
|
+
//#endregion
|
|
979
|
+
//#region src/schemas/resume.schemas.ts
|
|
980
|
+
const checkIsValidUrlList = (input) => {
|
|
981
|
+
if (input === "") return true;
|
|
982
|
+
const urls = input.split(",");
|
|
983
|
+
if (urls.length > 0) {
|
|
984
|
+
const truthy = [];
|
|
985
|
+
for (let i = 0; i < urls.length; i++) {
|
|
986
|
+
const result = v.safeParse(v.pipe(v.string(), v.trim(), v.startsWith("http", ERROR_MESSAGE_URL_PREFIX), v.url(ERROR_MESSAGE_INVALID_URL)), urls[i]);
|
|
987
|
+
truthy.push(result.success);
|
|
988
|
+
}
|
|
989
|
+
return truthy.every((item) => item === true);
|
|
990
|
+
}
|
|
991
|
+
return false;
|
|
992
|
+
};
|
|
993
|
+
const SValidFileObject = v.object({
|
|
994
|
+
id: v.number(),
|
|
995
|
+
src: v.optional(v.string())
|
|
996
|
+
});
|
|
997
|
+
const SValidSocialProfiles = v.pipe(v.string(), v.trim(), v.maxLength(LIMIT_LONG_STRING_MAX_LENGTH), v.check(checkIsValidUrlList, ERROR_MESSAGE_COMMA_SEPPARATED_URLS));
|
|
998
|
+
const SCreateResume = v.object({
|
|
999
|
+
first_name: VStringMinMax(1, 255),
|
|
1000
|
+
last_name: VStringMinMax(1, 255),
|
|
1001
|
+
email: VStringEmail(),
|
|
1002
|
+
phone: v.optional(VStringPhone()),
|
|
1003
|
+
message: VStringMax(LIMIT_LONG_STRING_MAX_LENGTH),
|
|
1004
|
+
social_profiles: v.optional(SValidSocialProfiles),
|
|
1005
|
+
file: v.nullable(v.pipe(v.file("Please upload a PDF or Word document."), v.mimeType([
|
|
1006
|
+
"application/pdf",
|
|
1007
|
+
"application/msword",
|
|
1008
|
+
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
|
|
1009
|
+
"application/rtf",
|
|
1010
|
+
"text/plain",
|
|
1011
|
+
"application/vnd.oasis.opendocument.text"
|
|
1012
|
+
], "Please upload a PDF or Word document."))),
|
|
1013
|
+
email_consent: v.boolean(),
|
|
1014
|
+
sms_consent: v.boolean(),
|
|
1015
|
+
on_page: VStringMax(LIMIT_MAX_DESTINATION),
|
|
1016
|
+
captcha: VStringMax(LIMIT_LONG_STRING_MAX_LENGTH)
|
|
1017
|
+
});
|
|
1018
|
+
const SCreateResumeInfo = v.object({
|
|
1019
|
+
first_name: VStringMinMax(1, 255),
|
|
1020
|
+
last_name: VStringMinMax(1, 255),
|
|
1021
|
+
email: VStringEmail(),
|
|
1022
|
+
phone: v.optional(VStringPhone()),
|
|
1023
|
+
message: VStringMax(LIMIT_LONG_STRING_MAX_LENGTH),
|
|
1024
|
+
social_profiles: v.optional(SValidSocialProfiles),
|
|
1025
|
+
file: SValidFileObject,
|
|
1026
|
+
email_consent: v.boolean(),
|
|
1027
|
+
sms_consent: v.boolean(),
|
|
1028
|
+
on_page: VStringMax(LIMIT_MAX_DESTINATION),
|
|
1029
|
+
captcha: VStringMax(LIMIT_LONG_STRING_MAX_LENGTH)
|
|
1030
|
+
});
|
|
1031
|
+
const SCreateResumeInfoDocument = v.object({
|
|
1032
|
+
first_name: VStringMinMax(1, 255),
|
|
1033
|
+
last_name: VStringMinMax(1, 255),
|
|
1034
|
+
email: VStringEmail(),
|
|
1035
|
+
phone: VStringPhoneNullable(),
|
|
1036
|
+
message: VStringMax(LIMIT_LONG_STRING_MAX_LENGTH),
|
|
1037
|
+
social_profiles: v.optional(SValidSocialProfiles),
|
|
1038
|
+
file: SValidFileObject,
|
|
1039
|
+
email_consent: v.boolean(),
|
|
1040
|
+
sms_consent: v.boolean(),
|
|
1041
|
+
on_page: VStringMax(LIMIT_MAX_DESTINATION),
|
|
1042
|
+
captcha: VStringMax(LIMIT_LONG_STRING_MAX_LENGTH)
|
|
1043
|
+
});
|
|
1044
|
+
const SUpdateResumeInfo = v.object({
|
|
1045
|
+
first_name: v.optional(VStringMinMax(1, 255)),
|
|
1046
|
+
last_name: v.optional(VStringMinMax(1, 255)),
|
|
1047
|
+
email: v.optional(VStringEmail()),
|
|
1048
|
+
phone: VStringPhoneNullable(),
|
|
1049
|
+
message: v.optional(VStringMax(LIMIT_LONG_STRING_MAX_LENGTH)),
|
|
1050
|
+
social_profiles: v.optional(v.nullable(v.optional(SValidSocialProfiles))),
|
|
1051
|
+
file: v.optional(SValidFileObject),
|
|
1052
|
+
email_consent: v.optional(v.boolean()),
|
|
1053
|
+
sms_consent: v.optional(v.boolean()),
|
|
1054
|
+
on_page: v.optional(VStringMax(LIMIT_MAX_DESTINATION)),
|
|
1055
|
+
captcha: VStringMax(LIMIT_LONG_STRING_MAX_LENGTH)
|
|
1056
|
+
});
|
|
1057
|
+
const SUpdateResumeInfoDocument = v.object({
|
|
1058
|
+
first_name: v.optional(VStringMinMax(1, 255)),
|
|
1059
|
+
last_name: v.optional(VStringMinMax(1, 255)),
|
|
1060
|
+
email: v.optional(VStringEmail()),
|
|
1061
|
+
phone: v.optional(VStringPhone()),
|
|
1062
|
+
message: v.optional(VStringMax(LIMIT_LONG_STRING_MAX_LENGTH)),
|
|
1063
|
+
social_profiles: v.optional(v.optional(SValidSocialProfiles)),
|
|
1064
|
+
file: v.optional(SValidFileObject),
|
|
1065
|
+
email_consent: v.optional(v.boolean()),
|
|
1066
|
+
sms_consent: v.optional(v.boolean()),
|
|
1067
|
+
on_page: v.optional(VStringMax(LIMIT_MAX_DESTINATION)),
|
|
1068
|
+
captcha: VStringMax(LIMIT_LONG_STRING_MAX_LENGTH)
|
|
1069
|
+
});
|
|
1070
|
+
const SUpdateResumeInfoRequest = v.object({
|
|
1071
|
+
documentId: VStringMinMax(1, 255),
|
|
1072
|
+
data: SUpdateResumeInfo
|
|
1073
|
+
});
|
|
1074
|
+
//#endregion
|
|
1075
|
+
//#region src/schemas/sharpspring.schemas.ts
|
|
1076
|
+
const SharpSpringSignUpToDownload = v.object({
|
|
1077
|
+
first_name: VStringMinMax(1, 255),
|
|
1078
|
+
last_name: VStringMinMax(1, 255),
|
|
1079
|
+
email: VStringEmail(),
|
|
1080
|
+
download_key: VStringMax(255),
|
|
1081
|
+
email_consent: v.boolean(),
|
|
1082
|
+
on_page: VStringMax(LIMIT_MAX_DESTINATION),
|
|
1083
|
+
captcha: VStringMax(LIMIT_LONG_STRING_MAX_LENGTH),
|
|
1084
|
+
middle_name: v.string()
|
|
1085
|
+
});
|
|
1086
|
+
//#endregion
|
|
1087
|
+
//#region src/schemas/strapi-associate-relations.schemas.ts
|
|
1088
|
+
const SEntityRelationPositionBefore = v.object({ before: VStringMinMax(1, 255) });
|
|
1089
|
+
const SEntityRelationPositionAfter = v.object({ after: VStringMinMax(1, 255) });
|
|
1090
|
+
const SEntityRelationPositionStart = v.object({ start: v.boolean() });
|
|
1091
|
+
const SEntityRelationPositionEnd = v.object({ end: v.boolean() });
|
|
1092
|
+
const SEntityRelationPosition = v.fallback(v.pipe(v.union([
|
|
1093
|
+
SEntityRelationPositionBefore,
|
|
1094
|
+
SEntityRelationPositionAfter,
|
|
1095
|
+
SEntityRelationPositionStart,
|
|
1096
|
+
SEntityRelationPositionEnd
|
|
1097
|
+
])), { end: true });
|
|
1098
|
+
const SEntityRelation = v.object({
|
|
1099
|
+
documentId: VStringMinMax(1, 255),
|
|
1100
|
+
position: v.optional(SEntityRelationPosition)
|
|
1101
|
+
});
|
|
1102
|
+
const SConnectManyEntityRelation = v.object({ connect: v.pipe(v.array(v.union([VStringMinMax(1, 255), SEntityRelation])), v.minLength(1), v.maxLength(100)) });
|
|
1103
|
+
const SDisconnectManyEntityRelation = v.object({ disconnect: v.pipe(v.array(v.union([VStringMinMax(1, 255), SEntityRelation])), v.minLength(1), v.maxLength(100)) });
|
|
1104
|
+
const SSetManyEntityRelation = v.object({ set: v.pipe(v.array(v.union([VStringMinMax(1, 255), SEntityRelation])), v.minLength(1)) });
|
|
1105
|
+
const SConnectOneEntityRelation = v.object({ connect: v.union([VStringMinMax(1, 255), SEntityRelation]) });
|
|
1106
|
+
const SDisconnectOneEntityRelation = v.object({ disconnect: v.union([VStringMinMax(1, 255), SEntityRelation]) });
|
|
1107
|
+
const SSetOneEntityRelation = v.object({ set: v.union([VStringMinMax(1, 255), SEntityRelation]) });
|
|
1108
|
+
//#endregion
|
|
1109
|
+
//#region src/schemas/strapi-media-upload.schemas.ts
|
|
1110
|
+
/**
|
|
1111
|
+
* @documentation [Strapi Rest API Upload Files](https://docs.strapi.io/cms/api/rest/upload)
|
|
1112
|
+
*/
|
|
1113
|
+
const SValidFileUpload10MB = v.pipe(v.file(), v.minSize(1), v.maxSize(10485760, `File size cannot exceed 10MB.`));
|
|
1114
|
+
const SCreateStrapiMediaUploadDocument = v.object({
|
|
1115
|
+
files: SValidFileUpload10MB,
|
|
1116
|
+
ref: VStringMax(),
|
|
1117
|
+
refId: VStringMinMax(1, 255),
|
|
1118
|
+
field: VStringMax()
|
|
1119
|
+
});
|
|
1120
|
+
const SCreateMultipleStrapiMediaUploadDocument = v.object({
|
|
1121
|
+
files: v.pipe(v.array(SValidFileUpload10MB), v.minLength(1)),
|
|
1122
|
+
ref: VStringMax(),
|
|
1123
|
+
refId: VStringMinMax(1, 255),
|
|
1124
|
+
field: VStringMax()
|
|
1125
|
+
});
|
|
1126
|
+
const SUpdateStrapiMediaFileInfo = v.object({
|
|
1127
|
+
name: VStringMinMax(1, 255),
|
|
1128
|
+
alternativeText: v.optional(VStringMinMax(1, 255)),
|
|
1129
|
+
caption: v.optional(VStringMinMax(1, 255))
|
|
1130
|
+
});
|
|
1131
|
+
//#endregion
|
|
1132
|
+
//#region src/schemas/tag.schemas.ts
|
|
1133
|
+
const TagSortKeys = [
|
|
1134
|
+
"id",
|
|
1135
|
+
"label",
|
|
1136
|
+
"slug",
|
|
1137
|
+
"createdAt",
|
|
1138
|
+
"updatedAt"
|
|
1139
|
+
];
|
|
1140
|
+
const QuerySortTags = v.optional(v.pipe(v.array(v.picklist(TagSortKeys.flatMap((k) => [`${k}:ASC`, `${k}:DESC`]))), v.maxLength(TagSortKeys.length)));
|
|
1141
|
+
const QueryStrapiSearchTags = v.object({
|
|
1142
|
+
page: VPage(),
|
|
1143
|
+
size: VSize(20),
|
|
1144
|
+
label: v.optional(VStringMax()),
|
|
1145
|
+
slug: v.optional(VStringMax()),
|
|
1146
|
+
sort: QuerySortTags
|
|
1147
|
+
});
|
|
1148
|
+
const SCreateTagDocument = v.object({
|
|
1149
|
+
label: VStringMinMax(1, 255),
|
|
1150
|
+
slug: v.pipe(VStringMinMaxRegex(1, 255, REGEX_URL_SLUG, ERROR_MESSAGE_REGEX_URL_SLUG))
|
|
1151
|
+
});
|
|
1152
|
+
const SUpdateTagDocument = v.object({
|
|
1153
|
+
label: v.optional(VStringMinMax(1, 255)),
|
|
1154
|
+
slug: v.optional(VStringMinMaxRegex(1, 255, REGEX_URL_SLUG, ERROR_MESSAGE_REGEX_URL_SLUG))
|
|
1155
|
+
});
|
|
1156
|
+
const SUpdateTagDocumentRequest = v.object({
|
|
1157
|
+
documentId: VStringMinMax(1, 255),
|
|
1158
|
+
data: SUpdateTagDocument
|
|
1159
|
+
});
|
|
1160
|
+
//#endregion
|
|
1161
|
+
//#region src/schemas/team-member.schemas.ts
|
|
1162
|
+
const TeamMemberSortKeys = [
|
|
1163
|
+
"id",
|
|
1164
|
+
"name",
|
|
1165
|
+
"order",
|
|
1166
|
+
"tier",
|
|
1167
|
+
"group",
|
|
1168
|
+
"is_employed",
|
|
1169
|
+
"createdAt",
|
|
1170
|
+
"updatedAt"
|
|
1171
|
+
];
|
|
1172
|
+
const QuerySortTeamMembers = v.optional(v.pipe(v.array(v.picklist(TeamMemberSortKeys.flatMap((k) => [`${k}:ASC`, `${k}:DESC`]))), v.maxLength(TeamMemberSortKeys.length)));
|
|
1173
|
+
const QueryStrapiSearchTeamMembers = v.object({
|
|
1174
|
+
page: VPage(),
|
|
1175
|
+
size: VSize(20),
|
|
1176
|
+
name: v.optional(VStringMax()),
|
|
1177
|
+
slug: v.optional(VStringMax()),
|
|
1178
|
+
order: VIntegerNullable(),
|
|
1179
|
+
tier: v.optional(v.picklist([
|
|
1180
|
+
"owner",
|
|
1181
|
+
"manager",
|
|
1182
|
+
"employee"
|
|
1183
|
+
])),
|
|
1184
|
+
group: v.optional(v.picklist([
|
|
1185
|
+
"account",
|
|
1186
|
+
"media",
|
|
1187
|
+
"creative"
|
|
1188
|
+
])),
|
|
1189
|
+
is_employed: v.optional(v.boolean()),
|
|
1190
|
+
sort: QuerySortTeamMembers
|
|
1191
|
+
});
|
|
1192
|
+
//#endregion
|
|
1193
|
+
//#region src/schemas/teamwork.schemas.ts
|
|
1194
|
+
const TeamworkProjectHealthSelectSortOptions = [{
|
|
1195
|
+
label: "Name",
|
|
1196
|
+
value: "name"
|
|
1197
|
+
}, {
|
|
1198
|
+
label: "Health",
|
|
1199
|
+
value: "health"
|
|
1200
|
+
}];
|
|
1201
|
+
const TeamworkProjectHealthProjectStatusOptions = [
|
|
1202
|
+
{
|
|
1203
|
+
label: "Active",
|
|
1204
|
+
value: "active",
|
|
1205
|
+
description: "Projects that are currently active"
|
|
1206
|
+
},
|
|
1207
|
+
{
|
|
1208
|
+
label: "Current",
|
|
1209
|
+
value: "current",
|
|
1210
|
+
description: "Projects that are currently ongoing"
|
|
1211
|
+
},
|
|
1212
|
+
{
|
|
1213
|
+
label: "Late",
|
|
1214
|
+
value: "late",
|
|
1215
|
+
description: "Projects that are behind schedule"
|
|
1216
|
+
},
|
|
1217
|
+
{
|
|
1218
|
+
label: "Upcoming",
|
|
1219
|
+
value: "upcoming",
|
|
1220
|
+
description: "Projects that are scheduled to start soon"
|
|
1221
|
+
},
|
|
1222
|
+
{
|
|
1223
|
+
label: "Completed",
|
|
1224
|
+
value: "completed",
|
|
1225
|
+
description: "Projects that have been completed"
|
|
1226
|
+
},
|
|
1227
|
+
{
|
|
1228
|
+
label: "Archived",
|
|
1229
|
+
value: "archived",
|
|
1230
|
+
description: "Projects that have been archived"
|
|
1231
|
+
}
|
|
1232
|
+
];
|
|
1233
|
+
const QuerySortTeamworkProjectHealth = v.optional(v.object({
|
|
1234
|
+
key: v.picklist(TeamworkProjectHealthSelectSortOptions.map((option) => option.value)),
|
|
1235
|
+
order: v.picklist(["ASC", "DESC"])
|
|
1236
|
+
}));
|
|
1237
|
+
const QueryStrapiSearchTeamworkProjectHealth = v.object({
|
|
1238
|
+
page: VPage(),
|
|
1239
|
+
size: VSize(100),
|
|
1240
|
+
lastPeriodDays: VIntegerNullable(),
|
|
1241
|
+
searchTerm: v.optional(VStringMax()),
|
|
1242
|
+
excludeTagIds: v.optional(v.array(VStringMinMax(1, 255))),
|
|
1243
|
+
includeArchivedProjects: v.optional(v.boolean()),
|
|
1244
|
+
projectCategoryIds: v.optional(v.array(VStringMinMax(1, 255))),
|
|
1245
|
+
projectCompanyIds: v.optional(v.array(VStringMinMax(1, 255))),
|
|
1246
|
+
projectTagIds: v.optional(v.array(VStringMinMax(1, 255))),
|
|
1247
|
+
projectHealths: v.optional(VStringMax()),
|
|
1248
|
+
projectStatuses: v.optional(v.picklist(TeamworkProjectHealthProjectStatusOptions.map((option) => option.value)), TeamworkProjectHealthProjectStatusOptions[0].value),
|
|
1249
|
+
sort: QuerySortTeamworkProjectHealth
|
|
1250
|
+
});
|
|
1251
|
+
//#endregion
|
|
1252
|
+
//#region src/schemas/trend.schemas.ts
|
|
1253
|
+
const SUpdateTrendsLikes = v.object({
|
|
1254
|
+
documentId: v.string(),
|
|
1255
|
+
likes: v.number()
|
|
1256
|
+
});
|
|
1257
|
+
//#endregion
|
|
1258
|
+
//#region src/schemas/url-redirect.schemas.ts
|
|
1259
|
+
const UrlRedirectSortKeys = [
|
|
1260
|
+
"id",
|
|
1261
|
+
"from",
|
|
1262
|
+
"to",
|
|
1263
|
+
"status_code",
|
|
1264
|
+
"query_params",
|
|
1265
|
+
"is_active",
|
|
1266
|
+
"createdAt",
|
|
1267
|
+
"updatedAt"
|
|
1268
|
+
];
|
|
1269
|
+
const QuerySortUrlRedirects = v.optional(v.pipe(v.array(v.picklist(UrlRedirectSortKeys.flatMap((k) => [`${k}:ASC`, `${k}:DESC`]))), v.maxLength(UrlRedirectSortKeys.length)));
|
|
1270
|
+
const QueryStrapiPaginatedUrlRedirects = v.object({
|
|
1271
|
+
page: v.fallback(v.optional(VPage(), 1), 1),
|
|
1272
|
+
size: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1), v.maxValue(20)), LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE), LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE),
|
|
1273
|
+
sort: QuerySortUrlRedirects
|
|
1274
|
+
});
|
|
1275
|
+
const QueryStrapiUrlRedirectsByFrom = v.object({ from: v.string() });
|
|
1276
|
+
//#endregion
|
|
1277
|
+
//#region src/schemas/user-account.schemas.ts
|
|
1278
|
+
const SReadUserAccountById = v.object({ id: v.number() });
|
|
1279
|
+
const SReadUserAccountByDocumentId = v.object({ documentId: VStringMinMax(1, 255) });
|
|
1280
|
+
const SUpdateUserAccount = v.object({
|
|
1281
|
+
documentId: VStringMinMax(1, 255),
|
|
1282
|
+
first_name: VStringMinMax(1, 255),
|
|
1283
|
+
last_name: VStringMinMax(1, 255),
|
|
1284
|
+
preferred_name: v.nullable(VStringMinMax(1, 255))
|
|
1285
|
+
});
|
|
1286
|
+
const SUpdateUserAccountFirstName = v.object({
|
|
1287
|
+
documentId: VStringMinMax(1, 255),
|
|
1288
|
+
first_name: VStringMinMax(1, 255)
|
|
1289
|
+
});
|
|
1290
|
+
const SUpdateUserAccountLastName = v.object({
|
|
1291
|
+
documentId: VStringMinMax(1, 255),
|
|
1292
|
+
last_name: VStringMinMax(1, 255)
|
|
1293
|
+
});
|
|
1294
|
+
const SUpdateUserAccountPreferredName = v.object({
|
|
1295
|
+
documentId: VStringMinMax(1, 255),
|
|
1296
|
+
preferred_name: v.nullable(VStringMinMax(1, 255))
|
|
1297
|
+
});
|
|
1298
|
+
//#endregion
|
|
1299
|
+
//#region src/schemas/user-auth.schemas.ts
|
|
1300
|
+
const SUserToken = v.object({ token: v.string() });
|
|
1301
|
+
const SLoginUser = v.object({
|
|
1302
|
+
identifier: VStringEmail(),
|
|
1303
|
+
password: VStringMinMax(8, 255)
|
|
1304
|
+
});
|
|
1305
|
+
const SRegisterUser = v.object({
|
|
1306
|
+
username: VStringMinMaxRegex(3, 255, REGEX_UTM_VALUE, "username must be alphanumeric"),
|
|
1307
|
+
email: VStringEmail(),
|
|
1308
|
+
password: VStringMinMax(8, 255)
|
|
1309
|
+
});
|
|
1310
|
+
const SForgotUserPassword = v.object({ email: VStringEmail() });
|
|
1311
|
+
const SRequestConfirmEmail = v.object({ email: VStringEmail() });
|
|
1312
|
+
const SResetUserPassword = v.object({
|
|
1313
|
+
password: VStringMinMax(8, 255),
|
|
1314
|
+
passwordConfirmation: VStringMinMax(8, 255),
|
|
1315
|
+
code: v.string()
|
|
1316
|
+
});
|
|
1317
|
+
const SChangePassword = v.pipe(v.object({
|
|
1318
|
+
currentPassword: VStringMinMax(8, 255),
|
|
1319
|
+
password: VStringMinMax(8, 255),
|
|
1320
|
+
passwordConfirmation: VStringMinMax(8, 255)
|
|
1321
|
+
}), v.forward(v.partialCheck([["password"], ["passwordConfirmation"]], (input) => input.password === input.passwordConfirmation, "Your new passwords do not match."), ["passwordConfirmation"]));
|
|
1322
|
+
const SAuthRawAccessToken = v.object({
|
|
1323
|
+
access_token: v.optional(v.string()),
|
|
1324
|
+
expires_in: VIntegerNullable(),
|
|
1325
|
+
scope: v.optional(v.string()),
|
|
1326
|
+
token_type: v.optional(v.string()),
|
|
1327
|
+
id_token: v.optional(v.string())
|
|
1328
|
+
});
|
|
1329
|
+
const SAuthConnectProviderRedirectSearch = v.object({
|
|
1330
|
+
id_token: v.string(),
|
|
1331
|
+
access_token: v.string(),
|
|
1332
|
+
raw: v.optional(SAuthRawAccessToken)
|
|
1333
|
+
});
|
|
1334
|
+
const SAuthConnectProviderConfirmation = v.object({
|
|
1335
|
+
provider: v.string(),
|
|
1336
|
+
search: SAuthConnectProviderRedirectSearch
|
|
1337
|
+
});
|
|
1338
|
+
//#endregion
|
|
1339
|
+
//#region src/schemas/user.schemas.ts
|
|
1340
|
+
const UserSortKeys = [
|
|
1341
|
+
"id",
|
|
1342
|
+
"username",
|
|
1343
|
+
"email",
|
|
1344
|
+
"confirmed",
|
|
1345
|
+
"blocked",
|
|
1346
|
+
"createdAt",
|
|
1347
|
+
"updatedAt"
|
|
1348
|
+
];
|
|
1349
|
+
const QuerySortUsers = v.optional(v.pipe(v.array(v.picklist(UserSortKeys.flatMap((k) => [`${k}:ASC`, `${k}:DESC`]))), v.maxLength(UserSortKeys.length)));
|
|
1350
|
+
const QueryStrapiUsers = v.object({
|
|
1351
|
+
page: VPage(),
|
|
1352
|
+
size: VSize(10),
|
|
1353
|
+
sort: QuerySortUsers
|
|
1354
|
+
});
|
|
1355
|
+
const QueryStrapiUsersByIdentifier = v.object({
|
|
1356
|
+
identifier: VStringShort(0),
|
|
1357
|
+
page: VPage(),
|
|
1358
|
+
size: VSize(10)
|
|
1359
|
+
});
|
|
1360
|
+
const SCreateUserDocument = v.object({
|
|
1361
|
+
username: VStringMinMaxRegex(3, 255, REGEX_UTM_VALUE, "username must be alphanumeric"),
|
|
1362
|
+
email: VStringEmail(),
|
|
1363
|
+
password: VStringMinMax(8, 255),
|
|
1364
|
+
blocked: v.boolean(),
|
|
1365
|
+
confirmed: v.boolean(),
|
|
1366
|
+
role: v.number()
|
|
1367
|
+
});
|
|
1368
|
+
//#endregion
|
|
1369
|
+
//#region src/schemas/utm-link-builder.schemas.ts
|
|
1370
|
+
const SUtmLinkBuilderPartCampaignDateOptions = [
|
|
1371
|
+
"annually",
|
|
1372
|
+
"quarterly",
|
|
1373
|
+
"monthly",
|
|
1374
|
+
"on a specific date",
|
|
1375
|
+
"no date"
|
|
1376
|
+
];
|
|
1377
|
+
const SUtmLinkBuilderTableForm = v.object({
|
|
1378
|
+
creator: VStringMinMax(1, 255),
|
|
1379
|
+
client: VStringMinMax(1, 255),
|
|
1380
|
+
url_destinations: v.pipe(v.array(v.object({ url: v.pipe(v.string(), v.trim(), v.url(ERROR_MESSAGE_INVALID_URL), v.check((input) => {
|
|
1381
|
+
if (input === "") return false;
|
|
1382
|
+
return input.indexOf("?") === -1;
|
|
1383
|
+
}, ERROR_MESSAGE_URL_NO_QUERY_PARAMS)) })), v.minLength(1), v.maxLength(100)),
|
|
1384
|
+
sources: v.pipe(v.array(VStringMinMax(1, 255)), v.minLength(1), v.maxLength(10)),
|
|
1385
|
+
mediums: v.pipe(v.array(VStringMinMax(1, 255)), v.minLength(1), v.maxLength(10)),
|
|
1386
|
+
campaign: v.object({
|
|
1387
|
+
campaign_phase: VStringMinMax(1, 255),
|
|
1388
|
+
campaign_product: v.optional(VStringMax()),
|
|
1389
|
+
campaign_targeting: v.optional(v.pipe(v.array(VStringMaxRegex(255, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE)), v.maxLength(10))),
|
|
1390
|
+
campaign_key: v.optional(VStringMaxRegex(255, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE)),
|
|
1391
|
+
campaign_date: v.object({
|
|
1392
|
+
format: v.picklist(SUtmLinkBuilderPartCampaignDateOptions),
|
|
1393
|
+
value: v.object({
|
|
1394
|
+
year: v.number(),
|
|
1395
|
+
quarter: VIntegerNullable(),
|
|
1396
|
+
month: VIntegerNullable(),
|
|
1397
|
+
day: VIntegerNullable()
|
|
1398
|
+
})
|
|
1399
|
+
})
|
|
1400
|
+
}),
|
|
1401
|
+
contents: v.optional(VStringMinMax(1, 255)),
|
|
1402
|
+
creative_formats: v.optional(v.pipe(v.array(v.object({
|
|
1403
|
+
creative_format: v.optional(VStringMinMax(1, 255)),
|
|
1404
|
+
creative_format_variants: v.optional(v.array(VStringMinMax(1, 255)))
|
|
1405
|
+
})), v.minLength(1), v.maxLength(10))),
|
|
1406
|
+
id: v.optional(VStringMinMax(1, 255)),
|
|
1407
|
+
notes: v.optional(VStringMax())
|
|
1408
|
+
});
|
|
1409
|
+
//#endregion
|
|
1410
|
+
//#region src/schemas/utm-tracking-link.schemas.ts
|
|
1411
|
+
const UtmTrackingLinkSortKeys = [
|
|
1412
|
+
"id",
|
|
1413
|
+
"creator",
|
|
1414
|
+
"client",
|
|
1415
|
+
"url_destination",
|
|
1416
|
+
"utm_medium",
|
|
1417
|
+
"utm_source",
|
|
1418
|
+
"utm_campaign",
|
|
1419
|
+
"utm_content",
|
|
1420
|
+
"utm_creative_format",
|
|
1421
|
+
"utm_id",
|
|
1422
|
+
"campaign_phase",
|
|
1423
|
+
"campaign_product",
|
|
1424
|
+
"campaign_targeting",
|
|
1425
|
+
"campaign_key",
|
|
1426
|
+
"creative_format",
|
|
1427
|
+
"creative_format_variants",
|
|
1428
|
+
"url",
|
|
1429
|
+
"is_active",
|
|
1430
|
+
"createdAt",
|
|
1431
|
+
"updatedAt"
|
|
1432
|
+
];
|
|
1433
|
+
const QuerySortUtmTrackingLinks = v.optional(v.pipe(v.array(v.picklist(UtmTrackingLinkSortKeys.flatMap((k) => [`${k}:ASC`, `${k}:DESC`]))), v.maxLength(UtmTrackingLinkSortKeys.length)));
|
|
1434
|
+
const QueryStrapiSearchUtmTrackingLinks = v.object({
|
|
1435
|
+
page: VPage(),
|
|
1436
|
+
size: VSize(LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE),
|
|
1437
|
+
client_id: v.optional(VStringShort()),
|
|
1438
|
+
creator_id: v.optional(VStringShort()),
|
|
1439
|
+
url_destination: v.optional(v.pipe(v.string(), v.trim(), v.url(ERROR_MESSAGE_INVALID_URL), v.check((input) => {
|
|
1440
|
+
if (input === "") return false;
|
|
1441
|
+
return input.indexOf("?") === -1;
|
|
1442
|
+
}, ERROR_MESSAGE_URL_NO_QUERY_PARAMS))),
|
|
1443
|
+
utm_medium: v.optional(VStringMinMaxRegex(1, LIMIT_MAX_UTM_MEDIUM, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE)),
|
|
1444
|
+
utm_source: v.optional(VStringMinMaxRegex(1, LIMIT_MAX_UTM_SOURCE, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE)),
|
|
1445
|
+
utm_campaign: v.optional(VStringMinMaxRegex(1, LIMIT_MAX_UTM_CAMPAIGN, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE)),
|
|
1446
|
+
utm_content: v.optional(VStringMinMaxRegex(1, LIMIT_MAX_UTM_CONTENT, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE)),
|
|
1447
|
+
utm_creative_format: v.optional(VStringMinMaxRegex(1, LIMIT_MAX_UTM_CREATIVE_FORMAT, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE)),
|
|
1448
|
+
utm_id: v.optional(VStringMinMaxRegex(1, LIMIT_MAX_UTM_ID, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE)),
|
|
1449
|
+
campaign_phase: v.optional(VStringShort(0)),
|
|
1450
|
+
campaign_product: v.optional(VStringShort(0)),
|
|
1451
|
+
campaign_targeting: v.optional(VStringShort(0)),
|
|
1452
|
+
campaign_key: v.optional(VStringShort(0)),
|
|
1453
|
+
creative_format: v.optional(VStringShort(0)),
|
|
1454
|
+
creative_format_variants: v.optional(v.array(VStringShort())),
|
|
1455
|
+
url: v.optional(v.pipe(v.string(), v.trim(), v.url(ERROR_MESSAGE_INVALID_URL), v.check((input) => {
|
|
1456
|
+
return input.includes("utm_");
|
|
1457
|
+
}, ERROR_MESSAGE_UTM_URL))),
|
|
1458
|
+
is_active: v.optional(v.boolean()),
|
|
1459
|
+
notes: v.optional(VStringShort(0)),
|
|
1460
|
+
sort: QuerySortUtmTrackingLinks
|
|
1461
|
+
});
|
|
1462
|
+
const SCreateUtmTrackingLinkDocument = v.object({
|
|
1463
|
+
creator: VStringShort(),
|
|
1464
|
+
client: VStringShort(),
|
|
1465
|
+
url_destination: VStringUrlNoUtm(),
|
|
1466
|
+
utm_source: VStringMinMaxRegex(1, LIMIT_MAX_UTM_SOURCE, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE),
|
|
1467
|
+
utm_medium: VStringMinMaxRegex(1, LIMIT_MAX_UTM_MEDIUM, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE),
|
|
1468
|
+
utm_campaign: VStringMinMaxRegex(1, LIMIT_MAX_UTM_CAMPAIGN, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE),
|
|
1469
|
+
utm_content: VStringShortNullable(),
|
|
1470
|
+
utm_creative_format: VStringShortNullable(),
|
|
1471
|
+
utm_id: VStringShortNullable(),
|
|
1472
|
+
campaign_phase: VStringShort(),
|
|
1473
|
+
campaign_product: VStringShortNullable(),
|
|
1474
|
+
campaign_targeting: v.optional(v.nullable(v.pipe(v.array(VStringShort()), v.transform((value) => value.join(","))))),
|
|
1475
|
+
campaign_key: v.optional(v.nullable(VStringMinMaxRegex(1, 255, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE))),
|
|
1476
|
+
creative_format: VStringShortNullable(),
|
|
1477
|
+
creative_format_variants: v.optional(v.nullable(v.pipe(v.array(VStringShort()), v.transform((value) => value.join(","))))),
|
|
1478
|
+
url: v.pipe(v.string(), v.trim(), v.url(ERROR_MESSAGE_INVALID_URL), v.check((input) => {
|
|
1479
|
+
return input.includes("utm_");
|
|
1480
|
+
}, ERROR_MESSAGE_UTM_URL)),
|
|
1481
|
+
is_active: v.boolean(),
|
|
1482
|
+
notes: VStringLongNullable()
|
|
1483
|
+
});
|
|
1484
|
+
const SCreateUtmTrackingLinkDocumentRequest = v.object({
|
|
1485
|
+
creator: VStringShort(),
|
|
1486
|
+
client: VStringShort(),
|
|
1487
|
+
url_destination: VStringUrlNoUtm(),
|
|
1488
|
+
utm_source: VStringMinMaxRegex(1, LIMIT_MAX_UTM_SOURCE, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE),
|
|
1489
|
+
utm_medium: VStringMinMaxRegex(1, LIMIT_MAX_UTM_MEDIUM, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE),
|
|
1490
|
+
utm_campaign: VStringMinMaxRegex(1, LIMIT_MAX_UTM_CAMPAIGN, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE),
|
|
1491
|
+
utm_content: v.optional(v.nullable(VStringMinMax(1, 255))),
|
|
1492
|
+
utm_creative_format: v.optional(v.nullable(VStringMinMax(1, 255))),
|
|
1493
|
+
utm_id: v.optional(v.nullable(VStringMinMax(1, 255))),
|
|
1494
|
+
campaign_phase: VStringShort(),
|
|
1495
|
+
campaign_product: v.optional(v.nullable(VStringMinMax(1, 255))),
|
|
1496
|
+
campaign_targeting: VStringShortNullable(),
|
|
1497
|
+
campaign_key: v.optional(v.nullable(VStringMinMaxRegex(1, 255, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE))),
|
|
1498
|
+
creative_format: v.optional(v.nullable(VStringMinMax(1, 255))),
|
|
1499
|
+
creative_format_variants: VStringShortNullable(),
|
|
1500
|
+
url: v.pipe(v.string(), v.trim(), v.url(ERROR_MESSAGE_INVALID_URL), v.check((input) => {
|
|
1501
|
+
return input.includes("utm_");
|
|
1502
|
+
}, ERROR_MESSAGE_UTM_URL)),
|
|
1503
|
+
is_active: v.boolean(),
|
|
1504
|
+
notes: v.optional(v.nullable(VStringMinMaxRegex(1, LIMIT_LONG_STRING_MAX_LENGTH, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE)))
|
|
1505
|
+
});
|
|
1506
|
+
const SCreateUtmTrackingLinkParts = v.object({
|
|
1507
|
+
url_destination: VStringUrlNoUtm(),
|
|
1508
|
+
utm_source: VStringMinMaxRegex(1, LIMIT_MAX_UTM_SOURCE, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE),
|
|
1509
|
+
utm_medium: VStringMinMaxRegex(1, LIMIT_MAX_UTM_MEDIUM, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE),
|
|
1510
|
+
utm_campaign: VStringMinMaxRegex(1, LIMIT_MAX_UTM_CAMPAIGN, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE),
|
|
1511
|
+
utm_content: v.optional(v.nullable(VStringMinMax(1, 255))),
|
|
1512
|
+
utm_creative_format: v.optional(v.nullable(VStringMinMax(1, 255))),
|
|
1513
|
+
utm_id: v.optional(v.nullable(VStringMinMax(1, 255))),
|
|
1514
|
+
campaign_phase: VStringShort(),
|
|
1515
|
+
campaign_product: v.optional(v.nullable(VStringMinMax(1, 255))),
|
|
1516
|
+
campaign_targeting: v.optional(v.nullable(v.pipe(v.array(VStringShort()), v.transform((value) => value.join(","))))),
|
|
1517
|
+
campaign_key: v.optional(VStringMinMaxRegex(1, 255, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE)),
|
|
1518
|
+
creative_format: v.optional(v.nullable(VStringMinMax(1, 255))),
|
|
1519
|
+
creative_format_variants: v.optional(v.nullable(v.pipe(v.array(VStringShort()), v.transform((value) => value.join(","))))),
|
|
1520
|
+
url: VStringUrlUtm(),
|
|
1521
|
+
is_active: v.boolean(),
|
|
1522
|
+
notes: v.optional(v.nullable(VStringMinMaxRegex(1, LIMIT_LONG_STRING_MAX_LENGTH, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE)))
|
|
1523
|
+
});
|
|
1524
|
+
const SFormCreateMultipleUtmTrackingLinkDocuments = v.object({
|
|
1525
|
+
creator: VStringShort(),
|
|
1526
|
+
client: VStringShort(),
|
|
1527
|
+
links: v.pipe(v.array(SCreateUtmTrackingLinkParts), v.minLength(1), v.maxLength(100))
|
|
1528
|
+
});
|
|
1529
|
+
const SReadUtmTrackingLinkDocumentByUrl = v.object({ url: v.pipe(v.string(), v.trim(), v.url(ERROR_MESSAGE_INVALID_URL), v.check((input) => {
|
|
1530
|
+
return input.includes("utm_");
|
|
1531
|
+
}, ERROR_MESSAGE_UTM_URL)) });
|
|
1532
|
+
const SUpdateUtmTrackingLinkDocument = v.object({
|
|
1533
|
+
creator: v.optional(VStringShort()),
|
|
1534
|
+
client: v.optional(VStringShort()),
|
|
1535
|
+
url_destination: VStringUrlNoUtm(),
|
|
1536
|
+
utm_source: VStringMinMaxRegex(1, LIMIT_MAX_UTM_SOURCE, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE),
|
|
1537
|
+
utm_medium: VStringMinMaxRegex(1, LIMIT_MAX_UTM_MEDIUM, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE),
|
|
1538
|
+
utm_campaign: VStringMinMaxRegex(1, LIMIT_MAX_UTM_CAMPAIGN, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE),
|
|
1539
|
+
utm_content: v.optional(v.nullable(VStringMinMax(1, 255))),
|
|
1540
|
+
utm_creative_format: v.optional(v.nullable(VStringMinMax(1, 255))),
|
|
1541
|
+
utm_id: v.optional(v.nullable(VStringMinMax(1, 255))),
|
|
1542
|
+
campaign_phase: VStringShort(),
|
|
1543
|
+
campaign_product: v.optional(v.nullable(VStringMinMax(1, 255))),
|
|
1544
|
+
campaign_targeting: v.optional(v.nullable(v.pipe(v.array(VStringShort()), v.transform((value) => value.join(","))))),
|
|
1545
|
+
campaign_key: v.optional(v.nullable(VStringMinMaxRegex(1, 255, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE))),
|
|
1546
|
+
creative_format: v.optional(v.nullable(VStringMinMax(1, 255))),
|
|
1547
|
+
creative_format_variants: v.optional(v.nullable(v.pipe(v.array(VStringShort()), v.transform((value) => value.join(","))))),
|
|
1548
|
+
url: VStringUrlUtm(),
|
|
1549
|
+
is_active: v.boolean(),
|
|
1550
|
+
notes: v.optional(v.nullable(VStringMinMaxRegex(1, LIMIT_LONG_STRING_MAX_LENGTH, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE)))
|
|
1551
|
+
});
|
|
1552
|
+
const SUpdateUtmTrackingLinkDocumentRequest = v.object({
|
|
1553
|
+
documentId: VStringShort(),
|
|
1554
|
+
data: SUpdateUtmTrackingLinkDocument
|
|
1555
|
+
});
|
|
1556
|
+
//#endregion
|
|
1557
|
+
export { BlogPostSortKeys, CategorySortKeys, ClientContentPillarSortKeys, ClientMediaPlatformContentTypeSortKeys, ClientMediaPlatformSortKeys, ClientProjectSortKeys, ClientReportSortKeys, ClientSortKeys, ClientStyleguideSortKeys, ClientUserSortKeys, ContentPillarSortKeys, EntitySortKeys, GCFlyTourSnapSortKeys, GCFlyTourSortKeys, MediaContentTypeSortKeys, MediaPlatformSortKeys, MondayWorkspaceSortKeys, QueryFilterStrapiComments, QuerySortBlogPosts, QuerySortCategories, QuerySortClientContentPillars, QuerySortClientMediaPlatformContentTypes, QuerySortClientMediaPlatforms, QuerySortClientProjects, QuerySortClientReports, QuerySortClientStyleguides, QuerySortClientUsers, QuerySortClients, QuerySortContentPillars, QuerySortEntities, QuerySortGCFlyTourSnaps, QuerySortGCFlyTours, QuerySortMediaContentType, QuerySortMediaPlatforms, QuerySortMondayWorkspaces, QuerySortStrapiComments, QuerySortTags, QuerySortTeamMembers, QuerySortTeamworkProjectHealth, QuerySortUrlRedirects, QuerySortUsers, QuerySortUtmTrackingLinks, QueryStrapiByDocumentId, QueryStrapiByEmail, QueryStrapiById, QueryStrapiByName, QueryStrapiByPhone, QueryStrapiBySlug, QueryStrapiCommentsFlat, QueryStrapiCommentsInHeirarchy, QueryStrapiPaginated, QueryStrapiPaginatedUrlRedirects, QueryStrapiSearchBlogPosts, QueryStrapiSearchBlogPostsBySlug, QueryStrapiSearchCategories, QueryStrapiSearchClientContentPillars, QueryStrapiSearchClientMediaPlatformContentTypes, QueryStrapiSearchClientMediaPlatforms, QueryStrapiSearchClientProjects, QueryStrapiSearchClientReports, QueryStrapiSearchClientStyleguide, QueryStrapiSearchClients, QueryStrapiSearchContentPillars, QueryStrapiSearchGCFlyTourSnaps, QueryStrapiSearchGCFlyTours, QueryStrapiSearchMediaContentTypes, QueryStrapiSearchMediaPlatforms, QueryStrapiSearchMondayWorkspaces, QueryStrapiSearchTags, QueryStrapiSearchTeamMembers, QueryStrapiSearchTeamworkProjectHealth, QueryStrapiSearchUtmTrackingLinks, QueryStrapiUrlRedirectsByFrom, QueryStrapiUsers, QueryStrapiUsersByIdentifier, SAssociateClientMediaPlatformContentTypesToMediaContentType, SAssociateClientToClientProjectDocument, SAssociateClientsToGCFlyTour, SAssociateGcFlyTourSnapsToGCFlyTour, SAssociateMediaContentTypesToClientMediaPlatform, SAssociateMediaContentTypesToMediaPlatform, SAssociateMediaPlatformsToMediaContentType, SAuthConnectProviderConfirmation, SAuthConnectProviderRedirectSearch, SAuthRawAccessToken, SChangePassword, SConnectManyEntityRelation, SConnectOneEntityRelation, SCreateCategoryDocument, SCreateClientContentPillarDocument, SCreateClientDocument, SCreateClientMediaPlatformContentTypeDocument, SCreateClientMediaPlatformDocument, SCreateClientProjectDocument, SCreateClientReportDocument, SCreateClientStyleguideDocument, SCreateClientUserDocument, SCreateCommentDocument, SCreateContentPillarDocument, SCreateGCFlyTourDocument, SCreateGCFlyTourSnapDocument, SCreateLeadDocument, SCreateMediaContentTypeDocument, SCreateMediaPlatformDocument, SCreateMondayWorkspaceDocument, SCreateMultipleStrapiMediaUploadDocument, SCreateNewsletterSignup, SCreateNewsletterSignupDocument, SCreateResume, SCreateResumeInfo, SCreateResumeInfoDocument, SCreateStrapiMediaUploadDocument, SCreateTagDocument, SCreateUserDocument, SCreateUtmTrackingLinkDocument, SCreateUtmTrackingLinkDocumentRequest, SCreateUtmTrackingLinkParts, SDeleteCommentDocument, SDisconnectManyEntityRelation, SDisconnectOneEntityRelation, SEntityRelation, SEntityRelationPosition, SEntityRelationPositionAfter, SEntityRelationPositionBefore, SEntityRelationPositionEnd, SEntityRelationPositionStart, SForgotUserPassword, SFormCreateMultipleUtmTrackingLinkDocuments, SLoginUser, SQueryListClientUserDocuments, SReadUserAccountByDocumentId, SReadUserAccountById, SReadUtmTrackingLinkDocumentByUrl, SRegisterUser, SReportCommentDocument, SRequestConfirmEmail, SResetUserPassword, SSetManyEntityRelation, SSetOneEntityRelation, SUpdateCategoryDocument, SUpdateCategoryDocumentRequest, SUpdateClientContentPillarDocument, SUpdateClientContentPillarDocumentRequest, SUpdateClientDocument, SUpdateClientDocumentRequest, SUpdateClientMediaPlatformContentTypeDocument, SUpdateClientMediaPlatformContentTypeDocumentRequest, SUpdateClientMediaPlatformDocument, SUpdateClientMediaPlatformDocumentRequest, SUpdateClientProjectDocument, SUpdateClientProjectDocumentRequest, SUpdateClientReportDocument, SUpdateClientReportDocumentRequest, SUpdateClientStyleguideDocument, SUpdateClientStyleguideDocumentRequest, SUpdateClientUserDocument, SUpdateClientUserDocumentRequest, SUpdateCommentDocument, SUpdateContentPillarDocument, SUpdateContentPillarDocumentRequest, SUpdateGCFlyTourDocument, SUpdateGCFlyTourDocumentRequest, SUpdateGCFlyTourSnapDocument, SUpdateGCFlyTourSnapDocumentRequest, SUpdateLeadDocument, SUpdateLeadRequest, SUpdateMediaContentTypeDocument, SUpdateMediaContentTypeDocumentRequest, SUpdateMediaPlatformDocument, SUpdateMediaPlatformDocumentRequest, SUpdateMondayWorkspaceDocument, SUpdateMondayWorkspaceDocumentRequest, SUpdateNewsletterSignupDocument, SUpdateNewsletterSignupRequest, SUpdateResumeInfo, SUpdateResumeInfoDocument, SUpdateResumeInfoRequest, SUpdateStrapiMediaFileInfo, SUpdateTagDocument, SUpdateTagDocumentRequest, SUpdateTrendsLikes, SUpdateUserAccount, SUpdateUserAccountFirstName, SUpdateUserAccountLastName, SUpdateUserAccountPreferredName, SUpdateUtmTrackingLinkDocument, SUpdateUtmTrackingLinkDocumentRequest, SUserToken, SUtmLinkBuilderPartCampaignDateOptions, SUtmLinkBuilderTableForm, SVerifyClientUserDocument, SharpSpringSignUpToDownload, StrapiCommentSortKeys, TagSortKeys, TeamMemberSortKeys, TeamworkProjectHealthProjectStatusOptions, TeamworkProjectHealthSelectSortOptions, UrlRedirectSortKeys, UserSortKeys, UtmTrackingLinkSortKeys, VIntegerNullable, VNumberNullable, VPage, VSize, VString, VStringEmail, VStringLong, VStringLongNullable, VStringMax, VStringMaxRegex, VStringMinMax, VStringMinMaxRegex, VStringPhone, VStringPhoneNullable, VStringShort, VStringShortNullable, VStringSlug, VStringUrl, VStringUrlNoUtm, VStringUrlNullable, VStringUrlUtm, checkIsValidUrlList };
|
|
1558
|
+
|
|
1559
|
+
//# sourceMappingURL=schemas.mjs.map
|