@kth/om-kursen-ladok-client 2.2.0 → 2.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.
- package/dist/attributVardenConstants.d.ts +0 -3
- package/dist/attributVardenConstants.js +7 -4
- package/dist/attributVardenConstants.js.map +1 -1
- package/dist/createApiClient.js +59 -84
- package/dist/createApiClient.js.map +1 -1
- package/dist/kth/KTHPeriod/KTHPeriod.d.ts +19 -0
- package/dist/kth/KTHPeriod/KTHPeriod.js +60 -0
- package/dist/kth/KTHPeriod/KTHPeriod.js.map +1 -0
- package/dist/kth/KTHPeriod/calculateKTHPeriodSemesterFromTillfallesperiod.d.ts +10 -0
- package/dist/kth/KTHPeriod/calculateKTHPeriodSemesterFromTillfallesperiod.js +41 -0
- package/dist/kth/KTHPeriod/calculateKTHPeriodSemesterFromTillfallesperiod.js.map +1 -0
- package/dist/kth/KTHPeriod/convertToKTHPeriods.d.ts +12 -0
- package/dist/kth/KTHPeriod/convertToKTHPeriods.js +76 -0
- package/dist/kth/KTHPeriod/convertToKTHPeriods.js.map +1 -0
- package/dist/kth/KTHPeriod/extractKTHPeriodSemesterFromLasperiodsfordelning.d.ts +7 -0
- package/dist/kth/KTHPeriod/extractKTHPeriodSemesterFromLasperiodsfordelning.js +36 -0
- package/dist/kth/KTHPeriod/extractKTHPeriodSemesterFromLasperiodsfordelning.js.map +1 -0
- package/dist/kth/KTHPeriod/getKTHPeriodSemesters.d.ts +16 -0
- package/dist/kth/KTHPeriod/getKTHPeriodSemesters.js +28 -0
- package/dist/kth/KTHPeriod/getKTHPeriodSemesters.js.map +1 -0
- package/dist/kth/KTHPeriod/matchDateToKTHPeriodYear.d.ts +9 -0
- package/dist/kth/KTHPeriod/matchDateToKTHPeriodYear.js +21 -0
- package/dist/kth/KTHPeriod/matchDateToKTHPeriodYear.js.map +1 -0
- package/dist/kth/KTHPeriod/testdata/kthPeriods.d.ts +8 -0
- package/dist/kth/KTHPeriod/testdata/kthPeriods.js +43 -0
- package/dist/kth/KTHPeriod/testdata/kthPeriods.js.map +1 -0
- package/dist/kth/extractFunctions/extractBasicCourseData.d.ts +4 -1
- package/dist/kth/extractFunctions/extractBasicCourseData.js +6 -5
- package/dist/kth/extractFunctions/extractBasicCourseData.js.map +1 -1
- package/dist/mapCourseRound.d.ts +8 -15
- package/dist/mapCourseRound.js.map +1 -1
- package/dist/mapCourseSyllabus.d.ts +4 -1
- package/dist/mapCourseSyllabus.js.map +1 -1
- package/dist/programme/createProgrammeApi.js +2 -2
- package/dist/programme/createProgrammeApi.js.map +1 -1
- package/dist/search/createSearchApi.js +1 -1
- package/dist/search/createSearchApi.js.map +1 -1
- package/dist/search/searchService.js +1 -1
- package/dist/search/searchService.js.map +1 -1
- package/dist/search/types.d.ts +4 -1
- package/dist/search/utils/searchUtils.d.ts +4 -4
- package/dist/search/utils/searchUtils.js +2 -10
- package/dist/search/utils/searchUtils.js.map +1 -1
- package/dist/supportApis/PeriodService.d.ts +8 -0
- package/dist/supportApis/PeriodService.js +46 -0
- package/dist/supportApis/PeriodService.js.map +1 -0
- package/dist/utils/AcademicSemester.d.ts +1 -0
- package/dist/utils/AcademicSemester.js +5 -0
- package/dist/utils/AcademicSemester.js.map +1 -1
- package/dist/utils/getAllEntitiesByUseOfContinuation.d.ts +6 -2
- package/dist/utils/getAllEntitiesByUseOfContinuation.js +4 -2
- package/dist/utils/getAllEntitiesByUseOfContinuation.js.map +1 -1
- package/dist/utils/languageUtil.d.ts +5 -0
- package/dist/utils/languageUtil.js +11 -2
- package/dist/utils/languageUtil.js.map +1 -1
- package/dist/utils/mergeResponses.d.ts +2 -1
- package/dist/utils/mergeResponses.js +24 -6
- package/dist/utils/mergeResponses.js.map +1 -1
- package/dist/utils/periodUtil.d.ts +6 -0
- package/dist/utils/periodUtil.js +12 -2
- package/dist/utils/periodUtil.js.map +1 -1
- package/dist/utils/programUtil.d.ts +3 -3
- package/dist/utils/programUtil.js +38 -52
- package/dist/utils/programUtil.js.map +1 -1
- package/dist/utils/responseUtils.d.ts +4 -0
- package/dist/utils/responseUtils.js +17 -0
- package/dist/utils/responseUtils.js.map +1 -0
- package/dist/utils/typeChecking.d.ts +6 -0
- package/dist/utils/typeChecking.js +8 -1
- package/dist/utils/typeChecking.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
export declare const ATTRIBUT_VARDEN_FOR_COURSE_VERSIONS: string;
|
|
2
1
|
export declare const ATTRIBUT_VARDEN_FOR_COURSE_ROUNDS: string;
|
|
3
|
-
export declare const ATTRIBUT_VARDEN_FOR_COURSE_ROUNDS_SEARCH: string;
|
|
4
2
|
export declare const INSTANS_ATTRIBUT_VARDEN_FOR_COURSE_ROUNDS_SEARCH: string;
|
|
5
3
|
export declare const INSTANS_ATTRIBUT_VARDEN_FOR_PROGRAM_VERSION: string;
|
|
6
|
-
export declare const ATTRIBUT_VARDEN_FOR_COURSE_SYLLABUS: string;
|
|
7
4
|
export declare const INSTANS_ATTRIBUT_VARDEN_FOR_COURSE_SYLLABUS: string;
|
|
8
5
|
export declare const ATTRIBUT_VARDEN_FOR_ACTIVE_PROGRAM_INSTANCE: string;
|
|
9
6
|
export declare const INSTANS_ATTRIBUT_VARDEN_FOR_ACTIVE_PROGRAM_INSTANCE: string;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.INSTANS_ATTRIBUT_VARDEN_FOR_ACTIVE_PROGRAM_INSTANCE = exports.ATTRIBUT_VARDEN_FOR_ACTIVE_PROGRAM_INSTANCE = exports.INSTANS_ATTRIBUT_VARDEN_FOR_COURSE_SYLLABUS = exports.
|
|
4
|
-
|
|
3
|
+
exports.INSTANS_ATTRIBUT_VARDEN_FOR_ACTIVE_PROGRAM_INSTANCE = exports.ATTRIBUT_VARDEN_FOR_ACTIVE_PROGRAM_INSTANCE = exports.INSTANS_ATTRIBUT_VARDEN_FOR_COURSE_SYLLABUS = exports.INSTANS_ATTRIBUT_VARDEN_FOR_PROGRAM_VERSION = exports.INSTANS_ATTRIBUT_VARDEN_FOR_COURSE_ROUNDS_SEARCH = exports.ATTRIBUT_VARDEN_FOR_COURSE_ROUNDS = void 0;
|
|
4
|
+
// Results in more than 20 attributvarden
|
|
5
|
+
const ATTRIBUT_VARDEN_FOR_COURSE_VERSIONS = [
|
|
5
6
|
'utbildning.attribut.betygsskala',
|
|
6
7
|
'utbildning.attribut.huvudomrade.och.successiv.fordjupning',
|
|
7
8
|
'utbildning.attribut.organisation',
|
|
@@ -47,7 +48,8 @@ exports.ATTRIBUT_VARDEN_FOR_COURSE_ROUNDS = [
|
|
|
47
48
|
'utbildning.lokalt.attribut.29.fullsatt',
|
|
48
49
|
'utbildning.attribut.startperiod',
|
|
49
50
|
].join(',');
|
|
50
|
-
|
|
51
|
+
// Results in more than 20 attributvarden
|
|
52
|
+
const ATTRIBUT_VARDEN_FOR_COURSE_ROUNDS_SEARCH = [
|
|
51
53
|
...exports.ATTRIBUT_VARDEN_FOR_COURSE_ROUNDS.split(','),
|
|
52
54
|
'utbildning.attribut.organisation',
|
|
53
55
|
'utbildning.attribut.startperiod',
|
|
@@ -74,7 +76,8 @@ exports.INSTANS_ATTRIBUT_VARDEN_FOR_PROGRAM_VERSION = [
|
|
|
74
76
|
'utbildning.attribut.omfattning',
|
|
75
77
|
'utbildning.attribut.examen.uppgift.for.emil',
|
|
76
78
|
].join(',');
|
|
77
|
-
|
|
79
|
+
// Results in more than 20 attributvarden
|
|
80
|
+
const ATTRIBUT_VARDEN_FOR_COURSE_SYLLABUS = [
|
|
78
81
|
'utbildning.attribut.omfattning',
|
|
79
82
|
'utbildning.attribut.betygsskala',
|
|
80
83
|
'utbildning.lokalt.attribut.29.utgava',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attributVardenConstants.js","sourceRoot":"","sources":["../src/attributVardenConstants.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"attributVardenConstants.js","sourceRoot":"","sources":["../src/attributVardenConstants.ts"],"names":[],"mappings":"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"}
|
package/dist/createApiClient.js
CHANGED
|
@@ -29,11 +29,10 @@ const createSupportApis_1 = require("./supportApis/createSupportApis");
|
|
|
29
29
|
const queryConstants_1 = require("./queryConstants");
|
|
30
30
|
const createProgrammeApi_1 = require("./programme/createProgrammeApi");
|
|
31
31
|
const mergeResponses_1 = require("./utils/mergeResponses");
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
return response.items
|
|
32
|
+
const getAllEntitiesByUseOfContinuation_1 = require("./utils/getAllEntitiesByUseOfContinuation");
|
|
33
|
+
const responseUtils_1 = require("./utils/responseUtils");
|
|
34
|
+
const filterAndMapCourseRounds = (items, language, partOfProgrammes) => {
|
|
35
|
+
return items
|
|
37
36
|
.map(x => (0, mapCourseRound_1.mapCourseRound)(x, language, partOfProgrammes === null || partOfProgrammes === void 0 ? void 0 : partOfProgrammes[x.tillfalle_uid]))
|
|
38
37
|
.filter(x => x !== undefined)
|
|
39
38
|
.filter(utils_1.removeCourseRoundsBasedOnTillfalleskod)
|
|
@@ -49,18 +48,20 @@ const createApiClient = (config) => {
|
|
|
49
48
|
const ladokClient = (0, ladok_mellanlager_client_1.createClient)(config);
|
|
50
49
|
return {
|
|
51
50
|
getLatestCourseVersion: (courseCode, language) => __awaiter(void 0, void 0, void 0, function* () {
|
|
52
|
-
const result = yield ladokClient.
|
|
51
|
+
const result = yield (0, getAllEntitiesByUseOfContinuation_1.getAllEntitiesByUseOfContinuation)(ladokClient.sokUtbildningsInstans, {
|
|
53
52
|
kodEllerBenamning: courseCode,
|
|
54
53
|
striktKod: 'true',
|
|
55
|
-
|
|
54
|
+
antalTraffar: queryConstants_1.MAX_ANTAL_TRAFFAR,
|
|
55
|
+
utbildningstypgrundtyp: 'KURS',
|
|
56
|
+
}, {
|
|
57
|
+
maxSearchResultsToReturn: 1000,
|
|
58
|
+
maxContinuationIterations: 10,
|
|
56
59
|
});
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
}
|
|
60
|
-
if (result.searchMeta.pageResultSize === 0) {
|
|
60
|
+
const allEntities = (0, responseUtils_1.throwIfContinuationError)(result);
|
|
61
|
+
if (allEntities.length === 0) {
|
|
61
62
|
return Object.assign(Object.assign({}, result.responseInfo), { statusCode: 404, message: 'not found' });
|
|
62
63
|
}
|
|
63
|
-
const course =
|
|
64
|
+
const course = allEntities
|
|
64
65
|
.sort((a, b) => (0, ladok_attributvarde_utils_1.extractVersionNumber)(b.Attributvarden) - (0, ladok_attributvarde_utils_1.extractVersionNumber)(a.Attributvarden))
|
|
65
66
|
.at(0);
|
|
66
67
|
const gradingScalesCodes = yield (0, gradingScalesUtils_1.getGradingScalesCodes)(ladokClient);
|
|
@@ -71,61 +72,62 @@ const createApiClient = (config) => {
|
|
|
71
72
|
const requestObject = {
|
|
72
73
|
kodEllerBenamning: courseCode,
|
|
73
74
|
striktKod: 'true',
|
|
74
|
-
|
|
75
|
+
antalTraffar: queryConstants_1.MAX_ANTAL_TRAFFAR,
|
|
76
|
+
utbildningstypgrundtyp: 'KURS',
|
|
75
77
|
};
|
|
76
|
-
const [
|
|
77
|
-
|
|
78
|
-
ladokClient.
|
|
78
|
+
const [resultActiveCourseVersions, resultDiscontinuedCourseVersions] = yield Promise.all([
|
|
79
|
+
(0, getAllEntitiesByUseOfContinuation_1.getAllEntitiesByUseOfContinuation)(ladokClient.sokUtbildningsInstans, requestObject),
|
|
80
|
+
(0, getAllEntitiesByUseOfContinuation_1.getAllEntitiesByUseOfContinuation)(ladokClient.sokUtbildningsInstans, Object.assign(Object.assign({}, requestObject), { avvecklad: 'true' })),
|
|
79
81
|
]);
|
|
80
|
-
const
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
if (
|
|
85
|
-
return Object.assign(Object.assign({},
|
|
82
|
+
const allEntitiesActive = (0, responseUtils_1.throwIfContinuationError)(resultActiveCourseVersions);
|
|
83
|
+
const allEntitiesCancelled = (0, responseUtils_1.throwIfContinuationError)(resultDiscontinuedCourseVersions);
|
|
84
|
+
const activeAndCancelledResponseInfo = (0, mergeResponses_1.mergeResponseInfo)(resultActiveCourseVersions.responseInfo, resultDiscontinuedCourseVersions.responseInfo);
|
|
85
|
+
const allEntitiesActiveAndCancelledVersions = (0, mergeResponses_1.mergePlainArrays)(allEntitiesActive, allEntitiesCancelled, item => item.instans_uid);
|
|
86
|
+
if (allEntitiesActiveAndCancelledVersions.length === 0) {
|
|
87
|
+
return Object.assign(Object.assign({}, activeAndCancelledResponseInfo), { statusCode: 404, message: 'not found' });
|
|
86
88
|
}
|
|
87
|
-
const course =
|
|
89
|
+
const course = allEntitiesActiveAndCancelledVersions
|
|
88
90
|
.sort((a, b) => (0, ladok_attributvarde_utils_1.extractVersionNumber)(b.Attributvarden) - (0, ladok_attributvarde_utils_1.extractVersionNumber)(a.Attributvarden))
|
|
89
91
|
.at(0);
|
|
90
92
|
const gradingScalesCodes = yield (0, gradingScalesUtils_1.getGradingScalesCodes)(ladokClient);
|
|
91
93
|
const mappedCourse = (0, mapCourse_1.mapCourse)(course, language, gradingScalesCodes);
|
|
92
|
-
return Object.assign(Object.assign({},
|
|
94
|
+
return Object.assign(Object.assign({}, activeAndCancelledResponseInfo), mappedCourse);
|
|
93
95
|
}),
|
|
94
96
|
Search: (0, createSearchApi_1.createSearchApi)(ladokClient),
|
|
95
97
|
Programme: (0, createProgrammeApi_1.createProgrammeApi)(ladokClient),
|
|
96
98
|
getActiveCourseRounds: (courseCode, language) => __awaiter(void 0, void 0, void 0, function* () {
|
|
97
99
|
const currentDate = (0, utils_1.getFormattedCurrentDate)();
|
|
98
|
-
const result = yield ladokClient.sokKursTillfalleSlim
|
|
99
|
-
|
|
100
|
+
const result = yield (0, getAllEntitiesByUseOfContinuation_1.getAllEntitiesByUseOfContinuation)(ladokClient.sokKursTillfalleSlim, Object.assign(Object.assign({}, DEFAULT_COURSE_ROUNDS_QUERY_PARAMS), { kodEllerBenamning: courseCode, pagaendeDatum: currentDate }));
|
|
101
|
+
const allEntities = (0, responseUtils_1.throwIfContinuationError)(result);
|
|
102
|
+
return filterAndMapCourseRounds(allEntities, language);
|
|
100
103
|
}),
|
|
101
104
|
getActiveAndFutureCourseRounds: (courseCode, language) => __awaiter(void 0, void 0, void 0, function* () {
|
|
102
105
|
const currentDate = (0, utils_1.getFormattedCurrentDate)();
|
|
103
106
|
const requestObject = Object.assign(Object.assign({}, DEFAULT_COURSE_ROUNDS_QUERY_PARAMS), { kodEllerBenamning: courseCode });
|
|
104
107
|
const [resultPagaendeDatum, resultTerminsKodStart] = yield Promise.all([
|
|
105
|
-
ladokClient.sokKursTillfalleSlim
|
|
106
|
-
ladokClient.sokKursTillfalleSlim
|
|
108
|
+
(0, getAllEntitiesByUseOfContinuation_1.getAllEntitiesByUseOfContinuation)(ladokClient.sokKursTillfalleSlim, Object.assign({ pagaendeDatum: currentDate }, requestObject)),
|
|
109
|
+
(0, getAllEntitiesByUseOfContinuation_1.getAllEntitiesByUseOfContinuation)(ladokClient.sokKursTillfalleSlim, Object.assign({ terminkodStart: (0, courseSyllabusUtil_1.getSemester)(currentDate) }, requestObject)),
|
|
107
110
|
]);
|
|
108
|
-
const
|
|
109
|
-
|
|
110
|
-
|
|
111
|
+
const allEntitiesPagaendeDatum = (0, responseUtils_1.throwIfContinuationError)(resultPagaendeDatum);
|
|
112
|
+
const allEntitiesTerminsKodStart = (0, responseUtils_1.throwIfContinuationError)(resultTerminsKodStart);
|
|
113
|
+
const allEntitiesActiveAndFutureRounds = (0, mergeResponses_1.mergePlainArrays)(allEntitiesPagaendeDatum, allEntitiesTerminsKodStart, item => item.tillfalle_uid);
|
|
114
|
+
if (!allEntitiesActiveAndFutureRounds) {
|
|
115
|
+
return filterAndMapCourseRounds(allEntitiesActiveAndFutureRounds, language);
|
|
111
116
|
}
|
|
112
117
|
const periods = yield ladokClient.period(); // TODO: Use cached values
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
if (typeof periods.data !== 'object') {
|
|
117
|
-
throw new Error('periods.data is not an object.');
|
|
118
|
-
}
|
|
119
|
-
const partOfProgrammes = yield (0, partOfProgrammeUtil_1.getPartOfProgrammes)(resultActiveAndFutureRounds.items, periods.data.Period, ladokClient);
|
|
120
|
-
return filterAndMapCourseRounds(resultActiveAndFutureRounds, language, partOfProgrammes);
|
|
118
|
+
const periodsData = (0, responseUtils_1.throwIfError)(periods);
|
|
119
|
+
const partOfProgrammes = yield (0, partOfProgrammeUtil_1.getPartOfProgrammes)(allEntitiesActiveAndFutureRounds, periodsData.Period, ladokClient);
|
|
120
|
+
return filterAndMapCourseRounds(allEntitiesActiveAndFutureRounds, language, partOfProgrammes);
|
|
121
121
|
}),
|
|
122
122
|
getCourseRoundsFromPeriod: (courseCode, fromPeriod, language) => __awaiter(void 0, void 0, void 0, function* () {
|
|
123
|
-
const result = yield ladokClient.sokKursTillfalleSlim
|
|
124
|
-
|
|
123
|
+
const result = yield (0, getAllEntitiesByUseOfContinuation_1.getAllEntitiesByUseOfContinuation)(ladokClient.sokKursTillfalleSlim, Object.assign(Object.assign({}, DEFAULT_COURSE_ROUNDS_QUERY_PARAMS), { kodEllerBenamning: courseCode, terminkodStart: fromPeriod }));
|
|
124
|
+
const allEntities = (0, responseUtils_1.throwIfContinuationError)(result);
|
|
125
|
+
return filterAndMapCourseRounds(allEntities, language);
|
|
125
126
|
}),
|
|
126
127
|
getCourseRoundsForExactStartPeriod: (courseCode, startPeriod, language) => __awaiter(void 0, void 0, void 0, function* () {
|
|
127
|
-
const result = yield ladokClient.sokKursTillfalleSlim
|
|
128
|
-
|
|
128
|
+
const result = yield (0, getAllEntitiesByUseOfContinuation_1.getAllEntitiesByUseOfContinuation)(ladokClient.sokKursTillfalleSlim, Object.assign(Object.assign({}, DEFAULT_COURSE_ROUNDS_QUERY_PARAMS), { kodEllerBenamning: courseCode, startPeriod: startPeriod }));
|
|
129
|
+
const allEntities = (0, responseUtils_1.throwIfContinuationError)(result);
|
|
130
|
+
return filterAndMapCourseRounds(allEntities, language);
|
|
129
131
|
}),
|
|
130
132
|
getUtbildningsPlan: (uid, language) => __awaiter(void 0, void 0, void 0, function* () {
|
|
131
133
|
const result = yield ladokClient.planForUtbildningUtbildningsinstans(uid);
|
|
@@ -174,28 +176,15 @@ const createApiClient = (config) => {
|
|
|
174
176
|
}),
|
|
175
177
|
getCourseSyllabus: (courseCode, semester, language) => __awaiter(void 0, void 0, void 0, function* () {
|
|
176
178
|
try {
|
|
177
|
-
const result = yield ladokClient.
|
|
179
|
+
const result = yield (0, getAllEntitiesByUseOfContinuation_1.getAllEntitiesByUseOfContinuation)(ladokClient.sokPlan, {
|
|
178
180
|
kodEllerBenamning: courseCode,
|
|
179
181
|
striktKod: 'true',
|
|
180
182
|
tillstand: 'BESLUTAD',
|
|
181
|
-
attributVarden: attributVardenConstants_1.ATTRIBUT_VARDEN_FOR_COURSE_SYLLABUS,
|
|
182
|
-
instansAttributVarden: attributVardenConstants_1.INSTANS_ATTRIBUT_VARDEN_FOR_COURSE_SYLLABUS,
|
|
183
183
|
});
|
|
184
|
-
|
|
185
|
-
throw new Error(`API call failed: ${result.responseInfo.apiError || 'Unknown error'}`);
|
|
186
|
-
}
|
|
187
|
-
if (typeof result.data !== 'object') {
|
|
188
|
-
throw new Error('result.data is not an object.');
|
|
189
|
-
}
|
|
190
|
-
const syllabuses = result.data;
|
|
184
|
+
const syllabuses = (0, responseUtils_1.throwIfContinuationError)(result);
|
|
191
185
|
const periods = yield ladokClient.period(); // TODO: Use cached values
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
}
|
|
195
|
-
if (typeof periods.data !== 'object') {
|
|
196
|
-
throw new Error('periods.data is not an object.');
|
|
197
|
-
}
|
|
198
|
-
const activeSyllabus = (0, courseSyllabusUtil_1.getSyllabusForSemester)(semester, syllabuses, periods.data.Period);
|
|
186
|
+
const periodsData = (0, responseUtils_1.throwIfError)(periods);
|
|
187
|
+
const activeSyllabus = (0, courseSyllabusUtil_1.getSyllabusForSemester)(semester, syllabuses, periodsData.Period);
|
|
199
188
|
if (!activeSyllabus) {
|
|
200
189
|
throw new Error(`No syllabus found for course ${courseCode} in semester ${semester}.`);
|
|
201
190
|
}
|
|
@@ -219,28 +208,21 @@ const createApiClient = (config) => {
|
|
|
219
208
|
}),
|
|
220
209
|
getCourseSyllabuses: (courseCode, language) => __awaiter(void 0, void 0, void 0, function* () {
|
|
221
210
|
try {
|
|
222
|
-
const result = yield ladokClient.
|
|
211
|
+
const result = yield (0, getAllEntitiesByUseOfContinuation_1.getAllEntitiesByUseOfContinuation)(ladokClient.sokPlan, {
|
|
223
212
|
kodEllerBenamning: courseCode,
|
|
224
213
|
striktKod: 'true',
|
|
225
|
-
attributVarden: attributVardenConstants_1.ATTRIBUT_VARDEN_FOR_COURSE_SYLLABUS,
|
|
226
|
-
instansAttributVarden: attributVardenConstants_1.INSTANS_ATTRIBUT_VARDEN_FOR_COURSE_SYLLABUS,
|
|
227
214
|
});
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
if (typeof result.data !== 'object') {
|
|
232
|
-
throw new Error('result.data is not an object.');
|
|
233
|
-
}
|
|
234
|
-
const data = Object.values(result.data);
|
|
235
|
-
const syllabuses = data.slice(1); // Assume the first element is metadata, skip it.
|
|
215
|
+
const syllabuses = (0, responseUtils_1.throwIfContinuationError)(result);
|
|
216
|
+
const data = Object.values(syllabuses);
|
|
217
|
+
const syllabusesData = data.slice(1); // Assume the first element is metadata, skip it.
|
|
236
218
|
const gradingScalesCodes = yield (0, gradingScalesUtils_1.getGradingScalesCodes)(ladokClient);
|
|
237
|
-
const UtbildningsinstansUID =
|
|
219
|
+
const UtbildningsinstansUID = syllabusesData[1].UtbildningsinstansUID;
|
|
238
220
|
const examinationModules = yield (0, examinationModulesUtil_1.getExaminationModules)(UtbildningsinstansUID, language, ladokClient);
|
|
239
221
|
if (!examinationModules) {
|
|
240
222
|
throw new Error(`No examination modules were found for UtbildningsinstansUID ${UtbildningsinstansUID}`);
|
|
241
223
|
}
|
|
242
224
|
const formattedExaminationModules = (0, examinationModulesUtil_1.formatExaminationTitles)(examinationModules, language);
|
|
243
|
-
const mappedSyllabuses =
|
|
225
|
+
const mappedSyllabuses = syllabusesData.map((syllabus) => (0, mapCourseSyllabus_1.mapCourseSyllabus)(syllabus, gradingScalesCodes, formattedExaminationModules, language));
|
|
244
226
|
return mappedSyllabuses;
|
|
245
227
|
}
|
|
246
228
|
catch (error) {
|
|
@@ -249,21 +231,14 @@ const createApiClient = (config) => {
|
|
|
249
231
|
}),
|
|
250
232
|
getAllValidCourseSyllabuses: (courseCode, language) => __awaiter(void 0, void 0, void 0, function* () {
|
|
251
233
|
try {
|
|
252
|
-
const result = yield ladokClient.
|
|
234
|
+
const result = yield (0, getAllEntitiesByUseOfContinuation_1.getAllEntitiesByUseOfContinuation)(ladokClient.sokPlan, {
|
|
253
235
|
kodEllerBenamning: courseCode,
|
|
254
236
|
striktKod: 'true',
|
|
255
237
|
tillstand: 'BESLUTAD',
|
|
256
|
-
|
|
257
|
-
instansAttributVarden: attributVardenConstants_1.INSTANS_ATTRIBUT_VARDEN_FOR_COURSE_SYLLABUS,
|
|
258
|
-
antalTraffar: '100',
|
|
238
|
+
antalTraffar: queryConstants_1.MAX_ANTAL_TRAFFAR,
|
|
259
239
|
});
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
}
|
|
263
|
-
if (typeof result.data !== 'object') {
|
|
264
|
-
throw new Error('result.data is not an object.');
|
|
265
|
-
}
|
|
266
|
-
const data = Object.values(result.data);
|
|
240
|
+
const allEntities = (0, responseUtils_1.throwIfContinuationError)(result);
|
|
241
|
+
const data = Object.values(allEntities);
|
|
267
242
|
let syllabuses;
|
|
268
243
|
if (!data[0].instans)
|
|
269
244
|
syllabuses = data.slice(1); // The first element is metadata, skip it.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createApiClient.js","sourceRoot":"","sources":["../src/createApiClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"createApiClient.js","sourceRoot":"","sources":["../src/createApiClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { AcademicSemester, SemesterNumber } from '../../utils';
|
|
2
|
+
export type KTHPeriod = 0 | 1 | 2 | 3 | 4 | 5;
|
|
3
|
+
export type KTHPeriodLabel = `P${KTHPeriod}`;
|
|
4
|
+
export type KTHPeriodSemester = {
|
|
5
|
+
semester: AcademicSemester;
|
|
6
|
+
period: KTHPeriod;
|
|
7
|
+
};
|
|
8
|
+
export type KTHPeriodDefinition = {
|
|
9
|
+
fromDate: Date;
|
|
10
|
+
toDate: Date;
|
|
11
|
+
academicSemester: AcademicSemester;
|
|
12
|
+
kthPeriod: KTHPeriod;
|
|
13
|
+
};
|
|
14
|
+
export declare const formatKTHPeriod: (kthPeriod: KTHPeriod) => KTHPeriodLabel;
|
|
15
|
+
export declare const parseKTHPeriod: (kthPeriod: string) => KTHPeriod | undefined;
|
|
16
|
+
export declare const isKTHPeriodLabel: (s: string) => s is KTHPeriodLabel;
|
|
17
|
+
export declare const matchKthPeriodToSemesterNumber: (period: KTHPeriod) => SemesterNumber | undefined;
|
|
18
|
+
export declare const compareKTHPeriod: (a: KTHPeriod, b: KTHPeriod) => number;
|
|
19
|
+
export declare const compareKTHPeriodSemester: (a: KTHPeriodSemester, b: KTHPeriodSemester) => number;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.compareKTHPeriodSemester = exports.compareKTHPeriod = exports.matchKthPeriodToSemesterNumber = exports.isKTHPeriodLabel = exports.parseKTHPeriod = exports.formatKTHPeriod = void 0;
|
|
4
|
+
const utils_1 = require("../../utils");
|
|
5
|
+
const formatKTHPeriod = (kthPeriod) => {
|
|
6
|
+
return `P${kthPeriod}`;
|
|
7
|
+
};
|
|
8
|
+
exports.formatKTHPeriod = formatKTHPeriod;
|
|
9
|
+
const regex = /^P([0-5])$/;
|
|
10
|
+
const parseKTHPeriod = (kthPeriod) => {
|
|
11
|
+
const match = regex.exec(kthPeriod);
|
|
12
|
+
if (!match) {
|
|
13
|
+
return undefined;
|
|
14
|
+
}
|
|
15
|
+
return Number(match[1]);
|
|
16
|
+
};
|
|
17
|
+
exports.parseKTHPeriod = parseKTHPeriod;
|
|
18
|
+
const isKTHPeriodLabel = (s) => regex.test(s);
|
|
19
|
+
exports.isKTHPeriodLabel = isKTHPeriodLabel;
|
|
20
|
+
const matchKthPeriodToSemesterNumber = (period) => {
|
|
21
|
+
switch (period) {
|
|
22
|
+
case 0:
|
|
23
|
+
case 1:
|
|
24
|
+
case 2:
|
|
25
|
+
return utils_1.SemesterNumber.Autumn;
|
|
26
|
+
case 3:
|
|
27
|
+
case 4:
|
|
28
|
+
case 5:
|
|
29
|
+
return utils_1.SemesterNumber.Spring;
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
exports.matchKthPeriodToSemesterNumber = matchKthPeriodToSemesterNumber;
|
|
33
|
+
const compareKTHPeriod = (a, b) => {
|
|
34
|
+
return getSortOrder(a) - getSortOrder(b);
|
|
35
|
+
};
|
|
36
|
+
exports.compareKTHPeriod = compareKTHPeriod;
|
|
37
|
+
const getSortOrder = (kthPeriod) => {
|
|
38
|
+
switch (kthPeriod) {
|
|
39
|
+
case 3:
|
|
40
|
+
return 1;
|
|
41
|
+
case 4:
|
|
42
|
+
return 2;
|
|
43
|
+
case 5:
|
|
44
|
+
return 3;
|
|
45
|
+
case 0:
|
|
46
|
+
return 4;
|
|
47
|
+
case 1:
|
|
48
|
+
return 5;
|
|
49
|
+
case 2:
|
|
50
|
+
return 6;
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
const compareKTHPeriodSemester = (a, b) => {
|
|
54
|
+
const semesterComparison = utils_1.AcademicSemester.compare(a.semester, b.semester);
|
|
55
|
+
if (semesterComparison !== 0)
|
|
56
|
+
return semesterComparison;
|
|
57
|
+
return (0, exports.compareKTHPeriod)(a.period, b.period);
|
|
58
|
+
};
|
|
59
|
+
exports.compareKTHPeriodSemester = compareKTHPeriodSemester;
|
|
60
|
+
//# sourceMappingURL=KTHPeriod.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KTHPeriod.js","sourceRoot":"","sources":["../../../src/kth/KTHPeriod/KTHPeriod.ts"],"names":[],"mappings":";;;AAAA,uCAA8D;AAkBvD,MAAM,eAAe,GAAG,CAAC,SAAoB,EAAE,EAAE;IACtD,OAAO,IAAI,SAAS,EAAoB,CAAA;AAC1C,CAAC,CAAA;AAFY,QAAA,eAAe,mBAE3B;AAED,MAAM,KAAK,GAAG,YAAY,CAAA;AAEnB,MAAM,cAAc,GAAG,CAAC,SAAiB,EAAE,EAAE;IAClD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACnC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAc,CAAA;AACtC,CAAC,CAAA;AAPY,QAAA,cAAc,kBAO1B;AAEM,MAAM,gBAAgB,GAAG,CAAC,CAAS,EAAuB,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AAApE,QAAA,gBAAgB,oBAAoD;AAE1E,MAAM,8BAA8B,GAAG,CAAC,MAAiB,EAA8B,EAAE;IAC9F,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,CAAC,CAAC;QACP,KAAK,CAAC,CAAC;QACP,KAAK,CAAC;YACJ,OAAO,sBAAc,CAAC,MAAM,CAAA;QAC9B,KAAK,CAAC,CAAC;QACP,KAAK,CAAC,CAAC;QACP,KAAK,CAAC;YACJ,OAAO,sBAAc,CAAC,MAAM,CAAA;IAChC,CAAC;AACH,CAAC,CAAA;AAXY,QAAA,8BAA8B,kCAW1C;AAEM,MAAM,gBAAgB,GAAG,CAAC,CAAY,EAAE,CAAY,EAAE,EAAE;IAC7D,OAAO,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;AAC1C,CAAC,CAAA;AAFY,QAAA,gBAAgB,oBAE5B;AAED,MAAM,YAAY,GAAG,CAAC,SAAoB,EAAE,EAAE;IAC5C,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,CAAC;YACJ,OAAO,CAAC,CAAA;QACV,KAAK,CAAC;YACJ,OAAO,CAAC,CAAA;QACV,KAAK,CAAC;YACJ,OAAO,CAAC,CAAA;QACV,KAAK,CAAC;YACJ,OAAO,CAAC,CAAA;QACV,KAAK,CAAC;YACJ,OAAO,CAAC,CAAA;QACV,KAAK,CAAC;YACJ,OAAO,CAAC,CAAA;IACZ,CAAC;AACH,CAAC,CAAA;AAEM,MAAM,wBAAwB,GAAG,CAAC,CAAoB,EAAE,CAAoB,EAAE,EAAE;IACrF,MAAM,kBAAkB,GAAG,wBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAA;IAC3E,IAAI,kBAAkB,KAAK,CAAC;QAAE,OAAO,kBAAkB,CAAA;IAEvD,OAAO,IAAA,wBAAgB,EAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;AAC7C,CAAC,CAAA;AALY,QAAA,wBAAwB,4BAKpC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Tillfallesperiod } from '../../mapCourseRound';
|
|
2
|
+
import { KTHPeriodDefinition, KTHPeriodSemester } from './KTHPeriod';
|
|
3
|
+
/**
|
|
4
|
+
* This function attempts to match the Forsta and SistaUndervisningsdatum of each tillfallesperiod to a KTHPeriod.
|
|
5
|
+
* It returns an array of KTHPeriod
|
|
6
|
+
* @param tillfallesperioder array of Tillfallesperioder containing ForstaUndervisningsdatum and SistaUndervisningsdatum
|
|
7
|
+
* @param kthPeriods KTHPeriodDefinitions
|
|
8
|
+
* @returns
|
|
9
|
+
*/
|
|
10
|
+
export declare const calculateKTHPeriodSemesterFromTillfallesperiod: (tillfallesperioder: Pick<Tillfallesperiod, "ForstaUndervisningsdatum" | "SistaUndervisningsdatum">[] | undefined, kthPeriods: KTHPeriodDefinition[] | undefined) => KTHPeriodSemester[] | undefined;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.calculateKTHPeriodSemesterFromTillfallesperiod = void 0;
|
|
4
|
+
const typeChecking_1 = require("../../utils/typeChecking");
|
|
5
|
+
const KTHPeriod_1 = require("./KTHPeriod");
|
|
6
|
+
const matchDateToKTHPeriodYear_1 = require("./matchDateToKTHPeriodYear");
|
|
7
|
+
/**
|
|
8
|
+
* This function attempts to match the Forsta and SistaUndervisningsdatum of each tillfallesperiod to a KTHPeriod.
|
|
9
|
+
* It returns an array of KTHPeriod
|
|
10
|
+
* @param tillfallesperioder array of Tillfallesperioder containing ForstaUndervisningsdatum and SistaUndervisningsdatum
|
|
11
|
+
* @param kthPeriods KTHPeriodDefinitions
|
|
12
|
+
* @returns
|
|
13
|
+
*/
|
|
14
|
+
const calculateKTHPeriodSemesterFromTillfallesperiod = (tillfallesperioder, kthPeriods) => {
|
|
15
|
+
if (!(0, typeChecking_1.isArrayWithValues)(tillfallesperioder))
|
|
16
|
+
return undefined;
|
|
17
|
+
if (!(0, typeChecking_1.isArrayWithValues)(kthPeriods))
|
|
18
|
+
return undefined;
|
|
19
|
+
const result = tillfallesperioder.flatMap(({ ForstaUndervisningsdatum, SistaUndervisningsdatum }) => {
|
|
20
|
+
const periods = [
|
|
21
|
+
(0, matchDateToKTHPeriodYear_1.matchDateToKTHPeriodYear)(new Date(ForstaUndervisningsdatum), kthPeriods),
|
|
22
|
+
(0, matchDateToKTHPeriodYear_1.matchDateToKTHPeriodYear)(new Date(SistaUndervisningsdatum), kthPeriods),
|
|
23
|
+
];
|
|
24
|
+
return filterDefinedAndDistinctValues(periods);
|
|
25
|
+
});
|
|
26
|
+
return result.sort(KTHPeriod_1.compareKTHPeriodSemester);
|
|
27
|
+
};
|
|
28
|
+
exports.calculateKTHPeriodSemesterFromTillfallesperiod = calculateKTHPeriodSemesterFromTillfallesperiod;
|
|
29
|
+
const filterDefinedAndDistinctValues = (kthPeriods) => {
|
|
30
|
+
const definedPeriods = kthPeriods.filter(typeChecking_1.isDefined);
|
|
31
|
+
const seenPeriods = new Set();
|
|
32
|
+
// We loop over the defined periods
|
|
33
|
+
const distinctFirst = definedPeriods.filter(period => {
|
|
34
|
+
if (seenPeriods.has(period.period))
|
|
35
|
+
return false; // If we've seen a period before, we do not want to have it once more, return false to filter out
|
|
36
|
+
seenPeriods.add(period.period); // Otherwise, we mark it as seen
|
|
37
|
+
return true; // and return true to keep it
|
|
38
|
+
});
|
|
39
|
+
return distinctFirst;
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=calculateKTHPeriodSemesterFromTillfallesperiod.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calculateKTHPeriodSemesterFromTillfallesperiod.js","sourceRoot":"","sources":["../../../src/kth/KTHPeriod/calculateKTHPeriodSemesterFromTillfallesperiod.ts"],"names":[],"mappings":";;;AACA,2DAAuE;AACvE,2CAAyG;AACzG,yEAAqE;AAErE;;;;;;GAMG;AACI,MAAM,8CAA8C,GAAG,CAC5D,kBAAgH,EAChH,UAA6C,EAC7C,EAAE;IACF,IAAI,CAAC,IAAA,gCAAiB,EAAC,kBAAkB,CAAC;QAAE,OAAO,SAAS,CAAA;IAC5D,IAAI,CAAC,IAAA,gCAAiB,EAAC,UAAU,CAAC;QAAE,OAAO,SAAS,CAAA;IAEpD,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,EAAE,EAAE;QAClG,MAAM,OAAO,GAAG;YACd,IAAA,mDAAwB,EAAC,IAAI,IAAI,CAAC,wBAAwB,CAAC,EAAE,UAAU,CAAC;YACxE,IAAA,mDAAwB,EAAC,IAAI,IAAI,CAAC,uBAAuB,CAAC,EAAE,UAAU,CAAC;SACxE,CAAA;QAED,OAAO,8BAA8B,CAAC,OAAO,CAAC,CAAA;IAChD,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAC,IAAI,CAAC,oCAAwB,CAAC,CAAA;AAC9C,CAAC,CAAA;AAjBY,QAAA,8CAA8C,kDAiB1D;AAED,MAAM,8BAA8B,GAAG,CAAC,UAA6C,EAAuB,EAAE;IAC5G,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,wBAAS,CAAC,CAAA;IAEnD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAa,CAAA;IAExC,mCAAmC;IACnC,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;QACnD,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAA,CAAC,iGAAiG;QAElJ,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA,CAAC,gCAAgC;QAC/D,OAAO,IAAI,CAAA,CAAC,6BAA6B;IAC3C,CAAC,CAAC,CAAA;IAEF,OAAO,aAAa,CAAA;AACtB,CAAC,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { PeriodItem } from '@kth/ladok-mellanlager-client';
|
|
2
|
+
import { KTHPeriodDefinition } from './KTHPeriod';
|
|
3
|
+
/**
|
|
4
|
+
* Takes an array of LadokPeriod definitions (periodItems), splits each LadokPeriod into three KTHPeriodDefinitions and returns
|
|
5
|
+
* the resulting array.
|
|
6
|
+
* Note that the calculation for the break points between the KTHPeriods is hardcoded and based on historical values.
|
|
7
|
+
*
|
|
8
|
+
*
|
|
9
|
+
* @param ladokPeriodDefinitions Response data from call to ladok mellanlager's period endpoint
|
|
10
|
+
* @returns An array of KTHPeriodDefinitions based on the given ladokPeriodDefinitions
|
|
11
|
+
*/
|
|
12
|
+
export declare const convertToKTHPeriods: (ladokPeriodDefinitions: Pick<PeriodItem, "FromDatum" | "TomDatum" | "Kod">[]) => KTHPeriodDefinition[];
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.convertToKTHPeriods = void 0;
|
|
4
|
+
const utils_1 = require("../../utils");
|
|
5
|
+
/**
|
|
6
|
+
* Takes an array of LadokPeriod definitions (periodItems), splits each LadokPeriod into three KTHPeriodDefinitions and returns
|
|
7
|
+
* the resulting array.
|
|
8
|
+
* Note that the calculation for the break points between the KTHPeriods is hardcoded and based on historical values.
|
|
9
|
+
*
|
|
10
|
+
*
|
|
11
|
+
* @param ladokPeriodDefinitions Response data from call to ladok mellanlager's period endpoint
|
|
12
|
+
* @returns An array of KTHPeriodDefinitions based on the given ladokPeriodDefinitions
|
|
13
|
+
*/
|
|
14
|
+
const convertToKTHPeriods = (ladokPeriodDefinitions) => {
|
|
15
|
+
const validDefinitions = ladokPeriodDefinitions.filter(({ Kod }) => (0, utils_1.isValidLadokPeriod)(Kod));
|
|
16
|
+
return validDefinitions.flatMap(splitIntoPeriods);
|
|
17
|
+
};
|
|
18
|
+
exports.convertToKTHPeriods = convertToKTHPeriods;
|
|
19
|
+
// Looking at historical data, P1 and P3 have had the following lengths in days.
|
|
20
|
+
const LENGTH_P1 = 62;
|
|
21
|
+
const LENGTH_P3 = 61;
|
|
22
|
+
const getFirstOfJuly = (year) => new Date(`${year}-07-01`);
|
|
23
|
+
const getLastOfJune = (year) => new Date(`${year}-06-30`);
|
|
24
|
+
const splitIntoPeriods = ({ FromDatum, TomDatum, Kod: ladokPeriodString, }) => {
|
|
25
|
+
const fromDateDate = new Date(FromDatum);
|
|
26
|
+
const toDateDate = new Date(TomDatum);
|
|
27
|
+
const academicSemester = utils_1.AcademicSemester.fromLadokPeriodString(ladokPeriodString); // ladokPeriodString will always be defined here, if not, we have bigger problems
|
|
28
|
+
if (academicSemester.semesterNumber === utils_1.SemesterNumber.Autumn) {
|
|
29
|
+
return splitLadokAutumnPeriodIntoKTHPeriodDefinitions(fromDateDate, academicSemester, toDateDate);
|
|
30
|
+
}
|
|
31
|
+
return splitLadokSpringPeriodIntoKTHPeriodDefinitions(fromDateDate, toDateDate, academicSemester);
|
|
32
|
+
};
|
|
33
|
+
const splitLadokAutumnPeriodIntoKTHPeriodDefinitions = (fromDateDate, academicSemester, toDateDate) => {
|
|
34
|
+
const startOfP0 = getFirstOfJuly(fromDateDate.getFullYear()); // Start of P0 is always July 1st
|
|
35
|
+
const endofP0 = getPreviousDay(fromDateDate); // End of P0 is always the day before the first day of HT
|
|
36
|
+
const endOfP1 = addDaysCustom(fromDateDate, LENGTH_P1); // End of P1 is always $LENGTH_P1 days after the first day of HT
|
|
37
|
+
const startOfP2 = addDaysCustom(endOfP1, 1); // Start of P2 is always the day after end of P1
|
|
38
|
+
return [
|
|
39
|
+
{ fromDate: startOfP0, toDate: endofP0, academicSemester, kthPeriod: 0 },
|
|
40
|
+
{ fromDate: fromDateDate, toDate: endOfP1, academicSemester, kthPeriod: 1 },
|
|
41
|
+
{ fromDate: startOfP2, toDate: toDateDate, academicSemester, kthPeriod: 2 },
|
|
42
|
+
];
|
|
43
|
+
};
|
|
44
|
+
const splitLadokSpringPeriodIntoKTHPeriodDefinitions = (fromDateDate, toDateDate, academicSemester) => {
|
|
45
|
+
const endOfP3 = addDaysCustom(fromDateDate, LENGTH_P3); // End of P3
|
|
46
|
+
const startOfP4 = addDaysCustom(endOfP3, 1);
|
|
47
|
+
const startOfP5 = addDaysCustom(toDateDate, 1);
|
|
48
|
+
const endOfP5 = getLastOfJune(toDateDate.getFullYear());
|
|
49
|
+
return [
|
|
50
|
+
{ fromDate: fromDateDate, toDate: endOfP3, academicSemester, kthPeriod: 3 },
|
|
51
|
+
{ fromDate: startOfP4, toDate: toDateDate, academicSemester, kthPeriod: 4 },
|
|
52
|
+
{ fromDate: startOfP5, toDate: endOfP5, academicSemester, kthPeriod: 5 },
|
|
53
|
+
];
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Returns the previous day, can handle DST
|
|
57
|
+
* @param date The date in relation to which to calculate the previous day
|
|
58
|
+
* @returns
|
|
59
|
+
*/
|
|
60
|
+
const getPreviousDay = (date) => {
|
|
61
|
+
const result = new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate()));
|
|
62
|
+
result.setUTCDate(result.getUTCDate() - 1);
|
|
63
|
+
return result;
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* Returns a Date {days} days after {date}
|
|
67
|
+
* @param date The day to which do add days
|
|
68
|
+
* @param days
|
|
69
|
+
* @returns
|
|
70
|
+
*/
|
|
71
|
+
const addDaysCustom = (date, days) => {
|
|
72
|
+
const result = new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate()));
|
|
73
|
+
result.setUTCDate(result.getUTCDate() + days);
|
|
74
|
+
return result;
|
|
75
|
+
};
|
|
76
|
+
//# sourceMappingURL=convertToKTHPeriods.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convertToKTHPeriods.js","sourceRoot":"","sources":["../../../src/kth/KTHPeriod/convertToKTHPeriods.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Tillfallesperiod, Lasperiodsfordelning } from '../../mapCourseRound';
|
|
2
|
+
import { KTHPeriodSemester } from './KTHPeriod';
|
|
3
|
+
type RelevantTillfallesperiod = Pick<Tillfallesperiod, 'ForstaUndervisningsdatum'> & {
|
|
4
|
+
Lasperiodsfordelning: Pick<Lasperiodsfordelning, 'Lasperiodskod'>[];
|
|
5
|
+
};
|
|
6
|
+
export declare const extractKTHPeriodSemesterFromLasperiodsfordelning: (tillfallesperioder: RelevantTillfallesperiod[] | undefined) => KTHPeriodSemester[] | undefined;
|
|
7
|
+
export {};
|