@kth/om-kursen-ladok-client 1.3.10 → 1.3.12

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.
@@ -37,6 +37,7 @@ exports.ATTRIBUT_VARDEN_FOR_COURSE_ROUNDS = [
37
37
  'utbildning.lokalt.attribut.29.minantalplatser',
38
38
  'utbildning.attribut.utbildningsplatser',
39
39
  'utbildning.lokalt.attribut.29.fullsatt',
40
+ 'utbildning.attribut.startperiod',
40
41
  ].join(',');
41
42
  exports.ATTRIBUT_VARDEN_FOR_COURSE_ROUNDS_SEARCH = [
42
43
  ...exports.ATTRIBUT_VARDEN_FOR_COURSE_ROUNDS.split(','),
@@ -1 +1 @@
1
- {"version":3,"file":"attributVardenConstants.js","sourceRoot":"","sources":["../src/attributVardenConstants.ts"],"names":[],"mappings":";;;AAAa,QAAA,mCAAmC,GAAG;IACjD,iCAAiC;IACjC,2DAA2D;IAC3D,kCAAkC;IAClC,gBAAgB;IAChB,QAAQ;IACR,WAAW;IACX,6CAA6C;IAC7C,6CAA6C;IAC7C,oDAAoD;IACpD,oDAAoD;IACpD,gDAAgD;IAChD,qDAAqD;IACrD,qDAAqD;IACrD,4DAA4D;IAC5D,4DAA4D;CAC7D,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAEE,QAAA,iCAAiC,GAAG;IAC/C,2CAA2C;IAC3C,2CAA2C;IAC3C,2CAA2C;IAC3C,2CAA2C;IAC3C,kDAAkD;IAClD,kDAAkD;IAClD,uCAAuC;IACvC,sCAAsC;IACtC,wCAAwC;IACxC,+BAA+B;IAC/B,uCAAuC;IACvC,gCAAgC;IAChC,QAAQ;IACR,UAAU;IACV,8CAA8C;IAC9C,+CAA+C;IAC/C,wCAAwC;IACxC,wCAAwC;CACzC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAEE,QAAA,wCAAwC,GAAG;IACtD,GAAG,yCAAiC,CAAC,KAAK,CAAC,GAAG,CAAC;IAC/C,kCAAkC;IAClC,iCAAiC;CAClC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA"}
1
+ {"version":3,"file":"attributVardenConstants.js","sourceRoot":"","sources":["../src/attributVardenConstants.ts"],"names":[],"mappings":";;;AAAa,QAAA,mCAAmC,GAAG;IACjD,iCAAiC;IACjC,2DAA2D;IAC3D,kCAAkC;IAClC,gBAAgB;IAChB,QAAQ;IACR,WAAW;IACX,6CAA6C;IAC7C,6CAA6C;IAC7C,oDAAoD;IACpD,oDAAoD;IACpD,gDAAgD;IAChD,qDAAqD;IACrD,qDAAqD;IACrD,4DAA4D;IAC5D,4DAA4D;CAC7D,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAEE,QAAA,iCAAiC,GAAG;IAC/C,2CAA2C;IAC3C,2CAA2C;IAC3C,2CAA2C;IAC3C,2CAA2C;IAC3C,kDAAkD;IAClD,kDAAkD;IAClD,uCAAuC;IACvC,sCAAsC;IACtC,wCAAwC;IACxC,+BAA+B;IAC/B,uCAAuC;IACvC,gCAAgC;IAChC,QAAQ;IACR,UAAU;IACV,8CAA8C;IAC9C,+CAA+C;IAC/C,wCAAwC;IACxC,wCAAwC;IACxC,iCAAiC;CAClC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAEE,QAAA,wCAAwC,GAAG;IACtD,GAAG,yCAAiC,CAAC,KAAK,CAAC,GAAG,CAAC;IAC/C,kCAAkC;IAClC,iCAAiC;CAClC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA"}
@@ -22,9 +22,9 @@ const courseSyllabusUtil_1 = require("./utils/courseSyllabusUtil");
22
22
  const mapCourseSyllabus_1 = require("./mapCourseSyllabus");
23
23
  const gradingScalesUtils_1 = require("./utils/gradingScalesUtils");
24
24
  const partOfProgrammeUtil_1 = require("./utils/partOfProgrammeUtil");
25
- const programUtil_1 = require("./utils/programUtil");
26
25
  const createSearchApi_1 = require("./search/createSearchApi");
27
26
  const attributVardenConstants_1 = require("./attributVardenConstants");
27
+ const programUtil_1 = require("./utils/programUtil");
28
28
  const mergeApiResponses = (a, b, uniqueItemKey) => {
29
29
  var _a, _b, _c, _d, _e, _f, _g, _h;
30
30
  if (a.type === 'error')
@@ -107,7 +107,6 @@ const createApiClient = (config) => {
107
107
  .at(0);
108
108
  const gradingScalesCodes = yield (0, gradingScalesUtils_1.getGradingScalesCodes)(ladokClient);
109
109
  const mappedCourse = (0, mapCourse_1.mapCourse)(course, language, gradingScalesCodes);
110
- console.log(mappedCourse);
111
110
  return Object.assign(Object.assign({}, resultActiveAndCancelledVersions.responseInfo), mappedCourse);
112
111
  }),
113
112
  Search: (0, createSearchApi_1.createSearchApi)(ladokClient),
@@ -195,35 +194,12 @@ const createApiClient = (config) => {
195
194
  return formattedExaminationModules;
196
195
  }),
197
196
  getActiveProgramInstance: (programCode, semester, language) => __awaiter(void 0, void 0, void 0, function* () {
198
- const requestObject = {
199
- kodEllerBenamning: programCode,
200
- startPeriod: semester,
201
- striktKod: 'true',
202
- baraSistaVersion: 'false',
203
- attributVarden: 'utbildning.attribut.organisation,utbildningstyp,utbildning.attribut.lokalmarkning,status,installt,utbildning.attribut.utbildningstillfalleskod',
204
- instansAttributVarden: 'utbildning.attribut.tilltradesniva',
205
- };
206
- const response = yield ladokClient.sokProgramTillfalleSlim(requestObject);
207
- const programTillfalleList = (0, programUtil_1.filterAndMapProgramTillfalle)(response, language);
208
- return (programTillfalleList === null || programTillfalleList === void 0 ? void 0 : programTillfalleList.length) ? programTillfalleList[0] : undefined;
197
+ const programInstance = yield (0, programUtil_1.findProgramInstance)(programCode, semester, language, ladokClient);
198
+ return programInstance;
209
199
  }),
