Added personalization messages and schemas

This commit is contained in:
Alexander Cerutti
2019-07-27 00:40:54 +02:00
parent d650dbb31f
commit 2444d52cb2
2 changed files with 26 additions and 3 deletions

View File

@@ -418,6 +418,26 @@ const nfcDict = Joi.object().keys({
encryptionPublicKey: Joi.string()
});
// ************************************* //
// *** Personalizable Passes Schemas *** //
// ************************************* //
export interface Personalization {
requiredPersonalizationFields: PRSField[];
description: string;
termsAndConditions?: string;
}
type PRSField = "PKPassPersonalizationFieldName" | "PKPassPersonalizationFieldPostalCode" | "PKPassPersonalizationFieldEmailAddress" | "PKPassPersonalizationFieldPhoneNumber";
const personalizationDict = Joi.object().keys({
requiredPersonalizationFields: Joi.array()
.items("PKPassPersonalizationFieldName", "PKPassPersonalizationFieldPostalCode", "PKPassPersonalizationFieldEmailAddress", "PKPassPersonalizationFieldPhoneNumber")
.required(),
description: Joi.string().required(),
termsAndConditions: Joi.string(),
});
// --------- UTILITIES ---------- //
type Schemas = {
@@ -433,7 +453,8 @@ const schemas: Schemas = {
locationsDict,
transitType,
nfcDict,
supportedOptions
supportedOptions,
personalizationDict
};
function resolveSchemaName(name: keyof Schemas) {