@kth/om-kursen-ladok-client 1.2.5 → 1.3.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.
@@ -25,6 +25,7 @@ const courseSyllabusUtil_1 = require("./utils/courseSyllabusUtil");
25
25
  const mapCourseSyllabus_1 = require("./mapCourseSyllabus");
26
26
  const gradingScalesUtils_1 = require("./utils/gradingScalesUtils");
27
27
  const mapProgramInstans_1 = require("./mapProgramInstans");
28
+ const partOfProgrammeUtil_1 = require("./utils/partOfProgrammeUtil");
28
29
  const mergeApiResponses = (a, b, uniqueItemKey) => {
29
30
  var _a, _b, _c, _d, _e, _f, _g, _h;
30
31
  if (a.type === 'error')
@@ -53,12 +54,12 @@ const mergeApiResponses = (a, b, uniqueItemKey) => {
53
54
  items: Array.from(mergedItemsMap.values()),
54
55
  };
55
56
  };
56
- const filterAndMapCourseRounds = (response, language) => {
57
+ const filterAndMapCourseRounds = (response, language, partOfProgrammes) => {
57
58
  if (response.type === 'error') {
58
59
  throw new Error(`API error: ${response.responseInfo.message}`);
59
60
  }
60
61
  return response.items
61
- .map(x => (0, mapCourseRound_1.mapCourseRound)(x, language))
62
+ .map(x => (0, mapCourseRound_1.mapCourseRound)(x, language, partOfProgrammes === null || partOfProgrammes === void 0 ? void 0 : partOfProgrammes[x.tillfalle_uid]))
62
63
  .filter(x => x !== undefined)
63
64
  .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.
64
65
  );
@@ -73,7 +74,7 @@ const filterAndMapProgramTillfalle = (response, language) => {
73
74
  .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'); });
74
75
  };
75
76
  const filterAndMapProgramInstans = (response, periods, code, language, ladokClient) => __awaiter(void 0, void 0, void 0, function* () {
76
- if (response.type === "error") {
77
+ if (response.type === 'error') {
77
78
  throw new Error(`API error in filterAndMapProgramInstans: ${response.responseInfo.message}`);
78
79
  }
79
80
  const mappedPrograms = [];
@@ -183,7 +184,18 @@ const createApiClient = (config) => {
183
184
  ladokClient.sokKursTillfalleSlim(Object.assign({ terminkodStart: (0, courseSyllabusUtil_1.getSemester)(currentDate) }, requestObject)),
184
185
  ]);
185
186
  const resultActiveAndFutureRounds = mergeApiResponses(resultPagaendeDatum, resultTerminsKodStart, item => item.tillfalle_uid);
186
- return filterAndMapCourseRounds(resultActiveAndFutureRounds, language);
187
+ if (!resultActiveAndFutureRounds.items) {
188
+ return filterAndMapCourseRounds(resultActiveAndFutureRounds, language);
189
+ }
190
+ const periods = yield ladokClient.period();
191
+ if (periods.type !== 'success') {
192
+ throw new Error(`API call failed: ${periods.responseInfo.apiError || 'Unknown error'}`);
193
+ }
194
+ if (typeof periods.data !== 'object') {
195
+ throw new Error('periods.data is not an object.');
196
+ }
197
+ const partOfProgrammes = yield (0, partOfProgrammeUtil_1.getPartOfProgrammes)(resultActiveAndFutureRounds.items, periods.data.Period, ladokClient);
198
+ return filterAndMapCourseRounds(resultActiveAndFutureRounds, language, partOfProgrammes);
187
199
  }),
188
200
  getCourseRoundsFromPeriod: (courseCode, fromPeriod, language) => __awaiter(void 0, void 0, void 0, function* () {
189
201
  const result = yield ladokClient.sokKursTillfalleSlim({
@@ -247,18 +259,18 @@ const createApiClient = (config) => {
247
259
  getProgramVersion: (programCode, semester, language) => __awaiter(void 0, void 0, void 0, function* () {
248
260
  const requestObject = {
249
261
  kodEllerBenamning: programCode,
250
- striktKod: "true",
251
- typ: "program",
252
- instansAttributVarden: "utbildning.attribut.organisation,utbildningstyp,utbildning.attribut.giltig.from,utbildning.attribut.tilltradesniva"
262
+ striktKod: 'true',
263
+ typ: 'program',
264
+ instansAttributVarden: 'utbildning.attribut.organisation,utbildningstyp,utbildning.attribut.giltig.from,utbildning.attribut.tilltradesniva',
253
265
  };
254
266
  try {
255
267
  const response = yield ladokClient.sokUtbildningsInstansSlim(requestObject);
256
268
  const periods = yield ladokClient.period();
257
- if (periods.type !== "success") {
258
- throw new Error(`API call failed: ${periods.responseInfo.apiError || "Unknown error"}`);
269
+ if (periods.type !== 'success') {
270
+ throw new Error(`API call failed: ${periods.responseInfo.apiError || 'Unknown error'}`);
259
271
  }
260
- if (typeof periods.data !== "object") {
261
- throw new Error("periods.data is not an object.");
272
+ if (typeof periods.data !== 'object') {
273
+ throw new Error('periods.data is not an object.');
262
274
  }
263
275
  const programInstans = yield filterAndMapProgramInstans(response, periods.data.Period, semester, language, ladokClient);
264
276
  return { programInstans, statusCode: 200 };
@@ -282,8 +294,8 @@ const createApiClient = (config) => {
282
294
  if (result.type !== 'success') {
283
295
  throw new Error(`API call failed: ${result.responseInfo.apiError || 'Unknown error'}`);
284
296
  }
285
- if (typeof result.data !== "object") {
286
- throw new Error("result.data is not an object.");
297
+ if (typeof result.data !== 'object') {
298
+ throw new Error('result.data is not an object.');
287
299
  }
288
300
  const syllabuses = result.data;
289
301
  const periods = yield ladokClient.period();
@@ -293,11 +305,11 @@ const createApiClient = (config) => {
293
305
  throw new Error(`No examination modules were found for UtbildningsinstansUID ${UtbildningsinstansUID}`);
294
306
  }
295
307
  const formattedExaminationModules = (0, examinationModulesUtil_1.formatExaminationTitles)(examinationModules, language);
296
- if (periods.type !== "success") {
297
- throw new Error(`API call failed: ${periods.responseInfo.apiError || "Unknown error"}`);
308
+ if (periods.type !== 'success') {
309
+ throw new Error(`API call failed: ${periods.responseInfo.apiError || 'Unknown error'}`);
298
310
  }
299
- if (typeof periods.data !== "object") {
300
- throw new Error("periods.data is not an object.");
311
+ if (typeof periods.data !== 'object') {
312
+ throw new Error('periods.data is not an object.');
301
313
  }
302
314
  const activeSyllabus = (0, courseSyllabusUtil_1.getSyllabusForSemester)(semester, syllabuses, periods.data.Period);
303
315
  if (!activeSyllabus) {
@@ -323,16 +335,16 @@ const createApiClient = (config) => {
323
335
  if (result.type !== 'success') {
324
336
  throw new Error(`API call failed: ${result.responseInfo.apiError || 'Unknown error'}`);
325
337
  }
326
- if (typeof result.data !== "object") {
327
- throw new Error("result.data is not an object.");
338
+ if (typeof result.data !== 'object') {
339
+ throw new Error('result.data is not an object.');
328
340
  }
329
341
  const syllabuses = result.data;
330
342
  const periods = yield ladokClient.period();
331
343
  if (periods.type !== 'success') {
332
344
  throw new Error(`API call failed: ${periods.responseInfo.apiError || 'Unknown error'}`);
333
345
  }
334
- if (typeof periods.data !== "object") {
335
- throw new Error("periods.data is not an object.");
346
+ if (typeof periods.data !== 'object') {
347
+ throw new Error('periods.data is not an object.');
336
348
  }
337
349
  const activeSyllabus = (0, courseSyllabusUtil_1.getSyllabusForSemester)(semester, syllabuses, periods.data.Period);
338
350
  if (!activeSyllabus) {
@@ -356,8 +368,8 @@ const createApiClient = (config) => {
356
368
  if (result.type !== 'success') {
357
369
  throw new Error(`API call failed: ${result.responseInfo.apiError || 'Unknown error'}`);
358
370
  }
359
- if (typeof result.data !== "object") {
360
- throw new Error("result.data is not an object.");
371
+ if (typeof result.data !== 'object') {
372
+ throw new Error('result.data is not an object.');
361
373
  }
362
374
  const data = Object.values(result.data);
363
375
  const syllabuses = data.slice(1); // Assume the first element is metadata, skip it.
@@ -1 +1 @@
1
- {"version":3,"file":"createApiClient.js","sourceRoot":"","sources":["../src/createApiClient.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4EAUsC;AAGtC,6DAAoF;AACpF,2CAAuC;AACvC,qDAAiD;AACjD,uDAAmD;AACnD,mCAAgG;AAEhG,6DAAyD;AACzD,8EAA8D;AAC9D,2EAA4G;AAC5G,qEAAmE;AACnE,+DAA2D;AAC3D,mEAAgF;AAChF,2DAAuD;AACvD,mEAAoF;AACpF,2DAAuE;AAEvE,MAAM,iBAAiB,GAAG,CACxB,CAAiC,EACjC,CAAiC,EACjC,aAAkC,EACF,EAAE;;IAClC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,CAAC,CAAA;IAChC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,CAAC,CAAA;IAEhC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAa,CAAA;IAE3C,KAAK,MAAM,IAAI,IAAI,MAAA,CAAC,CAAC,KAAK,mCAAI,EAAE,EAAE,CAAC;QACjC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;IAC/C,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,MAAA,CAAC,CAAC,KAAK,mCAAI,EAAE,EAAE,CAAC;QACjC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;IAC/C,CAAC;IAED,OAAO;QACL,IAAI,EAAE,SAAS;QACf,YAAY,EAAE;YACZ,QAAQ,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ,IAAI,CAAC,CAAC,YAAY,CAAC,QAAQ;YAC5D,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC;YAC1E,UAAU,EAAE,CAAC,CAAC,YAAY,CAAC,UAAU,IAAI,CAAC,CAAC,YAAY,CAAC,UAAU;SACnE;QACD,UAAU,EAAE;YACV,cAAc,EAAE,CAAC,MAAA,CAAC,CAAC,UAAU,CAAC,cAAc,mCAAI,CAAC,CAAC,GAAG,CAAC,MAAA,CAAC,CAAC,UAAU,CAAC,cAAc,mCAAI,CAAC,CAAC;YACvF,aAAa,EAAE,CAAC,MAAA,CAAC,CAAC,UAAU,CAAC,aAAa,mCAAI,CAAC,CAAC,GAAG,CAAC,MAAA,CAAC,CAAC,UAAU,CAAC,aAAa,mCAAI,CAAC,CAAC;YACpF,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,MAAA,CAAC,CAAC,UAAU,CAAC,WAAW,mCAAI,CAAC,EAAE,MAAA,CAAC,CAAC,UAAU,CAAC,WAAW,mCAAI,CAAC,CAAC;SACpF;QACD,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;KAC3C,CAAA;AACH,CAAC,CAAA;AAED,MAAM,wBAAwB,GAAG,CAC/B,QAAoG,EACpG,QAAkB,EAClB,EAAE;IACF,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,cAAc,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAA;IAChE,CAAC;IACD,OAAO,QAAQ,CAAC,KAAK;SAClB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,+BAAc,EAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;SACrC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;SAC5B,MAAM,CACL,CAAC,CAAC,EAAE,WAAC,OAAA,CAAC,CAAA,MAAA,CAAC,CAAC,aAAa,0CAAE,UAAU,CAAC,IAAI,CAAC,CAAA,CAAA,EAAA,CAAC,iKAAiK;KAC1M,CAAA;AACL,CAAC,CAAA;AAED,MAAM,4BAA4B,GAAG,CACnC,QAAoG,EACpG,QAAkB,EAClB,EAAE;IACF,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,cAAc,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAA;IAChE,CAAC;IACD,OAAO,QAAQ,CAAC,KAAK;SAClB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,yCAAmB,EAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;SAC1C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;SAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,WACV,OAAA,MAAA,CAAC,CAAC,aAAa,0CAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA,EAAA,CAC9G,CAAA;AACL,CAAC,CAAA;AAED,MAAM,0BAA0B,GAAG,CACjC,QAAgG,EAChG,OAAqB,EACrB,IAAY,EACZ,QAAkB,EAClB,WAAsC,EACtC,EAAE;IACF,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,4CAA4C,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/F,CAAC;IAED,MAAM,cAAc,GAAqB,EAAE,CAAA;IAE3C,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,IAAA,qCAAiB,EAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;QACnE,IAAI,MAAM;YAAE,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACzC,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,IAAA,+BAAuB,EAAC,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC,CAAA;IAC/D,CAAC;SAAM,CAAC;QACN,MAAM,cAAc,GAAG,cAAc,CAAC,IAAI,CACxC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,eAAC,OAAA,CAAC,MAAA,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,mCAAI,CAAC,CAAC,GAAG,CAAC,MAAA,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,mCAAI,CAAC,CAAC,CAAA,EAAA,CAC5E,CAAA;QACD,OAAO,cAAc,CAAC,CAAC,CAAC,CAAA;IAC1B,CAAC;AACH,CAAC,CAAA,CAAA;AACM,MAAM,eAAe,GAAG,CAAC,MAAuC,EAA0B,EAAE;IACjG,MAAM,WAAW,GAAG,IAAA,uCAA4B,EAAC,MAAM,CAAC,CAAA;IACxD,OAAO;QACL,sBAAsB,EAAE,CAAO,UAAU,EAAE,QAAQ,EAAE,EAAE;YACrD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,yBAAyB,CAAC;gBACzD,iBAAiB,EAAE,UAAU;gBAC7B,SAAS,EAAE,MAAM;gBACjB,qBAAqB,EACnB,2IAA2I;aAC9I,CAAC,CAAA;YAEF,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC5B,yBACK,MAAM,CAAC,YAAY,EACvB;YACH,CAAC;YAED,IAAI,MAAM,CAAC,UAAU,CAAC,cAAc,KAAK,CAAC,EAAE,CAAC;gBAC3C,uCACK,MAAM,CAAC,YAAY,KACtB,UAAU,EAAE,GAAG,EACf,OAAO,EAAE,WAAW,IACrB;YACH,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK;iBACxB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;iBACnF,EAAE,CAAC,CAAC,CAAC,CAAA;YACR,MAAM,kBAAkB,GAAG,MAAM,IAAA,0CAAqB,EAAC,WAAW,CAAC,CAAA;YACnE,MAAM,YAAY,GAAG,IAAA,qBAAS,EAAC,MAAO,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAA;YACrE,uCAAY,MAAM,CAAC,YAAY,GAAK,YAAY,EAAE;QACpD,CAAC,CAAA;QACD,aAAa,EAAE,CAAO,YAAY,EAAE,QAAQ,EAAE,EAAE;;YAC9C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;YACtB,MAAM,aAAa,GAAG,IAAA,4BAAoB,EAAC,GAAG,CAAC,CAAA;YAE/C,MAAM,EAAE,iBAAiB,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,GAAG,YAAY,CAAA;YAExG,IAAI,CAAC,SAAS,IAAI,CAAC,iBAAiB,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,IAAI,CAAC,eAAe,EAAE,CAAC;gBACpG,OAAO,oCAAoC,CAAA;YAC7C,CAAC;YAED,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtD,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,CAAA;YAChD,CAAC;YAED,IAAI,iBAAiB,GAAuB,SAAS,CAAA;YACrD,IAAI,UAAU,GAAgC,EAAE,CAAA;YAChD,MAAM,cAAc,GAAG,CAAC,CAAA;YACxB,IAAI,cAAc,GAAG,CAAC,CAAA;YAEtB,GAAG,CAAC;gBACF,IAAI,cAAc,IAAI,cAAc,EAAE,CAAC;oBACrC,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,CAAA;gBAC/C,CAAC;gBACD,MAAM,YAAY,qIACb,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,GACxE,CAAC,CAAC,WAAW,IAAI,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC,GACnD,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,GAChD,CAAC,eAAe,IAAI,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,GAC5D,CAAC,YAAY,IAAI,EAAE,YAAY,EAAE,CAAC,GAClC,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,CAAC,GACpB,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC,GAC5B,CAAC,iBAAiB,KAAK,IAAI,IAAI,iBAAiB,KAAK,SAAS,IAAI,EAAE,iBAAiB,EAAE,CAAC,KAC3F,cAAc,EACZ,ksBAAksB,EACpsB,qBAAqB,EAAE,iBAAiB,EACxC,YAAY,EAAE,KAAK,GACpB,CAAA;gBACD,MAAM,aAAa,qBACd,CAAC,iBAAiB,KAAK,IAAI,IAAI,iBAAiB,KAAK,SAAS,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAC5F,CAAA;gBACD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,oBAAoB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAA;gBAElF,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC/B,OAAO,MAAM,CAAA;gBACf,CAAC;gBAED,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC5B,OAAO;wBACL,SAAS,EAAE,cAAc;qBAC1B,CAAA;gBACH,CAAC;gBAED,IAAI,MAAM,CAAC,UAAU,CAAC,cAAc,KAAK,CAAC,EAAE,CAAC;oBAC3C,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,CAAA;gBAC3B,CAAC;gBAED,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAA,iCAAe,EAAC,MAAO,EAAE,QAAQ,CAAC,CAAC,CAAA;gBAEpF,MAAM,cAAc,GAAG,IAAA,uCAAkB,EAAC,aAAa,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAA;gBAE/E,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;gBAE9C,IAAI,UAAU,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;oBAC5B,OAAO;wBACL,SAAS,EAAE,uBAAuB;wBAClC,UAAU,EAAE,UAAU;qBACvB,CAAA;gBACH,CAAC;gBAED,iBAAiB,GAAG,MAAA,MAAM,CAAC,UAAU,CAAC,iBAAiB,mCAAI,SAAS,CAAA;gBACpE,cAAc,EAAE,CAAA;YAClB,CAAC,QAAQ,iBAAiB,EAAC;YAE3B,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAA;QACnC,CAAC,CAAA;QAED,qBAAqB,EAAE,CAAO,UAAU,EAAE,QAAQ,EAAE,EAAE;YACpD,MAAM,WAAW,GAAG,IAAA,+BAAuB,GAAE,CAAA;YAE7C,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,oBAAoB,CAAC;gBACpD,iBAAiB,EAAE,UAAU;gBAC7B,aAAa,EAAE,WAAW;gBAC1B,SAAS,EAAE,MAAM;gBACjB,cAAc,EACZ,knBAAknB;gBACpnB,qBAAqB,EAAE,iBAAiB;aACzC,CAAC,CAAA;YAEF,OAAO,wBAAwB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QACnD,CAAC,CAAA;QAED,8BAA8B,EAAE,CAAO,UAAU,EAAE,QAAQ,EAAE,EAAE;YAC7D,MAAM,WAAW,GAAG,IAAA,+BAAuB,GAAE,CAAA;YAE7C,MAAM,aAAa,GAAG;gBACpB,iBAAiB,EAAE,UAAU;gBAC7B,SAAS,EAAE,MAAM;gBACjB,cAAc,EACZ,knBAAknB;gBACpnB,qBAAqB,EAAE,iBAAiB;aACzC,CAAA;YAED,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACrE,WAAW,CAAC,oBAAoB,iBAC9B,aAAa,EAAE,WAAW,IACvB,aAAa,EAChB;gBACF,WAAW,CAAC,oBAAoB,iBAC9B,cAAc,EAAE,IAAA,gCAAW,EAAC,WAAW,CAAC,IACrC,aAAa,EAChB;aACH,CAAC,CAAA;YAEF,MAAM,2BAA2B,GAAG,iBAAiB,CACnD,mBAAmB,EACnB,qBAAqB,EACrB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAC3B,CAAA;YAED,OAAO,wBAAwB,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAA;QACxE,CAAC,CAAA;QAED,yBAAyB,EAAE,CAAO,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE;YACpE,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,oBAAoB,CAAC;gBACpD,iBAAiB,EAAE,UAAU;gBAC7B,cAAc,EAAE,UAAU;gBAC1B,SAAS,EAAE,MAAM;gBACjB,cAAc,EACZ,knBAAknB;gBACpnB,qBAAqB,EAAE,iBAAiB;aACzC,CAAC,CAAA;YAEF,OAAO,wBAAwB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QACnD,CAAC,CAAA;QAED,kCAAkC,EAAE,CAAO,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE;YAC9E,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,oBAAoB,CAAC;gBACpD,iBAAiB,EAAE,UAAU;gBAC7B,WAAW,EAAE,WAAW;gBACxB,SAAS,EAAE,MAAM;gBACjB,cAAc,EACZ,knBAAknB;gBACpnB,qBAAqB,EAAE,iBAAiB;aACzC,CAAC,CAAA;YAEF,OAAO,wBAAwB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QACnD,CAAC,CAAA;QACD,kBAAkB,EAAE,CAAO,GAAG,EAAE,QAAQ,EAAE,EAAE;YAC1C,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,mCAAmC,CAAC,GAAG,CAAC,CAAA;YACzE,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAC5G,CAAC,CACF,CAAA,CAAC,wDAAwD;gBAE1D,IAAI,CAAC,IAAI;oBAAE,OAAO,SAAS,CAAA;gBAE3B,OAAO,IAAA,uCAAkB,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;YAC3C,CAAC;QACH,CAAC,CAAA;QACD,8CAA8C,EAAE,CAAO,uBAAuB,EAAE,QAAQ,EAAE,EAAE;YAC1F,MAAM,oBAAoB,GAAG,MAAM,WAAW,CAAC,wBAAwB,CAAC,uBAAuB,EAAE;gBAC/F,cAAc,EAAE,wBAAwB;aACzC,CAAC,CAAA;YACF,IAAI,oBAAoB,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAA,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,IAAI,CAAA,EAAE,CAAC;gBACzE,OAAO,IAAA,oCAAW,EAAC,iDAAiD,EAAE,oBAAoB,CAAC,YAAY,CAAC,CAAA;YAC1G,CAAC;YAED,MAAM,qBAAqB,GAAG,IAAA,yCAAa,EAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,EAAE,wBAAwB,CAAC,CAAA;YAC/G,MAAM,kBAAkB,GAAG,MAAM,IAAA,8CAAqB,EAAC,qBAAsB,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;YACrG,MAAM,2BAA2B,GAAG,IAAA,gDAAuB,EAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAA;YACzF,OAAO,2BAA2B,CAAA;QACpC,CAAC,CAAA;QACD,4CAA4C,EAAE,CAAO,qBAAqB,EAAE,QAAQ,EAAE,EAAE;YACtF,MAAM,kBAAkB,GAAG,MAAM,IAAA,8CAAqB,EAAC,qBAAqB,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;YACpG,MAAM,2BAA2B,GAAG,IAAA,gDAAuB,EAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAA;YACzF,OAAO,2BAA2B,CAAA;QACpC,CAAC,CAAA;QACD,wBAAwB,EAAE,CAAO,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;YAClE,MAAM,aAAa,GAAG;gBACpB,iBAAiB,EAAE,WAAW;gBAC9B,WAAW,EAAE,QAAQ;gBACrB,SAAS,EAAE,MAAM;gBACjB,gBAAgB,EAAE,OAAO;gBACzB,cAAc,EACZ,gJAAgJ;gBAClJ,qBAAqB,EAAE,oCAAoC;aAC5D,CAAA;YACD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAA;YAEzE,MAAM,oBAAoB,GAAG,4BAA4B,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;YAE7E,OAAO,CAAA,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,MAAM,EAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAC3E,CAAC,CAAA;QAED,iBAAiB,EAAE,CAAO,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;YAC3D,MAAM,aAAa,GAAG;gBACpB,iBAAiB,EAAE,WAAW;gBAC9B,SAAS,EAAE,MAAM;gBACjB,GAAG,EAAE,SAAS;gBACd,qBAAqB,EAAE,oHAAoH;aAC5I,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,yBAAyB,CAAC,aAAa,CAAC,CAAC;gBAE5E,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,CAAA;gBAE1C,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC/B,MAAM,IAAI,KAAK,CACb,oBACE,OAAO,CAAC,YAAY,CAAC,QAAQ,IAAI,eACnC,EAAE,CACH,CAAC;gBACJ,CAAC;gBACD,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACrC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBACpD,CAAC;gBAED,MAAM,cAAc,GAAG,MAAM,0BAA0B,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;gBACxH,OAAO,EAAC,cAAc,EAAE,UAAU,EAAE,GAAG,EAAC,CAAA;YAG1C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,+BAA+B,KAAK,EAAE,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC,CAAA;QAED,+BAA+B,EAAE,CAAO,uBAAuB,EAAE,QAAQ,EAAE,EAAE;YAC3E,OAAO,MAAM,IAAA,2CAAqB,EAAC,uBAAuB,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;QACpF,CAAC,CAAA;QACD,iBAAiB,EAAE,CAAO,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;YAC1D,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC;oBAC3C,iBAAiB,EAAE,UAAU;oBAC7B,SAAS,EAAE,MAAM;oBACjB,SAAS,EAAE,UAAU;oBACrB,cAAc,EACZ,s3CAAs3C;oBACx3C,qBAAqB,EAAE,0EAA0E;iBAClG,CAAC,CAAA;gBAEF,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC9B,MAAM,IAAI,KAAK,CAAC,oBAAoB,MAAM,CAAC,YAAY,CAAC,QAAQ,IAAI,eAAe,EAAE,CAAC,CAAA;gBACxF,CAAC;gBAED,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACpC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBACnD,CAAC;gBACD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAA;gBAC9B,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,CAAA;gBAC1C,MAAM,qBAAqB,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAA;gBAEvD,MAAM,kBAAkB,GAAG,MAAM,IAAA,8CAAqB,EAAC,qBAAqB,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;gBAEpG,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACxB,MAAM,IAAI,KAAK,CAAC,+DAA+D,qBAAqB,EAAE,CAAC,CAAA;gBACzG,CAAC;gBACD,MAAM,2BAA2B,GAAG,IAAA,gDAAuB,EAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAA;gBAEzF,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC/B,MAAM,IAAI,KAAK,CACb,oBACE,OAAO,CAAC,YAAY,CAAC,QAAQ,IAAI,eACnC,EAAE,CACH,CAAC;gBACJ,CAAC;gBACD,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACrC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBACpD,CAAC;gBACD,MAAM,cAAc,GAAG,IAAA,2CAAsB,EAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBAExF,IAAI,CAAC,cAAc,EAAE,CAAC;oBACpB,MAAM,IAAI,KAAK,CAAC,gCAAgC,UAAU,gBAAgB,QAAQ,GAAG,CAAC,CAAA;gBACxF,CAAC;gBACD,MAAM,kBAAkB,GAAG,MAAM,IAAA,0CAAqB,EAAC,WAAW,CAAC,CAAA;gBACnE,MAAM,cAAc,GAAG,IAAA,qCAAiB,EACtC,cAAc,EACd,kBAAkB,EAClB,2BAA2B,EAC3B,QAAQ,CACT,CAAA;gBACD,OAAO,cAAc,CAAA;YACvB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,+BAA+B,KAAK,EAAE,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC,CAAA;QACD,kBAAkB,EAAE,CAAO,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;YAC3D,kJAAkJ;YAClJ,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC;oBACvC,iBAAiB,EAAE,UAAU;oBAC7B,SAAS,EAAE,MAAM;oBACjB,SAAS,EAAE,UAAU;oBACrB,6FAA6F;iBAC9F,CAAC,CAAA;gBAEF,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC9B,MAAM,IAAI,KAAK,CAAC,oBAAoB,MAAM,CAAC,YAAY,CAAC,QAAQ,IAAI,eAAe,EAAE,CAAC,CAAA;gBACxF,CAAC;gBAED,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACpC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBACnD,CAAC;gBACD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAA;gBAC9B,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,CAAA;gBAE1C,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC/B,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,CAAC,YAAY,CAAC,QAAQ,IAAI,eAAe,EAAE,CAAC,CAAA;gBACzF,CAAC;gBACD,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACrC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBACpD,CAAC;gBACD,MAAM,cAAc,GAAG,IAAA,2CAAsB,EAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBAExF,IAAI,CAAC,cAAc,EAAE,CAAC;oBACpB,MAAM,IAAI,KAAK,CAAC,gCAAgC,UAAU,gBAAgB,QAAQ,GAAG,CAAC,CAAA;gBACxF,CAAC;gBACD,MAAM,cAAc,GAAG,IAAA,uCAAkB,EAAC,cAAc,EAAE,QAAQ,CAAC,CAAA;gBACnE,OAAO,cAAc,CAAA;YACvB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,gCAAgC,KAAK,EAAE,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC,CAAA;QACD,mBAAmB,EAAE,CAAO,UAAU,EAAE,QAAQ,EAAE,EAAE;YAClD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC;oBAC3C,iBAAiB,EAAE,UAAU;oBAC7B,SAAS,EAAE,MAAM;oBACjB,cAAc,EACZ,s3CAAs3C;oBACx3C,qBAAqB,EAAE,0EAA0E;iBAClG,CAAC,CAAA;gBAEF,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC9B,MAAM,IAAI,KAAK,CAAC,oBAAoB,MAAM,CAAC,YAAY,CAAC,QAAQ,IAAI,eAAe,EAAE,CAAC,CAAA;gBACxF,CAAC;gBAED,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACpC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBACnD,CAAC;gBAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBACvC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA,CAAC,iDAAiD;gBAClF,MAAM,kBAAkB,GAAG,MAAM,IAAA,0CAAqB,EAAC,WAAW,CAAC,CAAA;gBAEnE,MAAM,qBAAqB,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAA;gBAEjE,MAAM,kBAAkB,GAAG,MAAM,IAAA,8CAAqB,EAAC,qBAAqB,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;gBAEpG,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACxB,MAAM,IAAI,KAAK,CAAC,+DAA+D,qBAAqB,EAAE,CAAC,CAAA;gBACzG,CAAC;gBAED,MAAM,2BAA2B,GAAG,IAAA,gDAAuB,EAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAA;gBAEzF,MAAM,gBAAgB,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,QAAa,EAAE,EAAE,CACxD,IAAA,qCAAiB,EAAC,QAAQ,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,QAAQ,CAAC,CACvF,CAAA;gBACD,OAAO,gBAAgB,CAAA;YACzB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,iCAAiC,KAAK,EAAE,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC,CAAA;QACD,mBAAmB,EAAE,GAAS,EAAE;YAC9B,MAAM,aAAa,GAAG,MAAM,IAAA,qCAAgB,EAAC,WAAW,CAAC,CAAA;YACzD,OAAO,aAAa,CAAA;QACtB,CAAC,CAAA;QACD,wBAAwB,EAAE,GAAS,EAAE;YACnC,MAAM,kBAAkB,GAAG,MAAM,IAAA,0CAAqB,EAAC,WAAW,CAAC,CAAA;YACnE,OAAO,kBAAkB,CAAA;QAC3B,CAAC,CAAA;QACD,UAAU,EAAE,GAAS,EAAE;YACrB,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,CAAA;YAC1C,OAAO,OAAO,CAAA;QAChB,CAAC,CAAA;KACF,CAAA;AACH,CAAC,CAAA;AAvZY,QAAA,eAAe,mBAuZ3B"}
1
+ {"version":3,"file":"createApiClient.js","sourceRoot":"","sources":["../src/createApiClient.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,6 @@ export type StructurePartVersion = {
4
4
  kod: string;
5
5
  benamning: string;
6
6
  utbildningstyp?: TranslatedUtbildningstyp;
7
+ utbildningsinstansUid: string;
7
8
  };
8
9
  export declare const mapStructurePartVersions: (course: Utbildningsinstans | UtbildningsinstansSlim, language: Language) => StructurePartVersion;
@@ -15,6 +15,7 @@ const mapStructurePartVersions = (course, language) => {
15
15
  kod: kod,
16
16
  benamning: benamning[language],
17
17
  utbildningstyp: utbildningstyp && (0, languageUtil_1.translateUtbildningstyp)(utbildningstyp, language),
18
+ utbildningsinstansUid: course.Uid,
18
19
  };
19
20
  };
20
21
  exports.mapStructurePartVersions = mapStructurePartVersions;
@@ -1 +1 @@
1
- {"version":3,"file":"mapCourseInstans.js","sourceRoot":"","sources":["../src/mapCourseInstans.ts"],"names":[],"mappings":";;;AAAA,8EAAqF;AAGrF,uDAAkG;AAQ3F,MAAM,wBAAwB,GAAG,CACtC,MAAmD,EACnD,QAAkB,EACI,EAAE;IACxB,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;AApBY,QAAA,wBAAwB,4BAoBpC"}
1
+ {"version":3,"file":"mapCourseInstans.js","sourceRoot":"","sources":["../src/mapCourseInstans.ts"],"names":[],"mappings":";;;AAAA,8EAAqF;AAGrF,uDAAkG;AAS3F,MAAM,wBAAwB,GAAG,CACtC,MAAmD,EACnD,QAAkB,EACI,EAAE;IACxB,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;QACnF,qBAAqB,EAAE,MAAM,CAAC,GAAG;KAClC,CAAA;AACH,CAAC,CAAA;AArBY,QAAA,wBAAwB,4BAqBpC"}
@@ -1,6 +1,7 @@
1
1
  import { LadokStatus } from '@kth/ladok-attributvarde-utils';
2
2
  import { SokUtbildningsTillfalleItem, SokUtbildningsTillfalleSlimItem } from '@kth/ladok-mellanlager-client';
3
3
  import { Language, TranslatedGrunddata } from './utils';
4
+ import { PartOfProgramme } from './mapPartOfProgramme';
4
5
  interface Tillfallesperiod {
5
6
  ForstaRegistreringsdatum: string;
6
7
  ForstaUndervisningsdatum: string;
@@ -53,8 +54,9 @@ export type CourseRound = {
53
54
  finansieringsform?: TranslatedGrunddata;
54
55
  utbildningsplatser?: number;
55
56
  minantalplatser?: number;
57
+ delAvProgram?: PartOfProgramme[];
56
58
  admissionLinkUrl?: string;
57
59
  schemaUrl?: string;
58
60
  };
59
- export declare const mapCourseRound: (item: SokUtbildningsTillfalleItem | SokUtbildningsTillfalleSlimItem, language: Language) => CourseRound;
61
+ export declare const mapCourseRound: (item: SokUtbildningsTillfalleItem | SokUtbildningsTillfalleSlimItem, language: Language, partOfProgramme?: PartOfProgramme[]) => CourseRound;
60
62
  export {};
@@ -4,7 +4,7 @@ exports.mapCourseRound = void 0;
4
4
  const ladok_attributvarde_utils_1 = require("@kth/ladok-attributvarde-utils");
5
5
  const utils_1 = require("./utils");
6
6
  const creditsUtil_1 = require("./utils/creditsUtil");
7
- const mapCourseRound = (item, language) => {
7
+ const mapCourseRound = (item, language, partOfProgramme) => {
8
8
  var _a, _b, _c, _d, _e;
9
9
  const attributeValues = item.Attributvarden;
10
10
  const malgrupp = {
@@ -50,6 +50,7 @@ const mapCourseRound = (item, language) => {
50
50
  finansieringsform: finansieringsform && (0, utils_1.translateGrunddata)(finansieringsform, language),
51
51
  minantalplatser: (0, ladok_attributvarde_utils_1.extractInteger)(attributeValues, 'utbildning.lokalt.attribut.29.minantalplatser'),
52
52
  utbildningsplatser: (0, ladok_attributvarde_utils_1.extractUtbildningsplatser)(attributeValues),
53
+ delAvProgram: partOfProgramme,
53
54
  };
54
55
  };
55
56
  exports.mapCourseRound = mapCourseRound;
@@ -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,19 @@
1
+ import { SokUtbildningsTillfalleItem, SokUtbildningsTillfalleSlimItem, Strukturdel } from '@kth/ladok-mellanlager-client';
2
+ export type PartOfProgramme = {
3
+ kod: string;
4
+ benamning: {
5
+ en: string;
6
+ sv: string;
7
+ };
8
+ startperiod: {
9
+ code: string;
10
+ inDigits: string | null;
11
+ };
12
+ arskurs: number;
13
+ valinformation: {
14
+ en: string;
15
+ sv: string;
16
+ };
17
+ inriktning?: string;
18
+ };
19
+ export declare const mapPartOfProgramme: (programmeInstance: SokUtbildningsTillfalleItem | SokUtbildningsTillfalleSlimItem, structureItem: Strukturdel, studyYear: number, specialisationInstance?: SokUtbildningsTillfalleItem | SokUtbildningsTillfalleSlimItem | undefined) => PartOfProgramme;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mapPartOfProgramme = void 0;
4
+ const utils_1 = require("./utils");
5
+ const capitalizeFirstWord = (input) => input.toLowerCase().replace(/^./, c => c.toUpperCase());
6
+ const getElectiveCondition = (structureItem) => {
7
+ var _a, _b;
8
+ if (!structureItem.Valinformation) {
9
+ return { sv: 'Obligatorisk', en: 'Mandatory' };
10
+ }
11
+ return {
12
+ sv: capitalizeFirstWord((_a = structureItem.Valinformation.SvenskBeskrivning) !== null && _a !== void 0 ? _a : ''),
13
+ en: capitalizeFirstWord((_b = structureItem.Valinformation.EngelskBeskrivning) !== null && _b !== void 0 ? _b : ''),
14
+ };
15
+ };
16
+ const mapPartOfProgramme = (programmeInstance, structureItem, studyYear, specialisationInstance) => {
17
+ var _a, _b;
18
+ return {
19
+ kod: programmeInstance.index['utbildning.attribut.kod'],
20
+ benamning: {
21
+ sv: (_a = programmeInstance.index['utbildning.attribut.svensk.benamning']) !== null && _a !== void 0 ? _a : '',
22
+ en: (_b = programmeInstance.index['utbildning.attribut.engelsk.benamning']) !== null && _b !== void 0 ? _b : '',
23
+ },
24
+ startperiod: {
25
+ code: programmeInstance.index['utbildning.attribut.startperiod.kod'],
26
+ inDigits: (0, utils_1.transformPeriodInDigits)(programmeInstance.index['utbildning.attribut.startperiod.kod']),
27
+ },
28
+ arskurs: studyYear,
29
+ valinformation: getElectiveCondition(structureItem),
30
+ inriktning: specialisationInstance === null || specialisationInstance === void 0 ? void 0 : specialisationInstance.index['utbildning.attribut.kod'],
31
+ };
32
+ };
33
+ exports.mapPartOfProgramme = mapPartOfProgramme;
34
+ //# sourceMappingURL=mapPartOfProgramme.js.map
@@ -0,0 +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"}
@@ -9,6 +9,6 @@ export declare const formatExaminationTitles: (examinationModules: (ExaminationM
9
9
  completeExaminationStrings: string[];
10
10
  titles: string[];
11
11
  };
12
- export declare const fetchStructure: (uid: string, ladokClient: LadokMellanlagerApiClient) => Promise<import("@kth/ladok-mellanlager-client/dist/types/endpoints/utbildningsinstansStruktur").Strukturdel[]>;
12
+ export declare const fetchStructure: (uid: string, ladokClient: LadokMellanlagerApiClient) => Promise<import("@kth/ladok-mellanlager-client").Strukturdel[]>;
13
13
  export declare const fetchModules: (utbildningsbasUIDn: string[], ladokClient: LadokMellanlagerApiClient) => Promise<(import("@kth/ladok-mellanlager-client").UtbildningsinstansSlim | undefined)[]>;
14
14
  export declare const getExaminationModules: (utbildningsinstansUID: string, language: Language, ladokClient: LadokMellanlagerApiClient) => Promise<(ExaminationModule | undefined)[]>;
@@ -1,3 +1,4 @@
1
1
  export * from './dateUtil';
2
2
  export * from './languageUtil';
3
3
  export * from './periodUtil';
4
+ export * from './studyYearUtil';
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./dateUtil"), exports);
18
18
  __exportStar(require("./languageUtil"), exports);
19
19
  __exportStar(require("./periodUtil"), exports);
20
+ __exportStar(require("./studyYearUtil"), exports);
20
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,iDAA8B;AAC9B,+CAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,iDAA8B;AAC9B,+CAA4B;AAC5B,kDAA+B"}
@@ -0,0 +1,3 @@
1
+ import { LadokMellanlagerApiClient, PeriodItem, SokUtbildningsTillfalleItem, SokUtbildningsTillfalleSlimItem } from '@kth/ladok-mellanlager-client';
2
+ import { PartOfProgramme } from '../mapPartOfProgramme';
3
+ export declare const getPartOfProgrammes: (courseInstances: SokUtbildningsTillfalleItem[] | SokUtbildningsTillfalleSlimItem[], periodItems: PeriodItem[], ladokClient: LadokMellanlagerApiClient) => Promise<Record<string, PartOfProgramme[]>>;
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.getPartOfProgrammes = void 0;
13
+ const ladok_attributvarde_utils_1 = require("@kth/ladok-attributvarde-utils");
14
+ const mapPartOfProgramme_1 = require("../mapPartOfProgramme");
15
+ const studyYearUtil_1 = require("./studyYearUtil");
16
+ var EDUCATIONAL_TYPE;
17
+ (function (EDUCATIONAL_TYPE) {
18
+ EDUCATIONAL_TYPE[EDUCATIONAL_TYPE["Programme"] = 94] = "Programme";
19
+ EDUCATIONAL_TYPE[EDUCATIONAL_TYPE["Specialisation"] = 101290] = "Specialisation";
20
+ })(EDUCATIONAL_TYPE || (EDUCATIONAL_TYPE = {}));
21
+ const extractUIDsByEducationType = (structureRefs, educationTypeID) => structureRefs.filter(x => x.UtbildningstypID === educationTypeID).map(x => x.UtbildningsattributbasUID);
22
+ const fetchEducationalInstances = (utbildningsTillfalleUIDs, ladokClient) => __awaiter(void 0, void 0, void 0, function* () {
23
+ const results = yield Promise.all(utbildningsTillfalleUIDs.map((uid) => __awaiter(void 0, void 0, void 0, function* () {
24
+ var _a, _b;
25
+ const instance = (_a = (yield ladokClient.utbildningstillfalleSlim(uid, {
26
+ attributVarden: 'utbildningsinstans.uid',
27
+ })).data) === null || _a === void 0 ? void 0 : _a.Attributvarden;
28
+ const instanceUID = (0, ladok_attributvarde_utils_1.extractString)(instance || [], 'utbildningsinstans.uid');
29
+ if (!instanceUID)
30
+ return null;
31
+ const instanceItem = (_b = (yield ladokClient.sokUtbildningsTillfalleSlim({
32
+ utbildningsinstansUid: instanceUID,
33
+ attributVarden: 'utbildningstyp',
34
+ })).items) === null || _b === void 0 ? void 0 : _b.find(x => x.tillfalle_uid === uid);
35
+ return instanceItem !== null && instanceItem !== void 0 ? instanceItem : null;
36
+ })));
37
+ return results.filter((item) => Boolean(item));
38
+ });
39
+ const processProgrammes = (programmeInstances, courseInstance, periodItems, ladokClient, specialisationInstance) => __awaiter(void 0, void 0, void 0, function* () {
40
+ return (yield Promise.all(programmeInstances.map((programmeInstance) => __awaiter(void 0, void 0, void 0, function* () {
41
+ var _a, _b;
42
+ if (!programmeInstance)
43
+ return [];
44
+ const structure = yield ladokClient.utbildningstillfalleStruktur((_a = specialisationInstance === null || specialisationInstance === void 0 ? void 0 : specialisationInstance.tillfalle_uid) !== null && _a !== void 0 ? _a : programmeInstance.tillfalle_uid);
45
+ const structureItemCourse = (_b = structure === null || structure === void 0 ? void 0 : structure.data) === null || _b === void 0 ? void 0 : _b.Strukturdelar.find(x => x.UtbildningsbasUID === courseInstance.tillfalle_uid);
46
+ if (!structureItemCourse)
47
+ return [];
48
+ const studyYears = (0, studyYearUtil_1.extractStudyYears)(courseInstance, programmeInstance, periodItems);
49
+ return studyYears.map(studyYear => (0, mapPartOfProgramme_1.mapPartOfProgramme)(programmeInstance, structureItemCourse, studyYear, specialisationInstance));
50
+ })))).flat();
51
+ });
52
+ const processSpecialisations = (specialisationInstances, courseInstance, periodItems, ladokClient) => __awaiter(void 0, void 0, void 0, function* () {
53
+ return (yield Promise.all(specialisationInstances.map((specialisationInstance) => __awaiter(void 0, void 0, void 0, function* () {
54
+ var _a;
55
+ if (!specialisationInstance)
56
+ return [];
57
+ const structureRefs = ((_a = (yield ladokClient.strukturListaInnehaller(specialisationInstance.tillfalle_uid)).data) === null || _a === void 0 ? void 0 : _a.Strukturreferenser) ||
58
+ [];
59
+ const [firstProgrammeInstanceUID] = extractUIDsByEducationType(structureRefs, EDUCATIONAL_TYPE.Programme);
60
+ const programmeInstances = yield fetchEducationalInstances([firstProgrammeInstanceUID], ladokClient);
61
+ return processProgrammes(programmeInstances, courseInstance, periodItems, ladokClient, specialisationInstance);
62
+ })))).flat();
63
+ });
64
+ const getPartOfProgramme = (courseInstance, periodItems, ladokClient) => __awaiter(void 0, void 0, void 0, function* () {
65
+ var _a;
66
+ const structureRefs = ((_a = (yield ladokClient.strukturListaInnehaller(courseInstance.tillfalle_uid)).data) === null || _a === void 0 ? void 0 : _a.Strukturreferenser) || [];
67
+ const specialisationInstanceUIDs = extractUIDsByEducationType(structureRefs, EDUCATIONAL_TYPE.Specialisation);
68
+ const programmeInstanceUIDs = extractUIDsByEducationType(structureRefs, EDUCATIONAL_TYPE.Programme);
69
+ const specialisationInstances = (yield fetchEducationalInstances(specialisationInstanceUIDs, ladokClient)) || [];
70
+ const programmeInstances = (yield fetchEducationalInstances(programmeInstanceUIDs, ladokClient)) || [];
71
+ const specialisationParts = yield processSpecialisations(specialisationInstances, courseInstance, periodItems, ladokClient);
72
+ const programmeParts = yield processProgrammes(programmeInstances, courseInstance, periodItems, ladokClient);
73
+ return [...specialisationParts, ...programmeParts];
74
+ });
75
+ const getPartOfProgrammes = (courseInstances, periodItems, ladokClient) => __awaiter(void 0, void 0, void 0, function* () {
76
+ const partOfProgrammes = {};
77
+ yield Promise.all(courseInstances.map((courseInstance) => __awaiter(void 0, void 0, void 0, function* () {
78
+ partOfProgrammes[courseInstance.tillfalle_uid] = yield getPartOfProgramme(courseInstance, periodItems, ladokClient);
79
+ })));
80
+ return partOfProgrammes;
81
+ });
82
+ exports.getPartOfProgrammes = getPartOfProgrammes;
83
+ //# sourceMappingURL=partOfProgrammeUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partOfProgrammeUtil.js","sourceRoot":"","sources":["../../src/utils/partOfProgrammeUtil.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,9 @@
1
1
  import { PeriodItem } from '@kth/ladok-mellanlager-client';
2
2
  import { ProgramInstans } from '../mapProgramInstans';
3
+ export declare const parsePeriod: (period: string) => {
4
+ semester: string;
5
+ year: number;
6
+ } | null;
3
7
  export declare const transformPeriodInDigits: (period: string) => string | null;
4
8
  export declare const transformDigitsInPeriod: (period: string) => string;
5
9
  export declare const findValidProgramForCode: (code: string, periods: PeriodItem[], programs: ProgramInstans[]) => ProgramInstans | undefined;
@@ -1,6 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getKthStudyPeriod = exports.getPeriodCodeForDate = exports.findValidProgramForCode = exports.transformDigitsInPeriod = exports.transformPeriodInDigits = void 0;
3
+ exports.getKthStudyPeriod = exports.getPeriodCodeForDate = exports.findValidProgramForCode = exports.transformDigitsInPeriod = exports.transformPeriodInDigits = exports.parsePeriod = void 0;
4
+ const parsePeriod = (period) => {
5
+ const match = period.match(/(VT|HT)(\d{4})/);
6
+ if (!match) {
7
+ console.warn('Unable to parse period due to invalid period format: ', period);
8
+ return null;
9
+ }
10
+ return { semester: match[1], year: Number(match[2]) };
11
+ };
12
+ exports.parsePeriod = parsePeriod;
4
13
  const transformPeriodInDigits = (period) => {
5
14
  const validPrefixes = ['HT', 'VT'];
6
15
  if (validPrefixes.includes(period.slice(0, 2)) && period.length > 2) {
@@ -1 +1 @@
1
- {"version":3,"file":"periodUtil.js","sourceRoot":"","sources":["../../src/utils/periodUtil.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"periodUtil.js","sourceRoot":"","sources":["../../src/utils/periodUtil.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
- import { LadokMellanlagerApiClient } from '@kth/ladok-mellanlager-client';
1
+ import { LadokMellanlagerApiClient, Strukturdel } from '@kth/ladok-mellanlager-client';
2
2
  import { Language } from './languageUtil';
3
3
  import { StructurePartInstance } from '../mapStructureCourses';
4
- import { Strukturdel } from '@kth/ladok-mellanlager-client/dist/types/endpoints/utbildningsinstansStruktur';
5
4
  export declare const handleError: (message: string, error?: any) => {
6
5
  error: string;
7
6
  details: any;
@@ -52,7 +51,7 @@ export declare const fetchProgramStructure: (utbildningstillfalleUID: string, la
52
51
  };
53
52
  startperiod?: {
54
53
  code: string;
55
- } | undefined;
54
+ };
56
55
  Tillfallesperioder: {
57
56
  SistaUndervisningsdatum: string;
58
57
  }[];
@@ -77,7 +76,7 @@ export declare const fetchProgramStructure: (utbildningstillfalleUID: string, la
77
76
  };
78
77
  startperiod?: {
79
78
  code: string;
80
- } | undefined;
79
+ };
81
80
  Tillfallesperioder: {
82
81
  SistaUndervisningsdatum: string;
83
82
  }[];
@@ -133,9 +133,12 @@ function fetchStructurePartVersionsFromStructurePartInstances(mappedStructurePar
133
133
  });
134
134
  }
135
135
  function mergeStructurePartData(mappedStructurePartInstances, mappedStructurePartVersions, categorizedStrukturDelar) {
136
- return mappedStructurePartVersions.map((mappedStructurePartVersion, index) => {
137
- var _a;
138
- return (Object.assign(Object.assign(Object.assign({}, mappedStructurePartInstances[index]), mappedStructurePartVersion), { Valvillkor: (_a = categorizedStrukturDelar[index]) === null || _a === void 0 ? void 0 : _a.Valvillkor }));
136
+ const categoryMap = new Map(categorizedStrukturDelar.map(c => [c.UtbildningsbasUID, c.Valvillkor]));
137
+ const instanceMap = new Map(mappedStructurePartInstances.map(instance => [instance.utbildningsinstansUid, instance]));
138
+ return mappedStructurePartVersions.map(version => {
139
+ const instance = instanceMap.get(version.utbildningsinstansUid);
140
+ const valvillkor = categoryMap.get(instance.uid) || 'O';
141
+ return Object.assign(Object.assign(Object.assign({}, instance), version), { Valvillkor: valvillkor });
139
142
  });
140
143
  }
141
144
  const fetchAndCategorizeStructureParts = (utbildningstillfalleUID, language, ladokClient) => __awaiter(void 0, void 0, void 0, function* () {
@@ -1 +1 @@
1
- {"version":3,"file":"programStrukturUtil.js","sourceRoot":"","sources":["../../src/utils/programStrukturUtil.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"programStrukturUtil.js","sourceRoot":"","sources":["../../src/utils/programStrukturUtil.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { PeriodItem } from '@kth/ladok-mellanlager-client';
1
+ import { PeriodItem, SokUtbildningsTillfalleItem, SokUtbildningsTillfalleSlimItem } from '@kth/ladok-mellanlager-client';
2
2
  export declare const LAST_YEAR_TO_USE_SYLLABUSES_FOR_KURSLISTA = 2025;
3
3
  type CourseData = {
4
4
  kod: string;
@@ -10,7 +10,7 @@ type CourseData = {
10
10
  };
11
11
  startperiod?: {
12
12
  code: string;
13
- } | undefined;
13
+ };
14
14
  Tillfallesperioder: {
15
15
  SistaUndervisningsdatum: string;
16
16
  }[];
@@ -22,6 +22,8 @@ type StudyYear = {
22
22
  courses: CourseData[];
23
23
  };
24
24
  export declare const extractYear: (kod: string) => number;
25
- export declare const getStudyYear: (periodEndDate: string, periodDetails: PeriodItem[], mainStartPeriod: string) => number;
25
+ export declare const getStudyYearFromEndDate: (periodEndDate: string, periodDetails: PeriodItem[], mainStartPeriod: string) => number | undefined;
26
26
  export declare const generateStudyYearData: (coursesData: CourseData[], periodDetails: PeriodItem[], mainStartPeriod: string, lengthStudyYear: number) => StudyYear[];
27
+ export declare const getStudyYearFromSemesters: (programmeStartSemester: string, courseStartSemester: string) => number | null;
28
+ export declare const extractStudyYears: (courseInstance: SokUtbildningsTillfalleItem | SokUtbildningsTillfalleSlimItem, programmeInstance: SokUtbildningsTillfalleItem | SokUtbildningsTillfalleSlimItem, periodItems: PeriodItem[]) => number[];
27
29
  export {};
@@ -1,8 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateStudyYearData = exports.getStudyYear = exports.extractYear = exports.LAST_YEAR_TO_USE_SYLLABUSES_FOR_KURSLISTA = void 0;
3
+ exports.extractStudyYears = exports.getStudyYearFromSemesters = exports.generateStudyYearData = exports.getStudyYearFromEndDate = exports.extractYear = exports.LAST_YEAR_TO_USE_SYLLABUSES_FOR_KURSLISTA = void 0;
4
4
  const date_fns_1 = require("date-fns");
5
+ const periodUtil_1 = require("./periodUtil");
5
6
  exports.LAST_YEAR_TO_USE_SYLLABUSES_FOR_KURSLISTA = 2025;
7
+ const isDateWithinRange = (date, from, to) => (0, date_fns_1.parseISO)(from) <= (0, date_fns_1.parseISO)(date) && (0, date_fns_1.parseISO)(to) >= (0, date_fns_1.parseISO)(date);
8
+ const findMatchingPeriod = (date, periods) => periods.find(p => isDateWithinRange(date, p.FromDatum, p.TomDatum));
6
9
  const extractYear = (kod) => {
7
10
  let year;
8
11
  if (/^HT|^VT/.test(kod)) {
@@ -22,22 +25,26 @@ const extractYear = (kod) => {
22
25
  }
23
26
  };
24
27
  exports.extractYear = extractYear;
25
- const getStudyYear = (periodEndDate, periodDetails, mainStartPeriod) => {
26
- const matchedPeriod = periodDetails.find(p => (0, date_fns_1.parseISO)(p.FromDatum) <= (0, date_fns_1.parseISO)(periodEndDate) && (0, date_fns_1.parseISO)(p.TomDatum) >= (0, date_fns_1.parseISO)(periodEndDate));
28
+ const getStudyYearFromEndDate = (periodEndDate, periodDetails, mainStartPeriod) => {
29
+ const matchedPeriod = findMatchingPeriod(periodEndDate, periodDetails);
27
30
  if (!matchedPeriod)
28
- throw new Error('No matching period found');
31
+ return;
29
32
  const baseYear = (0, exports.extractYear)(mainStartPeriod);
30
33
  const startStudyYear = (0, exports.extractYear)(matchedPeriod.Kod);
31
34
  return startStudyYear - baseYear + 1;
32
35
  };
33
- exports.getStudyYear = getStudyYear;
36
+ exports.getStudyYearFromEndDate = getStudyYearFromEndDate;
34
37
  const generateStudyYearData = (coursesData, periodDetails, mainStartPeriod, lengthStudyYear) => {
35
38
  const studyYears = {};
36
39
  const baseYear = (0, exports.extractYear)(mainStartPeriod);
37
40
  coursesData.forEach(course => {
38
41
  const studyYearToPeriods = {};
39
- course.Tillfallesperioder.forEach(period => {
40
- const studyYear = (0, exports.getStudyYear)(period.SistaUndervisningsdatum, periodDetails, mainStartPeriod);
42
+ for (const period of course.Tillfallesperioder) {
43
+ const studyYear = (0, exports.getStudyYearFromEndDate)(period.SistaUndervisningsdatum, periodDetails, mainStartPeriod);
44
+ if (!studyYear) {
45
+ console.log(`studyYear could not be found for ${course.kod}`);
46
+ continue;
47
+ }
41
48
  if (studyYear >= 1 && studyYear <= lengthStudyYear) {
42
49
  const actualStudyYear = baseYear + studyYear - 1;
43
50
  if (actualStudyYear < exports.LAST_YEAR_TO_USE_SYLLABUSES_FOR_KURSLISTA)
@@ -47,7 +54,7 @@ const generateStudyYearData = (coursesData, periodDetails, mainStartPeriod, leng
47
54
  }
48
55
  studyYearToPeriods[studyYear].push(period);
49
56
  }
50
- });
57
+ }
51
58
  // Assign each course to its respective study years with only relevant Tillfallesperioder
52
59
  Object.entries(studyYearToPeriods).forEach(([yearStr, filteredPeriods]) => {
53
60
  const year = Number(yearStr);
@@ -63,4 +70,30 @@ const generateStudyYearData = (coursesData, periodDetails, mainStartPeriod, leng
63
70
  }));
64
71
  };
65
72
  exports.generateStudyYearData = generateStudyYearData;
73
+ const getStudyYearFromSemesters = (programmeStartSemester, courseStartSemester) => {
74
+ const parsedProgrammeSemester = (0, periodUtil_1.parsePeriod)(programmeStartSemester);
75
+ const parsedCourseSemester = (0, periodUtil_1.parsePeriod)(courseStartSemester);
76
+ if (!parsedProgrammeSemester || !parsedCourseSemester) {
77
+ return null;
78
+ }
79
+ const offset = parsedProgrammeSemester.semester === 'HT' && parsedCourseSemester.semester === 'VT' ? 1 : 0;
80
+ return parsedCourseSemester.year - parsedProgrammeSemester.year - offset + 1;
81
+ };
82
+ exports.getStudyYearFromSemesters = getStudyYearFromSemesters;
83
+ const extractStudyYears = (courseInstance, programmeInstance, periodItems) => {
84
+ return courseInstance.Tillfallesperioder.reduce((acc, { ForstaUndervisningsdatum }) => {
85
+ var _a;
86
+ const matchedPeriod = findMatchingPeriod(ForstaUndervisningsdatum, periodItems);
87
+ const courseSemester = matchedPeriod === null || matchedPeriod === void 0 ? void 0 : matchedPeriod.Kod;
88
+ const programmeSemester = (_a = programmeInstance.index) === null || _a === void 0 ? void 0 : _a['utbildning.attribut.startperiod.kod'];
89
+ if (courseSemester && programmeSemester) {
90
+ const studyYear = (0, exports.getStudyYearFromSemesters)(programmeSemester, courseSemester);
91
+ if (studyYear && !acc.includes(studyYear)) {
92
+ acc.push(studyYear);
93
+ }
94
+ }
95
+ return acc;
96
+ }, []);
97
+ };
98
+ exports.extractStudyYears = extractStudyYears;
66
99
  //# sourceMappingURL=studyYearUtil.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"studyYearUtil.js","sourceRoot":"","sources":["../../src/utils/studyYearUtil.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"studyYearUtil.js","sourceRoot":"","sources":["../../src/utils/studyYearUtil.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.2.5",
3
+ "version": "1.3.1",
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": [
@@ -22,7 +22,7 @@
22
22
  },
23
23
  "dependencies": {
24
24
  "@kth/ladok-attributvarde-utils": "0.1.0",
25
- "@kth/ladok-mellanlager-client": "0.3.0",
25
+ "@kth/ladok-mellanlager-client": "0.4.0",
26
26
  "date-fns": "^4.1.0",
27
27
  "showdown": "^2.1.0"
28
28
  }