210
200
  getProgramVersion: (programCode, semester, language) => __awaiter(void 0, void 0, void 0, function* () {
211
- const requestObject = {
212
- kodEllerBenamning: programCode,
213
- striktKod: 'true',
214
- // typ: 'program', TODO: we should revert this back when it is fixed in prod
215
- instansAttributVarden: 'utbildning.attribut.organisation,utbildningstyp,utbildning.attribut.giltig.from,utbildning.attribut.tilltradesniva,utbildning.lokalt.attribut.29.sista.antagningstermin.en',
216
- };
217
201
  try {
218
- const response = yield ladokClient.sokUtbildningsInstansSlim(requestObject);
219
- const periods = yield ladokClient.period(); // TODO: Use cached values
220
- if (periods.type !== 'success') {
221
- throw new Error(`API call failed: ${periods.responseInfo.apiError || 'Unknown error'}`);
222
- }
223
- if (typeof periods.data !== 'object') {
224
- throw new Error('periods.data is not an object.');
225
- }
226
- const programInstans = yield (0, programUtil_1.filterAndMapProgramInstans)(response, periods.data.Period, semester, language, ladokClient);
202
+ const programInstans = yield (0, programUtil_1.findProgramVersion)(programCode, semester, language, ladokClient);
227
203
  return { programInstans, statusCode: 200 };
228
204
  }
229
205
  catch (error) {
@@ -233,6 +209,9 @@ const createApiClient = (config) => {
233
209
  getUtbildningstilfalleStructure: (utbildningstillfalleUID, language) => __awaiter(void 0, void 0, void 0, function* () {
234
210
  return yield (0, programStrukturUtil_1.fetchProgramStructure)(utbildningstillfalleUID, language, ladokClient);
235
211
  }),
212
+ getProgramCurriculum: (programCode, semester, language) => __awaiter(void 0, void 0, void 0, function* () {
213
+ return yield (0, programUtil_1.createProgramCurriculumsData)(programCode, semester, language, ladokClient);
214
+ }),
236
215
  getCourseSyllabus: (courseCode, semester, language) => __awaiter(void 0, void 0, void 0, function* () {
237
216
  try {
238
217
  const result = yield ladokClient.sokPlanSlim({
@@ -274,39 +253,9 @@ const createApiClient = (config) => {
274
253
  throw new Error(`Error in getCourseSyllabus: ${error}`);
275
254
  }
276
255
  }),
277
- getProgramSyllabus: (courseCode, semester, language) => __awaiter(void 0, void 0, void 0, function* () {
278
- // TODO - This is for test now to show courslist in web, this can be upgraded to use giltigFran and giltigTill later on and also thiner endpoints.
279
- try {
280
- const result = yield ladokClient.sokPlan({
281
- kodEllerBenamning: courseCode,
282
- striktKod: 'true',
283
- tillstand: 'BESLUTAD',
284
- // TODO: we should add filtering for slim version when we are don with usage of this endpoint
285
- });
286
- if (result.type !== 'success') {
287
- throw new Error(`API call failed: ${result.responseInfo.apiError || 'Unknown error'}`);
288
- }
289
- if (typeof result.data !== 'object') {
290
- throw new Error('result.data is not an object.');
291
- }
292
- const syllabuses = result.data;
293
- const periods = yield ladokClient.period(); // TODO: Use cached values
294
- if (periods.type !== 'success') {
295
- throw new Error(`API call failed: ${periods.responseInfo.apiError || 'Unknown error'}`);
296
- }
297
- if (typeof periods.data !== 'object') {
298
- throw new Error('periods.data is not an object.');
299
- }
300
- const activeSyllabus = (0, courseSyllabusUtil_1.getSyllabusForSemester)(semester, syllabuses, periods.data.Period);
301
- if (!activeSyllabus) {
302
- throw new Error(`No syllabus found for course ${courseCode} in semester ${semester}.`);
303
- }
304
- const mappedSyllabus = (0, mapUtbildningsplan_1.mapUtbildningsplan)(activeSyllabus, language);
305
- return mappedSyllabus;
306
- }
307
- catch (error) {
308
- throw new Error(`Error in getProgramSyllabus: ${error}`);
309
- }
256
+ getProgramSyllabus: (programCode, semester, language) => __awaiter(void 0, void 0, void 0, function* () {
257
+ const programSyllabus = yield (0, programUtil_1.findProgramSyllabusForSemester)(programCode, semester, language, ladokClient);
258
+ return programSyllabus;
310
259
  }),
311
260
  getCourseSyllabuses: (courseCode, language) => __awaiter(void 0, void 0, void 0, function* () {
312
261
  try {
@@ -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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"}
@@ -25,16 +25,16 @@ const mapCourseRound = (item, language, partOfProgramme) => {
25
25
  const studieort = (0, ladok_attributvarde_utils_1.extractGrunddata)(attributeValues, 'utbildning.attribut.studieort');
26
26
  const finansieringsform = (0, ladok_attributvarde_utils_1.extractGrunddata)(attributeValues, 'utbildning.attribut.finansieringsform');
27
27
  const studietakt = (0, ladok_attributvarde_utils_1.extractStudietakt)(attributeValues);
28
+ const startperiod = (0, ladok_attributvarde_utils_1.extractStartPeriod)(attributeValues);
28
29
  return {
29
30
  uid: item.tillfalle_uid,
30
31
  utbildningstyp: (0, creditsUtil_1.getCreditsUnit)((0, ladok_attributvarde_utils_1.extractUtbildningstyp)(item.instans.Attributvarden), language), // TODO Benni why is this creditUnit and not utbildningstyp?
31
32
  status: (0, ladok_attributvarde_utils_1.extractLadokStatus)(item.Attributvarden),
32
33
  installt: (_a = (0, ladok_attributvarde_utils_1.extractBoolean)(item.Attributvarden, 'installt')) !== null && _a !== void 0 ? _a : false,
33
34
  tillfalleskod: (0, ladok_attributvarde_utils_1.extractString)(attributeValues, 'utbildning.attribut.utbildningstillfalleskod'),
34
- startperiod: {
35
- // TODO this uses a different function than startperiod in mapSearchResult
36
- code: item.index['utbildning.attribut.startperiod.kod'],
37
- inDigits: (0, utils_1.transformPeriodInDigits)(item.index['utbildning.attribut.startperiod.kod']),
35
+ startperiod: startperiod && {
36
+ code: startperiod.code,
37
+ inDigits: (0, utils_1.transformPeriodInDigits)(startperiod.code),
38
38
  },
39
39
  utbildningstillfalleskod: (0, ladok_attributvarde_utils_1.extractString)(attributeValues, 'utbildning.attribut.utbildningstillfalleskod'),
40
40
  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)),
@@ -1 +1 @@
1
- {"version":3,"file":"mapCourseRound.js","sourceRoot":"","sources":["../src/mapCourseRound.ts"],"names":[],"mappings":";;;AAAA,8EAUuC;AAEvC,mCAOgB;AAChB,qDAAoD;AAoE7C,MAAM,cAAc,GAAG,CAC5B,IAAmE,EACnE,QAAkB,EAClB,eAAmC,EACtB,EAAE;;IACf,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAA;IAE3C,MAAM,QAAQ,GAAG;QACf,EAAE,EAAE,IAAA,yCAAa,EAAC,eAAe,EAAE,2CAA2C,EAAE,MAAM,CAAC;QACvF,EAAE,EAAE,IAAA,yCAAa,EAAC,eAAe,EAAE,2CAA2C,EAAE,MAAM,CAAC;KACxF,CAAA;IAED,MAAM,QAAQ,GAAG;QACf,EAAE,EAAE,IAAA,yCAAa,EAAC,eAAe,EAAE,2CAA2C,CAAC;QAC/E,EAAE,EAAE,IAAA,yCAAa,EAAC,eAAe,EAAE,2CAA2C,CAAC;KAChF,CAAA;IAED,MAAM,eAAe,GAAG;QACtB,EAAE,EAAE,IAAA,yCAAa,EAAC,eAAe,EAAE,kDAAkD,EAAE,MAAM,CAAC;QAC9F,EAAE,EAAE,IAAA,yCAAa,EAAC,eAAe,EAAE,kDAAkD,EAAE,MAAM,CAAC;KAC/F,CAAA;IAED,MAAM,iBAAiB,GAAG,IAAA,4CAAgB,EAAC,eAAe,EAAE,uCAAuC,CAAC,CAAA;IACpG,MAAM,gBAAgB,GAAG,IAAA,4CAAgB,EAAC,eAAe,EAAE,sCAAsC,CAAC,CAAA;IAClG,MAAM,kBAAkB,GAAG,IAAA,4CAAgB,EAAC,eAAe,EAAE,wCAAwC,CAAC,CAAA;IACtG,MAAM,SAAS,GAAG,IAAA,4CAAgB,EAAC,eAAe,EAAE,+BAA+B,CAAC,CAAA;IACpF,MAAM,iBAAiB,GAAG,IAAA,4CAAgB,EAAC,eAAe,EAAE,uCAAuC,CAAC,CAAA;IACpG,MAAM,UAAU,GAAG,IAAA,6CAAiB,EAAC,eAAe,CAAC,CAAA;IAErD,OAAO;QACL,GAAG,EAAE,IAAI,CAAC,aAAa;QACvB,cAAc,EAAE,IAAA,4BAAc,EAAC,IAAA,iDAAqB,EAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAE,EAAE,QAAQ,CAAC,EAAE,4DAA4D;QAC3J,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;QAClE,aAAa,EAAE,IAAA,yCAAa,EAAC,eAAe,EAAE,8CAA8C,CAAC;QAC7F,WAAW,EAAE;YACX,0EAA0E;YAC1E,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,qCAAqC,CAAC;YACvD,QAAQ,EAAE,IAAA,+BAAuB,EAAC,IAAI,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;SACrF;QACD,wBAAwB,EAAE,IAAA,yCAAa,EAAC,eAAe,EAAE,8CAA8C,CAAC;QACxG,wBAAwB,kBACtB,IAAI,EAAE,MAAA,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,0CAAE,wBAAkC,IACpE,IAAA,sBAAc,EAAC,MAAA,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,0CAAE,wBAAkC,CAAC,CACrF;QACD,uBAAuB,kBACrB,IAAI,EAAE,MAAA,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,0CAAE,uBAAiC,IACpE,IAAA,sBAAc,EAAC,MAAA,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,0CAAE,uBAAiC,CAAC,CACrF;QACD,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;QAC3C,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC;QAC5B,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC;QAC5B,eAAe,EAAE,eAAe,CAAC,QAAQ,CAAC;QAE1C,iBAAiB,EAAE,iBAAiB,IAAI,IAAA,0BAAkB,EAAC,iBAAiB,EAAE,QAAQ,CAAC;QACvF,gBAAgB,EAAE,gBAAgB,IAAI,IAAA,0BAAkB,EAAC,gBAAgB,EAAE,QAAQ,CAAC;QACpF,kBAAkB,EAAE,kBAAkB,IAAI,IAAA,0BAAkB,EAAC,kBAAkB,EAAE,QAAQ,CAAC;QAC1F,SAAS,EAAE,SAAS,IAAI,IAAA,0BAAkB,EAAC,SAAS,EAAE,QAAQ,CAAC;QAC/D,UAAU,EAAE,UAAU,IAAI,IAAA,2BAAmB,EAAC,UAAU,EAAE,QAAQ,CAAC;QACnE,iBAAiB,EAAE,iBAAiB,IAAI,IAAA,0BAAkB,EAAC,iBAAiB,EAAE,QAAQ,CAAC;QAEvF,kBAAkB,EAAE,IAAA,qDAAyB,EAAC,eAAe,CAAC;QAC9D,eAAe,EAAE,IAAA,0CAAc,EAAC,eAAe,EAAE,+CAA+C,CAAC;QACjG,QAAQ,EAAE,IAAA,0CAAc,EAAC,eAAe,EAAE,wCAAwC,CAAC;QAEnF,YAAY,EAAE,eAAe;KAC9B,CAAA;AACH,CAAC,CAAA;AAnEY,QAAA,cAAc,kBAmE1B"}
1
+ {"version":3,"file":"mapCourseRound.js","sourceRoot":"","sources":["../src/mapCourseRound.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { SokPlanItem } from '@kth/ladok-mellanlager-client';
1
+ import { SokPlanItem, SokPlanSlimItem } from '@kth/ladok-mellanlager-client';
2
2
  import { Grunddata } from '@kth/ladok-attributvarde-utils';
3
3
  import { Language } from './utils';
4
4
  import { GradingScalesCodes } from './mapGradingScales';
@@ -40,7 +40,7 @@ export type KursPlan = {
40
40
  avvecklingsbeslut: string | undefined;
41
41
  };
42
42
  };
43
- export declare const mapCourseSyllabus: (syllabus: SokPlanItem, gradingScalesCodes: GradingScalesCodes, examinationModules: FormattedExaminationModules, language: Language) => {
43
+ export declare const mapCourseSyllabus: (syllabus: SokPlanItem | SokPlanSlimItem, gradingScalesCodes: GradingScalesCodes, examinationModules: FormattedExaminationModules, language: Language) => {
44
44
  course: {
45
45
  kod: string;
46
46
  benamning: {
@@ -1 +1 @@
1
- {"version":3,"file":"mapCourseSyllabus.js","sourceRoot":"","sources":["../src/mapCourseSyllabus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapCourseSyllabus.js","sourceRoot":"","sources":["../src/mapCourseSyllabus.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ export type PartOfProgramme = {
5
5
  en: string;
6
6
  sv: string;
7
7
  };
8
- startperiod: {
8
+ startperiod?: {
9
9
  code: string;
10
10
  inDigits: string | null;
11
11
  };
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.mapPartOfProgramme = void 0;
4
4
  const utils_1 = require("./utils");
5
+ const ladok_attributvarde_utils_1 = require("@kth/ladok-attributvarde-utils");
5
6
  const capitalizeFirstWord = (input) => input.toLowerCase().replace(/^./, c => c.toUpperCase());
6
7
  const getElectiveCondition = (structureItem) => {
7
8
  var _a, _b;
@@ -15,15 +16,16 @@ const getElectiveCondition = (structureItem) => {
15
16
  };
16
17
  const mapPartOfProgramme = (programmeInstance, structureItem, studyYear, specialisationInstance) => {
17
18
  var _a, _b;
19
+ const startperiod = (0, ladok_attributvarde_utils_1.extractStartPeriod)(programmeInstance.Attributvarden);
18
20
  return {
19
21
  kod: programmeInstance.index['utbildning.attribut.kod'],
20
22
  benamning: {
21
23
  sv: (_a = programmeInstance.index['utbildning.attribut.svensk.benamning']) !== null && _a !== void 0 ? _a : '',
22
24
  en: (_b = programmeInstance.index['utbildning.attribut.engelsk.benamning']) !== null && _b !== void 0 ? _b : '',
23
25
  },
24
- startperiod: {
25
- code: programmeInstance.index['utbildning.attribut.startperiod.kod'],
26
- inDigits: (0, utils_1.transformPeriodInDigits)(programmeInstance.index['utbildning.attribut.startperiod.kod']),
26
+ startperiod: startperiod && {
27
+ code: startperiod.code,
28
+ inDigits: (0, utils_1.transformPeriodInDigits)(startperiod.code),
27
29
  },
28
30
  arskurs: studyYear,
29
31
  valinformation: getElectiveCondition(structureItem),
@@ -1 +1 @@
1
- {"version":3,"file":"mapPartOfProgramme.js","sourceRoot":"","sources":["../src/mapPartOfProgramme.ts"],"names":[],"mappings":";;;AAKA,mCAAiD;AAcjD,MAAM,mBAAmB,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;AAEtG,MAAM,oBAAoB,GAAG,CAAC,aAA0B,EAAE,EAAE;;IAC1D,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;QAClC,OAAO,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,WAAW,EAAE,CAAA;IAChD,CAAC;IACD,OAAO;QACL,EAAE,EAAE,mBAAmB,CAAC,MAAA,aAAa,CAAC,cAAc,CAAC,iBAAiB,mCAAI,EAAE,CAAC;QAC7E,EAAE,EAAE,mBAAmB,CAAC,MAAA,aAAa,CAAC,cAAc,CAAC,kBAAkB,mCAAI,EAAE,CAAC;KAC/E,CAAA;AACH,CAAC,CAAA;AAEM,MAAM,kBAAkB,GAAG,CAChC,iBAAgF,EAChF,aAA0B,EAC1B,SAAiB,EACjB,sBAAkG,EACjF,EAAE;;IACnB,OAAO;QACL,GAAG,EAAE,iBAAiB,CAAC,KAAK,CAAC,yBAAyB,CAAC;QACvD,SAAS,EAAE;YACT,EAAE,EAAE,MAAA,iBAAiB,CAAC,KAAK,CAAC,sCAAsC,CAAC,mCAAI,EAAE;YACzE,EAAE,EAAE,MAAA,iBAAiB,CAAC,KAAK,CAAC,uCAAuC,CAAC,mCAAI,EAAE;SAC3E;QACD,WAAW,EAAE;YACX,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC,qCAAqC,CAAC;YACpE,QAAQ,EAAE,IAAA,+BAAuB,EAAC,iBAAiB,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;SAClG;QACD,OAAO,EAAE,SAAS;QAClB,cAAc,EAAE,oBAAoB,CAAC,aAAa,CAAC;QACnD,UAAU,EAAE,sBAAsB,aAAtB,sBAAsB,uBAAtB,sBAAsB,CAAE,KAAK,CAAC,yBAAyB,CAAC;KACrE,CAAA;AACH,CAAC,CAAA;AApBY,QAAA,kBAAkB,sBAoB9B"}
1
+ {"version":3,"file":"mapPartOfProgramme.js","sourceRoot":"","sources":["../src/mapPartOfProgramme.ts"],"names":[],"mappings":";;;AAKA,mCAAiD;AACjD,8EAAmE;AAcnE,MAAM,mBAAmB,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;AAEtG,MAAM,oBAAoB,GAAG,CAAC,aAA0B,EAAE,EAAE;;IAC1D,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;QAClC,OAAO,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,WAAW,EAAE,CAAA;IAChD,CAAC;IACD,OAAO;QACL,EAAE,EAAE,mBAAmB,CAAC,MAAA,aAAa,CAAC,cAAc,CAAC,iBAAiB,mCAAI,EAAE,CAAC;QAC7E,EAAE,EAAE,mBAAmB,CAAC,MAAA,aAAa,CAAC,cAAc,CAAC,kBAAkB,mCAAI,EAAE,CAAC;KAC/E,CAAA;AACH,CAAC,CAAA;AAEM,MAAM,kBAAkB,GAAG,CAChC,iBAAgF,EAChF,aAA0B,EAC1B,SAAiB,EACjB,sBAAkG,EACjF,EAAE;;IACnB,MAAM,WAAW,GAAG,IAAA,8CAAkB,EAAC,iBAAiB,CAAC,cAAc,CAAC,CAAA;IACxE,OAAO;QACL,GAAG,EAAE,iBAAiB,CAAC,KAAK,CAAC,yBAAyB,CAAC;QACvD,SAAS,EAAE;YACT,EAAE,EAAE,MAAA,iBAAiB,CAAC,KAAK,CAAC,sCAAsC,CAAC,mCAAI,EAAE;YACzE,EAAE,EAAE,MAAA,iBAAiB,CAAC,KAAK,CAAC,uCAAuC,CAAC,mCAAI,EAAE;SAC3E;QACD,WAAW,EAAE,WAAW,IAAI;YAC1B,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,QAAQ,EAAE,IAAA,+BAAuB,EAAC,WAAW,CAAC,IAAI,CAAC;SACpD;QACD,OAAO,EAAE,SAAS;QAClB,cAAc,EAAE,oBAAoB,CAAC,aAAa,CAAC;QACnD,UAAU,EAAE,sBAAsB,aAAtB,sBAAsB,uBAAtB,sBAAsB,CAAE,KAAK,CAAC,yBAAyB,CAAC;KACrE,CAAA;AACH,CAAC,CAAA;AArBY,QAAA,kBAAkB,sBAqB9B"}
@@ -0,0 +1,55 @@
1
+ import { PeriodItem, Plan, PlanSlim } from '@kth/ladok-mellanlager-client';
2
+ import { Language } from './utils';
3
+ export type ProgramSyllabus = {
4
+ specializations?: {
5
+ kod: string;
6
+ beskrivning?: string;
7
+ benamning: string;
8
+ arskursinformationAr1?: string;
9
+ arskursinformationAr2?: string;
10
+ arskursinformationAr3?: string;
11
+ arskursinformationAr4?: string;
12
+ arskursinformationAr5?: string;
13
+ infoVvkurserAr1?: string;
14
+ infoVvkurserAr2?: string;
15
+ infoVvkurserAr3?: string;
16
+ infoVvkurserAr4?: string;
17
+ infoVvkurserAr5?: string;
18
+ }[];
19
+ giltigfran?: string;
20
+ utgava?: number;
21
+ kurslistaar1?: string;
22
+ kurslistaar2?: string;
23
+ kurslistaar3?: string;
24
+ kurslistaar4?: string;
25
+ kurslistaar5?: string;
26
+ utbildningensgenomforande?: string;
27
+ utbildningensupplagg?: string;
28
+ inriktningar?: string[];
29
+ fardigheterOchFormagor?: string;
30
+ varderingsformagaOchForhallningssatt?: string;
31
+ arskursinformationAr1?: string;
32
+ arskursinformationAr2?: string;
33
+ arskursinformationAr3?: string;
34
+ arskursinformationAr4?: string;
35
+ arskursinformationAr5?: string;
36
+ infoVvkurserAr1?: string;
37
+ infoVvkurserAr2?: string;
38
+ infoVvkurserAr3?: string;
39
+ infoVvkurserAr4?: string;
40
+ infoVvkurserAr5?: string;
41
+ giltighet?: string;
42
+ utbildningensMal?: string;
43
+ kunskapOchForstaelse?: string;
44
+ utbildningensOmfattningOchInnehall?: string;
45
+ behorighetOchUrval?: string;
46
+ kurser?: string;
47
+ betygssystem?: string;
48
+ villkorForDeltagande?: string;
49
+ tillgodoraknande?: string;
50
+ utlandsstudier?: string;
51
+ examensarbete?: string;
52
+ examen?: string;
53
+ legalNotice?: string;
54
+ };
55
+ export declare const mapProgramSyllabus: (syllabus: Plan | PlanSlim, periods: PeriodItem[], language: Language) => ProgramSyllabus;
@@ -0,0 +1,95 @@
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.mapProgramSyllabus = void 0;
7
+ const ladok_attributvarde_utils_1 = require("@kth/ladok-attributvarde-utils");
8
+ const utils_1 = require("./utils");
9
+ const showdown_1 = __importDefault(require("showdown"));
10
+ const convertMarkdownToHtml = (markdownText) => {
11
+ const converter = new showdown_1.default.Converter({ tables: true });
12
+ if (markdownText)
13
+ return converter.makeHtml(markdownText);
14
+ };
15
+ const mapProgramSyllabus = (syllabus, periods, language) => {
16
+ var _a;
17
+ const buildAttributeKey = (attribute, onlyEn = false) => {
18
+ return `utbildning.lokalt.attribut.29.${attribute}.${onlyEn ? 'en' : language}`;
19
+ };
20
+ const findAndConvertMarkdownValue = (attribute, attributvarden = syllabus.AktuellaAttributvarden) => {
21
+ const attributeKey = buildAttributeKey(attribute);
22
+ const extractedValueForAttribute = (0, ladok_attributvarde_utils_1.extractString)(attributvarden, attributeKey, 'markdown');
23
+ return convertMarkdownToHtml(extractedValueForAttribute);
24
+ };
25
+ const findIntegerValue = (attribute, attributvarden = syllabus.AktuellaAttributvarden) => {
26
+ const attributeKey = buildAttributeKey(attribute);
27
+ const extractedValueForAttribute = (0, ladok_attributvarde_utils_1.extractInteger)(attributvarden, attributeKey);
28
+ return extractedValueForAttribute;
29
+ };
30
+ const findStringValues = (attribute, onlyEn = false) => {
31
+ const attributeKey = buildAttributeKey(attribute, onlyEn);
32
+ const extractedValueForAttribute = (0, ladok_attributvarde_utils_1.extractStrings)(syllabus.AktuellaAttributvarden, attributeKey);
33
+ return extractedValueForAttribute;
34
+ };
35
+ const giltigFran = (0, utils_1.findMatchingPeriod)(syllabus.GiltigFran, periods);
36
+ const specializations = [];
37
+ (_a = syllabus.IngaendeDelarForPlan) === null || _a === void 0 ? void 0 : _a.forEach(includedPart => {
38
+ const specializationCode = includedPart.Utbildningskod;
39
+ specializations.push({
40
+ kod: specializationCode,
41
+ benamning: language === 'en' ? includedPart.EngelskBenamning : includedPart.SvenskBenamning,
42
+ beskrivning: findAndConvertMarkdownValue('inriktning.beskrivning', includedPart.AktuellaAttributvarden),
43
+ arskursinformationAr1: findAndConvertMarkdownValue('arskursinformation.ar1', includedPart.AktuellaAttributvarden),
44
+ arskursinformationAr2: findAndConvertMarkdownValue('arskursinformation.ar2', includedPart.AktuellaAttributvarden),
45
+ arskursinformationAr3: findAndConvertMarkdownValue('arskursinformation.ar3', includedPart.AktuellaAttributvarden),
46
+ arskursinformationAr4: findAndConvertMarkdownValue('arskursinformation.ar4', includedPart.AktuellaAttributvarden),
47
+ arskursinformationAr5: findAndConvertMarkdownValue('arskursinformation.ar5', includedPart.AktuellaAttributvarden),
48
+ infoVvkurserAr1: findAndConvertMarkdownValue('info.vvkurser.ar1', includedPart.AktuellaAttributvarden),
49
+ infoVvkurserAr2: findAndConvertMarkdownValue('info.vvkurser.ar2', includedPart.AktuellaAttributvarden),
50
+ infoVvkurserAr3: findAndConvertMarkdownValue('info.vvkurser.ar3', includedPart.AktuellaAttributvarden),
51
+ infoVvkurserAr4: findAndConvertMarkdownValue('info.vvkurser.ar4', includedPart.AktuellaAttributvarden),
52
+ infoVvkurserAr5: findAndConvertMarkdownValue('info.vvkurser.ar5', includedPart.AktuellaAttributvarden),
53
+ });
54
+ });
55
+ return {
56
+ specializations: specializations,
57
+ giltigfran: giltigFran === null || giltigFran === void 0 ? void 0 : giltigFran.Kod,
58
+ utgava: findIntegerValue('utgava'),
59
+ kurslistaar1: findAndConvertMarkdownValue('kurslistaar1'),
60
+ kurslistaar2: findAndConvertMarkdownValue('kurslistaar2'),
61
+ kurslistaar3: findAndConvertMarkdownValue('kurslistaar3'),
62
+ kurslistaar4: findAndConvertMarkdownValue('kurslistaar4'),
63
+ kurslistaar5: findAndConvertMarkdownValue('kurslistaar5'),
64
+ utbildningensgenomforande: findAndConvertMarkdownValue('utbildningensgenomforande'),
65
+ utbildningensupplagg: findAndConvertMarkdownValue('utbildningensupplagg'),
66
+ inriktningar: findStringValues('inriktningar', true),
67
+ fardigheterOchFormagor: findAndConvertMarkdownValue('fardigheter.och.formagor'),
68
+ varderingsformagaOchForhallningssatt: findAndConvertMarkdownValue('varderingsformaga.och.forhallningssatt'),
69
+ arskursinformationAr1: findAndConvertMarkdownValue('arskursinformation.ar1'),
70
+ arskursinformationAr2: findAndConvertMarkdownValue('arskursinformation.ar2'),
71
+ arskursinformationAr3: findAndConvertMarkdownValue('arskursinformation.ar3'),
72
+ arskursinformationAr4: findAndConvertMarkdownValue('arskursinformation.ar4'),
73
+ arskursinformationAr5: findAndConvertMarkdownValue('arskursinformation.ar5'),
74
+ infoVvkurserAr1: findAndConvertMarkdownValue('info.vvkurser.ar1'),
75
+ infoVvkurserAr2: findAndConvertMarkdownValue('info.vvkurser.ar2'),
76
+ infoVvkurserAr3: findAndConvertMarkdownValue('info.vvkurser.ar3'),
77
+ infoVvkurserAr4: findAndConvertMarkdownValue('info.vvkurser.ar4'),
78
+ infoVvkurserAr5: findAndConvertMarkdownValue('info.vvkurser.ar5'),
79
+ giltighet: findAndConvertMarkdownValue('giltighet'),
80
+ utbildningensMal: findAndConvertMarkdownValue('utbildningens.mal'),
81
+ kunskapOchForstaelse: findAndConvertMarkdownValue('kunskap.och.forstaelse'),
82
+ utbildningensOmfattningOchInnehall: findAndConvertMarkdownValue('utbildningens.omfattning.och.innehall'),
83
+ behorighetOchUrval: findAndConvertMarkdownValue('behorighet.och.urval'),
84
+ kurser: findAndConvertMarkdownValue('kurser'),
85
+ betygssystem: findAndConvertMarkdownValue('betygssystem'),
86
+ villkorForDeltagande: findAndConvertMarkdownValue('villkor.for.deltagande'),
87
+ tillgodoraknande: findAndConvertMarkdownValue('tillgodoraknande'),
88
+ utlandsstudier: findAndConvertMarkdownValue('utlandsstudier'),
89
+ examensarbete: findAndConvertMarkdownValue('examensarbete'),
90
+ examen: findAndConvertMarkdownValue('examen'),
91
+ legalNotice: findAndConvertMarkdownValue('legal.notice'),
92
+ };
93
+ };
94
+ exports.mapProgramSyllabus = mapProgramSyllabus;
95
+ //# sourceMappingURL=mapProgramSyllabus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapProgramSyllabus.js","sourceRoot":"","sources":["../src/mapProgramSyllabus.ts"],"names":[],"mappings":"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"}
@@ -3,12 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.mapProgramTerm = void 0;
4
4
  const ladok_attributvarde_utils_1 = require("@kth/ladok-attributvarde-utils");
5
5
  const mapProgramTerm = (item, language) => {
6
+ var _a, _b;
6
7
  const lokalmarkning = (0, ladok_attributvarde_utils_1.extractLokalmarkning)(item.Attributvarden);
7
8
  return {
8
9
  status: (0, ladok_attributvarde_utils_1.extractLadokStatus)(item.Attributvarden),
9
10
  kod: item.index['utbildning.attribut.kod'],
10
11
  lokalmarkning: lokalmarkning,
11
- startPeriod: item.index['utbildning.attribut.startperiod.kod'],
12
+ startPeriod: (_b = (_a = (0, ladok_attributvarde_utils_1.extractStartPeriod)(item.Attributvarden)) === null || _a === void 0 ? void 0 : _a.code) !== null && _b !== void 0 ? _b : '',
12
13
  };
13
14
  };
14
15
  exports.mapProgramTerm = mapProgramTerm;
@@ -1 +1 @@
1
- {"version":3,"file":"mapProgramTerm.js","sourceRoot":"","sources":["../src/mapProgramTerm.ts"],"names":[],"mappings":";;;AAAA,8EAAqH;AAW9G,MAAM,cAAc,GAAG,CAC5B,IAAmE,EACnE,QAAkB,EACL,EAAE;IACf,MAAM,aAAa,GAAG,IAAA,gDAAoB,EAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAE/D,OAAO;QACL,MAAM,EAAE,IAAA,8CAAkB,EAAC,IAAI,CAAC,cAAc,CAAC;QAC/C,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC;QAC1C,aAAa,EAAE,aAAa;QAC5B,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,qCAAqC,CAAC;KAC/D,CAAA;AACH,CAAC,CAAA;AAZY,QAAA,cAAc,kBAY1B"}
1
+ {"version":3,"file":"mapProgramTerm.js","sourceRoot":"","sources":["../src/mapProgramTerm.ts"],"names":[],"mappings":";;;AAAA,8EAMuC;AAWhC,MAAM,cAAc,GAAG,CAC5B,IAAmE,EACnE,QAAkB,EACL,EAAE;;IACf,MAAM,aAAa,GAAG,IAAA,gDAAoB,EAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAE/D,OAAO;QACL,MAAM,EAAE,IAAA,8CAAkB,EAAC,IAAI,CAAC,cAAc,CAAC;QAC/C,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC;QAC1C,aAAa,EAAE,aAAa;QAC5B,WAAW,EAAE,MAAA,MAAA,IAAA,8CAAkB,EAAC,IAAI,CAAC,cAAc,CAAC,0CAAE,IAAI,mCAAI,EAAE;KACjE,CAAA;AACH,CAAC,CAAA;AAZY,QAAA,cAAc,kBAY1B"}
@@ -1,6 +1,6 @@
1
1
  import { Utbildningstillfalle, UtbildningstillfalleSlim } from '@kth/ladok-mellanlager-client';
2
- import { Language, TranslatedGrunddata, TranslatedUtbildningstyp } from './utils';
3
- import { LadokStatus } from '@kth/ladok-attributvarde-utils';
2
+ import { Language, TranslatedUtbildningstyp } from './utils';
3
+ import { LadokStatus, StartperiodType } from '@kth/ladok-attributvarde-utils';
4
4
  export type StructurePartInstance = {
5
5
  utbildningsinstansUid: string;
6
6
  uid: string;
@@ -11,7 +11,9 @@ export type StructurePartInstance = {
11
11
  formattedWithUnit: string;
12
12
  };
13
13
  utbildningstyp?: TranslatedUtbildningstyp;
14
- startperiod?: TranslatedGrunddata;
14
+ startperiod?: StartperiodType & {
15
+ inDigits?: string | null;
16
+ };
15
17
  Tillfallesperioder: {
16
18
  ForstaRegistreringsdatum: string;
17
19
  ForstaUndervisningsdatum: string;
@@ -10,7 +10,7 @@ const mapStructurePartInstances = (entity, language) => {
10
10
  const tillfalleskod = (0, ladok_attributvarde_utils_1.extractString)(Attributvarden, 'utbildning.attribut.utbildningstillfalleskod');
11
11
  const omfattningNumber = entity.Tillfallesperioder.reduce((sum, period) => sum + period.Omfattningsvarde, 0);
12
12
  const utbildningstyp = (0, ladok_attributvarde_utils_1.extractUtbildningstyp)(Attributvarden);
13
- const startperiod = (0, ladok_attributvarde_utils_1.extractGrunddata)(Attributvarden, 'utbildning.attribut.startperiod');
13
+ const startperiod = (0, ladok_attributvarde_utils_1.extractStartPeriod)(Attributvarden);
14
14
  return {
15
15
  utbildningsinstansUid: utbildningsinstansUid,
16
16
  uid: Uid,
@@ -21,7 +21,8 @@ const mapStructurePartInstances = (entity, language) => {
21
21
  number: omfattningNumber,
22
22
  formattedWithUnit: (0, creditsUtil_1.formatCreditsWithUnitLabel)(omfattningNumber.toString(), utbildningstyp, language),
23
23
  },
24
- startperiod: startperiod && (0, utils_1.translateGrunddata)(startperiod, language),
24
+ startperiod: startperiod
25
+ ? Object.assign(Object.assign({}, startperiod), { inDigits: (0, utils_1.transformPeriodInDigits)(startperiod.code) }) : undefined,
25
26
  Tillfallesperioder: entity.Tillfallesperioder,
26
27
  };
27
28
  };
@@ -1 +1 @@
1
- {"version":3,"file":"mapStructureCourses.js","sourceRoot":"","sources":["../src/mapStructureCourses.ts"],"names":[],"mappings":";;;AACA,qDAAgE;AAChE,mCAMgB;AAChB,8EAMuC;AA0BhC,MAAM,yBAAyB,GAAG,CACvC,MAAuD,EACvD,QAAkB,EACK,EAAE;IACzB,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,GAAG,MAAM,CAAA;IAEtC,MAAM,qBAAqB,GAAG,IAAA,yCAAa,EAAC,cAAc,EAAE,wBAAwB,CAAC,CAAA;IAErF,MAAM,aAAa,GAAG,IAAA,yCAAa,EAAC,cAAc,EAAE,8CAA8C,CAAC,CAAA;IAEnG,MAAM,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAA;IAE5G,MAAM,cAAc,GAAG,IAAA,iDAAqB,EAAC,cAAc,CAAC,CAAA;IAE5D,MAAM,WAAW,GAAG,IAAA,4CAAgB,EAAC,cAAc,EAAE,iCAAiC,CAAC,CAAA;IAEvF,OAAO;QACL,qBAAqB,EAAE,qBAAsB;QAC7C,GAAG,EAAE,GAAG;QACR,aAAa,EAAE,aAAc;QAC7B,MAAM,EAAE,IAAA,8CAAkB,EAAC,cAAc,CAAC;QAC1C,cAAc,EAAE,cAAc,IAAI,IAAA,+BAAuB,EAAC,cAAc,EAAE,QAAQ,CAAC;QACnF,UAAU,EAAE;YACV,MAAM,EAAE,gBAAgB;YACxB,iBAAiB,EAAE,IAAA,wCAA0B,EAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,cAAc,EAAE,QAAQ,CAAC;SACrG;QACD,WAAW,EAAE,WAAW,IAAI,IAAA,0BAAkB,EAAC,WAAW,EAAE,QAAQ,CAAC;QACrE,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;KAC9C,CAAA;AACH,CAAC,CAAA;AA7BY,QAAA,yBAAyB,6BA6BrC"}
1
+ {"version":3,"file":"mapStructureCourses.js","sourceRoot":"","sources":["../src/mapStructureCourses.ts"],"names":[],"mappings":";;;AACA,qDAAgE;AAChE,mCAA8G;AAC9G,8EAQuC;AA0BhC,MAAM,yBAAyB,GAAG,CACvC,MAAuD,EACvD,QAAkB,EACK,EAAE;IACzB,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,GAAG,MAAM,CAAA;IAEtC,MAAM,qBAAqB,GAAG,IAAA,yCAAa,EAAC,cAAc,EAAE,wBAAwB,CAAC,CAAA;IAErF,MAAM,aAAa,GAAG,IAAA,yCAAa,EAAC,cAAc,EAAE,8CAA8C,CAAC,CAAA;IAEnG,MAAM,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAA;IAE5G,MAAM,cAAc,GAAG,IAAA,iDAAqB,EAAC,cAAc,CAAC,CAAA;IAE5D,MAAM,WAAW,GAAG,IAAA,8CAAkB,EAAC,cAAc,CAAC,CAAA;IAEtD,OAAO;QACL,qBAAqB,EAAE,qBAAsB;QAC7C,GAAG,EAAE,GAAG;QACR,aAAa,EAAE,aAAc;QAC7B,MAAM,EAAE,IAAA,8CAAkB,EAAC,cAAc,CAAC;QAC1C,cAAc,EAAE,cAAc,IAAI,IAAA,+BAAuB,EAAC,cAAc,EAAE,QAAQ,CAAC;QACnF,UAAU,EAAE;YACV,MAAM,EAAE,gBAAgB;YACxB,iBAAiB,EAAE,IAAA,wCAA0B,EAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,cAAc,EAAE,QAAQ,CAAC;SACrG;QACD,WAAW,EAAE,WAAW;YACtB,CAAC,iCACM,WAAW,KACd,QAAQ,EAAE,IAAA,+BAAuB,EAAC,WAAW,CAAC,IAAI,CAAC,IAEvD,CAAC,CAAC,SAAS;QACb,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;KAC9C,CAAA;AACH,CAAC,CAAA;AAlCY,QAAA,yBAAyB,6BAkCrC"}
@@ -8,6 +8,8 @@ import { Period } from '@kth/ladok-mellanlager-client/dist/types/endpoints/perio
8
8
  import { ProgramInstans } from '../mapProgramInstans';
9
9
  import { ProgramTillfalle } from '../mapProgramTillfalle';
10
10
  import { SearchApi } from '../search/types';
11
+ import { ProgramCurriculum } from '../utils/programUtil';
12
+ import { ProgramSyllabus } from '../mapProgramSyllabus';
11
13
  export type OmKursenLadokApiClient = {
12
14
  getLatestCourseVersion: (courseCode: string, language: Language) => Promise<(Course & ResponseInfo) | ResponseInfo>;
13
15
  getLatestCourseVersionIncludingCancelled: (courseCode: string, language: Language) => Promise<(Course & ResponseInfo) | ResponseInfo>;
@@ -20,13 +22,14 @@ export type OmKursenLadokApiClient = {
20
22
  getExaminationModulesByUtbildningstillfalleUid: (utbildningstillfalleUid: string, language: Language) => Promise<any>;
21
23
  getExaminationModulesByUtbildningsinstansUid: (utbildningsinstansUid: string, language: Language) => Promise<any>;
22
24
  getActiveProgramInstance: (programCode: string, semester: string, language: Language) => Promise<ProgramTillfalle | undefined>;
25
+ getProgramCurriculum: (programCode: string, semester: string, language: Language) => Promise<ProgramCurriculum[]>;
23
26
  getProgramVersion: (programCode: string, semester: string, language: Language) => Promise<{
24
27
  programInstans: ProgramInstans | undefined;
25
28
  statusCode: number;
26
29
  }>;
27
30
  getUtbildningstilfalleStructure: (utbildningstillfalleUID: string, language: Language) => Promise<any>;
28
31
  getCourseSyllabus: (courseCode: string, semester: string, language: Language) => Promise<KursPlan> | undefined;
29
- getProgramSyllabus: (courseCode: string, semester: string, language: Language) => Promise<Utbildningsplan> | undefined;
32
+ getProgramSyllabus: (courseCode: string, semester: string, language: Language) => Promise<ProgramSyllabus>;
30
33
  getCourseSyllabuses: (courseCode: string, language: Language) => Promise<KursPlan[]> | undefined;
31
34
  getAllGradingScales: () => Promise<any>;
32
35
  getAllGradingScalesCodes: () => Promise<any>;
@@ -1,4 +1,5 @@
1
1
  import { SokPlanItem, SokPlanSlimItem } from '@kth/ladok-mellanlager-client';
2
2
  import { PeriodItem } from '@kth/ladok-mellanlager-client/dist/types/endpoints/period';
3
3
  export declare const getSemester: (dateStr: string) => string;
4
- export declare function getSyllabusForSemester(semester: string, syllabuses: SokPlanItem[] | SokPlanSlimItem[], periods: PeriodItem[]): SokPlanItem | null;
4
+ export declare function sortSyllabuses(syllabuses: (SokPlanItem | SokPlanSlimItem)[]): (SokPlanItem | SokPlanSlimItem)[];
5
+ export declare function getSyllabusForSemester(semester: string, syllabuses: SokPlanItem[] | SokPlanSlimItem[], periods: PeriodItem[]): SokPlanItem | SokPlanSlimItem | null;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getSemester = void 0;
4
+ exports.sortSyllabuses = sortSyllabuses;
4
5
  exports.getSyllabusForSemester = getSyllabusForSemester;
5
6
  const periodUtil_1 = require("./periodUtil");
6
7
  const getSemester = (dateStr) => {
@@ -31,10 +32,15 @@ function sortSyllabuses(syllabuses) {
31
32
  return versionB - versionA;
32
33
  }
33
34
  // Step 3: If same course version date, sort by latest syllabus version (descending)
34
- const syllabusEditionA = a.AktuellaAttributvarden.find((Attributvarde) => Attributvarde.Attributdefinition.Kod === 'utbildning.lokalt.attribut.29.utgava').Varden[0];
35
- const syllabusEditionB = b.AktuellaAttributvarden.find((Attributvarde) => Attributvarde.Attributdefinition.Kod === 'utbildning.lokalt.attribut.29.utgava').Varden[0];
36
- if (parseInt(syllabusEditionA) !== parseInt(syllabusEditionB)) {
37
- return parseInt(syllabusEditionB) - parseInt(syllabusEditionA);
35
+ const getEdition = (obj) => {
36
+ var _a, _b;
37
+ const val = (_b = (_a = obj.AktuellaAttributvarden.find((Attributvarde) => Attributvarde.Attributdefinition.Kod === 'utbildning.lokalt.attribut.29.utgava')) === null || _a === void 0 ? void 0 : _a.Varden) === null || _b === void 0 ? void 0 : _b[0];
38
+ return val ? parseInt(val, 10) : -Infinity; // undefined editions get lowest priority
39
+ };
40
+ const editionA = getEdition(a);
41
+ const editionB = getEdition(b);
42
+ if (editionA !== editionB) {
43
+ return editionB - editionA; // descending: latest comes first
38
44
  }
39
45
  // Step 3: If same versionsnummer, sort by most recent date the syllabus was saved
40
46
  const timestampA = new Date(a.BeslutsinformationForPlan.Beslutloggposter[0].SenastSparad).getTime();
@@ -1 +1 @@
1
- {"version":3,"file":"courseSyllabusUtil.js","sourceRoot":"","sources":["../../src/utils/courseSyllabusUtil.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"courseSyllabusUtil.js","sourceRoot":"","sources":["../../src/utils/courseSyllabusUtil.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@ import { LadokMellanlagerApiClient, MellanlagringSearchResponse, PeriodItem, Sok
2
2
  import { Language } from './languageUtil';
3
3
  import { ProgramInstans } from '../mapProgramInstans';
4
4
  import { Lokalmarkning } from '@kth/ladok-attributvarde-utils';
5
+ import { ProgramCourse } from './programStrukturUtil';
6
+ import { ProgramSyllabus } from '../mapProgramSyllabus';
5
7
  export declare const filterAndMapProgramTillfalle: (response: MellanlagringSearchResponse<SokUtbildningsTillfalleItem | SokUtbildningsTillfalleSlimItem>, language: Language) => import("../mapProgramTillfalle").ProgramTillfalle[];
6
8
  export declare const selectProgramInstans: (code: string | undefined, periods: PeriodItem[], programs: ProgramInstans[]) => ProgramInstans | undefined;
7
9
  export declare const filterAndMapProgramInstans: (response: MellanlagringSearchResponse<SokUtbildningsInstansItem | SokUtbildningsInstansSlimItem>, periods: PeriodItem[], code: string, language: Language, ladokClient: LadokMellanlagerApiClient) => Promise<(ProgramInstans & {
@@ -10,3 +12,33 @@ export declare const filterAndMapProgramInstans: (response: MellanlagringSearchR
10
12
  }) | undefined>;
11
13
  export declare const hasCourseListMarking: (lokalmarkning: Lokalmarkning[] | undefined) => boolean;
12
14
  export declare const getProgramTerms: (program: ProgramInstans, oldestProgram: ProgramInstans, language: Language, ladokClient: LadokMellanlagerApiClient) => Promise<string[]>;
15
+ export declare const findProgramVersion: (programCode: string, semester: string, language: Language, ladokClient: LadokMellanlagerApiClient) => Promise<(ProgramInstans & {
16
+ approvedStudyProgrammeTerms: string[];
17
+ firstAdmissionTerm?: string;
18
+ }) | undefined>;
19
+ export declare const findProgramInstance: (programCode: string, semester: string, language: Language, ladokClient: LadokMellanlagerApiClient) => Promise<import("../mapProgramTillfalle").ProgramTillfalle | undefined>;
20
+ type ProgramCurriculumStudyYear = {
21
+ yearNumber: number;
22
+ supplementaryInfo?: string;
23
+ conditionallyElectiveCoursesInfo?: string;
24
+ courses: ProgramCourse[] | string;
25
+ };
26
+ export type ProgramCurriculum = {
27
+ studyYears: ProgramCurriculumStudyYear[];
28
+ programmeSpecialization?: {
29
+ programmeSpecializationCode: string;
30
+ title: string;
31
+ description?: string;
32
+ };
33
+ };
34
+ export declare const determineCurriculumFetchFlags: (studyYear: number, lengthInStudyYears: number) => {
35
+ shouldUseStructureData: boolean;
36
+ shouldUseSyllabusData: boolean;
37
+ };
38
+ export declare function getAllProgrammeSpecializationCodes(curriculums: ProgramCurriculum[]): string[];
39
+ export declare const findProgramSyllabusForSemester: (programCode: string, semester: string, language: Language, ladokClient: LadokMellanlagerApiClient) => Promise<ProgramSyllabus>;
40
+ export declare function enrichCurriculumsInformationDataWithSyllabusData(curriculums: ProgramCurriculum[], syllabusData: ProgramSyllabus | undefined): ProgramCurriculum[];
41
+ export declare function enrichCurriculumsCourseListDataWithSyllabusData(curriculums: ProgramCurriculum[], programSyllabus: ProgramSyllabus | undefined, baseYear: number): ProgramCurriculum[];
42
+ export declare const generateCurriculumsFromSyllabusOnly: (programSyllabus: ProgramSyllabus, baseYear: number, lengthInStudyYears: number) => ProgramCurriculum[];
43
+ export declare const createProgramCurriculumsData: (programCode: string, semester: string, language: Language, ladokClient: LadokMellanlagerApiClient) => Promise<ProgramCurriculum[]>;
44
+ export {};
@@ -9,7 +9,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.getProgramTerms = exports.hasCourseListMarking = exports.filterAndMapProgramInstans = exports.selectProgramInstans = exports.filterAndMapProgramTillfalle = void 0;
12
+ exports.createProgramCurriculumsData = exports.generateCurriculumsFromSyllabusOnly = exports.findProgramSyllabusForSemester = exports.determineCurriculumFetchFlags = exports.findProgramInstance = exports.findProgramVersion = exports.getProgramTerms = exports.hasCourseListMarking = exports.filterAndMapProgramInstans = exports.selectProgramInstans = exports.filterAndMapProgramTillfalle = void 0;
13
+ exports.getAllProgrammeSpecializationCodes = getAllProgrammeSpecializationCodes;
14
+ exports.enrichCurriculumsInformationDataWithSyllabusData = enrichCurriculumsInformationDataWithSyllabusData;
15
+ exports.enrichCurriculumsCourseListDataWithSyllabusData = enrichCurriculumsCourseListDataWithSyllabusData;
13
16
  const mapProgramTillfalle_1 = require("../mapProgramTillfalle");
14
17
  const mapProgramInstans_1 = require("../mapProgramInstans");
15
18
  const periodUtil_1 = require("./periodUtil");
@@ -18,14 +21,19 @@ const mapProgramTerm_1 = require("../mapProgramTerm");
18
21
  const studyYearUtil_1 = require("./studyYearUtil");
19
22
  const typeChecking_1 = require("./typeChecking");
20
23
  const versionUtils_1 = require("./versionUtils");
24
+ const programStrukturUtil_1 = require("./programStrukturUtil");
25
+ const courseSyllabusUtil_1 = require("./courseSyllabusUtil");
26
+ const mapProgramSyllabus_1 = require("../mapProgramSyllabus");
21
27
  const SEMESTER_FOR_START_READING_STRUCTURES = {
22
- code: 'HT2020', // we will increase 2025 by 5 (maximum study year that we have for a program) since there can be ongoing programs until 2025
28
+ code: 'HT2025', // we will increase 2025 by {lengthInStudyYear} (maximum study year that we have for a program) since there can be ongoing programs until 2025
29
+ year: 2025,
23
30
  }; // Based on the following document: https://confluence.sys.kth.se/confluence/pages/viewpage.action?pageId=262933569
24
31
  const DATE_FOR_START_READING_SYLLABUSES = '1998-01-01';
25
32
  const SEMESTER_FOR_END_READING_SYLLABUSES = {
26
33
  code: 'VT2025',
27
34
  date: '2025-06-02',
28
35
  }; // Based on the follwoing document: https://confluence.sys.kth.se/confluence/pages/viewpage.action?pageId=262933569
36
+ const ATTRIBUT_VARDEN_FOR_ACTIVE_PROGRAM_INSTANCE = 'utbildning.attribut.organisation,utbildningstyp,utbildning.attribut.lokalmarkning,status,installt,utbildning.attribut.utbildningstillfalleskod';
29
37
  const filterAndMapProgramTillfalle = (response, language) => {
30
38
  if (response.type === 'error') {
31
39
  throw new Error(`API error: ${response.responseInfo.message}`);
@@ -66,8 +74,18 @@ const hasCourseListMarking = (lokalmarkning) => {
66
74
  attr.markningsvarde.code === ladok_attributvarde_utils_1.MarkningsvardeCode.Ja)) !== null && _a !== void 0 ? _a : false);
67
75
  };
68
76
  exports.hasCourseListMarking = hasCourseListMarking;
77
+ const getTerminKodStartForFetchStructures = (programLengthInYears) => {
78
+ /*
79
+ * Calculates the earliest term code (`terminKodStart`) from which to start reading program structures to find activeProgramTerms.
80
+ *
81
+ * Example: If the current semester is HT2025 and the program runs for 3 years,
82
+ * we calculate HT2022 to ensure we capture all ongoing or overlapping program instances.
83
+ */
84
+ const startYear = SEMESTER_FOR_START_READING_STRUCTURES.year - programLengthInYears + 1;
85
+ return `HT${startYear}`;
86
+ };
69
87
  const getProgramTerms = (program, oldestProgram, language, ladokClient) => __awaiter(void 0, void 0, void 0, function* () {
70
- var _a, _b, _c;
88
+ var _a, _b, _c, _d;
71
89
  const { kod, sistaAntagningstermin } = program;
72
90
  const transformedSistaAntagningstermin = sistaAntagningstermin
73
91
  ? (0, periodUtil_1.transformDigitsInPeriod)(sistaAntagningstermin)
@@ -87,23 +105,27 @@ const getProgramTerms = (program, oldestProgram, language, ladokClient) => __awa
87
105
  kodEllerBenamning: kod,
88
106
  baraSistaVersion: 'false',
89
107
  striktKod: 'true',
90
- terminKodStart: SEMESTER_FOR_START_READING_STRUCTURES.code,
91
- attributVarden: 'status,utbildning.attribut.lokalmarkning',
108
+ terminKodStart: getTerminKodStartForFetchStructures(program.lengthInStudyYears),
109
+ attributVarden: 'status,utbildning.attribut.lokalmarkning,utbildning.attribut.startperiod',
92
110
  antalTraffar: '100',
93
111
  };
94
112
  const responseForStructures = yield ladokClient.sokProgramTillfalleSlim(requestObjectForStructures);
95
113
  // 2. searching for structures
114
+ const skipSyllabusesCheck = !!((_a = oldestProgram.giltigFrom) === null || _a === void 0 ? void 0 : _a.startDay) && oldestProgram.giltigFrom.startDay > SEMESTER_FOR_END_READING_SYLLABUSES.date;
115
+ let responseForSyllabuses;
96
116
  // here we will sort out invalid syllabuses terms as well, we need syllabuses being valid after the giltigFran data and before sistaAntagningstermin date
97
- const requestObjectForSyllabuses = {
98
- kodEllerBenamning: kod,
99
- striktKod: 'true',
100
- tillstand: 'BESLUTAD',
101
- attributVarden: 'utbildning.lokalt.attribut.29.utgava',
102
- giltigTill: (_a = lastAdmissionTermData === null || lastAdmissionTermData === void 0 ? void 0 : lastAdmissionTermData.TomDatum) !== null && _a !== void 0 ? _a : SEMESTER_FOR_END_READING_SYLLABUSES.date,
103
- giltigFran: (_c = (_b = oldestProgram.giltigFrom) === null || _b === void 0 ? void 0 : _b.startDay) !== null && _c !== void 0 ? _c : DATE_FOR_START_READING_SYLLABUSES, // we are not able to add giltigTill without giltigFran so this is added for that purpose only
104
- antalTraffar: '100',
105
- };
106
- const responseForSyllabuses = yield ladokClient.sokPlanSlim(requestObjectForSyllabuses);
117
+ if (!skipSyllabusesCheck) {
118
+ const requestObjectForSyllabuses = {
119
+ kodEllerBenamning: kod,
120
+ striktKod: 'true',
121
+ tillstand: 'BESLUTAD',
122
+ attributVarden: 'utbildning.lokalt.attribut.29.utgava',
123
+ giltigTill: (_b = lastAdmissionTermData === null || lastAdmissionTermData === void 0 ? void 0 : lastAdmissionTermData.TomDatum) !== null && _b !== void 0 ? _b : SEMESTER_FOR_END_READING_SYLLABUSES.date,
124
+ giltigFran: (_d = (_c = oldestProgram.giltigFrom) === null || _c === void 0 ? void 0 : _c.startDay) !== null && _d !== void 0 ? _d : DATE_FOR_START_READING_SYLLABUSES, // we are not able to add giltigTill without giltigFran so this is added for that purpose only
125
+ antalTraffar: '100',
126
+ };
127
+ responseForSyllabuses = yield ladokClient.sokPlanSlim(requestObjectForSyllabuses);
128
+ }
107
129
  // 3. searching for sylabuses
108
130
  let programTermsFromStructures = [];
109
131
  if (responseForStructures === null || responseForStructures === void 0 ? void 0 : responseForStructures.items) {
@@ -132,4 +154,207 @@ const getProgramTerms = (program, oldestProgram, language, ladokClient) => __awa
132
154
  return finalProgramTerms;
133
155
  });
134
156
  exports.getProgramTerms = getProgramTerms;
157
+ const findProgramVersion = (programCode, semester, language, ladokClient) => __awaiter(void 0, void 0, void 0, function* () {
158
+ const requestObject = {
159
+ kodEllerBenamning: programCode,
160
+ striktKod: 'true',
161
+ // typ: 'program', TODO: we should un-comment this when the issue in prod is fixed
162
+ instansAttributVarden: 'utbildning.attribut.organisation,utbildningstyp,utbildning.attribut.giltig.from,utbildning.attribut.tilltradesniva,utbildning.lokalt.attribut.29.sista.antagningstermin.en',
163
+ };
164
+ const response = yield ladokClient.sokUtbildningsInstansSlim(requestObject);
165
+ const periods = yield ladokClient.period(); // TODO: Use cached values
166
+ if (periods.type !== 'success') {
167
+ throw new Error(`API call failed: ${periods.responseInfo.apiError || 'Unknown error'}`);
168
+ }
169
+ if (typeof periods.data !== 'object') {
170
+ throw new Error('periods.data is not an object.');
171
+ }
172
+ const programInstans = yield (0, exports.filterAndMapProgramInstans)(response, periods.data.Period, semester, language, ladokClient);
173
+ return programInstans;
174
+ });
175
+ exports.findProgramVersion = findProgramVersion;
176
+ const findProgramInstance = (programCode, semester, language, ladokClient) => __awaiter(void 0, void 0, void 0, function* () {
177
+ const requestObject = {
178
+ kodEllerBenamning: programCode,
179
+ startPeriod: semester,
180
+ striktKod: 'true',
181
+ baraSistaVersion: 'false',
182
+ attributVarden: ATTRIBUT_VARDEN_FOR_ACTIVE_PROGRAM_INSTANCE,
183
+ instansAttributVarden: 'utbildning.attribut.tilltradesniva',
184
+ };
185
+ const response = yield ladokClient.sokProgramTillfalleSlim(requestObject);
186
+ const programTillfalleList = (0, exports.filterAndMapProgramTillfalle)(response, language);
187
+ return (programTillfalleList === null || programTillfalleList === void 0 ? void 0 : programTillfalleList.length) ? programTillfalleList[0] : undefined;
188
+ });
189
+ exports.findProgramInstance = findProgramInstance;
190
+ const determineCurriculumFetchFlags = (studyYear, lengthInStudyYears) => {
191
+ const startYearDiff = lengthInStudyYears + studyYear - SEMESTER_FOR_START_READING_STRUCTURES.year;
192
+ const onlyStructure = startYearDiff >= lengthInStudyYears;
193
+ const both = startYearDiff > 0 && startYearDiff < lengthInStudyYears;
194
+ const onlySyllabus = startYearDiff <= 0;
195
+ return {
196
+ shouldUseStructureData: onlyStructure || both,
197
+ shouldUseSyllabusData: onlySyllabus || both,
198
+ };
199
+ };
200
+ exports.determineCurriculumFetchFlags = determineCurriculumFetchFlags;
201
+ function getAllProgrammeSpecializationCodes(curriculums) {
202
+ return curriculums
203
+ .map(c => { var _a; return (_a = c.programmeSpecialization) === null || _a === void 0 ? void 0 : _a.programmeSpecializationCode; })
204
+ .filter((code) => typeof code === 'string');
205
+ }
206
+ const findProgramSyllabusForSemester = (programCode, semester, language, ladokClient) => __awaiter(void 0, void 0, void 0, function* () {
207
+ var _a;
208
+ const periods = yield ladokClient.period(); // TODO: get this from cached value in future
209
+ if (periods.type !== 'success') {
210
+ throw new Error(`API call failed: ${periods.responseInfo.apiError || 'Unknown error'}`);
211
+ }
212
+ if (typeof periods.data !== 'object') {
213
+ throw new Error('periods.data is not an object.');
214
+ }
215
+ const smesterPeriodData = (0, periodUtil_1.findPeriodByKod)(semester, periods.data.Period);
216
+ const requestObjectForSyllabuses = {
217
+ kodEllerBenamning: programCode,
218
+ striktKod: 'true',
219
+ tillstand: 'BESLUTAD',
220
+ attributVarden: 'utbildning.lokalt.attribut.29.utgava',
221
+ giltigTill: smesterPeriodData === null || smesterPeriodData === void 0 ? void 0 : smesterPeriodData.TomDatum,
222
+ giltigFran: smesterPeriodData === null || smesterPeriodData === void 0 ? void 0 : smesterPeriodData.FromDatum,
223
+ antalTraffar: '100',
224
+ };
225
+ const responseForSyllabuses = yield ladokClient.sokPlanSlim(requestObjectForSyllabuses);
226
+ const validSyllabuses = (_a = responseForSyllabuses === null || responseForSyllabuses === void 0 ? void 0 : responseForSyllabuses.data) === null || _a === void 0 ? void 0 : _a.filter((syllabus) => !!syllabus && 'GiltigFran' in syllabus);
227
+ if (!(validSyllabuses === null || validSyllabuses === void 0 ? void 0 : validSyllabuses.length))
228
+ throw new Error(`No program syllabuses found for ${programCode} - ${semester}`);
229
+ const sortedSyllabuses = (0, courseSyllabusUtil_1.sortSyllabuses)(validSyllabuses);
230
+ if (!sortedSyllabuses.length)
231
+ throw new Error(`No program syllabuses found for ${programCode} - ${semester}`);
232
+ const plan_uid = sortedSyllabuses[0].plan_uid;
233
+ const responseForSelectedSyllabus = yield ladokClient.planForUtbildning(plan_uid);
234
+ if (!(responseForSelectedSyllabus === null || responseForSelectedSyllabus === void 0 ? void 0 : responseForSelectedSyllabus.data))
235
+ throw new Error(`Error in fetching syllabus data for ${plan_uid}`);
236
+ return (0, mapProgramSyllabus_1.mapProgramSyllabus)(responseForSelectedSyllabus.data, periods.data.Period, language);
237
+ });
238
+ exports.findProgramSyllabusForSemester = findProgramSyllabusForSemester;
239
+ const hasSpecialization = (curriculum) => {
240
+ var _a, _b;
241
+ return (!!((_a = curriculum.programmeSpecialization) === null || _a === void 0 ? void 0 : _a.programmeSpecializationCode) && !!((_b = curriculum.programmeSpecialization) === null || _b === void 0 ? void 0 : _b.title));
242
+ };
243
+ function enrichCurriculumsInformationDataWithSyllabusData(curriculums, syllabusData) {
244
+ // Index specializations by their 'kod'
245
+ if (!syllabusData)
246
+ return curriculums;
247
+ const specializationDataMap = new Map();
248
+ for (const specialization of syllabusData.specializations || []) {
249
+ if (specialization.kod) {
250
+ specializationDataMap.set(specialization.kod, specialization);
251
+ }
252
+ }
253
+ return curriculums.map(curriculum => {
254
+ var _a;
255
+ const isSpecialization = hasSpecialization(curriculum);
256
+ const specCode = (_a = curriculum.programmeSpecialization) === null || _a === void 0 ? void 0 : _a.programmeSpecializationCode;
257
+ const dataSource = isSpecialization ? specializationDataMap.get(specCode) : syllabusData;
258
+ if (isSpecialization)
259
+ curriculum.programmeSpecialization.description = dataSource.beskrivning;
260
+ const enrichedStudyYears = curriculum.studyYears.map(studyYear => {
261
+ const year = studyYear.yearNumber;
262
+ return Object.assign(Object.assign({}, studyYear), { supplementaryInfo: (dataSource === null || dataSource === void 0 ? void 0 : dataSource[`arskursinformationAr${year}`]) || undefined, conditionallyElectiveCoursesInfo: (dataSource === null || dataSource === void 0 ? void 0 : dataSource[`infoVvkurserAr${year}`]) || undefined });
263
+ });
264
+ return Object.assign(Object.assign({}, curriculum), { studyYears: enrichedStudyYears });
265
+ });
266
+ }
267
+ function enrichCurriculumsCourseListDataWithSyllabusData(curriculums, programSyllabus, baseYear) {
268
+ if (!programSyllabus)
269
+ return curriculums;
270
+ return curriculums.map(curriculum => {
271
+ // Only update the main (non-specialization) curriculum
272
+ if (curriculum.programmeSpecialization)
273
+ return curriculum;
274
+ const updatedStudyYears = curriculum.studyYears.map(studyYear => {
275
+ const yearNum = studyYear.yearNumber;
276
+ const fullYear = baseYear + (yearNum - 1);
277
+ const syllabusField = `kurslistaar${yearNum}`;
278
+ const syllabusHtml = programSyllabus[syllabusField];
279
+ if (fullYear < SEMESTER_FOR_START_READING_STRUCTURES.year && typeof syllabusHtml === 'string') {
280
+ return Object.assign(Object.assign({}, studyYear), { courses: syllabusHtml });
281
+ }
282
+ return studyYear;
283
+ });
284
+ return Object.assign(Object.assign({}, curriculum), { studyYears: updatedStudyYears });
285
+ });
286
+ }
287
+ const generateCurriculumsFromSyllabusOnly = (programSyllabus, baseYear, lengthInStudyYears) => {
288
+ var _a;
289
+ const programCurriculum = [];
290
+ // --- Main curriculum ---
291
+ const mainStudyYears = [];
292
+ for (let year = 1; year <= lengthInStudyYears; year++) {
293
+ const fullYear = baseYear + (year - 1);
294
+ const courseHtml = programSyllabus[`kurslistaar${year}`];
295
+ if (typeof courseHtml === 'string' && fullYear < SEMESTER_FOR_START_READING_STRUCTURES.year) {
296
+ mainStudyYears.push({
297
+ yearNumber: year,
298
+ courses: courseHtml,
299
+ });
300
+ }
301
+ }
302
+ if (mainStudyYears.length > 0) {
303
+ programCurriculum.push({ studyYears: mainStudyYears });
304
+ }
305
+ // --- Specializations ---
306
+ for (const spec of (_a = programSyllabus.specializations) !== null && _a !== void 0 ? _a : []) {
307
+ const studyYears = [];
308
+ programCurriculum.push({
309
+ studyYears,
310
+ programmeSpecialization: {
311
+ programmeSpecializationCode: spec.kod,
312
+ title: spec.benamning,
313
+ description: spec.beskrivning,
314
+ },
315
+ });
316
+ }
317
+ return programCurriculum;
318
+ };
319
+ exports.generateCurriculumsFromSyllabusOnly = generateCurriculumsFromSyllabusOnly;
320
+ const createProgramCurriculumsData = (programCode, semester, language, ladokClient) => __awaiter(void 0, void 0, void 0, function* () {
321
+ const programVersion = yield (0, exports.findProgramVersion)(programCode, semester, language, ladokClient);
322
+ if (!programVersion)
323
+ throw new Error(`programVersion could not be found for ${programCode} - ${semester}`);
324
+ const { lengthInStudyYears } = programVersion;
325
+ const studyYear = (0, studyYearUtil_1.extractYear)(semester);
326
+ const { shouldUseStructureData, shouldUseSyllabusData } = (0, exports.determineCurriculumFetchFlags)(studyYear, lengthInStudyYears);
327
+ let programCurriculum = [];
328
+ if (shouldUseStructureData) {
329
+ const programInstance = yield (0, exports.findProgramInstance)(programCode, semester, language, ladokClient);
330
+ const tillfalleUid = programInstance === null || programInstance === void 0 ? void 0 : programInstance.uid;
331
+ if (!tillfalleUid)
332
+ throw new Error(`programInstance could not be found for ${programCode} - ${semester}`);
333
+ programCurriculum = yield (0, programStrukturUtil_1.fetchProgramStructure)(tillfalleUid, language, ladokClient);
334
+ }
335
+ let programSpecializationCodes = [];
336
+ if (programCurriculum.length) {
337
+ programSpecializationCodes = getAllProgrammeSpecializationCodes(programCurriculum);
338
+ }
339
+ const programSyllabus = yield (0, exports.findProgramSyllabusForSemester)(programCode, semester, language, ladokClient);
340
+ if (programSyllabus === null || programSyllabus === void 0 ? void 0 : programSyllabus.specializations) {
341
+ const specializationsToCheck = programSpecializationCodes.length
342
+ ? programSpecializationCodes
343
+ : programSyllabus.inriktningar;
344
+ if (specializationsToCheck === null || specializationsToCheck === void 0 ? void 0 : specializationsToCheck.length) {
345
+ programSyllabus.specializations = programSyllabus.specializations.filter(spec => specializationsToCheck.includes(spec.kod));
346
+ }
347
+ }
348
+ programCurriculum = enrichCurriculumsInformationDataWithSyllabusData(programCurriculum, programSyllabus);
349
+ if (shouldUseSyllabusData) {
350
+ if (!programCurriculum.length) {
351
+ programCurriculum = (0, exports.generateCurriculumsFromSyllabusOnly)(programSyllabus, studyYear, lengthInStudyYears);
352
+ }
353
+ else {
354
+ programCurriculum = enrichCurriculumsCourseListDataWithSyllabusData(programCurriculum, programSyllabus, studyYear);
355
+ }
356
+ }
357
+ return programCurriculum;
358
+ });
359
+ exports.createProgramCurriculumsData = createProgramCurriculumsData;
135
360
  //# sourceMappingURL=programUtil.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"programUtil.js","sourceRoot":"","sources":["../../src/utils/programUtil.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"programUtil.js","sourceRoot":"","sources":["../../src/utils/programUtil.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kth/om-kursen-ladok-client",
3
- "version": "1.3.10",
3
+ "version": "1.3.12",
4
4
  "description": "Om kursen specific logic and mappings, uses both @kth/ladok-mellanlager-client and @kth/ladok-attributevarde-utils.",
5
5
  "main": "dist/index.js",
6
6
  "files": [
@@ -21,8 +21,8 @@
21
21
  "build:publish": "npm install --no-workspaces && npm run build"
22
22
  },
23
23
  "dependencies": {
24
- "@kth/ladok-attributvarde-utils": "0.1.7",
25
- "@kth/ladok-mellanlager-client": "0.4.6",
24
+ "@kth/ladok-attributvarde-utils": "0.1.8",
25
+ "@kth/ladok-mellanlager-client": "0.4.7",
26
26
  "date-fns": "^4.1.0",
27
27
  "showdown": "^2.1.0"
28
28
  }