@kth/om-kursen-ladok-client 1.1.2 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/createApiClient.js +102 -16
  2. package/dist/createApiClient.js.map +1 -1
  3. package/dist/mapCourse.d.ts +2 -2
  4. package/dist/mapCourse.js.map +1 -1
  5. package/dist/mapCourseInstans.d.ts +3 -3
  6. package/dist/mapCourseInstans.js +3 -3
  7. package/dist/mapCourseInstans.js.map +1 -1
  8. package/dist/mapCourseRound.d.ts +2 -2
  9. package/dist/mapCourseRound.js.map +1 -1
  10. package/dist/mapExaminationModule.d.ts +2 -2
  11. package/dist/mapExaminationModule.js.map +1 -1
  12. package/dist/mapProgramInstans.d.ts +26 -0
  13. package/dist/mapProgramInstans.js +72 -0
  14. package/dist/mapProgramInstans.js.map +1 -0
  15. package/dist/mapProgramTerm.d.ts +10 -0
  16. package/dist/mapProgramTerm.js +15 -0
  17. package/dist/mapProgramTerm.js.map +1 -0
  18. package/dist/mapProgramTillfalle.d.ts +2 -2
  19. package/dist/mapProgramTillfalle.js.map +1 -1
  20. package/dist/mapSearchResult.d.ts +2 -2
  21. package/dist/mapSearchResult.js +2 -2
  22. package/dist/mapSearchResult.js.map +1 -1
  23. package/dist/mapStructureCourses.d.ts +7 -4
  24. package/dist/mapStructureCourses.js +5 -3
  25. package/dist/mapStructureCourses.js.map +1 -1
  26. package/dist/mapUtbildningsplan.d.ts +2 -2
  27. package/dist/mapUtbildningsplan.js +14 -5
  28. package/dist/mapUtbildningsplan.js.map +1 -1
  29. package/dist/types/OmKursenLadokApiClient.d.ts +8 -1
  30. package/dist/utils/courseSyllabusUtil.d.ts +2 -2
  31. package/dist/utils/courseSyllabusUtil.js.map +1 -1
  32. package/dist/utils/examinationModulesUtil.d.ts +2 -12
  33. package/dist/utils/examinationModulesUtil.js +3 -1
  34. package/dist/utils/examinationModulesUtil.js.map +1 -1
  35. package/dist/utils/periodUtil.d.ts +3 -0
  36. package/dist/utils/periodUtil.js +26 -1
  37. package/dist/utils/periodUtil.js.map +1 -1
  38. package/dist/utils/programStrukturUtil.d.ts +59 -48
  39. package/dist/utils/programStrukturUtil.js +109 -97
  40. package/dist/utils/programStrukturUtil.js.map +1 -1
  41. package/dist/utils/studyYearUtil.d.ts +3 -1
  42. package/dist/utils/studyYearUtil.js +14 -7
  43. package/dist/utils/studyYearUtil.js.map +1 -1
  44. package/package.json +3 -3
