@royalschedule/validators 2.10.50 → 2.10.52
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.
|
@@ -15,26 +15,50 @@ exports.default = joi_1.default.object({
|
|
|
15
15
|
.valid('parallel', 'sequential', 'custom'),
|
|
16
16
|
anchor: joi_1.default.when('type', {
|
|
17
17
|
is: 'parallel',
|
|
18
|
-
then: joi_1.default.string().valid('start', 'middle', 'end').required()
|
|
19
|
-
otherwise: joi_1.default.forbidden()
|
|
18
|
+
then: joi_1.default.string().valid('start', 'middle', 'end').required()
|
|
20
19
|
}),
|
|
21
20
|
gap: joi_1.default.when('type', {
|
|
22
21
|
is: 'sequential',
|
|
23
22
|
then: joi_1.default.object({
|
|
24
23
|
min: joi_1.default.number().required(),
|
|
25
24
|
max: joi_1.default.number().required()
|
|
26
|
-
}).required()
|
|
27
|
-
|
|
25
|
+
}).required()
|
|
26
|
+
}),
|
|
27
|
+
configurations: joi_1.default.when('type', {
|
|
28
|
+
is: 'custom',
|
|
29
|
+
then: joi_1.default.array()
|
|
30
|
+
.items(joi_1.default.array()
|
|
31
|
+
.items(joi_1.default.object({
|
|
32
|
+
eventId: joi_1.default.string().required(),
|
|
33
|
+
offset: joi_1.default.number().required(),
|
|
34
|
+
anchor: joi_1.default.string().valid('start', 'middle', 'end').required()
|
|
35
|
+
}))).required(),
|
|
36
|
+
otherwise: joi_1.default.array()
|
|
37
|
+
.items(joi_1.default.array()
|
|
38
|
+
.items(joi_1.default.object({
|
|
39
|
+
eventId: joi_1.default.string().required(),
|
|
40
|
+
offset: joi_1.default.number().required(),
|
|
41
|
+
anchor: joi_1.default.string().valid('start', 'middle', 'end').required()
|
|
42
|
+
})))
|
|
28
43
|
}),
|
|
29
|
-
configurations: joi_1.default.array()
|
|
30
|
-
.items(joi_1.default.array()
|
|
31
|
-
.items(joi_1.default.object({
|
|
32
|
-
eventId: joi_1.default.string().required(),
|
|
33
|
-
offset: joi_1.default.number().required(),
|
|
34
|
-
anchor: joi_1.default.string().valid('start', 'middle', 'end').required()
|
|
35
|
-
}))),
|
|
36
44
|
createdAt: date_1.default.isDate(),
|
|
37
45
|
updatedAt: date_1.default.isDate().allow(null),
|
|
38
46
|
ORIGIN: joi_1.default.string().allow(null)
|
|
47
|
+
}).custom((value, helpers) => {
|
|
48
|
+
const { events, configurations } = value;
|
|
49
|
+
if (value.type !== 'custom' || !configurations || !events || events.length === 0)
|
|
50
|
+
return value;
|
|
51
|
+
const eventIds = events.map((e) => (typeof e === 'string' ? e : e.id));
|
|
52
|
+
for (let i = 0; i < configurations.length; i++) {
|
|
53
|
+
const config = configurations[i];
|
|
54
|
+
const configIds = config.map((item) => item.eventId);
|
|
55
|
+
const hasDuplicates = new Set(configIds).size !== configIds.length;
|
|
56
|
+
const missing = eventIds.filter((id) => !configIds.includes(id));
|
|
57
|
+
const extra = configIds.filter((id) => !eventIds.includes(id));
|
|
58
|
+
if (hasDuplicates || missing.length > 0 || extra.length > 0) {
|
|
59
|
+
return helpers.message({ 'any.invalid': `configurations[${i}] must contain exactly one entry per event (no missing, no extra, no duplicates)` });
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return value;
|
|
39
63
|
});
|
|
40
64
|
//# sourceMappingURL=linked-event-sets.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linked-event-sets.js","sourceRoot":"","sources":["../../src/validators/linked-event-sets.ts"],"names":[],"mappings":";;;;;AAAA,8CAAsD;AACtD,mCAAyD;AAGzD,yCAAiE;AACjE,0DAAiE;AAGjE,kBAAe,aAAG,CAAC,MAAM,CAAM;IAC7B,EAAE,EAAW,aAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAA,eAAM,EAAC,CAAC,CAAC,CAAC;IAElD,MAAM,EAAO,aAAG,CAAC,KAAK,EAAE;SACP,KAAK,CACJ,aAAG,CAAC,YAAY,EAAE,CAAC,GAAG,CACpB,aAAG,CAAC,MAAM,EAAE,EACZ,aAAG,CAAC,MAAM,CAAC,WAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CACrE,CACF;IAEjB,IAAI,EAAS,aAAG,CAAC,MAAM,EAAE;SACR,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,QAAQ,CAAC;IAG1D,MAAM,EAAO,aAAG,CAAC,IAAI,CAAC,MAAM,EAAE;QACd,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"linked-event-sets.js","sourceRoot":"","sources":["../../src/validators/linked-event-sets.ts"],"names":[],"mappings":"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"}
|