@kth/om-kursen-ladok-client 2.3.2 → 2.4.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 +5 -5
- package/dist/attributVardenConstants.js +8 -8
- package/dist/attributVardenConstants.js.map +1 -1
- package/dist/createApiClient.js +41 -41
- package/dist/createApiClient.js.map +1 -1
- package/dist/kth/KTHPeriod/calculateKTHPeriodSemesterFromTillfallesperiod.d.ts +1 -1
- package/dist/kth/KTHPeriod/extractKTHPeriodSemesterFromLasperiodsfordelning.d.ts +1 -1
- package/dist/kth/KTHPeriod/getKTHPeriodSemesters.d.ts +1 -1
- package/dist/{mapCourseRound.d.ts → mapCourseInstance.d.ts} +2 -2
- package/dist/{mapCourseRound.js → mapCourseInstance.js} +4 -4
- package/dist/mapCourseInstance.js.map +1 -0
- package/dist/{mapCourse.d.ts → mapCourseVersion.d.ts} +2 -2
- package/dist/{mapCourse.js → mapCourseVersion.js} +4 -4
- package/dist/mapCourseVersion.js.map +1 -0
- package/dist/{mapProgramTillfalle.d.ts → mapProgrammeInstance.d.ts} +2 -2
- package/dist/{mapProgramTillfalle.js → mapProgrammeInstance.js} +4 -4
- package/dist/mapProgrammeInstance.js.map +1 -0
- package/dist/{mapProgramTerm.d.ts → mapProgrammeSemester.d.ts} +2 -3
- package/dist/{mapProgramTerm.js → mapProgrammeSemester.js} +4 -4
- package/dist/mapProgrammeSemester.js.map +1 -0
- package/dist/{mapProgramSyllabus.d.ts → mapProgrammeSyllabus.d.ts} +3 -3
- package/dist/{mapProgramSyllabus.js → mapProgrammeSyllabus.js} +9 -9
- package/dist/mapProgrammeSyllabus.js.map +1 -0
- package/dist/mapSearchResult.d.ts +1 -1
- package/dist/mapSearchResult.js +21 -21
- package/dist/mapSearchResult.js.map +1 -1
- package/dist/programme/createProgrammeApi.js +5 -5
- package/dist/programme/createProgrammeApi.js.map +1 -1
- package/dist/programme/types.d.ts +5 -5
- package/dist/programme/utbildningsTypIdConstants.d.ts +1 -1
- package/dist/programme/utbildningsTypIdConstants.js +1 -1
- package/dist/programme/utils/programmeVersionUtil.d.ts +3 -3
- package/dist/programme/utils/programmeVersionUtil.js +6 -6
- package/dist/programme/utils/programmeVersionUtil.js.map +1 -1
- package/dist/search/createSearchApi.js +4 -4
- package/dist/search/createSearchApi.js.map +1 -1
- package/dist/search/searchService.js +6 -6
- package/dist/search/searchService.js.map +1 -1
- package/dist/search/types.d.ts +2 -2
- package/dist/search/utils/educationalTypeUtils.d.ts +1 -1
- package/dist/search/utils/educationalTypeUtils.js +3 -3
- package/dist/search/utils/educationalTypeUtils.js.map +1 -1
- package/dist/search/utils/getLatestCompletedCourseVersions.d.ts +2 -2
- package/dist/search/utils/mapCourseInstanceSearchDTO.d.ts +3 -0
- package/dist/search/utils/mapCourseInstanceSearchDTO.js +42 -0
- package/dist/search/utils/mapCourseInstanceSearchDTO.js.map +1 -0
- package/dist/search/utils/mapCourseVersionDTO.d.ts +2 -2
- package/dist/search/utils/mapCourseVersionDTO.js.map +1 -1
- package/dist/search/utils/searchUtils.d.ts +3 -3
- package/dist/search/utils/searchUtils.js +7 -7
- package/dist/search/utils/searchUtils.js.map +1 -1
- package/dist/supportApis/supportService.js +1 -1
- package/dist/supportApis/supportService.js.map +1 -1
- package/dist/types/OmKursenLadokApiClient.d.ts +16 -16
- package/dist/utils/filterCourseInstanceUtils.d.ts +7 -0
- package/dist/utils/filterCourseInstanceUtils.js +20 -0
- package/dist/utils/filterCourseInstanceUtils.js.map +1 -0
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/periodUtil.d.ts +1 -1
- package/dist/utils/periodUtil.js +12 -12
- package/dist/utils/periodUtil.js.map +1 -1
- package/dist/utils/{programStrukturUtil.d.ts → programmeStructureUtil.d.ts} +7 -7
- package/dist/utils/{programStrukturUtil.js → programmeStructureUtil.js} +40 -40
- package/dist/utils/programmeStructureUtil.js.map +1 -0
- package/dist/utils/programmeUtil.d.ts +39 -0
- package/dist/utils/{programUtil.js → programmeUtil.js} +128 -128
- package/dist/utils/programmeUtil.js.map +1 -0
- package/dist/utils/studyYearUtil.d.ts +3 -3
- package/dist/utils/studyYearUtil.js.map +1 -1
- package/dist/utils/syllabusExtractionUtil.js +2 -2
- package/dist/utils/syllabusExtractionUtil.js.map +1 -1
- package/package.json +2 -2
- package/dist/mapCourse.js.map +0 -1
- package/dist/mapCourseRound.js.map +0 -1
- package/dist/mapProgramSyllabus.js.map +0 -1
- package/dist/mapProgramTerm.js.map +0 -1
- package/dist/mapProgramTillfalle.js.map +0 -1
- package/dist/search/utils/mapCourseRoundSearchDTO.d.ts +0 -3
- package/dist/search/utils/mapCourseRoundSearchDTO.js +0 -42
- package/dist/search/utils/mapCourseRoundSearchDTO.js.map +0 -1
- package/dist/utils/filterCourseRoundUtils.d.ts +0 -7
- package/dist/utils/filterCourseRoundUtils.js +0 -20
- package/dist/utils/filterCourseRoundUtils.js.map +0 -1
- package/dist/utils/programStrukturUtil.js.map +0 -1
- package/dist/utils/programUtil.d.ts +0 -39
- package/dist/utils/programUtil.js.map +0 -1
package/dist/mapSearchResult.js
CHANGED
|
@@ -6,29 +6,29 @@ const languageUtil_1 = require("./utils/languageUtil");
|
|
|
6
6
|
const utils_1 = require("./utils");
|
|
7
7
|
const creditsUtil_1 = require("./utils/creditsUtil");
|
|
8
8
|
const schoolUtil_1 = require("./utils/schoolUtil");
|
|
9
|
-
// TODO Benni this should be refactored together with
|
|
10
|
-
const mapKursTillfalleResult = (
|
|
9
|
+
// TODO Benni this should be refactored together with mapCourseInstance
|
|
10
|
+
const mapKursTillfalleResult = (courseInstance, language) => {
|
|
11
11
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
12
12
|
const benamning = {
|
|
13
|
-
sv: (0, ladok_attributvarde_utils_1.extractString)(
|
|
14
|
-
en: (0, ladok_attributvarde_utils_1.extractString)(
|
|
13
|
+
sv: (0, ladok_attributvarde_utils_1.extractString)(courseInstance.instans.Attributvarden, 'utbildning.attribut.svensk.benamning'),
|
|
14
|
+
en: (0, ladok_attributvarde_utils_1.extractString)(courseInstance.instans.Attributvarden, 'utbildning.attribut.engelsk.benamning'),
|
|
15
15
|
};
|
|
16
|
-
const organisation = (0, ladok_attributvarde_utils_1.extractOrganisation)(
|
|
17
|
-
const utbildningstyp = (0, ladok_attributvarde_utils_1.extractUtbildningstyp)(((_a =
|
|
18
|
-
const studieort = (0, ladok_attributvarde_utils_1.extractGrunddata)(
|
|
19
|
-
const undervisningssprak = (0, ladok_attributvarde_utils_1.extractGrunddata)(
|
|
16
|
+
const organisation = (0, ladok_attributvarde_utils_1.extractOrganisation)(courseInstance.Attributvarden);
|
|
17
|
+
const utbildningstyp = (0, ladok_attributvarde_utils_1.extractUtbildningstyp)(((_a = courseInstance.instans) === null || _a === void 0 ? void 0 : _a.Attributvarden) || courseInstance.Attributvarden);
|
|
18
|
+
const studieort = (0, ladok_attributvarde_utils_1.extractGrunddata)(courseInstance.Attributvarden, 'utbildning.attribut.studieort');
|
|
19
|
+
const undervisningssprak = (0, ladok_attributvarde_utils_1.extractGrunddata)(courseInstance.Attributvarden, 'utbildning.attribut.undervisningssprak');
|
|
20
20
|
const malgrupp = {
|
|
21
|
-
sv: (0, ladok_attributvarde_utils_1.extractString)(
|
|
22
|
-
en: (0, ladok_attributvarde_utils_1.extractString)(
|
|
21
|
+
sv: (0, ladok_attributvarde_utils_1.extractString)(courseInstance.Attributvarden, 'utbildning.lokalt.attribut.29.malgrupp.sv', 'html'),
|
|
22
|
+
en: (0, ladok_attributvarde_utils_1.extractString)(courseInstance.Attributvarden, 'utbildning.lokalt.attribut.29.malgrupp.en', 'html'),
|
|
23
23
|
};
|
|
24
|
-
const startperiod = (0, ladok_attributvarde_utils_1.extractStartPeriod)(
|
|
25
|
-
const studietakt = (0, ladok_attributvarde_utils_1.extractStudietakt)(
|
|
24
|
+
const startperiod = (0, ladok_attributvarde_utils_1.extractStartPeriod)(courseInstance.Attributvarden);
|
|
25
|
+
const studietakt = (0, ladok_attributvarde_utils_1.extractStudietakt)(courseInstance.Attributvarden);
|
|
26
26
|
const schoolCode = (0, schoolUtil_1.extractSchoolCodeFromOrganisation)(organisation, language);
|
|
27
|
-
const omfattning = (_b = (0, ladok_attributvarde_utils_1.extractString)(
|
|
28
|
-
const isMiljo = (0, ladok_attributvarde_utils_1.extractIsMiljo)(
|
|
27
|
+
const omfattning = (_b = (0, ladok_attributvarde_utils_1.extractString)(courseInstance.instans.Attributvarden, 'utbildning.attribut.omfattning', 'omfattning')) !== null && _b !== void 0 ? _b : '';
|
|
28
|
+
const isMiljo = (0, ladok_attributvarde_utils_1.extractIsMiljo)(courseInstance.instans.Attributvarden);
|
|
29
29
|
return {
|
|
30
|
-
versionsnummer: (0, ladok_attributvarde_utils_1.extractVersionNumber)(
|
|
31
|
-
kod: (0, ladok_attributvarde_utils_1.extractString)(
|
|
30
|
+
versionsnummer: (0, ladok_attributvarde_utils_1.extractVersionNumber)(courseInstance.instans.Attributvarden),
|
|
31
|
+
kod: (0, ladok_attributvarde_utils_1.extractString)(courseInstance.instans.Attributvarden, 'utbildning.attribut.kod'),
|
|
32
32
|
benamning: (_c = benamning[language]) !== null && _c !== void 0 ? _c : '',
|
|
33
33
|
omfattning: {
|
|
34
34
|
number: omfattning,
|
|
@@ -46,17 +46,17 @@ const mapKursTillfalleResult = (courseRound, language) => {
|
|
|
46
46
|
},
|
|
47
47
|
period: {
|
|
48
48
|
startperiod: (startperiod === null || startperiod === void 0 ? void 0 : startperiod.code) || '',
|
|
49
|
-
forstaUndervisningsdatum: Object.assign({ date: (_d =
|
|
49
|
+
forstaUndervisningsdatum: Object.assign({ date: (_d = courseInstance.Tillfallesperioder.at(0)) === null || _d === void 0 ? void 0 : _d.ForstaUndervisningsdatum, period: (0, utils_1.getKthStudyPeriod)(new Date((_e = courseInstance.Tillfallesperioder.at(0)) === null || _e === void 0 ? void 0 : _e.ForstaUndervisningsdatum), {
|
|
50
50
|
code: startperiod === null || startperiod === void 0 ? void 0 : startperiod.code,
|
|
51
51
|
startDate: startperiod && new Date(startperiod.startDay),
|
|
52
52
|
endDate: startperiod && new Date(startperiod.lastDay),
|
|
53
|
-
}, 'start') }, (0, utils_1.getYearAndWeek)((_f =
|
|
54
|
-
sistaUndervisningsdatum: Object.assign({ date: (_g =
|
|
53
|
+
}, 'start') }, (0, utils_1.getYearAndWeek)((_f = courseInstance.Tillfallesperioder.at(0)) === null || _f === void 0 ? void 0 : _f.ForstaUndervisningsdatum)),
|
|
54
|
+
sistaUndervisningsdatum: Object.assign({ date: (_g = courseInstance.Tillfallesperioder.at(-1)) === null || _g === void 0 ? void 0 : _g.SistaUndervisningsdatum, period: (0, utils_1.getKthStudyPeriod)(new Date((_h = courseInstance.Tillfallesperioder.at(-1)) === null || _h === void 0 ? void 0 : _h.SistaUndervisningsdatum), {
|
|
55
55
|
code: startperiod === null || startperiod === void 0 ? void 0 : startperiod.code,
|
|
56
56
|
startDate: startperiod && new Date(startperiod.startDay),
|
|
57
57
|
endDate: startperiod && new Date(startperiod.lastDay),
|
|
58
|
-
}, 'end') }, (0, utils_1.getYearAndWeek)((_j =
|
|
59
|
-
tillfallesperioderNummer:
|
|
58
|
+
}, 'end') }, (0, utils_1.getYearAndWeek)((_j = courseInstance.Tillfallesperioder.at(-1)) === null || _j === void 0 ? void 0 : _j.SistaUndervisningsdatum)),
|
|
59
|
+
tillfallesperioderNummer: courseInstance.Tillfallesperioder.length,
|
|
60
60
|
},
|
|
61
61
|
schoolCode,
|
|
62
62
|
isMiljo,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapSearchResult.js","sourceRoot":"","sources":["../src/mapSearchResult.ts"],"names":[],"mappings":";;;AAAA,8EASuC;AAGvC,uDAS6B;AAC7B,mCAAoF;AACpF,qDAAgE;AAChE,mDAAsE;AA2CtE,
|
|
1
|
+
{"version":3,"file":"mapSearchResult.js","sourceRoot":"","sources":["../src/mapSearchResult.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,15 +19,15 @@ const mergeResponses_1 = require("../utils/mergeResponses");
|
|
|
19
19
|
const programmeVersionUtil_1 = require("./utils/programmeVersionUtil");
|
|
20
20
|
const createProgrammeApi = (ladokClient) => {
|
|
21
21
|
return {
|
|
22
|
-
getAllProgrammeVersions: (language_1, ...args_1) => __awaiter(void 0, [language_1, ...args_1], void 0, function* (language,
|
|
22
|
+
getAllProgrammeVersions: (language_1, ...args_1) => __awaiter(void 0, [language_1, ...args_1], void 0, function* (language, getDiscontinued = true) {
|
|
23
23
|
try {
|
|
24
24
|
const activeProgrammesRequestQuery = {
|
|
25
25
|
typ: 'program',
|
|
26
|
-
instansAttributVarden: attributVardenConstants_1.
|
|
26
|
+
instansAttributVarden: attributVardenConstants_1.INSTANS_ATTRIBUT_VARDEN_FOR_PROGRAMME_VERSION,
|
|
27
27
|
antalTraffar: queryConstants_1.MAX_ANTAL_TRAFFAR,
|
|
28
28
|
utbildningstypid: utbildningsTypIdConstants_1.PROGRAMME_VERSION_UTBILDNINGSTYP_IDS,
|
|
29
29
|
};
|
|
30
|
-
const
|
|
30
|
+
const discontinuedProgrammesRequestQuery = Object.assign(Object.assign({}, activeProgrammesRequestQuery), { avvecklad: 'true' });
|
|
31
31
|
const fetchProgrammes = (query) => {
|
|
32
32
|
return (0, getAllEntitiesByUseOfContinuation_1.getAllEntitiesByUseOfContinuation)(ladokClient.sokUtbildningsInstansSlim, query, {
|
|
33
33
|
maxSearchResultsToReturn: 600,
|
|
@@ -36,11 +36,11 @@ const createProgrammeApi = (ladokClient) => {
|
|
|
36
36
|
};
|
|
37
37
|
const [{ allEntities: activeProgrammes }, { allEntities: cancelledProgrammes }] = yield Promise.all([
|
|
38
38
|
fetchProgrammes(activeProgrammesRequestQuery),
|
|
39
|
-
|
|
39
|
+
getDiscontinued ? fetchProgrammes(discontinuedProgrammesRequestQuery) : Promise.resolve({ allEntities: [] }),
|
|
40
40
|
]);
|
|
41
41
|
const mergedProgrammes = (0, mergeResponses_1.mergePlainArrays)(activeProgrammes, cancelledProgrammes, item => item.instans_uid);
|
|
42
42
|
const mappedProgrammes = mergedProgrammes.map(programme => (0, mapProgrammeVersion_1.mapProgrammeVersion)(programme, language));
|
|
43
|
-
const finalListOfProgrammes = (0, programmeVersionUtil_1.
|
|
43
|
+
const finalListOfProgrammes = (0, programmeVersionUtil_1.addFirstAdmissionSemester)(mappedProgrammes);
|
|
44
44
|
return finalListOfProgrammes;
|
|
45
45
|
}
|
|
46
46
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createProgrammeApi.js","sourceRoot":"","sources":["../../src/programme/createProgrammeApi.ts"],"names":[],"mappings":";;;;;;;;;;;;AAMA,sDAAqD;AACrD,kGAGmD;AACnD,gEAA4D;AAC5D,
|
|
1
|
+
{"version":3,"file":"createProgrammeApi.js","sourceRoot":"","sources":["../../src/programme/createProgrammeApi.ts"],"names":[],"mappings":";;;;;;;;;;;;AAMA,sDAAqD;AACrD,kGAGmD;AACnD,gEAA4D;AAC5D,wEAA0F;AAC1F,2EAAkF;AAClF,4DAA0D;AAC1D,uEAAwE;AAEjE,MAAM,kBAAkB,GAAG,CAAC,WAAsC,EAAgB,EAAE;IACzF,OAAO;QACL,uBAAuB,EAAE,wBAAyC,EAAE,+DAApC,QAAQ,EAAE,eAAe,GAAG,IAAI;YAC9D,IAAI,CAAC;gBACH,MAAM,4BAA4B,GAAG;oBACnC,GAAG,EAAE,SAAS;oBACd,qBAAqB,EAAE,uEAA6C;oBACpE,YAAY,EAAE,kCAAiB;oBAC/B,gBAAgB,EAAE,gEAAoC;iBACvD,CAAA;gBAED,MAAM,kCAAkC,mCACnC,4BAA4B,KAC/B,SAAS,EAAE,MAAM,GAClB,CAAA;gBAED,MAAM,eAAe,GAAG,CACtB,KAAqC,EACmC,EAAE;oBAC1E,OAAO,IAAA,qEAAiC,EAAC,WAAW,CAAC,yBAAyB,EAAE,KAAK,EAAE;wBACrF,wBAAwB,EAAE,GAAG;wBAC7B,yBAAyB,EAAE,CAAC;qBAC7B,CAAC,CAAA;gBACJ,CAAC,CAAA;gBAED,MAAM,CAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE,EAAE,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBAClG,eAAe,CAAC,4BAA4B,CAAC;oBAC7C,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,kCAAkC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;iBAC7G,CAAC,CAAA;gBAEF,MAAM,gBAAgB,GAAG,IAAA,iCAAgB,EAAC,gBAAgB,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAY,CAAC,CAAA;gBAC3G,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAA,yCAAmB,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAA;gBACpG,MAAM,qBAAqB,GAAG,IAAA,gDAAyB,EAAC,gBAAgB,CAAC,CAAA;gBAEzE,OAAO,qBAAqB,CAAA;YAC9B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,qCAAqC,KAAK,EAAE,CAAC,CAAA;YAC/D,CAAC;QACH,CAAC,CAAA;KACF,CAAA;AACH,CAAC,CAAA;AAxCY,QAAA,kBAAkB,sBAwC9B"}
|
|
@@ -2,16 +2,16 @@ import { ProgrammeVersion } from '../mapProgrammeVersion';
|
|
|
2
2
|
import { Language } from '../utils';
|
|
3
3
|
import { AcademicSemester } from '../utils/AcademicSemester';
|
|
4
4
|
export type CompleteProgrammeVersion = ProgrammeVersion & {
|
|
5
|
-
/** The first
|
|
6
|
-
|
|
5
|
+
/** The first semester the programme admitted students */
|
|
6
|
+
firstAdmissionSemester?: AcademicSemester;
|
|
7
7
|
/**
|
|
8
|
-
* List of
|
|
8
|
+
* List of semesters in which the programme has active structures. This is only
|
|
9
9
|
* populated in some contexts and therefore kept optional.
|
|
10
10
|
*/
|
|
11
|
-
|
|
11
|
+
approvedStudyProgrammeSemesters?: string[];
|
|
12
12
|
};
|
|
13
13
|
export type ProgrammeApi = {
|
|
14
|
-
getAllProgrammeVersions: (language: Language,
|
|
14
|
+
getAllProgrammeVersions: (language: Language, getDiscontinued?: boolean) => Promise<CompleteProgrammeVersion[]>;
|
|
15
15
|
};
|
|
16
16
|
export type ProgrammeResponse<T> = {
|
|
17
17
|
results: T[];
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PROGRAMME_VERSION_UTBILDNINGSTYP_IDS = void 0;
|
|
4
4
|
/**
|
|
5
|
-
* The utbildningstyp Ids that we are interested in when getting all
|
|
5
|
+
* The utbildningstyp Ids that we are interested in when getting all programme versions.
|
|
6
6
|
*/
|
|
7
7
|
exports.PROGRAMME_VERSION_UTBILDNINGSTYP_IDS = [
|
|
8
8
|
78, // 2007PRG
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ProgrammeVersion } from '../../mapProgrammeVersion';
|
|
2
2
|
import { CompleteProgrammeVersion } from '../types';
|
|
3
3
|
/**
|
|
4
|
-
* Adds a `
|
|
4
|
+
* Adds a `firstAdmissionSemester` property to each programme version in the list.
|
|
5
5
|
*
|
|
6
|
-
* The
|
|
6
|
+
* The semester is derived from the oldest version within the same programme code
|
|
7
7
|
* and uses the Ladok semester format (e.g. `HT2020`).
|
|
8
8
|
*/
|
|
9
|
-
export declare const
|
|
9
|
+
export declare const addFirstAdmissionSemester: (programmes: ProgrammeVersion[]) => CompleteProgrammeVersion[];
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.addFirstAdmissionSemester = void 0;
|
|
4
4
|
const utils_1 = require("../../utils");
|
|
5
5
|
const AcademicSemester_1 = require("../../utils/AcademicSemester");
|
|
6
6
|
const collectionUtils_1 = require("../../utils/collectionUtils");
|
|
7
7
|
/**
|
|
8
|
-
* Adds a `
|
|
8
|
+
* Adds a `firstAdmissionSemester` property to each programme version in the list.
|
|
9
9
|
*
|
|
10
|
-
* The
|
|
10
|
+
* The semester is derived from the oldest version within the same programme code
|
|
11
11
|
* and uses the Ladok semester format (e.g. `HT2020`).
|
|
12
12
|
*/
|
|
13
|
-
const
|
|
13
|
+
const addFirstAdmissionSemester = (programmes) => {
|
|
14
14
|
var _a, _b;
|
|
15
15
|
const grouped = (0, collectionUtils_1.groupBy)(programmes, p => p.kod);
|
|
16
16
|
const result = [];
|
|
@@ -18,10 +18,10 @@ const addFirstAdmissionTerm = (programmes) => {
|
|
|
18
18
|
const giltigFromCode = (_b = (_a = (0, utils_1.findOldestVersion)(list)) === null || _a === void 0 ? void 0 : _a.giltigFrom) === null || _b === void 0 ? void 0 : _b.code;
|
|
19
19
|
const latestVersion = (0, utils_1.findLatestVersion)(list);
|
|
20
20
|
if (latestVersion && giltigFromCode) {
|
|
21
|
-
result.push(Object.assign(Object.assign({}, latestVersion), {
|
|
21
|
+
result.push(Object.assign(Object.assign({}, latestVersion), { firstAdmissionSemester: AcademicSemester_1.AcademicSemester.fromLadokPeriodString(giltigFromCode) }));
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
return result;
|
|
25
25
|
};
|
|
26
|
-
exports.
|
|
26
|
+
exports.addFirstAdmissionSemester = addFirstAdmissionSemester;
|
|
27
27
|
//# sourceMappingURL=programmeVersionUtil.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"programmeVersionUtil.js","sourceRoot":"","sources":["../../../src/programme/utils/programmeVersionUtil.ts"],"names":[],"mappings":";;;AAEA,uCAAkE;AAClE,mEAA+D;AAC/D,iEAAqD;AAErD;;;;;GAKG;AACI,MAAM,
|
|
1
|
+
{"version":3,"file":"programmeVersionUtil.js","sourceRoot":"","sources":["../../../src/programme/utils/programmeVersionUtil.ts"],"names":[],"mappings":";;;AAEA,uCAAkE;AAClE,mEAA+D;AAC/D,iEAAqD;AAErD;;;;;GAKG;AACI,MAAM,yBAAyB,GAAG,CAAC,UAA8B,EAA8B,EAAE;;IACtG,MAAM,OAAO,GAAG,IAAA,yBAAO,EAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAE/C,MAAM,MAAM,GAA+B,EAAE,CAAA;IAE7C,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QACpC,MAAM,cAAc,GAAG,MAAA,MAAA,IAAA,yBAAiB,EAAC,IAAI,CAAC,0CAAE,UAAU,0CAAE,IAAI,CAAA;QAChE,MAAM,aAAa,GAAG,IAAA,yBAAiB,EAAC,IAAI,CAAC,CAAA;QAC7C,IAAI,aAAa,IAAI,cAAc,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,iCACN,aAAa,KAChB,sBAAsB,EAAE,mCAAgB,CAAC,qBAAqB,CAAC,cAAc,CAAC,IAC9E,CAAA;QACJ,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAjBY,QAAA,yBAAyB,6BAiBrC"}
|
|
@@ -15,7 +15,7 @@ const getAllEntitiesByUseOfContinuation_1 = require("../utils/getAllEntitiesByUs
|
|
|
15
15
|
const mapSearchResult_1 = require("../mapSearchResult");
|
|
16
16
|
const groupSearchResults_1 = require("../groupSearchResults");
|
|
17
17
|
const errorUtils_1 = require("../utils/errorUtils");
|
|
18
|
-
const
|
|
18
|
+
const mapCourseInstanceSearchDTO_1 = require("./utils/mapCourseInstanceSearchDTO");
|
|
19
19
|
const searchService_1 = require("./searchService");
|
|
20
20
|
const supportService_1 = require("../supportApis/supportService");
|
|
21
21
|
const SearchError_1 = require("../utils/SearchError");
|
|
@@ -23,7 +23,7 @@ const createSearchApi = (ladokClient) => {
|
|
|
23
23
|
const searchService = new searchService_1.SearchService(ladokClient);
|
|
24
24
|
const supportService = new supportService_1.SupportService(ladokClient);
|
|
25
25
|
return {
|
|
26
|
-
|
|
26
|
+
searchCourseInstances: (searchParams, language) => __awaiter(void 0, void 0, void 0, function* () {
|
|
27
27
|
try {
|
|
28
28
|
const cleanSearchParams = (0, searchUtils_1.validateAndCleanSearchParams)(searchParams);
|
|
29
29
|
const departmentList = yield supportService.getSchoolsWithDepartmentsForSearch(language);
|
|
@@ -33,8 +33,8 @@ const createSearchApi = (ladokClient) => {
|
|
|
33
33
|
const groupedCourses = (0, groupSearchResults_1.groupSearchResults)(mappedCourses, filterPeriod);
|
|
34
34
|
// TODO Remove this once we have a query parameter to filter for miljö courses
|
|
35
35
|
const courseVersionsToShow = (0, searchUtils_1.possiblyFilterByMiljo)(groupedCourses, cleanSearchParams.onlyMHU);
|
|
36
|
-
const
|
|
37
|
-
return { searchHits:
|
|
36
|
+
const courseInstanceSearchDTOs = courseVersionsToShow.map(mapCourseInstanceSearchDTO_1.mapCourseInstanceSearchDTO);
|
|
37
|
+
return { searchHits: courseInstanceSearchDTOs };
|
|
38
38
|
}
|
|
39
39
|
catch (error) {
|
|
40
40
|
const searchError = (0, errorUtils_1.toSearchError)(error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSearchApi.js","sourceRoot":"","sources":["../../src/search/createSearchApi.ts"],"names":[],"mappings":";;;;;;;;;;;;AAMA,qDAI4B;AAC5B,kGAA8F;AAC9F,wDAA2D;AAC3D,8DAA0D;AAC1D,oDAAmD;AACnD,
|
|
1
|
+
{"version":3,"file":"createSearchApi.js","sourceRoot":"","sources":["../../src/search/createSearchApi.ts"],"names":[],"mappings":";;;;;;;;;;;;AAMA,qDAI4B;AAC5B,kGAA8F;AAC9F,wDAA2D;AAC3D,8DAA0D;AAC1D,oDAAmD;AACnD,mFAA+E;AAC/E,mDAA+C;AAC/C,kEAA8D;AAC9D,sDAAsD;AAE/C,MAAM,eAAe,GAAG,CAAC,WAAsC,EAAa,EAAE;IACnF,MAAM,aAAa,GAAG,IAAI,6BAAa,CAAC,WAAW,CAAC,CAAA;IACpD,MAAM,cAAc,GAAG,IAAI,+BAAc,CAAC,WAAW,CAAC,CAAA;IACtD,OAAO;QACL,qBAAqB,EAAE,CAAO,YAAY,EAAE,QAAQ,EAAE,EAAE;YACtD,IAAI,CAAC;gBACH,MAAM,iBAAiB,GAAG,IAAA,0CAA4B,EAAC,YAAY,CAAC,CAAA;gBAEpE,MAAM,cAAc,GAAG,MAAM,cAAc,CAAC,kCAAkC,CAAC,QAAQ,CAAC,CAAA;gBAExF,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,IAAA,wDAA0C,EAC/E,iBAAiB,EACjB,cAAc,CACf,CAAA;gBAED,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,qEAAiC,EAGzE,WAAW,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAA;gBAE7C,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAA,wCAAsB,EAAC,MAAO,EAAE,QAAQ,CAAC,CAAC,CAAA;gBAEzF,MAAM,cAAc,GAAG,IAAA,uCAAkB,EAAC,aAAa,EAAE,YAAY,CAAC,CAAA;gBAEtE,8EAA8E;gBAC9E,MAAM,oBAAoB,GAAG,IAAA,mCAAqB,EAAC,cAAc,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAA;gBAE7F,MAAM,wBAAwB,GAAG,oBAAoB,CAAC,GAAG,CAAC,uDAA0B,CAAC,CAAA;gBAErF,OAAO,EAAE,UAAU,EAAE,wBAAwB,EAAE,CAAA;YACjD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,WAAW,GAAG,IAAA,0BAAa,EAAC,KAAK,CAAC,CAAA;gBACxC,OAAO;oBACL,UAAU,EAAE,EAAE;oBACd,SAAS,EAAE,WAAW,CAAC,SAAS;iBACjC,CAAA;YACH,CAAC;QACH,CAAC,CAAA;QACD,oBAAoB,EAAE,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC;QAC5E,2BAA2B,EAAE,CAAO,gBAAgB,EAAE,QAAQ,EAAE,EAAE;YAChE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,aAAa,CAAC,2BAA2B,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAA;YAE3G,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO;oBACL,wBAAwB,EAAE;wBACxB,cAAc,EAAE,EAAE;wBAClB,UAAU,EAAE,EAAE;wBACd,OAAO,EAAE,EAAE;qBACZ;oBACD,SAAS,EAAE,6BAAe,CAAC,aAAa;iBACzC,CAAA;YACH,CAAC;YAED,OAAO;gBACL,wBAAwB,EAAE;oBACxB,cAAc,EAAE,UAAU,CAAC,IAAI;oBAC/B,UAAU,EAAE,UAAU,CAAC,IAAI;oBAC3B,OAAO;iBACR;gBACD,SAAS,EAAE,6BAAe,CAAC,aAAa;aACzC,CAAA;QACH,CAAC,CAAA;KACF,CAAA;AACH,CAAC,CAAA;AA/DY,QAAA,eAAe,mBA+D3B"}
|
|
@@ -10,7 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.SearchService = void 0;
|
|
13
|
-
const
|
|
13
|
+
const mapCourseVersion_1 = require("../mapCourseVersion");
|
|
14
14
|
const errorUtils_1 = require("../utils/errorUtils");
|
|
15
15
|
const gradingScalesUtils_1 = require("../utils/gradingScalesUtils");
|
|
16
16
|
const getAllEntitiesByUseOfContinuation_1 = require("../utils/getAllEntitiesByUseOfContinuation");
|
|
@@ -31,8 +31,8 @@ class SearchService {
|
|
|
31
31
|
try {
|
|
32
32
|
const cleanSearchParams = (0, searchUtils_1.validateAndCleanSearchParams)(searchParams);
|
|
33
33
|
const departmentList = yield this.supportService.getSchoolsWithDepartmentsForSearch(language);
|
|
34
|
-
const
|
|
35
|
-
const latestApprovedCourses = yield this.searchLatestApprovedCourseVersions(
|
|
34
|
+
const requestQueryForCourseVersion = (0, searchUtils_1.prepareSearchRequestQueryForCourseVersion)(cleanSearchParams, departmentList);
|
|
35
|
+
const latestApprovedCourses = yield this.searchLatestApprovedCourseVersions(requestQueryForCourseVersion, language);
|
|
36
36
|
// TODO Remove this once we have a query parameter to filter for miljö courses
|
|
37
37
|
const courseVersionsToShow = (0, searchUtils_1.possiblyFilterByMiljo)(latestApprovedCourses, cleanSearchParams.onlyMHU);
|
|
38
38
|
const courseVersionDTOs = courseVersionsToShow.map(mapCourseVersionDTO_1.mapCourseVersionDTO);
|
|
@@ -51,7 +51,7 @@ class SearchService {
|
|
|
51
51
|
return __awaiter(this, void 0, void 0, function* () {
|
|
52
52
|
const { allEntities: allCourseVersions } = yield (0, getAllEntitiesByUseOfContinuation_1.getAllEntitiesByUseOfContinuation)(this.ladokClient.sokUtbildningsInstans, requestQueryForKursInstans, continuationOptions);
|
|
53
53
|
const gradingScalesCodes = yield (0, gradingScalesUtils_1.getGradingScalesCodes)(this.ladokClient); // TODO: Use cached values
|
|
54
|
-
const allMappedCourseVersions = allCourseVersions.map(courseVersion => (0,
|
|
54
|
+
const allMappedCourseVersions = allCourseVersions.map(courseVersion => (0, mapCourseVersion_1.mapCourseVersion)(courseVersion, language, gradingScalesCodes));
|
|
55
55
|
const latestCourseVersions = (0, searchUtils_1.findLatestCourseVersions)(allMappedCourseVersions);
|
|
56
56
|
return (0, getLatestCompletedCourseVersions_1.getLatestCompletedCourseVersions)(latestCourseVersions);
|
|
57
57
|
});
|
|
@@ -65,11 +65,11 @@ class SearchService {
|
|
|
65
65
|
const schoolsWithDepartments = yield this.supportService.getSchoolsWithDepartmentsForSearch(language);
|
|
66
66
|
// This endpoint is not supposed to accept user input for department code or educational level,
|
|
67
67
|
// so we prepare the request query based on the departmentParams instead of cleaning them.
|
|
68
|
-
const
|
|
68
|
+
const requestQueryForCourseVersion = (0, searchUtils_1.prepareSearchRequestQueryForDepartmentList)(schoolsWithDepartments, {
|
|
69
69
|
organisation,
|
|
70
70
|
rawUtbildningsniva,
|
|
71
71
|
});
|
|
72
|
-
const latestApprovedCourseVersions = yield this.searchLatestApprovedCourseVersions(
|
|
72
|
+
const latestApprovedCourseVersions = yield this.searchLatestApprovedCourseVersions(requestQueryForCourseVersion, language, { maxContinuationIterations: 10, maxSearchResultsToReturn: 1000 });
|
|
73
73
|
const courseVersionDTOs = latestApprovedCourseVersions.map(mapCourseVersionDTO_1.mapCourseVersionDTO);
|
|
74
74
|
const department = yield this.supportService.getDepartmentByCode(organisation, language);
|
|
75
75
|
return { department, courses: courseVersionDTOs };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searchService.js","sourceRoot":"","sources":["../../src/search/searchService.ts"],"names":[],"mappings":";;;;;;;;;;;;AAMA,
|
|
1
|
+
{"version":3,"file":"searchService.js","sourceRoot":"","sources":["../../src/search/searchService.ts"],"names":[],"mappings":";;;;;;;;;;;;AAMA,0DAAsD;AACtD,oDAAmD;AACnD,oEAAmE;AACnE,kGAA8F;AAC9F,+FAA2F;AAC3F,qEAAiE;AACjE,qDAM4B;AAE5B,4EAAwE;AACxE,kEAA8D;AAC9D,sDAAkD;AAGlD,MAAa,aAAa;IAGxB,YAAoB,WAAsC;QAAtC,gBAAW,GAAX,WAAW,CAA2B;QACxD,IAAI,CAAC,mBAAmB,GAAG,IAAI,yCAAmB,CAAC,WAAW,CAAC,CAAA;QAC/D,IAAI,CAAC,cAAc,GAAG,IAAI,+BAAc,CAAC,WAAW,CAAC,CAAA;IACvD,CAAC;IAEY,oBAAoB,CAAC,YAA0B,EAAE,QAAkB;;YAC9E,IAAI,CAAC;gBACH,MAAM,iBAAiB,GAAG,IAAA,0CAA4B,EAAC,YAAY,CAAC,CAAA;gBAEpE,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,kCAAkC,CAAC,QAAQ,CAAC,CAAA;gBAE7F,MAAM,4BAA4B,GAAG,IAAA,uDAAyC,EAAC,iBAAiB,EAAE,cAAc,CAAC,CAAA;gBAEjH,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,kCAAkC,CACzE,4BAA4B,EAC5B,QAAQ,CACT,CAAA;gBAED,8EAA8E;gBAC9E,MAAM,oBAAoB,GAAG,IAAA,mCAAqB,EAAC,qBAAqB,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAA;gBAEpG,MAAM,iBAAiB,GAAuB,oBAAoB,CAAC,GAAG,CAAC,yCAAmB,CAAC,CAAA;gBAE3F,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAA;YAC1C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,WAAW,GAAG,IAAA,0BAAa,EAAC,KAAK,CAAC,CAAA;gBACxC,OAAO;oBACL,UAAU,EAAE,EAAE;oBACd,SAAS,EAAE,WAAW,CAAC,SAAS;iBACjC,CAAA;YACH,CAAC;QACH,CAAC;KAAA;IAEa,kCAAkC,CAC9C,0BAAsD,EACtD,QAAkB,EAClB,mBAAyC;;YAEzC,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,MAAM,IAAA,qEAAiC,EAGhF,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,0BAA0B,EAAE,mBAAmB,CAAC,CAAA;YAE1F,MAAM,kBAAkB,GAAG,MAAM,IAAA,0CAAqB,EAAC,IAAI,CAAC,WAAW,CAAC,CAAA,CAAC,0BAA0B;YAEnG,MAAM,uBAAuB,GAAG,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CACpE,IAAA,mCAAgB,EAAC,aAAa,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAC9D,CAAA;YAED,MAAM,oBAAoB,GAAG,IAAA,sCAAwB,EAAC,uBAAuB,CAAC,CAAA;YAE9E,OAAO,IAAA,mEAAgC,EAAC,oBAAoB,CAAC,CAAA;QAC/D,CAAC;KAAA;IAEY,2BAA2B;6DACtC,EAAE,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAoB,EACvE,QAAkB;YAElB,OAAO,CAAC,GAAG,CACT,yCAAyC,YAAY,8BAA8B,kBAAkB,GAAG,CACzG,CAAA;YACD,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,yBAAW,CAAC,gBAAgB,CAChC,sBAAsB,YAAY,wBAAwB,kBAAkB,GAAG,CAChF,CAAA;YACH,CAAC;YAED,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,kCAAkC,CAAC,QAAQ,CAAC,CAAA;YAErG,+FAA+F;YAC/F,0FAA0F;YAC1F,MAAM,4BAA4B,GAAG,IAAA,wDAA0C,EAAC,sBAAsB,EAAE;gBACtG,YAAY;gBACZ,kBAAkB;aACnB,CAAC,CAAA;YAEF,MAAM,4BAA4B,GAAG,MAAM,IAAI,CAAC,kCAAkC,CAChF,4BAA4B,EAC5B,QAAQ,EACR,EAAE,yBAAyB,EAAE,EAAE,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAClE,CAAA;YAED,MAAM,iBAAiB,GAAuB,4BAA4B,CAAC,GAAG,CAAC,yCAAmB,CAAC,CAAA;YACnG,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;YAExF,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAA;QACnD,CAAC;KAAA;CACF;AA1FD,sCA0FC"}
|
package/dist/search/types.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { EducationalLevelCode } from '@kth/ladok-attributvarde-utils';
|
|
2
2
|
import { Language } from '../utils';
|
|
3
3
|
export type SearchApi = {
|
|
4
|
-
|
|
4
|
+
searchCourseInstances: (searchParams: SearchParams, language: Language) => Promise<SearchCourseResponse<CourseInstanceSearchDTO>>;
|
|
5
5
|
searchCourseVersions: (searchParams: SearchParams, language: Language) => Promise<SearchCourseResponse<CourseVersionDTO>>;
|
|
6
6
|
getDepartmentWithCourseList: (searchParams: DepartmentParams, language: Language) => Promise<DepartmentWithCourseListResponse>;
|
|
7
7
|
};
|
|
@@ -31,7 +31,7 @@ export type CourseVersionDTO = {
|
|
|
31
31
|
omfattning: string;
|
|
32
32
|
utbildningstyp: string;
|
|
33
33
|
};
|
|
34
|
-
export type
|
|
34
|
+
export type CourseInstanceSearchDTO = {
|
|
35
35
|
kod: string;
|
|
36
36
|
benamning: string;
|
|
37
37
|
omfattning: string;
|
|
@@ -20,4 +20,4 @@ export declare const getUtbildningsnivaParameterForKursTillfalle: (educationalLe
|
|
|
20
20
|
* @param educationalLevels
|
|
21
21
|
* @returns
|
|
22
22
|
*/
|
|
23
|
-
export declare const
|
|
23
|
+
export declare const getUtbildningsnivaParameterForCourseVersion: (educationalLevels: EducationalLevelCode[] | undefined) => string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getUtbildningsnivaParameterForCourseVersion = exports.getUtbildningsnivaParameterForKursTillfalle = exports.getVersionUtbildningstyperForEducationalLevels = exports.getAllVersionUtbildningstyperIDs = void 0;
|
|
4
4
|
const ladok_attributvarde_utils_1 = require("@kth/ladok-attributvarde-utils");
|
|
5
5
|
const utbildningsTypIdConstants_1 = require("../utbildningsTypIdConstants");
|
|
6
6
|
const getAllVersionUtbildningstyperIDs = () => {
|
|
@@ -49,12 +49,12 @@ exports.getUtbildningsnivaParameterForKursTillfalle = getUtbildningsnivaParamete
|
|
|
49
49
|
* @param educationalLevels
|
|
50
50
|
* @returns
|
|
51
51
|
*/
|
|
52
|
-
const
|
|
52
|
+
const getUtbildningsnivaParameterForCourseVersion = (educationalLevels) => {
|
|
53
53
|
if (!educationalLevels)
|
|
54
54
|
return (0, exports.getAllVersionUtbildningstyperIDs)().join(',');
|
|
55
55
|
return getCommaSeparatedEducationalTypesInFormat('ID', educationalLevels);
|
|
56
56
|
};
|
|
57
|
-
exports.
|
|
57
|
+
exports.getUtbildningsnivaParameterForCourseVersion = getUtbildningsnivaParameterForCourseVersion;
|
|
58
58
|
const getCommaSeparatedEducationalTypesInFormat = (format, educationalLevels) => {
|
|
59
59
|
const selectedEducationalTypes = (0, exports.getVersionUtbildningstyperForEducationalLevels)(educationalLevels);
|
|
60
60
|
const selectedEducationalTypeIdentifiers = selectedEducationalTypes.map(item => item[format]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"educationalTypeUtils.js","sourceRoot":"","sources":["../../../src/search/utils/educationalTypeUtils.ts"],"names":[],"mappings":";;;AAAA,8EAAqE;AACrE,4EAMqC;AAE9B,MAAM,gCAAgC,GAAG,GAAa,EAAE;IAC7D,OAAO;QACL,GAAG,kEAAsC;QACzC,GAAG,4DAAgC;QACnC,GAAG,+DAAmC;QACtC,GAAG,gEAAoC;QACvC,GAAG,8DAAkC;KACtC,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA;AAC5C,CAAC,CAAA;AARY,QAAA,gCAAgC,oCAQ5C;AAED;;;;GAIG;AACI,MAAM,8CAA8C,GAAG,CAAC,iBAAyC,EAAE,EAAE;IAC1G,OAAO,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACvC,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,gDAAoB,CAAC,WAAW;gBACnC,OAAO,kEAAsC,CAAA;YAC/C,KAAK,gDAAoB,CAAC,KAAK;gBAC7B,OAAO,4DAAgC,CAAA;YACzC,KAAK,gDAAoB,CAAC,QAAQ;gBAChC,OAAO,+DAAmC,CAAA;YAC5C,KAAK,gDAAoB,CAAC,QAAQ;gBAChC,OAAO,gEAAoC,CAAA;QAC/C,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAbY,QAAA,8CAA8C,kDAa1D;AAED;;;;GAIG;AACI,MAAM,2CAA2C,GAAG,CACzD,iBAAqD,EACjC,EAAE;IACtB,IAAI,CAAC,iBAAiB;QAAE,OAAO,SAAS,CAAA;IAExC,OAAO,yCAAyC,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAA;AAC5E,CAAC,CAAA;AANY,QAAA,2CAA2C,+CAMvD;AAED;;;;GAIG;AACI,MAAM,
|
|
1
|
+
{"version":3,"file":"educationalTypeUtils.js","sourceRoot":"","sources":["../../../src/search/utils/educationalTypeUtils.ts"],"names":[],"mappings":";;;AAAA,8EAAqE;AACrE,4EAMqC;AAE9B,MAAM,gCAAgC,GAAG,GAAa,EAAE;IAC7D,OAAO;QACL,GAAG,kEAAsC;QACzC,GAAG,4DAAgC;QACnC,GAAG,+DAAmC;QACtC,GAAG,gEAAoC;QACvC,GAAG,8DAAkC;KACtC,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA;AAC5C,CAAC,CAAA;AARY,QAAA,gCAAgC,oCAQ5C;AAED;;;;GAIG;AACI,MAAM,8CAA8C,GAAG,CAAC,iBAAyC,EAAE,EAAE;IAC1G,OAAO,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACvC,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,gDAAoB,CAAC,WAAW;gBACnC,OAAO,kEAAsC,CAAA;YAC/C,KAAK,gDAAoB,CAAC,KAAK;gBAC7B,OAAO,4DAAgC,CAAA;YACzC,KAAK,gDAAoB,CAAC,QAAQ;gBAChC,OAAO,+DAAmC,CAAA;YAC5C,KAAK,gDAAoB,CAAC,QAAQ;gBAChC,OAAO,gEAAoC,CAAA;QAC/C,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAbY,QAAA,8CAA8C,kDAa1D;AAED;;;;GAIG;AACI,MAAM,2CAA2C,GAAG,CACzD,iBAAqD,EACjC,EAAE;IACtB,IAAI,CAAC,iBAAiB;QAAE,OAAO,SAAS,CAAA;IAExC,OAAO,yCAAyC,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAA;AAC5E,CAAC,CAAA;AANY,QAAA,2CAA2C,+CAMvD;AAED;;;;GAIG;AACI,MAAM,2CAA2C,GAAG,CACzD,iBAAqD,EAC7C,EAAE;IACV,IAAI,CAAC,iBAAiB;QAAE,OAAO,IAAA,wCAAgC,GAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAE3E,OAAO,yCAAyC,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAA;AAC3E,CAAC,CAAA;AANY,QAAA,2CAA2C,+CAMvD;AAED,MAAM,yCAAyC,GAAG,CAChD,MAAoB,EACpB,iBAAyC,EACjC,EAAE;IACV,MAAM,wBAAwB,GAAG,IAAA,sDAA8C,EAAC,iBAAiB,CAAC,CAAA;IAElG,MAAM,kCAAkC,GAAG,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAE7F,OAAO,kCAAkC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACrD,CAAC,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CourseVersion } from '../../mapCourseVersion';
|
|
2
2
|
/**
|
|
3
3
|
* Returns only course versions that have been completed at least once.
|
|
4
4
|
* This means that the versionsnummer is greater than 1 or if it is 1, the ladokStatusCode is Complete.
|
|
5
5
|
* @param courseVersions
|
|
6
6
|
* @returns
|
|
7
7
|
*/
|
|
8
|
-
export declare const getLatestCompletedCourseVersions: <T extends Pick<
|
|
8
|
+
export declare const getLatestCompletedCourseVersions: <T extends Pick<CourseVersion, "versionsnummer" | "ladokStatusCode">>(courseVersions: T[]) => T[];
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mapCourseInstanceSearchDTO = void 0;
|
|
4
|
+
const typeChecking_1 = require("../../utils/typeChecking");
|
|
5
|
+
const castToString = (value) => {
|
|
6
|
+
if (typeof value === 'string') {
|
|
7
|
+
return value;
|
|
8
|
+
}
|
|
9
|
+
if (typeof value === 'number') {
|
|
10
|
+
return value.toString();
|
|
11
|
+
}
|
|
12
|
+
return '';
|
|
13
|
+
};
|
|
14
|
+
const mapCourseInstanceSearchDTO = (courseInstance) => {
|
|
15
|
+
var _a;
|
|
16
|
+
const utbildningstyper = courseInstance.utbildningstyp.map(({ level: { name: educationalLevel = '' } = {} }) => educationalLevel);
|
|
17
|
+
const studietakter = courseInstance.studietakt.map(({ takt }) => takt).filter(typeChecking_1.isDefined);
|
|
18
|
+
const undervisningssprak = courseInstance.undervisningssprak.map(({ name: courseLanguage = '' }) => courseLanguage);
|
|
19
|
+
const studieorter = courseInstance.studieort.map(({ name: courseCampus = '' }) => courseCampus);
|
|
20
|
+
const allStartPeriods = courseInstance.startperiod.map(({ code: startTerm = '' }) => startTerm);
|
|
21
|
+
const startTerm = allStartPeriods.length === 1 ? allStartPeriods[0] : undefined;
|
|
22
|
+
const perioder = courseInstance.period.map(({ forstaUndervisningsdatum: { year: startPeriodYear, period: startPeriod } = {}, sistaUndervisningsdatum: { year: endPeriodYear, period: endPeriod } = {}, tillfallesperioderNummer = undefined, }) => ({
|
|
23
|
+
startPeriodYear: castToString(startPeriodYear),
|
|
24
|
+
startPeriod,
|
|
25
|
+
endPeriodYear: castToString(endPeriodYear),
|
|
26
|
+
endPeriod,
|
|
27
|
+
tillfallesperioderNummer,
|
|
28
|
+
}));
|
|
29
|
+
return {
|
|
30
|
+
kod: courseInstance.kod,
|
|
31
|
+
benamning: courseInstance.benamning,
|
|
32
|
+
omfattning: (_a = courseInstance.omfattning.formattedWithUnit) !== null && _a !== void 0 ? _a : '',
|
|
33
|
+
utbildningstyper,
|
|
34
|
+
studietakter,
|
|
35
|
+
undervisningssprak,
|
|
36
|
+
studieorter,
|
|
37
|
+
startTerm,
|
|
38
|
+
perioder,
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
exports.mapCourseInstanceSearchDTO = mapCourseInstanceSearchDTO;
|
|
42
|
+
//# sourceMappingURL=mapCourseInstanceSearchDTO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mapCourseInstanceSearchDTO.js","sourceRoot":"","sources":["../../../src/search/utils/mapCourseInstanceSearchDTO.ts"],"names":[],"mappings":";;;AAAA,2DAAoD;AAIpD,MAAM,YAAY,GAAG,CAAC,KAAkC,EAAU,EAAE;IAClE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAA;IACzB,CAAC;IACD,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAEM,MAAM,0BAA0B,GAAG,CAAC,cAAyC,EAA2B,EAAE;;IAC/G,MAAM,gBAAgB,GAAa,cAAc,CAAC,cAAc,CAAC,GAAG,CAClE,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,gBAAgB,CACtE,CAAA;IAED,MAAM,YAAY,GAAa,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,wBAAS,CAAC,CAAA;IAElG,MAAM,kBAAkB,GAAa,cAAc,CAAC,kBAAkB,CAAC,GAAG,CACxE,CAAC,EAAE,IAAI,EAAE,cAAc,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,cAAc,CAClD,CAAA;IAED,MAAM,WAAW,GAAa,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,CAAA;IAEzG,MAAM,eAAe,GAAa,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,CAAA;IACzG,MAAM,SAAS,GAAuB,eAAe,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAEnG,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,GAAG,CACxC,CAAC,EACC,wBAAwB,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,EAC7E,uBAAuB,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,EACxE,wBAAwB,GAAG,SAAS,GACrC,EAAE,EAAE,CAAC,CAAC;QACL,eAAe,EAAE,YAAY,CAAC,eAAe,CAAC;QAC9C,WAAW;QACX,aAAa,EAAE,YAAY,CAAC,aAAa,CAAC;QAC1C,SAAS;QACT,wBAAwB;KACzB,CAAC,CACH,CAAA;IAED,OAAO;QACL,GAAG,EAAE,cAAc,CAAC,GAAG;QACvB,SAAS,EAAE,cAAc,CAAC,SAAS;QACnC,UAAU,EAAE,MAAA,cAAc,CAAC,UAAU,CAAC,iBAAiB,mCAAI,EAAE;QAC7D,gBAAgB;QAChB,YAAY;QACZ,kBAAkB;QAClB,WAAW;QACX,SAAS;QACT,QAAQ;KACT,CAAA;AACH,CAAC,CAAA;AAzCY,QAAA,0BAA0B,8BAyCtC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CourseVersion } from '../../mapCourseVersion';
|
|
2
2
|
import { CourseVersionDTO } from '../types';
|
|
3
|
-
export declare const mapCourseVersionDTO: (courseVersion:
|
|
3
|
+
export declare const mapCourseVersionDTO: (courseVersion: CourseVersion) => CourseVersionDTO;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapCourseVersionDTO.js","sourceRoot":"","sources":["../../../src/search/utils/mapCourseVersionDTO.ts"],"names":[],"mappings":";;;AAGO,MAAM,mBAAmB,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"mapCourseVersionDTO.js","sourceRoot":"","sources":["../../../src/search/utils/mapCourseVersionDTO.ts"],"names":[],"mappings":";;;AAGO,MAAM,mBAAmB,GAAG,CAAC,aAA4B,EAAoB,EAAE;;IACpF,OAAO;QACL,GAAG,EAAE,aAAa,CAAC,GAAG;QACtB,SAAS,EAAE,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,CAAC,IAAI,mCAAI,EAAE;QAC9C,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,iBAAiB;QACtD,cAAc,EAAE,MAAA,MAAA,aAAa,CAAC,cAAc,0CAAE,KAAK,CAAC,IAAI,mCAAI,EAAE;KAC/D,CAAA;AACH,CAAC,CAAA;AAPY,QAAA,mBAAmB,uBAO/B"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SokUtbildningsInstansQuery, SokUtbildningsTillfalleQuery } from '@kth/ladok-mellanlager-client';
|
|
2
2
|
import { CleanSearchParams, SearchParams } from '../types';
|
|
3
3
|
import { SchoolWithDepartments } from '../../supportApis/types';
|
|
4
|
-
import {
|
|
4
|
+
import { CourseVersion } from '../../mapCourseVersion';
|
|
5
5
|
/**
|
|
6
6
|
* Validates and cleans the search parameters for the search API.
|
|
7
7
|
* Throws an error if the searchParams are invalid.
|
|
@@ -16,7 +16,7 @@ export declare const prepareSearchRequestQueryForKursTillfallen: (searchParams:
|
|
|
16
16
|
requestQuery: NonNullable<SokUtbildningsTillfalleQuery>;
|
|
17
17
|
filterPeriod: boolean;
|
|
18
18
|
};
|
|
19
|
-
export declare const
|
|
19
|
+
export declare const prepareSearchRequestQueryForCourseVersion: (searchParams: CleanSearchParams, schoolsWithDepartments: SchoolWithDepartments[]) => NonNullable<SokUtbildningsInstansQuery>;
|
|
20
20
|
export declare const prepareSearchRequestQueryForDepartmentList: (schoolsWithDepartments: SchoolWithDepartments[], { rawUtbildningsniva, organisation, }: {
|
|
21
21
|
organisation?: string;
|
|
22
22
|
rawUtbildningsniva: string[] | undefined;
|
|
@@ -28,7 +28,7 @@ export declare const prepareSearchRequestQueryForDepartmentList: (schoolsWithDep
|
|
|
28
28
|
* @param courseVersions
|
|
29
29
|
* @returns
|
|
30
30
|
*/
|
|
31
|
-
export declare const findLatestCourseVersions: (courseVersions:
|
|
31
|
+
export declare const findLatestCourseVersions: (courseVersions: CourseVersion[]) => CourseVersion[];
|
|
32
32
|
/**
|
|
33
33
|
* If onlyMHU is true, this function filters the courses to only include those that have the flag isMiljo set to true.
|
|
34
34
|
* @param courses
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.possiblyFilterByMiljo = exports.findLatestCourseVersions = exports.prepareSearchRequestQueryForDepartmentList = exports.
|
|
3
|
+
exports.possiblyFilterByMiljo = exports.findLatestCourseVersions = exports.prepareSearchRequestQueryForDepartmentList = exports.prepareSearchRequestQueryForCourseVersion = exports.prepareSearchRequestQueryForKursTillfallen = exports.validateAndCleanSearchParams = void 0;
|
|
4
4
|
const SearchError_1 = require("../../utils/SearchError");
|
|
5
5
|
const utils_1 = require("../../utils");
|
|
6
6
|
const ladok_attributvarde_utils_1 = require("@kth/ladok-attributvarde-utils");
|
|
@@ -73,22 +73,22 @@ const getOrganisationsFilter = (organisationer, organisation) => {
|
|
|
73
73
|
}
|
|
74
74
|
return organisation;
|
|
75
75
|
};
|
|
76
|
-
const
|
|
76
|
+
const prepareSearchRequestQueryForCourseVersion = (searchParams, schoolsWithDepartments) => {
|
|
77
77
|
const { kodEllerBenamning, avvecklad, organisation, utbildningsniva } = searchParams;
|
|
78
78
|
const organisationsFilter = getOrganisationsFilter(schoolsWithDepartments, organisation);
|
|
79
|
-
return Object.assign(Object.assign(Object.assign(Object.assign({},
|
|
79
|
+
return Object.assign(Object.assign(Object.assign(Object.assign({}, minimalSearchRequestQueryForCourseVersion(queryConstants_1.MAX_ANTAL_TRAFFAR, utbildningsniva)), { kodEllerBenamning: kodEllerBenamning !== null && kodEllerBenamning !== void 0 ? kodEllerBenamning : '*' }), (avvecklad && { avvecklad })), (organisationsFilter && { organisation: organisationsFilter }));
|
|
80
80
|
};
|
|
81
|
-
exports.
|
|
82
|
-
const
|
|
81
|
+
exports.prepareSearchRequestQueryForCourseVersion = prepareSearchRequestQueryForCourseVersion;
|
|
82
|
+
const minimalSearchRequestQueryForCourseVersion = (antalTraffar, utbildningsniva) => ({
|
|
83
83
|
antalTraffar,
|
|
84
84
|
utbildningstypgrundtyp: 'KURS',
|
|
85
|
-
utbildningstypid: (0, educationalTypeUtils_1.
|
|
85
|
+
utbildningstypid: (0, educationalTypeUtils_1.getUtbildningsnivaParameterForCourseVersion)(utbildningsniva),
|
|
86
86
|
senasteversion: 'true',
|
|
87
87
|
});
|
|
88
88
|
const prepareSearchRequestQueryForDepartmentList = (schoolsWithDepartments, { rawUtbildningsniva, organisation, }) => {
|
|
89
89
|
const organisationsFilter = getOrganisationsFilter(schoolsWithDepartments, organisation);
|
|
90
90
|
const utbildningsniva = rawUtbildningsniva ? cleanUtbildningsnivaParam(rawUtbildningsniva) : undefined;
|
|
91
|
-
return Object.assign(Object.assign({},
|
|
91
|
+
return Object.assign(Object.assign({}, minimalSearchRequestQueryForCourseVersion(queryConstants_1.MAX_ANTAL_TRAFFAR, utbildningsniva)), (organisationsFilter && { organisation: organisationsFilter }));
|
|
92
92
|
};
|
|
93
93
|
exports.prepareSearchRequestQueryForDepartmentList = prepareSearchRequestQueryForDepartmentList;
|
|
94
94
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searchUtils.js","sourceRoot":"","sources":["../../../src/search/utils/searchUtils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"searchUtils.js","sourceRoot":"","sources":["../../../src/search/utils/searchUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -74,7 +74,7 @@ class SupportService {
|
|
|
74
74
|
kodEllerBenamning: '*',
|
|
75
75
|
organisation: departmentCode,
|
|
76
76
|
senasteversion: 'true',
|
|
77
|
-
utbildningstypid: (0, educationalTypeUtils_1.
|
|
77
|
+
utbildningstypid: (0, educationalTypeUtils_1.getUtbildningsnivaParameterForCourseVersion)(utbildningsniva),
|
|
78
78
|
avvecklad: avvecklad ? 'true' : 'false',
|
|
79
79
|
antalTraffar: '1',
|
|
80
80
|
};
|