@kth/om-kursen-ladok-client 1.0.3 → 1.0.5

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.
@@ -17,6 +17,8 @@ const mapCourseRound_1 = require("./mapCourseRound");
17
17
  const mapSearchResult_1 = require("./mapSearchResult");
18
18
  const utils_1 = require("./utils");
19
19
  const mapUtbildningsplan_1 = require("./mapUtbildningsplan");
20
+ const ladok_attributvarde_utils_1 = require("@kth/ladok-attributvarde-utils");
21
+ const examinationModulesUtil_1 = require("./utils/examinationModulesUtil");
20
22
  const filterAndMapCourseRounds = (response, language) => {
21
23
  if (response.type === "error") {
22
24
  throw new Error(`API error: ${response.responseInfo.message}`);
@@ -106,7 +108,7 @@ const createApiClient = (config) => {
106
108
  const period = (0, utils_1.getPeriodCodeForDate)(now); // TODO: we actually want course that are ongoing now and not just starting current semster -> Ask Ladok for filter on Undervisningsdatum? And alternative solution is to search for a couple of semester back and filter ourself after mapping.
107
109
  const result = yield ladokClient.sokKursTillfalle({
108
110
  kodEllerBenamning: courseCode,
109
- terminKodStart: period,
111
+ terminkodStart: period,
110
112
  striktKod: "true",
111
113
  });
112
114
  return filterAndMapCourseRounds(result, language);
@@ -114,7 +116,7 @@ const createApiClient = (config) => {
114
116
  getCourseRoundsFromPeriod: (courseCode, fromPeriod, language) => __awaiter(void 0, void 0, void 0, function* () {
115
117
  const result = yield ladokClient.sokKursTillfalle({
116
118
  kodEllerBenamning: courseCode,
117
- terminKodStart: fromPeriod,
119
+ terminkodStart: fromPeriod,
118
120
  striktKod: "true",
119
121
  });
120
122
  return filterAndMapCourseRounds(result, language);
@@ -136,6 +138,20 @@ const createApiClient = (config) => {
136
138
  return (0, mapUtbildningsplan_1.mapUtbildningsplan)(plan, language);
137
139
  }
138
140
  }),
141
+ getExaminationModulesByUtbildningstillfalleUid: (utbildningstillfalleUid, language) => __awaiter(void 0, void 0, void 0, function* () {
142
+ const utbildningstillfalle = yield ladokClient.utbildningstillfalle(utbildningstillfalleUid);
143
+ if (utbildningstillfalle.type === "error" ||
144
+ !(utbildningstillfalle === null || utbildningstillfalle === void 0 ? void 0 : utbildningstillfalle.data)) {
145
+ return (0, examinationModulesUtil_1.handleError)("Failed to fetch valid utbildningstillfalle data", utbildningstillfalle.responseInfo);
146
+ }
147
+ const utbildningsinstansUID = (0, ladok_attributvarde_utils_1.extractString)(utbildningstillfalle.data.Attributvarden, "utbildningsinstans.uid");
148
+ const examinationModules = yield (0, examinationModulesUtil_1.getExaminationModules)(utbildningsinstansUID, language, ladokClient);
149
+ return examinationModules;
150
+ }),
151
+ getExaminationModulesByUtbildningsinstansUid: (utbildningsinstansUID, language) => __awaiter(void 0, void 0, void 0, function* () {
152
+ const examinationModules = yield (0, examinationModulesUtil_1.getExaminationModules)(utbildningsinstansUID, language, ladokClient);
153
+ return examinationModules;
154
+ }),
139
155
  };
140
156
  };
141
157
  exports.createApiClient = createApiClient;
@@ -1 +1 @@
1
- {"version":3,"file":"createApiClient.js","sourceRoot":"","sources":["../src/createApiClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createApiClient.js","sourceRoot":"","sources":["../src/createApiClient.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { SokUtbildningsInstansItem } from "@kth/ladok-mellanlager-client";
2
2
  import { Language, TranslatedGrunddata, TranslatedOrganisation, TranslatedUtbildningstyp } from "./utils/languageUtil";
3
3
  export type Course = {
4
+ uid: string;
4
5
  versionsnummer: string;
5
6
  kod: string;
6
7
  benamning: string;
package/dist/mapCourse.js CHANGED
@@ -17,6 +17,7 @@ const mapCourse = (course, language) => {
17
17
  const schoolCode = (0, schoolUtil_1.extractSchoolCodeFromOrganisation)(organisation, language);
18
18
  const omfattning = course.index["utbildning.attribut.omfattning"];
19
19
  return {
20
+ uid: course.instans_uid,
20
21
  versionsnummer: course.index.versionsnummer,
21
22
  kod: course.index["utbildning.attribut.kod"],
22
23
  benamning: benamning[language],
@@ -1 +1 @@
1
- {"version":3,"file":"mapCourse.js","sourceRoot":"","sources":["../src/mapCourse.ts"],"names":[],"mappings":";;;AAAA,8EAKwC;AAGxC,uDAQ8B;AAC9B,qDAAiE;AACjE,mDAAuE;AAiBhE,MAAM,SAAS,GAAG,CACvB,MAAiC,EACjC,QAAkB,EACV,EAAE;IACV,MAAM,SAAS,GAAG;QAChB,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC;QACxD,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC;KAC1D,CAAC;IACF,MAAM,WAAW,GAAG,IAAA,4CAAgB,EAClC,MAAM,CAAC,cAAc,EACrB,iCAAiC,CAClC,CAAC;IACF,MAAM,YAAY,GAAG,IAAA,+CAAmB,EAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAChE,MAAM,YAAY,GAAG,IAAA,+CAAmB,EAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAChE,MAAM,cAAc,GAAG,IAAA,iDAAqB,EAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAEpE,MAAM,UAAU,GAAG,IAAA,8CAAiC,EAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAE7E,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAElE,OAAO;QACL,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,cAAc;QAC3C,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC;QAC5C,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC;QAC9B,UAAU,EAAE;YACV,MAAM,EAAE,UAAU;YAClB,iBAAiB,EAAE,IAAA,wCAA0B,EAC3C,UAAU,EACV,cAAc,EACd,QAAQ,CACT;SACF;QACD,YAAY,EAAE,YAAY,IAAI,IAAA,oCAAqB,EAAC,YAAY,EAAE,QAAQ,CAAC;QAC3E,cAAc,EACZ,cAAc,IAAI,IAAA,sCAAuB,EAAC,cAAc,EAAE,QAAQ,CAAC;QACrE,WAAW,EAAE,WAAW,IAAI,IAAA,iCAAkB,EAAC,WAAW,EAAE,QAAQ,CAAC;QACrE,YAAY,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,iCAAkB,EAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACvE,UAAU;KACX,CAAC;AACJ,CAAC,CAAC;AAvCW,QAAA,SAAS,aAuCpB"}
1
+ {"version":3,"file":"mapCourse.js","sourceRoot":"","sources":["../src/mapCourse.ts"],"names":[],"mappings":";;;AAAA,8EAKwC;AAGxC,uDAQ8B;AAC9B,qDAAiE;AACjE,mDAAuE;AAkBhE,MAAM,SAAS,GAAG,CACvB,MAAiC,EACjC,QAAkB,EACV,EAAE;IACV,MAAM,SAAS,GAAG;QAChB,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC;QACxD,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC;KAC1D,CAAC;IACF,MAAM,WAAW,GAAG,IAAA,4CAAgB,EAClC,MAAM,CAAC,cAAc,EACrB,iCAAiC,CAClC,CAAC;IACF,MAAM,YAAY,GAAG,IAAA,+CAAmB,EAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAChE,MAAM,YAAY,GAAG,IAAA,+CAAmB,EAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAChE,MAAM,cAAc,GAAG,IAAA,iDAAqB,EAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAEpE,MAAM,UAAU,GAAG,IAAA,8CAAiC,EAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAE7E,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAElE,OAAO;QACL,GAAG,EAAE,MAAM,CAAC,WAAY;QACxB,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,cAAc;QAC3C,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC;QAC5C,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC;QAC9B,UAAU,EAAE;YACV,MAAM,EAAE,UAAU;YAClB,iBAAiB,EAAE,IAAA,wCAA0B,EAC3C,UAAU,EACV,cAAc,EACd,QAAQ,CACT;SACF;QACD,YAAY,EAAE,YAAY,IAAI,IAAA,oCAAqB,EAAC,YAAY,EAAE,QAAQ,CAAC;QAC3E,cAAc,EACZ,cAAc,IAAI,IAAA,sCAAuB,EAAC,cAAc,EAAE,QAAQ,CAAC;QACrE,WAAW,EAAE,WAAW,IAAI,IAAA,iCAAkB,EAAC,WAAW,EAAE,QAAQ,CAAC;QACrE,YAAY,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,iCAAkB,EAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACvE,UAAU;KACX,CAAC;AACJ,CAAC,CAAC;AAxCW,QAAA,SAAS,aAwCpB"}
@@ -15,8 +15,8 @@ const mapCourseRound = (item, language) => {
15
15
  en: (0, ladok_attributvarde_utils_1.extractString)(attributeValues, "utbildning.lokalt.attribut.29.kortnamn.en"),
16
16
  };
17
17
  const urvalskriterier = {
18
- sv: (0, ladok_attributvarde_utils_1.extractString)(attributeValues, "utbildning.lokalt.attribut.29.urvalskriterier_sv"),
19
- en: (0, ladok_attributvarde_utils_1.extractString)(attributeValues, "utbildning.lokalt.attribut.29.urvalskriterier_en"),
18
+ sv: (0, ladok_attributvarde_utils_1.extractString)(attributeValues, "utbildning.lokalt.attribut.29.urvalskriterier.sv", "html"),
19
+ en: (0, ladok_attributvarde_utils_1.extractString)(attributeValues, "utbildning.lokalt.attribut.29.urvalskriterier.en", "html"),
20
20
  };
21
21
  const undervisningsform = (0, ladok_attributvarde_utils_1.extractGrunddata)(attributeValues, "utbildning.attribut.undervisningsform");
22
22
  const undervisningstid = (0, ladok_attributvarde_utils_1.extractGrunddata)(attributeValues, "utbildning.attribut.undervisningstid");
@@ -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":";;;AAAA,8EASwC;AAExC,mCAOiB;AA0CV,MAAM,cAAc,GAAG,CAC5B,IAA0B,EAC1B,QAAkB,EACL,EAAE;;IACf,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC;IAE5C,MAAM,QAAQ,GAAG;QACf,EAAE,EAAE,IAAA,yCAAa,EACf,eAAe,EACf,2CAA2C,EAC3C,MAAM,CACP;QACD,EAAE,EAAE,IAAA,yCAAa,EACf,eAAe,EACf,2CAA2C,EAC3C,MAAM,CACP;KACF,CAAC;IAEF,MAAM,QAAQ,GAAG;QACf,EAAE,EAAE,IAAA,yCAAa,EACf,eAAe,EACf,2CAA2C,CAC5C;QACD,EAAE,EAAE,IAAA,yCAAa,EACf,eAAe,EACf,2CAA2C,CAC5C;KACF,CAAC;IAEF,MAAM,eAAe,GAAG;QACtB,EAAE,EAAE,IAAA,yCAAa,EACf,eAAe,EACf,kDAAkD,EAClD,MAAM,CACP;QACD,EAAE,EAAE,IAAA,yCAAa,EACf,eAAe,EACf,kDAAkD,EAClD,MAAM,CACP;KACF,CAAC;IAEF,MAAM,iBAAiB,GAAG,IAAA,4CAAgB,EACxC,eAAe,EACf,uCAAuC,CACxC,CAAC;IACF,MAAM,gBAAgB,GAAG,IAAA,4CAAgB,EACvC,eAAe,EACf,sCAAsC,CACvC,CAAC;IACF,MAAM,kBAAkB,GAAG,IAAA,4CAAgB,EACzC,eAAe,EACf,wCAAwC,CACzC,CAAC;IACF,MAAM,SAAS,GAAG,IAAA,4CAAgB,EAChC,eAAe,EACf,+BAA+B,CAChC,CAAC;IACF,MAAM,iBAAiB,GAAG,IAAA,4CAAgB,EACxC,eAAe,EACf,uCAAuC,CACxC,CAAC;IACF,MAAM,UAAU,GAAG,IAAA,6CAAiB,EAAC,eAAe,CAAC,CAAC;IAEtD,OAAO;QACL,GAAG,EAAE,IAAI,CAAC,aAAa;QACvB,MAAM,EAAE,IAAA,8CAAkB,EAAC,IAAI,CAAC,cAAc,CAAC;QAC/C,QAAQ,EAAE,MAAA,IAAA,0CAAc,EAAC,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,mCAAI,KAAK;QAClE,aAAa,EAAE,IAAA,yCAAa,EAC1B,eAAe,EACf,8CAA8C,CAC/C;QACD,WAAW,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,qCAAqC,CAAC;YACvD,QAAQ,EAAE,IAAA,+BAAuB,EAC/B,IAAI,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAClD;SACF;QACD,wBAAwB,EAAE,IAAA,yCAAa,EACrC,eAAe,EACf,8CAA8C,CAC/C;QACD,wBAAwB,kBACtB,IAAI,EAAE,MAAA,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,0CAAE,wBAAkC,IACpE,IAAA,sBAAc,EACf,MAAA,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,0CAAE,wBAAkC,CAClE,CACF;QACD,uBAAuB,kBACrB,IAAI,EAAE,MAAA,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,0CAAE,uBAAiC,IACpE,IAAA,sBAAc,EACf,MAAA,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,0CAAE,uBAAiC,CAClE,CACF;QACD,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC;QAC5B,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC;QAC5B,eAAe,EAAE,eAAe,CAAC,QAAQ,CAAC;QAE1C,iBAAiB,EACf,iBAAiB,IAAI,IAAA,0BAAkB,EAAC,iBAAiB,EAAE,QAAQ,CAAC;QACtE,gBAAgB,EACd,gBAAgB,IAAI,IAAA,0BAAkB,EAAC,gBAAgB,EAAE,QAAQ,CAAC;QACpE,kBAAkB,EAChB,kBAAkB,IAAI,IAAA,0BAAkB,EAAC,kBAAkB,EAAE,QAAQ,CAAC;QACxE,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,EACf,iBAAiB,IAAI,IAAA,0BAAkB,EAAC,iBAAiB,EAAE,QAAQ,CAAC;QAEtE,eAAe,EAAE,IAAA,0CAAc,EAC7B,eAAe,EACf,+CAA+C,CAChD;QACD,kBAAkB,EAAE,IAAA,qDAAyB,EAAC,eAAe,CAAC;KAC/D,CAAC;AACJ,CAAC,CAAC;AApHW,QAAA,cAAc,kBAoHzB"}
@@ -0,0 +1,15 @@
1
+ import { Utbildningsinstans } from "@kth/ladok-mellanlager-client";
2
+ import { Language, TranslatedGrunddata } from "./utils";
3
+ import { Grunddata } from "@kth/ladok-attributvarde-utils";
4
+ export type ExaminationModule = {
5
+ ladokUID: string;
6
+ kod: string;
7
+ benamning: string | undefined;
8
+ betygsskala?: TranslatedGrunddata;
9
+ omfattning: {
10
+ number: string;
11
+ formattedWithUnit: string;
12
+ };
13
+ giltigFrom: Grunddata | undefined;
14
+ };
15
+ export declare const mapExaminationModule: (moduleInstance: Utbildningsinstans, language: Language) => ExaminationModule;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mapExaminationModule = void 0;
4
+ const creditsUtil_1 = require("./utils/creditsUtil");
5
+ const utils_1 = require("./utils");
6
+ const ladok_attributvarde_utils_1 = require("@kth/ladok-attributvarde-utils");
7
+ const mapExaminationModule = (moduleInstance, language) => {
8
+ var _a;
9
+ const { Attributvarden, Uid } = moduleInstance;
10
+ const benamning = {
11
+ sv: (0, ladok_attributvarde_utils_1.extractString)(Attributvarden, "utbildning.attribut.svensk.benamning"),
12
+ en: (0, ladok_attributvarde_utils_1.extractString)(Attributvarden, "utbildning.attribut.engelsk.benamning"),
13
+ };
14
+ const betygsskala = (0, ladok_attributvarde_utils_1.extractGrunddata)(Attributvarden, "utbildning.attribut.betygsskala");
15
+ const giltigFrom = (0, ladok_attributvarde_utils_1.extractGrunddata)(Attributvarden, "utbildning.attribut.giltig.from");
16
+ const omfattning = (_a = (0, ladok_attributvarde_utils_1.extractString)(Attributvarden, "utbildning.attribut.omfattning", "omfattning")) !== null && _a !== void 0 ? _a : "0";
17
+ const utbildningstyp = (0, ladok_attributvarde_utils_1.extractUtbildningstyp)(Attributvarden);
18
+ return {
19
+ ladokUID: Uid,
20
+ kod: (0, ladok_attributvarde_utils_1.extractString)(Attributvarden, "utbildning.attribut.kod"),
21
+ benamning: benamning[language],
22
+ betygsskala: betygsskala && (0, utils_1.translateGrunddata)(betygsskala, language),
23
+ omfattning: {
24
+ number: omfattning,
25
+ formattedWithUnit: (0, creditsUtil_1.formatCreditsWithUnitLabel)(omfattning, utbildningstyp, language),
26
+ },
27
+ giltigFrom: giltigFrom
28
+ };
29
+ };
30
+ exports.mapExaminationModule = mapExaminationModule;
31
+ //# sourceMappingURL=mapExaminationModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapExaminationModule.js","sourceRoot":"","sources":["../src/mapExaminationModule.ts"],"names":[],"mappings":";;;AACA,qDAAiE;AACjE,mCAA4E;AAC5E,8EAKwC;AAcjC,MAAM,oBAAoB,GAAG,CAClC,cAAkC,EAClC,QAAkB,EACC,EAAE;;IACrB,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,GAAG,cAAc,CAAC;IAE/C,MAAM,SAAS,GAAG;QAChB,EAAE,EAAE,IAAA,yCAAa,EAAC,cAAc,EAAE,sCAAsC,CAAC;QACzE,EAAE,EAAE,IAAA,yCAAa,EAAC,cAAc,EAAE,uCAAuC,CAAC;KAC3E,CAAC;IAEF,MAAM,WAAW,GAAG,IAAA,4CAAgB,EAClC,cAAc,EACd,iCAAiC,CAClC,CAAC;IACF,MAAM,UAAU,GAAG,IAAA,4CAAgB,EACjC,cAAc,EACd,iCAAiC,CAClC,CAAC;IAEF,MAAM,UAAU,GACd,MAAA,IAAA,yCAAa,EAAC,cAAc,EAAE,gCAAgC,EAAE,YAAY,CAAC,mCAC7E,GAAG,CAAC;IAEN,MAAM,cAAc,GAAG,IAAA,iDAAqB,EAAC,cAAc,CAAC,CAAC;IAE7D,OAAO;QACL,QAAQ,EAAE,GAAG;QACb,GAAG,EAAE,IAAA,yCAAa,EAAC,cAAc,EAAE,yBAAyB,CAAE;QAC9D,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC;QAC9B,WAAW,EAAE,WAAW,IAAI,IAAA,0BAAkB,EAAC,WAAW,EAAE,QAAQ,CAAC;QACrE,UAAU,EAAE;YACV,MAAM,EAAE,UAAU;YAClB,iBAAiB,EAAE,IAAA,wCAA0B,EAC3C,UAAU,EACV,cAAc,EACd,QAAQ,CACT;SACF;QACD,UAAU,EAAE,UAAU;KACvB,CAAC;AACJ,CAAC,CAAC;AAzCW,QAAA,oBAAoB,wBAyC/B"}
@@ -21,4 +21,6 @@ export type OmKursenLadokApiClient = {
21
21
  getCourseRoundsFromPeriod: (courseCode: string, fromPeriod: string, language: Language) => Promise<CourseRound[] | undefined>;
22
22
  getCourseRoundsForExactStartPeriod: (courseCode: string, startPeriod: string, language: Language) => Promise<CourseRound[] | undefined>;
23
23
  getUtbildningsPlan: (uid: string, language: Language) => Promise<Utbildningsplan | undefined>;
24
+ getExaminationModulesByUtbildningstillfalleUid: (utbildningstillfalleUid: string, language: Language) => Promise<any>;
25
+ getExaminationModulesByUtbildningsinstansUid: (utbildningsinstansUid: string, language: Language) => Promise<any>;
24
26
  };
@@ -0,0 +1,13 @@
1
+ import { LadokMellanlagerApiClient } from "@kth/ladok-mellanlager-client";
2
+ import { Language } from "./languageUtil";
3
+ export declare const handleError: (message: string, error?: any) => {
4
+ error: string;
5
+ details: any;
6
+ };
7
+ export declare const fetchStructure: (uid: string, ladokClient: LadokMellanlagerApiClient) => Promise<{
8
+ AvserTillfalle: boolean;
9
+ Publicerad: boolean;
10
+ UtbildningsbasUID: string;
11
+ }[]>;
12
+ export declare const fetchModules: (utbildningsbasUIDn: string[], ladokClient: LadokMellanlagerApiClient) => Promise<(import("@kth/ladok-mellanlager-client").Utbildningsinstans | undefined)[]>;
13
+ export declare const getExaminationModules: (utbildningsinstansUID: string, language: Language, ladokClient: LadokMellanlagerApiClient) => Promise<(import("../mapExaminationModule").ExaminationModule | undefined)[]>;
@@ -0,0 +1,63 @@
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.getExaminationModules = exports.fetchModules = exports.fetchStructure = exports.handleError = void 0;
13
+ const mapExaminationModule_1 = require("../mapExaminationModule");
14
+ const handleError = (message, error) => {
15
+ console.error(message, error);
16
+ return { error: message, details: (error === null || error === void 0 ? void 0 : error.message) || "Unknown error" };
17
+ };
18
+ exports.handleError = handleError;
19
+ const fetchStructure = (uid, ladokClient) => __awaiter(void 0, void 0, void 0, function* () {
20
+ var _a;
21
+ try {
22
+ const struktur = yield ladokClient.utbildningsinstansStruktur(uid);
23
+ return ((_a = struktur === null || struktur === void 0 ? void 0 : struktur.data) === null || _a === void 0 ? void 0 : _a.Strukturdelar) || [];
24
+ }
25
+ catch (error) {
26
+ throw (0, exports.handleError)("Failed to fetch structure", error);
27
+ }
28
+ });
29
+ exports.fetchStructure = fetchStructure;
30
+ const fetchModules = (utbildningsbasUIDn, ladokClient) => __awaiter(void 0, void 0, void 0, function* () {
31
+ try {
32
+ const moduler = yield Promise.all(utbildningsbasUIDn.map((utbildningsbasUID) => __awaiter(void 0, void 0, void 0, function* () {
33
+ try {
34
+ const utbildningsinstans = yield ladokClient.utbildningsinstans(utbildningsbasUID);
35
+ return utbildningsinstans.data;
36
+ }
37
+ catch (error) {
38
+ throw (0, exports.handleError)(`Error fetching module for utbildningsbasUID ${utbildningsbasUID}:`, error);
39
+ }
40
+ })));
41
+ return moduler.filter((module) => module !== null);
42
+ }
43
+ catch (error) {
44
+ throw (0, exports.handleError)("Failed to fetch modules", error);
45
+ }
46
+ });
47
+ exports.fetchModules = fetchModules;
48
+ const getExaminationModules = (utbildningsinstansUID, language, ladokClient) => __awaiter(void 0, void 0, void 0, function* () {
49
+ try {
50
+ const strukturDelar = yield (0, exports.fetchStructure)(utbildningsinstansUID, ladokClient);
51
+ const utbildningsbasUIDn = strukturDelar.map((strukturdel) => strukturdel.UtbildningsbasUID);
52
+ const examinationModules = yield (0, exports.fetchModules)(utbildningsbasUIDn, ladokClient);
53
+ const mappedExaminationModules = examinationModules.map((m) => {
54
+ return m && (0, mapExaminationModule_1.mapExaminationModule)(m, language);
55
+ });
56
+ return mappedExaminationModules;
57
+ }
58
+ catch (error) {
59
+ throw (0, exports.handleError)("Unexpected error during processing", error);
60
+ }
61
+ });
62
+ exports.getExaminationModules = getExaminationModules;
63
+ //# sourceMappingURL=examinationModulesUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"examinationModulesUtil.js","sourceRoot":"","sources":["../../src/utils/examinationModulesUtil.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,kEAA+D;AAGxD,MAAM,WAAW,GAAG,CAAC,OAAe,EAAE,KAAW,EAAE,EAAE;IAC1D,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,KAAI,eAAe,EAAE,CAAC;AACxE,CAAC,CAAC;AAHW,QAAA,WAAW,eAGtB;AAEK,MAAM,cAAc,GAAG,CAC5B,GAAW,EACX,WAAsC,EACtC,EAAE;;IACF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC;QACnE,OAAO,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,aAAa,KAAI,EAAE,CAAC;IAC7C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAA,mBAAW,EAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;AACH,CAAC,CAAA,CAAC;AAVW,QAAA,cAAc,kBAUzB;AAEK,MAAM,YAAY,GAAG,CAC1B,kBAA4B,EAC5B,WAAsC,EACtC,EAAE;IACF,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,kBAAkB,CAAC,GAAG,CAAC,CAAO,iBAAiB,EAAE,EAAE;YACjD,IAAI,CAAC;gBACH,MAAM,kBAAkB,GAAG,MAAM,WAAW,CAAC,kBAAkB,CAC7D,iBAAiB,CAClB,CAAC;gBACF,OAAO,kBAAkB,CAAC,IAAI,CAAC;YACjC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAA,mBAAW,EACf,+CAA+C,iBAAiB,GAAG,EACnE,KAAK,CACN,CAAC;YACJ,CAAC;QACH,CAAC,CAAA,CAAC,CACH,CAAC;QACF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAA,mBAAW,EAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;AACH,CAAC,CAAA,CAAC;AAxBW,QAAA,YAAY,gBAwBvB;AAEK,MAAM,qBAAqB,GAAG,CACnC,qBAA6B,EAC7B,QAAkB,EAClB,WAAsC,EACtC,EAAE;IACF,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,IAAA,sBAAc,EACxC,qBAAsB,EACtB,WAAW,CACZ,CAAC;QACF,MAAM,kBAAkB,GAAG,aAAa,CAAC,GAAG,CAC1C,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,iBAAiB,CAC/C,CAAC;QACF,MAAM,kBAAkB,GAAG,MAAM,IAAA,oBAAY,EAC3C,kBAAkB,EAClB,WAAW,CACZ,CAAC;QACF,MAAM,wBAAwB,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC5D,OAAO,CAAC,IAAI,IAAA,2CAAoB,EAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QACH,OAAO,wBAAwB,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAA,mBAAW,EAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC;AACH,CAAC,CAAA,CAAC;AAxBW,QAAA,qBAAqB,yBAwBhC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kth/om-kursen-ladok-client",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
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,13 +22,6 @@
22
22
  },
23
23
  "dependencies": {
24
24
  "@kth/ladok-attributvarde-utils": "0.0.8",
25
- "@kth/ladok-mellanlager-client": "0.0.3"
26
- },
27
- "devDependencies": {
28
- "@types/jest": "^29.5.12",
29
- "jest": "^29.7.0",
30
- "rimraf": "^5.0.10",
31
- "ts-jest": "^29.2.5",
32
- "typescript": "^5.5.4"
25
+ "@kth/ladok-mellanlager-client": "0.0.4"
33
26
  }
34
27
  }