@royalschedule/validators 2.10.28 → 2.10.29
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.
- package/build/index.d.ts +1 -0
- package/build/index.js +2 -0
- package/build/index.js.map +1 -1
- package/build/validators/calendar-exceptions.d.ts +3 -0
- package/build/validators/calendar-exceptions.js +41 -0
- package/build/validators/calendar-exceptions.js.map +1 -0
- package/build/validators/linked-event-sets.d.ts +3 -0
- package/build/validators/linked-event-sets.js +33 -0
- package/build/validators/linked-event-sets.js.map +1 -0
- package/build/validators/syllabus.d.ts +3 -0
- package/build/validators/syllabus.js +19 -0
- package/build/validators/syllabus.js.map +1 -0
- package/package.json +1 -1
package/build/index.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export declare class Validate {
|
|
|
10
10
|
static Generation: import("joi").ObjectSchema<any>;
|
|
11
11
|
static Group: import("joi").ObjectSchema<any>;
|
|
12
12
|
static Interval: import("joi").ObjectSchema<import("@royalschedule/maps").CoreTypes.interval>;
|
|
13
|
+
static LinkedEventsSets: import("joi").ObjectSchema<any>;
|
|
13
14
|
static Location: import("joi").ObjectSchema<any>;
|
|
14
15
|
static LockedTime: import("joi").ObjectSchema<any>;
|
|
15
16
|
static OverlapGroup: import("joi").ObjectSchema<any>;
|
package/build/index.js
CHANGED
|
@@ -15,6 +15,7 @@ const divisions_1 = __importDefault(require("./validators/divisions"));
|
|
|
15
15
|
const generations_1 = __importDefault(require("./validators/generations"));
|
|
16
16
|
const groups_1 = __importDefault(require("./validators/groups"));
|
|
17
17
|
const intervals_1 = __importDefault(require("./validators/intervals"));
|
|
18
|
+
const linked_event_sets_1 = __importDefault(require("./validators/linked-event-sets"));
|
|
18
19
|
const locations_1 = __importDefault(require("./validators/locations"));
|
|
19
20
|
const locked_times_1 = __importDefault(require("./validators/locked-times"));
|
|
20
21
|
const overlap_groups_1 = __importDefault(require("./validators/overlap-groups"));
|
|
@@ -39,6 +40,7 @@ Validate.Division = divisions_1.default;
|
|
|
39
40
|
Validate.Generation = generations_1.default;
|
|
40
41
|
Validate.Group = groups_1.default;
|
|
41
42
|
Validate.Interval = intervals_1.default;
|
|
43
|
+
Validate.LinkedEventsSets = linked_event_sets_1.default;
|
|
42
44
|
Validate.Location = locations_1.default;
|
|
43
45
|
Validate.LockedTime = locked_times_1.default;
|
|
44
46
|
Validate.OverlapGroup = overlap_groups_1.default;
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,6EAA6E;AAC7E,yEAA2E;AAC3E,iFAA+E;AAC/E,+EAA8E;AAC9E,mEAAwE;AACxE,6DAAqE;AACrE,uFAAkF;AAClF,uEAA0E;AAC1E,2EAA4E;AAC5E,iEAAuE;AACvE,uEAA0E;AAC1E,uEAA0E;AAC1E,6EAA6E;AAC7E,iFAA+E;AAC/E,mEAAwE;AACxE,mEAAwE;AACxE,iFAA+E;AAC/E,qEAAyE;AACzE,yEAA2E;AAC3E,mEAAwE;AACxE,+DAAsE;AAEtE,MAAa,QAAQ;;AAArB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,6EAA6E;AAC7E,yEAA2E;AAC3E,iFAA+E;AAC/E,+EAA8E;AAC9E,mEAAwE;AACxE,6DAAqE;AACrE,uFAAkF;AAClF,uEAA0E;AAC1E,2EAA4E;AAC5E,iEAAuE;AACvE,uEAA0E;AAC1E,uFAAkF;AAClF,uEAA0E;AAC1E,6EAA6E;AAC7E,iFAA+E;AAC/E,mEAAwE;AACxE,mEAAwE;AACxE,iFAA+E;AAC/E,qEAAyE;AACzE,yEAA2E;AAC3E,mEAAwE;AACxE,+DAAsE;AAEtE,MAAa,QAAQ;;AAArB,4BAuBC;AAtBQ,oBAAW,GAAU,sBAAY,CAAC;AAClC,kBAAS,GAAY,oBAAU,CAAC;AAChC,oBAAW,GAAU,uBAAY,CAAC;AAClC,uBAAc,GAAO,wBAAe,CAAC;AACrC,eAAM,GAAe,iBAAO,CAAC;AAC7B,YAAG,GAAkB,cAAI,CAAC;AAC1B,iBAAQ,GAAa,2BAAiB,CAAC;AACvC,iBAAQ,GAAa,mBAAS,CAAC;AAC/B,mBAAU,GAAW,qBAAW,CAAC;AACjC,cAAK,GAAgB,gBAAM,CAAC;AAC5B,iBAAQ,GAAa,mBAAS,CAAC;AAC/B,yBAAgB,GAAK,2BAAiB,CAAC;AACvC,iBAAQ,GAAa,mBAAS,CAAC;AAC/B,mBAAU,GAAW,sBAAW,CAAC;AACjC,qBAAY,GAAS,wBAAa,CAAC;AACnC,eAAM,GAAe,iBAAO,CAAC;AAC7B,eAAM,GAAe,iBAAO,CAAC;AAC7B,qBAAY,GAAS,wBAAa,CAAC;AACnC,gBAAO,GAAc,kBAAQ,CAAC;AAC9B,iBAAQ,GAAa,oBAAS,CAAC;AAC/B,eAAM,GAAe,iBAAO,CAAC;AAC7B,aAAI,GAAiB,eAAK,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const joi_1 = __importDefault(require("joi"));
|
|
7
|
+
const util_1 = require("../common/util");
|
|
8
|
+
const date_1 = __importDefault(require("../common/date"));
|
|
9
|
+
const collections = ['courses', 'courseevents'];
|
|
10
|
+
exports.default = joi_1.default.object({
|
|
11
|
+
id: joi_1.default.string(),
|
|
12
|
+
description: joi_1.default.string().allow(null, ''),
|
|
13
|
+
reason: joi_1.default.string().allow(null, ''),
|
|
14
|
+
action: joi_1.default.string().valid('cancel', 'remove', 'reschedule', 'add', 'substitute'),
|
|
15
|
+
start: date_1.default.isDate(),
|
|
16
|
+
end: date_1.default.isDate().allow(null).greater(joi_1.default.ref('start')),
|
|
17
|
+
sources: joi_1.default.array()
|
|
18
|
+
.items(joi_1.default.object({
|
|
19
|
+
to: [
|
|
20
|
+
joi_1.default.string(),
|
|
21
|
+
joi_1.default.custom(util_1.Util.functions.schemaWrapper(require('./course-events'))),
|
|
22
|
+
joi_1.default.custom(util_1.Util.functions.schemaWrapper(require('./courses'))),
|
|
23
|
+
],
|
|
24
|
+
toModel: joi_1.default.string().valid(...collections)
|
|
25
|
+
})),
|
|
26
|
+
exception: joi_1.default.object({
|
|
27
|
+
to: [
|
|
28
|
+
joi_1.default.string(),
|
|
29
|
+
joi_1.default.custom(util_1.Util.functions.schemaWrapper(require('./groups'))),
|
|
30
|
+
joi_1.default.custom(util_1.Util.functions.schemaWrapper(require('./courses'))),
|
|
31
|
+
joi_1.default.custom(util_1.Util.functions.schemaWrapper(require('./teachers'))),
|
|
32
|
+
joi_1.default.custom(util_1.Util.functions.schemaWrapper(require('./locations'))),
|
|
33
|
+
joi_1.default.custom(util_1.Util.functions.schemaWrapper(require('./persons'))),
|
|
34
|
+
],
|
|
35
|
+
toModel: joi_1.default.string().valid('groups', 'courses', 'teachers', 'locations', 'persons'),
|
|
36
|
+
include: joi_1.default.boolean(),
|
|
37
|
+
start: date_1.default.isDate(),
|
|
38
|
+
end: date_1.default.isDate().greater(joi_1.default.ref('start')),
|
|
39
|
+
}),
|
|
40
|
+
});
|
|
41
|
+
//# sourceMappingURL=calendar-exceptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calendar-exceptions.js","sourceRoot":"","sources":["../../src/validators/calendar-exceptions.ts"],"names":[],"mappings":";;;;;AAAA,8CAAsD;AAGtD,yCAAiE;AACjE,0DAAiE;AAIjE,MAAM,WAAW,GAAa,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;AAE1D,kBAAe,aAAG,CAAC,MAAM,CAAoD;IAC3E,EAAE,EAAW,aAAG,CAAC,MAAM,EAAE;IAEzB,WAAW,EAAO,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;IAC9C,MAAM,EAAY,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;IAC9C,MAAM,EAAY,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,CAAC;IAE3F,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,OAAO,EAAW,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;SAC/D;QACA,OAAO,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC;KAC5C,CAAC,CACH;IACpB,SAAS,EAAS,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,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;YAC/D,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,WAAW,CAAC,CAAC,CAAC;SAC/D;QACD,OAAO,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC;QACpF,OAAO,EAAE,aAAG,CAAC,OAAO,EAAE;QACtB,KAAK,EAAI,cAAQ,CAAC,MAAM,EAAE;QAC1B,GAAG,EAAM,cAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,aAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;KACrD,CAAC;CACrB,CAAC,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const joi_1 = __importDefault(require("joi"));
|
|
7
|
+
const nanoid_1 = require("nanoid");
|
|
8
|
+
const util_1 = require("../common/util");
|
|
9
|
+
const date_1 = __importDefault(require("../common/date"));
|
|
10
|
+
exports.default = joi_1.default.object({
|
|
11
|
+
id: joi_1.default.string().default(() => (0, nanoid_1.nanoid)(8)),
|
|
12
|
+
events: joi_1.default.array()
|
|
13
|
+
.items(joi_1.default.alternatives().try(joi_1.default.string(), joi_1.default.custom(util_1.Util.functions.schemaWrapper(require('./course-events'))), joi_1.default.custom(util_1.Util.functions.schemaWrapper(require('./courses'))))),
|
|
14
|
+
type: joi_1.default.string()
|
|
15
|
+
.valid('parallel', 'sequential', 'custom'),
|
|
16
|
+
anchor: joi_1.default.when('type', {
|
|
17
|
+
is: 'parallel',
|
|
18
|
+
then: joi_1.default.string().valid('start', 'middle', 'end').required(),
|
|
19
|
+
otherwise: joi_1.default.forbidden()
|
|
20
|
+
}),
|
|
21
|
+
gap: joi_1.default.when('type', {
|
|
22
|
+
is: 'sequential',
|
|
23
|
+
then: joi_1.default.object({
|
|
24
|
+
min: joi_1.default.number().required(),
|
|
25
|
+
max: joi_1.default.number().required()
|
|
26
|
+
}).required(),
|
|
27
|
+
otherwise: joi_1.default.forbidden()
|
|
28
|
+
}),
|
|
29
|
+
createdAt: date_1.default.isDate(),
|
|
30
|
+
updatedAt: date_1.default.isDate().allow(null),
|
|
31
|
+
ORIGIN: joi_1.default.string().allow(null)
|
|
32
|
+
});
|
|
33
|
+
//# sourceMappingURL=linked-event-sets.js.map
|
|
@@ -0,0 +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,EACpE,aAAG,CAAC,MAAM,CAAC,WAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAC/D,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;QAC7D,SAAS,EAAE,aAAG,CAAC,SAAS,EAAE;KAC3B,CAAC;IAGhB,GAAG,EAAU,aAAG,CAAC,IAAI,CAAC,MAAM,EAAE;QACd,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,aAAG,CAAC,MAAM,CAAC;YACf,GAAG,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC5B,GAAG,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC7B,CAAC,CAAC,QAAQ,EAAE;QACb,SAAS,EAAE,aAAG,CAAC,SAAS,EAAE;KAC3B,CAAC;IAEhB,SAAS,EAAI,cAAQ,CAAC,MAAM,EAAE;IAC9B,SAAS,EAAI,cAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;IAC1C,MAAM,EAAO,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;CACtC,CAAC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const joi_1 = __importDefault(require("joi"));
|
|
7
|
+
exports.default = joi_1.default.object({
|
|
8
|
+
id: joi_1.default.string(),
|
|
9
|
+
schoolType: joi_1.default.string(),
|
|
10
|
+
subjectCode: joi_1.default.string().allow(null, ''),
|
|
11
|
+
subjectName: joi_1.default.string().allow(null, ''),
|
|
12
|
+
subjectDesignation: joi_1.default.string().allow(null, ''),
|
|
13
|
+
courseCode: joi_1.default.string().allow(null, ''),
|
|
14
|
+
courseName: joi_1.default.string().allow(null, ''),
|
|
15
|
+
point: joi_1.default.number().min(0).allow(null),
|
|
16
|
+
official: joi_1.default.boolean(),
|
|
17
|
+
ids: joi_1.default.string(),
|
|
18
|
+
});
|
|
19
|
+
//# sourceMappingURL=syllabus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"syllabus.js","sourceRoot":"","sources":["../../src/validators/syllabus.ts"],"names":[],"mappings":";;;;;AAAA,8CAAsD;AAQtD,kBAAe,aAAG,CAAC,MAAM,CAA2C;IAClE,EAAE,EAA0B,aAAG,CAAC,MAAM,EAAE;IACxC,UAAU,EAAkB,aAAG,CAAC,MAAM,EAAE;IACxC,WAAW,EAAiB,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;IACxD,WAAW,EAAiB,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;IACxD,kBAAkB,EAAU,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;IACxD,UAAU,EAAkB,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;IACxD,UAAU,EAAkB,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;IACxD,KAAK,EAAuB,aAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;IAC3D,QAAQ,EAAoB,aAAG,CAAC,OAAO,EAAE;IACzC,GAAG,EAAyB,aAAG,CAAC,MAAM,EAAE;CACzC,CAAC,CAAC"}
|