@kth/om-kursen-ladok-client 1.1.0 → 1.1.1

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.
Files changed (43) hide show
  1. package/dist/createApiClient.js +111 -5
  2. package/dist/createApiClient.js.map +1 -1
  3. package/dist/mapCourseInstans.d.ts +8 -0
  4. package/dist/mapCourseInstans.js +21 -0
  5. package/dist/mapCourseInstans.js.map +1 -0
  6. package/dist/mapCourseRound.d.ts +25 -3
  7. package/dist/mapCourseRound.js +20 -17
  8. package/dist/mapCourseRound.js.map +1 -1
  9. package/dist/mapCourseSyllabus.d.ts +76 -0
  10. package/dist/mapCourseSyllabus.js +67 -0
  11. package/dist/mapCourseSyllabus.js.map +1 -0
  12. package/dist/mapProgramTillfalle.d.ts +22 -0
  13. package/dist/mapProgramTillfalle.js +39 -0
  14. package/dist/mapProgramTillfalle.js.map +1 -0
  15. package/dist/mapStructureCourses.d.ts +24 -0
  16. package/dist/mapStructureCourses.js +27 -0
  17. package/dist/mapStructureCourses.js.map +1 -0
  18. package/dist/types/OmKursenLadokApiClient.d.ts +10 -1
  19. package/dist/utils/courseSyllabusUtil.d.ts +4 -0
  20. package/dist/utils/courseSyllabusUtil.js +66 -0
  21. package/dist/utils/courseSyllabusUtil.js.map +1 -0
  22. package/dist/utils/creditsUtil.d.ts +1 -0
  23. package/dist/utils/creditsUtil.js +3 -2
  24. package/dist/utils/creditsUtil.js.map +1 -1
  25. package/dist/utils/dateUtil.d.ts +1 -0
  26. package/dist/utils/dateUtil.js +4 -1
  27. package/dist/utils/dateUtil.js.map +1 -1
  28. package/dist/utils/examinationModulesUtil.d.ts +12 -1
  29. package/dist/utils/examinationModulesUtil.js +15 -1
  30. package/dist/utils/examinationModulesUtil.js.map +1 -1
  31. package/dist/utils/languageUtil.d.ts +8 -1
  32. package/dist/utils/languageUtil.js +10 -2
  33. package/dist/utils/languageUtil.js.map +1 -1
  34. package/dist/utils/periodUtil.d.ts +1 -0
  35. package/dist/utils/periodUtil.js +7 -1
  36. package/dist/utils/periodUtil.js.map +1 -1
  37. package/dist/utils/programStrukturUtil.d.ts +77 -0
  38. package/dist/utils/programStrukturUtil.js +191 -0
  39. package/dist/utils/programStrukturUtil.js.map +1 -0
  40. package/dist/utils/studyYearUtil.d.ts +25 -0
  41. package/dist/utils/studyYearUtil.js +48 -0
  42. package/dist/utils/studyYearUtil.js.map +1 -0
  43. package/package.json +3 -3
@@ -19,6 +19,10 @@ const utils_1 = require("./utils");
19
19
  const mapUtbildningsplan_1 = require("./mapUtbildningsplan");
20
20
  const ladok_attributvarde_utils_1 = require("@kth/ladok-attributvarde-utils");
21
21
  const examinationModulesUtil_1 = require("./utils/examinationModulesUtil");
22
+ const programStrukturUtil_1 = require("./utils/programStrukturUtil");
23
+ const mapProgramTillfalle_1 = require("./mapProgramTillfalle");
24
+ const courseSyllabusUtil_1 = require("./utils/courseSyllabusUtil");
25
+ const mapCourseSyllabus_1 = require("./mapCourseSyllabus");
22
26
  const gradingScalesUtils_1 = require("./utils/gradingScalesUtils");
