Shared URL Regex in schema

This commit is contained in:
Alexander Cerutti
2024-06-14 23:04:24 +02:00
parent f74e5241f7
commit d82e24ea20

View File

@@ -24,6 +24,8 @@ import * as Messages from "../messages";
const RGB_COLOR_REGEX = const RGB_COLOR_REGEX =
/rgb\(\s*(?:[01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5])\s*,\s*(?:[01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5])\s*,\s*(?:[01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5])\s*\)/; /rgb\(\s*(?:[01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5])\s*,\s*(?:[01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5])\s*,\s*(?:[01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5])\s*\)/;
const URL_REGEX = /https?:\/\/(?:[a-z0-9]+\.?)+(?::\d{2,})?(?:\/[\S]+)*/;
export interface FileBuffers { export interface FileBuffers {
[key: string]: Buffer; [key: string]: Buffer;
} }
@@ -159,34 +161,25 @@ export const OverridablePassProps = Joi.object<OverridablePassProps>({
foregroundColor: Joi.string().regex(RGB_COLOR_REGEX), foregroundColor: Joi.string().regex(RGB_COLOR_REGEX),
associatedStoreIdentifiers: Joi.array().items(Joi.number()), associatedStoreIdentifiers: Joi.array().items(Joi.number()),
userInfo: Joi.alternatives(Joi.object().unknown(), Joi.array()), userInfo: Joi.alternatives(Joi.object().unknown(), Joi.array()),
// parsing url as set of words and nums followed by dots, optional port and any possible path after webServiceURL: Joi.string().regex(URL_REGEX),
webServiceURL: Joi.string().regex(
/https?:\/\/(?:[a-z0-9]+\.?)+(?::\d{2,})?(?:\/[\S]+)*/,
),
/** /**
* New field for iOS 18 * New field for iOS 18
* Event Ticket * Event Ticket
*/ */
bagPolicyURL: Joi.string().regex( bagPolicyURL: Joi.string().regex(URL_REGEX),
/https?:\/\/(?:[a-z0-9]+\.?)+(?::\d{2,})?(?:\/[\S]+)*/,
),
/** /**
* New field for iOS 18 * New field for iOS 18
* Event Ticket * Event Ticket
*/ */
orderFoodURL: Joi.string().regex( orderFoodURL: Joi.string().regex(URL_REGEX),
/https?:\/\/(?:[a-z0-9]+\.?)+(?::\d{2,})?(?:\/[\S]+)*/,
),
/** /**
* New field for iOS 18 * New field for iOS 18
* Event Ticket * Event Ticket
*/ */
parkingInformationURL: Joi.string().regex( parkingInformationURL: Joi.string().regex(URL_REGEX),
/https?:\/\/(?:[a-z0-9]+\.?)+(?::\d{2,})?(?:\/[\S]+)*/,
),
}).with("webServiceURL", "authenticationToken"); }).with("webServiceURL", "authenticationToken");
export const PassProps = Joi.object< export const PassProps = Joi.object<