@royalschedule/validators 1.2.6 → 1.3.0

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.
@@ -0,0 +1,8 @@
1
+ import { CustomHelpers, ObjectSchema } from 'joi';
2
+ export declare namespace Util {
3
+ namespace functions {
4
+ const schemaWrapper: <T extends object>(schema: {
5
+ default: ObjectSchema<T>;
6
+ }) => (val: T, helpers: CustomHelpers<T>) => import("joi").ErrorReport | T;
7
+ }
8
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Util = void 0;
4
+ var Util;
5
+ (function (Util) {
6
+ let functions;
7
+ (function (functions) {
8
+ functions.schemaWrapper = function (schema) {
9
+ return (val, helpers) => {
10
+ const { error, value } = schema.default.validate(val, { stripUnknown: true });
11
+ if (error) {
12
+ return helpers.error(error.message);
13
+ }
14
+ return value;
15
+ };
16
+ };
17
+ })(functions = Util.functions || (Util.functions = {}));
18
+ })(Util = exports.Util || (exports.Util = {}));
19
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/common/util.ts"],"names":[],"mappings":";;;AAGA,IAAiB,IAAI,CAepB;AAfD,WAAiB,IAAI;IACnB,IAAiB,SAAS,CAazB;IAbD,WAAiB,SAAS;QACX,uBAAa,GACtB,UAA6B,MAAoC;YACnE,OAAO,CAAC,GAAM,EAAE,OAAyB,EAAE,EAAE;gBAC3C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;gBAE9E,IAAI,KAAK,EAAE;oBACT,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;iBACrC;gBAED,OAAO,KAAK,CAAC;YACf,CAAC,CAAC;QACJ,CAAC,CAAA;IACH,CAAC,EAbgB,SAAS,GAAT,cAAS,KAAT,cAAS,QAazB;AACH,CAAC,EAfgB,IAAI,GAAJ,YAAI,KAAJ,YAAI,QAepB"}
@@ -6,10 +6,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const joi_1 = __importDefault(require("joi"));
7
7
  const date_1 = __importDefault(require("../common/date"));
8
8
  const time_1 = __importDefault(require("../common/time"));
9
- const locked_times_1 = __importDefault(require("./locked-times"));
9
+ const util_1 = require("../common/util");
10
10
  const intervals_1 = __importDefault(require("./intervals"));
11
11
  const days_1 = __importDefault(require("./days"));
12
12
  const break_length_1 = __importDefault(require("./break-length"));
13
+ const locations_1 = __importDefault(require("./locations"));
14
+ const groups_1 = __importDefault(require("./groups"));
15
+ const persons_1 = __importDefault(require("./persons"));
16
+ const periods_1 = __importDefault(require("./periods"));
17
+ const teachers_1 = __importDefault(require("./teachers"));
13
18
  exports.default = joi_1.default.object({
14
19
  id: joi_1.default.string(),
15
20
  displayName: joi_1.default.string().allow(null, ''),
@@ -38,7 +43,7 @@ exports.default = joi_1.default.object({
38
43
  .greater(joi_1.default.ref('start'))
39
44
  .minutesAfter(joi_1.default.ref('start'), joi_1.default.ref('duration')),
40
45
  centerOfAttraction: time_1.default.isTime().allow(null),
41
- lockedTimes: joi_1.default.array().items(locked_times_1.default).allow(null),
46
+ lockedTimes: joi_1.default.array().items(joi_1.default.custom(util_1.Util.functions.schemaWrapper(require('./locked-times')))).allow(null),
42
47
  intervals: [
43
48
  joi_1.default.array().allow(null).length(0),
44
49
  joi_1.default.array().length(1).items(intervals_1.default),
@@ -50,35 +55,25 @@ exports.default = joi_1.default.object({
50
55
  .items(days_1.default),
51
56
  period: [
52
57
  joi_1.default.string().allow(null),
53
- joi_1.default.object({
54
- id: joi_1.default.string()
55
- })
58
+ periods_1.default
56
59
  ],
57
60
  overlapGroup: [
58
61
  joi_1.default.string().allow(null, ''),
59
- joi_1.default.object({
60
- id: joi_1.default.string()
61
- })
62
+ joi_1.default.custom(util_1.Util.functions.schemaWrapper(require('./overlap-groups')))
62
63
  ],
63
64
  overlapSpecies: [
64
65
  joi_1.default.string().allow(null, ''),
65
- joi_1.default.object({
66
- id: joi_1.default.string()
67
- })
66
+ joi_1.default.custom(util_1.Util.functions.schemaWrapper(require('./overlap-groups')))
68
67
  ],
69
68
  course: [
70
69
  joi_1.default.string(),
71
- joi_1.default.object({
72
- id: joi_1.default.string()
73
- })
70
+ joi_1.default.custom(util_1.Util.functions.schemaWrapper(require('./courses')))
74
71
  ],
75
72
  teachers: joi_1.default.array()
76
73
  .allow(null)
77
74
  .items(joi_1.default.object({
78
75
  to: [
79
- joi_1.default.object({
80
- id: joi_1.default.string()
81
- }),
76
+ teachers_1.default,
82
77
  joi_1.default.string()
83
78
  ],
84
79
  groupIndex: joi_1.default.number().integer().min(0),
@@ -87,28 +82,18 @@ exports.default = joi_1.default.object({
87
82
  .allow(null)
88
83
  .items(joi_1.default.object({
89
84
  to: [
90
- joi_1.default.object({
91
- id: joi_1.default.string()
92
- }),
85
+ groups_1.default,
93
86
  joi_1.default.string()
94
87
  ],
95
- include: joi_1.default.array()
96
- .items(joi_1.default.object({
97
- id: joi_1.default.string()
98
- }), joi_1.default.string()),
99
88
  exclude: joi_1.default.array()
100
- .items(joi_1.default.object({
101
- id: joi_1.default.string()
102
- }), joi_1.default.string()),
89
+ .items(persons_1.default, joi_1.default.string()),
103
90
  groupIndex: joi_1.default.number().integer().min(0),
104
91
  })),
105
92
  participants: joi_1.default.array()
106
93
  .allow(null)
107
94
  .items(joi_1.default.object({
108
95
  to: [
109
- joi_1.default.object({
110
- id: joi_1.default.string()
111
- }),
96
+ persons_1.default,
112
97
  joi_1.default.string()
113
98
  ],
114
99
  groupIndex: joi_1.default.number().integer().min(0),
@@ -122,11 +107,9 @@ exports.default = joi_1.default.object({
122
107
  locations: joi_1.default.array()
123
108
  .min(1)
124
109
  .max(1)
125
- .items(joi_1.default.object({
126
- id: joi_1.default.string()
127
- }), joi_1.default.string())
110
+ .items(locations_1.default, joi_1.default.string())
128
111
  })),
129
112
  inLocations: joi_1.default.array()
130
- .items(joi_1.default.object({ id: joi_1.default.string() }).allow(null), joi_1.default.string()),
113
+ .items(joi_1.default.string().allow(null), locations_1.default),
131
114
  });
132
115
  //# sourceMappingURL=course-events.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"course-events.js","sourceRoot":"","sources":["../../src/validators/course-events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"course-events.js","sourceRoot":"","sources":["../../src/validators/course-events.ts"],"names":[],"mappings":"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"}
@@ -5,10 +5,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const joi_1 = __importDefault(require("joi"));
7
7
  const time_1 = __importDefault(require("../common/time"));
8
- const locked_times_1 = __importDefault(require("./locked-times"));
8
+ const util_1 = require("../common/util");
9
9
  const intervals_1 = __importDefault(require("./intervals"));
10
10
  const days_1 = __importDefault(require("./days"));
11
11
  const break_length_1 = __importDefault(require("./break-length"));
12
+ const locations_1 = __importDefault(require("./locations"));
13
+ const groups_1 = __importDefault(require("./groups"));
14
+ const persons_1 = __importDefault(require("./persons"));
15
+ const periods_1 = __importDefault(require("./periods"));
16
+ const teachers_1 = __importDefault(require("./teachers"));
12
17
  exports.default = joi_1.default.object({
13
18
  id: joi_1.default.string(),
14
19
  displayName: joi_1.default.string().allow(null, ''),
@@ -25,22 +30,18 @@ exports.default = joi_1.default.object({
25
30
  .allow(null),
26
31
  overlapGroup: [
27
32
  joi_1.default.string().allow(null, ''),
28
- joi_1.default.object({
29
- id: joi_1.default.string()
30
- })
33
+ joi_1.default.custom(util_1.Util.functions.schemaWrapper(require('./overlap-groups')))
31
34
  ],
32
35
  overlapSpecies: [
33
36
  joi_1.default.string().allow(null, ''),
34
- joi_1.default.object({
35
- id: joi_1.default.string()
36
- })
37
+ joi_1.default.custom(util_1.Util.functions.schemaWrapper(require('./overlap-groups')))
37
38
  ],
38
39
  eventDurationVariance: joi_1.default.number()
39
40
  .allow(null)
40
41
  .multiple(5)
41
42
  .integer()
42
43
  .min(0),
43
- lockedTimes: joi_1.default.array().items(locked_times_1.default),
44
+ lockedTimes: joi_1.default.array().items(joi_1.default.custom(util_1.Util.functions.schemaWrapper(require('./locked-times')))),
44
45
  intervals: [
45
46
  joi_1.default.array().allow(null).length(0),
46
47
  joi_1.default.array().length(1).items(intervals_1.default),
@@ -49,51 +50,36 @@ exports.default = joi_1.default.object({
49
50
  minBreakLength: break_length_1.default,
50
51
  days: joi_1.default.array().items(days_1.default),
51
52
  centerOfAttraction: time_1.default.isTime().allow(null),
53
+ potentialCenter: time_1.default.isTime().allow(null),
52
54
  period: [
53
55
  joi_1.default.string().allow(null),
54
- joi_1.default.object({
55
- id: joi_1.default.string()
56
- })
56
+ periods_1.default
57
57
  ],
58
58
  events: joi_1.default.array()
59
- .items(joi_1.default.string(), joi_1.default.object({
60
- id: joi_1.default.string()
61
- })),
59
+ .items(joi_1.default.custom(util_1.Util.functions.schemaWrapper(require('./course-events')))),
62
60
  teachers: joi_1.default.array()
63
61
  .items(joi_1.default.object({
64
62
  to: [
65
- joi_1.default.object({
66
- id: joi_1.default.string()
67
- }),
68
- joi_1.default.string()
63
+ joi_1.default.string(),
64
+ teachers_1.default
69
65
  ],
70
66
  groupIndex: joi_1.default.number().integer().min(0),
71
67
  })),
72
68
  groups: joi_1.default.array()
73
69
  .items(joi_1.default.object({
74
70
  to: [
75
- joi_1.default.object({
76
- id: joi_1.default.string()
77
- }),
71
+ groups_1.default,
78
72
  joi_1.default.string()
79
73
  ],
80
- include: joi_1.default.array()
81
- .items(joi_1.default.object({
82
- id: joi_1.default.string()
83
- }), joi_1.default.string()),
84
74
  exclude: joi_1.default.array()
85
- .items(joi_1.default.object({
86
- id: joi_1.default.string()
87
- }), joi_1.default.string()),
75
+ .items(persons_1.default, joi_1.default.string()),
88
76
  groupIndex: joi_1.default.number().integer().min(0),
89
77
  })),
90
78
  participants: joi_1.default.array()
91
79
  .allow(null)
92
80
  .items(joi_1.default.object({
93
81
  to: [
94
- joi_1.default.object({
95
- id: joi_1.default.string()
96
- }),
82
+ persons_1.default,
97
83
  joi_1.default.string()
98
84
  ],
99
85
  groupIndex: joi_1.default.number().integer().min(0),
@@ -103,9 +89,7 @@ exports.default = joi_1.default.object({
103
89
  rank: joi_1.default.number().integer().min(0),
104
90
  groupIndex: joi_1.default.number().integer().min(0),
105
91
  locations: joi_1.default.array()
106
- .items(joi_1.default.object({
107
- id: joi_1.default.string()
108
- }), joi_1.default.string())
92
+ .items(locations_1.default, joi_1.default.string())
109
93
  }))
110
94
  });
111
95
  //# sourceMappingURL=courses.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"courses.js","sourceRoot":"","sources":["../../src/validators/courses.ts"],"names":[],"mappings":";;;;;AAAA,8CAAsD;AAGtD,0DAAiE;AAEjE,kEAAiE;AACjE,4DAA8D;AAC9D,kDAAyD;AACzD,kEAAiE;AAGjE,kBAAe,aAAG,CAAC,MAAM,CAAyC;IAChE,EAAE,EAAuB,aAAG,CAAC,MAAM,EAAE;IAErC,WAAW,EAAc,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;IACrD,GAAG,EAAsB,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;IACjD,KAAK,EAAoB,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,mDAAmD,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;IAC5H,OAAO,EAAkB,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;IACrD,cAAc,EAAW,aAAG,CAAC,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,CAAC,CAAC;SACX,OAAO,EAAE;SACT,KAAK,CAAC,IAAI,CAAC;IACxC,kBAAkB,EAAO,aAAG,CAAC,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,KAAK,CAAC,IAAI,CAAC;IACxC,YAAY,EAAa;QACE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5B,aAAG,CAAC,MAAM,CAAC;YACG,EAAE,EAAE,aAAG,CAAC,MAAM,EAAE;SACjB,CAAC;KAEf;IAC1B,cAAc,EAAW;QACC,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5B,aAAG,CAAC,MAAM,CAAC;YACG,EAAE,EAAE,aAAG,CAAC,MAAM,EAAE;SACjB,CAAC;KACf;IACzB,qBAAqB,EAAG,aAAG,CAAC,MAAM,EAAE;SACR,KAAK,CAAC,IAAI,CAAC;SACX,QAAQ,CAAC,CAAC,CAAC;SACX,OAAO,EAAE;SACT,GAAG,CAAC,CAAC,CAAC;IAClC,WAAW,EAAa,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,sBAAW,CAAC;IACtD,SAAS,EAAe;QACE,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACjC,aAAG,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAS,CAAC;QACtC,aAAG,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,aAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAS,CAAC;KACzD;IACzB,cAAc,EAAU,sBAAY;IACpC,IAAI,EAAoB,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,cAAK,CAAC;IAChD,kBAAkB,EAAM,cAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;IACrD,MAAM,EAAgB;QACE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;QACxB,aAAG,CAAC,MAAM,CAAC;YACG,EAAE,EAAE,aAAG,CAAC,MAAM,EAAE;SACjB,CAAC;KACf;IACvB,MAAM,EAAgB,aAAG,CAAC,KAAK,EAAE;SACP,KAAK,CACH,aAAG,CAAC,MAAM,EAAE,EACZ,aAAG,CAAC,MAAM,CAAC;QACG,EAAE,EAAE,aAAG,CAAC,MAAM,EAAE;KACjB,CAAC,CACjB;IACzB,QAAQ,EAAc,aAAG,CAAC,KAAK,EAAE;SACP,KAAK,CACJ,aAAG,CAAC,MAAM,CAAC;QACT,EAAE,EAAE;YACE,aAAG,CAAC,MAAM,CAAC;gBACC,EAAE,EAAW,aAAG,CAAC,MAAM,EAAE;aAC1B,CAAC;YACZ,aAAG,CAAC,MAAM,EAAE;SACjB;QACD,UAAU,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KAC1C,CAAC,CACJ;IACvB,MAAM,EAAgB,aAAG,CAAC,KAAK,EAAE;SACP,KAAK,CACJ,aAAG,CAAC,MAAM,CAAC;QACT,EAAE,EAAE;YACE,aAAG,CAAC,MAAM,CAAC;gBACC,EAAE,EAAW,aAAG,CAAC,MAAM,EAAE;aAC1B,CAAC;YACZ,aAAG,CAAC,MAAM,EAAE;SACjB;QACD,OAAO,EAAE,aAAG,CAAC,KAAK,EAAE;aACjB,KAAK,CACF,aAAG,CAAC,MAAM,CAAC;YACC,EAAE,EAAW,aAAG,CAAC,MAAM,EAAE;SAC1B,CAAC,EACZ,aAAG,CAAC,MAAM,EAAE,CACjB;QACD,OAAO,EAAE,aAAG,CAAC,KAAK,EAAE;aACjB,KAAK,CACF,aAAG,CAAC,MAAM,CAAC;YACC,EAAE,EAAW,aAAG,CAAC,MAAM,EAAE;SAC1B,CAAC,EACZ,aAAG,CAAC,MAAM,EAAE,CACjB;QACD,UAAU,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KAC1C,CAAC,CACR;IACvB,YAAY,EAAM,aAAG,CAAC,KAAK,EAAE;SACP,KAAK,CAAC,IAAI,CAAC;SACX,KAAK,CACJ,aAAG,CAAC,MAAM,CAAC;QACT,EAAE,EAAE;YACE,aAAG,CAAC,MAAM,CAAC;gBACC,EAAE,EAAW,aAAG,CAAC,MAAM,EAAE;aAC1B,CAAC;YACZ,aAAG,CAAC,MAAM,EAAE;SACjB;QACD,UAAU,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KAC1C,CAAC,CACJ;IACrB,SAAS,EAAe,aAAG,CAAC,KAAK,EAAE;SACP,KAAK,CACL,aAAG,CAAC,MAAM,CAAC;QACR,IAAI,EAAQ,aAAG,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACzC,UAAU,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACzC,SAAS,EAAG,aAAG,CAAC,KAAK,EAAE;aACP,KAAK,CAAC,aAAG,CAAC,MAAM,CAAC;YACE,EAAE,EAAW,aAAG,CAAC,MAAM,EAAE;SAC1B,CAAC,EACZ,aAAG,CAAC,MAAM,EAAE,CACnB;KACjB,CAAC,CAEH;CAC7B,CAAC,CAAC"}
1
+ {"version":3,"file":"courses.js","sourceRoot":"","sources":["../../src/validators/courses.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const joi_1 = __importDefault(require("joi"));
7
7
  const time_1 = __importDefault(require("../common/time"));
8
8
  const locked_times_1 = __importDefault(require("./locked-times"));
9
+ const periods_1 = __importDefault(require("./periods"));
9
10
  exports.default = joi_1.default.object({
10
11
  id: joi_1.default.string(),
11
12
  dayStart: time_1.default.isTime(),
@@ -68,9 +69,7 @@ exports.default = joi_1.default.object({
68
69
  .items(locked_times_1.default),
69
70
  period: [
70
71
  joi_1.default.string().allow(null),
71
- joi_1.default.object({
72
- id: joi_1.default.string()
73
- })
72
+ periods_1.default
74
73
  ],
75
74
  requireForcedOverlappingEventsSets: joi_1.default.boolean(),
76
75
  });
@@ -1 +1 @@
1
- {"version":3,"file":"division-settings.js","sourceRoot":"","sources":["../../src/validators/division-settings.ts"],"names":[],"mappings":";;;;;AAAA,8CAAsD;AAGtD,0DAAiE;AAEjE,kEAAiE;AAEjE,kBAAe,aAAG,CAAC,MAAM,CAAmD;IAC1E,EAAE,EAAc,aAAG,CAAC,MAAM,EAAE;IAE5B,QAAQ,EAAQ,cAAQ,CAAC,MAAM,EAAE;IACjC,MAAM,EAAU,cAAQ,CAAC,MAAM,EAAE;SACR,OAAO,CAAC,aAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACrD,cAAc,EAAE,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,QAAQ,CAAC,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,CAAC;IAC1B,eAAe,EAAE,cAAQ,CAAC,MAAM,EAAE;IAClC,OAAO,EAAE,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,GAAG,CAAC,CAAC,CAAC;IACnB,yBAAyB,EAAE,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;IACvC,8BAA8B,EAAE,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;IAC3C,8BAA8B,EAAE,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,QAAQ,CAAC,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,CAAC;IAC1C,mCAAmC,EAAE,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,QAAQ,CAAC,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,CAAC;IAC/C,8BAA8B,EAAE,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,QAAQ,CAAC,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,CAAC;IAC1C,4BAA4B,EAAI,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,QAAQ,CAAC,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,CAAC;IAC1C,cAAc,EAAE,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,GAAG,CAAC,CAAC,CAAC;IAC1B,qBAAqB,EAAE,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,GAAG,CAAC,CAAC,CAAC;IACjC,gBAAgB,EAAE,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,GAAG,CAAC,CAAC,CAAC;IAC5B,mBAAmB,EAAE,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,GAAG,CAAC,CAAC,CAAC;IAC/B,kBAAkB,EAAE,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,GAAG,CAAC,CAAC,CAAC;IAC9B,kBAAkB,EAAE,aAAG,CAAC,MAAM,EAAE;SACP,OAAO,EAAE;SACT,GAAG,CAAC,CAAC,CAAC;IAC/B,mBAAmB,EAAE,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,GAAG,CAAC,CAAC,CAAC;IAC/B,YAAY,EAAS,aAAG,CAAC,KAAK,EAAE;SACP,KAAK,CAAC,sBAAW,CAAC;IAC3C,MAAM,EAAe;QACG,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;QACxB,aAAG,CAAC,MAAM,CAAC;YACG,EAAE,EAAE,aAAG,CAAC,MAAM,EAAE;SACjB,CAAC;KACf;IAEvB,kCAAkC,EAAE,aAAG,CAAC,OAAO,EAAE;CAClD,CAAC,CAAC"}
1
+ {"version":3,"file":"division-settings.js","sourceRoot":"","sources":["../../src/validators/division-settings.ts"],"names":[],"mappings":";;;;;AAAA,8CAAsD;AAGtD,0DAAiE;AAEjE,kEAAiE;AACjE,wDAA4D;AAE5D,kBAAe,aAAG,CAAC,MAAM,CAAmD;IAC1E,EAAE,EAAc,aAAG,CAAC,MAAM,EAAE;IAE5B,QAAQ,EAAQ,cAAQ,CAAC,MAAM,EAAE;IACjC,MAAM,EAAU,cAAQ,CAAC,MAAM,EAAE;SACR,OAAO,CAAC,aAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACrD,cAAc,EAAE,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,QAAQ,CAAC,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,CAAC;IAC1B,eAAe,EAAE,cAAQ,CAAC,MAAM,EAAE;IAClC,OAAO,EAAE,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,GAAG,CAAC,CAAC,CAAC;IACnB,yBAAyB,EAAE,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;IACvC,8BAA8B,EAAE,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;IAC3C,8BAA8B,EAAE,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,QAAQ,CAAC,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,CAAC;IAC1C,mCAAmC,EAAE,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,QAAQ,CAAC,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,CAAC;IAC/C,8BAA8B,EAAE,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,QAAQ,CAAC,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,CAAC;IAC1C,4BAA4B,EAAI,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,QAAQ,CAAC,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,CAAC;IAC1C,cAAc,EAAE,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,GAAG,CAAC,CAAC,CAAC;IAC1B,qBAAqB,EAAE,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,GAAG,CAAC,CAAC,CAAC;IACjC,gBAAgB,EAAE,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,GAAG,CAAC,CAAC,CAAC;IAC5B,mBAAmB,EAAE,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,GAAG,CAAC,CAAC,CAAC;IAC/B,kBAAkB,EAAE,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,GAAG,CAAC,CAAC,CAAC;IAC9B,kBAAkB,EAAE,aAAG,CAAC,MAAM,EAAE;SACP,OAAO,EAAE;SACT,GAAG,CAAC,CAAC,CAAC;IAC/B,mBAAmB,EAAE,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,GAAG,CAAC,CAAC,CAAC;IAC/B,YAAY,EAAS,aAAG,CAAC,KAAK,EAAE;SACP,KAAK,CAAC,sBAAW,CAAC;IAC3C,MAAM,EAAe;QACG,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;QACxB,iBAAO;KACR;IAEvB,kCAAkC,EAAE,aAAG,CAAC,OAAO,EAAE;CAClD,CAAC,CAAC"}
@@ -13,9 +13,6 @@ exports.default = joi_1.default.object({
13
13
  end: date_1.default.isDate().greater(joi_1.default.ref('start')),
14
14
  running: [
15
15
  joi_1.default.string().allow(null),
16
- joi_1.default.object({
17
- id: joi_1.default.string()
18
- }),
19
16
  generations_1.default
20
17
  ]
21
18
  });
@@ -1 +1 @@
1
- {"version":3,"file":"divisions.js","sourceRoot":"","sources":["../../src/validators/divisions.ts"],"names":[],"mappings":";;;;;AAAA,8CAAsD;AAGtD,0DAAiE;AACjE,gEAAgE;AAChE,kBAAe,aAAG,CAAC,MAAM,CAA6C;IACpE,EAAE,EAAW,aAAG,CAAC,MAAM,EAAE;IAEzB,WAAW,EAAE,aAAG,CAAC,MAAM,EAAE;IAEzB,KAAK,EAAQ,cAAQ,CAAC,MAAM,EAAE;IAC9B,GAAG,EAAU,cAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,aAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAExD,OAAO,EAAK;QACE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;QACxB,aAAG,CAAC,MAAM,CAAC;YACG,EAAE,EAAE,aAAG,CAAC,MAAM,EAAE;SACjB,CAAC;QACd,qBAAW;KACZ;CACd,CAAC,CAAC"}
1
+ {"version":3,"file":"divisions.js","sourceRoot":"","sources":["../../src/validators/divisions.ts"],"names":[],"mappings":";;;;;AAAA,8CAAsD;AAGtD,0DAAiE;AACjE,gEAAgE;AAEhE,kBAAe,aAAG,CAAC,MAAM,CAA6C;IACpE,EAAE,EAAW,aAAG,CAAC,MAAM,EAAE;IAEzB,WAAW,EAAE,aAAG,CAAC,MAAM,EAAE;IAEzB,KAAK,EAAQ,cAAQ,CAAC,MAAM,EAAE;IAC9B,GAAG,EAAU,cAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,aAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAExD,OAAO,EAAK;QACE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;QACxB,qBAAW;KACZ;CACd,CAAC,CAAC"}
@@ -4,16 +4,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const joi_1 = __importDefault(require("joi"));
7
- const locked_times_1 = __importDefault(require("./locked-times"));
7
+ const util_1 = require("../common/util");
8
8
  const intervals_1 = __importDefault(require("./intervals"));
9
9
  const break_length_1 = __importDefault(require("./break-length"));
10
10
  const days_1 = __importDefault(require("./days"));
11
+ const persons_1 = __importDefault(require("./persons"));
12
+ const root_intervals_1 = __importDefault(require("./root-intervals"));
11
13
  exports.default = joi_1.default.object({
12
14
  id: joi_1.default.string(),
13
15
  displayName: joi_1.default.string().allow(null, ''),
14
16
  ids: joi_1.default.string().allow(null),
15
- lockedTimes: joi_1.default.array().items(locked_times_1.default),
16
- lunch: joi_1.default.array().items(locked_times_1.default).allow(null),
17
+ lockedTimes: joi_1.default.array().items(joi_1.default.custom(util_1.Util.functions.schemaWrapper(require('./locked-times')))),
18
+ lunch: joi_1.default.array().items(joi_1.default.custom(util_1.Util.functions.schemaWrapper(require('./locked-times')))).allow(null),
17
19
  intervals: [
18
20
  joi_1.default.array().allow(null).length(0),
19
21
  joi_1.default.array().length(1).items(intervals_1.default),
@@ -21,16 +23,12 @@ exports.default = joi_1.default.object({
21
23
  ],
22
24
  rootInterval: [
23
25
  joi_1.default.string().allow(null),
24
- joi_1.default.object({
25
- id: joi_1.default.string()
26
- })
26
+ root_intervals_1.default
27
27
  ],
28
28
  minBreakLength: break_length_1.default,
29
29
  days: joi_1.default.array().items(days_1.default),
30
30
  members: joi_1.default.array()
31
- .items(joi_1.default.object({
32
- id: joi_1.default.string()
33
- }), joi_1.default.string()),
31
+ .items(persons_1.default, joi_1.default.string()),
34
32
  forbidOverlappingEvents: joi_1.default.boolean(),
35
33
  disableDayLengthPunishment: joi_1.default.boolean(),
36
34
  maxNumWorkingHours: joi_1.default.number()
@@ -1 +1 @@
1
- {"version":3,"file":"groups.js","sourceRoot":"","sources":["../../src/validators/groups.ts"],"names":[],"mappings":";;;;;AAAA,8CAAsD;AAGtD,kEAAiE;AACjE,4DAA8D;AAC9D,kEAAiE;AACjE,kDAAyD;AAEzD,kBAAe,aAAG,CAAC,MAAM,CAA+C;IACtE,EAAE,EAA0B,aAAG,CAAC,MAAM,EAAE;IAExC,WAAW,EAAiB,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;IACxD,GAAG,EAAyB,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;IAEpD,WAAW,EAAiB,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,sBAAW,CAAC;IAC1D,KAAK,EAAuB,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,sBAAW,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;IACtE,SAAS,EAAmB;QACG,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACjC,aAAG,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAS,CAAC;QACtC,aAAG,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,aAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAS,CAAC;KAC1D;IAC5B,YAAY,EAAe;QACG,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;QACxB,aAAG,CAAC,MAAM,CAAC;YACI,EAAE,EAAE,aAAG,CAAC,MAAM,EAAE;SAClB,CAAC;KAChB;IAC7B,cAAc,EAAc,sBAAY;IACxC,IAAI,EAAwB,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,cAAK,CAAC;IACpD,OAAO,EAAqB,aAAG,CAAC,KAAK,EAAE;SACP,KAAK,CACG,aAAG,CAAC,MAAM,CAAC;QACC,EAAE,EAAW,aAAG,CAAC,MAAM,EAAE;KACxB,CAAC,EACd,aAAG,CAAC,MAAM,EAAE,CACd;IACtC,uBAAuB,EAAK,aAAG,CAAC,OAAO,EAAE;IACzC,0BAA0B,EAAE,aAAG,CAAC,OAAO,EAAE;IACzC,kBAAkB,EAAU,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,GAAG,CAAC,CAAC,CAAC;IACtC,uBAAuB,EAAI;QACG,aAAG,CAAC,MAAM,EAAE;aACR,OAAO,EAAE;aACT,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,EAAE,CAAC;QACX,aAAG,CAAC,KAAK,EAAE;aACP,KAAK,CACJ,aAAG,CAAC,MAAM,EAAE;aACR,OAAO,EAAE;aACT,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,EAAE,CAAC,CACZ;KACL;IAC7B,MAAM,EAAsB,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,GAAG,CAAC,CAAC,CAAC;IACtC,IAAI,EAAwB,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,GAAG,CAAC,CAAC,CAAC;CACvC,CAAC,CAAC"}
1
+ {"version":3,"file":"groups.js","sourceRoot":"","sources":["../../src/validators/groups.ts"],"names":[],"mappings":";;;;;AAAA,8CAAsD;AAGtD,yCAAiE;AAEjE,4DAA8D;AAC9D,kEAAiE;AACjE,kDAAyD;AACzD,wDAA4D;AAC5D,sEAAmE;AAEnE,kBAAe,aAAG,CAAC,MAAM,CAA+C;IACtE,EAAE,EAA0B,aAAG,CAAC,MAAM,EAAE;IAExC,WAAW,EAAiB,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;IACxD,GAAG,EAAyB,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;IAEpD,WAAW,EAAiB,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,aAAG,CAAC,MAAM,CAAC,WAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAClH,KAAK,EAAuB,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,aAAG,CAAC,MAAM,CAAC,WAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;IAC9H,SAAS,EAAmB;QACG,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACjC,aAAG,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAS,CAAC;QACtC,aAAG,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,aAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAS,CAAC;KAC1D;IAC5B,YAAY,EAAe;QACG,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;QACxB,wBAAa;KACf;IAC7B,cAAc,EAAc,sBAAY;IACxC,IAAI,EAAwB,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,cAAK,CAAC;IACpD,OAAO,EAAqB,aAAG,CAAC,KAAK,EAAE;SACP,KAAK,CACG,iBAAO,EACP,aAAG,CAAC,MAAM,EAAE,CACd;IACtC,uBAAuB,EAAK,aAAG,CAAC,OAAO,EAAE;IACzC,0BAA0B,EAAE,aAAG,CAAC,OAAO,EAAE;IACzC,kBAAkB,EAAU,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,GAAG,CAAC,CAAC,CAAC;IACtC,uBAAuB,EAAI;QACG,aAAG,CAAC,MAAM,EAAE;aACR,OAAO,EAAE;aACT,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,EAAE,CAAC;QACX,aAAG,CAAC,KAAK,EAAE;aACP,KAAK,CACJ,aAAG,CAAC,MAAM,EAAE;aACR,OAAO,EAAE;aACT,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,EAAE,CAAC,CACZ;KACL;IAC7B,MAAM,EAAsB,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,GAAG,CAAC,CAAC,CAAC;IACtC,IAAI,EAAwB,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,GAAG,CAAC,CAAC,CAAC;CACvC,CAAC,CAAC"}
@@ -4,14 +4,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const joi_1 = __importDefault(require("joi"));
7
- const locked_times_1 = __importDefault(require("./locked-times"));
7
+ const util_1 = require("../common/util");
8
8
  const break_length_1 = __importDefault(require("./break-length"));
9
9
  const days_1 = __importDefault(require("./days"));
10
10
  exports.default = joi_1.default.object({
11
11
  id: joi_1.default.string(),
12
12
  displayName: joi_1.default.string().allow(null, ''),
13
13
  ids: joi_1.default.string().allow(null),
14
- lockedTimes: joi_1.default.array().items(locked_times_1.default),
14
+ lockedTimes: joi_1.default.array().items(joi_1.default.custom(util_1.Util.functions.schemaWrapper(require('./locked-times')))),
15
+ lunch: joi_1.default.array().items(joi_1.default.custom(util_1.Util.functions.schemaWrapper(require('./locked-times')))).allow(null),
15
16
  minBreakLength: break_length_1.default,
16
17
  days: joi_1.default.array().items(days_1.default)
17
18
  });
@@ -1 +1 @@
1
- {"version":3,"file":"locations.js","sourceRoot":"","sources":["../../src/validators/locations.ts"],"names":[],"mappings":";;;;;AAAA,8CAAsD;AAGtD,kEAAiE;AAEjE,kEAAiE;AACjE,kDAAyD;AAEzD,kBAAe,aAAG,CAAC,MAAM,CAA2C;IAClE,EAAE,EAAe,aAAG,CAAC,MAAM,EAAE;IAE7B,WAAW,EAAM,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;IAC7C,GAAG,EAAc,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;IAEzC,WAAW,EAAM,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,sBAAW,CAAC;IAC/C,cAAc,EAAG,sBAAY;IAC7B,IAAI,EAAa,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,cAAK,CAAC;CAC1C,CAAC,CAAC"}
1
+ {"version":3,"file":"locations.js","sourceRoot":"","sources":["../../src/validators/locations.ts"],"names":[],"mappings":";;;;;AAAA,8CAAsD;AAGtD,yCAAiE;AAGjE,kEAAiE;AACjE,kDAAyD;AAEzD,kBAAe,aAAG,CAAC,MAAM,CAA2C;IAClE,EAAE,EAAe,aAAG,CAAC,MAAM,EAAE;IAE7B,WAAW,EAAM,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;IAC7C,GAAG,EAAc,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;IAEzC,WAAW,EAAG,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,aAAG,CAAC,MAAM,CAAC,WAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACpG,KAAK,EAAS,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,aAAG,CAAC,MAAM,CAAC,WAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;IAChH,cAAc,EAAG,sBAAY;IAC7B,IAAI,EAAa,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,cAAK,CAAC;CAC1C,CAAC,CAAC"}
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const joi_1 = __importDefault(require("joi"));
7
+ const util_1 = require("../common/util");
7
8
  const date_1 = __importDefault(require("../common/date"));
8
9
  const intervals_1 = __importDefault(require("./intervals"));
9
10
  const collections = ['courses', 'locations', 'courseevents', 'events', 'groups', 'teachers', 'persons'];
@@ -31,7 +32,12 @@ exports.default = joi_1.default.object({
31
32
  .items(joi_1.default.object({
32
33
  to: [
33
34
  joi_1.default.string(),
34
- joi_1.default.object({ id: joi_1.default.string() })
35
+ joi_1.default.custom(util_1.Util.functions.schemaWrapper(require('./course-events'))),
36
+ joi_1.default.custom(util_1.Util.functions.schemaWrapper(require('./courses'))),
37
+ joi_1.default.custom(util_1.Util.functions.schemaWrapper(require('./locations'))),
38
+ joi_1.default.custom(util_1.Util.functions.schemaWrapper(require('./groups'))),
39
+ joi_1.default.custom(util_1.Util.functions.schemaWrapper(require('./persons'))),
40
+ joi_1.default.custom(util_1.Util.functions.schemaWrapper(require('./teachers'))),
35
41
  ],
36
42
  toModel: joi_1.default.string().valid(...collections)
37
43
  }))
@@ -1 +1 @@
1
- {"version":3,"file":"locked-times.js","sourceRoot":"","sources":["../../src/validators/locked-times.ts"],"names":[],"mappings":";;;;;AAAA,8CAAsD;AAItD,0DAAiE;AACjE,4DAA8D;AAE9D,MAAM,WAAW,GAAa,CAAC,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;AAElH,kBAAe,aAAG,CAAC,MAAM,CAA6C;IACpE,EAAE,EAAW,aAAG,CAAC,MAAM,EAAE;IAEzB,WAAW,EAAO,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;IAC9C,KAAK,EAAa,cAAQ,CAAC,MAAM,EAAE;IACnC,GAAG,EAAe,cAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,aAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACzE,SAAS,EAAS;QACI,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACjC,aAAG,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAS,CAAC;QACtC,aAAG,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,aAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAS,CAAC;KAC3D;IACnB,QAAQ,EAAU,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,QAAQ,CAAC,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,CAAC;IAC5B,gBAAgB,EAAE,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,QAAQ,CAAC,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,CAAC;SACN,KAAK,CAAC,IAAI,CAAC;IACjC,IAAI,EAAc,aAAG,CAAC,MAAM,EAAE;IAC9B,SAAS,EAAS,aAAG,CAAC,KAAK,EAAE;SACT,KAAK,CACJ,aAAG,CAAC,MAAM,CAAC;QACT,EAAE,EAAO;YACE,aAAG,CAAC,MAAM,EAAE;YACZ,aAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,aAAG,CAAC,MAAM,EAAE,EAAE,CAAC;SACjC;QACV,OAAO,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC;KAC5C,CAAC,CACH;CACrB,CAAC,CAAC"}
1
+ {"version":3,"file":"locked-times.js","sourceRoot":"","sources":["../../src/validators/locked-times.ts"],"names":[],"mappings":";;;;;AAAA,8CAAsD;AAItD,yCAAiE;AACjE,0DAAiE;AAEjE,4DAA8D;AAE9D,MAAM,WAAW,GAAa,CAAC,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;AAElH,kBAAe,aAAG,CAAC,MAAM,CAA6C;IACpE,EAAE,EAAW,aAAG,CAAC,MAAM,EAAE;IAEzB,WAAW,EAAO,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;IAC9C,KAAK,EAAa,cAAQ,CAAC,MAAM,EAAE;IACnC,GAAG,EAAe,cAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,aAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACzE,SAAS,EAAS;QACI,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACjC,aAAG,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAS,CAAC;QACtC,aAAG,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,aAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAS,CAAC;KAC3D;IACnB,QAAQ,EAAU,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,QAAQ,CAAC,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,CAAC;IAC5B,gBAAgB,EAAE,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,QAAQ,CAAC,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,CAAC;SACN,KAAK,CAAC,IAAI,CAAC;IACjC,IAAI,EAAc,aAAG,CAAC,MAAM,EAAE;IAC9B,SAAS,EAAS,aAAG,CAAC,KAAK,EAAE;SACV,KAAK,CACJ,aAAG,CAAC,MAAM,CAAC;QACT,EAAE,EAAE;YACF,aAAG,CAAC,MAAM,EAAE;YACZ,aAAG,CAAC,MAAM,CAAC,WAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;YACpE,aAAG,CAAC,MAAM,CAAC,WAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;YAC9D,aAAG,CAAC,MAAM,CAAC,WAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;YAChE,aAAG,CAAC,MAAM,CAAC,WAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;YAC7D,aAAG,CAAC,MAAM,CAAC,WAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;YAC9D,aAAG,CAAC,MAAM,CAAC,WAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;SAChE;QACA,OAAO,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC;KAC5C,CAAC,CACH;CACrB,CAAC,CAAC"}
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const joi_1 = __importDefault(require("joi"));
7
7
  const nanoid_1 = require("nanoid");
8
- const courses_1 = __importDefault(require("./courses"));
8
+ const util_1 = require("../common/util");
9
9
  exports.default = joi_1.default.object({
10
10
  id: joi_1.default.string().default(() => (0, nanoid_1.nanoid)(8)),
11
11
  ids: joi_1.default.string().allow(null),
@@ -13,7 +13,7 @@ exports.default = joi_1.default.object({
13
13
  .items(joi_1.default.object({
14
14
  to: [
15
15
  joi_1.default.string(),
16
- courses_1.default
16
+ joi_1.default.custom(util_1.Util.functions.schemaWrapper(require('./courses'))),
17
17
  ],
18
18
  toModel: joi_1.default.string().valid('courses')
19
19
  })),
@@ -21,7 +21,8 @@ exports.default = joi_1.default.object({
21
21
  .items(joi_1.default.object({
22
22
  to: [
23
23
  joi_1.default.string(),
24
- courses_1.default
24
+ joi_1.default.custom(util_1.Util.functions.schemaWrapper(require('./course-events'))),
25
+ joi_1.default.custom(util_1.Util.functions.schemaWrapper(require('./courses'))),
25
26
  ],
26
27
  toModel: joi_1.default.string().valid('events', 'courseevents'),
27
28
  id: joi_1.default.string(),
@@ -1 +1 @@
1
- {"version":3,"file":"overlap-groups.js","sourceRoot":"","sources":["../../src/validators/overlap-groups.ts"],"names":[],"mappings":";;;;;AAAA,8CAAsD;AACtD,mCAAyD;AAKzD,wDAA4D;AAE5D,kBAAe,aAAG,CAAC,MAAM,CAA+C;IACtE,EAAE,EAAW,aAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAA,eAAM,EAAC,CAAC,CAAC,CAAC;IAElD,GAAG,EAAU,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;IACrC,SAAS,EAAI,aAAG,CAAC,KAAK,EAAE;SACP,KAAK,CACJ,aAAG,CAAC,MAAM,CAAC;QACT,EAAE,EAAO;YACE,aAAG,CAAC,MAAM,EAAE;YACZ,iBAAO;SACR;QACV,OAAO,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;KACvC,CAAC,CACH;IACjB,OAAO,EAAM,aAAG,CAAC,KAAK,EAAE;SACP,KAAK,CACJ,aAAG,CAAC,MAAM,CAAC;QACT,EAAE,EAAO;YACE,aAAG,CAAC,MAAM,EAAE;YACZ,iBAAO;SACR;QACV,OAAO,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,cAAc,CAAC;QACrD,EAAE,EAAO,aAAG,CAAC,MAAM,EAAE;KACtB,CAAC,CACH;CAClB,CAAC,CAAC"}
1
+ {"version":3,"file":"overlap-groups.js","sourceRoot":"","sources":["../../src/validators/overlap-groups.ts"],"names":[],"mappings":";;;;;AAAA,8CAAsD;AAEtD,mCAAyD;AAGzD,yCAAiE;AAEjE,kBAAe,aAAG,CAAC,MAAM,CAA+C;IACtE,EAAE,EAAW,aAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAA,eAAM,EAAC,CAAC,CAAC,CAAC;IAElD,GAAG,EAAU,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;IACrC,SAAS,EAAI,aAAG,CAAC,KAAK,EAAE;SACP,KAAK,CACJ,aAAG,CAAC,MAAM,CAAC;QACT,EAAE,EAAE;YACF,aAAG,CAAC,MAAM,EAAE;YACZ,aAAG,CAAC,MAAM,CAAC,WAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;SAC/D;QACD,OAAO,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;KACvC,CAAC,CACH;IACjB,OAAO,EAAM,aAAG,CAAC,KAAK,EAAE;SACP,KAAK,CACJ,aAAG,CAAC,MAAM,CAAC;QACT,EAAE,EAAE;YACF,aAAG,CAAC,MAAM,EAAE;YACZ,aAAG,CAAC,MAAM,CAAC,WAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;YACpE,aAAG,CAAC,MAAM,CAAC,WAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;SAC/D;QACD,OAAO,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,cAAc,CAAC;QACrD,EAAE,EAAO,aAAG,CAAC,MAAM,EAAE;KACtB,CAAC,CACH;CAClB,CAAC,CAAC"}
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const joi_1 = __importDefault(require("joi"));
7
- const locked_times_1 = __importDefault(require("./locked-times"));
7
+ const util_1 = require("../common/util");
8
8
  exports.default = joi_1.default.object({
9
9
  id: joi_1.default.string(),
10
10
  displayName: joi_1.default.string().allow(null, ''),
@@ -30,8 +30,8 @@ exports.default = joi_1.default.object({
30
30
  type: joi_1.default.string()
31
31
  })),
32
32
  ],
33
- lockedTimes: joi_1.default.array().items(locked_times_1.default),
34
- lunch: joi_1.default.array().items(locked_times_1.default).allow(null),
33
+ lockedTimes: joi_1.default.array().items(joi_1.default.custom(util_1.Util.functions.schemaWrapper(require('./locked-times')))),
34
+ lunch: joi_1.default.array().items(joi_1.default.custom(util_1.Util.functions.schemaWrapper(require('./locked-times')))).allow(null),
35
35
  group: [
36
36
  joi_1.default.string().allow(null),
37
37
  joi_1.default.object({
@@ -1 +1 @@
1
- {"version":3,"file":"persons.js","sourceRoot":"","sources":["../../src/validators/persons.ts"],"names":[],"mappings":";;;;;AAAA,8CAAsD;AAGtD,kEAAiE;AAEjE,kBAAe,aAAG,CAAC,MAAM,CAAyC;IAChE,EAAE,EAA0B,aAAG,CAAC,MAAM,EAAE;IAExC,WAAW,EAAiB,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;IACxD,GAAG,EAAyB,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;IACpD,QAAQ,EAAoB,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;IACpD,SAAS,EAAmB,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;IACpD,GAAG,EAAyB,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;IAC1E,GAAG,EAAyB,aAAG,CAAC,MAAM,CAAC;QACT,KAAK,EAAE,aAAG,CAAC,MAAM,EAAE;QACnB,WAAW,EAAE,aAAG,CAAC,MAAM,EAAE;KAC1B,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;IAC1C,MAAM,EAAsB;QACE,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACjE,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,aAAG,CAAC,MAAM,CAAC;YAC3B,KAAK,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;YACrD,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE;SACnB,CAAC,CAAC;KACJ;IAC7B,YAAY,EAAgB;QACE,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,aAAG,CAAC,MAAM,EAAE,CAAC;QAC/B,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,aAAG,CAAC,MAAM,CAAC;YAC3B,KAAK,EAAE,aAAG,CAAC,MAAM,EAAE;YACnB,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE;SACnB,CAAC,CAAC;KACJ;IAE7B,WAAW,EAAiB,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,sBAAW,CAAC;IAC1D,KAAK,EAAuB,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,sBAAW,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;IAEtE,KAAK,EAAuB;QACE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;QACxB,aAAG,CAAC,MAAM,CAAC;YACG,EAAE,EAAE,aAAG,CAAC,MAAM,EAAE;SACjB,CAAC;KACf;CAC9B,CAAC,CAAC"}
1
+ {"version":3,"file":"persons.js","sourceRoot":"","sources":["../../src/validators/persons.ts"],"names":[],"mappings":";;;;;AAAA,8CAAsD;AAGtD,yCAAiE;AAEjE,kBAAe,aAAG,CAAC,MAAM,CAAyC;IAChE,EAAE,EAA0B,aAAG,CAAC,MAAM,EAAE;IAExC,WAAW,EAAiB,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;IACxD,GAAG,EAAyB,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;IACpD,QAAQ,EAAoB,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;IACpD,SAAS,EAAmB,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;IACpD,GAAG,EAAyB,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;IAC1E,GAAG,EAAyB,aAAG,CAAC,MAAM,CAAC;QACT,KAAK,EAAE,aAAG,CAAC,MAAM,EAAE;QACnB,WAAW,EAAE,aAAG,CAAC,MAAM,EAAE;KAC1B,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;IAC1C,MAAM,EAAsB;QACE,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACjE,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,aAAG,CAAC,MAAM,CAAC;YAC3B,KAAK,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;YACrD,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE;SACnB,CAAC,CAAC;KACJ;IAC7B,YAAY,EAAgB;QACE,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,aAAG,CAAC,MAAM,EAAE,CAAC;QAC/B,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,aAAG,CAAC,MAAM,CAAC;YAC3B,KAAK,EAAE,aAAG,CAAC,MAAM,EAAE;YACnB,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE;SACnB,CAAC,CAAC;KACJ;IAE7B,WAAW,EAAiB,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,aAAG,CAAC,MAAM,CAAC,WAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAClH,KAAK,EAAuB,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,aAAG,CAAC,MAAM,CAAC,WAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;IAE9H,KAAK,EAAuB;QACE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;QACxB,aAAG,CAAC,MAAM,CAAC;YACG,EAAE,EAAE,aAAG,CAAC,MAAM,EAAE;SACjB,CAAC;KACf;CAC9B,CAAC,CAAC"}
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const joi_1 = __importDefault(require("joi"));
7
- const locked_times_1 = __importDefault(require("./locked-times"));
7
+ const util_1 = require("../common/util");
8
8
  const intervals_1 = __importDefault(require("./intervals"));
9
9
  const break_length_1 = __importDefault(require("./break-length"));
10
10
  const days_1 = __importDefault(require("./days"));
@@ -12,8 +12,8 @@ exports.default = joi_1.default.object({
12
12
  id: joi_1.default.string(),
13
13
  displayName: joi_1.default.string().allow(null, ''),
14
14
  ids: joi_1.default.string().allow(null),
15
- lockedTimes: joi_1.default.array().items(locked_times_1.default),
16
- lunch: joi_1.default.array().items(locked_times_1.default).allow(null),
15
+ lockedTimes: joi_1.default.array().items(joi_1.default.custom(util_1.Util.functions.schemaWrapper(require('./locked-times')))),
16
+ lunch: joi_1.default.array().items(joi_1.default.custom(util_1.Util.functions.schemaWrapper(require('./locked-times')))).allow(null),
17
17
  intervals: [
18
18
  joi_1.default.array().allow(null).length(0),
19
19
  joi_1.default.array().length(1).items(intervals_1.default),
@@ -1 +1 @@
1
- {"version":3,"file":"teachers.js","sourceRoot":"","sources":["../../src/validators/teachers.ts"],"names":[],"mappings":";;;;;AAAA,8CAAsD;AAGtD,kEAAiE;AACjE,4DAA8D;AAC9D,kEAAiE;AACjE,kDAAyD;AAEzD,kBAAe,aAAG,CAAC,MAAM,CAA0C;IACjE,EAAE,EAA0B,aAAG,CAAC,MAAM,EAAE;IAExC,WAAW,EAAiB,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;IACxD,GAAG,EAAyB,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;IAEpD,WAAW,EAAiB,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,sBAAW,CAAC;IAC1D,KAAK,EAAuB,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,sBAAW,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;IACtE,SAAS,EAAmB;QACM,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACjC,aAAG,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAS,CAAC;QACtC,aAAG,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,aAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAS,CAAC;KAC7D;IAC7B,cAAc,EAAc,sBAAY;IACxC,IAAI,EAAwB,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,cAAK,CAAC;IAEpD,uBAAuB,EAAK,aAAG,CAAC,OAAO,EAAE;IACzC,0BAA0B,EAAE,aAAG,CAAC,OAAO,EAAE;IACzC,kBAAkB,EAAU,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,GAAG,CAAC,CAAC,CAAC;IACtC,uBAAuB,EAAI;QACG,aAAG,CAAC,MAAM,EAAE;aACR,OAAO,EAAE;aACT,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,EAAE,CAAC;QACX,aAAG,CAAC,KAAK,EAAE;aACP,KAAK,CACJ,aAAG,CAAC,MAAM,EAAE;aACR,OAAO,EAAE;aACT,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,EAAE,CAAC,CACZ;KACL;IAC7B,MAAM,EAAsB,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,GAAG,CAAC,CAAC,CAAC;IACtC,IAAI,EAAwB,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,GAAG,CAAC,CAAC,CAAC;CACvC,CAAC,CAAC"}
1
+ {"version":3,"file":"teachers.js","sourceRoot":"","sources":["../../src/validators/teachers.ts"],"names":[],"mappings":";;;;;AAAA,8CAAsD;AAGtD,yCAAiE;AAEjE,4DAA8D;AAC9D,kEAAiE;AACjE,kDAAyD;AAEzD,kBAAe,aAAG,CAAC,MAAM,CAA0C;IACjE,EAAE,EAA0B,aAAG,CAAC,MAAM,EAAE;IAExC,WAAW,EAAiB,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;IACxD,GAAG,EAAyB,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;IAEpD,WAAW,EAAiB,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,aAAG,CAAC,MAAM,CAAC,WAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAClH,KAAK,EAAuB,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,aAAG,CAAC,MAAM,CAAC,WAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;IAE9H,SAAS,EAAmB;QACM,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACjC,aAAG,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAS,CAAC;QACtC,aAAG,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,aAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAS,CAAC;KAC7D;IAC7B,cAAc,EAAc,sBAAY;IACxC,IAAI,EAAwB,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,cAAK,CAAC;IAEpD,uBAAuB,EAAK,aAAG,CAAC,OAAO,EAAE;IACzC,0BAA0B,EAAE,aAAG,CAAC,OAAO,EAAE;IACzC,kBAAkB,EAAU,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,GAAG,CAAC,CAAC,CAAC;IACtC,uBAAuB,EAAI;QACG,aAAG,CAAC,MAAM,EAAE;aACR,OAAO,EAAE;aACT,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,EAAE,CAAC;QACX,aAAG,CAAC,KAAK,EAAE;aACP,KAAK,CACJ,aAAG,CAAC,MAAM,EAAE;aACR,OAAO,EAAE;aACT,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,EAAE,CAAC,CACZ;KACL;IAC7B,MAAM,EAAsB,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,GAAG,CAAC,CAAC,CAAC;IACtC,IAAI,EAAwB,aAAG,CAAC,MAAM,EAAE;SACR,OAAO,EAAE;SACT,GAAG,CAAC,CAAC,CAAC;CACvC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@royalschedule/validators",
3
- "version": "1.2.6",
3
+ "version": "1.3.0",
4
4
  "description": "validators",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",