23
27
  const filterAndMapCourseRounds = (response, language) => {
24
28
  if (response.type === "error") {
@@ -30,6 +34,15 @@ const filterAndMapCourseRounds = (response, language) => {
30
34
  .filter((x) => { var _a; return !((_a = x.tillfalleskod) === null || _a === void 0 ? void 0 : _a.startsWith("OM")); } // TODO: "om-tillfällen" shouldn't be displayed on "Om kursen" - I've asked Sussane if we chould have solution an other solution than the tillfälleskod for this.
31
35
  );
32
36
  };
37
+ const filterAndMapProgramTillfalle = (response, language) => {
38
+ if (response.type === "error") {
39
+ throw new Error(`API error: ${response.responseInfo.message}`);
40
+ }
41
+ return response.items
42
+ .map((x) => (0, mapProgramTillfalle_1.mapProgramTillfalle)(x, language))
43
+ .filter((x) => x !== undefined)
44
+ .filter((x) => { var _a; return (_a = x.lokalmarkning) === null || _a === void 0 ? void 0 : _a.some(attr => attr.markningsnyckel.code === 'KURSLISTA' && attr.markningsvarde.code === 'JA'); });
45
+ };
33
46
  const createApiClient = (config) => {
34
47
  const ladokClient = (0, ladok_mellanlager_client_1.createClient)(config);
35
48
  return {
@@ -106,11 +119,10 @@ const createApiClient = (config) => {
106
119
  return { searchHits: allCourses };
107
120
  }),
108
121
  getActiveCourseRounds: (courseCode, language) => __awaiter(void 0, void 0, void 0, function* () {
109
- const now = new Date();
110
- const period = (0, utils_1.getPeriodCodeForDate)(now); // TODO: we actually want course that are ongoing now and not just starting current semster -> Ask Ladok for filter on Undervisningsdatum? And alternative solution is to search for a couple of semester back and filter ourself after mapping.
122
+ const currentDate = (0, utils_1.getFormattedCurrentDate)();
111
123
  const result = yield ladokClient.sokKursTillfalle({
112
124
  kodEllerBenamning: courseCode,
113
- terminkodStart: period,
125
+ pagaendeDatum: currentDate,
114
126
  striktKod: "true",
115
127
  });
116
128
  return filterAndMapCourseRounds(result, language);
@@ -148,12 +160,106 @@ const createApiClient = (config) => {
148
160
  }
149
161
  const utbildningsinstansUID = (0, ladok_attributvarde_utils_1.extractString)(utbildningstillfalle.data.Attributvarden, "utbildningsinstans.uid");
150
162
  const examinationModules = yield (0, examinationModulesUtil_1.getExaminationModules)(utbildningsinstansUID, language, ladokClient);
151
- return examinationModules;
163
+ const formattedExaminationModules = (0, examinationModulesUtil_1.formatExaminationTitles)(examinationModules);
164
+ return formattedExaminationModules;
152
165
  }),
153
166
  getExaminationModulesByUtbildningsinstansUid: (utbildningsinstansUID, language) => __awaiter(void 0, void 0, void 0, function* () {
154
167
  const examinationModules = yield (0, examinationModulesUtil_1.getExaminationModules)(utbildningsinstansUID, language, ladokClient);
155
- return examinationModules;
168
+ const formattedExaminationModules = (0, examinationModulesUtil_1.formatExaminationTitles)(examinationModules);
169
+ return formattedExaminationModules;
170
+ }),
171
+ getActiveProgramTillfalle: (programCode, term, language) => __awaiter(void 0, void 0, void 0, function* () {
172
+ const requestObject = {
173
+ kodEllerBenamning: programCode,
174
+ startPeriod: term,
175
+ striktKod: "true",
176
+ };
177
+ const response = yield ladokClient.sokProgramTillfalle(requestObject);
178
+ const programTillfalle = filterAndMapProgramTillfalle(response, language);
179
+ return (programTillfalle === null || programTillfalle === void 0 ? void 0 : programTillfalle.length) ? programTillfalle[0] : programTillfalle;
180
+ }),
181
+ getUtbildningstilfalleStructure: (utbildningstillfalleUID, language) => __awaiter(void 0, void 0, void 0, function* () {
182
+ return yield (0, programStrukturUtil_1.fetchProgramStructure)(utbildningstillfalleUID, language, ladokClient);
183
+ }),
184
+ getCourseSyllabus: (courseCode, semester, language) => __awaiter(void 0, void 0, void 0, function* () {
185
+ try {
186
+ const result = yield ladokClient.sokPlan({
187
+ kodEllerBenamning: courseCode,
188
+ striktKod: "true",
189
+ tillstand: "BESLUTAD",
190
+ });
191
+ if (result.type !== "success") {
192
+ throw new Error(`API call failed: ${result.responseInfo.apiError || "Unknown error"}`);
193
+ }
194
+ if (typeof result.data !== "object") {
195
+ throw new Error("Unexpected API response format.");
196
+ }
197
+ const syllabuses = result.data;
198
+ const periods = yield ladokClient.period();
199
+ const UtbildningsinstansUID = syllabuses[1].UtbildningsinstansUID;
200
+ const examinationModules = yield (0, examinationModulesUtil_1.getExaminationModules)(UtbildningsinstansUID, language, ladokClient);
201
+ if (!examinationModules) {
202
+ throw new Error(`No examination modules were found for UtbildningsinstansUID ${UtbildningsinstansUID}`);
203
+ }
204
+ const formattedExaminationModules = (0, examinationModulesUtil_1.formatExaminationTitles)(examinationModules);
205
+ if (periods.type !== "success") {
206
+ throw new Error(`API call failed: ${result.responseInfo.apiError || "Unknown error"}`);
207
+ }
208
+ if (typeof result.data !== "object") {
209
+ throw new Error("Unexpected API response format.");
210
+ }
211
+ const activeSyllabus = (0, courseSyllabusUtil_1.getSyllabusForSemester)(semester, syllabuses, periods.data.Period);
212
+ if (!activeSyllabus) {
213
+ throw new Error(`No syllabus found for course ${courseCode} in semester ${semester}.`);
214
+ }
215
+ const gradingScalesCodes = yield (0, gradingScalesUtils_1.getGradingScalesCodes)(ladokClient);
216
+ const mappedSyllabus = (0, mapCourseSyllabus_1.mapCourseSyllabus)(activeSyllabus, gradingScalesCodes, formattedExaminationModules, language);
217
+ return mappedSyllabus;
218
+ }
219
+ catch (error) {
220
+ throw new Error("Error in getCourseSyllabus");
221
+ }
222
+ }),
223
+ getCourseSyllabuses: (courseCode, language) => __awaiter(void 0, void 0, void 0, function* () {
224
+ try {
225
+ const result = yield ladokClient.sokPlan({
226
+ kodEllerBenamning: courseCode,
227
+ striktKod: "true",
228
+ });
229
+ if (result.type !== "success") {
230
+ throw new Error(`API call failed: ${result.responseInfo.apiError || "Unknown error"}`);
231
+ }
232
+ if (typeof result.data !== "object") {
233
+ throw new Error("Unexpected API response format.");
234
+ }
235
+ const data = Object.values(result.data);
236
+ const syllabuses = data.slice(1); // Assume the first element is metadata, skip it.
237
+ const gradingScalesCodes = yield (0, gradingScalesUtils_1.getGradingScalesCodes)(ladokClient);
238
+ const UtbildningsinstansUID = syllabuses[1].UtbildningsinstansUID;
239
+ const examinationModules = yield (0, examinationModulesUtil_1.getExaminationModules)(UtbildningsinstansUID, language, ladokClient);
240
+ if (!examinationModules) {
241
+ throw new Error(`No examination modules were found for UtbildningsinstansUID ${UtbildningsinstansUID}`);
242
+ }
243
+ const formattedExaminationModules = (0, examinationModulesUtil_1.formatExaminationTitles)(examinationModules);
244
+ const mappedSyllabuses = syllabuses.map((syllabus) => (0, mapCourseSyllabus_1.mapCourseSyllabus)(syllabus, gradingScalesCodes, formattedExaminationModules, language));
245
+ return mappedSyllabuses;
246
+ }
247
+ catch (error) {
248
+ throw new Error("Error in getCourseSyllabuses");
249
+ }
250
+ }),
251
+ getAllGradingScales: () => __awaiter(void 0, void 0, void 0, function* () {
252
+ const gradingScales = yield (0, gradingScalesUtils_1.getGradingScales)(ladokClient);
253
+ return gradingScales;
254
+ }),
255
+ getAllGradingScalesCodes: () => __awaiter(void 0, void 0, void 0, function* () {
256
+ const gradingScalesCodes = yield (0, gradingScalesUtils_1.getGradingScalesCodes)(ladokClient);
257
+ return gradingScalesCodes;
156
258
  }),
259
+ getPeriods: () => __awaiter(void 0, void 0, void 0, function* () {
260
+ const periods = yield ladokClient.period();
261
+ return periods;
262
+ })
157
263
  };
158
264
  };
159
265
  exports.createApiClient = createApiClient;
@@ -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,8 @@
1
+ import { Utbildningsinstans } from '@kth/ladok-mellanlager-client';
2
+ import { Language, TranslatedUtbildningstyp } from './utils/languageUtil';
3
+ export type Course = {
4
+ kod: string;
5
+ benamning: string;
6
+ utbildningstyp?: TranslatedUtbildningstyp;
7
+ };
8
+ export declare const mapCourseInstans: (course: Utbildningsinstans, language: Language) => Course;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mapCourseInstans = void 0;
4
+ const ladok_attributvarde_utils_1 = require("@kth/ladok-attributvarde-utils");
5
+ const languageUtil_1 = require("./utils/languageUtil");
6
+ const mapCourseInstans = (course, language) => {
7
+ const { Attributvarden } = course;
8
+ const benamning = {
9
+ sv: (0, ladok_attributvarde_utils_1.extractString)(Attributvarden, 'utbildning.attribut.svensk.benamning'),
10
+ en: (0, ladok_attributvarde_utils_1.extractString)(Attributvarden, 'utbildning.attribut.engelsk.benamning'),
11
+ };
12
+ const utbildningstyp = (0, ladok_attributvarde_utils_1.extractUtbildningstyp)(Attributvarden);
13
+ const kod = (0, ladok_attributvarde_utils_1.extractString)(Attributvarden, 'utbildning.attribut.kod');
14
+ return {
15
+ kod: kod,
16
+ benamning: benamning[language],
17
+ utbildningstyp: utbildningstyp && (0, languageUtil_1.translateUtbildningstyp)(utbildningstyp, language),
18
+ };
19
+ };
20
+ exports.mapCourseInstans = mapCourseInstans;
21
+ //# sourceMappingURL=mapCourseInstans.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapCourseInstans.js","sourceRoot":"","sources":["../src/mapCourseInstans.ts"],"names":[],"mappings":";;;AAAA,8EAAqF;AAGrF,uDAAkG;AAQ3F,MAAM,gBAAgB,GAAG,CAAC,MAA0B,EAAE,QAAkB,EAAU,EAAE;IACzF,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,CAAA;IAEjC,MAAM,SAAS,GAAG;QAChB,EAAE,EAAE,IAAA,yCAAa,EAAC,cAAc,EAAE,sCAAsC,CAAC;QACzE,EAAE,EAAE,IAAA,yCAAa,EAAC,cAAc,EAAE,uCAAuC,CAAC;KAC3E,CAAA;IAED,MAAM,cAAc,GAAG,IAAA,iDAAqB,EAAC,cAAc,CAAC,CAAA;IAE5D,MAAM,GAAG,GAAG,IAAA,yCAAa,EAAC,cAAc,EAAE,yBAAyB,CAAC,CAAA;IAEpE,OAAO;QACL,GAAG,EAAE,GAAI;QACT,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAE;QAC/B,cAAc,EAAE,cAAc,IAAI,IAAA,sCAAuB,EAAC,cAAc,EAAE,QAAQ,CAAC;KACpF,CAAA;AACH,CAAC,CAAA;AAjBY,QAAA,gBAAgB,oBAiB5B"}
@@ -1,8 +1,28 @@
1
- import { LadokStatus } from "@kth/ladok-attributvarde-utils";
2
- import { SokKursTillfalleItem } from "@kth/ladok-mellanlager-client";
3
- import { Language, TranslatedGrunddata } from "./utils";
1
+ import { LadokStatus } from '@kth/ladok-attributvarde-utils';
2
+ import { SokKursTillfalleItem } from '@kth/ladok-mellanlager-client';
3
+ import { Language, TranslatedGrunddata } from './utils';
4
+ interface Tillfallesperiod {
5
+ ForstaRegistreringsdatum: string;
6
+ ForstaUndervisningsdatum: string;
7
+ SistaRegistreringsdatum: string;
8
+ Lasperiodsfordelning: [
9
+ {
10
+ Lasperiodskod: string;
11
+ Omfattningsvarde: number;
12
+ link: string[];
13
+ },
14
+ {
15
+ Lasperiodskod: string;
16
+ Omfattningsvarde: number;
17
+ link: string[];
18
+ }
19
+ ];
20
+ Omfattningsvarde: number;
21
+ SistaUndervisningsdatum: string;
22
+ }
4
23
  export type CourseRound = {
5
24
  uid: string;
25
+ utbildningstyp: string;
6
26
  status?: LadokStatus;
7
27
  installt: boolean;
8
28
  tillfalleskod?: string;
@@ -21,6 +41,7 @@ export type CourseRound = {
21
41
  year: number;
22
42
  week: number;
23
43
  };
44
+ tillfallesPerioder: Tillfallesperiod[];
24
45
  malgrupp?: string;
25
46
  kortnamn?: string;
26
47
  urvalskriterier?: string;
@@ -36,3 +57,4 @@ export type CourseRound = {
36
57
  schemaUrl?: string;
37
58
  };
38
59
  export declare const mapCourseRound: (item: SokKursTillfalleItem, language: Language) => CourseRound;
60
+ export {};
@@ -3,39 +3,42 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.mapCourseRound = void 0;
4
4
  const ladok_attributvarde_utils_1 = require("@kth/ladok-attributvarde-utils");
5
5
  const utils_1 = require("./utils");
6
+ const creditsUtil_1 = require("./utils/creditsUtil");
6
7
  const mapCourseRound = (item, language) => {
7
8
  var _a, _b, _c, _d, _e;
8
9
  const attributeValues = item.Attributvarden;
9
10
  const malgrupp = {
10
- sv: (0, ladok_attributvarde_utils_1.extractString)(attributeValues, "utbildning.lokalt.attribut.29.malgrupp.sv", "html"),
11
- en: (0, ladok_attributvarde_utils_1.extractString)(attributeValues, "utbildning.lokalt.attribut.29.malgrupp.en", "html"),
11
+ sv: (0, ladok_attributvarde_utils_1.extractString)(attributeValues, 'utbildning.lokalt.attribut.29.malgrupp.sv', 'html'),
12
+ en: (0, ladok_attributvarde_utils_1.extractString)(attributeValues, 'utbildning.lokalt.attribut.29.malgrupp.en', 'html'),
12
13
  };
13
14
  const kortnamn = {
14
- sv: (0, ladok_attributvarde_utils_1.extractString)(attributeValues, "utbildning.lokalt.attribut.29.kortnamn.sv"),
15
- en: (0, ladok_attributvarde_utils_1.extractString)(attributeValues, "utbildning.lokalt.attribut.29.kortnamn.en"),
15
+ sv: (0, ladok_attributvarde_utils_1.extractString)(attributeValues, 'utbildning.lokalt.attribut.29.kortnamn.sv'),
16
+ en: (0, ladok_attributvarde_utils_1.extractString)(attributeValues, 'utbildning.lokalt.attribut.29.kortnamn.en'),
16
17
  };
17
18
  const urvalskriterier = {
18
- sv: (0, ladok_attributvarde_utils_1.extractString)(attributeValues, "utbildning.lokalt.attribut.29.urvalskriterier.sv", "html"),
19
- en: (0, ladok_attributvarde_utils_1.extractString)(attributeValues, "utbildning.lokalt.attribut.29.urvalskriterier.en", "html"),
19
+ sv: (0, ladok_attributvarde_utils_1.extractString)(attributeValues, 'utbildning.lokalt.attribut.29.urvalskriterier.sv', 'html'),
20
+ en: (0, ladok_attributvarde_utils_1.extractString)(attributeValues, 'utbildning.lokalt.attribut.29.urvalskriterier.en', 'html'),
20
21
  };
21
- const undervisningsform = (0, ladok_attributvarde_utils_1.extractGrunddata)(attributeValues, "utbildning.attribut.undervisningsform");
22
- const undervisningstid = (0, ladok_attributvarde_utils_1.extractGrunddata)(attributeValues, "utbildning.attribut.undervisningstid");
23
- const undervisningssprak = (0, ladok_attributvarde_utils_1.extractGrunddata)(attributeValues, "utbildning.attribut.undervisningssprak");
24
- const studieort = (0, ladok_attributvarde_utils_1.extractGrunddata)(attributeValues, "utbildning.attribut.studieort");
25
- const finansieringsform = (0, ladok_attributvarde_utils_1.extractGrunddata)(attributeValues, "utbildning.attribut.finansieringsform");
22
+ const undervisningsform = (0, ladok_attributvarde_utils_1.extractGrunddata)(attributeValues, 'utbildning.attribut.undervisningsform');
23
+ const undervisningstid = (0, ladok_attributvarde_utils_1.extractGrunddata)(attributeValues, 'utbildning.attribut.undervisningstid');
24
+ const undervisningssprak = (0, ladok_attributvarde_utils_1.extractGrunddata)(attributeValues, 'utbildning.attribut.undervisningssprak');
25
+ const studieort = (0, ladok_attributvarde_utils_1.extractGrunddata)(attributeValues, 'utbildning.attribut.studieort');
26
+ const finansieringsform = (0, ladok_attributvarde_utils_1.extractGrunddata)(attributeValues, 'utbildning.attribut.finansieringsform');
26
27
  const studietakt = (0, ladok_attributvarde_utils_1.extractStudietakt)(attributeValues);
27
28
  return {
28
29
  uid: item.tillfalle_uid,
30
+ utbildningstyp: (0, creditsUtil_1.getCreditsUnit)((0, ladok_attributvarde_utils_1.extractUtbildningstyp)(item.instans.Attributvarden), language),
29
31
  status: (0, ladok_attributvarde_utils_1.extractLadokStatus)(item.Attributvarden),
30
- installt: (_a = (0, ladok_attributvarde_utils_1.extractBoolean)(item.Attributvarden, "installt")) !== null && _a !== void 0 ? _a : false,
31
- tillfalleskod: (0, ladok_attributvarde_utils_1.extractString)(attributeValues, "utbildning.attribut.utbildningstillfalleskod"),
32
+ installt: (_a = (0, ladok_attributvarde_utils_1.extractBoolean)(item.Attributvarden, 'installt')) !== null && _a !== void 0 ? _a : false,
33
+ tillfalleskod: (0, ladok_attributvarde_utils_1.extractString)(attributeValues, 'utbildning.attribut.utbildningstillfalleskod'),
32
34
  startperiod: {
33
- code: item.index["utbildning.attribut.startperiod.kod"],
34
- inDigits: (0, utils_1.transformPeriodInDigits)(item.index["utbildning.attribut.startperiod.kod"]),
35
+ code: item.index['utbildning.attribut.startperiod.kod'],
36
+ inDigits: (0, utils_1.transformPeriodInDigits)(item.index['utbildning.attribut.startperiod.kod']),
35
37
  },
36
- utbildningstillfalleskod: (0, ladok_attributvarde_utils_1.extractString)(attributeValues, "utbildning.attribut.utbildningstillfalleskod"),
38
+ utbildningstillfalleskod: (0, ladok_attributvarde_utils_1.extractString)(attributeValues, 'utbildning.attribut.utbildningstillfalleskod'),
37
39
  forstaUndervisningsdatum: Object.assign({ date: (_b = item.Tillfallesperioder.at(0)) === null || _b === void 0 ? void 0 : _b.ForstaUndervisningsdatum }, (0, utils_1.getYearAndWeek)((_c = item.Tillfallesperioder.at(0)) === null || _c === void 0 ? void 0 : _c.ForstaUndervisningsdatum)),
38
40
  sistaUndervisningsdatum: Object.assign({ date: (_d = item.Tillfallesperioder.at(-1)) === null || _d === void 0 ? void 0 : _d.SistaUndervisningsdatum }, (0, utils_1.getYearAndWeek)((_e = item.Tillfallesperioder.at(-1)) === null || _e === void 0 ? void 0 : _e.SistaUndervisningsdatum)),
41
+ tillfallesPerioder: item.Tillfallesperioder,
39
42
  malgrupp: malgrupp[language],
40
43
  kortnamn: kortnamn[language],
41
44
  urvalskriterier: urvalskriterier[language],
@@ -45,7 +48,7 @@ const mapCourseRound = (item, language) => {
45
48
  studieort: studieort && (0, utils_1.translateGrunddata)(studieort, language),
46
49
  studietakt: studietakt && (0, utils_1.translateStudietakt)(studietakt, language),
47
50
  finansieringsform: finansieringsform && (0, utils_1.translateGrunddata)(finansieringsform, language),
48
- minantalplatser: (0, ladok_attributvarde_utils_1.extractInteger)(attributeValues, "utbildning.lokalt.attribut.29.minantalplatser"),
51
+ minantalplatser: (0, ladok_attributvarde_utils_1.extractInteger)(attributeValues, 'utbildning.lokalt.attribut.29.minantalplatser'),
49
52
  utbildningsplatser: (0, ladok_attributvarde_utils_1.extractUtbildningsplatser)(attributeValues),
50
53
  };
51
54
  };
@@ -1 +1 @@
1
- {"version":3,"file":"mapCourseRound.js","sourceRoot":"","sources":["../src/mapCourseRound.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapCourseRound.js","sourceRoot":"","sources":["../src/mapCourseRound.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ import { SokPlanItem } from "@kth/ladok-mellanlager-client";
2
+ import { Grunddata } from "@kth/ladok-attributvarde-utils";
3
+ import { Language } from "./utils";
4
+ import { GradingScalesCodes } from "./mapGradingScales";
5
+ interface FormattedExaminationModules {
6
+ completeExaminationStrings: string[];
7
+ titles: string[];
8
+ }
9
+ export type KursPlan = {
10
+ course: {
11
+ kod: string | undefined;
12
+ benamning: {
13
+ sv: string | undefined;
14
+ en: string | undefined;
15
+ };
16
+ omfattning: {
17
+ number: string | undefined;
18
+ formattedWithUnit: string | undefined;
19
+ };
20
+ betygsskala: string | undefined;
21
+ nivainomstudieordning: Grunddata | undefined;
22
+ huvudomraden: Grunddata[] | undefined;
23
+ overgangsbestammelser: string | undefined;
24
+ };
25
+ kursplan: {
26
+ giltigfrom: string | undefined;
27
+ utgava: string | undefined;
28
+ undervisningssprak: string | undefined;
29
+ larandemal: string | undefined;
30
+ kursinnehall: string | undefined;
31
+ etisktforhallandesatt: string | undefined;
32
+ faststallande: string | undefined;
33
+ examinationModules: FormattedExaminationModules | undefined;
34
+ kommentartillexamination: string | undefined;
35
+ ovrigakravforslutbetyg: string | undefined;
36
+ kurslitteratur: string | undefined;
37
+ kursupplagg: string | undefined;
38
+ sarskildbehorighet: string | undefined;
39
+ gammalutrustning: string | undefined;
40
+ };
41
+ };
42
+ export declare const mapCourseSyllabus: (syllabus: SokPlanItem, gradingScalesCodes: GradingScalesCodes, examinationModules: FormattedExaminationModules, language: Language) => {
43
+ course: {
44
+ kod: string;
45
+ benamning: {
46
+ sv: string;
47
+ en: string;
48
+ };
49
+ omfattning: {
50
+ number: string;
51
+ formattedWithUnit: string;
52
+ };
53
+ betygsskala: string;
54
+ nivainomstudieordning: import("@kth/ladok-attributvarde-utils").Utbildningstyp | undefined;
55
+ huvudomraden: Grunddata[] | undefined;
56
+ overgangsbestammelser: string | undefined;
57
+ };
58
+ kursplan: {
59
+ giltigfrom: string;
60
+ utgava: string | undefined;
61
+ undervisningssprak: string | undefined;
62
+ larandemal: string | undefined;
63
+ kursinnehall: string | undefined;
64
+ etisktforhallandesatt: string | undefined;
65
+ faststallande: string | undefined;
66
+ examinationModules: FormattedExaminationModules;
67
+ kommentartillexamination: string | undefined;
68
+ ovrigakravforslutbetyg: string | undefined;
69
+ kurslitteratur: string | undefined;
70
+ kursupplagg: string | undefined;
71
+ sarskildbehorighet: string | undefined;
72
+ gammalutrustning: string | undefined;
73
+ avvecklingsbeslut: string | undefined;
74
+ };
75
+ };
76
+ export {};
@@ -0,0 +1,67 @@
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
+ exports.mapCourseSyllabus = void 0;
7
+ const ladok_attributvarde_utils_1 = require("@kth/ladok-attributvarde-utils");
8
+ const creditsUtil_1 = require("./utils/creditsUtil");
9
+ const ladok_attributvarde_utils_2 = require("@kth/ladok-attributvarde-utils");
10
+ const courseSyllabusUtil_1 = require("./utils/courseSyllabusUtil");
11
+ const showdown_1 = __importDefault(require("showdown"));
12
+ const convertMarkdownToHtml = (markdownText) => {
13
+ var converter = new showdown_1.default.Converter();
14
+ if (markdownText)
15
+ return converter.makeHtml(markdownText);
16
+ };
17
+ const extractString = (syllabus, attributeName, language) => {
18
+ var _a;
19
+ return convertMarkdownToHtml((_a = syllabus.AktuellaAttributvarden.find((item) => {
20
+ var _a;
21
+ return ((_a = item.Attributdefinition) === null || _a === void 0 ? void 0 : _a.Kod) ===
22
+ `utbildning.lokalt.attribut.29.${attributeName}.${language}`;
23
+ })) === null || _a === void 0 ? void 0 : _a.Varden[0]);
24
+ };
25
+ const mapCourseSyllabus = (syllabus, gradingScalesCodes, examinationModules, language) => {
26
+ var _a;
27
+ return {
28
+ course: {
29
+ kod: syllabus.index["utbildning.attribut.kod"],
30
+ benamning: {
31
+ sv: syllabus.index["utbildning.attribut.svensk.benamning"],
32
+ en: syllabus.index["utbildning.attribut.engelsk.benamning"],
33
+ },
34
+ omfattning: {
35
+ number: syllabus.index["utbildning.attribut.omfattning"],
36
+ formattedWithUnit: (0, creditsUtil_1.formatCreditsWithUnitLabel)(syllabus.index["utbildning.attribut.omfattning"], (0, ladok_attributvarde_utils_2.extractUtbildningstyp)(syllabus.instans.Attributvarden), language),
37
+ },
38
+ betygsskala: gradingScalesCodes[syllabus.index["utbildning.attribut.betygsskala.kod"]],
39
+ nivainomstudieordning: (0, ladok_attributvarde_utils_2.extractUtbildningstyp)(syllabus.instans.Attributvarden),
40
+ huvudomraden: (0, ladok_attributvarde_utils_1.extractHuvudomraden)(syllabus.instans.Attributvarden),
41
+ overgangsbestammelser: extractString(syllabus, "overgangsbestammelser", language),
42
+ },
43
+ kursplan: {
44
+ giltigfrom: (0, courseSyllabusUtil_1.getSemester)(syllabus.GiltigFran),
45
+ utgava: (_a = syllabus.AktuellaAttributvarden.find((item) => {
46
+ var _a;
47
+ return ((_a = item.Attributdefinition) === null || _a === void 0 ? void 0 : _a.Kod) ===
48
+ `utbildning.lokalt.attribut.29.utgava`;
49
+ })) === null || _a === void 0 ? void 0 : _a.Varden[0],
50
+ undervisningssprak: extractString(syllabus, "undervisningssprak", language),
51
+ larandemal: extractString(syllabus, "larandemal", language),
52
+ kursinnehall: extractString(syllabus, "kursinnehall", language),
53
+ etisktforhallandesatt: extractString(syllabus, "etiskt.forhallningssatt", language),
54
+ faststallande: extractString(syllabus, "fastallande1", language),
55
+ examinationModules,
56
+ kommentartillexamination: extractString(syllabus, "kommentar.till.examination", language),
57
+ ovrigakravforslutbetyg: extractString(syllabus, "ovriga.krav.for.slutbeyg", language),
58
+ kurslitteratur: extractString(syllabus, "gammal.kurslitteratur", language),
59
+ kursupplagg: extractString(syllabus, "gammal.kursupplagg", language),
60
+ sarskildbehorighet: extractString(syllabus, "sarskild.behorighet", language),
61
+ gammalutrustning: extractString(syllabus, "gammal.utrustning", language),
62
+ avvecklingsbeslut: extractString(syllabus, "avvecklingsbeslut", language)
63
+ },
64
+ };
65
+ };
66
+ exports.mapCourseSyllabus = mapCourseSyllabus;
67
+ //# sourceMappingURL=mapCourseSyllabus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapCourseSyllabus.js","sourceRoot":"","sources":["../src/mapCourseSyllabus.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { LadokStatus, Lokalmarkning } from '@kth/ladok-attributvarde-utils';
2
+ import { SokProgramTillfalleItem } from '@kth/ladok-mellanlager-client';
3
+ import { Language, TranslatedOrganisation, TranslatedTilltradesniva, TranslatedUtbildningstyp } from './utils';
4
+ export type ProgramTillfalle = {
5
+ uid: string;
6
+ status?: LadokStatus;
7
+ installt: boolean;
8
+ benamning: string;
9
+ lengthInStudyYears: number;
10
+ organisation?: TranslatedOrganisation;
11
+ creditUnitAbbr?: string;
12
+ omfattning: {
13
+ number: string;
14
+ formattedWithUnit: string;
15
+ };
16
+ utbildningstyp?: TranslatedUtbildningstyp;
17
+ tilltradesniva?: TranslatedTilltradesniva;
18
+ kod: string;
19
+ lokalmarkning?: Lokalmarkning[];
20
+ utbildningstillfalleskod?: string;
21
+ };
22
+ export declare const mapProgramTillfalle: (item: SokProgramTillfalleItem, language: Language) => ProgramTillfalle;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mapProgramTillfalle = void 0;
4
+ const ladok_attributvarde_utils_1 = require("@kth/ladok-attributvarde-utils");
5
+ const utils_1 = require("./utils");
6
+ const creditsUtil_1 = require("./utils/creditsUtil");
7
+ const mapProgramTillfalle = (item, language) => {
8
+ var _a;
9
+ const attributeValues = item.Attributvarden;
10
+ const benamning = {
11
+ sv: item.index['utbildning.attribut.svensk.benamning'],
12
+ en: item.index['utbildning.attribut.engelsk.benamning'],
13
+ };
14
+ const omfattning = item.index['utbildning.attribut.omfattning'];
15
+ const organisation = (0, ladok_attributvarde_utils_1.extractOrganisation)(item.Attributvarden);
16
+ const utbildningstyp = (0, ladok_attributvarde_utils_1.extractUtbildningstyp)(item.Attributvarden);
17
+ const tilltradesniva = (0, ladok_attributvarde_utils_1.extractTilltradesniva)(item.instans.Attributvarden);
18
+ const lokalmarkning = (0, ladok_attributvarde_utils_1.extractLokalmarkning)(item.Attributvarden);
19
+ return {
20
+ uid: item.tillfalle_uid,
21
+ status: (0, ladok_attributvarde_utils_1.extractLadokStatus)(item.Attributvarden),
22
+ installt: (_a = (0, ladok_attributvarde_utils_1.extractBoolean)(item.Attributvarden, 'installt')) !== null && _a !== void 0 ? _a : false,
23
+ utbildningstillfalleskod: (0, ladok_attributvarde_utils_1.extractString)(attributeValues, 'utbildning.attribut.utbildningstillfalleskod'),
24
+ benamning: benamning[language],
25
+ omfattning: {
26
+ number: omfattning,
27
+ formattedWithUnit: (0, creditsUtil_1.formatCreditsWithUnitLabel)(omfattning, utbildningstyp, language),
28
+ },
29
+ creditUnitAbbr: utbildningstyp && (0, creditsUtil_1.getCreditsUnit)(utbildningstyp, language),
30
+ lengthInStudyYears: Math.ceil(Number(omfattning) / 60),
31
+ organisation: organisation && (0, utils_1.translateOrganisation)(organisation, language),
32
+ utbildningstyp: utbildningstyp && (0, utils_1.translateUtbildningstyp)(utbildningstyp, language),
33
+ tilltradesniva: tilltradesniva && (0, utils_1.translatedTilltradesniva)(tilltradesniva, language),
34
+ kod: item.index['utbildning.attribut.kod'],
35
+ lokalmarkning: lokalmarkning,
36
+ };
37
+ };
38
+ exports.mapProgramTillfalle = mapProgramTillfalle;
39
+ //# sourceMappingURL=mapProgramTillfalle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapProgramTillfalle.js","sourceRoot":"","sources":["../src/mapProgramTillfalle.ts"],"names":[],"mappings":";;;AAAA,8EAUuC;AAEvC,mCAQgB;AAChB,qDAAgF;AAuBzE,MAAM,mBAAmB,GAAG,CAAC,IAA6B,EAAE,QAAkB,EAAoB,EAAE;;IACzG,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAA;IAE3C,MAAM,SAAS,GAAG;QAChB,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,sCAAsC,CAAC;QACtD,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,uCAAuC,CAAC;KACxD,CAAA;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAA;IAC/D,MAAM,YAAY,GAAG,IAAA,+CAAmB,EAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAC7D,MAAM,cAAc,GAAG,IAAA,iDAAqB,EAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IACjE,MAAM,cAAc,GAAG,IAAA,iDAAqB,EAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IACzE,MAAM,aAAa,GAAG,IAAA,gDAAoB,EAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAE/D,OAAO;QACL,GAAG,EAAE,IAAI,CAAC,aAAa;QACvB,MAAM,EAAE,IAAA,8CAAkB,EAAC,IAAI,CAAC,cAAc,CAAC;QAC/C,QAAQ,EAAE,MAAA,IAAA,0CAAc,EAAC,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,mCAAI,KAAK;QAElE,wBAAwB,EAAE,IAAA,yCAAa,EAAC,eAAe,EAAE,8CAA8C,CAAC;QACxG,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC;QAE9B,UAAU,EAAE;YACV,MAAM,EAAE,UAAU;YAClB,iBAAiB,EAAE,IAAA,wCAA0B,EAAC,UAAU,EAAE,cAAc,EAAE,QAAQ,CAAC;SACpF;QACD,cAAc,EAAE,cAAc,IAAI,IAAA,4BAAc,EAAC,cAAc,EAAE,QAAQ,CAAC;QAC1E,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QACtD,YAAY,EAAE,YAAY,IAAI,IAAA,6BAAqB,EAAC,YAAY,EAAE,QAAQ,CAAC;QAE3E,cAAc,EAAE,cAAc,IAAI,IAAA,+BAAuB,EAAC,cAAc,EAAE,QAAQ,CAAC;QAEnF,cAAc,EAAE,cAAc,IAAI,IAAA,gCAAwB,EAAC,cAAc,EAAE,QAAQ,CAAC;QACpF,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC;QAC1C,aAAa,EAAE,aAAa;KAC7B,CAAA;AACH,CAAC,CAAA;AApCY,QAAA,mBAAmB,uBAoC/B"}
@@ -0,0 +1,24 @@
1
+ import { Utbildningstillfalle } from "@kth/ladok-mellanlager-client";
2
+ import { Language, TranslatedGrunddata } from "./utils";
3
+ export type StructureCourse = {
4
+ utbildningsinstansUid: string;
5
+ uid: string;
6
+ tillfalleskod: string;
7
+ omfattning: {
8
+ number: number;
9
+ formattedWithUnit: string;
10
+ };
11
+ startperiod?: TranslatedGrunddata;
12
+ Tillfallesperioder: {
13
+ ForstaRegistreringsdatum: string;
14
+ ForstaUndervisningsdatum: string;
15
+ Lasperiodsfordelning?: {
16
+ Lasperiodskod: string;
17
+ Omfattningsvarde: number;
18
+ }[];
19
+ Omfattningsvarde: number;
20
+ SistaRegistreringsdatum: string;
21
+ SistaUndervisningsdatum: string;
22
+ }[];
23
+ };
24
+ export declare const mapStructureCourses: (entity: Utbildningstillfalle, language: Language) => StructureCourse;