@@ -1,13 +1,16 @@
1
- import { Utbildningstillfalle } from "@kth/ladok-mellanlager-client";
2
- import { Language, TranslatedGrunddata } from "./utils";
3
- export type StructureCourse = {
1
+ import { Utbildningstillfalle, UtbildningstillfalleSlim } from "@kth/ladok-mellanlager-client";
2
+ import { Language, TranslatedGrunddata, TranslatedUtbildningstyp } from "./utils";
3
+ import { LadokStatus } from "@kth/ladok-attributvarde-utils";
4
+ export type StructurePartInstance = {
4
5
  utbildningsinstansUid: string;
5
6
  uid: string;
6
7
  tillfalleskod: string;
8
+ status?: LadokStatus;
7
9
  omfattning: {
8
10
  number: number;
9
11
  formattedWithUnit: string;
10
12
  };
13
+ utbildningstyp?: TranslatedUtbildningstyp;
11
14
  startperiod?: TranslatedGrunddata;
12
15
  Tillfallesperioder: {
13
16
  ForstaRegistreringsdatum: string;
@@ -21,4 +24,4 @@ export type StructureCourse = {
21
24
  SistaUndervisningsdatum: string;
22
25
  }[];
23
26
  };
24
- export declare const mapStructureCourses: (entity: Utbildningstillfalle, language: Language) => StructureCourse;
27
+ export declare const mapStructurePartInstances: (entity: Utbildningstillfalle | UtbildningstillfalleSlim, language: Language) => StructurePartInstance;
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mapStructureCourses = void 0;
3
+ exports.mapStructurePartInstances = void 0;
4
4
  const creditsUtil_1 = require("./utils/creditsUtil");
5
5
  const utils_1 = require("./utils");
6
6
  const ladok_attributvarde_utils_1 = require("@kth/ladok-attributvarde-utils");
7
- const mapStructureCourses = (entity, language) => {
7
+ const mapStructurePartInstances = (entity, language) => {
8
8
  const { Attributvarden, Uid } = entity;
9
9
  const utbildningsinstansUid = (0, ladok_attributvarde_utils_1.extractString)(Attributvarden, "utbildningsinstans.uid");
10
10
  const tillfalleskod = (0, ladok_attributvarde_utils_1.extractString)(Attributvarden, "utbildning.attribut.utbildningstillfalleskod");
@@ -15,6 +15,8 @@ const mapStructureCourses = (entity, language) => {
15
15
  utbildningsinstansUid: utbildningsinstansUid,
16
16
  uid: Uid,
17
17
  tillfalleskod: tillfalleskod,
18
+ status: (0, ladok_attributvarde_utils_1.extractLadokStatus)(Attributvarden),
19
+ utbildningstyp: utbildningstyp && (0, utils_1.translateUtbildningstyp)(utbildningstyp, language),
18
20
  omfattning: {
19
21
  number: omfattningNumber,
20
22
  formattedWithUnit: (0, creditsUtil_1.formatCreditsWithUnitLabel)(omfattningNumber.toString(), utbildningstyp, language),
@@ -23,5 +25,5 @@ const mapStructureCourses = (entity, language) => {
23
25
  Tillfallesperioder: entity.Tillfallesperioder,
24
26
  };
25
27
  };
26
- exports.mapStructureCourses = mapStructureCourses;
28
+ exports.mapStructurePartInstances = mapStructurePartInstances;
27
29
  //# sourceMappingURL=mapStructureCourses.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapStructureCourses.js","sourceRoot":"","sources":["../src/mapStructureCourses.ts"],"names":[],"mappings":";;;AAIA,qDAAiE;AACjE,mCAA4E;AAC5E,8EAIwC;AAwBjC,MAAM,mBAAmB,GAAG,CACjC,MAA4B,EAC5B,QAAkB,EACD,EAAE;IACnB,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAEvC,MAAM,qBAAqB,GAAG,IAAA,yCAAa,EACzC,cAAc,EACd,wBAAwB,CACzB,CAAC;IAEF,MAAM,aAAa,GAAG,IAAA,yCAAa,EACjC,cAAc,EACd,8CAA8C,CAC/C,CAAC;IAEF,MAAM,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,MAAM,CACvD,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,gBAAgB,EAC9C,CAAC,CACF,CAAC;IAEF,MAAM,cAAc,GAAG,IAAA,iDAAqB,EAAC,cAAc,CAAC,CAAC;IAE7D,MAAM,WAAW,GAAG,IAAA,4CAAgB,EAClC,cAAc,EACd,iCAAiC,CAClC,CAAC;IAEF,OAAO;QACL,qBAAqB,EAAE,qBAAsB;QAC7C,GAAG,EAAE,GAAG;QACR,aAAa,EAAE,aAAc;QAC7B,UAAU,EAAE;YACV,MAAM,EAAE,gBAAgB;YACxB,iBAAiB,EAAE,IAAA,wCAA0B,EAC3C,gBAAgB,CAAC,QAAQ,EAAE,EAC3B,cAAc,EACd,QAAQ,CACT;SACF;QACD,WAAW,EAAE,WAAW,IAAI,IAAA,0BAAkB,EAAC,WAAW,EAAE,QAAQ,CAAC;QACrE,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;KAC9C,CAAC;AACJ,CAAC,CAAC;AA3CW,QAAA,mBAAmB,uBA2C9B"}
1
+ {"version":3,"file":"mapStructureCourses.js","sourceRoot":"","sources":["../src/mapStructureCourses.ts"],"names":[],"mappings":";;;AAIA,qDAAiE;AACjE,mCAA+H;AAC/H,8EAMwC;AA0BjC,MAAM,yBAAyB,GAAG,CACvC,MAAuD,EACvD,QAAkB,EACK,EAAE;IACzB,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAEvC,MAAM,qBAAqB,GAAG,IAAA,yCAAa,EACzC,cAAc,EACd,wBAAwB,CACzB,CAAC;IAEF,MAAM,aAAa,GAAG,IAAA,yCAAa,EACjC,cAAc,EACd,8CAA8C,CAC/C,CAAC;IAEF,MAAM,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,MAAM,CACvD,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,gBAAgB,EAC9C,CAAC,CACF,CAAC;IAEF,MAAM,cAAc,GAAG,IAAA,iDAAqB,EAAC,cAAc,CAAC,CAAC;IAE7D,MAAM,WAAW,GAAG,IAAA,4CAAgB,EAClC,cAAc,EACd,iCAAiC,CAClC,CAAC;IAEF,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,EAC3C,gBAAgB,CAAC,QAAQ,EAAE,EAC3B,cAAc,EACd,QAAQ,CACT;SACF;QACD,WAAW,EAAE,WAAW,IAAI,IAAA,0BAAkB,EAAC,WAAW,EAAE,QAAQ,CAAC;QACrE,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;KAC9C,CAAC;AACJ,CAAC,CAAC;AA7CW,QAAA,yBAAyB,6BA6CpC"}
@@ -1,5 +1,5 @@
1
- import { PlanForUtbildning } from "@kth/ladok-mellanlager-client";
2
- import { Language } from "./utils/languageUtil";
1
+ import { PlanForUtbildning } from '@kth/ladok-mellanlager-client';
2
+ import { Language } from './utils/languageUtil';
3
3
  export type Utbildningsplan = {
4
4
  uid: string;
5
5
  courseList: {
@@ -1,7 +1,16 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.mapUtbildningsplan = void 0;
4
7
  const ladok_attributvarde_utils_1 = require("@kth/ladok-attributvarde-utils");
8
+ const showdown_1 = __importDefault(require("showdown"));
9
+ const convertMarkdownToHtml = (markdownText) => {
10
+ var converter = new showdown_1.default.Converter({ tables: true });
11
+ if (markdownText)
12
+ return converter.makeHtml(markdownText);
13
+ };
5
14
  /**
6
15
  * TODO: This a PoC for using course list in old programme syllabuses (utbildningsplan).
7
16
  * This will be extended with more attributes later.
@@ -11,11 +20,11 @@ const mapUtbildningsplan = (planForUtbildning, language) => {
11
20
  return {
12
21
  uid: planForUtbildning.Uid,
13
22
  courseList: {
14
- year1: (0, ladok_attributvarde_utils_1.extractString)(attributeValues, `utbildning.lokalt.attribut.29.kurslistaar1.${language}`, "markdown"),
15
- year2: (0, ladok_attributvarde_utils_1.extractString)(attributeValues, `utbildning.lokalt.attribut.29.kurslistaar2.${language}`, "markdown"),
16
- year3: (0, ladok_attributvarde_utils_1.extractString)(attributeValues, `utbildning.lokalt.attribut.29.kurslistaar3.${language}`, "markdown"),
17
- year4: (0, ladok_attributvarde_utils_1.extractString)(attributeValues, `utbildning.lokalt.attribut.29.kurslistaar4.${language}`, "markdown"),
18
- year5: (0, ladok_attributvarde_utils_1.extractString)(attributeValues, `utbildning.lokalt.attribut.29.kurslistaar5.${language}`, "markdown"),
23
+ year1: convertMarkdownToHtml((0, ladok_attributvarde_utils_1.extractString)(attributeValues, `utbildning.lokalt.attribut.29.kurslistaar1.${language}`, 'markdown')),
24
+ year2: convertMarkdownToHtml((0, ladok_attributvarde_utils_1.extractString)(attributeValues, `utbildning.lokalt.attribut.29.kurslistaar2.${language}`, 'markdown')),
25
+ year3: convertMarkdownToHtml((0, ladok_attributvarde_utils_1.extractString)(attributeValues, `utbildning.lokalt.attribut.29.kurslistaar3.${language}`, 'markdown')),
26
+ year4: convertMarkdownToHtml((0, ladok_attributvarde_utils_1.extractString)(attributeValues, `utbildning.lokalt.attribut.29.kurslistaar4.${language}`, 'markdown')),
27
+ year5: convertMarkdownToHtml((0, ladok_attributvarde_utils_1.extractString)(attributeValues, `utbildning.lokalt.attribut.29.kurslistaar5.${language}`, 'markdown')),
19
28
  },
20
29
  };
21
30
  };
@@ -1 +1 @@
1
- {"version":3,"file":"mapUtbildningsplan.js","sourceRoot":"","sources":["../src/mapUtbildningsplan.ts"],"names":[],"mappings":";;;AAKA,8EAA+D;AAa/D;;;GAGG;AACI,MAAM,kBAAkB,GAAG,CAChC,iBAAoC,EACpC,QAAkB,EACD,EAAE;IACnB,MAAM,eAAe,GAAG,iBAAiB,CAAC,sBAAsB,CAAC;IAEjE,OAAO;QACL,GAAG,EAAE,iBAAiB,CAAC,GAAG;QAC1B,UAAU,EAAE;YACV,KAAK,EAAE,IAAA,yCAAa,EAClB,eAAe,EACf,8CAA8C,QAAQ,EAAE,EACxD,UAAU,CACX;YACD,KAAK,EAAE,IAAA,yCAAa,EAClB,eAAe,EACf,8CAA8C,QAAQ,EAAE,EACxD,UAAU,CACX;YACD,KAAK,EAAE,IAAA,yCAAa,EAClB,eAAe,EACf,8CAA8C,QAAQ,EAAE,EACxD,UAAU,CACX;YACD,KAAK,EAAE,IAAA,yCAAa,EAClB,eAAe,EACf,8CAA8C,QAAQ,EAAE,EACxD,UAAU,CACX;YACD,KAAK,EAAE,IAAA,yCAAa,EAClB,eAAe,EACf,8CAA8C,QAAQ,EAAE,EACxD,UAAU,CACX;SACF;KACF,CAAC;AACJ,CAAC,CAAC;AApCW,QAAA,kBAAkB,sBAoC7B"}
1
+ {"version":3,"file":"mapUtbildningsplan.js","sourceRoot":"","sources":["../src/mapUtbildningsplan.ts"],"names":[],"mappings":";;;;;;AAEA,8EAA8D;AAC9D,wDAA+B;AAa/B,MAAM,qBAAqB,GAAG,CAAC,YAAgC,EAAE,EAAE;IACjE,IAAI,SAAS,GAAG,IAAI,kBAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;IACxD,IAAI,YAAY;QAAE,OAAO,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;AAC3D,CAAC,CAAA;AACD;;;GAGG;AAEI,MAAM,kBAAkB,GAAG,CAAC,iBAAoC,EAAE,QAAkB,EAAmB,EAAE;IAC9G,MAAM,eAAe,GAAG,iBAAiB,CAAC,sBAAsB,CAAA;IAEhE,OAAO;QACL,GAAG,EAAE,iBAAiB,CAAC,GAAG;QAC1B,UAAU,EAAE;YACV,KAAK,EAAE,qBAAqB,CAC1B,IAAA,yCAAa,EAAC,eAAe,EAAE,8CAA8C,QAAQ,EAAE,EAAE,UAAU,CAAC,CACrG;YACD,KAAK,EAAE,qBAAqB,CAC1B,IAAA,yCAAa,EAAC,eAAe,EAAE,8CAA8C,QAAQ,EAAE,EAAE,UAAU,CAAC,CACrG;YACD,KAAK,EAAE,qBAAqB,CAC1B,IAAA,yCAAa,EAAC,eAAe,EAAE,8CAA8C,QAAQ,EAAE,EAAE,UAAU,CAAC,CACrG;YACD,KAAK,EAAE,qBAAqB,CAC1B,IAAA,yCAAa,EAAC,eAAe,EAAE,8CAA8C,QAAQ,EAAE,EAAE,UAAU,CAAC,CACrG;YACD,KAAK,EAAE,qBAAqB,CAC1B,IAAA,yCAAa,EAAC,eAAe,EAAE,8CAA8C,QAAQ,EAAE,EAAE,UAAU,CAAC,CACrG;SACF;KACF,CAAA;AACH,CAAC,CAAA;AAvBY,QAAA,kBAAkB,sBAuB9B"}
@@ -6,6 +6,8 @@ import { Language } from "../utils";
6
6
  import { Utbildningsplan } from "../mapUtbildningsplan";
7
7
  import { KursPlan } from "../mapCourseSyllabus";
8
8
  import { Period } from "@kth/ladok-mellanlager-client/dist/types/endpoints/period";
9
+ import { ProgramInstans } from "../mapProgramInstans";
10
+ import { ProgramTillfalle } from "../mapProgramTillfalle";
9
11
  export type OmKursenLadokApiClient = {
10
12
  getLatestCourseVersion: (courseCode: string, language: Language) => Promise<(Course & ResponseInfo) | ResponseInfo>;
11
13
  searchCourses: (searchParams: {
@@ -25,9 +27,14 @@ export type OmKursenLadokApiClient = {
25
27
  getUtbildningsPlan: (uid: string, language: Language) => Promise<Utbildningsplan | undefined>;
26
28
  getExaminationModulesByUtbildningstillfalleUid: (utbildningstillfalleUid: string, language: Language) => Promise<any>;
27
29
  getExaminationModulesByUtbildningsinstansUid: (utbildningsinstansUid: string, language: Language) => Promise<any>;
28
- getActiveProgramTillfalle: (programCode: string, term: string, language: Language) => Promise<any>;
30
+ getActiveProgramInstance: (programCode: string, semester: string, language: Language) => Promise<ProgramTillfalle | undefined>;
31
+ getProgramVersion: (programCode: string, semester: string, language: Language) => Promise<{
32
+ programInstans: ProgramInstans | undefined;
33
+ statusCode: number;
34
+ }>;
29
35
  getUtbildningstilfalleStructure: (utbildningstillfalleUID: string, language: Language) => Promise<any>;
30
36
  getCourseSyllabus: (courseCode: string, semester: string, language: Language) => Promise<KursPlan> | undefined;
37
+ getProgramSyllabus: (courseCode: string, semester: string, language: Language) => Promise<Utbildningsplan> | undefined;
31
38
  getCourseSyllabuses: (courseCode: string, language: Language) => Promise<KursPlan[]> | undefined;
32
39
  getAllGradingScales: () => Promise<any>;
33
40
  getAllGradingScalesCodes: () => Promise<any>;
@@ -1,4 +1,4 @@
1
- import { SokPlanItem } from "@kth/ladok-mellanlager-client";
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[], periods: PeriodItem[]): SokPlanItem | null;
4
+ export declare function getSyllabusForSemester(semester: string, syllabuses: SokPlanItem[] | SokPlanSlimItem[], periods: PeriodItem[]): SokPlanItem | null;
@@ -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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"}
@@ -9,16 +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<{
13
- AvserTillfalle: boolean;
14
- Publicerad: boolean;
15
- UtbildningsbasUID: string;
16
- Valinformation?: {
17
- EngelskBeskrivning?: string;
18
- SvenskBeskrivning?: string;
19
- ValUID: string;
20
- ValmojlighetsID: string;
21
- };
22
- }[]>;
23
- export declare const fetchModules: (utbildningsbasUIDn: string[], ladokClient: LadokMellanlagerApiClient) => Promise<(import("@kth/ladok-mellanlager-client").Utbildningsinstans | undefined)[]>;
12
+ export declare const fetchStructure: (uid: string, ladokClient: LadokMellanlagerApiClient) => Promise<import("@kth/ladok-mellanlager-client/dist/types/endpoints/utbildningsinstansStruktur").Strukturdel[]>;
13
+ export declare const fetchModules: (utbildningsbasUIDn: string[], ladokClient: LadokMellanlagerApiClient) => Promise<(import("@kth/ladok-mellanlager-client").UtbildningsinstansSlim | undefined)[]>;
24
14
  export declare const getExaminationModules: (utbildningsinstansUID: string, language: Language, ladokClient: LadokMellanlagerApiClient) => Promise<(ExaminationModule | undefined)[]>;
@@ -46,7 +46,9 @@ const fetchModules = (utbildningsbasUIDn, ladokClient) => __awaiter(void 0, void
46
46
  try {
47
47
  const moduler = yield Promise.all(utbildningsbasUIDn.map((utbildningsbasUID) => __awaiter(void 0, void 0, void 0, function* () {
48
48
  try {
49
- const utbildningsinstans = yield ladokClient.utbildningsinstans(utbildningsbasUID);
49
+ const utbildningsinstans = yield ladokClient.utbildningsinstansSlim(utbildningsbasUID, {
50
+ attributVarden: "utbildning.attribut.kod,utbildning.attribut.svensk.benamning,utbildning.attribut.engelsk.benamning,utbildning.attribut.betygsskala,utbildning.attribut.giltig.from,utbildning.attribut.omfattning,utbildningstyp"
51
+ });
50
52
  return utbildningsinstans.data;
51
53
  }
52
54
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"examinationModulesUtil.js","sourceRoot":"","sources":["../../src/utils/examinationModulesUtil.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,kEAAkF;AAElF,6DAA6D;AAEtD,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,uBAAuB,GAAG,CAAC,kBAAqD,EAAE,EAAE;IAC/F,IAAI,CAAC;QACH,MAAM,0BAA0B,GAAG,kBAAkB,CAAC,GAAG,CACvD,CAAC,CAAC,EAAE,eACF,OAAA,GAAG,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,GAAG,MAAM,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,SAAS,KAAK,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,UAAU,CAAC,iBAAiB,KAAK,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,WAAW,0CAAE,IAAI,KAAK,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,WAAW,0CAAE,SAAS,EAAE,CAAA,EAAA,CAC3H,CAAA;QAED,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,GAAG,CAC9C,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,GAAG,MAAM,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,SAAS,KAAK,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,UAAU,CAAC,iBAAiB,EAAE,CACvE,CAAA;QAED,OAAO;YACL,0BAA0B,EAAE,0BAA0B;YACtD,MAAM,EAAE,iBAAiB;SAC1B,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,KAAK,EAAE,CAAC,CAAA;IAClE,CAAC;AACH,CAAC,CAAA;AAlBY,QAAA,uBAAuB,2BAkBnC;AAEM,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,kBAAkB,GAAG,MAAM,IAAA,0CAAqB,EAAC,WAAW,CAAC,CAAC;QACpE,MAAM,wBAAwB,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC5D,OAAO,CAAC,IAAI,IAAA,2CAAoB,EAAC,CAAC,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QACpE,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;AAzBW,QAAA,qBAAqB,yBAyBhC"}
1
+ {"version":3,"file":"examinationModulesUtil.js","sourceRoot":"","sources":["../../src/utils/examinationModulesUtil.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,8 @@
1
+ import { PeriodItem } from "@kth/ladok-mellanlager-client";
2
+ import { ProgramInstans } from "../mapProgramInstans";
1
3
  export declare const transformPeriodInDigits: (period: string) => string | null;
2
4
  export declare const transformDigitsInPeriod: (period: string) => string;
5
+ export declare const findValidProgramForCode: (code: string, periods: PeriodItem[], programs: ProgramInstans[]) => ProgramInstans | undefined;
3
6
  export declare const getPeriodCodeForDate: (date: Date) => string;
4
7
  export declare const getKthStudyPeriod: (date: Date, startPeriod: {
5
8
  code: string | undefined;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getKthStudyPeriod = exports.getPeriodCodeForDate = exports.transformDigitsInPeriod = exports.transformPeriodInDigits = void 0;
3
+ exports.getKthStudyPeriod = exports.getPeriodCodeForDate = exports.findValidProgramForCode = exports.transformDigitsInPeriod = exports.transformPeriodInDigits = void 0;
4
4
  const transformPeriodInDigits = (period) => {
5
5
  const validPrefixes = ["HT", "VT"];
6
6
  if (validPrefixes.includes(period.slice(0, 2)) && period.length > 2) {
@@ -17,6 +17,31 @@ const transformDigitsInPeriod = (period) => {
17
17
  return `${semester}${year}`;
18
18
  };
19
19
  exports.transformDigitsInPeriod = transformDigitsInPeriod;
20
+ const findPeriodByCode = (code, periods) => {
21
+ return periods.find(p => p.Kod === code);
22
+ };
23
+ const getSortedPrograms = (programs) => {
24
+ return [...programs].sort((a, b) => (Number(b.versionsnummer) || 0) - (Number(a.versionsnummer) || 0));
25
+ };
26
+ const isProgramValidForPeriod = (program, periodStart) => {
27
+ const { giltigFrom } = program;
28
+ if (!(giltigFrom === null || giltigFrom === void 0 ? void 0 : giltigFrom.startDay) || !(giltigFrom === null || giltigFrom === void 0 ? void 0 : giltigFrom.lastDay))
29
+ return false;
30
+ const programStart = new Date(giltigFrom.startDay);
31
+ return periodStart >= programStart;
32
+ };
33
+ const findValidProgramForCode = (code, periods, programs) => {
34
+ const matchedPeriod = findPeriodByCode(code, periods);
35
+ if (!matchedPeriod)
36
+ return undefined;
37
+ const periodStart = new Date(matchedPeriod.Giltighetsperiod.Startdatum);
38
+ const sortedPrograms = getSortedPrograms(programs);
39
+ const validPrograms = sortedPrograms.filter((program, index, arr) => isProgramValidForPeriod(program, periodStart));
40
+ if (validPrograms.length > 0)
41
+ return validPrograms[0];
42
+ return sortedPrograms.length > 0 ? sortedPrograms[0] : undefined;
43
+ };
44
+ exports.findValidProgramForCode = findValidProgramForCode;
20
45
  const getPeriodCodeForDate = (date) => {
21
46
  const JULY = 6;
22
47
  const year = date.getFullYear();
@@ -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,59 +1,70 @@
1
1
  import { LadokMellanlagerApiClient } from '@kth/ladok-mellanlager-client';
2
2
  import { Language } from './languageUtil';
3
+ import { StructurePartInstance } from '../mapStructureCourses';
4
+ import { Strukturdel } from '@kth/ladok-mellanlager-client/dist/types/endpoints/utbildningsinstansStruktur';
3
5
  export declare const handleError: (message: string, error?: any) => {
4
6
  error: string;
5
7
  details: any;
6
8
  };
7
- export declare const fetchStructureByTillfalleUid: (uid: string, ladokClient: LadokMellanlagerApiClient) => Promise<{
8
- AvserTillfalle: boolean;
9
- Publicerad: boolean;
10
- UtbildningsbasUID: string;
11
- Valinformation?: {
12
- EngelskBeskrivning?: string;
13
- SvenskBeskrivning?: string;
14
- ValUID: string;
15
- ValmojlighetsID: string;
16
- };
17
- }[]>;
18
- export declare const fetchStructureByInstansUid: (uid: string, ladokClient: LadokMellanlagerApiClient) => Promise<{
19
- AvserTillfalle: boolean;
20
- Publicerad: boolean;
21
- UtbildningsbasUID: string;
22
- Valinformation?: {
23
- EngelskBeskrivning?: string;
24
- SvenskBeskrivning?: string;
25
- ValUID: string;
26
- ValmojlighetsID: string;
27
- };
28
- }[]>;
29
- export declare const fetchCourseBoxes: (utbildningsbasUIDn: string[], ladokClient: LadokMellanlagerApiClient) => Promise<(import("@kth/ladok-mellanlager-client").Utbildningstillfalle | undefined)[]>;
30
- export declare const fetchCourseInstanses: (utbildningsinstansUIDn: string[], ladokClient: LadokMellanlagerApiClient) => Promise<(import("@kth/ladok-mellanlager-client").Utbildningsinstans | undefined)[]>;
31
- export declare const fetchAndCategorizeStructure: (utbildningstillfalleUID: string, language: Language, ladokClient: LadokMellanlagerApiClient) => Promise<{
32
- Valvillkor: string;
33
- kod: string;
34
- benamning: string;
35
- utbildningstyp?: import("./languageUtil").TranslatedUtbildningstyp;
36
- utbildningsinstansUid: string;
37
- uid: string;
38
- tillfalleskod: string;
39
- omfattning: {
40
- number: number;
41
- formattedWithUnit: string;
42
- };
43
- startperiod?: import("./languageUtil").TranslatedGrunddata;
44
- Tillfallesperioder: {
45
- ForstaRegistreringsdatum: string;
46
- ForstaUndervisningsdatum: string;
47
- Lasperiodsfordelning?: {
48
- Lasperiodskod: string;
9
+ export declare const fetchStructureByTillfalleUid: (uid: string, ladokClient: LadokMellanlagerApiClient) => Promise<Strukturdel[]>;
10
+ export declare const fetchStructureByInstansUid: (uid: string, ladokClient: LadokMellanlagerApiClient) => Promise<Strukturdel[]>;
11
+ export declare const fetchStructurePartInstances: (utbildningstillfalleUIDn: string[], ladokClient: LadokMellanlagerApiClient) => Promise<(import("@kth/ladok-mellanlager-client").UtbildningstillfalleSlim | undefined)[]>;
12
+ export declare const fetchStructurePartsVersions: (utbildningsinstansUIDn: string[], ladokClient: LadokMellanlagerApiClient) => Promise<(import("@kth/ladok-mellanlager-client").UtbildningsinstansSlim | undefined)[]>;
13
+ export declare const fetchAndCategorizeStructureParts: (utbildningstillfalleUID: string, language: Language, ladokClient: LadokMellanlagerApiClient) => Promise<{
14
+ courseListFromStructure: {
15
+ Valvillkor: string;
16
+ kod: string;
17
+ benamning: string;
18
+ utbildningstyp?: import("./languageUtil").TranslatedUtbildningstyp;
19
+ utbildningsinstansUid: string;
20
+ uid: string;
21
+ tillfalleskod: string;
22
+ status?: import("@kth/ladok-attributvarde-utils").LadokStatus;
23
+ omfattning: {
24
+ number: number;
25
+ formattedWithUnit: string;
26
+ };
27
+ startperiod?: import("./languageUtil").TranslatedGrunddata;
28
+ Tillfallesperioder: {
29
+ ForstaRegistreringsdatum: string;
30
+ ForstaUndervisningsdatum: string;
31
+ Lasperiodsfordelning?: {
32
+ Lasperiodskod: string;
33
+ Omfattningsvarde: number;
34
+ }[];
49
35
  Omfattningsvarde: number;
36
+ SistaRegistreringsdatum: string;
37
+ SistaUndervisningsdatum: string;
50
38
  }[];
51
- Omfattningsvarde: number;
52
- SistaRegistreringsdatum: string;
53
- SistaUndervisningsdatum: string;
54
39
  }[];
55
- }[]>;
56
- export declare const fetchProgramStructure: (utbildningstillfalleUID: string, language: Language, ladokClient: LadokMellanlagerApiClient) => Promise<{
40
+ specializationListFromStructure: StructurePartInstance[];
41
+ }>;
42
+ export declare const fetchProgramStructure: (utbildningstillfalleUID: string, language: Language, ladokClient: LadokMellanlagerApiClient) => Promise<({
43
+ studyYears: {
44
+ yearNumber: number;
45
+ courses: {
46
+ kod: string;
47
+ benamning: string;
48
+ Valvillkor: string;
49
+ omfattning: {
50
+ number: number;
51
+ formattedWithUnit: string;
52
+ };
53
+ startperiod?: {
54
+ code: string;
55
+ } | undefined;
56
+ Tillfallesperioder: {
57
+ SistaUndervisningsdatum: string;
58
+ }[];
59
+ uid: string;
60
+ utbildningsinstansUid: string;
61
+ }[];
62
+ }[];
63
+ programmeSpecialization: {
64
+ programmeSpecializationCode: string;
65
+ title: string;
66
+ };
67
+ } | {
57
68
  studyYears: {
58
69
  yearNumber: number;
59
70
  courses: {
@@ -74,4 +85,4 @@ export declare const fetchProgramStructure: (utbildningstillfalleUID: string, la
74
85
  utbildningsinstansUid: string;
75
86
  }[];
76
87
  }[];
77
- }[]>;
88
+ })[]>;