mirror of
https://github.com/marcogll/passkit-generator.git
synced 2026-03-15 21:25:26 +00:00
Applied some changes for schema for a more correct validation
This commit is contained in:
2
index.js
2
index.js
@@ -303,7 +303,7 @@ class Pass {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// messageEncoding is required
|
// messageEncoding is required
|
||||||
b.messageEncoding = b.messageEncoding || "iso-8859-1";
|
// b.messageEncoding = b.messageEncoding || "iso-8859-1";
|
||||||
|
|
||||||
return schema.isValid(b, schema.constants.barcode);
|
return schema.isValid(b, schema.constants.barcode);
|
||||||
});
|
});
|
||||||
|
|||||||
15
schema.js
15
schema.js
@@ -1,4 +1,5 @@
|
|||||||
const Joi = require("joi");
|
const Joi = require("joi");
|
||||||
|
const debug = require("debug")("Schema");
|
||||||
|
|
||||||
let instance = Joi.object().keys({
|
let instance = Joi.object().keys({
|
||||||
model: Joi.string(),
|
model: Joi.string(),
|
||||||
@@ -16,24 +17,24 @@ let instance = Joi.object().keys({
|
|||||||
|
|
||||||
let barcode = Joi.object().keys({
|
let barcode = Joi.object().keys({
|
||||||
altText: Joi.string(),
|
altText: Joi.string(),
|
||||||
messageEncoding: Joi.string().required(),
|
messageEncoding: Joi.string().default("iso-8859-1").required(),
|
||||||
format: Joi.string().required().regex(/(PKBarcodeFormatQR|PKBarcodeFormatPDF417|PKBarcodeFormatAztec|PKBarcodeFormatCode128)/, "barcodeType"),
|
format: Joi.string().required().regex(/(PKBarcodeFormatQR|PKBarcodeFormatPDF417|PKBarcodeFormatAztec|PKBarcodeFormatCode128)/, "barcodeType"),
|
||||||
message: Joi.string().required()
|
message: Joi.string().required()
|
||||||
});
|
});
|
||||||
|
|
||||||
let field = Joi.object().keys({
|
let field = Joi.object().keys({
|
||||||
attributedValue: Joi.string(),
|
attributedValue: Joi.string().allow(""),
|
||||||
changeMessage: Joi.string(),
|
changeMessage: Joi.string().allow("").regex(/%@/),
|
||||||
dataDetectorType: Joi.array().items(Joi.string().regex(/(PKDataDetectorTypePhoneNumber|PKDataDetectorTypeLink|PKDataDetectorTypeAddress|PKDataDetectorTypeCalendarEvent)/, "dataDetectorType")),
|
dataDetectorType: Joi.array().items(Joi.string().regex(/(PKDataDetectorTypePhoneNumber|PKDataDetectorTypeLink|PKDataDetectorTypeAddress|PKDataDetectorTypeCalendarEvent)/, "dataDetectorType")),
|
||||||
label: Joi.string(),
|
label: Joi.string().allow(""),
|
||||||
textAlignment: Joi.string().regex(/(PKTextAlignmentLeft|PKTextAlignmentCenter|PKTextAlignmentRight|PKTextAlignmentNatural)/, "graphic-alignment"),
|
textAlignment: Joi.string().regex(/(PKTextAlignmentLeft|PKTextAlignmentCenter|PKTextAlignmentRight|PKTextAlignmentNatural)/, "graphic-alignment"),
|
||||||
key: Joi.string().required(),
|
key: Joi.string().required(),
|
||||||
value: Joi.string().required()
|
value: Joi.string().allow("").required()
|
||||||
});
|
});
|
||||||
|
|
||||||
let beaconsDict = Joi.object().keys({
|
let beaconsDict = Joi.object().keys({
|
||||||
major: Joi.number().integer().positive().max(65535),
|
major: Joi.number().integer().positive().max(65535).greater(Joi.ref("minor")),
|
||||||
minor: Joi.number().integer().positive().max(65535),
|
minor: Joi.number().integer().positive().max(65535).less(Joi.ref("major")),
|
||||||
proximityUUID: Joi.string().required(),
|
proximityUUID: Joi.string().required(),
|
||||||
relevantText: Joi.string()
|
relevantText: Joi.string()
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user