@getcommunity/gc-validators 0.0.23 → 0.0.25
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/index.cjs +13 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +6 -3
- package/dist/index.d.ts +6 -3
- package/dist/index.js +11 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -218,6 +218,14 @@ var IsValidLastName = v4__namespace.pipe(
|
|
|
218
218
|
v4__namespace.minLength(LIMIT_MIN_VALUE, InvalidLastName),
|
|
219
219
|
v4__namespace.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidLastNameMaxLength)
|
|
220
220
|
);
|
|
221
|
+
var InvalidPreferredName = "Please enter your preferred name.";
|
|
222
|
+
var InvalidPreferredNameMaxLength = `Your preferred name is too long for our datanase, please abbreviate your preferred name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`;
|
|
223
|
+
var IsValidPreferredName = v4__namespace.pipe(
|
|
224
|
+
v4__namespace.string(InvalidPreferredName),
|
|
225
|
+
v4__namespace.trim(),
|
|
226
|
+
v4__namespace.minLength(LIMIT_MIN_VALUE, InvalidPreferredName),
|
|
227
|
+
v4__namespace.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidPreferredNameMaxLength)
|
|
228
|
+
);
|
|
221
229
|
var IsValidUserConsent = v4__namespace.boolean();
|
|
222
230
|
var InvalidUserPhoneType = "Please enter your phone number.";
|
|
223
231
|
var InvalidUserPhone = `The phone you provided does not appear to be a valid phone number.`;
|
|
@@ -1017,7 +1025,7 @@ var SUpdateUserAccount = v4__namespace.object({
|
|
|
1017
1025
|
documentId: IsValidReferenceDocumentId,
|
|
1018
1026
|
first_name: IsValidFirstName,
|
|
1019
1027
|
last_name: IsValidLastName,
|
|
1020
|
-
preferred_name:
|
|
1028
|
+
preferred_name: IsValidPreferredName
|
|
1021
1029
|
});
|
|
1022
1030
|
var SUpdateUserAccountFirstName = v4__namespace.object({
|
|
1023
1031
|
documentId: IsValidReferenceDocumentId,
|
|
@@ -1029,7 +1037,7 @@ var SUpdateUserAccountLastName = v4__namespace.object({
|
|
|
1029
1037
|
});
|
|
1030
1038
|
var SUpdateUserAccountPreferredName = v4__namespace.object({
|
|
1031
1039
|
documentId: IsValidReferenceDocumentId,
|
|
1032
|
-
preferred_name:
|
|
1040
|
+
preferred_name: IsValidPreferredName
|
|
1033
1041
|
});
|
|
1034
1042
|
var QueryStrapiSearchUtmTrackingLinks = v4__namespace.object({
|
|
1035
1043
|
page: v4__namespace.fallback(v4__namespace.optional(v4__namespace.pipe(v4__namespace.number(), v4__namespace.minValue(1)), 1), 1),
|
|
@@ -1213,6 +1221,8 @@ exports.InvalidLastName = InvalidLastName;
|
|
|
1213
1221
|
exports.InvalidLastNameMaxLength = InvalidLastNameMaxLength;
|
|
1214
1222
|
exports.InvalidListOfUrls = InvalidListOfUrls;
|
|
1215
1223
|
exports.InvalidLongStringOrUndefined = InvalidLongStringOrUndefined;
|
|
1224
|
+
exports.InvalidPreferredName = InvalidPreferredName;
|
|
1225
|
+
exports.InvalidPreferredNameMaxLength = InvalidPreferredNameMaxLength;
|
|
1216
1226
|
exports.InvalidProductInterestMaxLength = InvalidProductInterestMaxLength;
|
|
1217
1227
|
exports.InvalidRangeValueOneToFive = InvalidRangeValueOneToFive;
|
|
1218
1228
|
exports.InvalidRefPageMaxLength = InvalidRefPageMaxLength;
|
|
@@ -1278,6 +1288,7 @@ exports.IsValidOrUndefinedUsername = IsValidOrUndefinedUsername;
|
|
|
1278
1288
|
exports.IsValidOrUndefinedValue = IsValidOrUndefinedValue;
|
|
1279
1289
|
exports.IsValidPassword = IsValidPassword;
|
|
1280
1290
|
exports.IsValidPositiveInteger = IsValidPositiveInteger;
|
|
1291
|
+
exports.IsValidPreferredName = IsValidPreferredName;
|
|
1281
1292
|
exports.IsValidProductInterest = IsValidProductInterest;
|
|
1282
1293
|
exports.IsValidProvider = IsValidProvider;
|
|
1283
1294
|
exports.IsValidRangeValueOneToFive = IsValidRangeValueOneToFive;
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/constants/limits.constants.ts","../src/constants/pagination.constants.ts","../src/constants/permission.constants.ts","../src/constants/regex.constants.ts","../src/schemas/blog.schemas.ts","../src/validators/validators-client-users.ts","../src/validators/validators-generics.ts","../src/validators/validators-forms.ts","../src/validators/validators-urls.ts","../src/validators/validators-users.ts","../src/validators/validators-utm-params.ts","../src/types/documents/client-project.document.ts","../src/schemas/client-project.schemas.ts","../src/schemas/client.schemas.ts","../src/schemas/generic.schemas.ts","../src/schemas/lead.schemas.ts","../src/schemas/newsletter.schemas.ts","../src/schemas/resume.schemas.ts","../src/schemas/sharpspring.schemas.ts","../src/schemas/trend.schemas.ts","../src/schemas/url-redirect.schemas.ts","../src/schemas/user-auth.schemas.ts","../src/schemas/user.schemas.ts","../src/schemas/user-account.schemas.ts","../src/schemas/utm-tracking-link.schemas.ts","../src/utilities/utilities.ts","../src/utilities/utilities-datetime.ts"],"names":["v","v2","v3","v4","v5","v6","v7","v8","v9","v10","v11","v12","v13","v14","v15","v16","v17","v18","v19","v20","v21","date"],"mappings":"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","file":"index.cjs","sourcesContent":["// Generics\nexport const LIMIT_MIN_VALUE = 1\nexport const LIMIT_MIN_NAME = 2\nexport const LIMIT_MAX_DESCRIPTION = 1024\nexport const LIMIT_SHORT_STRING_MAX_LENGTH = 255\nexport const LIMIT_MEDIUM_STRING_MAX_LENGTH = 500\nexport const LIMIT_LONG_STRING_MAX_LENGTH = 5000\n// Users\nexport const LIMIT_MIN_USERNAME = 3\nexport const LIMIT_MAX_USERNAME = 255\nexport const LIMIT_MIN_EMAIL = 5\nexport const LIMIT_MAX_EMAIL = 255\nexport const LIMIT_MIN_PASSWORD = 8\nexport const LIMIT_MAX_PASSWORD = 255\nexport const LIMIT_MAX_PROVIDER = 255\n// URLs\nexport const LIMIT_MIN_DESTINATION = 10\nexport const LIMIT_MAX_DESTINATION = 2048\nexport const LIMIT_MIN_DOMAIN = 10\nexport const LIMIT_MAX_DOMAIN = 253\nexport const LIMIT_MIN_PATH = 1\nexport const LIMIT_MAX_PATH = 2038\nexport const LIMIT_MIN_QUERY = 1\nexport const LIMIT_MAX_QUERY = 2038\nexport const LIMIT_MIN_FRAGMENT = 1\nexport const LIMIT_MAX_FRAGMENT = 2038\n// UTM Parameters\nexport const LIMIT_MIN_UTM_SOURCE = 1\nexport const LIMIT_MAX_UTM_SOURCE = 2026\nexport const LIMIT_MIN_UTM_MEDIUM = 1\nexport const LIMIT_MAX_UTM_MEDIUM = 2026\nexport const LIMIT_MIN_UTM_CAMPAIGN = 1\nexport const LIMIT_MAX_UTM_CAMPAIGN = 2024\nexport const LIMIT_MIN_UTM_CREATIVE_FORMAT = 1\nexport const LIMIT_MAX_UTM_CREATIVE_FORMAT = 2017\nexport const LIMIT_MIN_UTM_CONTENT = 1\nexport const LIMIT_MAX_UTM_CONTENT = 2025\nexport const LIMIT_MIN_UTM_TERM = 1\nexport const LIMIT_MAX_UTM_TERM = 2028\nexport const LIMIT_MIN_UTM_ID = 1\nexport const LIMIT_MAX_UTM_ID = 2030\n","// Generics\nexport const LIMIT_PAGINATION_DEFAULT_SIZE = 100\nexport const LIMIT_PAGINATION_MAX_SIZE = 10000\n// Entities\nexport const LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE = 6\nexport const LIMIT_BLOG_POST_PAGINATION_MAX_SIZE = 20\nexport const LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE = 16\nexport const LIMIT_CLIENT_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_PRODUCT_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_PRODUCT_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE = 1000\nexport const LIMIT_REDIRECT_PAGINATION_MAX_SIZE = 10000\nexport const LIMIT_TEAM_MEMBER_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_TEAM_MEMBER_PAGINATION_MAX_SIZE = 20\nexport const LIMIT_TREND_PAGINATION_DEFAULT_SIZE = 7\nexport const LIMIT_TREND_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_USER_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_USER_PAGINATION_MAX_SIZE = 10\nexport const LIMIT_CATEGORIES_DEFAULT_SIZE = 100\nexport const LIMIT_CATEGORIES_MAX_SIZE = 1000\nexport const LIMIT_TAGS_DEFAULT_SIZE = 100\nexport const LIMIT_TAGS_MAX_SIZE = 1000\nexport const LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE = 1000","//\n/**\n * Example usage of ClientEntityScope type\n * @reference https://youtube.com/shorts/zOseJFD447U?si=xX8DYEHdl9YtN7S4\n *\n * > const validScope: ClientEntityScope = \"tracking-link:import\"; // ✅\n * > const invalidScope: ClientEntityScope = \"website:import\"; // ❌ Type error!\n */\n\nexport const CLIENT_ENTITY_PERMISSIONS = {\n \"client-project\": [\"list\", \"create\", \"read\", \"update\", \"delete\", \"export\", \"import\"],\n \"client-report\": [\"list\", \"create\", \"read\", \"update\", \"delete\", \"export\", \"import\"],\n \"utm-tracking-link\": [\n \"list\",\n \"create\",\n \"read\",\n \"update\",\n \"delete\",\n \"export\",\n \"import\"\n ]\n} as const\n\nexport type ClientEntityKey = keyof typeof CLIENT_ENTITY_PERMISSIONS\n\nexport type ClientEntityActions<K extends ClientEntityKey = ClientEntityKey> =\n (typeof CLIENT_ENTITY_PERMISSIONS)[K][number]\n\ntype EntityActionJoin<K extends string, V extends string> = `${K}:${V}`\n\nexport type ClientEntityScope = {\n [K in ClientEntityKey]: EntityActionJoin<\n K,\n (typeof CLIENT_ENTITY_PERMISSIONS)[K][number]\n >\n}[ClientEntityKey]\n\nexport const CLIENT_ENTITY_KEYS = Object.keys(\n CLIENT_ENTITY_PERMISSIONS\n) as ClientEntityKey[]\n\nexport const CLIENT_ENTITY_SCOPES: ClientEntityScope[] = Object.entries(\n CLIENT_ENTITY_PERMISSIONS\n).flatMap(([entity, actions]) =>\n actions.map((action) => `${entity}:${action}` as ClientEntityScope)\n)\n","export const ERROR_MESSAGE_REGEX_DOMAIN = \"please provide a valid domain name\"\nexport const REGEX_DOMAIN =\n /^(?=.{1,253}$)(?!-)((xn--)?[a-zA-Z0-9]{1,59}(-[a-zA-Z0-9]{1,62})?\\.)+([a-zA-Z]{2,63}|xn--[a-zA-Z0-9]{2,59})$/\n\nexport const ERROR_MESSAGE_REGEX_UTM_VALUE = `can only contain letters, numbers, and the special characters: - _ .`\nexport const REGEX_UTM_VALUE = /^[a-zA-Z0-9._-]+$/\n","import * as v from \"valibot\"\nimport {\n LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE,\n LIMIT_BLOG_POST_PAGINATION_MAX_SIZE\n} from \"../constants\"\n\nexport const QueryStrapiSearchBlogPosts = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(\n v.number(),\n v.minValue(1),\n v.maxValue(LIMIT_BLOG_POST_PAGINATION_MAX_SIZE)\n ),\n LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE\n ),\n search: v.optional(v.pipe(v.string(), v.maxLength(255)), \"\"),\n category: v.optional(v.pipe(v.string(), v.maxLength(100)), \"\"),\n tags: v.optional(v.array(v.pipe(v.string(), v.maxLength(100))), []),\n status: v.optional(v.picklist([\"draft\", \"published\"]))\n})\n\nexport type QueryStrapiSearchBlogPosts = v.InferOutput<\n typeof QueryStrapiSearchBlogPosts\n>\n\nexport const QueryStrapiSearchBlogPostsBySlug = v.object({\n slug: v.string(),\n status: v.optional(v.picklist([\"draft\", \"published\"]), \"published\")\n})\n\nexport type QueryStrapiSearchBlogPostsBySlug = v.InferOutput<\n typeof QueryStrapiSearchBlogPostsBySlug\n>\n","import * as v from \"valibot\"\nimport { CLIENT_ENTITY_SCOPES } from \"../constants\"\n\nexport const IsValidGroupUserScopes = v.pipe(\n v.array(\n v.pipe(\n v.string(\"please provide a valid scope\"),\n v.picklist(CLIENT_ENTITY_SCOPES, \"invalid client scope provided\")\n ),\n \"please provide an array of scopes\"\n ),\n v.maxLength(\n CLIENT_ENTITY_SCOPES.length,\n \"you cannot provide more scopes than available\"\n )\n)\n","import * as v from \"valibot\"\nimport {\n LIMIT_LONG_STRING_MAX_LENGTH,\n LIMIT_SHORT_STRING_MAX_LENGTH\n} from \"../constants\"\n\n// reference id for relationships\nexport const IsValidReferenceId = v.number(\"please provide a valid id\")\n\nexport const IsValidReferenceDocumentId = v.pipe(\n v.string(\"please provide a valid document id\"),\n v.trim(),\n v.minLength(1, \"the document id is too short, it must be at least 1 character\"),\n v.maxLength(255, \"the document id is too long, it must be 255 characters or less\")\n)\n\n// dates\nexport const IsValidDateToday = v.pipe(\n v.date(),\n v.minValue(new Date()),\n v.transform((value) => value.toISOString())\n)\n\n// numbers\nexport const IsValidPositiveInteger = v.pipe(\n v.number(\"Please enter a number.\"),\n v.integer(\"Please enter a whole number.\"),\n v.minValue(1, \"Please enter a positive number.\")\n)\n\n// strings\nexport const InvalidShortStringMax = `The string you provided is too long, please abbreviate your string to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidShortString = v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidShortStringMax)\n)\nexport const IsValidShortStringOrUndefined = v.optional(IsValidShortString)\n\nexport const InvalidLongStringOrUndefined = `The string you provided is too long, please abbreviate your string to be ${LIMIT_LONG_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidLongString = v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_LONG_STRING_MAX_LENGTH, InvalidLongStringOrUndefined)\n)\nexport const IsValidLongStringOrUndefined = v.optional(IsValidLongString)\n\nexport const IsValidStringList = v.pipe(\n v.array(v.string()),\n v.transform((value) => value.join(\",\"))\n)\nexport const IsValidStringListOrUndefined = v.optional(IsValidStringList)\n","import * as v from \"valibot\"\nimport {\n ERROR_MESSAGE_REGEX_UTM_VALUE,\n LIMIT_LONG_STRING_MAX_LENGTH,\n LIMIT_MAX_DESCRIPTION,\n LIMIT_MAX_DESTINATION,\n LIMIT_MEDIUM_STRING_MAX_LENGTH,\n LIMIT_MIN_NAME,\n LIMIT_MIN_VALUE,\n LIMIT_SHORT_STRING_MAX_LENGTH,\n REGEX_UTM_VALUE\n} from \"../constants\"\nimport { InvalidLongStringOrUndefined } from \"./validators-generics\"\n\nexport const InvalidInputRobot = \"It appears you are a robot, please try again.\"\n\n// File Reference\nexport const IsValidFileReferenceId = v.object({\n id: v.number(),\n src: v.optional(v.string())\n})\n\n// names\nexport const InvalidFullName = \"Please enter your name.\"\nexport const InvalidFullNameMaxLength = `Your name is too long for our datanase, please abbreviate your name to be ${LIMIT_MEDIUM_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidFullName = v.pipe(\n v.string(InvalidFullName),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidFullName),\n v.maxLength(LIMIT_MEDIUM_STRING_MAX_LENGTH, InvalidFullNameMaxLength),\n v.includes(\" \", \"Please enter your first and last name.\")\n)\n\nexport const InvalidFirstName = \"Please enter your first name.\"\nexport const InvalidFirstNameMaxLength = `Your first name is too long for our datanase, please abbreviate your first name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidFirstName = v.pipe(\n v.string(InvalidFirstName),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidFirstName),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidFirstNameMaxLength)\n)\n\nexport const InvalidLastName = \"Please enter your last name.\"\nexport const InvalidLastNameMaxLength = `Your last name is too long for our datanase, please abbreviate your last name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidLastName = v.pipe(\n v.string(InvalidLastName),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidLastName),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidLastNameMaxLength)\n)\n\nexport const IsValidUserConsent = v.boolean()\n\nexport const InvalidUserPhoneType = \"Please enter your phone number.\"\nexport const InvalidUserPhone = `The phone you provided does not appear to be a valid phone number.`\nexport const IsValidUserPhoneRequired = v.pipe(\n v.string(InvalidUserPhoneType),\n v.trim(),\n v.minLength(7, InvalidUserPhoneType),\n v.maxLength(15, InvalidUserPhone)\n)\nexport const IsValidUserPhone = v.optional(IsValidUserPhoneRequired)\n\nexport const InvalidCompanyName = \"Please enter your company name.\"\nexport const InvalidCompanyNameMaxLength = `The company name you provided is too long for our database, please abbreviate your company name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidCompanyNameRequired = v.pipe(\n v.string(InvalidCompanyName),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidCompanyName),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidCompanyNameMaxLength)\n)\nexport const IsValidCompanyName = v.optional(IsValidCompanyNameRequired)\n\nexport const InvalidUserTitle = \"Please enter your job title or reference.\"\nexport const InvalidUserTitleMaxLength = `The job title you provided is too long for our database, please abbreviate your company name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidUserTitleRequired = v.pipe(\n v.string(InvalidUserTitle),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidUserTitle),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidUserTitleMaxLength)\n)\nexport const IsValidUserTitle = v.optional(IsValidUserTitleRequired)\n\nexport const InvalidUserMessage = \"How can we be of service to your team?\"\nexport const InvalidUserMessageMaxLength = `The message you provided is too long for our database, please abbreviate your message to be ${LIMIT_LONG_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidUserMessage = v.optional(\n v.pipe(\n v.string(InvalidUserMessage),\n v.trim(),\n v.maxLength(LIMIT_LONG_STRING_MAX_LENGTH, InvalidUserMessageMaxLength)\n )\n)\n\nexport const InvalidRefPageMaxLength = `The string you provided is too long for our database, please abbreviate your string to be ${LIMIT_MAX_DESTINATION} characters or less.`\nexport const IsValidRefPage = v.pipe(\n v.string(InvalidInputRobot),\n v.trim(),\n v.maxLength(LIMIT_MAX_DESTINATION, InvalidRefPageMaxLength)\n)\n\nexport const InvalidProductInterestMaxLength = `The product interest provided is too long. It must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidProductInterest = v.pipe(\n v.string(InvalidInputRobot),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidProductInterestMaxLength)\n)\n\nexport const IsValidCaptchaToken = v.pipe(\n v.string(InvalidInputRobot),\n v.trim(),\n v.maxLength(LIMIT_LONG_STRING_MAX_LENGTH, InvalidLongStringOrUndefined)\n)\n\nexport const InvalidInstrustryName = \"Please enter your industry.\"\nexport const InvalidInstrustryNameMaxLength = `The industry you provided is too long for our database, please abbreviate your industry to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidIndustryName = v.optional(\n v.pipe(\n v.string(InvalidInstrustryName),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidInstrustryNameMaxLength)\n )\n)\n\nexport const InvalidRangeValueOneToFive = `Please select a value between 1 and 5. (1 = Poor, 3 = Neutral, 5 = Excellent)`\nexport const IsValidRangeValueOneToFive = v.pipe(\n v.string(),\n v.picklist([\"1\", \"2\", \"3\", \"4\", \"5\"], InvalidRangeValueOneToFive)\n)\n\nexport const InvalidClientTermNumber = `Please provide how many months your team has used this product.`\nexport const InvalidClientTermMin = `We're sorry, you must be a client for at least 1 month to provide feedback.`\nexport const IsValidClientTerm = v.pipe(\n v.number(InvalidClientTermNumber),\n v.minValue(1, InvalidClientTermMin)\n)\n\nexport const IsValidUrl = v.pipe(\n v.string(),\n v.trim(),\n v.url(\"Please enter a valid URL.\")\n)\nexport const IsValidUrlOrUndefined = v.optional(IsValidUrl)\n\nexport const IsValidUrlList = (input: string) => {\n if (input === \"\") return true\n const urls = input.split(\",\")\n if (urls.length > 0) {\n const truthy = []\n for (let i = 0; i < urls.length; i++) {\n const result = v.safeParse(IsValidUrl, urls[i])\n truthy.push(result.success)\n }\n return truthy.every((item) => item === true)\n }\n return false\n}\n\nexport const InvalidListOfUrls = \"Please enter a list of URLs separated by commas.\"\nexport const IsValidStringSepListOfUrls = v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_LONG_STRING_MAX_LENGTH, InvalidLongStringOrUndefined),\n v.check(IsValidUrlList, InvalidListOfUrls)\n)\nexport const IsValidStringSepListOfUrlsOrUndefined = v.optional(\n IsValidStringSepListOfUrls\n)\n\nexport const InvalidDestinationUrl = \"Please remove any query parameters from the URL.\"\nexport const IsValidDestinationUrl = v.pipe(\n v.string(),\n v.trim(),\n v.url(\"Please enter a valid URL.\"),\n v.check((input: string) => {\n if (input === \"\") return false\n return input.indexOf(\"?\") === -1\n }, InvalidDestinationUrl)\n)\n\nexport const InvalidUtmLink = \"Please enter a valid URL with UTM parameters.\"\nexport const IsValidUtmLink = v.pipe(\n v.string(),\n v.trim(),\n v.url(\"Please enter a valid URL.\"),\n v.check((input: string) => {\n return input.includes(\"utm_\")\n }, InvalidUtmLink)\n)\n\nexport const InvalidUtmCampaignKeyName = `Campaign key name may only contain alphanumeric characters, and underscores.`\nexport const IsValidUtmCampaignKeyName = v.pipe(\n v.string(),\n v.check((input: string) => {\n return /^[a-zA-Z0-9_]*$/.test(input)\n }, InvalidUtmCampaignKeyName)\n)\nexport const IsValidUtmCampaignKeyNameOrUndefined = v.optional(\n IsValidUtmCampaignKeyName\n)\n\nexport const InvalidCsvFileType = \"Please upload a CSV file.\"\nexport const IsValidCsvFile = v.optional(\n v.pipe(v.blob(), v.mimeType([\"text/csv\"], InvalidCsvFileType))\n)\n\nexport const InvalidResumeFileType = \"Please upload a PDF or Word document.\"\nexport const IsValidResumeFile = v.nullable(\n v.pipe(\n v.file(InvalidResumeFileType),\n v.mimeType([\"application/pdf\"], InvalidResumeFileType)\n )\n)\n\nexport const ValidNumberOfEmployeeOptions = [\n { label: \"0-10\", value: \"0-10\" },\n { label: \"11-20\", value: \"11-20\" },\n { label: \"21-50\", value: \"21-50\" },\n { label: \"51-100\", value: \"51-100\" },\n { label: \"101-500\", value: \"101-500\" },\n { label: \"501+\", value: \"501+\" }\n] as const\n\nexport const IsValidNumberOfEmployees = v.pipe(\n v.string(),\n v.picklist(\n ValidNumberOfEmployeeOptions.map((item) => item.value),\n \"Please select an option that best describes your team size.\"\n )\n)\n\nexport const ValidJobRoleGroup = [\n {\n label: \"Founder / Owner\",\n value: \"founder,owner\"\n },\n {\n label: \"C-suite Executive\",\n value: \"executive\"\n },\n {\n label: \"Vice President\",\n value: \"vice president\"\n },\n {\n label: \"Director\",\n value: \"director\"\n },\n {\n label: \"Manager\",\n value: \"manager\"\n },\n {\n label: \"Solo-prenour\",\n value: \"solo-prenour\"\n },\n {\n label: \"Student\",\n value: \"student\"\n }\n] as const\n\nexport const IsValidUserRole = v.pipe(\n v.string(),\n v.picklist(\n ValidJobRoleGroup.map((item) => item.value),\n \"Please select an option that best describes your role.\"\n )\n)\n\nexport const ValidGcServiceOptions = [\n { label: \"Full Marketing Services\", value: \"Full Marketing Services\" },\n {\n label: \"Graphic Design / Marketing Design\",\n value: \"Graphic Design / Marketing Design\"\n },\n { label: \"Text Message Marketing\", value: \"Text Message Marketing\" },\n { label: \"Email Marketing\", value: \"Email Marketing\" },\n { label: \"Video Production\", value: \"Video Production\" },\n { label: \"Website Production\", value: \"Website Production\" },\n { label: \"Marketing Automation Software\", value: \"Marketing Automation Software\" },\n { label: \"Online Advertising\", value: \"Online Advertising\" },\n { label: \"Influencer Marketing\", value: \"Influencer Marketing\" }\n] as const\n\nexport const ValidGcVideoServiceOptions = [\n { label: \"Storyboarding\", value: \"Storyboarding\" },\n { label: \"Voiceovers\", value: \"Voiceovers\" },\n { label: \"Video Commercials / Interviews\", value: \"Video Commercials / Interviews\" },\n {\n label: \"Short Form Video Editing (social posts/stories)\",\n value: \"Short Form Video Editing (social posts/stories)\"\n },\n { label: \"Product Tours\", value: \"Product Tours\" },\n { label: \"Model Home / Community Tours\", value: \"Model Home / Community Tours\" },\n { label: \"Matterport Interactive Tours\", value: \"Matterport Interactive Tours\" },\n { label: \"3D Flyover Videos\", value: \"3D Flyover Videos\" }\n] as const\n\nexport const ValidGcDesiredContentOptions = [\n { label: \"Blog Posts\", value: \"Blog Posts\" },\n { label: \"Podcasting\", value: \"Podcasting\" },\n { label: \"Live Streams\", value: \"Live Streams\" },\n { label: \"Newsletters\", value: \"Newsletters\" },\n { label: \"Freebies / Toolkits\", value: \"Freebies / Toolkits\" },\n { label: \"Community Updates\", value: \"Community Updates\" }\n] as const\n\nexport const ValidRatingRange5 = [\n { label: \"1\", value: \"1\" },\n { label: \"2\", value: \"2\" },\n { label: \"3\", value: \"3\" },\n { label: \"4\", value: \"4\" },\n { label: \"5\", value: \"5\" }\n] as const\n\n// cost\nexport const IsValidCost = v.pipe(\n v.number(\"please enter a cost value\"),\n v.minValue(0),\n v.maxValue(\n 1000000,\n \"your campaign cost exceeds our $1 million dollar limit, please contact us for customized solutions\"\n )\n)\nexport const IsValidOrUndefinedCost = v.undefinedable(IsValidCost)\n\n// label\nexport const IsValidLabel = v.pipe(\n v.string(\"please provide a label\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_VALUE,\n `the label is too short, it must be at least ${LIMIT_MIN_VALUE} characters`\n ),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n `the label is too long, it must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less`\n )\n)\nexport const IsValidOrUndefinedLabel = v.undefinedable(IsValidLabel)\n\n// value\nexport const IsValidValue = v.pipe(\n v.string(\"please provide a value\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_VALUE,\n `the value is too short, it must be at least ${LIMIT_MIN_VALUE} characters`\n ),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n `the value is too long, it must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `the value ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedValue = v.undefinedable(IsValidValue)\n\n// description (optional)\nexport const IsValidDescription = v.nullable(\n v.pipe(\n v.string(\"the description must be a string\"),\n v.trim(),\n v.maxLength(\n LIMIT_MAX_DESCRIPTION,\n `the description is too long, it must be ${LIMIT_MAX_DESCRIPTION} characters or less`\n )\n )\n)\nexport const IsValidOrUndefinedDescription = v.undefinedable(IsValidDescription)\n\n// is_active\nexport const IsValidIsActive = v.boolean(\"isActive must be a boolean\")\nexport const IsValidOrUndefinedIsActive = v.undefinedable(IsValidIsActive)\n\n// is_secure\nexport const IsValidIsSecure = v.boolean(\"isSecure must be a boolean\")\nexport const IsValidOrUndefinedIsSecure = v.undefinedable(IsValidIsSecure)\n\n// generic name\nexport const IsValidName = v.pipe(\n v.string(\"please provide a name\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_NAME,\n `the name is too short, it must be at least ${LIMIT_MIN_NAME} characters`\n ),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n `the name is too long, it must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less`\n )\n)\nexport const IsValidOrUndefinedName = v.undefinedable(IsValidName)\n","import * as v from \"valibot\"\nimport {\n ERROR_MESSAGE_REGEX_DOMAIN,\n LIMIT_MAX_DESTINATION,\n LIMIT_MAX_DOMAIN,\n LIMIT_MAX_FRAGMENT,\n LIMIT_MAX_PATH,\n LIMIT_MAX_QUERY,\n LIMIT_MIN_DESTINATION,\n LIMIT_MIN_DOMAIN,\n LIMIT_MIN_FRAGMENT,\n LIMIT_MIN_PATH,\n LIMIT_MIN_QUERY,\n REGEX_DOMAIN\n} from \"../constants\"\n\n// destination\nexport const IsValidUrlDestination = v.pipe(\n v.string(\"please provide a url destination\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_DESTINATION,\n `the url destination is too short, it must be at least ${LIMIT_MIN_DESTINATION} characters`\n ),\n v.maxLength(\n LIMIT_MAX_DESTINATION,\n `the url destination is too long, it must be ${LIMIT_MAX_DESTINATION} characters or less`\n ),\n v.url(\"please provide a valid url\")\n)\nexport const IsValidOrUndefinedUrlDestination = v.undefinedable(IsValidUrlDestination)\n\n// protocol\nexport const IsValidUrlProtocol = v.picklist(\n [\"http\", \"https\"],\n \"please provide a valid url protocol\"\n)\nexport const IsValidOrUndefinedUrlProtocol = v.undefinedable(IsValidUrlProtocol)\n\n// domain\nexport const IsValidUrlDomain = v.pipe(\n v.string(\"please provide a domain\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_DOMAIN,\n `the domain is too short, it must be at least ${LIMIT_MIN_DOMAIN} characters`\n ),\n v.maxLength(\n LIMIT_MAX_DOMAIN,\n `the domain is too long, it must be ${LIMIT_MAX_DOMAIN} characters or less`\n ),\n v.regex(REGEX_DOMAIN, ERROR_MESSAGE_REGEX_DOMAIN)\n)\nexport const IsValidOrUndefinedUrlDomain = v.undefinedable(IsValidUrlDomain)\n\n// path\nexport const IsValidUrlPath = v.pipe(\n v.string(\"please provide a url path\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_PATH,\n `the url path is too short, it must be at least ${LIMIT_MIN_PATH} characters`\n ),\n v.maxLength(\n LIMIT_MAX_PATH,\n `the url path is too long, it must be ${LIMIT_MAX_PATH} characters or less`\n )\n)\nexport const IsValidOrUndefinedUrlPath = v.undefinedable(IsValidUrlPath)\n\n// query\nexport const IsValidUrlQuery = v.pipe(\n v.string(\"please provide a url query\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_QUERY,\n `the url query is too short, it must be at least ${LIMIT_MIN_QUERY} characters`\n ),\n v.maxLength(\n LIMIT_MAX_QUERY,\n `the url query is too long, it must be ${LIMIT_MAX_QUERY} characters or less`\n )\n)\nexport const IsValidOrUndefinedUrlQuery = v.undefinedable(IsValidUrlQuery)\n\n// fragment\nexport const IsValidUrlFragment = v.pipe(\n v.string(\"please provide a url hash/fragment\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_FRAGMENT,\n `the url hash/fragment is too short, it must be at least ${LIMIT_MIN_FRAGMENT} characters`\n ),\n v.maxLength(\n LIMIT_MAX_FRAGMENT,\n `the url hash/fragment is too long, it must be ${LIMIT_MAX_FRAGMENT} characters or less`\n )\n)\nexport const IsValidOrUndefinedUrlFragment = v.undefinedable(IsValidUrlFragment)\n","import * as v from \"valibot\"\nimport {\n ERROR_MESSAGE_REGEX_UTM_VALUE,\n LIMIT_MAX_EMAIL,\n LIMIT_MAX_PASSWORD,\n LIMIT_MAX_PROVIDER,\n LIMIT_MAX_USERNAME,\n LIMIT_MIN_EMAIL,\n LIMIT_MIN_PASSWORD,\n LIMIT_MIN_USERNAME,\n REGEX_UTM_VALUE\n} from \"../constants\"\n\nexport const IsValidUsername = v.pipe(\n v.string(\"please provide a username\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_USERNAME,\n `your username is too short, it must be at least ${LIMIT_MIN_USERNAME} characters`\n ),\n v.maxLength(\n LIMIT_MAX_USERNAME,\n `your username is too long, it must be ${LIMIT_MAX_USERNAME} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `your username ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUsername = v.undefinedable(IsValidUsername)\n\nexport const IsValidUserEmail = v.pipe(\n v.string(\"please provide an email\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_EMAIL,\n `your email is too short, it must be at least ${LIMIT_MIN_EMAIL} characters`\n ),\n v.maxLength(\n LIMIT_MAX_EMAIL,\n `your email is too long, it must be ${LIMIT_MAX_EMAIL} characters or less`\n ),\n v.email(\"please provide a valid email address\")\n)\nexport const IsValidOrUndefinedUserEmail = v.undefinedable(IsValidUserEmail)\n\nexport const IsValidPassword = v.pipe(\n v.string(\"a password is required\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_PASSWORD,\n `your password is too short, it must be at least ${LIMIT_MIN_PASSWORD} characters`\n ),\n v.maxLength(\n LIMIT_MAX_PASSWORD,\n `your password is too long, it must be ${LIMIT_MAX_PASSWORD} characters or less`\n )\n)\nexport const IsValidOrUndefinedPassword = v.undefinedable(IsValidPassword)\n\nexport const IsValidProvider = v.pipe(\n v.string(\"please enter a provider\"),\n v.trim(),\n v.maxLength(\n LIMIT_MAX_PROVIDER,\n `the provider string is too long, it must be ${LIMIT_MAX_PROVIDER} characters or less`\n )\n)\nexport const IsValidOrUndefinedProvider = v.undefinedable(IsValidProvider)\n\nexport const IsValidConfirmed = v.boolean()\nexport const IsValidOrUndefinedConfirmed = v.undefinedable(IsValidConfirmed)\n\nexport const IsValidBlocked = v.boolean()\nexport const IsValidOrUndefinedBlocked = v.undefinedable(IsValidBlocked)\n","import * as v from \"valibot\"\nimport {\n ERROR_MESSAGE_REGEX_UTM_VALUE,\n LIMIT_MAX_UTM_CAMPAIGN,\n LIMIT_MAX_UTM_CONTENT,\n LIMIT_MAX_UTM_CREATIVE_FORMAT,\n LIMIT_MAX_UTM_ID,\n LIMIT_MAX_UTM_MEDIUM,\n LIMIT_MAX_UTM_SOURCE,\n LIMIT_MAX_UTM_TERM,\n LIMIT_MIN_UTM_CAMPAIGN,\n LIMIT_MIN_UTM_CONTENT,\n LIMIT_MIN_UTM_CREATIVE_FORMAT,\n LIMIT_MIN_UTM_ID,\n LIMIT_MIN_UTM_MEDIUM,\n LIMIT_MIN_UTM_SOURCE,\n LIMIT_MIN_UTM_TERM,\n REGEX_UTM_VALUE\n} from \"../constants\"\n\n// utm_source\nexport const IsValidUrlUtmSource = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_SOURCE,\n `the utm_source is too short, it must be at least ${LIMIT_MIN_UTM_SOURCE} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_SOURCE,\n `the utm_source is too long, it must be ${LIMIT_MAX_UTM_SOURCE} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_source ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmSource = v.undefinedable(IsValidUrlUtmSource)\n\n// utm_medium\nexport const IsValidUrlUtmMedium = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_MEDIUM,\n `the utm_medium is too short, it must be at least ${LIMIT_MIN_UTM_MEDIUM} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_MEDIUM,\n `the utm_medium is too long, it must be ${LIMIT_MAX_UTM_MEDIUM} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_medium ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmMedium = v.undefinedable(IsValidUrlUtmMedium)\n\n// utm_campaign\nexport const IsValidUrlUtmCampaign = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_CAMPAIGN,\n `the utm_campaign is too short, it must be at least ${LIMIT_MIN_UTM_CAMPAIGN} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_CAMPAIGN,\n `the utm_campaign is too long, it must be ${LIMIT_MAX_UTM_CAMPAIGN} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_campaign ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmCampaign = v.undefinedable(IsValidUrlUtmCampaign)\n\n// utm_creative_format\nexport const IsValidUrlUtmCreativeFormat = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_CREATIVE_FORMAT,\n `the utm_creative_format is too short, it must be at least ${LIMIT_MIN_UTM_CREATIVE_FORMAT} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_CREATIVE_FORMAT,\n `the utm_creative_format is too long, it must be ${LIMIT_MAX_UTM_CREATIVE_FORMAT} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_creative_format ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmCreativeFormat = v.undefinedable(\n IsValidUrlUtmCreativeFormat\n)\n\n// utm_content\nexport const IsValidUrlUtmContent = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_CONTENT,\n `the utm_content is too short, it must be at least ${LIMIT_MIN_UTM_CONTENT} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_CONTENT,\n `the utm_content is too long, it must be ${LIMIT_MAX_UTM_CONTENT} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_content ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmContent = v.undefinedable(IsValidUrlUtmContent)\n\n// utm_term\nexport const IsValidUrlUtmTerm = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_TERM,\n `the utm_term is too short, it must be at least ${LIMIT_MIN_UTM_TERM} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_TERM,\n `the utm_term is too long, it must be ${LIMIT_MAX_UTM_TERM} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_term ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmTerm = v.undefinedable(IsValidUrlUtmTerm)\n\n// utm_id\nexport const IsValidUrlUtmId = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_ID,\n `the utm_id is too short, it must be at least ${LIMIT_MIN_UTM_ID} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_ID,\n `the utm_id is too long, it must be ${LIMIT_MAX_UTM_ID} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_id ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmId = v.undefinedable(IsValidUrlUtmId)\n","import type { BaseDocument, MediaUploadDocument } from \"../core\";\nimport type { ClientDocument } from \"./client.document\";\n\nexport const ClientProjectStatusOptions = [\n \"coming-soon\",\n \"now-open\",\n \"for-sale\",\n \"sold-out\",\n \"available\",\n];\nexport type ClientProjectStatus = (typeof ClientProjectStatusOptions)[number];\n\nexport type ClientProjectDocument = {\n title: string;\n slug: string;\n project_status: ClientProjectStatus[];\n clients?: ClientDocument[];\n featured_image?: MediaUploadDocument | null;\n} & BaseDocument;\n","import * as v from \"valibot\";\nimport {\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE,\n LIMIT_CLIENT_PAGINATION_MAX_SIZE,\n} from \"../constants\";\nimport { IsValidReferenceDocumentId, IsValidShortString } from \"../validators\";\nimport { ClientProjectStatusOptions } from \"../types\";\n\nexport const QueryStrapiSearchClientProjects = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(\n v.number(),\n v.minValue(1),\n v.maxValue(LIMIT_CLIENT_PAGINATION_MAX_SIZE)\n ),\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE\n ),\n title: v.optional(IsValidShortString),\n slug: v.optional(IsValidShortString),\n project_status: v.optional(v.picklist(ClientProjectStatusOptions)),\n clientId: v.optional(IsValidReferenceDocumentId),\n});\n\nexport type QueryStrapiSearchClientProjects = v.InferOutput<\n typeof QueryStrapiSearchClientProjects\n>;\n","import * as v from \"valibot\";\nimport {\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE,\n LIMIT_CLIENT_PAGINATION_MAX_SIZE,\n} from \"../constants\";\nimport { IsValidShortString } from \"../validators\";\n\nexport const QueryStrapiSearchClients = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(\n v.number(),\n v.minValue(1),\n v.maxValue(LIMIT_CLIENT_PAGINATION_MAX_SIZE)\n ),\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE\n ),\n title: v.optional(IsValidShortString),\n teamwork_id: v.optional(IsValidShortString),\n teamwork_name: v.optional(IsValidShortString),\n utm_sheet_id: v.optional(IsValidShortString),\n allow_create_utm_link: v.optional(v.boolean()),\n classification: v.optional(v.picklist([\"organic\", \"paid\"])),\n is_featured: v.optional(v.boolean()),\n is_active: v.optional(v.boolean()),\n is_organic_social: v.optional(v.boolean()),\n is_paid_media: v.optional(v.boolean()),\n});\n\nexport type QueryStrapiSearchClients = v.InferOutput<\n typeof QueryStrapiSearchClients\n>;\n","import * as v from \"valibot\"\nimport { LIMIT_PAGINATION_DEFAULT_SIZE, LIMIT_PAGINATION_MAX_SIZE } from \"../constants\"\nimport {\n IsValidReferenceDocumentId,\n IsValidReferenceId,\n IsValidShortString,\n IsValidUserEmail,\n IsValidUserPhoneRequired\n} from \"../validators\"\n\n// Paginated Query\nexport const QueryStrapiPaginated = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(v.number(), v.minValue(1), v.maxValue(LIMIT_PAGINATION_MAX_SIZE)),\n LIMIT_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_PAGINATION_DEFAULT_SIZE\n )\n})\nexport type QueryStrapiPaginated = v.InferOutput<typeof QueryStrapiPaginated>\n\n// Query by: ID, Document ID\nexport const QueryStrapiById = v.object({\n id: IsValidReferenceId\n})\nexport type QueryStrapiById = v.InferOutput<typeof QueryStrapiById>\n\nexport const QueryStrapiByDocumentId = v.object({\n documentId: IsValidReferenceDocumentId\n})\nexport type QueryStrapiByDocumentId = v.InferOutput<typeof QueryStrapiByDocumentId>\n\n// Query by: Slug, Email, Phone, or Name\nexport const QueryStrapiBySlug = v.object({\n slug: IsValidShortString\n})\nexport type QueryStrapiBySlug = v.InferOutput<typeof QueryStrapiBySlug>\n\nexport const QueryStrapiByEmail = v.object({\n email: IsValidUserEmail\n})\nexport type QueryStrapiByEmail = v.InferOutput<typeof QueryStrapiByEmail>\n\nexport const QueryStrapiByPhone = v.object({\n phone: IsValidUserPhoneRequired\n})\nexport type QueryStrapiByPhone = v.InferOutput<typeof QueryStrapiByPhone>\n\nexport const QueryStrapiByName = v.object({\n name: IsValidShortString\n})\nexport type QueryStrapiByName = v.InferOutput<typeof QueryStrapiByName>\n","import * as v from \"valibot\"\nimport {\n IsValidCaptchaToken,\n IsValidCompanyName,\n IsValidFirstName,\n IsValidLastName,\n IsValidProductInterest,\n IsValidRefPage,\n IsValidUserConsent,\n IsValidUserEmail,\n IsValidUserMessage,\n IsValidUserPhoneRequired,\n IsValidUserTitle\n} from \"../validators\"\n\nexport const SCreateLead = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n phone: IsValidUserPhoneRequired,\n company: IsValidCompanyName,\n title: IsValidUserTitle,\n message: IsValidUserMessage,\n product_interest: IsValidProductInterest,\n email_consent: IsValidUserConsent,\n sms_consent: IsValidUserConsent,\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\n\nexport type SCreateLead = v.InferOutput<typeof SCreateLead>\n","import * as v from \"valibot\"\nimport {\n IsValidCaptchaToken,\n IsValidFirstName,\n IsValidLastName,\n IsValidRefPage,\n IsValidUserConsent,\n IsValidUserEmail\n} from \"../validators\"\n\nexport const SCreateNewsletterSignup = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n // hidden fields\n email_consent: IsValidUserConsent,\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\n\nexport type SCreateNewsletterSignup = v.InferOutput<typeof SCreateNewsletterSignup>\n","import * as v from \"valibot\"\nimport {\n IsValidCaptchaToken,\n IsValidFileReferenceId,\n IsValidFirstName,\n IsValidLastName,\n IsValidRefPage,\n IsValidResumeFile,\n IsValidShortString,\n IsValidStringSepListOfUrlsOrUndefined,\n IsValidUserConsent,\n IsValidUserEmail,\n IsValidUserMessage,\n IsValidUserPhone\n} from \"../validators\"\n\nexport const SCreateResume = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n phone: IsValidUserPhone,\n message: IsValidUserMessage,\n social_profiles: IsValidStringSepListOfUrlsOrUndefined,\n file: IsValidResumeFile, // File object\n email_consent: IsValidUserConsent,\n sms_consent: IsValidUserConsent,\n // hidden fields\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\nexport type SCreateResume = v.InferOutput<typeof SCreateResume>\n\nexport const SCreateResumeInfo = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n phone: IsValidUserPhone,\n message: IsValidUserMessage,\n social_profiles: IsValidStringSepListOfUrlsOrUndefined,\n file: IsValidFileReferenceId, // File reference ID\n email_consent: IsValidUserConsent,\n sms_consent: IsValidUserConsent,\n // hidden fields\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\nexport type SCreateResumeInfo = v.InferOutput<typeof SCreateResumeInfo>\n\nexport const SUpdateResumeInfo = v.object({\n documentId: IsValidShortString,\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n phone: IsValidUserPhone,\n message: IsValidUserMessage,\n social_profiles: IsValidStringSepListOfUrlsOrUndefined,\n file: IsValidFileReferenceId, // File reference ID\n email_consent: IsValidUserConsent,\n sms_consent: IsValidUserConsent,\n // hidden fields\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\n\nexport type SUpdateResumeInfo = v.InferOutput<typeof SUpdateResumeInfo>\n","import * as v from \"valibot\"\nimport {\n IsValidCaptchaToken,\n IsValidFirstName,\n IsValidLastName,\n IsValidRefPage,\n IsValidShortString,\n IsValidUserConsent,\n IsValidUserEmail\n} from \"../validators\"\n\nexport const SharpSpringSignUpToDownload = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n // hidden fields\n download_key: IsValidShortString,\n email_consent: IsValidUserConsent,\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\nexport type SharpSpringSignUpToDownload = v.InferOutput<\n typeof SharpSpringSignUpToDownload\n>\n","import * as v from \"valibot\"\n\nexport const SUpdateTrendsLikes = v.object({\n documentId: v.string(),\n likes: v.number()\n})\n\nexport type SUpdateTrendsLikes = v.InferOutput<typeof SUpdateTrendsLikes>\n","import * as v from \"valibot\"\nimport {\n LIMIT_BLOG_POST_PAGINATION_MAX_SIZE,\n LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE\n} from \"../constants\"\n\nexport const QueryStrapiPaginatedUrlRedirects = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(\n v.number(),\n v.minValue(1),\n v.maxValue(LIMIT_BLOG_POST_PAGINATION_MAX_SIZE)\n ),\n LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE\n )\n})\n\nexport type QueryStrapiPaginatedUrlRedirects = v.InferOutput<\n typeof QueryStrapiPaginatedUrlRedirects\n>\n\nexport const QueryStrapiUrlRedirectsByFrom = v.object({\n from: v.string()\n})\n\nexport type QueryStrapiUrlRedirectsByFrom = v.InferOutput<\n typeof QueryStrapiUrlRedirectsByFrom\n>\n","import * as v from \"valibot\"\nimport { IsValidPassword, IsValidUserEmail, IsValidUsername } from \"../validators\"\n\n// JWT\nexport const SUserToken = v.object({\n token: v.string()\n})\nexport type SUserToken = v.InferOutput<typeof SUserToken>\n\n// AUTH LOCAL\n// LOGIN\nexport const SLoginUser = v.object({\n identifier: IsValidUserEmail,\n password: IsValidPassword\n})\nexport type SLoginUser = v.InferOutput<typeof SLoginUser>\n\n// REGISTER\nexport const SRegisterUser = v.object({\n username: IsValidUsername,\n email: IsValidUserEmail,\n password: IsValidPassword\n})\nexport type SRegisterUser = v.InferOutput<typeof SRegisterUser>\n\n// FORGOT PASSWORD\nexport const SForgotUserPassword = v.object({\n email: IsValidUserEmail\n})\nexport type SForgotUserPassword = v.InferOutput<typeof SForgotUserPassword>\n\n// REQUEST CONFIRM EMAIL\nexport const SRequestConfirmEmail = v.object({\n email: IsValidUserEmail\n})\nexport type SRequestConfirmEmail = v.InferOutput<typeof SRequestConfirmEmail>\n\n// RESET PASSWORD\nexport const SResetUserPassword = v.object({\n password: IsValidPassword,\n passwordConfirmation: IsValidPassword,\n code: v.string()\n})\nexport type SResetUserPassword = v.InferOutput<typeof SResetUserPassword>\n\n// CHANGE PASSWORD\nexport const SChangePassword = v.pipe(\n v.object({\n currentPassword: IsValidPassword,\n password: IsValidPassword,\n passwordConfirmation: IsValidPassword\n }),\n v.forward(\n v.partialCheck(\n [[\"password\"], [\"passwordConfirmation\"]],\n (input) => input.password === input.passwordConfirmation,\n \"Your new passwords do not match.\"\n ),\n [\"passwordConfirmation\"]\n )\n)\nexport type SChangePassword = v.InferOutput<typeof SChangePassword>\n\n// AUTH PROVIDER\n// Auth Provider Token\nexport const SAuthRawAccessToken = v.object({\n access_token: v.optional(v.string()),\n expires_in: v.optional(v.number()),\n scope: v.optional(v.string()),\n token_type: v.optional(v.string()),\n id_token: v.optional(v.string())\n})\nexport type SAuthRawAccessToken = v.InferOutput<typeof SAuthRawAccessToken>\n\n// Auth Connect Provider Redirect Search\nexport const SAuthConnectProviderRedirectSearch = v.object({\n id_token: v.string(),\n access_token: v.string(),\n raw: v.optional(SAuthRawAccessToken)\n})\nexport type SAuthConnectProviderRedirectSearch = v.InferOutput<\n typeof SAuthConnectProviderRedirectSearch\n>\n\n// Auth Connect Provider Confirmation\nexport const SAuthConnectProviderConfirmation = v.object({\n provider: v.string(),\n search: SAuthConnectProviderRedirectSearch\n})\nexport type SAuthConnectProviderConfirmation = v.InferOutput<\n typeof SAuthConnectProviderConfirmation\n>\n","import * as v from \"valibot\"\nimport {\n LIMIT_SHORT_STRING_MAX_LENGTH,\n LIMIT_USER_PAGINATION_DEFAULT_SIZE,\n LIMIT_USER_PAGINATION_MAX_SIZE\n} from \"../constants\"\nimport { IsValidReferenceDocumentId, IsValidReferenceId } from \"../validators\"\n\n// LIST\nexport const QueryStrapiUsers = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(v.number(), v.minValue(3), v.maxValue(LIMIT_USER_PAGINATION_MAX_SIZE)),\n LIMIT_USER_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_USER_PAGINATION_DEFAULT_SIZE\n )\n})\nexport type QueryStrapiUsers = v.InferOutput<typeof QueryStrapiUsers>\n\nexport const QueryStrapiUsersByIdentifier = v.object({\n identifier: v.pipe(v.string(), v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH)),\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(v.number(), v.minValue(3), v.maxValue(LIMIT_USER_PAGINATION_MAX_SIZE)),\n LIMIT_USER_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_USER_PAGINATION_DEFAULT_SIZE\n )\n})\nexport type QueryStrapiUsersByIdentifier = v.InferOutput<\n typeof QueryStrapiUsersByIdentifier\n>\n\n// READ\nexport const SReadUserById = v.object({\n id: IsValidReferenceId\n})\nexport type SReadUserById = v.InferOutput<typeof SReadUserById>\n\nexport const SReadUserByDocumentId = v.object({\n documentId: IsValidReferenceDocumentId\n})\nexport type SReadUserByDocumentId = v.InferOutput<typeof SReadUserByDocumentId>\n","import * as v from \"valibot\"\nimport { IsValidFirstName, IsValidFullName, IsValidLastName, IsValidReferenceDocumentId, IsValidReferenceId } from \"../validators\"\n\n// READ\nexport const SReadUserAccountById = v.object({\n id: IsValidReferenceId\n})\nexport type SReadUserAccountById = v.InferOutput<typeof SReadUserAccountById>\n\nexport const SReadUserAccountByDocumentId = v.object({\n documentId: IsValidReferenceDocumentId\n})\nexport type SReadUserAccountByDocumentId = v.InferOutput<typeof SReadUserAccountByDocumentId>\n\n// UPDATE\nexport const SUpdateUserAccount = v.object({\n documentId: IsValidReferenceDocumentId,\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n preferred_name: IsValidFullName,\n})\nexport type SUpdateUserAccount = v.InferOutput<typeof SUpdateUserAccount>\n\nexport const SUpdateUserAccountFirstName = v.object({\n documentId: IsValidReferenceDocumentId,\n first_name: IsValidFirstName,\n})\nexport type SUpdateUserAccountFirstName = v.InferOutput<typeof SUpdateUserAccountFirstName>\n\nexport const SUpdateUserAccountLastName = v.object({\n documentId: IsValidReferenceDocumentId,\n last_name: IsValidLastName,\n})\nexport type SUpdateUserAccountLastName = v.InferOutput<typeof SUpdateUserAccountLastName>\n\nexport const SUpdateUserAccountPreferredName = v.object({\n documentId: IsValidReferenceDocumentId,\n preferred_name: IsValidFullName,\n})\nexport type SUpdateUserAccountPreferredName = v.InferOutput<typeof SUpdateUserAccountPreferredName>\n","import * as v from \"valibot\";\nimport {\n LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE,\n LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE,\n} from \"../constants\";\nimport {\n IsValidDestinationUrl,\n IsValidIsActive,\n IsValidLongString,\n IsValidLongStringOrUndefined,\n IsValidOrUndefinedUrlUtmContent,\n IsValidOrUndefinedUrlUtmCreativeFormat,\n IsValidOrUndefinedUrlUtmId,\n IsValidReferenceDocumentId,\n IsValidReferenceId,\n IsValidShortString,\n IsValidShortStringOrUndefined,\n IsValidStringListOrUndefined,\n IsValidUrl,\n IsValidUrlUtmCampaign,\n IsValidUrlUtmContent,\n IsValidUrlUtmCreativeFormat,\n IsValidUrlUtmId,\n IsValidUrlUtmMedium,\n IsValidUrlUtmSource,\n IsValidUtmCampaignKeyName,\n IsValidUtmCampaignKeyNameOrUndefined,\n IsValidUtmLink,\n} from \"../validators\";\n\n// LIST\nexport const QueryStrapiSearchUtmTrackingLinks = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(\n v.number(),\n v.minValue(1),\n v.maxValue(LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE)\n ),\n LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE\n ),\n url_destination: v.optional(IsValidDestinationUrl),\n utm_medium: v.optional(IsValidUrlUtmMedium),\n utm_source: v.optional(IsValidUrlUtmSource),\n utm_campaign: v.optional(IsValidUrlUtmCampaign),\n utm_content: v.optional(IsValidUrlUtmContent),\n utm_creative_format: v.optional(IsValidUrlUtmCreativeFormat),\n utm_id: v.optional(IsValidUrlUtmId),\n campaign_phase: v.optional(IsValidShortString),\n campaign_product: v.optional(IsValidShortString),\n campaign_targeting: v.optional(IsValidShortString),\n campaign_key: v.optional(IsValidShortString),\n creative_format: v.optional(IsValidShortString),\n creative_format_variants: v.optional(v.array(IsValidShortString)),\n url: v.optional(IsValidUrl),\n is_active: v.optional(v.boolean()),\n notes: v.optional(IsValidShortString),\n});\n\nexport type QueryStrapiSearchUtmTrackingLinks = v.InferOutput<\n typeof QueryStrapiSearchUtmTrackingLinks\n>;\n\n// CREATE\nexport const SCreateUtmTrackingLinkDocument = v.object({\n creator: IsValidReferenceDocumentId,\n client: IsValidReferenceDocumentId,\n url_destination: IsValidDestinationUrl,\n utm_source: IsValidUrlUtmSource,\n utm_medium: IsValidUrlUtmMedium,\n utm_campaign: IsValidUrlUtmCampaign,\n utm_content: IsValidShortStringOrUndefined,\n utm_creative_format: IsValidShortStringOrUndefined,\n utm_id: IsValidShortStringOrUndefined,\n campaign_phase: IsValidShortString,\n campaign_product: IsValidShortStringOrUndefined,\n campaign_targeting: IsValidStringListOrUndefined,\n campaign_key: IsValidUtmCampaignKeyNameOrUndefined,\n creative_format: IsValidShortStringOrUndefined,\n creative_format_variants: IsValidStringListOrUndefined,\n url: IsValidUtmLink,\n is_active: IsValidIsActive,\n notes: IsValidLongStringOrUndefined,\n});\nexport type SCreateUtmTrackingLinkDocumentInput = v.InferInput<\n typeof SCreateUtmTrackingLinkDocument\n>;\nexport type SCreateUtmTrackingLinkDocument = v.InferOutput<\n typeof SCreateUtmTrackingLinkDocument\n>;\n\nexport const SCreateUtmTrackingLinkParts = v.object({\n url_destination: IsValidDestinationUrl,\n utm_source: IsValidUrlUtmSource,\n utm_medium: IsValidUrlUtmMedium,\n utm_campaign: IsValidUrlUtmCampaign,\n utm_content: IsValidShortStringOrUndefined,\n utm_creative_format: IsValidShortStringOrUndefined,\n utm_id: IsValidShortStringOrUndefined,\n campaign_phase: IsValidShortString,\n campaign_product: IsValidShortStringOrUndefined,\n campaign_targeting: IsValidStringListOrUndefined,\n campaign_key: IsValidUtmCampaignKeyNameOrUndefined,\n creative_format: IsValidShortStringOrUndefined,\n creative_format_variants: IsValidStringListOrUndefined,\n url: IsValidUtmLink,\n is_active: IsValidIsActive,\n notes: IsValidLongStringOrUndefined,\n});\nexport type SCreateUtmTrackingLinkParts = v.InferOutput<\n typeof SCreateUtmTrackingLinkParts\n>;\n\nexport const SFormCreateMultipleUtmTrackingLinkDocuments = v.object({\n creator: IsValidReferenceDocumentId,\n client: IsValidReferenceDocumentId,\n links: v.pipe(\n v.array(SCreateUtmTrackingLinkParts),\n v.minLength(1, \"You must provide at least one link to create.\"),\n v.maxLength(100, \"You can create a maximum of 100 links at once.\")\n ),\n});\nexport type SFormCreateMultipleUtmTrackingLinkDocuments = v.InferInput<\n typeof SFormCreateMultipleUtmTrackingLinkDocuments\n>;\n\n// READ\nexport const SReadUtmTrackingLinkDocumentByDocumentId = v.object({\n documentId: IsValidReferenceDocumentId,\n});\nexport type SReadUtmTrackingLinkDocumentByDocumentId = v.InferOutput<\n typeof SReadUtmTrackingLinkDocumentByDocumentId\n>;\n\n// UPDATE\nexport const SUpdateUtmTrackingLinkDocument = v.object({\n creator: v.optional(IsValidReferenceDocumentId),\n client: v.optional(IsValidReferenceDocumentId),\n url_destination: IsValidDestinationUrl,\n utm_source: IsValidUrlUtmSource,\n utm_medium: IsValidUrlUtmMedium,\n utm_campaign: IsValidUrlUtmCampaign,\n utm_content: IsValidShortStringOrUndefined,\n utm_creative_format: IsValidShortStringOrUndefined,\n utm_id: IsValidShortStringOrUndefined,\n campaign_phase: IsValidShortString,\n campaign_product: IsValidShortStringOrUndefined,\n campaign_targeting: IsValidStringListOrUndefined,\n campaign_key: IsValidUtmCampaignKeyNameOrUndefined,\n creative_format: IsValidShortStringOrUndefined,\n creative_format_variants: IsValidStringListOrUndefined,\n url: IsValidUtmLink,\n is_active: IsValidIsActive,\n notes: IsValidLongStringOrUndefined,\n});\nexport type SUpdateUtmTrackingLinkDocument = v.InferOutput<\n typeof SUpdateUtmTrackingLinkDocument\n>;\n\nexport const SUpdateUtmTrackingLinkDocumentRequest = v.object({\n documentId: IsValidReferenceDocumentId,\n data: SUpdateUtmTrackingLinkDocument,\n});\nexport type SUpdateUtmTrackingLinkDocumentRequest = v.InferOutput<\n typeof SUpdateUtmTrackingLinkDocumentRequest\n>;\n\n// DELETE\nexport const SDeleteUtmTrackingLinkDocument = v.object({\n documentId: IsValidReferenceDocumentId,\n});\nexport type SDeleteUtmTrackingLinkDocument = v.InferOutput<\n typeof SDeleteUtmTrackingLinkDocument\n>;\n","import * as v from \"valibot\"\n\ntype ValidateAndCleanSuccess<T> = {\n data: Partial<T>\n error: null\n errors: null\n}\n\ntype ValidateAndCleanFailure = {\n data: null\n error: string | null\n errors: Record<string, string> | null\n}\n\ntype ValidateAndCleanResult<T> = ValidateAndCleanSuccess<T> | ValidateAndCleanFailure\n\nexport function validateAndClean<T>(\n schema: v.BaseSchema<T, Partial<T>, v.BaseIssue<T>>,\n input: unknown\n): ValidateAndCleanResult<T> {\n try {\n const parsed = v.parse(schema, input)\n return { data: parsed, error: null, errors: null }\n } catch (err: unknown) {\n if (err instanceof v.ValiError) {\n const errors: Record<string, string> = {}\n for (const issue of err.issues) {\n const field = issue.path?.[0]?.key || \"unknown\"\n errors[field] = issue.message\n }\n return { data: null, error: null, errors }\n }\n let errorMessage = \"Unknown error\"\n if (err instanceof Error) {\n errorMessage = err.message\n } else {\n errorMessage = String(err)\n }\n return { data: null, error: errorMessage, errors: null }\n }\n}\n\nexport function isValidationSuccess<T>(\n result: ValidateAndCleanResult<T>\n): result is ValidateAndCleanSuccess<T> {\n return result.error === null && result.errors === null\n}\n\nexport function isValidationFailure<T>(\n result: ValidateAndCleanResult<T>\n): result is ValidateAndCleanFailure {\n return result.error !== null || result.errors !== null\n}\n\nexport function omitUndefined<T extends Record<string, any>>(obj: T): Partial<T> {\n const result: Partial<T> = {}\n for (const key in obj) {\n if (obj[key] !== undefined) {\n result[key] = obj[key]\n }\n }\n return result\n}\n","export function dateToday(): Date {\n const date = new Date()\n date.setHours(0, 0, 0, 0)\n return date\n}\n\nexport function datePlusDays(today: Date, days: number = 30): Date {\n const date = new Date(today)\n date.setDate(date.getDate() + days)\n date.setHours(23, 59, 59, 999)\n return date\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/constants/limits.constants.ts","../src/constants/pagination.constants.ts","../src/constants/permission.constants.ts","../src/constants/regex.constants.ts","../src/schemas/blog.schemas.ts","../src/validators/validators-client-users.ts","../src/validators/validators-generics.ts","../src/validators/validators-forms.ts","../src/validators/validators-urls.ts","../src/validators/validators-users.ts","../src/validators/validators-utm-params.ts","../src/types/documents/client-project.document.ts","../src/schemas/client-project.schemas.ts","../src/schemas/client.schemas.ts","../src/schemas/generic.schemas.ts","../src/schemas/lead.schemas.ts","../src/schemas/newsletter.schemas.ts","../src/schemas/resume.schemas.ts","../src/schemas/sharpspring.schemas.ts","../src/schemas/trend.schemas.ts","../src/schemas/url-redirect.schemas.ts","../src/schemas/user-auth.schemas.ts","../src/schemas/user.schemas.ts","../src/schemas/user-account.schemas.ts","../src/schemas/utm-tracking-link.schemas.ts","../src/utilities/utilities.ts","../src/utilities/utilities-datetime.ts"],"names":["v","v2","v3","v4","v5","v6","v7","v8","v9","v10","v11","v12","v13","v14","v15","v16","v17","v18","v19","v20","v21","date"],"mappings":"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","file":"index.cjs","sourcesContent":["// Generics\nexport const LIMIT_MIN_VALUE = 1\nexport const LIMIT_MIN_NAME = 2\nexport const LIMIT_MAX_DESCRIPTION = 1024\nexport const LIMIT_SHORT_STRING_MAX_LENGTH = 255\nexport const LIMIT_MEDIUM_STRING_MAX_LENGTH = 500\nexport const LIMIT_LONG_STRING_MAX_LENGTH = 5000\n// Users\nexport const LIMIT_MIN_USERNAME = 3\nexport const LIMIT_MAX_USERNAME = 255\nexport const LIMIT_MIN_EMAIL = 5\nexport const LIMIT_MAX_EMAIL = 255\nexport const LIMIT_MIN_PASSWORD = 8\nexport const LIMIT_MAX_PASSWORD = 255\nexport const LIMIT_MAX_PROVIDER = 255\n// URLs\nexport const LIMIT_MIN_DESTINATION = 10\nexport const LIMIT_MAX_DESTINATION = 2048\nexport const LIMIT_MIN_DOMAIN = 10\nexport const LIMIT_MAX_DOMAIN = 253\nexport const LIMIT_MIN_PATH = 1\nexport const LIMIT_MAX_PATH = 2038\nexport const LIMIT_MIN_QUERY = 1\nexport const LIMIT_MAX_QUERY = 2038\nexport const LIMIT_MIN_FRAGMENT = 1\nexport const LIMIT_MAX_FRAGMENT = 2038\n// UTM Parameters\nexport const LIMIT_MIN_UTM_SOURCE = 1\nexport const LIMIT_MAX_UTM_SOURCE = 2026\nexport const LIMIT_MIN_UTM_MEDIUM = 1\nexport const LIMIT_MAX_UTM_MEDIUM = 2026\nexport const LIMIT_MIN_UTM_CAMPAIGN = 1\nexport const LIMIT_MAX_UTM_CAMPAIGN = 2024\nexport const LIMIT_MIN_UTM_CREATIVE_FORMAT = 1\nexport const LIMIT_MAX_UTM_CREATIVE_FORMAT = 2017\nexport const LIMIT_MIN_UTM_CONTENT = 1\nexport const LIMIT_MAX_UTM_CONTENT = 2025\nexport const LIMIT_MIN_UTM_TERM = 1\nexport const LIMIT_MAX_UTM_TERM = 2028\nexport const LIMIT_MIN_UTM_ID = 1\nexport const LIMIT_MAX_UTM_ID = 2030\n","// Generics\nexport const LIMIT_PAGINATION_DEFAULT_SIZE = 100\nexport const LIMIT_PAGINATION_MAX_SIZE = 10000\n// Entities\nexport const LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE = 6\nexport const LIMIT_BLOG_POST_PAGINATION_MAX_SIZE = 20\nexport const LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE = 16\nexport const LIMIT_CLIENT_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_PRODUCT_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_PRODUCT_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE = 1000\nexport const LIMIT_REDIRECT_PAGINATION_MAX_SIZE = 10000\nexport const LIMIT_TEAM_MEMBER_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_TEAM_MEMBER_PAGINATION_MAX_SIZE = 20\nexport const LIMIT_TREND_PAGINATION_DEFAULT_SIZE = 7\nexport const LIMIT_TREND_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_USER_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_USER_PAGINATION_MAX_SIZE = 10\nexport const LIMIT_CATEGORIES_DEFAULT_SIZE = 100\nexport const LIMIT_CATEGORIES_MAX_SIZE = 1000\nexport const LIMIT_TAGS_DEFAULT_SIZE = 100\nexport const LIMIT_TAGS_MAX_SIZE = 1000\nexport const LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE = 1000","//\n/**\n * Example usage of ClientEntityScope type\n * @reference https://youtube.com/shorts/zOseJFD447U?si=xX8DYEHdl9YtN7S4\n *\n * > const validScope: ClientEntityScope = \"tracking-link:import\"; // ✅\n * > const invalidScope: ClientEntityScope = \"website:import\"; // ❌ Type error!\n */\n\nexport const CLIENT_ENTITY_PERMISSIONS = {\n \"client-project\": [\"list\", \"create\", \"read\", \"update\", \"delete\", \"export\", \"import\"],\n \"client-report\": [\"list\", \"create\", \"read\", \"update\", \"delete\", \"export\", \"import\"],\n \"utm-tracking-link\": [\n \"list\",\n \"create\",\n \"read\",\n \"update\",\n \"delete\",\n \"export\",\n \"import\"\n ]\n} as const\n\nexport type ClientEntityKey = keyof typeof CLIENT_ENTITY_PERMISSIONS\n\nexport type ClientEntityActions<K extends ClientEntityKey = ClientEntityKey> =\n (typeof CLIENT_ENTITY_PERMISSIONS)[K][number]\n\ntype EntityActionJoin<K extends string, V extends string> = `${K}:${V}`\n\nexport type ClientEntityScope = {\n [K in ClientEntityKey]: EntityActionJoin<\n K,\n (typeof CLIENT_ENTITY_PERMISSIONS)[K][number]\n >\n}[ClientEntityKey]\n\nexport const CLIENT_ENTITY_KEYS = Object.keys(\n CLIENT_ENTITY_PERMISSIONS\n) as ClientEntityKey[]\n\nexport const CLIENT_ENTITY_SCOPES: ClientEntityScope[] = Object.entries(\n CLIENT_ENTITY_PERMISSIONS\n).flatMap(([entity, actions]) =>\n actions.map((action) => `${entity}:${action}` as ClientEntityScope)\n)\n","export const ERROR_MESSAGE_REGEX_DOMAIN = \"please provide a valid domain name\"\nexport const REGEX_DOMAIN =\n /^(?=.{1,253}$)(?!-)((xn--)?[a-zA-Z0-9]{1,59}(-[a-zA-Z0-9]{1,62})?\\.)+([a-zA-Z]{2,63}|xn--[a-zA-Z0-9]{2,59})$/\n\nexport const ERROR_MESSAGE_REGEX_UTM_VALUE = `can only contain letters, numbers, and the special characters: - _ .`\nexport const REGEX_UTM_VALUE = /^[a-zA-Z0-9._-]+$/\n","import * as v from \"valibot\"\nimport {\n LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE,\n LIMIT_BLOG_POST_PAGINATION_MAX_SIZE\n} from \"../constants\"\n\nexport const QueryStrapiSearchBlogPosts = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(\n v.number(),\n v.minValue(1),\n v.maxValue(LIMIT_BLOG_POST_PAGINATION_MAX_SIZE)\n ),\n LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE\n ),\n search: v.optional(v.pipe(v.string(), v.maxLength(255)), \"\"),\n category: v.optional(v.pipe(v.string(), v.maxLength(100)), \"\"),\n tags: v.optional(v.array(v.pipe(v.string(), v.maxLength(100))), []),\n status: v.optional(v.picklist([\"draft\", \"published\"]))\n})\n\nexport type QueryStrapiSearchBlogPosts = v.InferOutput<\n typeof QueryStrapiSearchBlogPosts\n>\n\nexport const QueryStrapiSearchBlogPostsBySlug = v.object({\n slug: v.string(),\n status: v.optional(v.picklist([\"draft\", \"published\"]), \"published\")\n})\n\nexport type QueryStrapiSearchBlogPostsBySlug = v.InferOutput<\n typeof QueryStrapiSearchBlogPostsBySlug\n>\n","import * as v from \"valibot\"\nimport { CLIENT_ENTITY_SCOPES } from \"../constants\"\n\nexport const IsValidGroupUserScopes = v.pipe(\n v.array(\n v.pipe(\n v.string(\"please provide a valid scope\"),\n v.picklist(CLIENT_ENTITY_SCOPES, \"invalid client scope provided\")\n ),\n \"please provide an array of scopes\"\n ),\n v.maxLength(\n CLIENT_ENTITY_SCOPES.length,\n \"you cannot provide more scopes than available\"\n )\n)\n","import * as v from \"valibot\"\nimport {\n LIMIT_LONG_STRING_MAX_LENGTH,\n LIMIT_SHORT_STRING_MAX_LENGTH\n} from \"../constants\"\n\n// reference id for relationships\nexport const IsValidReferenceId = v.number(\"please provide a valid id\")\n\nexport const IsValidReferenceDocumentId = v.pipe(\n v.string(\"please provide a valid document id\"),\n v.trim(),\n v.minLength(1, \"the document id is too short, it must be at least 1 character\"),\n v.maxLength(255, \"the document id is too long, it must be 255 characters or less\")\n)\n\n// dates\nexport const IsValidDateToday = v.pipe(\n v.date(),\n v.minValue(new Date()),\n v.transform((value) => value.toISOString())\n)\n\n// numbers\nexport const IsValidPositiveInteger = v.pipe(\n v.number(\"Please enter a number.\"),\n v.integer(\"Please enter a whole number.\"),\n v.minValue(1, \"Please enter a positive number.\")\n)\n\n// strings\nexport const InvalidShortStringMax = `The string you provided is too long, please abbreviate your string to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidShortString = v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidShortStringMax)\n)\nexport const IsValidShortStringOrUndefined = v.optional(IsValidShortString)\n\nexport const InvalidLongStringOrUndefined = `The string you provided is too long, please abbreviate your string to be ${LIMIT_LONG_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidLongString = v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_LONG_STRING_MAX_LENGTH, InvalidLongStringOrUndefined)\n)\nexport const IsValidLongStringOrUndefined = v.optional(IsValidLongString)\n\nexport const IsValidStringList = v.pipe(\n v.array(v.string()),\n v.transform((value) => value.join(\",\"))\n)\nexport const IsValidStringListOrUndefined = v.optional(IsValidStringList)\n","import * as v from \"valibot\"\nimport {\n ERROR_MESSAGE_REGEX_UTM_VALUE,\n LIMIT_LONG_STRING_MAX_LENGTH,\n LIMIT_MAX_DESCRIPTION,\n LIMIT_MAX_DESTINATION,\n LIMIT_MEDIUM_STRING_MAX_LENGTH,\n LIMIT_MIN_NAME,\n LIMIT_MIN_VALUE,\n LIMIT_SHORT_STRING_MAX_LENGTH,\n REGEX_UTM_VALUE\n} from \"../constants\"\nimport { InvalidLongStringOrUndefined } from \"./validators-generics\"\n\nexport const InvalidInputRobot = \"It appears you are a robot, please try again.\"\n\n// File Reference\nexport const IsValidFileReferenceId = v.object({\n id: v.number(),\n src: v.optional(v.string())\n})\n\n// names\nexport const InvalidFullName = \"Please enter your name.\"\nexport const InvalidFullNameMaxLength = `Your name is too long for our datanase, please abbreviate your name to be ${LIMIT_MEDIUM_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidFullName = v.pipe(\n v.string(InvalidFullName),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidFullName),\n v.maxLength(LIMIT_MEDIUM_STRING_MAX_LENGTH, InvalidFullNameMaxLength),\n v.includes(\" \", \"Please enter your first and last name.\")\n)\n\nexport const InvalidFirstName = \"Please enter your first name.\"\nexport const InvalidFirstNameMaxLength = `Your first name is too long for our datanase, please abbreviate your first name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidFirstName = v.pipe(\n v.string(InvalidFirstName),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidFirstName),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidFirstNameMaxLength)\n)\n\nexport const InvalidLastName = \"Please enter your last name.\"\nexport const InvalidLastNameMaxLength = `Your last name is too long for our datanase, please abbreviate your last name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidLastName = v.pipe(\n v.string(InvalidLastName),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidLastName),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidLastNameMaxLength)\n)\n\nexport const InvalidPreferredName = \"Please enter your preferred name.\"\nexport const InvalidPreferredNameMaxLength = `Your preferred name is too long for our datanase, please abbreviate your preferred name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidPreferredName = v.pipe(\n v.string(InvalidPreferredName),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidPreferredName),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidPreferredNameMaxLength)\n)\n\nexport const IsValidUserConsent = v.boolean()\n\nexport const InvalidUserPhoneType = \"Please enter your phone number.\"\nexport const InvalidUserPhone = `The phone you provided does not appear to be a valid phone number.`\nexport const IsValidUserPhoneRequired = v.pipe(\n v.string(InvalidUserPhoneType),\n v.trim(),\n v.minLength(7, InvalidUserPhoneType),\n v.maxLength(15, InvalidUserPhone)\n)\nexport const IsValidUserPhone = v.optional(IsValidUserPhoneRequired)\n\nexport const InvalidCompanyName = \"Please enter your company name.\"\nexport const InvalidCompanyNameMaxLength = `The company name you provided is too long for our database, please abbreviate your company name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidCompanyNameRequired = v.pipe(\n v.string(InvalidCompanyName),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidCompanyName),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidCompanyNameMaxLength)\n)\nexport const IsValidCompanyName = v.optional(IsValidCompanyNameRequired)\n\nexport const InvalidUserTitle = \"Please enter your job title or reference.\"\nexport const InvalidUserTitleMaxLength = `The job title you provided is too long for our database, please abbreviate your company name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidUserTitleRequired = v.pipe(\n v.string(InvalidUserTitle),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidUserTitle),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidUserTitleMaxLength)\n)\nexport const IsValidUserTitle = v.optional(IsValidUserTitleRequired)\n\nexport const InvalidUserMessage = \"How can we be of service to your team?\"\nexport const InvalidUserMessageMaxLength = `The message you provided is too long for our database, please abbreviate your message to be ${LIMIT_LONG_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidUserMessage = v.optional(\n v.pipe(\n v.string(InvalidUserMessage),\n v.trim(),\n v.maxLength(LIMIT_LONG_STRING_MAX_LENGTH, InvalidUserMessageMaxLength)\n )\n)\n\nexport const InvalidRefPageMaxLength = `The string you provided is too long for our database, please abbreviate your string to be ${LIMIT_MAX_DESTINATION} characters or less.`\nexport const IsValidRefPage = v.pipe(\n v.string(InvalidInputRobot),\n v.trim(),\n v.maxLength(LIMIT_MAX_DESTINATION, InvalidRefPageMaxLength)\n)\n\nexport const InvalidProductInterestMaxLength = `The product interest provided is too long. It must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidProductInterest = v.pipe(\n v.string(InvalidInputRobot),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidProductInterestMaxLength)\n)\n\nexport const IsValidCaptchaToken = v.pipe(\n v.string(InvalidInputRobot),\n v.trim(),\n v.maxLength(LIMIT_LONG_STRING_MAX_LENGTH, InvalidLongStringOrUndefined)\n)\n\nexport const InvalidInstrustryName = \"Please enter your industry.\"\nexport const InvalidInstrustryNameMaxLength = `The industry you provided is too long for our database, please abbreviate your industry to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidIndustryName = v.optional(\n v.pipe(\n v.string(InvalidInstrustryName),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidInstrustryNameMaxLength)\n )\n)\n\nexport const InvalidRangeValueOneToFive = `Please select a value between 1 and 5. (1 = Poor, 3 = Neutral, 5 = Excellent)`\nexport const IsValidRangeValueOneToFive = v.pipe(\n v.string(),\n v.picklist([\"1\", \"2\", \"3\", \"4\", \"5\"], InvalidRangeValueOneToFive)\n)\n\nexport const InvalidClientTermNumber = `Please provide how many months your team has used this product.`\nexport const InvalidClientTermMin = `We're sorry, you must be a client for at least 1 month to provide feedback.`\nexport const IsValidClientTerm = v.pipe(\n v.number(InvalidClientTermNumber),\n v.minValue(1, InvalidClientTermMin)\n)\n\nexport const IsValidUrl = v.pipe(\n v.string(),\n v.trim(),\n v.url(\"Please enter a valid URL.\")\n)\nexport const IsValidUrlOrUndefined = v.optional(IsValidUrl)\n\nexport const IsValidUrlList = (input: string) => {\n if (input === \"\") return true\n const urls = input.split(\",\")\n if (urls.length > 0) {\n const truthy = []\n for (let i = 0; i < urls.length; i++) {\n const result = v.safeParse(IsValidUrl, urls[i])\n truthy.push(result.success)\n }\n return truthy.every((item) => item === true)\n }\n return false\n}\n\nexport const InvalidListOfUrls = \"Please enter a list of URLs separated by commas.\"\nexport const IsValidStringSepListOfUrls = v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_LONG_STRING_MAX_LENGTH, InvalidLongStringOrUndefined),\n v.check(IsValidUrlList, InvalidListOfUrls)\n)\nexport const IsValidStringSepListOfUrlsOrUndefined = v.optional(\n IsValidStringSepListOfUrls\n)\n\nexport const InvalidDestinationUrl = \"Please remove any query parameters from the URL.\"\nexport const IsValidDestinationUrl = v.pipe(\n v.string(),\n v.trim(),\n v.url(\"Please enter a valid URL.\"),\n v.check((input: string) => {\n if (input === \"\") return false\n return input.indexOf(\"?\") === -1\n }, InvalidDestinationUrl)\n)\n\nexport const InvalidUtmLink = \"Please enter a valid URL with UTM parameters.\"\nexport const IsValidUtmLink = v.pipe(\n v.string(),\n v.trim(),\n v.url(\"Please enter a valid URL.\"),\n v.check((input: string) => {\n return input.includes(\"utm_\")\n }, InvalidUtmLink)\n)\n\nexport const InvalidUtmCampaignKeyName = `Campaign key name may only contain alphanumeric characters, and underscores.`\nexport const IsValidUtmCampaignKeyName = v.pipe(\n v.string(),\n v.check((input: string) => {\n return /^[a-zA-Z0-9_]*$/.test(input)\n }, InvalidUtmCampaignKeyName)\n)\nexport const IsValidUtmCampaignKeyNameOrUndefined = v.optional(\n IsValidUtmCampaignKeyName\n)\n\nexport const InvalidCsvFileType = \"Please upload a CSV file.\"\nexport const IsValidCsvFile = v.optional(\n v.pipe(v.blob(), v.mimeType([\"text/csv\"], InvalidCsvFileType))\n)\n\nexport const InvalidResumeFileType = \"Please upload a PDF or Word document.\"\nexport const IsValidResumeFile = v.nullable(\n v.pipe(\n v.file(InvalidResumeFileType),\n v.mimeType([\"application/pdf\"], InvalidResumeFileType)\n )\n)\n\nexport const ValidNumberOfEmployeeOptions = [\n { label: \"0-10\", value: \"0-10\" },\n { label: \"11-20\", value: \"11-20\" },\n { label: \"21-50\", value: \"21-50\" },\n { label: \"51-100\", value: \"51-100\" },\n { label: \"101-500\", value: \"101-500\" },\n { label: \"501+\", value: \"501+\" }\n] as const\n\nexport const IsValidNumberOfEmployees = v.pipe(\n v.string(),\n v.picklist(\n ValidNumberOfEmployeeOptions.map((item) => item.value),\n \"Please select an option that best describes your team size.\"\n )\n)\n\nexport const ValidJobRoleGroup = [\n {\n label: \"Founder / Owner\",\n value: \"founder,owner\"\n },\n {\n label: \"C-suite Executive\",\n value: \"executive\"\n },\n {\n label: \"Vice President\",\n value: \"vice president\"\n },\n {\n label: \"Director\",\n value: \"director\"\n },\n {\n label: \"Manager\",\n value: \"manager\"\n },\n {\n label: \"Solo-prenour\",\n value: \"solo-prenour\"\n },\n {\n label: \"Student\",\n value: \"student\"\n }\n] as const\n\nexport const IsValidUserRole = v.pipe(\n v.string(),\n v.picklist(\n ValidJobRoleGroup.map((item) => item.value),\n \"Please select an option that best describes your role.\"\n )\n)\n\nexport const ValidGcServiceOptions = [\n { label: \"Full Marketing Services\", value: \"Full Marketing Services\" },\n {\n label: \"Graphic Design / Marketing Design\",\n value: \"Graphic Design / Marketing Design\"\n },\n { label: \"Text Message Marketing\", value: \"Text Message Marketing\" },\n { label: \"Email Marketing\", value: \"Email Marketing\" },\n { label: \"Video Production\", value: \"Video Production\" },\n { label: \"Website Production\", value: \"Website Production\" },\n { label: \"Marketing Automation Software\", value: \"Marketing Automation Software\" },\n { label: \"Online Advertising\", value: \"Online Advertising\" },\n { label: \"Influencer Marketing\", value: \"Influencer Marketing\" }\n] as const\n\nexport const ValidGcVideoServiceOptions = [\n { label: \"Storyboarding\", value: \"Storyboarding\" },\n { label: \"Voiceovers\", value: \"Voiceovers\" },\n { label: \"Video Commercials / Interviews\", value: \"Video Commercials / Interviews\" },\n {\n label: \"Short Form Video Editing (social posts/stories)\",\n value: \"Short Form Video Editing (social posts/stories)\"\n },\n { label: \"Product Tours\", value: \"Product Tours\" },\n { label: \"Model Home / Community Tours\", value: \"Model Home / Community Tours\" },\n { label: \"Matterport Interactive Tours\", value: \"Matterport Interactive Tours\" },\n { label: \"3D Flyover Videos\", value: \"3D Flyover Videos\" }\n] as const\n\nexport const ValidGcDesiredContentOptions = [\n { label: \"Blog Posts\", value: \"Blog Posts\" },\n { label: \"Podcasting\", value: \"Podcasting\" },\n { label: \"Live Streams\", value: \"Live Streams\" },\n { label: \"Newsletters\", value: \"Newsletters\" },\n { label: \"Freebies / Toolkits\", value: \"Freebies / Toolkits\" },\n { label: \"Community Updates\", value: \"Community Updates\" }\n] as const\n\nexport const ValidRatingRange5 = [\n { label: \"1\", value: \"1\" },\n { label: \"2\", value: \"2\" },\n { label: \"3\", value: \"3\" },\n { label: \"4\", value: \"4\" },\n { label: \"5\", value: \"5\" }\n] as const\n\n// cost\nexport const IsValidCost = v.pipe(\n v.number(\"please enter a cost value\"),\n v.minValue(0),\n v.maxValue(\n 1000000,\n \"your campaign cost exceeds our $1 million dollar limit, please contact us for customized solutions\"\n )\n)\nexport const IsValidOrUndefinedCost = v.undefinedable(IsValidCost)\n\n// label\nexport const IsValidLabel = v.pipe(\n v.string(\"please provide a label\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_VALUE,\n `the label is too short, it must be at least ${LIMIT_MIN_VALUE} characters`\n ),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n `the label is too long, it must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less`\n )\n)\nexport const IsValidOrUndefinedLabel = v.undefinedable(IsValidLabel)\n\n// value\nexport const IsValidValue = v.pipe(\n v.string(\"please provide a value\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_VALUE,\n `the value is too short, it must be at least ${LIMIT_MIN_VALUE} characters`\n ),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n `the value is too long, it must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `the value ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedValue = v.undefinedable(IsValidValue)\n\n// description (optional)\nexport const IsValidDescription = v.nullable(\n v.pipe(\n v.string(\"the description must be a string\"),\n v.trim(),\n v.maxLength(\n LIMIT_MAX_DESCRIPTION,\n `the description is too long, it must be ${LIMIT_MAX_DESCRIPTION} characters or less`\n )\n )\n)\nexport const IsValidOrUndefinedDescription = v.undefinedable(IsValidDescription)\n\n// is_active\nexport const IsValidIsActive = v.boolean(\"isActive must be a boolean\")\nexport const IsValidOrUndefinedIsActive = v.undefinedable(IsValidIsActive)\n\n// is_secure\nexport const IsValidIsSecure = v.boolean(\"isSecure must be a boolean\")\nexport const IsValidOrUndefinedIsSecure = v.undefinedable(IsValidIsSecure)\n\n// generic name\nexport const IsValidName = v.pipe(\n v.string(\"please provide a name\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_NAME,\n `the name is too short, it must be at least ${LIMIT_MIN_NAME} characters`\n ),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n `the name is too long, it must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less`\n )\n)\nexport const IsValidOrUndefinedName = v.undefinedable(IsValidName)\n","import * as v from \"valibot\"\nimport {\n ERROR_MESSAGE_REGEX_DOMAIN,\n LIMIT_MAX_DESTINATION,\n LIMIT_MAX_DOMAIN,\n LIMIT_MAX_FRAGMENT,\n LIMIT_MAX_PATH,\n LIMIT_MAX_QUERY,\n LIMIT_MIN_DESTINATION,\n LIMIT_MIN_DOMAIN,\n LIMIT_MIN_FRAGMENT,\n LIMIT_MIN_PATH,\n LIMIT_MIN_QUERY,\n REGEX_DOMAIN\n} from \"../constants\"\n\n// destination\nexport const IsValidUrlDestination = v.pipe(\n v.string(\"please provide a url destination\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_DESTINATION,\n `the url destination is too short, it must be at least ${LIMIT_MIN_DESTINATION} characters`\n ),\n v.maxLength(\n LIMIT_MAX_DESTINATION,\n `the url destination is too long, it must be ${LIMIT_MAX_DESTINATION} characters or less`\n ),\n v.url(\"please provide a valid url\")\n)\nexport const IsValidOrUndefinedUrlDestination = v.undefinedable(IsValidUrlDestination)\n\n// protocol\nexport const IsValidUrlProtocol = v.picklist(\n [\"http\", \"https\"],\n \"please provide a valid url protocol\"\n)\nexport const IsValidOrUndefinedUrlProtocol = v.undefinedable(IsValidUrlProtocol)\n\n// domain\nexport const IsValidUrlDomain = v.pipe(\n v.string(\"please provide a domain\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_DOMAIN,\n `the domain is too short, it must be at least ${LIMIT_MIN_DOMAIN} characters`\n ),\n v.maxLength(\n LIMIT_MAX_DOMAIN,\n `the domain is too long, it must be ${LIMIT_MAX_DOMAIN} characters or less`\n ),\n v.regex(REGEX_DOMAIN, ERROR_MESSAGE_REGEX_DOMAIN)\n)\nexport const IsValidOrUndefinedUrlDomain = v.undefinedable(IsValidUrlDomain)\n\n// path\nexport const IsValidUrlPath = v.pipe(\n v.string(\"please provide a url path\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_PATH,\n `the url path is too short, it must be at least ${LIMIT_MIN_PATH} characters`\n ),\n v.maxLength(\n LIMIT_MAX_PATH,\n `the url path is too long, it must be ${LIMIT_MAX_PATH} characters or less`\n )\n)\nexport const IsValidOrUndefinedUrlPath = v.undefinedable(IsValidUrlPath)\n\n// query\nexport const IsValidUrlQuery = v.pipe(\n v.string(\"please provide a url query\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_QUERY,\n `the url query is too short, it must be at least ${LIMIT_MIN_QUERY} characters`\n ),\n v.maxLength(\n LIMIT_MAX_QUERY,\n `the url query is too long, it must be ${LIMIT_MAX_QUERY} characters or less`\n )\n)\nexport const IsValidOrUndefinedUrlQuery = v.undefinedable(IsValidUrlQuery)\n\n// fragment\nexport const IsValidUrlFragment = v.pipe(\n v.string(\"please provide a url hash/fragment\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_FRAGMENT,\n `the url hash/fragment is too short, it must be at least ${LIMIT_MIN_FRAGMENT} characters`\n ),\n v.maxLength(\n LIMIT_MAX_FRAGMENT,\n `the url hash/fragment is too long, it must be ${LIMIT_MAX_FRAGMENT} characters or less`\n )\n)\nexport const IsValidOrUndefinedUrlFragment = v.undefinedable(IsValidUrlFragment)\n","import * as v from \"valibot\"\nimport {\n ERROR_MESSAGE_REGEX_UTM_VALUE,\n LIMIT_MAX_EMAIL,\n LIMIT_MAX_PASSWORD,\n LIMIT_MAX_PROVIDER,\n LIMIT_MAX_USERNAME,\n LIMIT_MIN_EMAIL,\n LIMIT_MIN_PASSWORD,\n LIMIT_MIN_USERNAME,\n REGEX_UTM_VALUE\n} from \"../constants\"\n\nexport const IsValidUsername = v.pipe(\n v.string(\"please provide a username\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_USERNAME,\n `your username is too short, it must be at least ${LIMIT_MIN_USERNAME} characters`\n ),\n v.maxLength(\n LIMIT_MAX_USERNAME,\n `your username is too long, it must be ${LIMIT_MAX_USERNAME} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `your username ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUsername = v.undefinedable(IsValidUsername)\n\nexport const IsValidUserEmail = v.pipe(\n v.string(\"please provide an email\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_EMAIL,\n `your email is too short, it must be at least ${LIMIT_MIN_EMAIL} characters`\n ),\n v.maxLength(\n LIMIT_MAX_EMAIL,\n `your email is too long, it must be ${LIMIT_MAX_EMAIL} characters or less`\n ),\n v.email(\"please provide a valid email address\")\n)\nexport const IsValidOrUndefinedUserEmail = v.undefinedable(IsValidUserEmail)\n\nexport const IsValidPassword = v.pipe(\n v.string(\"a password is required\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_PASSWORD,\n `your password is too short, it must be at least ${LIMIT_MIN_PASSWORD} characters`\n ),\n v.maxLength(\n LIMIT_MAX_PASSWORD,\n `your password is too long, it must be ${LIMIT_MAX_PASSWORD} characters or less`\n )\n)\nexport const IsValidOrUndefinedPassword = v.undefinedable(IsValidPassword)\n\nexport const IsValidProvider = v.pipe(\n v.string(\"please enter a provider\"),\n v.trim(),\n v.maxLength(\n LIMIT_MAX_PROVIDER,\n `the provider string is too long, it must be ${LIMIT_MAX_PROVIDER} characters or less`\n )\n)\nexport const IsValidOrUndefinedProvider = v.undefinedable(IsValidProvider)\n\nexport const IsValidConfirmed = v.boolean()\nexport const IsValidOrUndefinedConfirmed = v.undefinedable(IsValidConfirmed)\n\nexport const IsValidBlocked = v.boolean()\nexport const IsValidOrUndefinedBlocked = v.undefinedable(IsValidBlocked)\n","import * as v from \"valibot\"\nimport {\n ERROR_MESSAGE_REGEX_UTM_VALUE,\n LIMIT_MAX_UTM_CAMPAIGN,\n LIMIT_MAX_UTM_CONTENT,\n LIMIT_MAX_UTM_CREATIVE_FORMAT,\n LIMIT_MAX_UTM_ID,\n LIMIT_MAX_UTM_MEDIUM,\n LIMIT_MAX_UTM_SOURCE,\n LIMIT_MAX_UTM_TERM,\n LIMIT_MIN_UTM_CAMPAIGN,\n LIMIT_MIN_UTM_CONTENT,\n LIMIT_MIN_UTM_CREATIVE_FORMAT,\n LIMIT_MIN_UTM_ID,\n LIMIT_MIN_UTM_MEDIUM,\n LIMIT_MIN_UTM_SOURCE,\n LIMIT_MIN_UTM_TERM,\n REGEX_UTM_VALUE\n} from \"../constants\"\n\n// utm_source\nexport const IsValidUrlUtmSource = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_SOURCE,\n `the utm_source is too short, it must be at least ${LIMIT_MIN_UTM_SOURCE} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_SOURCE,\n `the utm_source is too long, it must be ${LIMIT_MAX_UTM_SOURCE} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_source ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmSource = v.undefinedable(IsValidUrlUtmSource)\n\n// utm_medium\nexport const IsValidUrlUtmMedium = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_MEDIUM,\n `the utm_medium is too short, it must be at least ${LIMIT_MIN_UTM_MEDIUM} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_MEDIUM,\n `the utm_medium is too long, it must be ${LIMIT_MAX_UTM_MEDIUM} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_medium ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmMedium = v.undefinedable(IsValidUrlUtmMedium)\n\n// utm_campaign\nexport const IsValidUrlUtmCampaign = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_CAMPAIGN,\n `the utm_campaign is too short, it must be at least ${LIMIT_MIN_UTM_CAMPAIGN} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_CAMPAIGN,\n `the utm_campaign is too long, it must be ${LIMIT_MAX_UTM_CAMPAIGN} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_campaign ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmCampaign = v.undefinedable(IsValidUrlUtmCampaign)\n\n// utm_creative_format\nexport const IsValidUrlUtmCreativeFormat = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_CREATIVE_FORMAT,\n `the utm_creative_format is too short, it must be at least ${LIMIT_MIN_UTM_CREATIVE_FORMAT} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_CREATIVE_FORMAT,\n `the utm_creative_format is too long, it must be ${LIMIT_MAX_UTM_CREATIVE_FORMAT} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_creative_format ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmCreativeFormat = v.undefinedable(\n IsValidUrlUtmCreativeFormat\n)\n\n// utm_content\nexport const IsValidUrlUtmContent = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_CONTENT,\n `the utm_content is too short, it must be at least ${LIMIT_MIN_UTM_CONTENT} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_CONTENT,\n `the utm_content is too long, it must be ${LIMIT_MAX_UTM_CONTENT} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_content ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmContent = v.undefinedable(IsValidUrlUtmContent)\n\n// utm_term\nexport const IsValidUrlUtmTerm = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_TERM,\n `the utm_term is too short, it must be at least ${LIMIT_MIN_UTM_TERM} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_TERM,\n `the utm_term is too long, it must be ${LIMIT_MAX_UTM_TERM} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_term ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmTerm = v.undefinedable(IsValidUrlUtmTerm)\n\n// utm_id\nexport const IsValidUrlUtmId = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_ID,\n `the utm_id is too short, it must be at least ${LIMIT_MIN_UTM_ID} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_ID,\n `the utm_id is too long, it must be ${LIMIT_MAX_UTM_ID} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_id ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmId = v.undefinedable(IsValidUrlUtmId)\n","import type { BaseDocument, MediaUploadDocument } from \"../core\";\nimport type { ClientDocument } from \"./client.document\";\n\nexport const ClientProjectStatusOptions = [\n \"coming-soon\",\n \"now-open\",\n \"for-sale\",\n \"sold-out\",\n \"available\",\n];\nexport type ClientProjectStatus = (typeof ClientProjectStatusOptions)[number];\n\nexport type ClientProjectDocument = {\n title: string;\n slug: string;\n project_status: ClientProjectStatus[];\n clients?: ClientDocument[];\n featured_image?: MediaUploadDocument | null;\n} & BaseDocument;\n","import * as v from \"valibot\";\nimport {\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE,\n LIMIT_CLIENT_PAGINATION_MAX_SIZE,\n} from \"../constants\";\nimport { IsValidReferenceDocumentId, IsValidShortString } from \"../validators\";\nimport { ClientProjectStatusOptions } from \"../types\";\n\nexport const QueryStrapiSearchClientProjects = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(\n v.number(),\n v.minValue(1),\n v.maxValue(LIMIT_CLIENT_PAGINATION_MAX_SIZE)\n ),\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE\n ),\n title: v.optional(IsValidShortString),\n slug: v.optional(IsValidShortString),\n project_status: v.optional(v.picklist(ClientProjectStatusOptions)),\n clientId: v.optional(IsValidReferenceDocumentId),\n});\n\nexport type QueryStrapiSearchClientProjects = v.InferOutput<\n typeof QueryStrapiSearchClientProjects\n>;\n","import * as v from \"valibot\";\nimport {\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE,\n LIMIT_CLIENT_PAGINATION_MAX_SIZE,\n} from \"../constants\";\nimport { IsValidShortString } from \"../validators\";\n\nexport const QueryStrapiSearchClients = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(\n v.number(),\n v.minValue(1),\n v.maxValue(LIMIT_CLIENT_PAGINATION_MAX_SIZE)\n ),\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE\n ),\n title: v.optional(IsValidShortString),\n teamwork_id: v.optional(IsValidShortString),\n teamwork_name: v.optional(IsValidShortString),\n utm_sheet_id: v.optional(IsValidShortString),\n allow_create_utm_link: v.optional(v.boolean()),\n classification: v.optional(v.picklist([\"organic\", \"paid\"])),\n is_featured: v.optional(v.boolean()),\n is_active: v.optional(v.boolean()),\n is_organic_social: v.optional(v.boolean()),\n is_paid_media: v.optional(v.boolean()),\n});\n\nexport type QueryStrapiSearchClients = v.InferOutput<\n typeof QueryStrapiSearchClients\n>;\n","import * as v from \"valibot\"\nimport { LIMIT_PAGINATION_DEFAULT_SIZE, LIMIT_PAGINATION_MAX_SIZE } from \"../constants\"\nimport {\n IsValidReferenceDocumentId,\n IsValidReferenceId,\n IsValidShortString,\n IsValidUserEmail,\n IsValidUserPhoneRequired\n} from \"../validators\"\n\n// Paginated Query\nexport const QueryStrapiPaginated = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(v.number(), v.minValue(1), v.maxValue(LIMIT_PAGINATION_MAX_SIZE)),\n LIMIT_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_PAGINATION_DEFAULT_SIZE\n )\n})\nexport type QueryStrapiPaginated = v.InferOutput<typeof QueryStrapiPaginated>\n\n// Query by: ID, Document ID\nexport const QueryStrapiById = v.object({\n id: IsValidReferenceId\n})\nexport type QueryStrapiById = v.InferOutput<typeof QueryStrapiById>\n\nexport const QueryStrapiByDocumentId = v.object({\n documentId: IsValidReferenceDocumentId\n})\nexport type QueryStrapiByDocumentId = v.InferOutput<typeof QueryStrapiByDocumentId>\n\n// Query by: Slug, Email, Phone, or Name\nexport const QueryStrapiBySlug = v.object({\n slug: IsValidShortString\n})\nexport type QueryStrapiBySlug = v.InferOutput<typeof QueryStrapiBySlug>\n\nexport const QueryStrapiByEmail = v.object({\n email: IsValidUserEmail\n})\nexport type QueryStrapiByEmail = v.InferOutput<typeof QueryStrapiByEmail>\n\nexport const QueryStrapiByPhone = v.object({\n phone: IsValidUserPhoneRequired\n})\nexport type QueryStrapiByPhone = v.InferOutput<typeof QueryStrapiByPhone>\n\nexport const QueryStrapiByName = v.object({\n name: IsValidShortString\n})\nexport type QueryStrapiByName = v.InferOutput<typeof QueryStrapiByName>\n","import * as v from \"valibot\"\nimport {\n IsValidCaptchaToken,\n IsValidCompanyName,\n IsValidFirstName,\n IsValidLastName,\n IsValidProductInterest,\n IsValidRefPage,\n IsValidUserConsent,\n IsValidUserEmail,\n IsValidUserMessage,\n IsValidUserPhoneRequired,\n IsValidUserTitle\n} from \"../validators\"\n\nexport const SCreateLead = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n phone: IsValidUserPhoneRequired,\n company: IsValidCompanyName,\n title: IsValidUserTitle,\n message: IsValidUserMessage,\n product_interest: IsValidProductInterest,\n email_consent: IsValidUserConsent,\n sms_consent: IsValidUserConsent,\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\n\nexport type SCreateLead = v.InferOutput<typeof SCreateLead>\n","import * as v from \"valibot\"\nimport {\n IsValidCaptchaToken,\n IsValidFirstName,\n IsValidLastName,\n IsValidRefPage,\n IsValidUserConsent,\n IsValidUserEmail\n} from \"../validators\"\n\nexport const SCreateNewsletterSignup = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n // hidden fields\n email_consent: IsValidUserConsent,\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\n\nexport type SCreateNewsletterSignup = v.InferOutput<typeof SCreateNewsletterSignup>\n","import * as v from \"valibot\"\nimport {\n IsValidCaptchaToken,\n IsValidFileReferenceId,\n IsValidFirstName,\n IsValidLastName,\n IsValidRefPage,\n IsValidResumeFile,\n IsValidShortString,\n IsValidStringSepListOfUrlsOrUndefined,\n IsValidUserConsent,\n IsValidUserEmail,\n IsValidUserMessage,\n IsValidUserPhone\n} from \"../validators\"\n\nexport const SCreateResume = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n phone: IsValidUserPhone,\n message: IsValidUserMessage,\n social_profiles: IsValidStringSepListOfUrlsOrUndefined,\n file: IsValidResumeFile, // File object\n email_consent: IsValidUserConsent,\n sms_consent: IsValidUserConsent,\n // hidden fields\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\nexport type SCreateResume = v.InferOutput<typeof SCreateResume>\n\nexport const SCreateResumeInfo = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n phone: IsValidUserPhone,\n message: IsValidUserMessage,\n social_profiles: IsValidStringSepListOfUrlsOrUndefined,\n file: IsValidFileReferenceId, // File reference ID\n email_consent: IsValidUserConsent,\n sms_consent: IsValidUserConsent,\n // hidden fields\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\nexport type SCreateResumeInfo = v.InferOutput<typeof SCreateResumeInfo>\n\nexport const SUpdateResumeInfo = v.object({\n documentId: IsValidShortString,\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n phone: IsValidUserPhone,\n message: IsValidUserMessage,\n social_profiles: IsValidStringSepListOfUrlsOrUndefined,\n file: IsValidFileReferenceId, // File reference ID\n email_consent: IsValidUserConsent,\n sms_consent: IsValidUserConsent,\n // hidden fields\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\n\nexport type SUpdateResumeInfo = v.InferOutput<typeof SUpdateResumeInfo>\n","import * as v from \"valibot\"\nimport {\n IsValidCaptchaToken,\n IsValidFirstName,\n IsValidLastName,\n IsValidRefPage,\n IsValidShortString,\n IsValidUserConsent,\n IsValidUserEmail\n} from \"../validators\"\n\nexport const SharpSpringSignUpToDownload = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n // hidden fields\n download_key: IsValidShortString,\n email_consent: IsValidUserConsent,\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\nexport type SharpSpringSignUpToDownload = v.InferOutput<\n typeof SharpSpringSignUpToDownload\n>\n","import * as v from \"valibot\"\n\nexport const SUpdateTrendsLikes = v.object({\n documentId: v.string(),\n likes: v.number()\n})\n\nexport type SUpdateTrendsLikes = v.InferOutput<typeof SUpdateTrendsLikes>\n","import * as v from \"valibot\"\nimport {\n LIMIT_BLOG_POST_PAGINATION_MAX_SIZE,\n LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE\n} from \"../constants\"\n\nexport const QueryStrapiPaginatedUrlRedirects = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(\n v.number(),\n v.minValue(1),\n v.maxValue(LIMIT_BLOG_POST_PAGINATION_MAX_SIZE)\n ),\n LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE\n )\n})\n\nexport type QueryStrapiPaginatedUrlRedirects = v.InferOutput<\n typeof QueryStrapiPaginatedUrlRedirects\n>\n\nexport const QueryStrapiUrlRedirectsByFrom = v.object({\n from: v.string()\n})\n\nexport type QueryStrapiUrlRedirectsByFrom = v.InferOutput<\n typeof QueryStrapiUrlRedirectsByFrom\n>\n","import * as v from \"valibot\"\nimport { IsValidPassword, IsValidUserEmail, IsValidUsername } from \"../validators\"\n\n// JWT\nexport const SUserToken = v.object({\n token: v.string()\n})\nexport type SUserToken = v.InferOutput<typeof SUserToken>\n\n// AUTH LOCAL\n// LOGIN\nexport const SLoginUser = v.object({\n identifier: IsValidUserEmail,\n password: IsValidPassword\n})\nexport type SLoginUser = v.InferOutput<typeof SLoginUser>\n\n// REGISTER\nexport const SRegisterUser = v.object({\n username: IsValidUsername,\n email: IsValidUserEmail,\n password: IsValidPassword\n})\nexport type SRegisterUser = v.InferOutput<typeof SRegisterUser>\n\n// FORGOT PASSWORD\nexport const SForgotUserPassword = v.object({\n email: IsValidUserEmail\n})\nexport type SForgotUserPassword = v.InferOutput<typeof SForgotUserPassword>\n\n// REQUEST CONFIRM EMAIL\nexport const SRequestConfirmEmail = v.object({\n email: IsValidUserEmail\n})\nexport type SRequestConfirmEmail = v.InferOutput<typeof SRequestConfirmEmail>\n\n// RESET PASSWORD\nexport const SResetUserPassword = v.object({\n password: IsValidPassword,\n passwordConfirmation: IsValidPassword,\n code: v.string()\n})\nexport type SResetUserPassword = v.InferOutput<typeof SResetUserPassword>\n\n// CHANGE PASSWORD\nexport const SChangePassword = v.pipe(\n v.object({\n currentPassword: IsValidPassword,\n password: IsValidPassword,\n passwordConfirmation: IsValidPassword\n }),\n v.forward(\n v.partialCheck(\n [[\"password\"], [\"passwordConfirmation\"]],\n (input) => input.password === input.passwordConfirmation,\n \"Your new passwords do not match.\"\n ),\n [\"passwordConfirmation\"]\n )\n)\nexport type SChangePassword = v.InferOutput<typeof SChangePassword>\n\n// AUTH PROVIDER\n// Auth Provider Token\nexport const SAuthRawAccessToken = v.object({\n access_token: v.optional(v.string()),\n expires_in: v.optional(v.number()),\n scope: v.optional(v.string()),\n token_type: v.optional(v.string()),\n id_token: v.optional(v.string())\n})\nexport type SAuthRawAccessToken = v.InferOutput<typeof SAuthRawAccessToken>\n\n// Auth Connect Provider Redirect Search\nexport const SAuthConnectProviderRedirectSearch = v.object({\n id_token: v.string(),\n access_token: v.string(),\n raw: v.optional(SAuthRawAccessToken)\n})\nexport type SAuthConnectProviderRedirectSearch = v.InferOutput<\n typeof SAuthConnectProviderRedirectSearch\n>\n\n// Auth Connect Provider Confirmation\nexport const SAuthConnectProviderConfirmation = v.object({\n provider: v.string(),\n search: SAuthConnectProviderRedirectSearch\n})\nexport type SAuthConnectProviderConfirmation = v.InferOutput<\n typeof SAuthConnectProviderConfirmation\n>\n","import * as v from \"valibot\"\nimport {\n LIMIT_SHORT_STRING_MAX_LENGTH,\n LIMIT_USER_PAGINATION_DEFAULT_SIZE,\n LIMIT_USER_PAGINATION_MAX_SIZE\n} from \"../constants\"\nimport { IsValidReferenceDocumentId, IsValidReferenceId } from \"../validators\"\n\n// LIST\nexport const QueryStrapiUsers = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(v.number(), v.minValue(3), v.maxValue(LIMIT_USER_PAGINATION_MAX_SIZE)),\n LIMIT_USER_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_USER_PAGINATION_DEFAULT_SIZE\n )\n})\nexport type QueryStrapiUsers = v.InferOutput<typeof QueryStrapiUsers>\n\nexport const QueryStrapiUsersByIdentifier = v.object({\n identifier: v.pipe(v.string(), v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH)),\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(v.number(), v.minValue(3), v.maxValue(LIMIT_USER_PAGINATION_MAX_SIZE)),\n LIMIT_USER_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_USER_PAGINATION_DEFAULT_SIZE\n )\n})\nexport type QueryStrapiUsersByIdentifier = v.InferOutput<\n typeof QueryStrapiUsersByIdentifier\n>\n\n// READ\nexport const SReadUserById = v.object({\n id: IsValidReferenceId\n})\nexport type SReadUserById = v.InferOutput<typeof SReadUserById>\n\nexport const SReadUserByDocumentId = v.object({\n documentId: IsValidReferenceDocumentId\n})\nexport type SReadUserByDocumentId = v.InferOutput<typeof SReadUserByDocumentId>\n","import * as v from \"valibot\"\nimport { IsValidFirstName, IsValidPreferredName, IsValidLastName, IsValidReferenceDocumentId, IsValidReferenceId } from \"../validators\"\n\n// READ\nexport const SReadUserAccountById = v.object({\n id: IsValidReferenceId\n})\nexport type SReadUserAccountById = v.InferOutput<typeof SReadUserAccountById>\n\nexport const SReadUserAccountByDocumentId = v.object({\n documentId: IsValidReferenceDocumentId\n})\nexport type SReadUserAccountByDocumentId = v.InferOutput<typeof SReadUserAccountByDocumentId>\n\n// UPDATE\nexport const SUpdateUserAccount = v.object({\n documentId: IsValidReferenceDocumentId,\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n preferred_name: IsValidPreferredName,\n})\nexport type SUpdateUserAccount = v.InferOutput<typeof SUpdateUserAccount>\n\nexport const SUpdateUserAccountFirstName = v.object({\n documentId: IsValidReferenceDocumentId,\n first_name: IsValidFirstName,\n})\nexport type SUpdateUserAccountFirstName = v.InferOutput<typeof SUpdateUserAccountFirstName>\n\nexport const SUpdateUserAccountLastName = v.object({\n documentId: IsValidReferenceDocumentId,\n last_name: IsValidLastName,\n})\nexport type SUpdateUserAccountLastName = v.InferOutput<typeof SUpdateUserAccountLastName>\n\nexport const SUpdateUserAccountPreferredName = v.object({\n documentId: IsValidReferenceDocumentId,\n preferred_name: IsValidPreferredName,\n})\nexport type SUpdateUserAccountPreferredName = v.InferOutput<typeof SUpdateUserAccountPreferredName>\n","import * as v from \"valibot\";\nimport {\n LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE,\n LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE,\n} from \"../constants\";\nimport {\n IsValidDestinationUrl,\n IsValidIsActive,\n IsValidLongString,\n IsValidLongStringOrUndefined,\n IsValidOrUndefinedUrlUtmContent,\n IsValidOrUndefinedUrlUtmCreativeFormat,\n IsValidOrUndefinedUrlUtmId,\n IsValidReferenceDocumentId,\n IsValidReferenceId,\n IsValidShortString,\n IsValidShortStringOrUndefined,\n IsValidStringListOrUndefined,\n IsValidUrl,\n IsValidUrlUtmCampaign,\n IsValidUrlUtmContent,\n IsValidUrlUtmCreativeFormat,\n IsValidUrlUtmId,\n IsValidUrlUtmMedium,\n IsValidUrlUtmSource,\n IsValidUtmCampaignKeyName,\n IsValidUtmCampaignKeyNameOrUndefined,\n IsValidUtmLink,\n} from \"../validators\";\n\n// LIST\nexport const QueryStrapiSearchUtmTrackingLinks = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(\n v.number(),\n v.minValue(1),\n v.maxValue(LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE)\n ),\n LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE\n ),\n url_destination: v.optional(IsValidDestinationUrl),\n utm_medium: v.optional(IsValidUrlUtmMedium),\n utm_source: v.optional(IsValidUrlUtmSource),\n utm_campaign: v.optional(IsValidUrlUtmCampaign),\n utm_content: v.optional(IsValidUrlUtmContent),\n utm_creative_format: v.optional(IsValidUrlUtmCreativeFormat),\n utm_id: v.optional(IsValidUrlUtmId),\n campaign_phase: v.optional(IsValidShortString),\n campaign_product: v.optional(IsValidShortString),\n campaign_targeting: v.optional(IsValidShortString),\n campaign_key: v.optional(IsValidShortString),\n creative_format: v.optional(IsValidShortString),\n creative_format_variants: v.optional(v.array(IsValidShortString)),\n url: v.optional(IsValidUrl),\n is_active: v.optional(v.boolean()),\n notes: v.optional(IsValidShortString),\n});\n\nexport type QueryStrapiSearchUtmTrackingLinks = v.InferOutput<\n typeof QueryStrapiSearchUtmTrackingLinks\n>;\n\n// CREATE\nexport const SCreateUtmTrackingLinkDocument = v.object({\n creator: IsValidReferenceDocumentId,\n client: IsValidReferenceDocumentId,\n url_destination: IsValidDestinationUrl,\n utm_source: IsValidUrlUtmSource,\n utm_medium: IsValidUrlUtmMedium,\n utm_campaign: IsValidUrlUtmCampaign,\n utm_content: IsValidShortStringOrUndefined,\n utm_creative_format: IsValidShortStringOrUndefined,\n utm_id: IsValidShortStringOrUndefined,\n campaign_phase: IsValidShortString,\n campaign_product: IsValidShortStringOrUndefined,\n campaign_targeting: IsValidStringListOrUndefined,\n campaign_key: IsValidUtmCampaignKeyNameOrUndefined,\n creative_format: IsValidShortStringOrUndefined,\n creative_format_variants: IsValidStringListOrUndefined,\n url: IsValidUtmLink,\n is_active: IsValidIsActive,\n notes: IsValidLongStringOrUndefined,\n});\nexport type SCreateUtmTrackingLinkDocumentInput = v.InferInput<\n typeof SCreateUtmTrackingLinkDocument\n>;\nexport type SCreateUtmTrackingLinkDocument = v.InferOutput<\n typeof SCreateUtmTrackingLinkDocument\n>;\n\nexport const SCreateUtmTrackingLinkParts = v.object({\n url_destination: IsValidDestinationUrl,\n utm_source: IsValidUrlUtmSource,\n utm_medium: IsValidUrlUtmMedium,\n utm_campaign: IsValidUrlUtmCampaign,\n utm_content: IsValidShortStringOrUndefined,\n utm_creative_format: IsValidShortStringOrUndefined,\n utm_id: IsValidShortStringOrUndefined,\n campaign_phase: IsValidShortString,\n campaign_product: IsValidShortStringOrUndefined,\n campaign_targeting: IsValidStringListOrUndefined,\n campaign_key: IsValidUtmCampaignKeyNameOrUndefined,\n creative_format: IsValidShortStringOrUndefined,\n creative_format_variants: IsValidStringListOrUndefined,\n url: IsValidUtmLink,\n is_active: IsValidIsActive,\n notes: IsValidLongStringOrUndefined,\n});\nexport type SCreateUtmTrackingLinkParts = v.InferOutput<\n typeof SCreateUtmTrackingLinkParts\n>;\n\nexport const SFormCreateMultipleUtmTrackingLinkDocuments = v.object({\n creator: IsValidReferenceDocumentId,\n client: IsValidReferenceDocumentId,\n links: v.pipe(\n v.array(SCreateUtmTrackingLinkParts),\n v.minLength(1, \"You must provide at least one link to create.\"),\n v.maxLength(100, \"You can create a maximum of 100 links at once.\")\n ),\n});\nexport type SFormCreateMultipleUtmTrackingLinkDocuments = v.InferInput<\n typeof SFormCreateMultipleUtmTrackingLinkDocuments\n>;\n\n// READ\nexport const SReadUtmTrackingLinkDocumentByDocumentId = v.object({\n documentId: IsValidReferenceDocumentId,\n});\nexport type SReadUtmTrackingLinkDocumentByDocumentId = v.InferOutput<\n typeof SReadUtmTrackingLinkDocumentByDocumentId\n>;\n\n// UPDATE\nexport const SUpdateUtmTrackingLinkDocument = v.object({\n creator: v.optional(IsValidReferenceDocumentId),\n client: v.optional(IsValidReferenceDocumentId),\n url_destination: IsValidDestinationUrl,\n utm_source: IsValidUrlUtmSource,\n utm_medium: IsValidUrlUtmMedium,\n utm_campaign: IsValidUrlUtmCampaign,\n utm_content: IsValidShortStringOrUndefined,\n utm_creative_format: IsValidShortStringOrUndefined,\n utm_id: IsValidShortStringOrUndefined,\n campaign_phase: IsValidShortString,\n campaign_product: IsValidShortStringOrUndefined,\n campaign_targeting: IsValidStringListOrUndefined,\n campaign_key: IsValidUtmCampaignKeyNameOrUndefined,\n creative_format: IsValidShortStringOrUndefined,\n creative_format_variants: IsValidStringListOrUndefined,\n url: IsValidUtmLink,\n is_active: IsValidIsActive,\n notes: IsValidLongStringOrUndefined,\n});\nexport type SUpdateUtmTrackingLinkDocument = v.InferOutput<\n typeof SUpdateUtmTrackingLinkDocument\n>;\n\nexport const SUpdateUtmTrackingLinkDocumentRequest = v.object({\n documentId: IsValidReferenceDocumentId,\n data: SUpdateUtmTrackingLinkDocument,\n});\nexport type SUpdateUtmTrackingLinkDocumentRequest = v.InferOutput<\n typeof SUpdateUtmTrackingLinkDocumentRequest\n>;\n\n// DELETE\nexport const SDeleteUtmTrackingLinkDocument = v.object({\n documentId: IsValidReferenceDocumentId,\n});\nexport type SDeleteUtmTrackingLinkDocument = v.InferOutput<\n typeof SDeleteUtmTrackingLinkDocument\n>;\n","import * as v from \"valibot\"\n\ntype ValidateAndCleanSuccess<T> = {\n data: Partial<T>\n error: null\n errors: null\n}\n\ntype ValidateAndCleanFailure = {\n data: null\n error: string | null\n errors: Record<string, string> | null\n}\n\ntype ValidateAndCleanResult<T> = ValidateAndCleanSuccess<T> | ValidateAndCleanFailure\n\nexport function validateAndClean<T>(\n schema: v.BaseSchema<T, Partial<T>, v.BaseIssue<T>>,\n input: unknown\n): ValidateAndCleanResult<T> {\n try {\n const parsed = v.parse(schema, input)\n return { data: parsed, error: null, errors: null }\n } catch (err: unknown) {\n if (err instanceof v.ValiError) {\n const errors: Record<string, string> = {}\n for (const issue of err.issues) {\n const field = issue.path?.[0]?.key || \"unknown\"\n errors[field] = issue.message\n }\n return { data: null, error: null, errors }\n }\n let errorMessage = \"Unknown error\"\n if (err instanceof Error) {\n errorMessage = err.message\n } else {\n errorMessage = String(err)\n }\n return { data: null, error: errorMessage, errors: null }\n }\n}\n\nexport function isValidationSuccess<T>(\n result: ValidateAndCleanResult<T>\n): result is ValidateAndCleanSuccess<T> {\n return result.error === null && result.errors === null\n}\n\nexport function isValidationFailure<T>(\n result: ValidateAndCleanResult<T>\n): result is ValidateAndCleanFailure {\n return result.error !== null || result.errors !== null\n}\n\nexport function omitUndefined<T extends Record<string, any>>(obj: T): Partial<T> {\n const result: Partial<T> = {}\n for (const key in obj) {\n if (obj[key] !== undefined) {\n result[key] = obj[key]\n }\n }\n return result\n}\n","export function dateToday(): Date {\n const date = new Date()\n date.setHours(0, 0, 0, 0)\n return date\n}\n\nexport function datePlusDays(today: Date, days: number = 30): Date {\n const date = new Date(today)\n date.setDate(date.getDate() + days)\n date.setHours(23, 59, 59, 999)\n return date\n}\n"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -377,7 +377,7 @@ declare const SUpdateUserAccount: v.ObjectSchema<{
|
|
|
377
377
|
readonly documentId: v.SchemaWithPipe<readonly [v.StringSchema<"please provide a valid document id">, v.TrimAction, v.MinLengthAction<string, 1, "the document id is too short, it must be at least 1 character">, v.MaxLengthAction<string, 255, "the document id is too long, it must be 255 characters or less">]>;
|
|
378
378
|
readonly first_name: v.SchemaWithPipe<readonly [v.StringSchema<"Please enter your first name.">, v.TrimAction, v.MinLengthAction<string, 1, "Please enter your first name.">, v.MaxLengthAction<string, 255, "Your first name is too long for our datanase, please abbreviate your first name to be 255 characters or less.">]>;
|
|
379
379
|
readonly last_name: v.SchemaWithPipe<readonly [v.StringSchema<"Please enter your last name.">, v.TrimAction, v.MinLengthAction<string, 1, "Please enter your last name.">, v.MaxLengthAction<string, 255, "Your last name is too long for our datanase, please abbreviate your last name to be 255 characters or less.">]>;
|
|
380
|
-
readonly preferred_name: v.SchemaWithPipe<readonly [v.StringSchema<"Please enter your name.">, v.TrimAction, v.MinLengthAction<string, 1, "Please enter your name.">, v.MaxLengthAction<string,
|
|
380
|
+
readonly preferred_name: v.SchemaWithPipe<readonly [v.StringSchema<"Please enter your preferred name.">, v.TrimAction, v.MinLengthAction<string, 1, "Please enter your preferred name.">, v.MaxLengthAction<string, 255, "Your preferred name is too long for our datanase, please abbreviate your preferred name to be 255 characters or less.">]>;
|
|
381
381
|
}, undefined>;
|
|
382
382
|
type SUpdateUserAccount = v.InferOutput<typeof SUpdateUserAccount>;
|
|
383
383
|
declare const SUpdateUserAccountFirstName: v.ObjectSchema<{
|
|
@@ -392,7 +392,7 @@ declare const SUpdateUserAccountLastName: v.ObjectSchema<{
|
|
|
392
392
|
type SUpdateUserAccountLastName = v.InferOutput<typeof SUpdateUserAccountLastName>;
|
|
393
393
|
declare const SUpdateUserAccountPreferredName: v.ObjectSchema<{
|
|
394
394
|
readonly documentId: v.SchemaWithPipe<readonly [v.StringSchema<"please provide a valid document id">, v.TrimAction, v.MinLengthAction<string, 1, "the document id is too short, it must be at least 1 character">, v.MaxLengthAction<string, 255, "the document id is too long, it must be 255 characters or less">]>;
|
|
395
|
-
readonly preferred_name: v.SchemaWithPipe<readonly [v.StringSchema<"Please enter your name.">, v.TrimAction, v.MinLengthAction<string, 1, "Please enter your name.">, v.MaxLengthAction<string,
|
|
395
|
+
readonly preferred_name: v.SchemaWithPipe<readonly [v.StringSchema<"Please enter your preferred name.">, v.TrimAction, v.MinLengthAction<string, 1, "Please enter your preferred name.">, v.MaxLengthAction<string, 255, "Your preferred name is too long for our datanase, please abbreviate your preferred name to be 255 characters or less.">]>;
|
|
396
396
|
}, undefined>;
|
|
397
397
|
type SUpdateUserAccountPreferredName = v.InferOutput<typeof SUpdateUserAccountPreferredName>;
|
|
398
398
|
|
|
@@ -1261,6 +1261,9 @@ declare const IsValidFirstName: v.SchemaWithPipe<readonly [v.StringSchema<"Pleas
|
|
|
1261
1261
|
declare const InvalidLastName = "Please enter your last name.";
|
|
1262
1262
|
declare const InvalidLastNameMaxLength = "Your last name is too long for our datanase, please abbreviate your last name to be 255 characters or less.";
|
|
1263
1263
|
declare const IsValidLastName: v.SchemaWithPipe<readonly [v.StringSchema<"Please enter your last name.">, v.TrimAction, v.MinLengthAction<string, 1, "Please enter your last name.">, v.MaxLengthAction<string, 255, "Your last name is too long for our datanase, please abbreviate your last name to be 255 characters or less.">]>;
|
|
1264
|
+
declare const InvalidPreferredName = "Please enter your preferred name.";
|
|
1265
|
+
declare const InvalidPreferredNameMaxLength = "Your preferred name is too long for our datanase, please abbreviate your preferred name to be 255 characters or less.";
|
|
1266
|
+
declare const IsValidPreferredName: v.SchemaWithPipe<readonly [v.StringSchema<"Please enter your preferred name.">, v.TrimAction, v.MinLengthAction<string, 1, "Please enter your preferred name.">, v.MaxLengthAction<string, 255, "Your preferred name is too long for our datanase, please abbreviate your preferred name to be 255 characters or less.">]>;
|
|
1264
1267
|
declare const IsValidUserConsent: v.BooleanSchema<undefined>;
|
|
1265
1268
|
declare const InvalidUserPhoneType = "Please enter your phone number.";
|
|
1266
1269
|
declare const InvalidUserPhone = "The phone you provided does not appear to be a valid phone number.";
|
|
@@ -1507,4 +1510,4 @@ declare const IsValidOrUndefinedUrlUtmTerm: v.UndefinedableSchema<v.SchemaWithPi
|
|
|
1507
1510
|
declare const IsValidUrlUtmId: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, "the utm_id is too short, it must be at least 1 characters">, v.MaxLengthAction<string, 2030, "the utm_id is too long, it must be 2030 characters or less">, v.RegexAction<string, "utm_id can only contain letters, numbers, and the special characters: - _ .">]>;
|
|
1508
1511
|
declare const IsValidOrUndefinedUrlUtmId: v.UndefinedableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, "the utm_id is too short, it must be at least 1 characters">, v.MaxLengthAction<string, 2030, "the utm_id is too long, it must be 2030 characters or less">, v.RegexAction<string, "utm_id can only contain letters, numbers, and the special characters: - _ .">]>, undefined>;
|
|
1509
1512
|
|
|
1510
|
-
export { type BaseDocument, type BlockAnnouncementBar, type BlockBrandLogos, type BlockButtonGroup, type BlockContact, type BlockCtaLink, type BlockFaq, type BlockFullscreenContent, type BlockFullscreenContentType, type BlockTextDetails, type BlockVideoEmbed, type BlogPageDocument, type BlogPostBlock, type BlogPostDocument, CLIENT_ENTITY_KEYS, CLIENT_ENTITY_PERMISSIONS, CLIENT_ENTITY_SCOPES, type CareersPageDocument, type CategoryDocument, type ClientDocument, type ClientEntityActions, type ClientEntityKey, type ClientEntityScope, type ClientProjectDocument, type ClientProjectStatus, ClientProjectStatusOptions, type ClientReportDocument, type ClientUserDocument, type ComponentBlockAnnouncementBar, type ComponentBlockBrandLogos, type ComponentBlockButtonGroup, type ComponentBlockContact, type ComponentBlockCtaLink, type ComponentBlockFaq, type ComponentBlockFullscreenContent, type ComponentBlockTextDetails, type ComponentBlockVideo, type ComponentFormDownload, type ComponentFormSelect, type ComponentOpenGraph, type ComponentSeoMeta, type ComponentSharedButton, type ComponentSharedLink, type ComponentSharedQuestionAnswer, type ComponentSharedRichTextBlock, type ComponentSlideContent, type ComponentSliderSettings, type ComponentSlideshow, type ComponentSlideshowSettings, type ComponentUtmOption, ERROR_MESSAGE_REGEX_DOMAIN, ERROR_MESSAGE_REGEX_UTM_VALUE, type FormDownload, type FormDownloadKeys, type FormSelect, type FormUID, InvalidClientTermMin, InvalidClientTermNumber, InvalidCompanyName, InvalidCompanyNameMaxLength, InvalidCsvFileType, InvalidDestinationUrl, InvalidFirstName, InvalidFirstNameMaxLength, InvalidFullName, InvalidFullNameMaxLength, InvalidInputRobot, InvalidInstrustryName, InvalidInstrustryNameMaxLength, InvalidLastName, InvalidLastNameMaxLength, InvalidListOfUrls, InvalidLongStringOrUndefined, InvalidProductInterestMaxLength, InvalidRangeValueOneToFive, InvalidRefPageMaxLength, InvalidResumeFileType, InvalidShortStringMax, InvalidUserMessage, InvalidUserMessageMaxLength, InvalidUserPhone, InvalidUserPhoneType, InvalidUserTitle, InvalidUserTitleMaxLength, InvalidUtmCampaignKeyName, InvalidUtmLink, IsValidBlocked, IsValidCaptchaToken, IsValidClientTerm, IsValidCompanyName, IsValidCompanyNameRequired, IsValidConfirmed, IsValidCost, IsValidCsvFile, IsValidDateToday, IsValidDescription, IsValidDestinationUrl, IsValidFileReferenceId, IsValidFirstName, IsValidFullName, IsValidGroupUserScopes, IsValidIndustryName, IsValidIsActive, IsValidIsSecure, IsValidLabel, IsValidLastName, IsValidLongString, IsValidLongStringOrUndefined, IsValidName, IsValidNumberOfEmployees, IsValidOrUndefinedBlocked, IsValidOrUndefinedConfirmed, IsValidOrUndefinedCost, IsValidOrUndefinedDescription, IsValidOrUndefinedIsActive, IsValidOrUndefinedIsSecure, IsValidOrUndefinedLabel, IsValidOrUndefinedName, IsValidOrUndefinedPassword, IsValidOrUndefinedProvider, IsValidOrUndefinedUrlDestination, IsValidOrUndefinedUrlDomain, IsValidOrUndefinedUrlFragment, IsValidOrUndefinedUrlPath, IsValidOrUndefinedUrlProtocol, IsValidOrUndefinedUrlQuery, IsValidOrUndefinedUrlUtmCampaign, IsValidOrUndefinedUrlUtmContent, IsValidOrUndefinedUrlUtmCreativeFormat, IsValidOrUndefinedUrlUtmId, IsValidOrUndefinedUrlUtmMedium, IsValidOrUndefinedUrlUtmSource, IsValidOrUndefinedUrlUtmTerm, IsValidOrUndefinedUserEmail, IsValidOrUndefinedUsername, IsValidOrUndefinedValue, IsValidPassword, IsValidPositiveInteger, IsValidProductInterest, IsValidProvider, IsValidRangeValueOneToFive, IsValidRefPage, IsValidReferenceDocumentId, IsValidReferenceId, IsValidResumeFile, IsValidShortString, IsValidShortStringOrUndefined, IsValidStringList, IsValidStringListOrUndefined, IsValidStringSepListOfUrls, IsValidStringSepListOfUrlsOrUndefined, IsValidUrl, IsValidUrlDestination, IsValidUrlDomain, IsValidUrlFragment, IsValidUrlList, IsValidUrlOrUndefined, IsValidUrlPath, IsValidUrlProtocol, IsValidUrlQuery, IsValidUrlUtmCampaign, IsValidUrlUtmContent, IsValidUrlUtmCreativeFormat, IsValidUrlUtmId, IsValidUrlUtmMedium, IsValidUrlUtmSource, IsValidUrlUtmTerm, IsValidUserConsent, IsValidUserEmail, IsValidUserMessage, IsValidUserPhone, IsValidUserPhoneRequired, IsValidUserRole, IsValidUserTitle, IsValidUserTitleRequired, IsValidUsername, IsValidUtmCampaignKeyName, IsValidUtmCampaignKeyNameOrUndefined, IsValidUtmLink, IsValidValue, type KeenSliderOrigin, type KeenSliderSliderSlides, LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE, LIMIT_BLOG_POST_PAGINATION_MAX_SIZE, LIMIT_CATEGORIES_DEFAULT_SIZE, LIMIT_CATEGORIES_MAX_SIZE, LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE, LIMIT_CLIENT_PAGINATION_MAX_SIZE, LIMIT_LONG_STRING_MAX_LENGTH, LIMIT_MAX_DESCRIPTION, LIMIT_MAX_DESTINATION, LIMIT_MAX_DOMAIN, LIMIT_MAX_EMAIL, LIMIT_MAX_FRAGMENT, LIMIT_MAX_PASSWORD, LIMIT_MAX_PATH, LIMIT_MAX_PROVIDER, LIMIT_MAX_QUERY, LIMIT_MAX_USERNAME, 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_MAX_UTM_TERM, LIMIT_MEDIUM_STRING_MAX_LENGTH, LIMIT_MIN_DESTINATION, LIMIT_MIN_DOMAIN, LIMIT_MIN_EMAIL, LIMIT_MIN_FRAGMENT, LIMIT_MIN_NAME, LIMIT_MIN_PASSWORD, LIMIT_MIN_PATH, LIMIT_MIN_QUERY, LIMIT_MIN_USERNAME, LIMIT_MIN_UTM_CAMPAIGN, LIMIT_MIN_UTM_CONTENT, LIMIT_MIN_UTM_CREATIVE_FORMAT, LIMIT_MIN_UTM_ID, LIMIT_MIN_UTM_MEDIUM, LIMIT_MIN_UTM_SOURCE, LIMIT_MIN_UTM_TERM, LIMIT_MIN_VALUE, LIMIT_PAGINATION_DEFAULT_SIZE, LIMIT_PAGINATION_MAX_SIZE, LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_DEFAULT_SIZE, LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_MAX_SIZE, LIMIT_PRODUCT_PAGINATION_DEFAULT_SIZE, LIMIT_PRODUCT_PAGINATION_MAX_SIZE, LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE, LIMIT_REDIRECT_PAGINATION_MAX_SIZE, LIMIT_SHORT_STRING_MAX_LENGTH, LIMIT_TAGS_DEFAULT_SIZE, LIMIT_TAGS_MAX_SIZE, LIMIT_TEAM_MEMBER_PAGINATION_DEFAULT_SIZE, LIMIT_TEAM_MEMBER_PAGINATION_MAX_SIZE, LIMIT_TREND_PAGINATION_DEFAULT_SIZE, LIMIT_TREND_PAGINATION_MAX_SIZE, LIMIT_USER_PAGINATION_DEFAULT_SIZE, LIMIT_USER_PAGINATION_MAX_SIZE, LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE, LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE, type LandingPageDocument, type LeadDocument, type MediaFormat, type MediaFormats, type MediaPlatformDocument, type MediaUploadDocument, type OpenGraph, type PermissionDocument, type PolicyPageDocument, type ProductDocument, type ProductHighlightDocument, QueryStrapiByDocumentId, QueryStrapiByEmail, QueryStrapiById, QueryStrapiByName, QueryStrapiByPhone, QueryStrapiBySlug, QueryStrapiPaginated, QueryStrapiPaginatedUrlRedirects, QueryStrapiSearchBlogPosts, QueryStrapiSearchBlogPostsBySlug, QueryStrapiSearchClientProjects, QueryStrapiSearchClients, QueryStrapiSearchUtmTrackingLinks, QueryStrapiUrlRedirectsByFrom, QueryStrapiUsers, QueryStrapiUsersByIdentifier, REGEX_DOMAIN, REGEX_UTM_VALUE, type ResumeDocument, type RichTextBlock, type RichTextBlockChildren, type RoleDocument, SAuthConnectProviderConfirmation, SAuthConnectProviderRedirectSearch, SAuthRawAccessToken, SChangePassword, SCreateLead, SCreateNewsletterSignup, SCreateResume, SCreateResumeInfo, SCreateUtmTrackingLinkDocument, type SCreateUtmTrackingLinkDocumentInput, SCreateUtmTrackingLinkParts, SDeleteUtmTrackingLinkDocument, SForgotUserPassword, SFormCreateMultipleUtmTrackingLinkDocuments, SLoginUser, SReadUserAccountByDocumentId, SReadUserAccountById, SReadUserByDocumentId, SReadUserById, SReadUtmTrackingLinkDocumentByDocumentId, SRegisterUser, SRequestConfirmEmail, SResetUserPassword, SUpdateResumeInfo, SUpdateTrendsLikes, SUpdateUserAccount, SUpdateUserAccountFirstName, SUpdateUserAccountLastName, SUpdateUserAccountPreferredName, SUpdateUtmTrackingLinkDocument, SUpdateUtmTrackingLinkDocumentRequest, SUserToken, type SeoMeta, type SharedButton, type SharedLink, type SharedQuestionAnswer, type SharedRichTextBlock, SharpSpringSignUpToDownload, type SlideContent, type SlideType, type SliderSettings, type SliderSpacing, type Slideshow, type SlideshowMode, type SlideshowSettings, type StrapiBgColorOptions, type StrapiDirection, type StrapiErrorDetail, type StrapiErrorResponse, type StrapiGapSizes, type StrapiIconName, type StrapiIconPosition, type StrapiLinkReferrerPolicy, type StrapiLinkRel, type StrapiLinkTarget, type StrapiLinkType, type StrapiListResponse, type StrapiPagination, type StrapiResponseMeta, type StrapiSingleResponse, type StrapiTextColorOptions, type StrapiThemeOptions, type TagDocument, type TeamMemberDocument, type TeamPageDocument, type TrendDocument, type UrlRedirectDocument, type UrlRedirectQueryParams, type UrlRedirectStatusCode, type UserAccountDocument, type UserAuthorizationLoginResponse, type UserAuthorizationSuccessResponse, type UserDocument, type UserWithAccountDocument, type UtmClassificationKey, type UtmMetaPageDocument, type UtmOption, type UtmSourceKey, type UtmTrackingLinkDocument, ValidGcDesiredContentOptions, ValidGcServiceOptions, ValidGcVideoServiceOptions, ValidJobRoleGroup, ValidNumberOfEmployeeOptions, ValidRatingRange5, datePlusDays, dateToday, isValidationFailure, isValidationSuccess, omitUndefined, validateAndClean };
|
|
1513
|
+
export { type BaseDocument, type BlockAnnouncementBar, type BlockBrandLogos, type BlockButtonGroup, type BlockContact, type BlockCtaLink, type BlockFaq, type BlockFullscreenContent, type BlockFullscreenContentType, type BlockTextDetails, type BlockVideoEmbed, type BlogPageDocument, type BlogPostBlock, type BlogPostDocument, CLIENT_ENTITY_KEYS, CLIENT_ENTITY_PERMISSIONS, CLIENT_ENTITY_SCOPES, type CareersPageDocument, type CategoryDocument, type ClientDocument, type ClientEntityActions, type ClientEntityKey, type ClientEntityScope, type ClientProjectDocument, type ClientProjectStatus, ClientProjectStatusOptions, type ClientReportDocument, type ClientUserDocument, type ComponentBlockAnnouncementBar, type ComponentBlockBrandLogos, type ComponentBlockButtonGroup, type ComponentBlockContact, type ComponentBlockCtaLink, type ComponentBlockFaq, type ComponentBlockFullscreenContent, type ComponentBlockTextDetails, type ComponentBlockVideo, type ComponentFormDownload, type ComponentFormSelect, type ComponentOpenGraph, type ComponentSeoMeta, type ComponentSharedButton, type ComponentSharedLink, type ComponentSharedQuestionAnswer, type ComponentSharedRichTextBlock, type ComponentSlideContent, type ComponentSliderSettings, type ComponentSlideshow, type ComponentSlideshowSettings, type ComponentUtmOption, ERROR_MESSAGE_REGEX_DOMAIN, ERROR_MESSAGE_REGEX_UTM_VALUE, type FormDownload, type FormDownloadKeys, type FormSelect, type FormUID, InvalidClientTermMin, InvalidClientTermNumber, InvalidCompanyName, InvalidCompanyNameMaxLength, InvalidCsvFileType, InvalidDestinationUrl, InvalidFirstName, InvalidFirstNameMaxLength, InvalidFullName, InvalidFullNameMaxLength, InvalidInputRobot, InvalidInstrustryName, InvalidInstrustryNameMaxLength, InvalidLastName, InvalidLastNameMaxLength, InvalidListOfUrls, InvalidLongStringOrUndefined, InvalidPreferredName, InvalidPreferredNameMaxLength, InvalidProductInterestMaxLength, InvalidRangeValueOneToFive, InvalidRefPageMaxLength, InvalidResumeFileType, InvalidShortStringMax, InvalidUserMessage, InvalidUserMessageMaxLength, InvalidUserPhone, InvalidUserPhoneType, InvalidUserTitle, InvalidUserTitleMaxLength, InvalidUtmCampaignKeyName, InvalidUtmLink, IsValidBlocked, IsValidCaptchaToken, IsValidClientTerm, IsValidCompanyName, IsValidCompanyNameRequired, IsValidConfirmed, IsValidCost, IsValidCsvFile, IsValidDateToday, IsValidDescription, IsValidDestinationUrl, IsValidFileReferenceId, IsValidFirstName, IsValidFullName, IsValidGroupUserScopes, IsValidIndustryName, IsValidIsActive, IsValidIsSecure, IsValidLabel, IsValidLastName, IsValidLongString, IsValidLongStringOrUndefined, IsValidName, IsValidNumberOfEmployees, IsValidOrUndefinedBlocked, IsValidOrUndefinedConfirmed, IsValidOrUndefinedCost, IsValidOrUndefinedDescription, IsValidOrUndefinedIsActive, IsValidOrUndefinedIsSecure, IsValidOrUndefinedLabel, IsValidOrUndefinedName, IsValidOrUndefinedPassword, IsValidOrUndefinedProvider, IsValidOrUndefinedUrlDestination, IsValidOrUndefinedUrlDomain, IsValidOrUndefinedUrlFragment, IsValidOrUndefinedUrlPath, IsValidOrUndefinedUrlProtocol, IsValidOrUndefinedUrlQuery, IsValidOrUndefinedUrlUtmCampaign, IsValidOrUndefinedUrlUtmContent, IsValidOrUndefinedUrlUtmCreativeFormat, IsValidOrUndefinedUrlUtmId, IsValidOrUndefinedUrlUtmMedium, IsValidOrUndefinedUrlUtmSource, IsValidOrUndefinedUrlUtmTerm, IsValidOrUndefinedUserEmail, IsValidOrUndefinedUsername, IsValidOrUndefinedValue, IsValidPassword, IsValidPositiveInteger, IsValidPreferredName, IsValidProductInterest, IsValidProvider, IsValidRangeValueOneToFive, IsValidRefPage, IsValidReferenceDocumentId, IsValidReferenceId, IsValidResumeFile, IsValidShortString, IsValidShortStringOrUndefined, IsValidStringList, IsValidStringListOrUndefined, IsValidStringSepListOfUrls, IsValidStringSepListOfUrlsOrUndefined, IsValidUrl, IsValidUrlDestination, IsValidUrlDomain, IsValidUrlFragment, IsValidUrlList, IsValidUrlOrUndefined, IsValidUrlPath, IsValidUrlProtocol, IsValidUrlQuery, IsValidUrlUtmCampaign, IsValidUrlUtmContent, IsValidUrlUtmCreativeFormat, IsValidUrlUtmId, IsValidUrlUtmMedium, IsValidUrlUtmSource, IsValidUrlUtmTerm, IsValidUserConsent, IsValidUserEmail, IsValidUserMessage, IsValidUserPhone, IsValidUserPhoneRequired, IsValidUserRole, IsValidUserTitle, IsValidUserTitleRequired, IsValidUsername, IsValidUtmCampaignKeyName, IsValidUtmCampaignKeyNameOrUndefined, IsValidUtmLink, IsValidValue, type KeenSliderOrigin, type KeenSliderSliderSlides, LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE, LIMIT_BLOG_POST_PAGINATION_MAX_SIZE, LIMIT_CATEGORIES_DEFAULT_SIZE, LIMIT_CATEGORIES_MAX_SIZE, LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE, LIMIT_CLIENT_PAGINATION_MAX_SIZE, LIMIT_LONG_STRING_MAX_LENGTH, LIMIT_MAX_DESCRIPTION, LIMIT_MAX_DESTINATION, LIMIT_MAX_DOMAIN, LIMIT_MAX_EMAIL, LIMIT_MAX_FRAGMENT, LIMIT_MAX_PASSWORD, LIMIT_MAX_PATH, LIMIT_MAX_PROVIDER, LIMIT_MAX_QUERY, LIMIT_MAX_USERNAME, 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_MAX_UTM_TERM, LIMIT_MEDIUM_STRING_MAX_LENGTH, LIMIT_MIN_DESTINATION, LIMIT_MIN_DOMAIN, LIMIT_MIN_EMAIL, LIMIT_MIN_FRAGMENT, LIMIT_MIN_NAME, LIMIT_MIN_PASSWORD, LIMIT_MIN_PATH, LIMIT_MIN_QUERY, LIMIT_MIN_USERNAME, LIMIT_MIN_UTM_CAMPAIGN, LIMIT_MIN_UTM_CONTENT, LIMIT_MIN_UTM_CREATIVE_FORMAT, LIMIT_MIN_UTM_ID, LIMIT_MIN_UTM_MEDIUM, LIMIT_MIN_UTM_SOURCE, LIMIT_MIN_UTM_TERM, LIMIT_MIN_VALUE, LIMIT_PAGINATION_DEFAULT_SIZE, LIMIT_PAGINATION_MAX_SIZE, LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_DEFAULT_SIZE, LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_MAX_SIZE, LIMIT_PRODUCT_PAGINATION_DEFAULT_SIZE, LIMIT_PRODUCT_PAGINATION_MAX_SIZE, LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE, LIMIT_REDIRECT_PAGINATION_MAX_SIZE, LIMIT_SHORT_STRING_MAX_LENGTH, LIMIT_TAGS_DEFAULT_SIZE, LIMIT_TAGS_MAX_SIZE, LIMIT_TEAM_MEMBER_PAGINATION_DEFAULT_SIZE, LIMIT_TEAM_MEMBER_PAGINATION_MAX_SIZE, LIMIT_TREND_PAGINATION_DEFAULT_SIZE, LIMIT_TREND_PAGINATION_MAX_SIZE, LIMIT_USER_PAGINATION_DEFAULT_SIZE, LIMIT_USER_PAGINATION_MAX_SIZE, LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE, LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE, type LandingPageDocument, type LeadDocument, type MediaFormat, type MediaFormats, type MediaPlatformDocument, type MediaUploadDocument, type OpenGraph, type PermissionDocument, type PolicyPageDocument, type ProductDocument, type ProductHighlightDocument, QueryStrapiByDocumentId, QueryStrapiByEmail, QueryStrapiById, QueryStrapiByName, QueryStrapiByPhone, QueryStrapiBySlug, QueryStrapiPaginated, QueryStrapiPaginatedUrlRedirects, QueryStrapiSearchBlogPosts, QueryStrapiSearchBlogPostsBySlug, QueryStrapiSearchClientProjects, QueryStrapiSearchClients, QueryStrapiSearchUtmTrackingLinks, QueryStrapiUrlRedirectsByFrom, QueryStrapiUsers, QueryStrapiUsersByIdentifier, REGEX_DOMAIN, REGEX_UTM_VALUE, type ResumeDocument, type RichTextBlock, type RichTextBlockChildren, type RoleDocument, SAuthConnectProviderConfirmation, SAuthConnectProviderRedirectSearch, SAuthRawAccessToken, SChangePassword, SCreateLead, SCreateNewsletterSignup, SCreateResume, SCreateResumeInfo, SCreateUtmTrackingLinkDocument, type SCreateUtmTrackingLinkDocumentInput, SCreateUtmTrackingLinkParts, SDeleteUtmTrackingLinkDocument, SForgotUserPassword, SFormCreateMultipleUtmTrackingLinkDocuments, SLoginUser, SReadUserAccountByDocumentId, SReadUserAccountById, SReadUserByDocumentId, SReadUserById, SReadUtmTrackingLinkDocumentByDocumentId, SRegisterUser, SRequestConfirmEmail, SResetUserPassword, SUpdateResumeInfo, SUpdateTrendsLikes, SUpdateUserAccount, SUpdateUserAccountFirstName, SUpdateUserAccountLastName, SUpdateUserAccountPreferredName, SUpdateUtmTrackingLinkDocument, SUpdateUtmTrackingLinkDocumentRequest, SUserToken, type SeoMeta, type SharedButton, type SharedLink, type SharedQuestionAnswer, type SharedRichTextBlock, SharpSpringSignUpToDownload, type SlideContent, type SlideType, type SliderSettings, type SliderSpacing, type Slideshow, type SlideshowMode, type SlideshowSettings, type StrapiBgColorOptions, type StrapiDirection, type StrapiErrorDetail, type StrapiErrorResponse, type StrapiGapSizes, type StrapiIconName, type StrapiIconPosition, type StrapiLinkReferrerPolicy, type StrapiLinkRel, type StrapiLinkTarget, type StrapiLinkType, type StrapiListResponse, type StrapiPagination, type StrapiResponseMeta, type StrapiSingleResponse, type StrapiTextColorOptions, type StrapiThemeOptions, type TagDocument, type TeamMemberDocument, type TeamPageDocument, type TrendDocument, type UrlRedirectDocument, type UrlRedirectQueryParams, type UrlRedirectStatusCode, type UserAccountDocument, type UserAuthorizationLoginResponse, type UserAuthorizationSuccessResponse, type UserDocument, type UserWithAccountDocument, type UtmClassificationKey, type UtmMetaPageDocument, type UtmOption, type UtmSourceKey, type UtmTrackingLinkDocument, ValidGcDesiredContentOptions, ValidGcServiceOptions, ValidGcVideoServiceOptions, ValidJobRoleGroup, ValidNumberOfEmployeeOptions, ValidRatingRange5, datePlusDays, dateToday, isValidationFailure, isValidationSuccess, omitUndefined, validateAndClean };
|
package/dist/index.d.ts
CHANGED
|
@@ -377,7 +377,7 @@ declare const SUpdateUserAccount: v.ObjectSchema<{
|
|
|
377
377
|
readonly documentId: v.SchemaWithPipe<readonly [v.StringSchema<"please provide a valid document id">, v.TrimAction, v.MinLengthAction<string, 1, "the document id is too short, it must be at least 1 character">, v.MaxLengthAction<string, 255, "the document id is too long, it must be 255 characters or less">]>;
|
|
378
378
|
readonly first_name: v.SchemaWithPipe<readonly [v.StringSchema<"Please enter your first name.">, v.TrimAction, v.MinLengthAction<string, 1, "Please enter your first name.">, v.MaxLengthAction<string, 255, "Your first name is too long for our datanase, please abbreviate your first name to be 255 characters or less.">]>;
|
|
379
379
|
readonly last_name: v.SchemaWithPipe<readonly [v.StringSchema<"Please enter your last name.">, v.TrimAction, v.MinLengthAction<string, 1, "Please enter your last name.">, v.MaxLengthAction<string, 255, "Your last name is too long for our datanase, please abbreviate your last name to be 255 characters or less.">]>;
|
|
380
|
-
readonly preferred_name: v.SchemaWithPipe<readonly [v.StringSchema<"Please enter your name.">, v.TrimAction, v.MinLengthAction<string, 1, "Please enter your name.">, v.MaxLengthAction<string,
|
|
380
|
+
readonly preferred_name: v.SchemaWithPipe<readonly [v.StringSchema<"Please enter your preferred name.">, v.TrimAction, v.MinLengthAction<string, 1, "Please enter your preferred name.">, v.MaxLengthAction<string, 255, "Your preferred name is too long for our datanase, please abbreviate your preferred name to be 255 characters or less.">]>;
|
|
381
381
|
}, undefined>;
|
|
382
382
|
type SUpdateUserAccount = v.InferOutput<typeof SUpdateUserAccount>;
|
|
383
383
|
declare const SUpdateUserAccountFirstName: v.ObjectSchema<{
|
|
@@ -392,7 +392,7 @@ declare const SUpdateUserAccountLastName: v.ObjectSchema<{
|
|
|
392
392
|
type SUpdateUserAccountLastName = v.InferOutput<typeof SUpdateUserAccountLastName>;
|
|
393
393
|
declare const SUpdateUserAccountPreferredName: v.ObjectSchema<{
|
|
394
394
|
readonly documentId: v.SchemaWithPipe<readonly [v.StringSchema<"please provide a valid document id">, v.TrimAction, v.MinLengthAction<string, 1, "the document id is too short, it must be at least 1 character">, v.MaxLengthAction<string, 255, "the document id is too long, it must be 255 characters or less">]>;
|
|
395
|
-
readonly preferred_name: v.SchemaWithPipe<readonly [v.StringSchema<"Please enter your name.">, v.TrimAction, v.MinLengthAction<string, 1, "Please enter your name.">, v.MaxLengthAction<string,
|
|
395
|
+
readonly preferred_name: v.SchemaWithPipe<readonly [v.StringSchema<"Please enter your preferred name.">, v.TrimAction, v.MinLengthAction<string, 1, "Please enter your preferred name.">, v.MaxLengthAction<string, 255, "Your preferred name is too long for our datanase, please abbreviate your preferred name to be 255 characters or less.">]>;
|
|
396
396
|
}, undefined>;
|
|
397
397
|
type SUpdateUserAccountPreferredName = v.InferOutput<typeof SUpdateUserAccountPreferredName>;
|
|
398
398
|
|
|
@@ -1261,6 +1261,9 @@ declare const IsValidFirstName: v.SchemaWithPipe<readonly [v.StringSchema<"Pleas
|
|
|
1261
1261
|
declare const InvalidLastName = "Please enter your last name.";
|
|
1262
1262
|
declare const InvalidLastNameMaxLength = "Your last name is too long for our datanase, please abbreviate your last name to be 255 characters or less.";
|
|
1263
1263
|
declare const IsValidLastName: v.SchemaWithPipe<readonly [v.StringSchema<"Please enter your last name.">, v.TrimAction, v.MinLengthAction<string, 1, "Please enter your last name.">, v.MaxLengthAction<string, 255, "Your last name is too long for our datanase, please abbreviate your last name to be 255 characters or less.">]>;
|
|
1264
|
+
declare const InvalidPreferredName = "Please enter your preferred name.";
|
|
1265
|
+
declare const InvalidPreferredNameMaxLength = "Your preferred name is too long for our datanase, please abbreviate your preferred name to be 255 characters or less.";
|
|
1266
|
+
declare const IsValidPreferredName: v.SchemaWithPipe<readonly [v.StringSchema<"Please enter your preferred name.">, v.TrimAction, v.MinLengthAction<string, 1, "Please enter your preferred name.">, v.MaxLengthAction<string, 255, "Your preferred name is too long for our datanase, please abbreviate your preferred name to be 255 characters or less.">]>;
|
|
1264
1267
|
declare const IsValidUserConsent: v.BooleanSchema<undefined>;
|
|
1265
1268
|
declare const InvalidUserPhoneType = "Please enter your phone number.";
|
|
1266
1269
|
declare const InvalidUserPhone = "The phone you provided does not appear to be a valid phone number.";
|
|
@@ -1507,4 +1510,4 @@ declare const IsValidOrUndefinedUrlUtmTerm: v.UndefinedableSchema<v.SchemaWithPi
|
|
|
1507
1510
|
declare const IsValidUrlUtmId: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, "the utm_id is too short, it must be at least 1 characters">, v.MaxLengthAction<string, 2030, "the utm_id is too long, it must be 2030 characters or less">, v.RegexAction<string, "utm_id can only contain letters, numbers, and the special characters: - _ .">]>;
|
|
1508
1511
|
declare const IsValidOrUndefinedUrlUtmId: v.UndefinedableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, "the utm_id is too short, it must be at least 1 characters">, v.MaxLengthAction<string, 2030, "the utm_id is too long, it must be 2030 characters or less">, v.RegexAction<string, "utm_id can only contain letters, numbers, and the special characters: - _ .">]>, undefined>;
|
|
1509
1512
|
|
|
1510
|
-
export { type BaseDocument, type BlockAnnouncementBar, type BlockBrandLogos, type BlockButtonGroup, type BlockContact, type BlockCtaLink, type BlockFaq, type BlockFullscreenContent, type BlockFullscreenContentType, type BlockTextDetails, type BlockVideoEmbed, type BlogPageDocument, type BlogPostBlock, type BlogPostDocument, CLIENT_ENTITY_KEYS, CLIENT_ENTITY_PERMISSIONS, CLIENT_ENTITY_SCOPES, type CareersPageDocument, type CategoryDocument, type ClientDocument, type ClientEntityActions, type ClientEntityKey, type ClientEntityScope, type ClientProjectDocument, type ClientProjectStatus, ClientProjectStatusOptions, type ClientReportDocument, type ClientUserDocument, type ComponentBlockAnnouncementBar, type ComponentBlockBrandLogos, type ComponentBlockButtonGroup, type ComponentBlockContact, type ComponentBlockCtaLink, type ComponentBlockFaq, type ComponentBlockFullscreenContent, type ComponentBlockTextDetails, type ComponentBlockVideo, type ComponentFormDownload, type ComponentFormSelect, type ComponentOpenGraph, type ComponentSeoMeta, type ComponentSharedButton, type ComponentSharedLink, type ComponentSharedQuestionAnswer, type ComponentSharedRichTextBlock, type ComponentSlideContent, type ComponentSliderSettings, type ComponentSlideshow, type ComponentSlideshowSettings, type ComponentUtmOption, ERROR_MESSAGE_REGEX_DOMAIN, ERROR_MESSAGE_REGEX_UTM_VALUE, type FormDownload, type FormDownloadKeys, type FormSelect, type FormUID, InvalidClientTermMin, InvalidClientTermNumber, InvalidCompanyName, InvalidCompanyNameMaxLength, InvalidCsvFileType, InvalidDestinationUrl, InvalidFirstName, InvalidFirstNameMaxLength, InvalidFullName, InvalidFullNameMaxLength, InvalidInputRobot, InvalidInstrustryName, InvalidInstrustryNameMaxLength, InvalidLastName, InvalidLastNameMaxLength, InvalidListOfUrls, InvalidLongStringOrUndefined, InvalidProductInterestMaxLength, InvalidRangeValueOneToFive, InvalidRefPageMaxLength, InvalidResumeFileType, InvalidShortStringMax, InvalidUserMessage, InvalidUserMessageMaxLength, InvalidUserPhone, InvalidUserPhoneType, InvalidUserTitle, InvalidUserTitleMaxLength, InvalidUtmCampaignKeyName, InvalidUtmLink, IsValidBlocked, IsValidCaptchaToken, IsValidClientTerm, IsValidCompanyName, IsValidCompanyNameRequired, IsValidConfirmed, IsValidCost, IsValidCsvFile, IsValidDateToday, IsValidDescription, IsValidDestinationUrl, IsValidFileReferenceId, IsValidFirstName, IsValidFullName, IsValidGroupUserScopes, IsValidIndustryName, IsValidIsActive, IsValidIsSecure, IsValidLabel, IsValidLastName, IsValidLongString, IsValidLongStringOrUndefined, IsValidName, IsValidNumberOfEmployees, IsValidOrUndefinedBlocked, IsValidOrUndefinedConfirmed, IsValidOrUndefinedCost, IsValidOrUndefinedDescription, IsValidOrUndefinedIsActive, IsValidOrUndefinedIsSecure, IsValidOrUndefinedLabel, IsValidOrUndefinedName, IsValidOrUndefinedPassword, IsValidOrUndefinedProvider, IsValidOrUndefinedUrlDestination, IsValidOrUndefinedUrlDomain, IsValidOrUndefinedUrlFragment, IsValidOrUndefinedUrlPath, IsValidOrUndefinedUrlProtocol, IsValidOrUndefinedUrlQuery, IsValidOrUndefinedUrlUtmCampaign, IsValidOrUndefinedUrlUtmContent, IsValidOrUndefinedUrlUtmCreativeFormat, IsValidOrUndefinedUrlUtmId, IsValidOrUndefinedUrlUtmMedium, IsValidOrUndefinedUrlUtmSource, IsValidOrUndefinedUrlUtmTerm, IsValidOrUndefinedUserEmail, IsValidOrUndefinedUsername, IsValidOrUndefinedValue, IsValidPassword, IsValidPositiveInteger, IsValidProductInterest, IsValidProvider, IsValidRangeValueOneToFive, IsValidRefPage, IsValidReferenceDocumentId, IsValidReferenceId, IsValidResumeFile, IsValidShortString, IsValidShortStringOrUndefined, IsValidStringList, IsValidStringListOrUndefined, IsValidStringSepListOfUrls, IsValidStringSepListOfUrlsOrUndefined, IsValidUrl, IsValidUrlDestination, IsValidUrlDomain, IsValidUrlFragment, IsValidUrlList, IsValidUrlOrUndefined, IsValidUrlPath, IsValidUrlProtocol, IsValidUrlQuery, IsValidUrlUtmCampaign, IsValidUrlUtmContent, IsValidUrlUtmCreativeFormat, IsValidUrlUtmId, IsValidUrlUtmMedium, IsValidUrlUtmSource, IsValidUrlUtmTerm, IsValidUserConsent, IsValidUserEmail, IsValidUserMessage, IsValidUserPhone, IsValidUserPhoneRequired, IsValidUserRole, IsValidUserTitle, IsValidUserTitleRequired, IsValidUsername, IsValidUtmCampaignKeyName, IsValidUtmCampaignKeyNameOrUndefined, IsValidUtmLink, IsValidValue, type KeenSliderOrigin, type KeenSliderSliderSlides, LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE, LIMIT_BLOG_POST_PAGINATION_MAX_SIZE, LIMIT_CATEGORIES_DEFAULT_SIZE, LIMIT_CATEGORIES_MAX_SIZE, LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE, LIMIT_CLIENT_PAGINATION_MAX_SIZE, LIMIT_LONG_STRING_MAX_LENGTH, LIMIT_MAX_DESCRIPTION, LIMIT_MAX_DESTINATION, LIMIT_MAX_DOMAIN, LIMIT_MAX_EMAIL, LIMIT_MAX_FRAGMENT, LIMIT_MAX_PASSWORD, LIMIT_MAX_PATH, LIMIT_MAX_PROVIDER, LIMIT_MAX_QUERY, LIMIT_MAX_USERNAME, 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_MAX_UTM_TERM, LIMIT_MEDIUM_STRING_MAX_LENGTH, LIMIT_MIN_DESTINATION, LIMIT_MIN_DOMAIN, LIMIT_MIN_EMAIL, LIMIT_MIN_FRAGMENT, LIMIT_MIN_NAME, LIMIT_MIN_PASSWORD, LIMIT_MIN_PATH, LIMIT_MIN_QUERY, LIMIT_MIN_USERNAME, LIMIT_MIN_UTM_CAMPAIGN, LIMIT_MIN_UTM_CONTENT, LIMIT_MIN_UTM_CREATIVE_FORMAT, LIMIT_MIN_UTM_ID, LIMIT_MIN_UTM_MEDIUM, LIMIT_MIN_UTM_SOURCE, LIMIT_MIN_UTM_TERM, LIMIT_MIN_VALUE, LIMIT_PAGINATION_DEFAULT_SIZE, LIMIT_PAGINATION_MAX_SIZE, LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_DEFAULT_SIZE, LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_MAX_SIZE, LIMIT_PRODUCT_PAGINATION_DEFAULT_SIZE, LIMIT_PRODUCT_PAGINATION_MAX_SIZE, LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE, LIMIT_REDIRECT_PAGINATION_MAX_SIZE, LIMIT_SHORT_STRING_MAX_LENGTH, LIMIT_TAGS_DEFAULT_SIZE, LIMIT_TAGS_MAX_SIZE, LIMIT_TEAM_MEMBER_PAGINATION_DEFAULT_SIZE, LIMIT_TEAM_MEMBER_PAGINATION_MAX_SIZE, LIMIT_TREND_PAGINATION_DEFAULT_SIZE, LIMIT_TREND_PAGINATION_MAX_SIZE, LIMIT_USER_PAGINATION_DEFAULT_SIZE, LIMIT_USER_PAGINATION_MAX_SIZE, LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE, LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE, type LandingPageDocument, type LeadDocument, type MediaFormat, type MediaFormats, type MediaPlatformDocument, type MediaUploadDocument, type OpenGraph, type PermissionDocument, type PolicyPageDocument, type ProductDocument, type ProductHighlightDocument, QueryStrapiByDocumentId, QueryStrapiByEmail, QueryStrapiById, QueryStrapiByName, QueryStrapiByPhone, QueryStrapiBySlug, QueryStrapiPaginated, QueryStrapiPaginatedUrlRedirects, QueryStrapiSearchBlogPosts, QueryStrapiSearchBlogPostsBySlug, QueryStrapiSearchClientProjects, QueryStrapiSearchClients, QueryStrapiSearchUtmTrackingLinks, QueryStrapiUrlRedirectsByFrom, QueryStrapiUsers, QueryStrapiUsersByIdentifier, REGEX_DOMAIN, REGEX_UTM_VALUE, type ResumeDocument, type RichTextBlock, type RichTextBlockChildren, type RoleDocument, SAuthConnectProviderConfirmation, SAuthConnectProviderRedirectSearch, SAuthRawAccessToken, SChangePassword, SCreateLead, SCreateNewsletterSignup, SCreateResume, SCreateResumeInfo, SCreateUtmTrackingLinkDocument, type SCreateUtmTrackingLinkDocumentInput, SCreateUtmTrackingLinkParts, SDeleteUtmTrackingLinkDocument, SForgotUserPassword, SFormCreateMultipleUtmTrackingLinkDocuments, SLoginUser, SReadUserAccountByDocumentId, SReadUserAccountById, SReadUserByDocumentId, SReadUserById, SReadUtmTrackingLinkDocumentByDocumentId, SRegisterUser, SRequestConfirmEmail, SResetUserPassword, SUpdateResumeInfo, SUpdateTrendsLikes, SUpdateUserAccount, SUpdateUserAccountFirstName, SUpdateUserAccountLastName, SUpdateUserAccountPreferredName, SUpdateUtmTrackingLinkDocument, SUpdateUtmTrackingLinkDocumentRequest, SUserToken, type SeoMeta, type SharedButton, type SharedLink, type SharedQuestionAnswer, type SharedRichTextBlock, SharpSpringSignUpToDownload, type SlideContent, type SlideType, type SliderSettings, type SliderSpacing, type Slideshow, type SlideshowMode, type SlideshowSettings, type StrapiBgColorOptions, type StrapiDirection, type StrapiErrorDetail, type StrapiErrorResponse, type StrapiGapSizes, type StrapiIconName, type StrapiIconPosition, type StrapiLinkReferrerPolicy, type StrapiLinkRel, type StrapiLinkTarget, type StrapiLinkType, type StrapiListResponse, type StrapiPagination, type StrapiResponseMeta, type StrapiSingleResponse, type StrapiTextColorOptions, type StrapiThemeOptions, type TagDocument, type TeamMemberDocument, type TeamPageDocument, type TrendDocument, type UrlRedirectDocument, type UrlRedirectQueryParams, type UrlRedirectStatusCode, type UserAccountDocument, type UserAuthorizationLoginResponse, type UserAuthorizationSuccessResponse, type UserDocument, type UserWithAccountDocument, type UtmClassificationKey, type UtmMetaPageDocument, type UtmOption, type UtmSourceKey, type UtmTrackingLinkDocument, ValidGcDesiredContentOptions, ValidGcServiceOptions, ValidGcVideoServiceOptions, ValidJobRoleGroup, ValidNumberOfEmployeeOptions, ValidRatingRange5, datePlusDays, dateToday, isValidationFailure, isValidationSuccess, omitUndefined, validateAndClean };
|
|
1513
|
+
export { type BaseDocument, type BlockAnnouncementBar, type BlockBrandLogos, type BlockButtonGroup, type BlockContact, type BlockCtaLink, type BlockFaq, type BlockFullscreenContent, type BlockFullscreenContentType, type BlockTextDetails, type BlockVideoEmbed, type BlogPageDocument, type BlogPostBlock, type BlogPostDocument, CLIENT_ENTITY_KEYS, CLIENT_ENTITY_PERMISSIONS, CLIENT_ENTITY_SCOPES, type CareersPageDocument, type CategoryDocument, type ClientDocument, type ClientEntityActions, type ClientEntityKey, type ClientEntityScope, type ClientProjectDocument, type ClientProjectStatus, ClientProjectStatusOptions, type ClientReportDocument, type ClientUserDocument, type ComponentBlockAnnouncementBar, type ComponentBlockBrandLogos, type ComponentBlockButtonGroup, type ComponentBlockContact, type ComponentBlockCtaLink, type ComponentBlockFaq, type ComponentBlockFullscreenContent, type ComponentBlockTextDetails, type ComponentBlockVideo, type ComponentFormDownload, type ComponentFormSelect, type ComponentOpenGraph, type ComponentSeoMeta, type ComponentSharedButton, type ComponentSharedLink, type ComponentSharedQuestionAnswer, type ComponentSharedRichTextBlock, type ComponentSlideContent, type ComponentSliderSettings, type ComponentSlideshow, type ComponentSlideshowSettings, type ComponentUtmOption, ERROR_MESSAGE_REGEX_DOMAIN, ERROR_MESSAGE_REGEX_UTM_VALUE, type FormDownload, type FormDownloadKeys, type FormSelect, type FormUID, InvalidClientTermMin, InvalidClientTermNumber, InvalidCompanyName, InvalidCompanyNameMaxLength, InvalidCsvFileType, InvalidDestinationUrl, InvalidFirstName, InvalidFirstNameMaxLength, InvalidFullName, InvalidFullNameMaxLength, InvalidInputRobot, InvalidInstrustryName, InvalidInstrustryNameMaxLength, InvalidLastName, InvalidLastNameMaxLength, InvalidListOfUrls, InvalidLongStringOrUndefined, InvalidPreferredName, InvalidPreferredNameMaxLength, InvalidProductInterestMaxLength, InvalidRangeValueOneToFive, InvalidRefPageMaxLength, InvalidResumeFileType, InvalidShortStringMax, InvalidUserMessage, InvalidUserMessageMaxLength, InvalidUserPhone, InvalidUserPhoneType, InvalidUserTitle, InvalidUserTitleMaxLength, InvalidUtmCampaignKeyName, InvalidUtmLink, IsValidBlocked, IsValidCaptchaToken, IsValidClientTerm, IsValidCompanyName, IsValidCompanyNameRequired, IsValidConfirmed, IsValidCost, IsValidCsvFile, IsValidDateToday, IsValidDescription, IsValidDestinationUrl, IsValidFileReferenceId, IsValidFirstName, IsValidFullName, IsValidGroupUserScopes, IsValidIndustryName, IsValidIsActive, IsValidIsSecure, IsValidLabel, IsValidLastName, IsValidLongString, IsValidLongStringOrUndefined, IsValidName, IsValidNumberOfEmployees, IsValidOrUndefinedBlocked, IsValidOrUndefinedConfirmed, IsValidOrUndefinedCost, IsValidOrUndefinedDescription, IsValidOrUndefinedIsActive, IsValidOrUndefinedIsSecure, IsValidOrUndefinedLabel, IsValidOrUndefinedName, IsValidOrUndefinedPassword, IsValidOrUndefinedProvider, IsValidOrUndefinedUrlDestination, IsValidOrUndefinedUrlDomain, IsValidOrUndefinedUrlFragment, IsValidOrUndefinedUrlPath, IsValidOrUndefinedUrlProtocol, IsValidOrUndefinedUrlQuery, IsValidOrUndefinedUrlUtmCampaign, IsValidOrUndefinedUrlUtmContent, IsValidOrUndefinedUrlUtmCreativeFormat, IsValidOrUndefinedUrlUtmId, IsValidOrUndefinedUrlUtmMedium, IsValidOrUndefinedUrlUtmSource, IsValidOrUndefinedUrlUtmTerm, IsValidOrUndefinedUserEmail, IsValidOrUndefinedUsername, IsValidOrUndefinedValue, IsValidPassword, IsValidPositiveInteger, IsValidPreferredName, IsValidProductInterest, IsValidProvider, IsValidRangeValueOneToFive, IsValidRefPage, IsValidReferenceDocumentId, IsValidReferenceId, IsValidResumeFile, IsValidShortString, IsValidShortStringOrUndefined, IsValidStringList, IsValidStringListOrUndefined, IsValidStringSepListOfUrls, IsValidStringSepListOfUrlsOrUndefined, IsValidUrl, IsValidUrlDestination, IsValidUrlDomain, IsValidUrlFragment, IsValidUrlList, IsValidUrlOrUndefined, IsValidUrlPath, IsValidUrlProtocol, IsValidUrlQuery, IsValidUrlUtmCampaign, IsValidUrlUtmContent, IsValidUrlUtmCreativeFormat, IsValidUrlUtmId, IsValidUrlUtmMedium, IsValidUrlUtmSource, IsValidUrlUtmTerm, IsValidUserConsent, IsValidUserEmail, IsValidUserMessage, IsValidUserPhone, IsValidUserPhoneRequired, IsValidUserRole, IsValidUserTitle, IsValidUserTitleRequired, IsValidUsername, IsValidUtmCampaignKeyName, IsValidUtmCampaignKeyNameOrUndefined, IsValidUtmLink, IsValidValue, type KeenSliderOrigin, type KeenSliderSliderSlides, LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE, LIMIT_BLOG_POST_PAGINATION_MAX_SIZE, LIMIT_CATEGORIES_DEFAULT_SIZE, LIMIT_CATEGORIES_MAX_SIZE, LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE, LIMIT_CLIENT_PAGINATION_MAX_SIZE, LIMIT_LONG_STRING_MAX_LENGTH, LIMIT_MAX_DESCRIPTION, LIMIT_MAX_DESTINATION, LIMIT_MAX_DOMAIN, LIMIT_MAX_EMAIL, LIMIT_MAX_FRAGMENT, LIMIT_MAX_PASSWORD, LIMIT_MAX_PATH, LIMIT_MAX_PROVIDER, LIMIT_MAX_QUERY, LIMIT_MAX_USERNAME, 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_MAX_UTM_TERM, LIMIT_MEDIUM_STRING_MAX_LENGTH, LIMIT_MIN_DESTINATION, LIMIT_MIN_DOMAIN, LIMIT_MIN_EMAIL, LIMIT_MIN_FRAGMENT, LIMIT_MIN_NAME, LIMIT_MIN_PASSWORD, LIMIT_MIN_PATH, LIMIT_MIN_QUERY, LIMIT_MIN_USERNAME, LIMIT_MIN_UTM_CAMPAIGN, LIMIT_MIN_UTM_CONTENT, LIMIT_MIN_UTM_CREATIVE_FORMAT, LIMIT_MIN_UTM_ID, LIMIT_MIN_UTM_MEDIUM, LIMIT_MIN_UTM_SOURCE, LIMIT_MIN_UTM_TERM, LIMIT_MIN_VALUE, LIMIT_PAGINATION_DEFAULT_SIZE, LIMIT_PAGINATION_MAX_SIZE, LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_DEFAULT_SIZE, LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_MAX_SIZE, LIMIT_PRODUCT_PAGINATION_DEFAULT_SIZE, LIMIT_PRODUCT_PAGINATION_MAX_SIZE, LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE, LIMIT_REDIRECT_PAGINATION_MAX_SIZE, LIMIT_SHORT_STRING_MAX_LENGTH, LIMIT_TAGS_DEFAULT_SIZE, LIMIT_TAGS_MAX_SIZE, LIMIT_TEAM_MEMBER_PAGINATION_DEFAULT_SIZE, LIMIT_TEAM_MEMBER_PAGINATION_MAX_SIZE, LIMIT_TREND_PAGINATION_DEFAULT_SIZE, LIMIT_TREND_PAGINATION_MAX_SIZE, LIMIT_USER_PAGINATION_DEFAULT_SIZE, LIMIT_USER_PAGINATION_MAX_SIZE, LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE, LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE, type LandingPageDocument, type LeadDocument, type MediaFormat, type MediaFormats, type MediaPlatformDocument, type MediaUploadDocument, type OpenGraph, type PermissionDocument, type PolicyPageDocument, type ProductDocument, type ProductHighlightDocument, QueryStrapiByDocumentId, QueryStrapiByEmail, QueryStrapiById, QueryStrapiByName, QueryStrapiByPhone, QueryStrapiBySlug, QueryStrapiPaginated, QueryStrapiPaginatedUrlRedirects, QueryStrapiSearchBlogPosts, QueryStrapiSearchBlogPostsBySlug, QueryStrapiSearchClientProjects, QueryStrapiSearchClients, QueryStrapiSearchUtmTrackingLinks, QueryStrapiUrlRedirectsByFrom, QueryStrapiUsers, QueryStrapiUsersByIdentifier, REGEX_DOMAIN, REGEX_UTM_VALUE, type ResumeDocument, type RichTextBlock, type RichTextBlockChildren, type RoleDocument, SAuthConnectProviderConfirmation, SAuthConnectProviderRedirectSearch, SAuthRawAccessToken, SChangePassword, SCreateLead, SCreateNewsletterSignup, SCreateResume, SCreateResumeInfo, SCreateUtmTrackingLinkDocument, type SCreateUtmTrackingLinkDocumentInput, SCreateUtmTrackingLinkParts, SDeleteUtmTrackingLinkDocument, SForgotUserPassword, SFormCreateMultipleUtmTrackingLinkDocuments, SLoginUser, SReadUserAccountByDocumentId, SReadUserAccountById, SReadUserByDocumentId, SReadUserById, SReadUtmTrackingLinkDocumentByDocumentId, SRegisterUser, SRequestConfirmEmail, SResetUserPassword, SUpdateResumeInfo, SUpdateTrendsLikes, SUpdateUserAccount, SUpdateUserAccountFirstName, SUpdateUserAccountLastName, SUpdateUserAccountPreferredName, SUpdateUtmTrackingLinkDocument, SUpdateUtmTrackingLinkDocumentRequest, SUserToken, type SeoMeta, type SharedButton, type SharedLink, type SharedQuestionAnswer, type SharedRichTextBlock, SharpSpringSignUpToDownload, type SlideContent, type SlideType, type SliderSettings, type SliderSpacing, type Slideshow, type SlideshowMode, type SlideshowSettings, type StrapiBgColorOptions, type StrapiDirection, type StrapiErrorDetail, type StrapiErrorResponse, type StrapiGapSizes, type StrapiIconName, type StrapiIconPosition, type StrapiLinkReferrerPolicy, type StrapiLinkRel, type StrapiLinkTarget, type StrapiLinkType, type StrapiListResponse, type StrapiPagination, type StrapiResponseMeta, type StrapiSingleResponse, type StrapiTextColorOptions, type StrapiThemeOptions, type TagDocument, type TeamMemberDocument, type TeamPageDocument, type TrendDocument, type UrlRedirectDocument, type UrlRedirectQueryParams, type UrlRedirectStatusCode, type UserAccountDocument, type UserAuthorizationLoginResponse, type UserAuthorizationSuccessResponse, type UserDocument, type UserWithAccountDocument, type UtmClassificationKey, type UtmMetaPageDocument, type UtmOption, type UtmSourceKey, type UtmTrackingLinkDocument, ValidGcDesiredContentOptions, ValidGcServiceOptions, ValidGcVideoServiceOptions, ValidJobRoleGroup, ValidNumberOfEmployeeOptions, ValidRatingRange5, datePlusDays, dateToday, isValidationFailure, isValidationSuccess, omitUndefined, validateAndClean };
|
package/dist/index.js
CHANGED
|
@@ -196,6 +196,14 @@ var IsValidLastName = v4.pipe(
|
|
|
196
196
|
v4.minLength(LIMIT_MIN_VALUE, InvalidLastName),
|
|
197
197
|
v4.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidLastNameMaxLength)
|
|
198
198
|
);
|
|
199
|
+
var InvalidPreferredName = "Please enter your preferred name.";
|
|
200
|
+
var InvalidPreferredNameMaxLength = `Your preferred name is too long for our datanase, please abbreviate your preferred name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`;
|
|
201
|
+
var IsValidPreferredName = v4.pipe(
|
|
202
|
+
v4.string(InvalidPreferredName),
|
|
203
|
+
v4.trim(),
|
|
204
|
+
v4.minLength(LIMIT_MIN_VALUE, InvalidPreferredName),
|
|
205
|
+
v4.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidPreferredNameMaxLength)
|
|
206
|
+
);
|
|
199
207
|
var IsValidUserConsent = v4.boolean();
|
|
200
208
|
var InvalidUserPhoneType = "Please enter your phone number.";
|
|
201
209
|
var InvalidUserPhone = `The phone you provided does not appear to be a valid phone number.`;
|
|
@@ -995,7 +1003,7 @@ var SUpdateUserAccount = v4.object({
|
|
|
995
1003
|
documentId: IsValidReferenceDocumentId,
|
|
996
1004
|
first_name: IsValidFirstName,
|
|
997
1005
|
last_name: IsValidLastName,
|
|
998
|
-
preferred_name:
|
|
1006
|
+
preferred_name: IsValidPreferredName
|
|
999
1007
|
});
|
|
1000
1008
|
var SUpdateUserAccountFirstName = v4.object({
|
|
1001
1009
|
documentId: IsValidReferenceDocumentId,
|
|
@@ -1007,7 +1015,7 @@ var SUpdateUserAccountLastName = v4.object({
|
|
|
1007
1015
|
});
|
|
1008
1016
|
var SUpdateUserAccountPreferredName = v4.object({
|
|
1009
1017
|
documentId: IsValidReferenceDocumentId,
|
|
1010
|
-
preferred_name:
|
|
1018
|
+
preferred_name: IsValidPreferredName
|
|
1011
1019
|
});
|
|
1012
1020
|
var QueryStrapiSearchUtmTrackingLinks = v4.object({
|
|
1013
1021
|
page: v4.fallback(v4.optional(v4.pipe(v4.number(), v4.minValue(1)), 1), 1),
|
|
@@ -1168,6 +1176,6 @@ function datePlusDays(today, days = 30) {
|
|
|
1168
1176
|
return date2;
|
|
1169
1177
|
}
|
|
1170
1178
|
|
|
1171
|
-
export { CLIENT_ENTITY_KEYS, CLIENT_ENTITY_PERMISSIONS, CLIENT_ENTITY_SCOPES, ClientProjectStatusOptions, ERROR_MESSAGE_REGEX_DOMAIN, ERROR_MESSAGE_REGEX_UTM_VALUE, InvalidClientTermMin, InvalidClientTermNumber, InvalidCompanyName, InvalidCompanyNameMaxLength, InvalidCsvFileType, InvalidDestinationUrl, InvalidFirstName, InvalidFirstNameMaxLength, InvalidFullName, InvalidFullNameMaxLength, InvalidInputRobot, InvalidInstrustryName, InvalidInstrustryNameMaxLength, InvalidLastName, InvalidLastNameMaxLength, InvalidListOfUrls, InvalidLongStringOrUndefined, InvalidProductInterestMaxLength, InvalidRangeValueOneToFive, InvalidRefPageMaxLength, InvalidResumeFileType, InvalidShortStringMax, InvalidUserMessage, InvalidUserMessageMaxLength, InvalidUserPhone, InvalidUserPhoneType, InvalidUserTitle, InvalidUserTitleMaxLength, InvalidUtmCampaignKeyName, InvalidUtmLink, IsValidBlocked, IsValidCaptchaToken, IsValidClientTerm, IsValidCompanyName, IsValidCompanyNameRequired, IsValidConfirmed, IsValidCost, IsValidCsvFile, IsValidDateToday, IsValidDescription, IsValidDestinationUrl, IsValidFileReferenceId, IsValidFirstName, IsValidFullName, IsValidGroupUserScopes, IsValidIndustryName, IsValidIsActive, IsValidIsSecure, IsValidLabel, IsValidLastName, IsValidLongString, IsValidLongStringOrUndefined, IsValidName, IsValidNumberOfEmployees, IsValidOrUndefinedBlocked, IsValidOrUndefinedConfirmed, IsValidOrUndefinedCost, IsValidOrUndefinedDescription, IsValidOrUndefinedIsActive, IsValidOrUndefinedIsSecure, IsValidOrUndefinedLabel, IsValidOrUndefinedName, IsValidOrUndefinedPassword, IsValidOrUndefinedProvider, IsValidOrUndefinedUrlDestination, IsValidOrUndefinedUrlDomain, IsValidOrUndefinedUrlFragment, IsValidOrUndefinedUrlPath, IsValidOrUndefinedUrlProtocol, IsValidOrUndefinedUrlQuery, IsValidOrUndefinedUrlUtmCampaign, IsValidOrUndefinedUrlUtmContent, IsValidOrUndefinedUrlUtmCreativeFormat, IsValidOrUndefinedUrlUtmId, IsValidOrUndefinedUrlUtmMedium, IsValidOrUndefinedUrlUtmSource, IsValidOrUndefinedUrlUtmTerm, IsValidOrUndefinedUserEmail, IsValidOrUndefinedUsername, IsValidOrUndefinedValue, IsValidPassword, IsValidPositiveInteger, IsValidProductInterest, IsValidProvider, IsValidRangeValueOneToFive, IsValidRefPage, IsValidReferenceDocumentId, IsValidReferenceId, IsValidResumeFile, IsValidShortString, IsValidShortStringOrUndefined, IsValidStringList, IsValidStringListOrUndefined, IsValidStringSepListOfUrls, IsValidStringSepListOfUrlsOrUndefined, IsValidUrl, IsValidUrlDestination, IsValidUrlDomain, IsValidUrlFragment, IsValidUrlList, IsValidUrlOrUndefined, IsValidUrlPath, IsValidUrlProtocol, IsValidUrlQuery, IsValidUrlUtmCampaign, IsValidUrlUtmContent, IsValidUrlUtmCreativeFormat, IsValidUrlUtmId, IsValidUrlUtmMedium, IsValidUrlUtmSource, IsValidUrlUtmTerm, IsValidUserConsent, IsValidUserEmail, IsValidUserMessage, IsValidUserPhone, IsValidUserPhoneRequired, IsValidUserRole, IsValidUserTitle, IsValidUserTitleRequired, IsValidUsername, IsValidUtmCampaignKeyName, IsValidUtmCampaignKeyNameOrUndefined, IsValidUtmLink, IsValidValue, LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE, LIMIT_BLOG_POST_PAGINATION_MAX_SIZE, LIMIT_CATEGORIES_DEFAULT_SIZE, LIMIT_CATEGORIES_MAX_SIZE, LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE, LIMIT_CLIENT_PAGINATION_MAX_SIZE, LIMIT_LONG_STRING_MAX_LENGTH, LIMIT_MAX_DESCRIPTION, LIMIT_MAX_DESTINATION, LIMIT_MAX_DOMAIN, LIMIT_MAX_EMAIL, LIMIT_MAX_FRAGMENT, LIMIT_MAX_PASSWORD, LIMIT_MAX_PATH, LIMIT_MAX_PROVIDER, LIMIT_MAX_QUERY, LIMIT_MAX_USERNAME, 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_MAX_UTM_TERM, LIMIT_MEDIUM_STRING_MAX_LENGTH, LIMIT_MIN_DESTINATION, LIMIT_MIN_DOMAIN, LIMIT_MIN_EMAIL, LIMIT_MIN_FRAGMENT, LIMIT_MIN_NAME, LIMIT_MIN_PASSWORD, LIMIT_MIN_PATH, LIMIT_MIN_QUERY, LIMIT_MIN_USERNAME, LIMIT_MIN_UTM_CAMPAIGN, LIMIT_MIN_UTM_CONTENT, LIMIT_MIN_UTM_CREATIVE_FORMAT, LIMIT_MIN_UTM_ID, LIMIT_MIN_UTM_MEDIUM, LIMIT_MIN_UTM_SOURCE, LIMIT_MIN_UTM_TERM, LIMIT_MIN_VALUE, LIMIT_PAGINATION_DEFAULT_SIZE, LIMIT_PAGINATION_MAX_SIZE, LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_DEFAULT_SIZE, LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_MAX_SIZE, LIMIT_PRODUCT_PAGINATION_DEFAULT_SIZE, LIMIT_PRODUCT_PAGINATION_MAX_SIZE, LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE, LIMIT_REDIRECT_PAGINATION_MAX_SIZE, LIMIT_SHORT_STRING_MAX_LENGTH, LIMIT_TAGS_DEFAULT_SIZE, LIMIT_TAGS_MAX_SIZE, LIMIT_TEAM_MEMBER_PAGINATION_DEFAULT_SIZE, LIMIT_TEAM_MEMBER_PAGINATION_MAX_SIZE, LIMIT_TREND_PAGINATION_DEFAULT_SIZE, LIMIT_TREND_PAGINATION_MAX_SIZE, LIMIT_USER_PAGINATION_DEFAULT_SIZE, LIMIT_USER_PAGINATION_MAX_SIZE, LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE, LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE, QueryStrapiByDocumentId, QueryStrapiByEmail, QueryStrapiById, QueryStrapiByName, QueryStrapiByPhone, QueryStrapiBySlug, QueryStrapiPaginated, QueryStrapiPaginatedUrlRedirects, QueryStrapiSearchBlogPosts, QueryStrapiSearchBlogPostsBySlug, QueryStrapiSearchClientProjects, QueryStrapiSearchClients, QueryStrapiSearchUtmTrackingLinks, QueryStrapiUrlRedirectsByFrom, QueryStrapiUsers, QueryStrapiUsersByIdentifier, REGEX_DOMAIN, REGEX_UTM_VALUE, SAuthConnectProviderConfirmation, SAuthConnectProviderRedirectSearch, SAuthRawAccessToken, SChangePassword, SCreateLead, SCreateNewsletterSignup, SCreateResume, SCreateResumeInfo, SCreateUtmTrackingLinkDocument, SCreateUtmTrackingLinkParts, SDeleteUtmTrackingLinkDocument, SForgotUserPassword, SFormCreateMultipleUtmTrackingLinkDocuments, SLoginUser, SReadUserAccountByDocumentId, SReadUserAccountById, SReadUserByDocumentId, SReadUserById, SReadUtmTrackingLinkDocumentByDocumentId, SRegisterUser, SRequestConfirmEmail, SResetUserPassword, SUpdateResumeInfo, SUpdateTrendsLikes, SUpdateUserAccount, SUpdateUserAccountFirstName, SUpdateUserAccountLastName, SUpdateUserAccountPreferredName, SUpdateUtmTrackingLinkDocument, SUpdateUtmTrackingLinkDocumentRequest, SUserToken, SharpSpringSignUpToDownload, ValidGcDesiredContentOptions, ValidGcServiceOptions, ValidGcVideoServiceOptions, ValidJobRoleGroup, ValidNumberOfEmployeeOptions, ValidRatingRange5, datePlusDays, dateToday, isValidationFailure, isValidationSuccess, omitUndefined, validateAndClean };
|
|
1179
|
+
export { CLIENT_ENTITY_KEYS, CLIENT_ENTITY_PERMISSIONS, CLIENT_ENTITY_SCOPES, ClientProjectStatusOptions, ERROR_MESSAGE_REGEX_DOMAIN, ERROR_MESSAGE_REGEX_UTM_VALUE, InvalidClientTermMin, InvalidClientTermNumber, InvalidCompanyName, InvalidCompanyNameMaxLength, InvalidCsvFileType, InvalidDestinationUrl, InvalidFirstName, InvalidFirstNameMaxLength, InvalidFullName, InvalidFullNameMaxLength, InvalidInputRobot, InvalidInstrustryName, InvalidInstrustryNameMaxLength, InvalidLastName, InvalidLastNameMaxLength, InvalidListOfUrls, InvalidLongStringOrUndefined, InvalidPreferredName, InvalidPreferredNameMaxLength, InvalidProductInterestMaxLength, InvalidRangeValueOneToFive, InvalidRefPageMaxLength, InvalidResumeFileType, InvalidShortStringMax, InvalidUserMessage, InvalidUserMessageMaxLength, InvalidUserPhone, InvalidUserPhoneType, InvalidUserTitle, InvalidUserTitleMaxLength, InvalidUtmCampaignKeyName, InvalidUtmLink, IsValidBlocked, IsValidCaptchaToken, IsValidClientTerm, IsValidCompanyName, IsValidCompanyNameRequired, IsValidConfirmed, IsValidCost, IsValidCsvFile, IsValidDateToday, IsValidDescription, IsValidDestinationUrl, IsValidFileReferenceId, IsValidFirstName, IsValidFullName, IsValidGroupUserScopes, IsValidIndustryName, IsValidIsActive, IsValidIsSecure, IsValidLabel, IsValidLastName, IsValidLongString, IsValidLongStringOrUndefined, IsValidName, IsValidNumberOfEmployees, IsValidOrUndefinedBlocked, IsValidOrUndefinedConfirmed, IsValidOrUndefinedCost, IsValidOrUndefinedDescription, IsValidOrUndefinedIsActive, IsValidOrUndefinedIsSecure, IsValidOrUndefinedLabel, IsValidOrUndefinedName, IsValidOrUndefinedPassword, IsValidOrUndefinedProvider, IsValidOrUndefinedUrlDestination, IsValidOrUndefinedUrlDomain, IsValidOrUndefinedUrlFragment, IsValidOrUndefinedUrlPath, IsValidOrUndefinedUrlProtocol, IsValidOrUndefinedUrlQuery, IsValidOrUndefinedUrlUtmCampaign, IsValidOrUndefinedUrlUtmContent, IsValidOrUndefinedUrlUtmCreativeFormat, IsValidOrUndefinedUrlUtmId, IsValidOrUndefinedUrlUtmMedium, IsValidOrUndefinedUrlUtmSource, IsValidOrUndefinedUrlUtmTerm, IsValidOrUndefinedUserEmail, IsValidOrUndefinedUsername, IsValidOrUndefinedValue, IsValidPassword, IsValidPositiveInteger, IsValidPreferredName, IsValidProductInterest, IsValidProvider, IsValidRangeValueOneToFive, IsValidRefPage, IsValidReferenceDocumentId, IsValidReferenceId, IsValidResumeFile, IsValidShortString, IsValidShortStringOrUndefined, IsValidStringList, IsValidStringListOrUndefined, IsValidStringSepListOfUrls, IsValidStringSepListOfUrlsOrUndefined, IsValidUrl, IsValidUrlDestination, IsValidUrlDomain, IsValidUrlFragment, IsValidUrlList, IsValidUrlOrUndefined, IsValidUrlPath, IsValidUrlProtocol, IsValidUrlQuery, IsValidUrlUtmCampaign, IsValidUrlUtmContent, IsValidUrlUtmCreativeFormat, IsValidUrlUtmId, IsValidUrlUtmMedium, IsValidUrlUtmSource, IsValidUrlUtmTerm, IsValidUserConsent, IsValidUserEmail, IsValidUserMessage, IsValidUserPhone, IsValidUserPhoneRequired, IsValidUserRole, IsValidUserTitle, IsValidUserTitleRequired, IsValidUsername, IsValidUtmCampaignKeyName, IsValidUtmCampaignKeyNameOrUndefined, IsValidUtmLink, IsValidValue, LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE, LIMIT_BLOG_POST_PAGINATION_MAX_SIZE, LIMIT_CATEGORIES_DEFAULT_SIZE, LIMIT_CATEGORIES_MAX_SIZE, LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE, LIMIT_CLIENT_PAGINATION_MAX_SIZE, LIMIT_LONG_STRING_MAX_LENGTH, LIMIT_MAX_DESCRIPTION, LIMIT_MAX_DESTINATION, LIMIT_MAX_DOMAIN, LIMIT_MAX_EMAIL, LIMIT_MAX_FRAGMENT, LIMIT_MAX_PASSWORD, LIMIT_MAX_PATH, LIMIT_MAX_PROVIDER, LIMIT_MAX_QUERY, LIMIT_MAX_USERNAME, 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_MAX_UTM_TERM, LIMIT_MEDIUM_STRING_MAX_LENGTH, LIMIT_MIN_DESTINATION, LIMIT_MIN_DOMAIN, LIMIT_MIN_EMAIL, LIMIT_MIN_FRAGMENT, LIMIT_MIN_NAME, LIMIT_MIN_PASSWORD, LIMIT_MIN_PATH, LIMIT_MIN_QUERY, LIMIT_MIN_USERNAME, LIMIT_MIN_UTM_CAMPAIGN, LIMIT_MIN_UTM_CONTENT, LIMIT_MIN_UTM_CREATIVE_FORMAT, LIMIT_MIN_UTM_ID, LIMIT_MIN_UTM_MEDIUM, LIMIT_MIN_UTM_SOURCE, LIMIT_MIN_UTM_TERM, LIMIT_MIN_VALUE, LIMIT_PAGINATION_DEFAULT_SIZE, LIMIT_PAGINATION_MAX_SIZE, LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_DEFAULT_SIZE, LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_MAX_SIZE, LIMIT_PRODUCT_PAGINATION_DEFAULT_SIZE, LIMIT_PRODUCT_PAGINATION_MAX_SIZE, LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE, LIMIT_REDIRECT_PAGINATION_MAX_SIZE, LIMIT_SHORT_STRING_MAX_LENGTH, LIMIT_TAGS_DEFAULT_SIZE, LIMIT_TAGS_MAX_SIZE, LIMIT_TEAM_MEMBER_PAGINATION_DEFAULT_SIZE, LIMIT_TEAM_MEMBER_PAGINATION_MAX_SIZE, LIMIT_TREND_PAGINATION_DEFAULT_SIZE, LIMIT_TREND_PAGINATION_MAX_SIZE, LIMIT_USER_PAGINATION_DEFAULT_SIZE, LIMIT_USER_PAGINATION_MAX_SIZE, LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE, LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE, QueryStrapiByDocumentId, QueryStrapiByEmail, QueryStrapiById, QueryStrapiByName, QueryStrapiByPhone, QueryStrapiBySlug, QueryStrapiPaginated, QueryStrapiPaginatedUrlRedirects, QueryStrapiSearchBlogPosts, QueryStrapiSearchBlogPostsBySlug, QueryStrapiSearchClientProjects, QueryStrapiSearchClients, QueryStrapiSearchUtmTrackingLinks, QueryStrapiUrlRedirectsByFrom, QueryStrapiUsers, QueryStrapiUsersByIdentifier, REGEX_DOMAIN, REGEX_UTM_VALUE, SAuthConnectProviderConfirmation, SAuthConnectProviderRedirectSearch, SAuthRawAccessToken, SChangePassword, SCreateLead, SCreateNewsletterSignup, SCreateResume, SCreateResumeInfo, SCreateUtmTrackingLinkDocument, SCreateUtmTrackingLinkParts, SDeleteUtmTrackingLinkDocument, SForgotUserPassword, SFormCreateMultipleUtmTrackingLinkDocuments, SLoginUser, SReadUserAccountByDocumentId, SReadUserAccountById, SReadUserByDocumentId, SReadUserById, SReadUtmTrackingLinkDocumentByDocumentId, SRegisterUser, SRequestConfirmEmail, SResetUserPassword, SUpdateResumeInfo, SUpdateTrendsLikes, SUpdateUserAccount, SUpdateUserAccountFirstName, SUpdateUserAccountLastName, SUpdateUserAccountPreferredName, SUpdateUtmTrackingLinkDocument, SUpdateUtmTrackingLinkDocumentRequest, SUserToken, SharpSpringSignUpToDownload, ValidGcDesiredContentOptions, ValidGcServiceOptions, ValidGcVideoServiceOptions, ValidJobRoleGroup, ValidNumberOfEmployeeOptions, ValidRatingRange5, datePlusDays, dateToday, isValidationFailure, isValidationSuccess, omitUndefined, validateAndClean };
|
|
1172
1180
|
//# sourceMappingURL=index.js.map
|
|
1173
1181
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/constants/limits.constants.ts","../src/constants/pagination.constants.ts","../src/constants/permission.constants.ts","../src/constants/regex.constants.ts","../src/schemas/blog.schemas.ts","../src/validators/validators-client-users.ts","../src/validators/validators-generics.ts","../src/validators/validators-forms.ts","../src/validators/validators-urls.ts","../src/validators/validators-users.ts","../src/validators/validators-utm-params.ts","../src/types/documents/client-project.document.ts","../src/schemas/client-project.schemas.ts","../src/schemas/client.schemas.ts","../src/schemas/generic.schemas.ts","../src/schemas/lead.schemas.ts","../src/schemas/newsletter.schemas.ts","../src/schemas/resume.schemas.ts","../src/schemas/sharpspring.schemas.ts","../src/schemas/trend.schemas.ts","../src/schemas/url-redirect.schemas.ts","../src/schemas/user-auth.schemas.ts","../src/schemas/user.schemas.ts","../src/schemas/user-account.schemas.ts","../src/schemas/utm-tracking-link.schemas.ts","../src/utilities/utilities.ts","../src/utilities/utilities-datetime.ts"],"names":["v","v2","v3","v5","v6","v7","v8","v9","v10","v11","v12","v13","v14","v15","v16","v17","v18","v19","v20","v21","date"],"mappings":"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","file":"index.js","sourcesContent":["// Generics\nexport const LIMIT_MIN_VALUE = 1\nexport const LIMIT_MIN_NAME = 2\nexport const LIMIT_MAX_DESCRIPTION = 1024\nexport const LIMIT_SHORT_STRING_MAX_LENGTH = 255\nexport const LIMIT_MEDIUM_STRING_MAX_LENGTH = 500\nexport const LIMIT_LONG_STRING_MAX_LENGTH = 5000\n// Users\nexport const LIMIT_MIN_USERNAME = 3\nexport const LIMIT_MAX_USERNAME = 255\nexport const LIMIT_MIN_EMAIL = 5\nexport const LIMIT_MAX_EMAIL = 255\nexport const LIMIT_MIN_PASSWORD = 8\nexport const LIMIT_MAX_PASSWORD = 255\nexport const LIMIT_MAX_PROVIDER = 255\n// URLs\nexport const LIMIT_MIN_DESTINATION = 10\nexport const LIMIT_MAX_DESTINATION = 2048\nexport const LIMIT_MIN_DOMAIN = 10\nexport const LIMIT_MAX_DOMAIN = 253\nexport const LIMIT_MIN_PATH = 1\nexport const LIMIT_MAX_PATH = 2038\nexport const LIMIT_MIN_QUERY = 1\nexport const LIMIT_MAX_QUERY = 2038\nexport const LIMIT_MIN_FRAGMENT = 1\nexport const LIMIT_MAX_FRAGMENT = 2038\n// UTM Parameters\nexport const LIMIT_MIN_UTM_SOURCE = 1\nexport const LIMIT_MAX_UTM_SOURCE = 2026\nexport const LIMIT_MIN_UTM_MEDIUM = 1\nexport const LIMIT_MAX_UTM_MEDIUM = 2026\nexport const LIMIT_MIN_UTM_CAMPAIGN = 1\nexport const LIMIT_MAX_UTM_CAMPAIGN = 2024\nexport const LIMIT_MIN_UTM_CREATIVE_FORMAT = 1\nexport const LIMIT_MAX_UTM_CREATIVE_FORMAT = 2017\nexport const LIMIT_MIN_UTM_CONTENT = 1\nexport const LIMIT_MAX_UTM_CONTENT = 2025\nexport const LIMIT_MIN_UTM_TERM = 1\nexport const LIMIT_MAX_UTM_TERM = 2028\nexport const LIMIT_MIN_UTM_ID = 1\nexport const LIMIT_MAX_UTM_ID = 2030\n","// Generics\nexport const LIMIT_PAGINATION_DEFAULT_SIZE = 100\nexport const LIMIT_PAGINATION_MAX_SIZE = 10000\n// Entities\nexport const LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE = 6\nexport const LIMIT_BLOG_POST_PAGINATION_MAX_SIZE = 20\nexport const LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE = 16\nexport const LIMIT_CLIENT_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_PRODUCT_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_PRODUCT_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE = 1000\nexport const LIMIT_REDIRECT_PAGINATION_MAX_SIZE = 10000\nexport const LIMIT_TEAM_MEMBER_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_TEAM_MEMBER_PAGINATION_MAX_SIZE = 20\nexport const LIMIT_TREND_PAGINATION_DEFAULT_SIZE = 7\nexport const LIMIT_TREND_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_USER_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_USER_PAGINATION_MAX_SIZE = 10\nexport const LIMIT_CATEGORIES_DEFAULT_SIZE = 100\nexport const LIMIT_CATEGORIES_MAX_SIZE = 1000\nexport const LIMIT_TAGS_DEFAULT_SIZE = 100\nexport const LIMIT_TAGS_MAX_SIZE = 1000\nexport const LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE = 1000","//\n/**\n * Example usage of ClientEntityScope type\n * @reference https://youtube.com/shorts/zOseJFD447U?si=xX8DYEHdl9YtN7S4\n *\n * > const validScope: ClientEntityScope = \"tracking-link:import\"; // ✅\n * > const invalidScope: ClientEntityScope = \"website:import\"; // ❌ Type error!\n */\n\nexport const CLIENT_ENTITY_PERMISSIONS = {\n \"client-project\": [\"list\", \"create\", \"read\", \"update\", \"delete\", \"export\", \"import\"],\n \"client-report\": [\"list\", \"create\", \"read\", \"update\", \"delete\", \"export\", \"import\"],\n \"utm-tracking-link\": [\n \"list\",\n \"create\",\n \"read\",\n \"update\",\n \"delete\",\n \"export\",\n \"import\"\n ]\n} as const\n\nexport type ClientEntityKey = keyof typeof CLIENT_ENTITY_PERMISSIONS\n\nexport type ClientEntityActions<K extends ClientEntityKey = ClientEntityKey> =\n (typeof CLIENT_ENTITY_PERMISSIONS)[K][number]\n\ntype EntityActionJoin<K extends string, V extends string> = `${K}:${V}`\n\nexport type ClientEntityScope = {\n [K in ClientEntityKey]: EntityActionJoin<\n K,\n (typeof CLIENT_ENTITY_PERMISSIONS)[K][number]\n >\n}[ClientEntityKey]\n\nexport const CLIENT_ENTITY_KEYS = Object.keys(\n CLIENT_ENTITY_PERMISSIONS\n) as ClientEntityKey[]\n\nexport const CLIENT_ENTITY_SCOPES: ClientEntityScope[] = Object.entries(\n CLIENT_ENTITY_PERMISSIONS\n).flatMap(([entity, actions]) =>\n actions.map((action) => `${entity}:${action}` as ClientEntityScope)\n)\n","export const ERROR_MESSAGE_REGEX_DOMAIN = \"please provide a valid domain name\"\nexport const REGEX_DOMAIN =\n /^(?=.{1,253}$)(?!-)((xn--)?[a-zA-Z0-9]{1,59}(-[a-zA-Z0-9]{1,62})?\\.)+([a-zA-Z]{2,63}|xn--[a-zA-Z0-9]{2,59})$/\n\nexport const ERROR_MESSAGE_REGEX_UTM_VALUE = `can only contain letters, numbers, and the special characters: - _ .`\nexport const REGEX_UTM_VALUE = /^[a-zA-Z0-9._-]+$/\n","import * as v from \"valibot\"\nimport {\n LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE,\n LIMIT_BLOG_POST_PAGINATION_MAX_SIZE\n} from \"../constants\"\n\nexport const QueryStrapiSearchBlogPosts = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(\n v.number(),\n v.minValue(1),\n v.maxValue(LIMIT_BLOG_POST_PAGINATION_MAX_SIZE)\n ),\n LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE\n ),\n search: v.optional(v.pipe(v.string(), v.maxLength(255)), \"\"),\n category: v.optional(v.pipe(v.string(), v.maxLength(100)), \"\"),\n tags: v.optional(v.array(v.pipe(v.string(), v.maxLength(100))), []),\n status: v.optional(v.picklist([\"draft\", \"published\"]))\n})\n\nexport type QueryStrapiSearchBlogPosts = v.InferOutput<\n typeof QueryStrapiSearchBlogPosts\n>\n\nexport const QueryStrapiSearchBlogPostsBySlug = v.object({\n slug: v.string(),\n status: v.optional(v.picklist([\"draft\", \"published\"]), \"published\")\n})\n\nexport type QueryStrapiSearchBlogPostsBySlug = v.InferOutput<\n typeof QueryStrapiSearchBlogPostsBySlug\n>\n","import * as v from \"valibot\"\nimport { CLIENT_ENTITY_SCOPES } from \"../constants\"\n\nexport const IsValidGroupUserScopes = v.pipe(\n v.array(\n v.pipe(\n v.string(\"please provide a valid scope\"),\n v.picklist(CLIENT_ENTITY_SCOPES, \"invalid client scope provided\")\n ),\n \"please provide an array of scopes\"\n ),\n v.maxLength(\n CLIENT_ENTITY_SCOPES.length,\n \"you cannot provide more scopes than available\"\n )\n)\n","import * as v from \"valibot\"\nimport {\n LIMIT_LONG_STRING_MAX_LENGTH,\n LIMIT_SHORT_STRING_MAX_LENGTH\n} from \"../constants\"\n\n// reference id for relationships\nexport const IsValidReferenceId = v.number(\"please provide a valid id\")\n\nexport const IsValidReferenceDocumentId = v.pipe(\n v.string(\"please provide a valid document id\"),\n v.trim(),\n v.minLength(1, \"the document id is too short, it must be at least 1 character\"),\n v.maxLength(255, \"the document id is too long, it must be 255 characters or less\")\n)\n\n// dates\nexport const IsValidDateToday = v.pipe(\n v.date(),\n v.minValue(new Date()),\n v.transform((value) => value.toISOString())\n)\n\n// numbers\nexport const IsValidPositiveInteger = v.pipe(\n v.number(\"Please enter a number.\"),\n v.integer(\"Please enter a whole number.\"),\n v.minValue(1, \"Please enter a positive number.\")\n)\n\n// strings\nexport const InvalidShortStringMax = `The string you provided is too long, please abbreviate your string to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidShortString = v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidShortStringMax)\n)\nexport const IsValidShortStringOrUndefined = v.optional(IsValidShortString)\n\nexport const InvalidLongStringOrUndefined = `The string you provided is too long, please abbreviate your string to be ${LIMIT_LONG_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidLongString = v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_LONG_STRING_MAX_LENGTH, InvalidLongStringOrUndefined)\n)\nexport const IsValidLongStringOrUndefined = v.optional(IsValidLongString)\n\nexport const IsValidStringList = v.pipe(\n v.array(v.string()),\n v.transform((value) => value.join(\",\"))\n)\nexport const IsValidStringListOrUndefined = v.optional(IsValidStringList)\n","import * as v from \"valibot\"\nimport {\n ERROR_MESSAGE_REGEX_UTM_VALUE,\n LIMIT_LONG_STRING_MAX_LENGTH,\n LIMIT_MAX_DESCRIPTION,\n LIMIT_MAX_DESTINATION,\n LIMIT_MEDIUM_STRING_MAX_LENGTH,\n LIMIT_MIN_NAME,\n LIMIT_MIN_VALUE,\n LIMIT_SHORT_STRING_MAX_LENGTH,\n REGEX_UTM_VALUE\n} from \"../constants\"\nimport { InvalidLongStringOrUndefined } from \"./validators-generics\"\n\nexport const InvalidInputRobot = \"It appears you are a robot, please try again.\"\n\n// File Reference\nexport const IsValidFileReferenceId = v.object({\n id: v.number(),\n src: v.optional(v.string())\n})\n\n// names\nexport const InvalidFullName = \"Please enter your name.\"\nexport const InvalidFullNameMaxLength = `Your name is too long for our datanase, please abbreviate your name to be ${LIMIT_MEDIUM_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidFullName = v.pipe(\n v.string(InvalidFullName),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidFullName),\n v.maxLength(LIMIT_MEDIUM_STRING_MAX_LENGTH, InvalidFullNameMaxLength),\n v.includes(\" \", \"Please enter your first and last name.\")\n)\n\nexport const InvalidFirstName = \"Please enter your first name.\"\nexport const InvalidFirstNameMaxLength = `Your first name is too long for our datanase, please abbreviate your first name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidFirstName = v.pipe(\n v.string(InvalidFirstName),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidFirstName),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidFirstNameMaxLength)\n)\n\nexport const InvalidLastName = \"Please enter your last name.\"\nexport const InvalidLastNameMaxLength = `Your last name is too long for our datanase, please abbreviate your last name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidLastName = v.pipe(\n v.string(InvalidLastName),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidLastName),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidLastNameMaxLength)\n)\n\nexport const IsValidUserConsent = v.boolean()\n\nexport const InvalidUserPhoneType = \"Please enter your phone number.\"\nexport const InvalidUserPhone = `The phone you provided does not appear to be a valid phone number.`\nexport const IsValidUserPhoneRequired = v.pipe(\n v.string(InvalidUserPhoneType),\n v.trim(),\n v.minLength(7, InvalidUserPhoneType),\n v.maxLength(15, InvalidUserPhone)\n)\nexport const IsValidUserPhone = v.optional(IsValidUserPhoneRequired)\n\nexport const InvalidCompanyName = \"Please enter your company name.\"\nexport const InvalidCompanyNameMaxLength = `The company name you provided is too long for our database, please abbreviate your company name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidCompanyNameRequired = v.pipe(\n v.string(InvalidCompanyName),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidCompanyName),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidCompanyNameMaxLength)\n)\nexport const IsValidCompanyName = v.optional(IsValidCompanyNameRequired)\n\nexport const InvalidUserTitle = \"Please enter your job title or reference.\"\nexport const InvalidUserTitleMaxLength = `The job title you provided is too long for our database, please abbreviate your company name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidUserTitleRequired = v.pipe(\n v.string(InvalidUserTitle),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidUserTitle),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidUserTitleMaxLength)\n)\nexport const IsValidUserTitle = v.optional(IsValidUserTitleRequired)\n\nexport const InvalidUserMessage = \"How can we be of service to your team?\"\nexport const InvalidUserMessageMaxLength = `The message you provided is too long for our database, please abbreviate your message to be ${LIMIT_LONG_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidUserMessage = v.optional(\n v.pipe(\n v.string(InvalidUserMessage),\n v.trim(),\n v.maxLength(LIMIT_LONG_STRING_MAX_LENGTH, InvalidUserMessageMaxLength)\n )\n)\n\nexport const InvalidRefPageMaxLength = `The string you provided is too long for our database, please abbreviate your string to be ${LIMIT_MAX_DESTINATION} characters or less.`\nexport const IsValidRefPage = v.pipe(\n v.string(InvalidInputRobot),\n v.trim(),\n v.maxLength(LIMIT_MAX_DESTINATION, InvalidRefPageMaxLength)\n)\n\nexport const InvalidProductInterestMaxLength = `The product interest provided is too long. It must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidProductInterest = v.pipe(\n v.string(InvalidInputRobot),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidProductInterestMaxLength)\n)\n\nexport const IsValidCaptchaToken = v.pipe(\n v.string(InvalidInputRobot),\n v.trim(),\n v.maxLength(LIMIT_LONG_STRING_MAX_LENGTH, InvalidLongStringOrUndefined)\n)\n\nexport const InvalidInstrustryName = \"Please enter your industry.\"\nexport const InvalidInstrustryNameMaxLength = `The industry you provided is too long for our database, please abbreviate your industry to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidIndustryName = v.optional(\n v.pipe(\n v.string(InvalidInstrustryName),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidInstrustryNameMaxLength)\n )\n)\n\nexport const InvalidRangeValueOneToFive = `Please select a value between 1 and 5. (1 = Poor, 3 = Neutral, 5 = Excellent)`\nexport const IsValidRangeValueOneToFive = v.pipe(\n v.string(),\n v.picklist([\"1\", \"2\", \"3\", \"4\", \"5\"], InvalidRangeValueOneToFive)\n)\n\nexport const InvalidClientTermNumber = `Please provide how many months your team has used this product.`\nexport const InvalidClientTermMin = `We're sorry, you must be a client for at least 1 month to provide feedback.`\nexport const IsValidClientTerm = v.pipe(\n v.number(InvalidClientTermNumber),\n v.minValue(1, InvalidClientTermMin)\n)\n\nexport const IsValidUrl = v.pipe(\n v.string(),\n v.trim(),\n v.url(\"Please enter a valid URL.\")\n)\nexport const IsValidUrlOrUndefined = v.optional(IsValidUrl)\n\nexport const IsValidUrlList = (input: string) => {\n if (input === \"\") return true\n const urls = input.split(\",\")\n if (urls.length > 0) {\n const truthy = []\n for (let i = 0; i < urls.length; i++) {\n const result = v.safeParse(IsValidUrl, urls[i])\n truthy.push(result.success)\n }\n return truthy.every((item) => item === true)\n }\n return false\n}\n\nexport const InvalidListOfUrls = \"Please enter a list of URLs separated by commas.\"\nexport const IsValidStringSepListOfUrls = v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_LONG_STRING_MAX_LENGTH, InvalidLongStringOrUndefined),\n v.check(IsValidUrlList, InvalidListOfUrls)\n)\nexport const IsValidStringSepListOfUrlsOrUndefined = v.optional(\n IsValidStringSepListOfUrls\n)\n\nexport const InvalidDestinationUrl = \"Please remove any query parameters from the URL.\"\nexport const IsValidDestinationUrl = v.pipe(\n v.string(),\n v.trim(),\n v.url(\"Please enter a valid URL.\"),\n v.check((input: string) => {\n if (input === \"\") return false\n return input.indexOf(\"?\") === -1\n }, InvalidDestinationUrl)\n)\n\nexport const InvalidUtmLink = \"Please enter a valid URL with UTM parameters.\"\nexport const IsValidUtmLink = v.pipe(\n v.string(),\n v.trim(),\n v.url(\"Please enter a valid URL.\"),\n v.check((input: string) => {\n return input.includes(\"utm_\")\n }, InvalidUtmLink)\n)\n\nexport const InvalidUtmCampaignKeyName = `Campaign key name may only contain alphanumeric characters, and underscores.`\nexport const IsValidUtmCampaignKeyName = v.pipe(\n v.string(),\n v.check((input: string) => {\n return /^[a-zA-Z0-9_]*$/.test(input)\n }, InvalidUtmCampaignKeyName)\n)\nexport const IsValidUtmCampaignKeyNameOrUndefined = v.optional(\n IsValidUtmCampaignKeyName\n)\n\nexport const InvalidCsvFileType = \"Please upload a CSV file.\"\nexport const IsValidCsvFile = v.optional(\n v.pipe(v.blob(), v.mimeType([\"text/csv\"], InvalidCsvFileType))\n)\n\nexport const InvalidResumeFileType = \"Please upload a PDF or Word document.\"\nexport const IsValidResumeFile = v.nullable(\n v.pipe(\n v.file(InvalidResumeFileType),\n v.mimeType([\"application/pdf\"], InvalidResumeFileType)\n )\n)\n\nexport const ValidNumberOfEmployeeOptions = [\n { label: \"0-10\", value: \"0-10\" },\n { label: \"11-20\", value: \"11-20\" },\n { label: \"21-50\", value: \"21-50\" },\n { label: \"51-100\", value: \"51-100\" },\n { label: \"101-500\", value: \"101-500\" },\n { label: \"501+\", value: \"501+\" }\n] as const\n\nexport const IsValidNumberOfEmployees = v.pipe(\n v.string(),\n v.picklist(\n ValidNumberOfEmployeeOptions.map((item) => item.value),\n \"Please select an option that best describes your team size.\"\n )\n)\n\nexport const ValidJobRoleGroup = [\n {\n label: \"Founder / Owner\",\n value: \"founder,owner\"\n },\n {\n label: \"C-suite Executive\",\n value: \"executive\"\n },\n {\n label: \"Vice President\",\n value: \"vice president\"\n },\n {\n label: \"Director\",\n value: \"director\"\n },\n {\n label: \"Manager\",\n value: \"manager\"\n },\n {\n label: \"Solo-prenour\",\n value: \"solo-prenour\"\n },\n {\n label: \"Student\",\n value: \"student\"\n }\n] as const\n\nexport const IsValidUserRole = v.pipe(\n v.string(),\n v.picklist(\n ValidJobRoleGroup.map((item) => item.value),\n \"Please select an option that best describes your role.\"\n )\n)\n\nexport const ValidGcServiceOptions = [\n { label: \"Full Marketing Services\", value: \"Full Marketing Services\" },\n {\n label: \"Graphic Design / Marketing Design\",\n value: \"Graphic Design / Marketing Design\"\n },\n { label: \"Text Message Marketing\", value: \"Text Message Marketing\" },\n { label: \"Email Marketing\", value: \"Email Marketing\" },\n { label: \"Video Production\", value: \"Video Production\" },\n { label: \"Website Production\", value: \"Website Production\" },\n { label: \"Marketing Automation Software\", value: \"Marketing Automation Software\" },\n { label: \"Online Advertising\", value: \"Online Advertising\" },\n { label: \"Influencer Marketing\", value: \"Influencer Marketing\" }\n] as const\n\nexport const ValidGcVideoServiceOptions = [\n { label: \"Storyboarding\", value: \"Storyboarding\" },\n { label: \"Voiceovers\", value: \"Voiceovers\" },\n { label: \"Video Commercials / Interviews\", value: \"Video Commercials / Interviews\" },\n {\n label: \"Short Form Video Editing (social posts/stories)\",\n value: \"Short Form Video Editing (social posts/stories)\"\n },\n { label: \"Product Tours\", value: \"Product Tours\" },\n { label: \"Model Home / Community Tours\", value: \"Model Home / Community Tours\" },\n { label: \"Matterport Interactive Tours\", value: \"Matterport Interactive Tours\" },\n { label: \"3D Flyover Videos\", value: \"3D Flyover Videos\" }\n] as const\n\nexport const ValidGcDesiredContentOptions = [\n { label: \"Blog Posts\", value: \"Blog Posts\" },\n { label: \"Podcasting\", value: \"Podcasting\" },\n { label: \"Live Streams\", value: \"Live Streams\" },\n { label: \"Newsletters\", value: \"Newsletters\" },\n { label: \"Freebies / Toolkits\", value: \"Freebies / Toolkits\" },\n { label: \"Community Updates\", value: \"Community Updates\" }\n] as const\n\nexport const ValidRatingRange5 = [\n { label: \"1\", value: \"1\" },\n { label: \"2\", value: \"2\" },\n { label: \"3\", value: \"3\" },\n { label: \"4\", value: \"4\" },\n { label: \"5\", value: \"5\" }\n] as const\n\n// cost\nexport const IsValidCost = v.pipe(\n v.number(\"please enter a cost value\"),\n v.minValue(0),\n v.maxValue(\n 1000000,\n \"your campaign cost exceeds our $1 million dollar limit, please contact us for customized solutions\"\n )\n)\nexport const IsValidOrUndefinedCost = v.undefinedable(IsValidCost)\n\n// label\nexport const IsValidLabel = v.pipe(\n v.string(\"please provide a label\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_VALUE,\n `the label is too short, it must be at least ${LIMIT_MIN_VALUE} characters`\n ),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n `the label is too long, it must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less`\n )\n)\nexport const IsValidOrUndefinedLabel = v.undefinedable(IsValidLabel)\n\n// value\nexport const IsValidValue = v.pipe(\n v.string(\"please provide a value\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_VALUE,\n `the value is too short, it must be at least ${LIMIT_MIN_VALUE} characters`\n ),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n `the value is too long, it must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `the value ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedValue = v.undefinedable(IsValidValue)\n\n// description (optional)\nexport const IsValidDescription = v.nullable(\n v.pipe(\n v.string(\"the description must be a string\"),\n v.trim(),\n v.maxLength(\n LIMIT_MAX_DESCRIPTION,\n `the description is too long, it must be ${LIMIT_MAX_DESCRIPTION} characters or less`\n )\n )\n)\nexport const IsValidOrUndefinedDescription = v.undefinedable(IsValidDescription)\n\n// is_active\nexport const IsValidIsActive = v.boolean(\"isActive must be a boolean\")\nexport const IsValidOrUndefinedIsActive = v.undefinedable(IsValidIsActive)\n\n// is_secure\nexport const IsValidIsSecure = v.boolean(\"isSecure must be a boolean\")\nexport const IsValidOrUndefinedIsSecure = v.undefinedable(IsValidIsSecure)\n\n// generic name\nexport const IsValidName = v.pipe(\n v.string(\"please provide a name\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_NAME,\n `the name is too short, it must be at least ${LIMIT_MIN_NAME} characters`\n ),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n `the name is too long, it must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less`\n )\n)\nexport const IsValidOrUndefinedName = v.undefinedable(IsValidName)\n","import * as v from \"valibot\"\nimport {\n ERROR_MESSAGE_REGEX_DOMAIN,\n LIMIT_MAX_DESTINATION,\n LIMIT_MAX_DOMAIN,\n LIMIT_MAX_FRAGMENT,\n LIMIT_MAX_PATH,\n LIMIT_MAX_QUERY,\n LIMIT_MIN_DESTINATION,\n LIMIT_MIN_DOMAIN,\n LIMIT_MIN_FRAGMENT,\n LIMIT_MIN_PATH,\n LIMIT_MIN_QUERY,\n REGEX_DOMAIN\n} from \"../constants\"\n\n// destination\nexport const IsValidUrlDestination = v.pipe(\n v.string(\"please provide a url destination\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_DESTINATION,\n `the url destination is too short, it must be at least ${LIMIT_MIN_DESTINATION} characters`\n ),\n v.maxLength(\n LIMIT_MAX_DESTINATION,\n `the url destination is too long, it must be ${LIMIT_MAX_DESTINATION} characters or less`\n ),\n v.url(\"please provide a valid url\")\n)\nexport const IsValidOrUndefinedUrlDestination = v.undefinedable(IsValidUrlDestination)\n\n// protocol\nexport const IsValidUrlProtocol = v.picklist(\n [\"http\", \"https\"],\n \"please provide a valid url protocol\"\n)\nexport const IsValidOrUndefinedUrlProtocol = v.undefinedable(IsValidUrlProtocol)\n\n// domain\nexport const IsValidUrlDomain = v.pipe(\n v.string(\"please provide a domain\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_DOMAIN,\n `the domain is too short, it must be at least ${LIMIT_MIN_DOMAIN} characters`\n ),\n v.maxLength(\n LIMIT_MAX_DOMAIN,\n `the domain is too long, it must be ${LIMIT_MAX_DOMAIN} characters or less`\n ),\n v.regex(REGEX_DOMAIN, ERROR_MESSAGE_REGEX_DOMAIN)\n)\nexport const IsValidOrUndefinedUrlDomain = v.undefinedable(IsValidUrlDomain)\n\n// path\nexport const IsValidUrlPath = v.pipe(\n v.string(\"please provide a url path\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_PATH,\n `the url path is too short, it must be at least ${LIMIT_MIN_PATH} characters`\n ),\n v.maxLength(\n LIMIT_MAX_PATH,\n `the url path is too long, it must be ${LIMIT_MAX_PATH} characters or less`\n )\n)\nexport const IsValidOrUndefinedUrlPath = v.undefinedable(IsValidUrlPath)\n\n// query\nexport const IsValidUrlQuery = v.pipe(\n v.string(\"please provide a url query\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_QUERY,\n `the url query is too short, it must be at least ${LIMIT_MIN_QUERY} characters`\n ),\n v.maxLength(\n LIMIT_MAX_QUERY,\n `the url query is too long, it must be ${LIMIT_MAX_QUERY} characters or less`\n )\n)\nexport const IsValidOrUndefinedUrlQuery = v.undefinedable(IsValidUrlQuery)\n\n// fragment\nexport const IsValidUrlFragment = v.pipe(\n v.string(\"please provide a url hash/fragment\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_FRAGMENT,\n `the url hash/fragment is too short, it must be at least ${LIMIT_MIN_FRAGMENT} characters`\n ),\n v.maxLength(\n LIMIT_MAX_FRAGMENT,\n `the url hash/fragment is too long, it must be ${LIMIT_MAX_FRAGMENT} characters or less`\n )\n)\nexport const IsValidOrUndefinedUrlFragment = v.undefinedable(IsValidUrlFragment)\n","import * as v from \"valibot\"\nimport {\n ERROR_MESSAGE_REGEX_UTM_VALUE,\n LIMIT_MAX_EMAIL,\n LIMIT_MAX_PASSWORD,\n LIMIT_MAX_PROVIDER,\n LIMIT_MAX_USERNAME,\n LIMIT_MIN_EMAIL,\n LIMIT_MIN_PASSWORD,\n LIMIT_MIN_USERNAME,\n REGEX_UTM_VALUE\n} from \"../constants\"\n\nexport const IsValidUsername = v.pipe(\n v.string(\"please provide a username\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_USERNAME,\n `your username is too short, it must be at least ${LIMIT_MIN_USERNAME} characters`\n ),\n v.maxLength(\n LIMIT_MAX_USERNAME,\n `your username is too long, it must be ${LIMIT_MAX_USERNAME} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `your username ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUsername = v.undefinedable(IsValidUsername)\n\nexport const IsValidUserEmail = v.pipe(\n v.string(\"please provide an email\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_EMAIL,\n `your email is too short, it must be at least ${LIMIT_MIN_EMAIL} characters`\n ),\n v.maxLength(\n LIMIT_MAX_EMAIL,\n `your email is too long, it must be ${LIMIT_MAX_EMAIL} characters or less`\n ),\n v.email(\"please provide a valid email address\")\n)\nexport const IsValidOrUndefinedUserEmail = v.undefinedable(IsValidUserEmail)\n\nexport const IsValidPassword = v.pipe(\n v.string(\"a password is required\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_PASSWORD,\n `your password is too short, it must be at least ${LIMIT_MIN_PASSWORD} characters`\n ),\n v.maxLength(\n LIMIT_MAX_PASSWORD,\n `your password is too long, it must be ${LIMIT_MAX_PASSWORD} characters or less`\n )\n)\nexport const IsValidOrUndefinedPassword = v.undefinedable(IsValidPassword)\n\nexport const IsValidProvider = v.pipe(\n v.string(\"please enter a provider\"),\n v.trim(),\n v.maxLength(\n LIMIT_MAX_PROVIDER,\n `the provider string is too long, it must be ${LIMIT_MAX_PROVIDER} characters or less`\n )\n)\nexport const IsValidOrUndefinedProvider = v.undefinedable(IsValidProvider)\n\nexport const IsValidConfirmed = v.boolean()\nexport const IsValidOrUndefinedConfirmed = v.undefinedable(IsValidConfirmed)\n\nexport const IsValidBlocked = v.boolean()\nexport const IsValidOrUndefinedBlocked = v.undefinedable(IsValidBlocked)\n","import * as v from \"valibot\"\nimport {\n ERROR_MESSAGE_REGEX_UTM_VALUE,\n LIMIT_MAX_UTM_CAMPAIGN,\n LIMIT_MAX_UTM_CONTENT,\n LIMIT_MAX_UTM_CREATIVE_FORMAT,\n LIMIT_MAX_UTM_ID,\n LIMIT_MAX_UTM_MEDIUM,\n LIMIT_MAX_UTM_SOURCE,\n LIMIT_MAX_UTM_TERM,\n LIMIT_MIN_UTM_CAMPAIGN,\n LIMIT_MIN_UTM_CONTENT,\n LIMIT_MIN_UTM_CREATIVE_FORMAT,\n LIMIT_MIN_UTM_ID,\n LIMIT_MIN_UTM_MEDIUM,\n LIMIT_MIN_UTM_SOURCE,\n LIMIT_MIN_UTM_TERM,\n REGEX_UTM_VALUE\n} from \"../constants\"\n\n// utm_source\nexport const IsValidUrlUtmSource = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_SOURCE,\n `the utm_source is too short, it must be at least ${LIMIT_MIN_UTM_SOURCE} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_SOURCE,\n `the utm_source is too long, it must be ${LIMIT_MAX_UTM_SOURCE} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_source ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmSource = v.undefinedable(IsValidUrlUtmSource)\n\n// utm_medium\nexport const IsValidUrlUtmMedium = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_MEDIUM,\n `the utm_medium is too short, it must be at least ${LIMIT_MIN_UTM_MEDIUM} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_MEDIUM,\n `the utm_medium is too long, it must be ${LIMIT_MAX_UTM_MEDIUM} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_medium ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmMedium = v.undefinedable(IsValidUrlUtmMedium)\n\n// utm_campaign\nexport const IsValidUrlUtmCampaign = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_CAMPAIGN,\n `the utm_campaign is too short, it must be at least ${LIMIT_MIN_UTM_CAMPAIGN} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_CAMPAIGN,\n `the utm_campaign is too long, it must be ${LIMIT_MAX_UTM_CAMPAIGN} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_campaign ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmCampaign = v.undefinedable(IsValidUrlUtmCampaign)\n\n// utm_creative_format\nexport const IsValidUrlUtmCreativeFormat = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_CREATIVE_FORMAT,\n `the utm_creative_format is too short, it must be at least ${LIMIT_MIN_UTM_CREATIVE_FORMAT} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_CREATIVE_FORMAT,\n `the utm_creative_format is too long, it must be ${LIMIT_MAX_UTM_CREATIVE_FORMAT} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_creative_format ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmCreativeFormat = v.undefinedable(\n IsValidUrlUtmCreativeFormat\n)\n\n// utm_content\nexport const IsValidUrlUtmContent = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_CONTENT,\n `the utm_content is too short, it must be at least ${LIMIT_MIN_UTM_CONTENT} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_CONTENT,\n `the utm_content is too long, it must be ${LIMIT_MAX_UTM_CONTENT} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_content ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmContent = v.undefinedable(IsValidUrlUtmContent)\n\n// utm_term\nexport const IsValidUrlUtmTerm = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_TERM,\n `the utm_term is too short, it must be at least ${LIMIT_MIN_UTM_TERM} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_TERM,\n `the utm_term is too long, it must be ${LIMIT_MAX_UTM_TERM} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_term ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmTerm = v.undefinedable(IsValidUrlUtmTerm)\n\n// utm_id\nexport const IsValidUrlUtmId = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_ID,\n `the utm_id is too short, it must be at least ${LIMIT_MIN_UTM_ID} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_ID,\n `the utm_id is too long, it must be ${LIMIT_MAX_UTM_ID} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_id ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmId = v.undefinedable(IsValidUrlUtmId)\n","import type { BaseDocument, MediaUploadDocument } from \"../core\";\nimport type { ClientDocument } from \"./client.document\";\n\nexport const ClientProjectStatusOptions = [\n \"coming-soon\",\n \"now-open\",\n \"for-sale\",\n \"sold-out\",\n \"available\",\n];\nexport type ClientProjectStatus = (typeof ClientProjectStatusOptions)[number];\n\nexport type ClientProjectDocument = {\n title: string;\n slug: string;\n project_status: ClientProjectStatus[];\n clients?: ClientDocument[];\n featured_image?: MediaUploadDocument | null;\n} & BaseDocument;\n","import * as v from \"valibot\";\nimport {\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE,\n LIMIT_CLIENT_PAGINATION_MAX_SIZE,\n} from \"../constants\";\nimport { IsValidReferenceDocumentId, IsValidShortString } from \"../validators\";\nimport { ClientProjectStatusOptions } from \"../types\";\n\nexport const QueryStrapiSearchClientProjects = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(\n v.number(),\n v.minValue(1),\n v.maxValue(LIMIT_CLIENT_PAGINATION_MAX_SIZE)\n ),\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE\n ),\n title: v.optional(IsValidShortString),\n slug: v.optional(IsValidShortString),\n project_status: v.optional(v.picklist(ClientProjectStatusOptions)),\n clientId: v.optional(IsValidReferenceDocumentId),\n});\n\nexport type QueryStrapiSearchClientProjects = v.InferOutput<\n typeof QueryStrapiSearchClientProjects\n>;\n","import * as v from \"valibot\";\nimport {\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE,\n LIMIT_CLIENT_PAGINATION_MAX_SIZE,\n} from \"../constants\";\nimport { IsValidShortString } from \"../validators\";\n\nexport const QueryStrapiSearchClients = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(\n v.number(),\n v.minValue(1),\n v.maxValue(LIMIT_CLIENT_PAGINATION_MAX_SIZE)\n ),\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE\n ),\n title: v.optional(IsValidShortString),\n teamwork_id: v.optional(IsValidShortString),\n teamwork_name: v.optional(IsValidShortString),\n utm_sheet_id: v.optional(IsValidShortString),\n allow_create_utm_link: v.optional(v.boolean()),\n classification: v.optional(v.picklist([\"organic\", \"paid\"])),\n is_featured: v.optional(v.boolean()),\n is_active: v.optional(v.boolean()),\n is_organic_social: v.optional(v.boolean()),\n is_paid_media: v.optional(v.boolean()),\n});\n\nexport type QueryStrapiSearchClients = v.InferOutput<\n typeof QueryStrapiSearchClients\n>;\n","import * as v from \"valibot\"\nimport { LIMIT_PAGINATION_DEFAULT_SIZE, LIMIT_PAGINATION_MAX_SIZE } from \"../constants\"\nimport {\n IsValidReferenceDocumentId,\n IsValidReferenceId,\n IsValidShortString,\n IsValidUserEmail,\n IsValidUserPhoneRequired\n} from \"../validators\"\n\n// Paginated Query\nexport const QueryStrapiPaginated = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(v.number(), v.minValue(1), v.maxValue(LIMIT_PAGINATION_MAX_SIZE)),\n LIMIT_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_PAGINATION_DEFAULT_SIZE\n )\n})\nexport type QueryStrapiPaginated = v.InferOutput<typeof QueryStrapiPaginated>\n\n// Query by: ID, Document ID\nexport const QueryStrapiById = v.object({\n id: IsValidReferenceId\n})\nexport type QueryStrapiById = v.InferOutput<typeof QueryStrapiById>\n\nexport const QueryStrapiByDocumentId = v.object({\n documentId: IsValidReferenceDocumentId\n})\nexport type QueryStrapiByDocumentId = v.InferOutput<typeof QueryStrapiByDocumentId>\n\n// Query by: Slug, Email, Phone, or Name\nexport const QueryStrapiBySlug = v.object({\n slug: IsValidShortString\n})\nexport type QueryStrapiBySlug = v.InferOutput<typeof QueryStrapiBySlug>\n\nexport const QueryStrapiByEmail = v.object({\n email: IsValidUserEmail\n})\nexport type QueryStrapiByEmail = v.InferOutput<typeof QueryStrapiByEmail>\n\nexport const QueryStrapiByPhone = v.object({\n phone: IsValidUserPhoneRequired\n})\nexport type QueryStrapiByPhone = v.InferOutput<typeof QueryStrapiByPhone>\n\nexport const QueryStrapiByName = v.object({\n name: IsValidShortString\n})\nexport type QueryStrapiByName = v.InferOutput<typeof QueryStrapiByName>\n","import * as v from \"valibot\"\nimport {\n IsValidCaptchaToken,\n IsValidCompanyName,\n IsValidFirstName,\n IsValidLastName,\n IsValidProductInterest,\n IsValidRefPage,\n IsValidUserConsent,\n IsValidUserEmail,\n IsValidUserMessage,\n IsValidUserPhoneRequired,\n IsValidUserTitle\n} from \"../validators\"\n\nexport const SCreateLead = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n phone: IsValidUserPhoneRequired,\n company: IsValidCompanyName,\n title: IsValidUserTitle,\n message: IsValidUserMessage,\n product_interest: IsValidProductInterest,\n email_consent: IsValidUserConsent,\n sms_consent: IsValidUserConsent,\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\n\nexport type SCreateLead = v.InferOutput<typeof SCreateLead>\n","import * as v from \"valibot\"\nimport {\n IsValidCaptchaToken,\n IsValidFirstName,\n IsValidLastName,\n IsValidRefPage,\n IsValidUserConsent,\n IsValidUserEmail\n} from \"../validators\"\n\nexport const SCreateNewsletterSignup = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n // hidden fields\n email_consent: IsValidUserConsent,\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\n\nexport type SCreateNewsletterSignup = v.InferOutput<typeof SCreateNewsletterSignup>\n","import * as v from \"valibot\"\nimport {\n IsValidCaptchaToken,\n IsValidFileReferenceId,\n IsValidFirstName,\n IsValidLastName,\n IsValidRefPage,\n IsValidResumeFile,\n IsValidShortString,\n IsValidStringSepListOfUrlsOrUndefined,\n IsValidUserConsent,\n IsValidUserEmail,\n IsValidUserMessage,\n IsValidUserPhone\n} from \"../validators\"\n\nexport const SCreateResume = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n phone: IsValidUserPhone,\n message: IsValidUserMessage,\n social_profiles: IsValidStringSepListOfUrlsOrUndefined,\n file: IsValidResumeFile, // File object\n email_consent: IsValidUserConsent,\n sms_consent: IsValidUserConsent,\n // hidden fields\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\nexport type SCreateResume = v.InferOutput<typeof SCreateResume>\n\nexport const SCreateResumeInfo = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n phone: IsValidUserPhone,\n message: IsValidUserMessage,\n social_profiles: IsValidStringSepListOfUrlsOrUndefined,\n file: IsValidFileReferenceId, // File reference ID\n email_consent: IsValidUserConsent,\n sms_consent: IsValidUserConsent,\n // hidden fields\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\nexport type SCreateResumeInfo = v.InferOutput<typeof SCreateResumeInfo>\n\nexport const SUpdateResumeInfo = v.object({\n documentId: IsValidShortString,\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n phone: IsValidUserPhone,\n message: IsValidUserMessage,\n social_profiles: IsValidStringSepListOfUrlsOrUndefined,\n file: IsValidFileReferenceId, // File reference ID\n email_consent: IsValidUserConsent,\n sms_consent: IsValidUserConsent,\n // hidden fields\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\n\nexport type SUpdateResumeInfo = v.InferOutput<typeof SUpdateResumeInfo>\n","import * as v from \"valibot\"\nimport {\n IsValidCaptchaToken,\n IsValidFirstName,\n IsValidLastName,\n IsValidRefPage,\n IsValidShortString,\n IsValidUserConsent,\n IsValidUserEmail\n} from \"../validators\"\n\nexport const SharpSpringSignUpToDownload = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n // hidden fields\n download_key: IsValidShortString,\n email_consent: IsValidUserConsent,\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\nexport type SharpSpringSignUpToDownload = v.InferOutput<\n typeof SharpSpringSignUpToDownload\n>\n","import * as v from \"valibot\"\n\nexport const SUpdateTrendsLikes = v.object({\n documentId: v.string(),\n likes: v.number()\n})\n\nexport type SUpdateTrendsLikes = v.InferOutput<typeof SUpdateTrendsLikes>\n","import * as v from \"valibot\"\nimport {\n LIMIT_BLOG_POST_PAGINATION_MAX_SIZE,\n LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE\n} from \"../constants\"\n\nexport const QueryStrapiPaginatedUrlRedirects = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(\n v.number(),\n v.minValue(1),\n v.maxValue(LIMIT_BLOG_POST_PAGINATION_MAX_SIZE)\n ),\n LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE\n )\n})\n\nexport type QueryStrapiPaginatedUrlRedirects = v.InferOutput<\n typeof QueryStrapiPaginatedUrlRedirects\n>\n\nexport const QueryStrapiUrlRedirectsByFrom = v.object({\n from: v.string()\n})\n\nexport type QueryStrapiUrlRedirectsByFrom = v.InferOutput<\n typeof QueryStrapiUrlRedirectsByFrom\n>\n","import * as v from \"valibot\"\nimport { IsValidPassword, IsValidUserEmail, IsValidUsername } from \"../validators\"\n\n// JWT\nexport const SUserToken = v.object({\n token: v.string()\n})\nexport type SUserToken = v.InferOutput<typeof SUserToken>\n\n// AUTH LOCAL\n// LOGIN\nexport const SLoginUser = v.object({\n identifier: IsValidUserEmail,\n password: IsValidPassword\n})\nexport type SLoginUser = v.InferOutput<typeof SLoginUser>\n\n// REGISTER\nexport const SRegisterUser = v.object({\n username: IsValidUsername,\n email: IsValidUserEmail,\n password: IsValidPassword\n})\nexport type SRegisterUser = v.InferOutput<typeof SRegisterUser>\n\n// FORGOT PASSWORD\nexport const SForgotUserPassword = v.object({\n email: IsValidUserEmail\n})\nexport type SForgotUserPassword = v.InferOutput<typeof SForgotUserPassword>\n\n// REQUEST CONFIRM EMAIL\nexport const SRequestConfirmEmail = v.object({\n email: IsValidUserEmail\n})\nexport type SRequestConfirmEmail = v.InferOutput<typeof SRequestConfirmEmail>\n\n// RESET PASSWORD\nexport const SResetUserPassword = v.object({\n password: IsValidPassword,\n passwordConfirmation: IsValidPassword,\n code: v.string()\n})\nexport type SResetUserPassword = v.InferOutput<typeof SResetUserPassword>\n\n// CHANGE PASSWORD\nexport const SChangePassword = v.pipe(\n v.object({\n currentPassword: IsValidPassword,\n password: IsValidPassword,\n passwordConfirmation: IsValidPassword\n }),\n v.forward(\n v.partialCheck(\n [[\"password\"], [\"passwordConfirmation\"]],\n (input) => input.password === input.passwordConfirmation,\n \"Your new passwords do not match.\"\n ),\n [\"passwordConfirmation\"]\n )\n)\nexport type SChangePassword = v.InferOutput<typeof SChangePassword>\n\n// AUTH PROVIDER\n// Auth Provider Token\nexport const SAuthRawAccessToken = v.object({\n access_token: v.optional(v.string()),\n expires_in: v.optional(v.number()),\n scope: v.optional(v.string()),\n token_type: v.optional(v.string()),\n id_token: v.optional(v.string())\n})\nexport type SAuthRawAccessToken = v.InferOutput<typeof SAuthRawAccessToken>\n\n// Auth Connect Provider Redirect Search\nexport const SAuthConnectProviderRedirectSearch = v.object({\n id_token: v.string(),\n access_token: v.string(),\n raw: v.optional(SAuthRawAccessToken)\n})\nexport type SAuthConnectProviderRedirectSearch = v.InferOutput<\n typeof SAuthConnectProviderRedirectSearch\n>\n\n// Auth Connect Provider Confirmation\nexport const SAuthConnectProviderConfirmation = v.object({\n provider: v.string(),\n search: SAuthConnectProviderRedirectSearch\n})\nexport type SAuthConnectProviderConfirmation = v.InferOutput<\n typeof SAuthConnectProviderConfirmation\n>\n","import * as v from \"valibot\"\nimport {\n LIMIT_SHORT_STRING_MAX_LENGTH,\n LIMIT_USER_PAGINATION_DEFAULT_SIZE,\n LIMIT_USER_PAGINATION_MAX_SIZE\n} from \"../constants\"\nimport { IsValidReferenceDocumentId, IsValidReferenceId } from \"../validators\"\n\n// LIST\nexport const QueryStrapiUsers = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(v.number(), v.minValue(3), v.maxValue(LIMIT_USER_PAGINATION_MAX_SIZE)),\n LIMIT_USER_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_USER_PAGINATION_DEFAULT_SIZE\n )\n})\nexport type QueryStrapiUsers = v.InferOutput<typeof QueryStrapiUsers>\n\nexport const QueryStrapiUsersByIdentifier = v.object({\n identifier: v.pipe(v.string(), v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH)),\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(v.number(), v.minValue(3), v.maxValue(LIMIT_USER_PAGINATION_MAX_SIZE)),\n LIMIT_USER_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_USER_PAGINATION_DEFAULT_SIZE\n )\n})\nexport type QueryStrapiUsersByIdentifier = v.InferOutput<\n typeof QueryStrapiUsersByIdentifier\n>\n\n// READ\nexport const SReadUserById = v.object({\n id: IsValidReferenceId\n})\nexport type SReadUserById = v.InferOutput<typeof SReadUserById>\n\nexport const SReadUserByDocumentId = v.object({\n documentId: IsValidReferenceDocumentId\n})\nexport type SReadUserByDocumentId = v.InferOutput<typeof SReadUserByDocumentId>\n","import * as v from \"valibot\"\nimport { IsValidFirstName, IsValidFullName, IsValidLastName, IsValidReferenceDocumentId, IsValidReferenceId } from \"../validators\"\n\n// READ\nexport const SReadUserAccountById = v.object({\n id: IsValidReferenceId\n})\nexport type SReadUserAccountById = v.InferOutput<typeof SReadUserAccountById>\n\nexport const SReadUserAccountByDocumentId = v.object({\n documentId: IsValidReferenceDocumentId\n})\nexport type SReadUserAccountByDocumentId = v.InferOutput<typeof SReadUserAccountByDocumentId>\n\n// UPDATE\nexport const SUpdateUserAccount = v.object({\n documentId: IsValidReferenceDocumentId,\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n preferred_name: IsValidFullName,\n})\nexport type SUpdateUserAccount = v.InferOutput<typeof SUpdateUserAccount>\n\nexport const SUpdateUserAccountFirstName = v.object({\n documentId: IsValidReferenceDocumentId,\n first_name: IsValidFirstName,\n})\nexport type SUpdateUserAccountFirstName = v.InferOutput<typeof SUpdateUserAccountFirstName>\n\nexport const SUpdateUserAccountLastName = v.object({\n documentId: IsValidReferenceDocumentId,\n last_name: IsValidLastName,\n})\nexport type SUpdateUserAccountLastName = v.InferOutput<typeof SUpdateUserAccountLastName>\n\nexport const SUpdateUserAccountPreferredName = v.object({\n documentId: IsValidReferenceDocumentId,\n preferred_name: IsValidFullName,\n})\nexport type SUpdateUserAccountPreferredName = v.InferOutput<typeof SUpdateUserAccountPreferredName>\n","import * as v from \"valibot\";\nimport {\n LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE,\n LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE,\n} from \"../constants\";\nimport {\n IsValidDestinationUrl,\n IsValidIsActive,\n IsValidLongString,\n IsValidLongStringOrUndefined,\n IsValidOrUndefinedUrlUtmContent,\n IsValidOrUndefinedUrlUtmCreativeFormat,\n IsValidOrUndefinedUrlUtmId,\n IsValidReferenceDocumentId,\n IsValidReferenceId,\n IsValidShortString,\n IsValidShortStringOrUndefined,\n IsValidStringListOrUndefined,\n IsValidUrl,\n IsValidUrlUtmCampaign,\n IsValidUrlUtmContent,\n IsValidUrlUtmCreativeFormat,\n IsValidUrlUtmId,\n IsValidUrlUtmMedium,\n IsValidUrlUtmSource,\n IsValidUtmCampaignKeyName,\n IsValidUtmCampaignKeyNameOrUndefined,\n IsValidUtmLink,\n} from \"../validators\";\n\n// LIST\nexport const QueryStrapiSearchUtmTrackingLinks = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(\n v.number(),\n v.minValue(1),\n v.maxValue(LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE)\n ),\n LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE\n ),\n url_destination: v.optional(IsValidDestinationUrl),\n utm_medium: v.optional(IsValidUrlUtmMedium),\n utm_source: v.optional(IsValidUrlUtmSource),\n utm_campaign: v.optional(IsValidUrlUtmCampaign),\n utm_content: v.optional(IsValidUrlUtmContent),\n utm_creative_format: v.optional(IsValidUrlUtmCreativeFormat),\n utm_id: v.optional(IsValidUrlUtmId),\n campaign_phase: v.optional(IsValidShortString),\n campaign_product: v.optional(IsValidShortString),\n campaign_targeting: v.optional(IsValidShortString),\n campaign_key: v.optional(IsValidShortString),\n creative_format: v.optional(IsValidShortString),\n creative_format_variants: v.optional(v.array(IsValidShortString)),\n url: v.optional(IsValidUrl),\n is_active: v.optional(v.boolean()),\n notes: v.optional(IsValidShortString),\n});\n\nexport type QueryStrapiSearchUtmTrackingLinks = v.InferOutput<\n typeof QueryStrapiSearchUtmTrackingLinks\n>;\n\n// CREATE\nexport const SCreateUtmTrackingLinkDocument = v.object({\n creator: IsValidReferenceDocumentId,\n client: IsValidReferenceDocumentId,\n url_destination: IsValidDestinationUrl,\n utm_source: IsValidUrlUtmSource,\n utm_medium: IsValidUrlUtmMedium,\n utm_campaign: IsValidUrlUtmCampaign,\n utm_content: IsValidShortStringOrUndefined,\n utm_creative_format: IsValidShortStringOrUndefined,\n utm_id: IsValidShortStringOrUndefined,\n campaign_phase: IsValidShortString,\n campaign_product: IsValidShortStringOrUndefined,\n campaign_targeting: IsValidStringListOrUndefined,\n campaign_key: IsValidUtmCampaignKeyNameOrUndefined,\n creative_format: IsValidShortStringOrUndefined,\n creative_format_variants: IsValidStringListOrUndefined,\n url: IsValidUtmLink,\n is_active: IsValidIsActive,\n notes: IsValidLongStringOrUndefined,\n});\nexport type SCreateUtmTrackingLinkDocumentInput = v.InferInput<\n typeof SCreateUtmTrackingLinkDocument\n>;\nexport type SCreateUtmTrackingLinkDocument = v.InferOutput<\n typeof SCreateUtmTrackingLinkDocument\n>;\n\nexport const SCreateUtmTrackingLinkParts = v.object({\n url_destination: IsValidDestinationUrl,\n utm_source: IsValidUrlUtmSource,\n utm_medium: IsValidUrlUtmMedium,\n utm_campaign: IsValidUrlUtmCampaign,\n utm_content: IsValidShortStringOrUndefined,\n utm_creative_format: IsValidShortStringOrUndefined,\n utm_id: IsValidShortStringOrUndefined,\n campaign_phase: IsValidShortString,\n campaign_product: IsValidShortStringOrUndefined,\n campaign_targeting: IsValidStringListOrUndefined,\n campaign_key: IsValidUtmCampaignKeyNameOrUndefined,\n creative_format: IsValidShortStringOrUndefined,\n creative_format_variants: IsValidStringListOrUndefined,\n url: IsValidUtmLink,\n is_active: IsValidIsActive,\n notes: IsValidLongStringOrUndefined,\n});\nexport type SCreateUtmTrackingLinkParts = v.InferOutput<\n typeof SCreateUtmTrackingLinkParts\n>;\n\nexport const SFormCreateMultipleUtmTrackingLinkDocuments = v.object({\n creator: IsValidReferenceDocumentId,\n client: IsValidReferenceDocumentId,\n links: v.pipe(\n v.array(SCreateUtmTrackingLinkParts),\n v.minLength(1, \"You must provide at least one link to create.\"),\n v.maxLength(100, \"You can create a maximum of 100 links at once.\")\n ),\n});\nexport type SFormCreateMultipleUtmTrackingLinkDocuments = v.InferInput<\n typeof SFormCreateMultipleUtmTrackingLinkDocuments\n>;\n\n// READ\nexport const SReadUtmTrackingLinkDocumentByDocumentId = v.object({\n documentId: IsValidReferenceDocumentId,\n});\nexport type SReadUtmTrackingLinkDocumentByDocumentId = v.InferOutput<\n typeof SReadUtmTrackingLinkDocumentByDocumentId\n>;\n\n// UPDATE\nexport const SUpdateUtmTrackingLinkDocument = v.object({\n creator: v.optional(IsValidReferenceDocumentId),\n client: v.optional(IsValidReferenceDocumentId),\n url_destination: IsValidDestinationUrl,\n utm_source: IsValidUrlUtmSource,\n utm_medium: IsValidUrlUtmMedium,\n utm_campaign: IsValidUrlUtmCampaign,\n utm_content: IsValidShortStringOrUndefined,\n utm_creative_format: IsValidShortStringOrUndefined,\n utm_id: IsValidShortStringOrUndefined,\n campaign_phase: IsValidShortString,\n campaign_product: IsValidShortStringOrUndefined,\n campaign_targeting: IsValidStringListOrUndefined,\n campaign_key: IsValidUtmCampaignKeyNameOrUndefined,\n creative_format: IsValidShortStringOrUndefined,\n creative_format_variants: IsValidStringListOrUndefined,\n url: IsValidUtmLink,\n is_active: IsValidIsActive,\n notes: IsValidLongStringOrUndefined,\n});\nexport type SUpdateUtmTrackingLinkDocument = v.InferOutput<\n typeof SUpdateUtmTrackingLinkDocument\n>;\n\nexport const SUpdateUtmTrackingLinkDocumentRequest = v.object({\n documentId: IsValidReferenceDocumentId,\n data: SUpdateUtmTrackingLinkDocument,\n});\nexport type SUpdateUtmTrackingLinkDocumentRequest = v.InferOutput<\n typeof SUpdateUtmTrackingLinkDocumentRequest\n>;\n\n// DELETE\nexport const SDeleteUtmTrackingLinkDocument = v.object({\n documentId: IsValidReferenceDocumentId,\n});\nexport type SDeleteUtmTrackingLinkDocument = v.InferOutput<\n typeof SDeleteUtmTrackingLinkDocument\n>;\n","import * as v from \"valibot\"\n\ntype ValidateAndCleanSuccess<T> = {\n data: Partial<T>\n error: null\n errors: null\n}\n\ntype ValidateAndCleanFailure = {\n data: null\n error: string | null\n errors: Record<string, string> | null\n}\n\ntype ValidateAndCleanResult<T> = ValidateAndCleanSuccess<T> | ValidateAndCleanFailure\n\nexport function validateAndClean<T>(\n schema: v.BaseSchema<T, Partial<T>, v.BaseIssue<T>>,\n input: unknown\n): ValidateAndCleanResult<T> {\n try {\n const parsed = v.parse(schema, input)\n return { data: parsed, error: null, errors: null }\n } catch (err: unknown) {\n if (err instanceof v.ValiError) {\n const errors: Record<string, string> = {}\n for (const issue of err.issues) {\n const field = issue.path?.[0]?.key || \"unknown\"\n errors[field] = issue.message\n }\n return { data: null, error: null, errors }\n }\n let errorMessage = \"Unknown error\"\n if (err instanceof Error) {\n errorMessage = err.message\n } else {\n errorMessage = String(err)\n }\n return { data: null, error: errorMessage, errors: null }\n }\n}\n\nexport function isValidationSuccess<T>(\n result: ValidateAndCleanResult<T>\n): result is ValidateAndCleanSuccess<T> {\n return result.error === null && result.errors === null\n}\n\nexport function isValidationFailure<T>(\n result: ValidateAndCleanResult<T>\n): result is ValidateAndCleanFailure {\n return result.error !== null || result.errors !== null\n}\n\nexport function omitUndefined<T extends Record<string, any>>(obj: T): Partial<T> {\n const result: Partial<T> = {}\n for (const key in obj) {\n if (obj[key] !== undefined) {\n result[key] = obj[key]\n }\n }\n return result\n}\n","export function dateToday(): Date {\n const date = new Date()\n date.setHours(0, 0, 0, 0)\n return date\n}\n\nexport function datePlusDays(today: Date, days: number = 30): Date {\n const date = new Date(today)\n date.setDate(date.getDate() + days)\n date.setHours(23, 59, 59, 999)\n return date\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/constants/limits.constants.ts","../src/constants/pagination.constants.ts","../src/constants/permission.constants.ts","../src/constants/regex.constants.ts","../src/schemas/blog.schemas.ts","../src/validators/validators-client-users.ts","../src/validators/validators-generics.ts","../src/validators/validators-forms.ts","../src/validators/validators-urls.ts","../src/validators/validators-users.ts","../src/validators/validators-utm-params.ts","../src/types/documents/client-project.document.ts","../src/schemas/client-project.schemas.ts","../src/schemas/client.schemas.ts","../src/schemas/generic.schemas.ts","../src/schemas/lead.schemas.ts","../src/schemas/newsletter.schemas.ts","../src/schemas/resume.schemas.ts","../src/schemas/sharpspring.schemas.ts","../src/schemas/trend.schemas.ts","../src/schemas/url-redirect.schemas.ts","../src/schemas/user-auth.schemas.ts","../src/schemas/user.schemas.ts","../src/schemas/user-account.schemas.ts","../src/schemas/utm-tracking-link.schemas.ts","../src/utilities/utilities.ts","../src/utilities/utilities-datetime.ts"],"names":["v","v2","v3","v5","v6","v7","v8","v9","v10","v11","v12","v13","v14","v15","v16","v17","v18","v19","v20","v21","date"],"mappings":"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","file":"index.js","sourcesContent":["// Generics\nexport const LIMIT_MIN_VALUE = 1\nexport const LIMIT_MIN_NAME = 2\nexport const LIMIT_MAX_DESCRIPTION = 1024\nexport const LIMIT_SHORT_STRING_MAX_LENGTH = 255\nexport const LIMIT_MEDIUM_STRING_MAX_LENGTH = 500\nexport const LIMIT_LONG_STRING_MAX_LENGTH = 5000\n// Users\nexport const LIMIT_MIN_USERNAME = 3\nexport const LIMIT_MAX_USERNAME = 255\nexport const LIMIT_MIN_EMAIL = 5\nexport const LIMIT_MAX_EMAIL = 255\nexport const LIMIT_MIN_PASSWORD = 8\nexport const LIMIT_MAX_PASSWORD = 255\nexport const LIMIT_MAX_PROVIDER = 255\n// URLs\nexport const LIMIT_MIN_DESTINATION = 10\nexport const LIMIT_MAX_DESTINATION = 2048\nexport const LIMIT_MIN_DOMAIN = 10\nexport const LIMIT_MAX_DOMAIN = 253\nexport const LIMIT_MIN_PATH = 1\nexport const LIMIT_MAX_PATH = 2038\nexport const LIMIT_MIN_QUERY = 1\nexport const LIMIT_MAX_QUERY = 2038\nexport const LIMIT_MIN_FRAGMENT = 1\nexport const LIMIT_MAX_FRAGMENT = 2038\n// UTM Parameters\nexport const LIMIT_MIN_UTM_SOURCE = 1\nexport const LIMIT_MAX_UTM_SOURCE = 2026\nexport const LIMIT_MIN_UTM_MEDIUM = 1\nexport const LIMIT_MAX_UTM_MEDIUM = 2026\nexport const LIMIT_MIN_UTM_CAMPAIGN = 1\nexport const LIMIT_MAX_UTM_CAMPAIGN = 2024\nexport const LIMIT_MIN_UTM_CREATIVE_FORMAT = 1\nexport const LIMIT_MAX_UTM_CREATIVE_FORMAT = 2017\nexport const LIMIT_MIN_UTM_CONTENT = 1\nexport const LIMIT_MAX_UTM_CONTENT = 2025\nexport const LIMIT_MIN_UTM_TERM = 1\nexport const LIMIT_MAX_UTM_TERM = 2028\nexport const LIMIT_MIN_UTM_ID = 1\nexport const LIMIT_MAX_UTM_ID = 2030\n","// Generics\nexport const LIMIT_PAGINATION_DEFAULT_SIZE = 100\nexport const LIMIT_PAGINATION_MAX_SIZE = 10000\n// Entities\nexport const LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE = 6\nexport const LIMIT_BLOG_POST_PAGINATION_MAX_SIZE = 20\nexport const LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE = 16\nexport const LIMIT_CLIENT_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_PRODUCT_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_PRODUCT_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE = 1000\nexport const LIMIT_REDIRECT_PAGINATION_MAX_SIZE = 10000\nexport const LIMIT_TEAM_MEMBER_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_TEAM_MEMBER_PAGINATION_MAX_SIZE = 20\nexport const LIMIT_TREND_PAGINATION_DEFAULT_SIZE = 7\nexport const LIMIT_TREND_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_USER_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_USER_PAGINATION_MAX_SIZE = 10\nexport const LIMIT_CATEGORIES_DEFAULT_SIZE = 100\nexport const LIMIT_CATEGORIES_MAX_SIZE = 1000\nexport const LIMIT_TAGS_DEFAULT_SIZE = 100\nexport const LIMIT_TAGS_MAX_SIZE = 1000\nexport const LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE = 1000","//\n/**\n * Example usage of ClientEntityScope type\n * @reference https://youtube.com/shorts/zOseJFD447U?si=xX8DYEHdl9YtN7S4\n *\n * > const validScope: ClientEntityScope = \"tracking-link:import\"; // ✅\n * > const invalidScope: ClientEntityScope = \"website:import\"; // ❌ Type error!\n */\n\nexport const CLIENT_ENTITY_PERMISSIONS = {\n \"client-project\": [\"list\", \"create\", \"read\", \"update\", \"delete\", \"export\", \"import\"],\n \"client-report\": [\"list\", \"create\", \"read\", \"update\", \"delete\", \"export\", \"import\"],\n \"utm-tracking-link\": [\n \"list\",\n \"create\",\n \"read\",\n \"update\",\n \"delete\",\n \"export\",\n \"import\"\n ]\n} as const\n\nexport type ClientEntityKey = keyof typeof CLIENT_ENTITY_PERMISSIONS\n\nexport type ClientEntityActions<K extends ClientEntityKey = ClientEntityKey> =\n (typeof CLIENT_ENTITY_PERMISSIONS)[K][number]\n\ntype EntityActionJoin<K extends string, V extends string> = `${K}:${V}`\n\nexport type ClientEntityScope = {\n [K in ClientEntityKey]: EntityActionJoin<\n K,\n (typeof CLIENT_ENTITY_PERMISSIONS)[K][number]\n >\n}[ClientEntityKey]\n\nexport const CLIENT_ENTITY_KEYS = Object.keys(\n CLIENT_ENTITY_PERMISSIONS\n) as ClientEntityKey[]\n\nexport const CLIENT_ENTITY_SCOPES: ClientEntityScope[] = Object.entries(\n CLIENT_ENTITY_PERMISSIONS\n).flatMap(([entity, actions]) =>\n actions.map((action) => `${entity}:${action}` as ClientEntityScope)\n)\n","export const ERROR_MESSAGE_REGEX_DOMAIN = \"please provide a valid domain name\"\nexport const REGEX_DOMAIN =\n /^(?=.{1,253}$)(?!-)((xn--)?[a-zA-Z0-9]{1,59}(-[a-zA-Z0-9]{1,62})?\\.)+([a-zA-Z]{2,63}|xn--[a-zA-Z0-9]{2,59})$/\n\nexport const ERROR_MESSAGE_REGEX_UTM_VALUE = `can only contain letters, numbers, and the special characters: - _ .`\nexport const REGEX_UTM_VALUE = /^[a-zA-Z0-9._-]+$/\n","import * as v from \"valibot\"\nimport {\n LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE,\n LIMIT_BLOG_POST_PAGINATION_MAX_SIZE\n} from \"../constants\"\n\nexport const QueryStrapiSearchBlogPosts = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(\n v.number(),\n v.minValue(1),\n v.maxValue(LIMIT_BLOG_POST_PAGINATION_MAX_SIZE)\n ),\n LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE\n ),\n search: v.optional(v.pipe(v.string(), v.maxLength(255)), \"\"),\n category: v.optional(v.pipe(v.string(), v.maxLength(100)), \"\"),\n tags: v.optional(v.array(v.pipe(v.string(), v.maxLength(100))), []),\n status: v.optional(v.picklist([\"draft\", \"published\"]))\n})\n\nexport type QueryStrapiSearchBlogPosts = v.InferOutput<\n typeof QueryStrapiSearchBlogPosts\n>\n\nexport const QueryStrapiSearchBlogPostsBySlug = v.object({\n slug: v.string(),\n status: v.optional(v.picklist([\"draft\", \"published\"]), \"published\")\n})\n\nexport type QueryStrapiSearchBlogPostsBySlug = v.InferOutput<\n typeof QueryStrapiSearchBlogPostsBySlug\n>\n","import * as v from \"valibot\"\nimport { CLIENT_ENTITY_SCOPES } from \"../constants\"\n\nexport const IsValidGroupUserScopes = v.pipe(\n v.array(\n v.pipe(\n v.string(\"please provide a valid scope\"),\n v.picklist(CLIENT_ENTITY_SCOPES, \"invalid client scope provided\")\n ),\n \"please provide an array of scopes\"\n ),\n v.maxLength(\n CLIENT_ENTITY_SCOPES.length,\n \"you cannot provide more scopes than available\"\n )\n)\n","import * as v from \"valibot\"\nimport {\n LIMIT_LONG_STRING_MAX_LENGTH,\n LIMIT_SHORT_STRING_MAX_LENGTH\n} from \"../constants\"\n\n// reference id for relationships\nexport const IsValidReferenceId = v.number(\"please provide a valid id\")\n\nexport const IsValidReferenceDocumentId = v.pipe(\n v.string(\"please provide a valid document id\"),\n v.trim(),\n v.minLength(1, \"the document id is too short, it must be at least 1 character\"),\n v.maxLength(255, \"the document id is too long, it must be 255 characters or less\")\n)\n\n// dates\nexport const IsValidDateToday = v.pipe(\n v.date(),\n v.minValue(new Date()),\n v.transform((value) => value.toISOString())\n)\n\n// numbers\nexport const IsValidPositiveInteger = v.pipe(\n v.number(\"Please enter a number.\"),\n v.integer(\"Please enter a whole number.\"),\n v.minValue(1, \"Please enter a positive number.\")\n)\n\n// strings\nexport const InvalidShortStringMax = `The string you provided is too long, please abbreviate your string to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidShortString = v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidShortStringMax)\n)\nexport const IsValidShortStringOrUndefined = v.optional(IsValidShortString)\n\nexport const InvalidLongStringOrUndefined = `The string you provided is too long, please abbreviate your string to be ${LIMIT_LONG_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidLongString = v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_LONG_STRING_MAX_LENGTH, InvalidLongStringOrUndefined)\n)\nexport const IsValidLongStringOrUndefined = v.optional(IsValidLongString)\n\nexport const IsValidStringList = v.pipe(\n v.array(v.string()),\n v.transform((value) => value.join(\",\"))\n)\nexport const IsValidStringListOrUndefined = v.optional(IsValidStringList)\n","import * as v from \"valibot\"\nimport {\n ERROR_MESSAGE_REGEX_UTM_VALUE,\n LIMIT_LONG_STRING_MAX_LENGTH,\n LIMIT_MAX_DESCRIPTION,\n LIMIT_MAX_DESTINATION,\n LIMIT_MEDIUM_STRING_MAX_LENGTH,\n LIMIT_MIN_NAME,\n LIMIT_MIN_VALUE,\n LIMIT_SHORT_STRING_MAX_LENGTH,\n REGEX_UTM_VALUE\n} from \"../constants\"\nimport { InvalidLongStringOrUndefined } from \"./validators-generics\"\n\nexport const InvalidInputRobot = \"It appears you are a robot, please try again.\"\n\n// File Reference\nexport const IsValidFileReferenceId = v.object({\n id: v.number(),\n src: v.optional(v.string())\n})\n\n// names\nexport const InvalidFullName = \"Please enter your name.\"\nexport const InvalidFullNameMaxLength = `Your name is too long for our datanase, please abbreviate your name to be ${LIMIT_MEDIUM_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidFullName = v.pipe(\n v.string(InvalidFullName),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidFullName),\n v.maxLength(LIMIT_MEDIUM_STRING_MAX_LENGTH, InvalidFullNameMaxLength),\n v.includes(\" \", \"Please enter your first and last name.\")\n)\n\nexport const InvalidFirstName = \"Please enter your first name.\"\nexport const InvalidFirstNameMaxLength = `Your first name is too long for our datanase, please abbreviate your first name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidFirstName = v.pipe(\n v.string(InvalidFirstName),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidFirstName),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidFirstNameMaxLength)\n)\n\nexport const InvalidLastName = \"Please enter your last name.\"\nexport const InvalidLastNameMaxLength = `Your last name is too long for our datanase, please abbreviate your last name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidLastName = v.pipe(\n v.string(InvalidLastName),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidLastName),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidLastNameMaxLength)\n)\n\nexport const InvalidPreferredName = \"Please enter your preferred name.\"\nexport const InvalidPreferredNameMaxLength = `Your preferred name is too long for our datanase, please abbreviate your preferred name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidPreferredName = v.pipe(\n v.string(InvalidPreferredName),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidPreferredName),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidPreferredNameMaxLength)\n)\n\nexport const IsValidUserConsent = v.boolean()\n\nexport const InvalidUserPhoneType = \"Please enter your phone number.\"\nexport const InvalidUserPhone = `The phone you provided does not appear to be a valid phone number.`\nexport const IsValidUserPhoneRequired = v.pipe(\n v.string(InvalidUserPhoneType),\n v.trim(),\n v.minLength(7, InvalidUserPhoneType),\n v.maxLength(15, InvalidUserPhone)\n)\nexport const IsValidUserPhone = v.optional(IsValidUserPhoneRequired)\n\nexport const InvalidCompanyName = \"Please enter your company name.\"\nexport const InvalidCompanyNameMaxLength = `The company name you provided is too long for our database, please abbreviate your company name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidCompanyNameRequired = v.pipe(\n v.string(InvalidCompanyName),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidCompanyName),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidCompanyNameMaxLength)\n)\nexport const IsValidCompanyName = v.optional(IsValidCompanyNameRequired)\n\nexport const InvalidUserTitle = \"Please enter your job title or reference.\"\nexport const InvalidUserTitleMaxLength = `The job title you provided is too long for our database, please abbreviate your company name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidUserTitleRequired = v.pipe(\n v.string(InvalidUserTitle),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidUserTitle),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidUserTitleMaxLength)\n)\nexport const IsValidUserTitle = v.optional(IsValidUserTitleRequired)\n\nexport const InvalidUserMessage = \"How can we be of service to your team?\"\nexport const InvalidUserMessageMaxLength = `The message you provided is too long for our database, please abbreviate your message to be ${LIMIT_LONG_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidUserMessage = v.optional(\n v.pipe(\n v.string(InvalidUserMessage),\n v.trim(),\n v.maxLength(LIMIT_LONG_STRING_MAX_LENGTH, InvalidUserMessageMaxLength)\n )\n)\n\nexport const InvalidRefPageMaxLength = `The string you provided is too long for our database, please abbreviate your string to be ${LIMIT_MAX_DESTINATION} characters or less.`\nexport const IsValidRefPage = v.pipe(\n v.string(InvalidInputRobot),\n v.trim(),\n v.maxLength(LIMIT_MAX_DESTINATION, InvalidRefPageMaxLength)\n)\n\nexport const InvalidProductInterestMaxLength = `The product interest provided is too long. It must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidProductInterest = v.pipe(\n v.string(InvalidInputRobot),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidProductInterestMaxLength)\n)\n\nexport const IsValidCaptchaToken = v.pipe(\n v.string(InvalidInputRobot),\n v.trim(),\n v.maxLength(LIMIT_LONG_STRING_MAX_LENGTH, InvalidLongStringOrUndefined)\n)\n\nexport const InvalidInstrustryName = \"Please enter your industry.\"\nexport const InvalidInstrustryNameMaxLength = `The industry you provided is too long for our database, please abbreviate your industry to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidIndustryName = v.optional(\n v.pipe(\n v.string(InvalidInstrustryName),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidInstrustryNameMaxLength)\n )\n)\n\nexport const InvalidRangeValueOneToFive = `Please select a value between 1 and 5. (1 = Poor, 3 = Neutral, 5 = Excellent)`\nexport const IsValidRangeValueOneToFive = v.pipe(\n v.string(),\n v.picklist([\"1\", \"2\", \"3\", \"4\", \"5\"], InvalidRangeValueOneToFive)\n)\n\nexport const InvalidClientTermNumber = `Please provide how many months your team has used this product.`\nexport const InvalidClientTermMin = `We're sorry, you must be a client for at least 1 month to provide feedback.`\nexport const IsValidClientTerm = v.pipe(\n v.number(InvalidClientTermNumber),\n v.minValue(1, InvalidClientTermMin)\n)\n\nexport const IsValidUrl = v.pipe(\n v.string(),\n v.trim(),\n v.url(\"Please enter a valid URL.\")\n)\nexport const IsValidUrlOrUndefined = v.optional(IsValidUrl)\n\nexport const IsValidUrlList = (input: string) => {\n if (input === \"\") return true\n const urls = input.split(\",\")\n if (urls.length > 0) {\n const truthy = []\n for (let i = 0; i < urls.length; i++) {\n const result = v.safeParse(IsValidUrl, urls[i])\n truthy.push(result.success)\n }\n return truthy.every((item) => item === true)\n }\n return false\n}\n\nexport const InvalidListOfUrls = \"Please enter a list of URLs separated by commas.\"\nexport const IsValidStringSepListOfUrls = v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_LONG_STRING_MAX_LENGTH, InvalidLongStringOrUndefined),\n v.check(IsValidUrlList, InvalidListOfUrls)\n)\nexport const IsValidStringSepListOfUrlsOrUndefined = v.optional(\n IsValidStringSepListOfUrls\n)\n\nexport const InvalidDestinationUrl = \"Please remove any query parameters from the URL.\"\nexport const IsValidDestinationUrl = v.pipe(\n v.string(),\n v.trim(),\n v.url(\"Please enter a valid URL.\"),\n v.check((input: string) => {\n if (input === \"\") return false\n return input.indexOf(\"?\") === -1\n }, InvalidDestinationUrl)\n)\n\nexport const InvalidUtmLink = \"Please enter a valid URL with UTM parameters.\"\nexport const IsValidUtmLink = v.pipe(\n v.string(),\n v.trim(),\n v.url(\"Please enter a valid URL.\"),\n v.check((input: string) => {\n return input.includes(\"utm_\")\n }, InvalidUtmLink)\n)\n\nexport const InvalidUtmCampaignKeyName = `Campaign key name may only contain alphanumeric characters, and underscores.`\nexport const IsValidUtmCampaignKeyName = v.pipe(\n v.string(),\n v.check((input: string) => {\n return /^[a-zA-Z0-9_]*$/.test(input)\n }, InvalidUtmCampaignKeyName)\n)\nexport const IsValidUtmCampaignKeyNameOrUndefined = v.optional(\n IsValidUtmCampaignKeyName\n)\n\nexport const InvalidCsvFileType = \"Please upload a CSV file.\"\nexport const IsValidCsvFile = v.optional(\n v.pipe(v.blob(), v.mimeType([\"text/csv\"], InvalidCsvFileType))\n)\n\nexport const InvalidResumeFileType = \"Please upload a PDF or Word document.\"\nexport const IsValidResumeFile = v.nullable(\n v.pipe(\n v.file(InvalidResumeFileType),\n v.mimeType([\"application/pdf\"], InvalidResumeFileType)\n )\n)\n\nexport const ValidNumberOfEmployeeOptions = [\n { label: \"0-10\", value: \"0-10\" },\n { label: \"11-20\", value: \"11-20\" },\n { label: \"21-50\", value: \"21-50\" },\n { label: \"51-100\", value: \"51-100\" },\n { label: \"101-500\", value: \"101-500\" },\n { label: \"501+\", value: \"501+\" }\n] as const\n\nexport const IsValidNumberOfEmployees = v.pipe(\n v.string(),\n v.picklist(\n ValidNumberOfEmployeeOptions.map((item) => item.value),\n \"Please select an option that best describes your team size.\"\n )\n)\n\nexport const ValidJobRoleGroup = [\n {\n label: \"Founder / Owner\",\n value: \"founder,owner\"\n },\n {\n label: \"C-suite Executive\",\n value: \"executive\"\n },\n {\n label: \"Vice President\",\n value: \"vice president\"\n },\n {\n label: \"Director\",\n value: \"director\"\n },\n {\n label: \"Manager\",\n value: \"manager\"\n },\n {\n label: \"Solo-prenour\",\n value: \"solo-prenour\"\n },\n {\n label: \"Student\",\n value: \"student\"\n }\n] as const\n\nexport const IsValidUserRole = v.pipe(\n v.string(),\n v.picklist(\n ValidJobRoleGroup.map((item) => item.value),\n \"Please select an option that best describes your role.\"\n )\n)\n\nexport const ValidGcServiceOptions = [\n { label: \"Full Marketing Services\", value: \"Full Marketing Services\" },\n {\n label: \"Graphic Design / Marketing Design\",\n value: \"Graphic Design / Marketing Design\"\n },\n { label: \"Text Message Marketing\", value: \"Text Message Marketing\" },\n { label: \"Email Marketing\", value: \"Email Marketing\" },\n { label: \"Video Production\", value: \"Video Production\" },\n { label: \"Website Production\", value: \"Website Production\" },\n { label: \"Marketing Automation Software\", value: \"Marketing Automation Software\" },\n { label: \"Online Advertising\", value: \"Online Advertising\" },\n { label: \"Influencer Marketing\", value: \"Influencer Marketing\" }\n] as const\n\nexport const ValidGcVideoServiceOptions = [\n { label: \"Storyboarding\", value: \"Storyboarding\" },\n { label: \"Voiceovers\", value: \"Voiceovers\" },\n { label: \"Video Commercials / Interviews\", value: \"Video Commercials / Interviews\" },\n {\n label: \"Short Form Video Editing (social posts/stories)\",\n value: \"Short Form Video Editing (social posts/stories)\"\n },\n { label: \"Product Tours\", value: \"Product Tours\" },\n { label: \"Model Home / Community Tours\", value: \"Model Home / Community Tours\" },\n { label: \"Matterport Interactive Tours\", value: \"Matterport Interactive Tours\" },\n { label: \"3D Flyover Videos\", value: \"3D Flyover Videos\" }\n] as const\n\nexport const ValidGcDesiredContentOptions = [\n { label: \"Blog Posts\", value: \"Blog Posts\" },\n { label: \"Podcasting\", value: \"Podcasting\" },\n { label: \"Live Streams\", value: \"Live Streams\" },\n { label: \"Newsletters\", value: \"Newsletters\" },\n { label: \"Freebies / Toolkits\", value: \"Freebies / Toolkits\" },\n { label: \"Community Updates\", value: \"Community Updates\" }\n] as const\n\nexport const ValidRatingRange5 = [\n { label: \"1\", value: \"1\" },\n { label: \"2\", value: \"2\" },\n { label: \"3\", value: \"3\" },\n { label: \"4\", value: \"4\" },\n { label: \"5\", value: \"5\" }\n] as const\n\n// cost\nexport const IsValidCost = v.pipe(\n v.number(\"please enter a cost value\"),\n v.minValue(0),\n v.maxValue(\n 1000000,\n \"your campaign cost exceeds our $1 million dollar limit, please contact us for customized solutions\"\n )\n)\nexport const IsValidOrUndefinedCost = v.undefinedable(IsValidCost)\n\n// label\nexport const IsValidLabel = v.pipe(\n v.string(\"please provide a label\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_VALUE,\n `the label is too short, it must be at least ${LIMIT_MIN_VALUE} characters`\n ),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n `the label is too long, it must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less`\n )\n)\nexport const IsValidOrUndefinedLabel = v.undefinedable(IsValidLabel)\n\n// value\nexport const IsValidValue = v.pipe(\n v.string(\"please provide a value\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_VALUE,\n `the value is too short, it must be at least ${LIMIT_MIN_VALUE} characters`\n ),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n `the value is too long, it must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `the value ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedValue = v.undefinedable(IsValidValue)\n\n// description (optional)\nexport const IsValidDescription = v.nullable(\n v.pipe(\n v.string(\"the description must be a string\"),\n v.trim(),\n v.maxLength(\n LIMIT_MAX_DESCRIPTION,\n `the description is too long, it must be ${LIMIT_MAX_DESCRIPTION} characters or less`\n )\n )\n)\nexport const IsValidOrUndefinedDescription = v.undefinedable(IsValidDescription)\n\n// is_active\nexport const IsValidIsActive = v.boolean(\"isActive must be a boolean\")\nexport const IsValidOrUndefinedIsActive = v.undefinedable(IsValidIsActive)\n\n// is_secure\nexport const IsValidIsSecure = v.boolean(\"isSecure must be a boolean\")\nexport const IsValidOrUndefinedIsSecure = v.undefinedable(IsValidIsSecure)\n\n// generic name\nexport const IsValidName = v.pipe(\n v.string(\"please provide a name\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_NAME,\n `the name is too short, it must be at least ${LIMIT_MIN_NAME} characters`\n ),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n `the name is too long, it must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less`\n )\n)\nexport const IsValidOrUndefinedName = v.undefinedable(IsValidName)\n","import * as v from \"valibot\"\nimport {\n ERROR_MESSAGE_REGEX_DOMAIN,\n LIMIT_MAX_DESTINATION,\n LIMIT_MAX_DOMAIN,\n LIMIT_MAX_FRAGMENT,\n LIMIT_MAX_PATH,\n LIMIT_MAX_QUERY,\n LIMIT_MIN_DESTINATION,\n LIMIT_MIN_DOMAIN,\n LIMIT_MIN_FRAGMENT,\n LIMIT_MIN_PATH,\n LIMIT_MIN_QUERY,\n REGEX_DOMAIN\n} from \"../constants\"\n\n// destination\nexport const IsValidUrlDestination = v.pipe(\n v.string(\"please provide a url destination\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_DESTINATION,\n `the url destination is too short, it must be at least ${LIMIT_MIN_DESTINATION} characters`\n ),\n v.maxLength(\n LIMIT_MAX_DESTINATION,\n `the url destination is too long, it must be ${LIMIT_MAX_DESTINATION} characters or less`\n ),\n v.url(\"please provide a valid url\")\n)\nexport const IsValidOrUndefinedUrlDestination = v.undefinedable(IsValidUrlDestination)\n\n// protocol\nexport const IsValidUrlProtocol = v.picklist(\n [\"http\", \"https\"],\n \"please provide a valid url protocol\"\n)\nexport const IsValidOrUndefinedUrlProtocol = v.undefinedable(IsValidUrlProtocol)\n\n// domain\nexport const IsValidUrlDomain = v.pipe(\n v.string(\"please provide a domain\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_DOMAIN,\n `the domain is too short, it must be at least ${LIMIT_MIN_DOMAIN} characters`\n ),\n v.maxLength(\n LIMIT_MAX_DOMAIN,\n `the domain is too long, it must be ${LIMIT_MAX_DOMAIN} characters or less`\n ),\n v.regex(REGEX_DOMAIN, ERROR_MESSAGE_REGEX_DOMAIN)\n)\nexport const IsValidOrUndefinedUrlDomain = v.undefinedable(IsValidUrlDomain)\n\n// path\nexport const IsValidUrlPath = v.pipe(\n v.string(\"please provide a url path\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_PATH,\n `the url path is too short, it must be at least ${LIMIT_MIN_PATH} characters`\n ),\n v.maxLength(\n LIMIT_MAX_PATH,\n `the url path is too long, it must be ${LIMIT_MAX_PATH} characters or less`\n )\n)\nexport const IsValidOrUndefinedUrlPath = v.undefinedable(IsValidUrlPath)\n\n// query\nexport const IsValidUrlQuery = v.pipe(\n v.string(\"please provide a url query\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_QUERY,\n `the url query is too short, it must be at least ${LIMIT_MIN_QUERY} characters`\n ),\n v.maxLength(\n LIMIT_MAX_QUERY,\n `the url query is too long, it must be ${LIMIT_MAX_QUERY} characters or less`\n )\n)\nexport const IsValidOrUndefinedUrlQuery = v.undefinedable(IsValidUrlQuery)\n\n// fragment\nexport const IsValidUrlFragment = v.pipe(\n v.string(\"please provide a url hash/fragment\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_FRAGMENT,\n `the url hash/fragment is too short, it must be at least ${LIMIT_MIN_FRAGMENT} characters`\n ),\n v.maxLength(\n LIMIT_MAX_FRAGMENT,\n `the url hash/fragment is too long, it must be ${LIMIT_MAX_FRAGMENT} characters or less`\n )\n)\nexport const IsValidOrUndefinedUrlFragment = v.undefinedable(IsValidUrlFragment)\n","import * as v from \"valibot\"\nimport {\n ERROR_MESSAGE_REGEX_UTM_VALUE,\n LIMIT_MAX_EMAIL,\n LIMIT_MAX_PASSWORD,\n LIMIT_MAX_PROVIDER,\n LIMIT_MAX_USERNAME,\n LIMIT_MIN_EMAIL,\n LIMIT_MIN_PASSWORD,\n LIMIT_MIN_USERNAME,\n REGEX_UTM_VALUE\n} from \"../constants\"\n\nexport const IsValidUsername = v.pipe(\n v.string(\"please provide a username\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_USERNAME,\n `your username is too short, it must be at least ${LIMIT_MIN_USERNAME} characters`\n ),\n v.maxLength(\n LIMIT_MAX_USERNAME,\n `your username is too long, it must be ${LIMIT_MAX_USERNAME} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `your username ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUsername = v.undefinedable(IsValidUsername)\n\nexport const IsValidUserEmail = v.pipe(\n v.string(\"please provide an email\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_EMAIL,\n `your email is too short, it must be at least ${LIMIT_MIN_EMAIL} characters`\n ),\n v.maxLength(\n LIMIT_MAX_EMAIL,\n `your email is too long, it must be ${LIMIT_MAX_EMAIL} characters or less`\n ),\n v.email(\"please provide a valid email address\")\n)\nexport const IsValidOrUndefinedUserEmail = v.undefinedable(IsValidUserEmail)\n\nexport const IsValidPassword = v.pipe(\n v.string(\"a password is required\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_PASSWORD,\n `your password is too short, it must be at least ${LIMIT_MIN_PASSWORD} characters`\n ),\n v.maxLength(\n LIMIT_MAX_PASSWORD,\n `your password is too long, it must be ${LIMIT_MAX_PASSWORD} characters or less`\n )\n)\nexport const IsValidOrUndefinedPassword = v.undefinedable(IsValidPassword)\n\nexport const IsValidProvider = v.pipe(\n v.string(\"please enter a provider\"),\n v.trim(),\n v.maxLength(\n LIMIT_MAX_PROVIDER,\n `the provider string is too long, it must be ${LIMIT_MAX_PROVIDER} characters or less`\n )\n)\nexport const IsValidOrUndefinedProvider = v.undefinedable(IsValidProvider)\n\nexport const IsValidConfirmed = v.boolean()\nexport const IsValidOrUndefinedConfirmed = v.undefinedable(IsValidConfirmed)\n\nexport const IsValidBlocked = v.boolean()\nexport const IsValidOrUndefinedBlocked = v.undefinedable(IsValidBlocked)\n","import * as v from \"valibot\"\nimport {\n ERROR_MESSAGE_REGEX_UTM_VALUE,\n LIMIT_MAX_UTM_CAMPAIGN,\n LIMIT_MAX_UTM_CONTENT,\n LIMIT_MAX_UTM_CREATIVE_FORMAT,\n LIMIT_MAX_UTM_ID,\n LIMIT_MAX_UTM_MEDIUM,\n LIMIT_MAX_UTM_SOURCE,\n LIMIT_MAX_UTM_TERM,\n LIMIT_MIN_UTM_CAMPAIGN,\n LIMIT_MIN_UTM_CONTENT,\n LIMIT_MIN_UTM_CREATIVE_FORMAT,\n LIMIT_MIN_UTM_ID,\n LIMIT_MIN_UTM_MEDIUM,\n LIMIT_MIN_UTM_SOURCE,\n LIMIT_MIN_UTM_TERM,\n REGEX_UTM_VALUE\n} from \"../constants\"\n\n// utm_source\nexport const IsValidUrlUtmSource = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_SOURCE,\n `the utm_source is too short, it must be at least ${LIMIT_MIN_UTM_SOURCE} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_SOURCE,\n `the utm_source is too long, it must be ${LIMIT_MAX_UTM_SOURCE} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_source ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmSource = v.undefinedable(IsValidUrlUtmSource)\n\n// utm_medium\nexport const IsValidUrlUtmMedium = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_MEDIUM,\n `the utm_medium is too short, it must be at least ${LIMIT_MIN_UTM_MEDIUM} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_MEDIUM,\n `the utm_medium is too long, it must be ${LIMIT_MAX_UTM_MEDIUM} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_medium ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmMedium = v.undefinedable(IsValidUrlUtmMedium)\n\n// utm_campaign\nexport const IsValidUrlUtmCampaign = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_CAMPAIGN,\n `the utm_campaign is too short, it must be at least ${LIMIT_MIN_UTM_CAMPAIGN} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_CAMPAIGN,\n `the utm_campaign is too long, it must be ${LIMIT_MAX_UTM_CAMPAIGN} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_campaign ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmCampaign = v.undefinedable(IsValidUrlUtmCampaign)\n\n// utm_creative_format\nexport const IsValidUrlUtmCreativeFormat = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_CREATIVE_FORMAT,\n `the utm_creative_format is too short, it must be at least ${LIMIT_MIN_UTM_CREATIVE_FORMAT} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_CREATIVE_FORMAT,\n `the utm_creative_format is too long, it must be ${LIMIT_MAX_UTM_CREATIVE_FORMAT} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_creative_format ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmCreativeFormat = v.undefinedable(\n IsValidUrlUtmCreativeFormat\n)\n\n// utm_content\nexport const IsValidUrlUtmContent = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_CONTENT,\n `the utm_content is too short, it must be at least ${LIMIT_MIN_UTM_CONTENT} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_CONTENT,\n `the utm_content is too long, it must be ${LIMIT_MAX_UTM_CONTENT} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_content ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmContent = v.undefinedable(IsValidUrlUtmContent)\n\n// utm_term\nexport const IsValidUrlUtmTerm = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_TERM,\n `the utm_term is too short, it must be at least ${LIMIT_MIN_UTM_TERM} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_TERM,\n `the utm_term is too long, it must be ${LIMIT_MAX_UTM_TERM} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_term ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmTerm = v.undefinedable(IsValidUrlUtmTerm)\n\n// utm_id\nexport const IsValidUrlUtmId = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_ID,\n `the utm_id is too short, it must be at least ${LIMIT_MIN_UTM_ID} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_ID,\n `the utm_id is too long, it must be ${LIMIT_MAX_UTM_ID} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_id ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmId = v.undefinedable(IsValidUrlUtmId)\n","import type { BaseDocument, MediaUploadDocument } from \"../core\";\nimport type { ClientDocument } from \"./client.document\";\n\nexport const ClientProjectStatusOptions = [\n \"coming-soon\",\n \"now-open\",\n \"for-sale\",\n \"sold-out\",\n \"available\",\n];\nexport type ClientProjectStatus = (typeof ClientProjectStatusOptions)[number];\n\nexport type ClientProjectDocument = {\n title: string;\n slug: string;\n project_status: ClientProjectStatus[];\n clients?: ClientDocument[];\n featured_image?: MediaUploadDocument | null;\n} & BaseDocument;\n","import * as v from \"valibot\";\nimport {\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE,\n LIMIT_CLIENT_PAGINATION_MAX_SIZE,\n} from \"../constants\";\nimport { IsValidReferenceDocumentId, IsValidShortString } from \"../validators\";\nimport { ClientProjectStatusOptions } from \"../types\";\n\nexport const QueryStrapiSearchClientProjects = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(\n v.number(),\n v.minValue(1),\n v.maxValue(LIMIT_CLIENT_PAGINATION_MAX_SIZE)\n ),\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE\n ),\n title: v.optional(IsValidShortString),\n slug: v.optional(IsValidShortString),\n project_status: v.optional(v.picklist(ClientProjectStatusOptions)),\n clientId: v.optional(IsValidReferenceDocumentId),\n});\n\nexport type QueryStrapiSearchClientProjects = v.InferOutput<\n typeof QueryStrapiSearchClientProjects\n>;\n","import * as v from \"valibot\";\nimport {\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE,\n LIMIT_CLIENT_PAGINATION_MAX_SIZE,\n} from \"../constants\";\nimport { IsValidShortString } from \"../validators\";\n\nexport const QueryStrapiSearchClients = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(\n v.number(),\n v.minValue(1),\n v.maxValue(LIMIT_CLIENT_PAGINATION_MAX_SIZE)\n ),\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE\n ),\n title: v.optional(IsValidShortString),\n teamwork_id: v.optional(IsValidShortString),\n teamwork_name: v.optional(IsValidShortString),\n utm_sheet_id: v.optional(IsValidShortString),\n allow_create_utm_link: v.optional(v.boolean()),\n classification: v.optional(v.picklist([\"organic\", \"paid\"])),\n is_featured: v.optional(v.boolean()),\n is_active: v.optional(v.boolean()),\n is_organic_social: v.optional(v.boolean()),\n is_paid_media: v.optional(v.boolean()),\n});\n\nexport type QueryStrapiSearchClients = v.InferOutput<\n typeof QueryStrapiSearchClients\n>;\n","import * as v from \"valibot\"\nimport { LIMIT_PAGINATION_DEFAULT_SIZE, LIMIT_PAGINATION_MAX_SIZE } from \"../constants\"\nimport {\n IsValidReferenceDocumentId,\n IsValidReferenceId,\n IsValidShortString,\n IsValidUserEmail,\n IsValidUserPhoneRequired\n} from \"../validators\"\n\n// Paginated Query\nexport const QueryStrapiPaginated = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(v.number(), v.minValue(1), v.maxValue(LIMIT_PAGINATION_MAX_SIZE)),\n LIMIT_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_PAGINATION_DEFAULT_SIZE\n )\n})\nexport type QueryStrapiPaginated = v.InferOutput<typeof QueryStrapiPaginated>\n\n// Query by: ID, Document ID\nexport const QueryStrapiById = v.object({\n id: IsValidReferenceId\n})\nexport type QueryStrapiById = v.InferOutput<typeof QueryStrapiById>\n\nexport const QueryStrapiByDocumentId = v.object({\n documentId: IsValidReferenceDocumentId\n})\nexport type QueryStrapiByDocumentId = v.InferOutput<typeof QueryStrapiByDocumentId>\n\n// Query by: Slug, Email, Phone, or Name\nexport const QueryStrapiBySlug = v.object({\n slug: IsValidShortString\n})\nexport type QueryStrapiBySlug = v.InferOutput<typeof QueryStrapiBySlug>\n\nexport const QueryStrapiByEmail = v.object({\n email: IsValidUserEmail\n})\nexport type QueryStrapiByEmail = v.InferOutput<typeof QueryStrapiByEmail>\n\nexport const QueryStrapiByPhone = v.object({\n phone: IsValidUserPhoneRequired\n})\nexport type QueryStrapiByPhone = v.InferOutput<typeof QueryStrapiByPhone>\n\nexport const QueryStrapiByName = v.object({\n name: IsValidShortString\n})\nexport type QueryStrapiByName = v.InferOutput<typeof QueryStrapiByName>\n","import * as v from \"valibot\"\nimport {\n IsValidCaptchaToken,\n IsValidCompanyName,\n IsValidFirstName,\n IsValidLastName,\n IsValidProductInterest,\n IsValidRefPage,\n IsValidUserConsent,\n IsValidUserEmail,\n IsValidUserMessage,\n IsValidUserPhoneRequired,\n IsValidUserTitle\n} from \"../validators\"\n\nexport const SCreateLead = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n phone: IsValidUserPhoneRequired,\n company: IsValidCompanyName,\n title: IsValidUserTitle,\n message: IsValidUserMessage,\n product_interest: IsValidProductInterest,\n email_consent: IsValidUserConsent,\n sms_consent: IsValidUserConsent,\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\n\nexport type SCreateLead = v.InferOutput<typeof SCreateLead>\n","import * as v from \"valibot\"\nimport {\n IsValidCaptchaToken,\n IsValidFirstName,\n IsValidLastName,\n IsValidRefPage,\n IsValidUserConsent,\n IsValidUserEmail\n} from \"../validators\"\n\nexport const SCreateNewsletterSignup = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n // hidden fields\n email_consent: IsValidUserConsent,\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\n\nexport type SCreateNewsletterSignup = v.InferOutput<typeof SCreateNewsletterSignup>\n","import * as v from \"valibot\"\nimport {\n IsValidCaptchaToken,\n IsValidFileReferenceId,\n IsValidFirstName,\n IsValidLastName,\n IsValidRefPage,\n IsValidResumeFile,\n IsValidShortString,\n IsValidStringSepListOfUrlsOrUndefined,\n IsValidUserConsent,\n IsValidUserEmail,\n IsValidUserMessage,\n IsValidUserPhone\n} from \"../validators\"\n\nexport const SCreateResume = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n phone: IsValidUserPhone,\n message: IsValidUserMessage,\n social_profiles: IsValidStringSepListOfUrlsOrUndefined,\n file: IsValidResumeFile, // File object\n email_consent: IsValidUserConsent,\n sms_consent: IsValidUserConsent,\n // hidden fields\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\nexport type SCreateResume = v.InferOutput<typeof SCreateResume>\n\nexport const SCreateResumeInfo = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n phone: IsValidUserPhone,\n message: IsValidUserMessage,\n social_profiles: IsValidStringSepListOfUrlsOrUndefined,\n file: IsValidFileReferenceId, // File reference ID\n email_consent: IsValidUserConsent,\n sms_consent: IsValidUserConsent,\n // hidden fields\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\nexport type SCreateResumeInfo = v.InferOutput<typeof SCreateResumeInfo>\n\nexport const SUpdateResumeInfo = v.object({\n documentId: IsValidShortString,\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n phone: IsValidUserPhone,\n message: IsValidUserMessage,\n social_profiles: IsValidStringSepListOfUrlsOrUndefined,\n file: IsValidFileReferenceId, // File reference ID\n email_consent: IsValidUserConsent,\n sms_consent: IsValidUserConsent,\n // hidden fields\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\n\nexport type SUpdateResumeInfo = v.InferOutput<typeof SUpdateResumeInfo>\n","import * as v from \"valibot\"\nimport {\n IsValidCaptchaToken,\n IsValidFirstName,\n IsValidLastName,\n IsValidRefPage,\n IsValidShortString,\n IsValidUserConsent,\n IsValidUserEmail\n} from \"../validators\"\n\nexport const SharpSpringSignUpToDownload = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n // hidden fields\n download_key: IsValidShortString,\n email_consent: IsValidUserConsent,\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\nexport type SharpSpringSignUpToDownload = v.InferOutput<\n typeof SharpSpringSignUpToDownload\n>\n","import * as v from \"valibot\"\n\nexport const SUpdateTrendsLikes = v.object({\n documentId: v.string(),\n likes: v.number()\n})\n\nexport type SUpdateTrendsLikes = v.InferOutput<typeof SUpdateTrendsLikes>\n","import * as v from \"valibot\"\nimport {\n LIMIT_BLOG_POST_PAGINATION_MAX_SIZE,\n LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE\n} from \"../constants\"\n\nexport const QueryStrapiPaginatedUrlRedirects = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(\n v.number(),\n v.minValue(1),\n v.maxValue(LIMIT_BLOG_POST_PAGINATION_MAX_SIZE)\n ),\n LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE\n )\n})\n\nexport type QueryStrapiPaginatedUrlRedirects = v.InferOutput<\n typeof QueryStrapiPaginatedUrlRedirects\n>\n\nexport const QueryStrapiUrlRedirectsByFrom = v.object({\n from: v.string()\n})\n\nexport type QueryStrapiUrlRedirectsByFrom = v.InferOutput<\n typeof QueryStrapiUrlRedirectsByFrom\n>\n","import * as v from \"valibot\"\nimport { IsValidPassword, IsValidUserEmail, IsValidUsername } from \"../validators\"\n\n// JWT\nexport const SUserToken = v.object({\n token: v.string()\n})\nexport type SUserToken = v.InferOutput<typeof SUserToken>\n\n// AUTH LOCAL\n// LOGIN\nexport const SLoginUser = v.object({\n identifier: IsValidUserEmail,\n password: IsValidPassword\n})\nexport type SLoginUser = v.InferOutput<typeof SLoginUser>\n\n// REGISTER\nexport const SRegisterUser = v.object({\n username: IsValidUsername,\n email: IsValidUserEmail,\n password: IsValidPassword\n})\nexport type SRegisterUser = v.InferOutput<typeof SRegisterUser>\n\n// FORGOT PASSWORD\nexport const SForgotUserPassword = v.object({\n email: IsValidUserEmail\n})\nexport type SForgotUserPassword = v.InferOutput<typeof SForgotUserPassword>\n\n// REQUEST CONFIRM EMAIL\nexport const SRequestConfirmEmail = v.object({\n email: IsValidUserEmail\n})\nexport type SRequestConfirmEmail = v.InferOutput<typeof SRequestConfirmEmail>\n\n// RESET PASSWORD\nexport const SResetUserPassword = v.object({\n password: IsValidPassword,\n passwordConfirmation: IsValidPassword,\n code: v.string()\n})\nexport type SResetUserPassword = v.InferOutput<typeof SResetUserPassword>\n\n// CHANGE PASSWORD\nexport const SChangePassword = v.pipe(\n v.object({\n currentPassword: IsValidPassword,\n password: IsValidPassword,\n passwordConfirmation: IsValidPassword\n }),\n v.forward(\n v.partialCheck(\n [[\"password\"], [\"passwordConfirmation\"]],\n (input) => input.password === input.passwordConfirmation,\n \"Your new passwords do not match.\"\n ),\n [\"passwordConfirmation\"]\n )\n)\nexport type SChangePassword = v.InferOutput<typeof SChangePassword>\n\n// AUTH PROVIDER\n// Auth Provider Token\nexport const SAuthRawAccessToken = v.object({\n access_token: v.optional(v.string()),\n expires_in: v.optional(v.number()),\n scope: v.optional(v.string()),\n token_type: v.optional(v.string()),\n id_token: v.optional(v.string())\n})\nexport type SAuthRawAccessToken = v.InferOutput<typeof SAuthRawAccessToken>\n\n// Auth Connect Provider Redirect Search\nexport const SAuthConnectProviderRedirectSearch = v.object({\n id_token: v.string(),\n access_token: v.string(),\n raw: v.optional(SAuthRawAccessToken)\n})\nexport type SAuthConnectProviderRedirectSearch = v.InferOutput<\n typeof SAuthConnectProviderRedirectSearch\n>\n\n// Auth Connect Provider Confirmation\nexport const SAuthConnectProviderConfirmation = v.object({\n provider: v.string(),\n search: SAuthConnectProviderRedirectSearch\n})\nexport type SAuthConnectProviderConfirmation = v.InferOutput<\n typeof SAuthConnectProviderConfirmation\n>\n","import * as v from \"valibot\"\nimport {\n LIMIT_SHORT_STRING_MAX_LENGTH,\n LIMIT_USER_PAGINATION_DEFAULT_SIZE,\n LIMIT_USER_PAGINATION_MAX_SIZE\n} from \"../constants\"\nimport { IsValidReferenceDocumentId, IsValidReferenceId } from \"../validators\"\n\n// LIST\nexport const QueryStrapiUsers = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(v.number(), v.minValue(3), v.maxValue(LIMIT_USER_PAGINATION_MAX_SIZE)),\n LIMIT_USER_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_USER_PAGINATION_DEFAULT_SIZE\n )\n})\nexport type QueryStrapiUsers = v.InferOutput<typeof QueryStrapiUsers>\n\nexport const QueryStrapiUsersByIdentifier = v.object({\n identifier: v.pipe(v.string(), v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH)),\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(v.number(), v.minValue(3), v.maxValue(LIMIT_USER_PAGINATION_MAX_SIZE)),\n LIMIT_USER_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_USER_PAGINATION_DEFAULT_SIZE\n )\n})\nexport type QueryStrapiUsersByIdentifier = v.InferOutput<\n typeof QueryStrapiUsersByIdentifier\n>\n\n// READ\nexport const SReadUserById = v.object({\n id: IsValidReferenceId\n})\nexport type SReadUserById = v.InferOutput<typeof SReadUserById>\n\nexport const SReadUserByDocumentId = v.object({\n documentId: IsValidReferenceDocumentId\n})\nexport type SReadUserByDocumentId = v.InferOutput<typeof SReadUserByDocumentId>\n","import * as v from \"valibot\"\nimport { IsValidFirstName, IsValidPreferredName, IsValidLastName, IsValidReferenceDocumentId, IsValidReferenceId } from \"../validators\"\n\n// READ\nexport const SReadUserAccountById = v.object({\n id: IsValidReferenceId\n})\nexport type SReadUserAccountById = v.InferOutput<typeof SReadUserAccountById>\n\nexport const SReadUserAccountByDocumentId = v.object({\n documentId: IsValidReferenceDocumentId\n})\nexport type SReadUserAccountByDocumentId = v.InferOutput<typeof SReadUserAccountByDocumentId>\n\n// UPDATE\nexport const SUpdateUserAccount = v.object({\n documentId: IsValidReferenceDocumentId,\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n preferred_name: IsValidPreferredName,\n})\nexport type SUpdateUserAccount = v.InferOutput<typeof SUpdateUserAccount>\n\nexport const SUpdateUserAccountFirstName = v.object({\n documentId: IsValidReferenceDocumentId,\n first_name: IsValidFirstName,\n})\nexport type SUpdateUserAccountFirstName = v.InferOutput<typeof SUpdateUserAccountFirstName>\n\nexport const SUpdateUserAccountLastName = v.object({\n documentId: IsValidReferenceDocumentId,\n last_name: IsValidLastName,\n})\nexport type SUpdateUserAccountLastName = v.InferOutput<typeof SUpdateUserAccountLastName>\n\nexport const SUpdateUserAccountPreferredName = v.object({\n documentId: IsValidReferenceDocumentId,\n preferred_name: IsValidPreferredName,\n})\nexport type SUpdateUserAccountPreferredName = v.InferOutput<typeof SUpdateUserAccountPreferredName>\n","import * as v from \"valibot\";\nimport {\n LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE,\n LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE,\n} from \"../constants\";\nimport {\n IsValidDestinationUrl,\n IsValidIsActive,\n IsValidLongString,\n IsValidLongStringOrUndefined,\n IsValidOrUndefinedUrlUtmContent,\n IsValidOrUndefinedUrlUtmCreativeFormat,\n IsValidOrUndefinedUrlUtmId,\n IsValidReferenceDocumentId,\n IsValidReferenceId,\n IsValidShortString,\n IsValidShortStringOrUndefined,\n IsValidStringListOrUndefined,\n IsValidUrl,\n IsValidUrlUtmCampaign,\n IsValidUrlUtmContent,\n IsValidUrlUtmCreativeFormat,\n IsValidUrlUtmId,\n IsValidUrlUtmMedium,\n IsValidUrlUtmSource,\n IsValidUtmCampaignKeyName,\n IsValidUtmCampaignKeyNameOrUndefined,\n IsValidUtmLink,\n} from \"../validators\";\n\n// LIST\nexport const QueryStrapiSearchUtmTrackingLinks = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(\n v.number(),\n v.minValue(1),\n v.maxValue(LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE)\n ),\n LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE\n ),\n url_destination: v.optional(IsValidDestinationUrl),\n utm_medium: v.optional(IsValidUrlUtmMedium),\n utm_source: v.optional(IsValidUrlUtmSource),\n utm_campaign: v.optional(IsValidUrlUtmCampaign),\n utm_content: v.optional(IsValidUrlUtmContent),\n utm_creative_format: v.optional(IsValidUrlUtmCreativeFormat),\n utm_id: v.optional(IsValidUrlUtmId),\n campaign_phase: v.optional(IsValidShortString),\n campaign_product: v.optional(IsValidShortString),\n campaign_targeting: v.optional(IsValidShortString),\n campaign_key: v.optional(IsValidShortString),\n creative_format: v.optional(IsValidShortString),\n creative_format_variants: v.optional(v.array(IsValidShortString)),\n url: v.optional(IsValidUrl),\n is_active: v.optional(v.boolean()),\n notes: v.optional(IsValidShortString),\n});\n\nexport type QueryStrapiSearchUtmTrackingLinks = v.InferOutput<\n typeof QueryStrapiSearchUtmTrackingLinks\n>;\n\n// CREATE\nexport const SCreateUtmTrackingLinkDocument = v.object({\n creator: IsValidReferenceDocumentId,\n client: IsValidReferenceDocumentId,\n url_destination: IsValidDestinationUrl,\n utm_source: IsValidUrlUtmSource,\n utm_medium: IsValidUrlUtmMedium,\n utm_campaign: IsValidUrlUtmCampaign,\n utm_content: IsValidShortStringOrUndefined,\n utm_creative_format: IsValidShortStringOrUndefined,\n utm_id: IsValidShortStringOrUndefined,\n campaign_phase: IsValidShortString,\n campaign_product: IsValidShortStringOrUndefined,\n campaign_targeting: IsValidStringListOrUndefined,\n campaign_key: IsValidUtmCampaignKeyNameOrUndefined,\n creative_format: IsValidShortStringOrUndefined,\n creative_format_variants: IsValidStringListOrUndefined,\n url: IsValidUtmLink,\n is_active: IsValidIsActive,\n notes: IsValidLongStringOrUndefined,\n});\nexport type SCreateUtmTrackingLinkDocumentInput = v.InferInput<\n typeof SCreateUtmTrackingLinkDocument\n>;\nexport type SCreateUtmTrackingLinkDocument = v.InferOutput<\n typeof SCreateUtmTrackingLinkDocument\n>;\n\nexport const SCreateUtmTrackingLinkParts = v.object({\n url_destination: IsValidDestinationUrl,\n utm_source: IsValidUrlUtmSource,\n utm_medium: IsValidUrlUtmMedium,\n utm_campaign: IsValidUrlUtmCampaign,\n utm_content: IsValidShortStringOrUndefined,\n utm_creative_format: IsValidShortStringOrUndefined,\n utm_id: IsValidShortStringOrUndefined,\n campaign_phase: IsValidShortString,\n campaign_product: IsValidShortStringOrUndefined,\n campaign_targeting: IsValidStringListOrUndefined,\n campaign_key: IsValidUtmCampaignKeyNameOrUndefined,\n creative_format: IsValidShortStringOrUndefined,\n creative_format_variants: IsValidStringListOrUndefined,\n url: IsValidUtmLink,\n is_active: IsValidIsActive,\n notes: IsValidLongStringOrUndefined,\n});\nexport type SCreateUtmTrackingLinkParts = v.InferOutput<\n typeof SCreateUtmTrackingLinkParts\n>;\n\nexport const SFormCreateMultipleUtmTrackingLinkDocuments = v.object({\n creator: IsValidReferenceDocumentId,\n client: IsValidReferenceDocumentId,\n links: v.pipe(\n v.array(SCreateUtmTrackingLinkParts),\n v.minLength(1, \"You must provide at least one link to create.\"),\n v.maxLength(100, \"You can create a maximum of 100 links at once.\")\n ),\n});\nexport type SFormCreateMultipleUtmTrackingLinkDocuments = v.InferInput<\n typeof SFormCreateMultipleUtmTrackingLinkDocuments\n>;\n\n// READ\nexport const SReadUtmTrackingLinkDocumentByDocumentId = v.object({\n documentId: IsValidReferenceDocumentId,\n});\nexport type SReadUtmTrackingLinkDocumentByDocumentId = v.InferOutput<\n typeof SReadUtmTrackingLinkDocumentByDocumentId\n>;\n\n// UPDATE\nexport const SUpdateUtmTrackingLinkDocument = v.object({\n creator: v.optional(IsValidReferenceDocumentId),\n client: v.optional(IsValidReferenceDocumentId),\n url_destination: IsValidDestinationUrl,\n utm_source: IsValidUrlUtmSource,\n utm_medium: IsValidUrlUtmMedium,\n utm_campaign: IsValidUrlUtmCampaign,\n utm_content: IsValidShortStringOrUndefined,\n utm_creative_format: IsValidShortStringOrUndefined,\n utm_id: IsValidShortStringOrUndefined,\n campaign_phase: IsValidShortString,\n campaign_product: IsValidShortStringOrUndefined,\n campaign_targeting: IsValidStringListOrUndefined,\n campaign_key: IsValidUtmCampaignKeyNameOrUndefined,\n creative_format: IsValidShortStringOrUndefined,\n creative_format_variants: IsValidStringListOrUndefined,\n url: IsValidUtmLink,\n is_active: IsValidIsActive,\n notes: IsValidLongStringOrUndefined,\n});\nexport type SUpdateUtmTrackingLinkDocument = v.InferOutput<\n typeof SUpdateUtmTrackingLinkDocument\n>;\n\nexport const SUpdateUtmTrackingLinkDocumentRequest = v.object({\n documentId: IsValidReferenceDocumentId,\n data: SUpdateUtmTrackingLinkDocument,\n});\nexport type SUpdateUtmTrackingLinkDocumentRequest = v.InferOutput<\n typeof SUpdateUtmTrackingLinkDocumentRequest\n>;\n\n// DELETE\nexport const SDeleteUtmTrackingLinkDocument = v.object({\n documentId: IsValidReferenceDocumentId,\n});\nexport type SDeleteUtmTrackingLinkDocument = v.InferOutput<\n typeof SDeleteUtmTrackingLinkDocument\n>;\n","import * as v from \"valibot\"\n\ntype ValidateAndCleanSuccess<T> = {\n data: Partial<T>\n error: null\n errors: null\n}\n\ntype ValidateAndCleanFailure = {\n data: null\n error: string | null\n errors: Record<string, string> | null\n}\n\ntype ValidateAndCleanResult<T> = ValidateAndCleanSuccess<T> | ValidateAndCleanFailure\n\nexport function validateAndClean<T>(\n schema: v.BaseSchema<T, Partial<T>, v.BaseIssue<T>>,\n input: unknown\n): ValidateAndCleanResult<T> {\n try {\n const parsed = v.parse(schema, input)\n return { data: parsed, error: null, errors: null }\n } catch (err: unknown) {\n if (err instanceof v.ValiError) {\n const errors: Record<string, string> = {}\n for (const issue of err.issues) {\n const field = issue.path?.[0]?.key || \"unknown\"\n errors[field] = issue.message\n }\n return { data: null, error: null, errors }\n }\n let errorMessage = \"Unknown error\"\n if (err instanceof Error) {\n errorMessage = err.message\n } else {\n errorMessage = String(err)\n }\n return { data: null, error: errorMessage, errors: null }\n }\n}\n\nexport function isValidationSuccess<T>(\n result: ValidateAndCleanResult<T>\n): result is ValidateAndCleanSuccess<T> {\n return result.error === null && result.errors === null\n}\n\nexport function isValidationFailure<T>(\n result: ValidateAndCleanResult<T>\n): result is ValidateAndCleanFailure {\n return result.error !== null || result.errors !== null\n}\n\nexport function omitUndefined<T extends Record<string, any>>(obj: T): Partial<T> {\n const result: Partial<T> = {}\n for (const key in obj) {\n if (obj[key] !== undefined) {\n result[key] = obj[key]\n }\n }\n return result\n}\n","export function dateToday(): Date {\n const date = new Date()\n date.setHours(0, 0, 0, 0)\n return date\n}\n\nexport function datePlusDays(today: Date, days: number = 30): Date {\n const date = new Date(today)\n date.setDate(date.getDate() + days)\n date.setHours(23, 59, 59, 999)\n return date\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@getcommunity/gc-validators",
|
|
3
3
|
"description": "Schema Validator for GetCommunity types",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.25",
|
|
5
5
|
"author": "Joey Grable <joey@getcommunity.com> (https://joeygrable.com)",
|
|
6
6
|
"contributors": [],
|
|
7
7
|
"main": "dist/index.js",
|