@kth/om-kursen-ladok-client 2.3.2 → 2.4.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 (88) hide show
  1. package/dist/attributVardenConstants.d.ts +5 -5
  2. package/dist/attributVardenConstants.js +8 -8
  3. package/dist/attributVardenConstants.js.map +1 -1
  4. package/dist/createApiClient.js +41 -41
  5. package/dist/createApiClient.js.map +1 -1
  6. package/dist/kth/KTHPeriod/calculateKTHPeriodSemesterFromTillfallesperiod.d.ts +1 -1
  7. package/dist/kth/KTHPeriod/extractKTHPeriodSemesterFromLasperiodsfordelning.d.ts +1 -1
  8. package/dist/kth/KTHPeriod/getKTHPeriodSemesters.d.ts +1 -1
  9. package/dist/{mapCourseRound.d.ts → mapCourseInstance.d.ts} +2 -2
  10. package/dist/{mapCourseRound.js → mapCourseInstance.js} +4 -4
  11. package/dist/mapCourseInstance.js.map +1 -0
  12. package/dist/{mapCourse.d.ts → mapCourseVersion.d.ts} +2 -2
  13. package/dist/{mapCourse.js → mapCourseVersion.js} +4 -4
  14. package/dist/mapCourseVersion.js.map +1 -0
  15. package/dist/{mapProgramTillfalle.d.ts → mapProgrammeInstance.d.ts} +2 -2
  16. package/dist/{mapProgramTillfalle.js → mapProgrammeInstance.js} +4 -4
  17. package/dist/mapProgrammeInstance.js.map +1 -0
  18. package/dist/{mapProgramTerm.d.ts → mapProgrammeSemester.d.ts} +2 -3
  19. package/dist/{mapProgramTerm.js → mapProgrammeSemester.js} +4 -4
  20. package/dist/mapProgrammeSemester.js.map +1 -0
  21. package/dist/{mapProgramSyllabus.d.ts → mapProgrammeSyllabus.d.ts} +3 -3
  22. package/dist/{mapProgramSyllabus.js → mapProgrammeSyllabus.js} +9 -9
  23. package/dist/mapProgrammeSyllabus.js.map +1 -0
  24. package/dist/mapSearchResult.d.ts +1 -1
  25. package/dist/mapSearchResult.js +21 -21
  26. package/dist/mapSearchResult.js.map +1 -1
  27. package/dist/programme/createProgrammeApi.js +5 -5
  28. package/dist/programme/createProgrammeApi.js.map +1 -1
  29. package/dist/programme/types.d.ts +5 -5
  30. package/dist/programme/utbildningsTypIdConstants.d.ts +1 -1
  31. package/dist/programme/utbildningsTypIdConstants.js +1 -1
  32. package/dist/programme/utils/programmeVersionUtil.d.ts +3 -3
  33. package/dist/programme/utils/programmeVersionUtil.js +6 -6
  34. package/dist/programme/utils/programmeVersionUtil.js.map +1 -1
  35. package/dist/search/createSearchApi.js +4 -4
  36. package/dist/search/createSearchApi.js.map +1 -1
  37. package/dist/search/searchService.js +6 -6
  38. package/dist/search/searchService.js.map +1 -1
  39. package/dist/search/types.d.ts +2 -2
  40. package/dist/search/utils/educationalTypeUtils.d.ts +1 -1
  41. package/dist/search/utils/educationalTypeUtils.js +3 -3
  42. package/dist/search/utils/educationalTypeUtils.js.map +1 -1
  43. package/dist/search/utils/getLatestCompletedCourseVersions.d.ts +2 -2
  44. package/dist/search/utils/mapCourseInstanceSearchDTO.d.ts +3 -0
  45. package/dist/search/utils/mapCourseInstanceSearchDTO.js +42 -0
  46. package/dist/search/utils/mapCourseInstanceSearchDTO.js.map +1 -0
  47. package/dist/search/utils/mapCourseVersionDTO.d.ts +2 -2
  48. package/dist/search/utils/mapCourseVersionDTO.js.map +1 -1
  49. package/dist/search/utils/searchUtils.d.ts +3 -3
  50. package/dist/search/utils/searchUtils.js +7 -7
  51. package/dist/search/utils/searchUtils.js.map +1 -1
  52. package/dist/supportApis/supportService.js +1 -1
  53. package/dist/supportApis/supportService.js.map +1 -1
  54. package/dist/types/OmKursenLadokApiClient.d.ts +16 -16
  55. package/dist/utils/filterCourseInstanceUtils.d.ts +7 -0
  56. package/dist/utils/filterCourseInstanceUtils.js +20 -0
  57. package/dist/utils/filterCourseInstanceUtils.js.map +1 -0
  58. package/dist/utils/index.d.ts +1 -1
  59. package/dist/utils/index.js +1 -1
  60. package/dist/utils/index.js.map +1 -1
  61. package/dist/utils/periodUtil.d.ts +1 -1
  62. package/dist/utils/periodUtil.js +12 -12
  63. package/dist/utils/periodUtil.js.map +1 -1
  64. package/dist/utils/{programStrukturUtil.d.ts → programmeStructureUtil.d.ts} +7 -7
  65. package/dist/utils/{programStrukturUtil.js → programmeStructureUtil.js} +40 -40
  66. package/dist/utils/programmeStructureUtil.js.map +1 -0
  67. package/dist/utils/programmeUtil.d.ts +39 -0
  68. package/dist/utils/{programUtil.js → programmeUtil.js} +128 -128
  69. package/dist/utils/programmeUtil.js.map +1 -0
  70. package/dist/utils/studyYearUtil.d.ts +3 -3
  71. package/dist/utils/studyYearUtil.js.map +1 -1
  72. package/dist/utils/syllabusExtractionUtil.js +2 -2
  73. package/dist/utils/syllabusExtractionUtil.js.map +1 -1
  74. package/package.json +2 -2
  75. package/dist/mapCourse.js.map +0 -1
  76. package/dist/mapCourseRound.js.map +0 -1
  77. package/dist/mapProgramSyllabus.js.map +0 -1
  78. package/dist/mapProgramTerm.js.map +0 -1
  79. package/dist/mapProgramTillfalle.js.map +0 -1
  80. package/dist/search/utils/mapCourseRoundSearchDTO.d.ts +0 -3
  81. package/dist/search/utils/mapCourseRoundSearchDTO.js +0 -42
  82. package/dist/search/utils/mapCourseRoundSearchDTO.js.map +0 -1
  83. package/dist/utils/filterCourseRoundUtils.d.ts +0 -7
  84. package/dist/utils/filterCourseRoundUtils.js +0 -20
  85. package/dist/utils/filterCourseRoundUtils.js.map +0 -1
  86. package/dist/utils/programStrukturUtil.js.map +0 -1
  87. package/dist/utils/programUtil.d.ts +0 -39
  88. package/dist/utils/programUtil.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"supportService.js","sourceRoot":"","sources":["../../src/supportApis/supportService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"supportService.js","sourceRoot":"","sources":["../../src/supportApis/supportService.ts"],"names":[],"mappings":"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"}
@@ -1,38 +1,38 @@
1
1
  import { MellanlagringResponse, ResponseInfo } from '@kth/ladok-mellanlager-client';
2
- import { Course } from '../mapCourse';
3
- import { CourseRound } from '../mapCourseRound';
2
+ import { CourseVersion } from '../mapCourseVersion';
3
+ import { CourseInstance } from '../mapCourseInstance';
4
4
  import { Language } from '../utils';
5
5
  import { Utbildningsplan } from '../mapUtbildningsplan';
6
6
  import { KursPlan } from '../mapCourseSyllabus';
7
7
  import { Period } from '@kth/ladok-mellanlager-client/dist/types/endpoints/period';
8
8
  import { ProgrammeVersion } from '../mapProgrammeVersion';
9
- import { ProgramTillfalle } from '../mapProgramTillfalle';
9
+ import { ProgrammeInstance } from '../mapProgrammeInstance';
10
10
  import { SearchApi } from '../search/types';
11
- import { ProgramCurriculum } from '../utils/programUtil';
12
- import { ProgramSyllabus } from '../mapProgramSyllabus';
11
+ import { ProgrammeCurriculum } from '../utils/programmeUtil';
12
+ import { ProgrammeSyllabus } from '../mapProgrammeSyllabus';
13
13
  import { SupportApi } from '../supportApis/createSupportApis';
14
14
  import { ProgrammeApi } from '../programme/types';
15
15
  export type OmKursenLadokApiClient = {
16
- getLatestCourseVersion: (courseCode: string, language: Language) => Promise<(Course & ResponseInfo) | ResponseInfo>;
17
- getLatestCourseVersionIncludingCancelled: (courseCode: string, language: Language) => Promise<(Course & ResponseInfo) | ResponseInfo>;
16
+ getLatestCourseVersion: (courseCode: string, language: Language) => Promise<(CourseVersion & ResponseInfo) | ResponseInfo>;
17
+ getLatestCourseVersionIncludingCancelled: (courseCode: string, language: Language) => Promise<(CourseVersion & ResponseInfo) | ResponseInfo>;
18
18
  Search: SearchApi;
19
19
  Programme: ProgrammeApi;
20
- getActiveCourseRounds: (courseCode: string, language: Language) => Promise<CourseRound[] | undefined>;
21
- getActiveAndFutureCourseRounds: (courseCode: string, language: Language) => Promise<CourseRound[] | undefined>;
22
- getCourseRoundsFromPeriod: (courseCode: string, fromPeriod: string, language: Language) => Promise<CourseRound[] | undefined>;
23
- getCourseRoundsForExactStartPeriod: (courseCode: string, startPeriod: string, language: Language) => Promise<CourseRound[] | undefined>;
20
+ getActiveCourseInstances: (courseCode: string, language: Language) => Promise<CourseInstance[] | undefined>;
21
+ getActiveAndFutureCourseInstances: (courseCode: string, language: Language) => Promise<CourseInstance[] | undefined>;
22
+ getCourseInstancesFromPeriod: (courseCode: string, fromPeriod: string, language: Language) => Promise<CourseInstance[] | undefined>;
23
+ getCourseInstancesForExactStartPeriod: (courseCode: string, startPeriod: string, language: Language) => Promise<CourseInstance[] | undefined>;
24
24
  getUtbildningsPlan: (uid: string, language: Language) => Promise<Utbildningsplan | undefined>;
25
25
  getExaminationModulesByUtbildningstillfalleUid: (utbildningstillfalleUid: string, language: Language) => Promise<any>;
26
26
  getExaminationModulesByUtbildningsinstansUid: (utbildningsinstansUid: string, language: Language) => Promise<any>;
27
- getActiveProgramInstance: (programCode: string, semester: string, language: Language) => Promise<ProgramTillfalle | undefined>;
28
- getProgramCurriculum: (programCode: string, semester: string, language: Language) => Promise<ProgramCurriculum[]>;
29
- getProgramVersion: (programCode: string, semester: string, language: Language) => Promise<{
30
- programInstans: ProgrammeVersion | undefined;
27
+ getActiveProgrammeInstance: (programmeCode: string, semester: string, language: Language) => Promise<ProgrammeInstance | undefined>;
28
+ getProgrammeCurriculums: (programmeCode: string, semester: string, language: Language) => Promise<ProgrammeCurriculum[]>;
29
+ getProgrammeVersion: (programmeCode: string, semester: string, language: Language) => Promise<{
30
+ programmeVersion: ProgrammeVersion | undefined;
31
31
  statusCode: number;
32
32
  }>;
33
33
  getUtbildningstilfalleStructure: (utbildningstillfalleUID: string, language: Language) => Promise<any>;
34
34
  getCourseSyllabus: (courseCode: string, semester: string, language: Language) => Promise<KursPlan> | undefined;
35
- getProgramSyllabus: (courseCode: string, semester: string, language: Language) => Promise<ProgramSyllabus>;
35
+ getProgrammeSyllabus: (courseCode: string, semester: string, language: Language) => Promise<ProgrammeSyllabus>;
36
36
  getCourseSyllabuses: (courseCode: string, language: Language) => Promise<KursPlan[]> | undefined;
37
37
  getAllValidCourseSyllabuses: (courseCode: string, language: Language) => Promise<KursPlan[]> | undefined;
38
38
  getAllGradingScales: () => Promise<any>;
@@ -0,0 +1,7 @@
1
+ import { CourseInstance } from '../mapCourseInstance';
2
+ export declare const removeCourseInstancesBasedOnTillfalleskod: (courseInstance: Pick<CourseInstance, "tillfalleskod">) => boolean;
3
+ export declare const removeCourseInstancesBasedOnFinansieringsform: (courseInstance: {
4
+ finansieringsform?: {
5
+ code: string;
6
+ };
7
+ }) => boolean;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.removeCourseInstancesBasedOnFinansieringsform = exports.removeCourseInstancesBasedOnTillfalleskod = void 0;
4
+ // kurstillfällen starting with these prefixes should never be shown https://kth-se.atlassian.net/browse/KUI-1761
5
+ const TILLFALLESKOD_PREFIXES_TO_REMOVE = ['OM', 'UPP'];
6
+ // kurstillfällen with these finansieringsform codes should never be shown https://kth-se.atlassian.net/browse/KUI-1761
7
+ const FINANSIERINGSFORM_CODES_TO_REMOVE = ['FOA', 'XER'];
8
+ const removeCourseInstancesBasedOnTillfalleskod = (courseInstance) => {
9
+ return !TILLFALLESKOD_PREFIXES_TO_REMOVE.some(prefix => { var _a; return (_a = courseInstance.tillfalleskod) === null || _a === void 0 ? void 0 : _a.startsWith(prefix); });
10
+ };
11
+ exports.removeCourseInstancesBasedOnTillfalleskod = removeCourseInstancesBasedOnTillfalleskod;
12
+ const removeCourseInstancesBasedOnFinansieringsform = (courseInstance) => {
13
+ var _a;
14
+ if (!courseInstance.finansieringsform) {
15
+ return true;
16
+ }
17
+ return !FINANSIERINGSFORM_CODES_TO_REMOVE.includes((_a = courseInstance.finansieringsform) === null || _a === void 0 ? void 0 : _a.code);
18
+ };
19
+ exports.removeCourseInstancesBasedOnFinansieringsform = removeCourseInstancesBasedOnFinansieringsform;
20
+ //# sourceMappingURL=filterCourseInstanceUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filterCourseInstanceUtils.js","sourceRoot":"","sources":["../../src/utils/filterCourseInstanceUtils.ts"],"names":[],"mappings":";;;AAEA,iHAAiH;AACjH,MAAM,gCAAgC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AAEtD,uHAAuH;AACvH,MAAM,iCAAiC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAEjD,MAAM,yCAAyC,GAAG,CACvD,cAAqD,EAC5C,EAAE;IACX,OAAO,CAAC,gCAAgC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,WAAC,OAAA,MAAA,cAAc,CAAC,aAAa,0CAAE,UAAU,CAAC,MAAM,CAAC,CAAA,EAAA,CAAC,CAAA;AAC3G,CAAC,CAAA;AAJY,QAAA,yCAAyC,6CAIrD;AAEM,MAAM,6CAA6C,GAAG,CAAC,cAE7D,EAAW,EAAE;;IACZ,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC;QACtC,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,CAAC,iCAAiC,CAAC,QAAQ,CAAC,MAAA,cAAc,CAAC,iBAAiB,0CAAE,IAAI,CAAC,CAAA;AAC5F,CAAC,CAAA;AAPY,QAAA,6CAA6C,iDAOzD"}
@@ -2,6 +2,6 @@ export * from './dateUtil';
2
2
  export * from './languageUtil';
3
3
  export * from './periodUtil';
4
4
  export * from './studyYearUtil';
5
- export * from './filterCourseRoundUtils';
5
+ export * from './filterCourseInstanceUtils';
6
6
  export * from './versionUtils';
7
7
  export * from './AcademicSemester';
@@ -18,7 +18,7 @@ __exportStar(require("./dateUtil"), exports);
18
18
  __exportStar(require("./languageUtil"), exports);
19
19
  __exportStar(require("./periodUtil"), exports);
20
20
  __exportStar(require("./studyYearUtil"), exports);
21
- __exportStar(require("./filterCourseRoundUtils"), exports);
21
+ __exportStar(require("./filterCourseInstanceUtils"), exports);
22
22
  __exportStar(require("./versionUtils"), exports);
23
23
  __exportStar(require("./AcademicSemester"), exports);
24
24
  //# 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;AAC5B,kDAA+B;AAC/B,2DAAwC;AACxC,iDAA8B;AAC9B,qDAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,iDAA8B;AAC9B,+CAA4B;AAC5B,kDAA+B;AAC/B,8DAA2C;AAC3C,iDAA8B;AAC9B,qDAAkC"}
@@ -13,7 +13,7 @@ export declare const parsePeriod: (period: string) => {
13
13
  export declare const transformPeriodInDigits: (period: string) => string | null;
14
14
  export declare const transformDigitsInPeriod: (period: string) => string;
15
15
  export declare const findPeriodByKod: (kod: string, periods: PeriodItem[]) => PeriodItem | undefined;
16
- export declare const findValidProgramForCode: (code: string, periods: PeriodItem[], programs: ProgrammeVersion[]) => ProgrammeVersion | undefined;
16
+ export declare const findValidProgrammeVersionForCode: (code: string, periods: PeriodItem[], programmeVersions: ProgrammeVersion[]) => ProgrammeVersion | undefined;
17
17
  export declare const getPeriodCodeForDate: (date: Date) => string;
18
18
  export declare const getKthStudyPeriod: (date: Date, startPeriod: {
19
19
  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.findValidProgramForCode = exports.findPeriodByKod = exports.transformDigitsInPeriod = exports.transformPeriodInDigits = exports.parsePeriod = exports.isValidLadokPeriod = void 0;
3
+ exports.getKthStudyPeriod = exports.getPeriodCodeForDate = exports.findValidProgrammeVersionForCode = exports.findPeriodByKod = exports.transformDigitsInPeriod = exports.transformPeriodInDigits = exports.parsePeriod = exports.isValidLadokPeriod = void 0;
4
4
  const versionUtils_1 = require("./versionUtils");
5
5
  const validLadokPeriod = /(VT|HT)(\d{4})/;
6
6
  /**
@@ -44,25 +44,25 @@ const findPeriodByKod = (kod, periods) => {
44
44
  return periods.find(p => p.Kod === kod);
45
45
  };
46
46
  exports.findPeriodByKod = findPeriodByKod;
47
- const isProgramValidForPeriod = (program, periodStart) => {
48
- const { giltigFrom } = program;
47
+ const isProgrammeVersionValidForPeriod = (programmeVersion, periodStart) => {
48
+ const { giltigFrom } = programmeVersion;
49
49
  if (!(giltigFrom === null || giltigFrom === void 0 ? void 0 : giltigFrom.startDay) || !(giltigFrom === null || giltigFrom === void 0 ? void 0 : giltigFrom.lastDay))
50
50
  return false;
51
- const programStart = new Date(giltigFrom.startDay);
52
- return periodStart >= programStart;
51
+ const programmeStart = new Date(giltigFrom.startDay);
52
+ return periodStart >= programmeStart;
53
53
  };
54
- const findValidProgramForCode = (code, periods, programs) => {
54
+ const findValidProgrammeVersionForCode = (code, periods, programmeVersions) => {
55
55
  const matchedPeriod = findPeriodByCode(code, periods);
56
56
  if (!matchedPeriod)
57
57
  return undefined;
58
58
  const periodStart = new Date(matchedPeriod.Giltighetsperiod.Startdatum);
59
- const sortedPrograms = (0, versionUtils_1.sortByVersionsnummerDesc)(programs);
60
- const validPrograms = sortedPrograms.filter((program, index, arr) => isProgramValidForPeriod(program, periodStart));
61
- if (validPrograms.length > 0)
62
- return validPrograms[0];
63
- return sortedPrograms.length > 0 ? sortedPrograms[0] : undefined;
59
+ const sortedProgrammeVersions = (0, versionUtils_1.sortByVersionsnummerDesc)(programmeVersions);
60
+ const validProgrammes = sortedProgrammeVersions.filter((programmeVersion, index, arr) => isProgrammeVersionValidForPeriod(programmeVersion, periodStart));
61
+ if (validProgrammes.length > 0)
62
+ return validProgrammes[0];
63
+ return sortedProgrammeVersions.length > 0 ? sortedProgrammeVersions[0] : undefined;
64
64
  };
65
- exports.findValidProgramForCode = findValidProgramForCode;
65
+ exports.findValidProgrammeVersionForCode = findValidProgrammeVersionForCode;
66
66
  const getPeriodCodeForDate = (date) => {
67
67
  const JULY = 6;
68
68
  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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"}
@@ -3,19 +3,19 @@ import { Language } from './languageUtil';
3
3
  import { StructurePartInstance } from '../mapStructureCourses';
4
4
  import { StructurePartVersion } from '../mapStructurePartVersions';
5
5
  import { StudyYear } from './studyYearUtil';
6
- export type ProgramCourse = StructurePartVersion & Partial<Omit<StructurePartInstance, 'Tillfallesperioder'>> & {
6
+ export type ProgrammeCourse = StructurePartVersion & Partial<Omit<StructurePartInstance, 'Tillfallesperioder'>> & {
7
7
  Valvillkor: CategorizedStrukturdel['Valvillkor'];
8
8
  Tillfallesperioder: Partial<StructurePartInstance['Tillfallesperioder'][number]> & {
9
9
  ForstaUndervisningsdatum: string;
10
10
  SistaUndervisningsdatum: string;
11
11
  }[];
12
12
  };
13
- export type ProgramCurriculumFromStructure = {
13
+ export type ProgrammeCurriculumFromStructure = {
14
14
  studyYears: StudyYear[];
15
15
  } | {
16
16
  studyYears: StudyYear[];
17
- programmeSpecialization: {
18
- programmeSpecializationCode: string;
17
+ programmeSpecialisation: {
18
+ programmeSpecialisationCode: string;
19
19
  title: string;
20
20
  };
21
21
  };
@@ -31,9 +31,9 @@ type CategorizedStrukturdel = Strukturdel & {
31
31
  Valvillkor: string;
32
32
  };
33
33
  export declare const fetchAndCategorizeStructureParts: (utbildningstillfalleUID: string, language: Language, ladokClient: LadokMellanlagerApiClient) => Promise<{
34
- structureCourses: ProgramCourse[];
35
- structureSpecializations: StructurePartInstance[];
34
+ structureCourses: ProgrammeCourse[];
35
+ structureSpecialisations: StructurePartInstance[];
36
36
  freeTexts: Fritext[];
37
37
  }>;
38
- export declare const fetchProgramStructure: (utbildningstillfalleUID: string, language: Language, ladokClient: LadokMellanlagerApiClient) => Promise<ProgramCurriculumFromStructure[]>;
38
+ export declare const fetchProgrammeStructure: (utbildningstillfalleUID: string, language: Language, ladokClient: LadokMellanlagerApiClient) => Promise<ProgrammeCurriculumFromStructure[]>;
39
39
  export {};
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.fetchProgramStructure = exports.fetchAndCategorizeStructureParts = exports.fetchStructurePartVersion = exports.fetchStructurePartInstance = exports.fetchStructureByInstansUid = exports.fetchStructureByTillfalleUid = exports.handleError = void 0;
12
+ exports.fetchProgrammeStructure = exports.fetchAndCategorizeStructureParts = exports.fetchStructurePartVersion = exports.fetchStructurePartInstance = exports.fetchStructureByInstansUid = exports.fetchStructureByTillfalleUid = exports.handleError = void 0;
13
13
  const mapStructureCourses_1 = require("../mapStructureCourses");
14
14
  const mapStructurePartVersions_1 = require("../mapStructurePartVersions");
15
15
  const ladok_attributvarde_utils_1 = require("@kth/ladok-attributvarde-utils");
@@ -136,7 +136,7 @@ function fetchStructurePartsByType(categorizedStrukturDelar, language, ladokClie
136
136
  return [...fetchedInstances, ...fetchedVersions].filter(typeChecking_1.isDefined);
137
137
  });
138
138
  }
139
- function isSpecializationInstance(instance) {
139
+ function isSpecialisationInstance(instance) {
140
140
  if (instance.type === 'instance') {
141
141
  const utbildningstyp = instance.data.utbildningstyp;
142
142
  return (utbildningstyp === null || utbildningstyp === void 0 ? void 0 : utbildningstyp.id) === ladok_attributvarde_utils_1.EducationalTypeID.Specialisation;
@@ -152,14 +152,14 @@ function isInvalidData(instance) {
152
152
  else
153
153
  return false;
154
154
  }
155
- function separateSpecializations(structureParts) {
155
+ function separateSpecialisations(structureParts) {
156
156
  const filteredMappedStructurePartsDividedByType = [];
157
- const specializationListFromStructure = [];
157
+ const specialisationListFromStructure = [];
158
158
  structureParts.forEach(structurePart => {
159
- // base condition for finding specializations is that the need to be instance type
160
- if (isSpecializationInstance(structurePart)) {
161
- if (!specializationListFromStructure.some(addedSpec => addedSpec.uid === structurePart.data.uid)) {
162
- specializationListFromStructure.push(structurePart.data);
159
+ // base condition for finding specialisations is that the need to be instance type
160
+ if (isSpecialisationInstance(structurePart)) {
161
+ if (!specialisationListFromStructure.some(addedSpec => addedSpec.uid === structurePart.data.uid)) {
162
+ specialisationListFromStructure.push(structurePart.data);
163
163
  }
164
164
  }
165
165
  else {
@@ -167,7 +167,7 @@ function separateSpecializations(structureParts) {
167
167
  filteredMappedStructurePartsDividedByType.push(structurePart);
168
168
  }
169
169
  });
170
- return { filteredMappedStructurePartsDividedByType, specializationListFromStructure };
170
+ return { filteredMappedStructurePartsDividedByType, specialisationListFromStructure };
171
171
  }
172
172
  function mergeStructurePartInstancesAndVersions(filteredMappedStructurePartsDividedByType, ladokClient, language) {
173
173
  return __awaiter(this, void 0, void 0, function* () {
@@ -211,72 +211,72 @@ const fetchAndCategorizeStructureParts = (utbildningstillfalleUID, language, lad
211
211
  const { Strukturdelar = [], Fritexter: freeTexts = [] } = structureData || {};
212
212
  const categorizedStrukturParts = categorizeStructureParts(Strukturdelar);
213
213
  const structurePartsDevidedByType = yield fetchStructurePartsByType(categorizedStrukturParts, language, ladokClient);
214
- const { filteredMappedStructurePartsDividedByType, specializationListFromStructure } = separateSpecializations(structurePartsDevidedByType);
214
+ const { filteredMappedStructurePartsDividedByType, specialisationListFromStructure } = separateSpecialisations(structurePartsDevidedByType);
215
215
  const filteredMappedStructurePartInstancesAndVersions = yield mergeStructurePartInstancesAndVersions(filteredMappedStructurePartsDividedByType, ladokClient, language);
216
216
  return {
217
217
  structureCourses: filteredMappedStructurePartInstancesAndVersions,
218
- structureSpecializations: specializationListFromStructure,
218
+ structureSpecialisations: specialisationListFromStructure,
219
219
  freeTexts,
220
220
  };
221
221
  });
222
222
  exports.fetchAndCategorizeStructureParts = fetchAndCategorizeStructureParts;
223
- const getMainProgramInstanceData = (uid, language, ladokClient) => __awaiter(void 0, void 0, void 0, function* () {
224
- const programDetails = yield ladokClient.utbildningstillfalleSlim(uid, {
223
+ const getMainProgrammeInstanceData = (uid, language, ladokClient) => __awaiter(void 0, void 0, void 0, function* () {
224
+ const programmeDetails = yield ladokClient.utbildningstillfalleSlim(uid, {
225
225
  attributVarden: 'utbildningsinstans.uid,utbildning.attribut.startperiod',
226
226
  });
227
- if (programDetails.type === 'error') {
228
- throw new Error(`API error: ${programDetails.responseInfo.message}`);
227
+ if (programmeDetails.type === 'error') {
228
+ throw new Error(`API error: ${programmeDetails.responseInfo.message}`);
229
229
  }
230
- const omfattning = programDetails.data.Tillfallesperioder.reduce((sum, period) => sum + period.Omfattningsvarde, 0);
231
- const startperiod = (0, ladok_attributvarde_utils_1.extractGrunddata)(programDetails.data.Attributvarden, 'utbildning.attribut.startperiod');
232
- const lengthInStudyYears = Math.ceil(Number(omfattning) / 60);
233
- const { structureCourses, structureSpecializations, freeTexts } = yield (0, exports.fetchAndCategorizeStructureParts)(uid, language, ladokClient);
230
+ const scope = programmeDetails.data.Tillfallesperioder.reduce((sum, period) => sum + period.Omfattningsvarde, 0);
231
+ const startPeriod = (0, ladok_attributvarde_utils_1.extractGrunddata)(programmeDetails.data.Attributvarden, 'utbildning.attribut.startperiod');
232
+ const lengthInStudyYears = Math.ceil(Number(scope) / 60);
233
+ const { structureCourses, structureSpecialisations: structureSpecialisations, freeTexts, } = yield (0, exports.fetchAndCategorizeStructureParts)(uid, language, ladokClient);
234
234
  return {
235
- startperiod,
235
+ startPeriod,
236
236
  lengthInStudyYears,
237
237
  structureCourses,
238
- structureSpecializations,
238
+ structureSpecialisations,
239
239
  freeTexts,
240
240
  };
241
241
  });
242
- const mapSpecializationCurriculums = (specializations, startperiodCode, lengthInStudyYears, language, ladokClient, allPeriods) => __awaiter(void 0, void 0, void 0, function* () {
243
- const tillfalleUids = specializations.map(s => s.uid);
244
- const versionUids = specializations.map(s => s.utbildningsinstansUid);
245
- const specializationTasks = versionUids.map(uid => () => __awaiter(void 0, void 0, void 0, function* () {
242
+ const mapSpecialisationCurriculums = (specialisations, startperiodCode, lengthInStudyYears, language, ladokClient, allPeriods) => __awaiter(void 0, void 0, void 0, function* () {
243
+ const tillfalleUids = specialisations.map(s => s.uid);
244
+ const versionUids = specialisations.map(s => s.utbildningsinstansUid);
245
+ const specialisationTasks = versionUids.map(uid => () => __awaiter(void 0, void 0, void 0, function* () {
246
246
  const version = yield (0, exports.fetchStructurePartVersion)(uid, ladokClient);
247
247
  return version;
248
248
  }));
249
- const specializationsData = yield (0, concurrentTasks_1.executeTasksInConcurrentBatches)(specializationTasks);
250
- const mappedSpecializations = specializationsData
249
+ const specialisationsData = yield (0, concurrentTasks_1.executeTasksInConcurrentBatches)(specialisationTasks);
250
+ const mappedSpecialisations = specialisationsData
251
251
  .filter(typeChecking_1.isDefined)
252
252
  .map(entity => (0, mapStructurePartVersions_1.mapStructurePartVersions)(entity, language));
253
- const specializationsCourseListFromStructure = [];
253
+ const specialisationsCourseListFromStructure = [];
254
254
  for (const uid of tillfalleUids) {
255
255
  const { structureCourses, freeTexts } = yield (0, exports.fetchAndCategorizeStructureParts)(uid, language, ladokClient);
256
- specializationsCourseListFromStructure.push({ structureCourses, freeTexts });
256
+ specialisationsCourseListFromStructure.push({ structureCourses, freeTexts });
257
257
  }
258
- return mappedSpecializations.map((spec, index) => ({
259
- studyYears: (0, studyYearUtil_1.generateStudyYearData)(specializationsCourseListFromStructure[index].structureCourses, specializationsCourseListFromStructure[index].freeTexts, allPeriods, startperiodCode, lengthInStudyYears),
260
- programmeSpecialization: {
261
- programmeSpecializationCode: spec.kod,
258
+ return mappedSpecialisations.map((spec, index) => ({
259
+ studyYears: (0, studyYearUtil_1.generateStudyYearData)(specialisationsCourseListFromStructure[index].structureCourses, specialisationsCourseListFromStructure[index].freeTexts, allPeriods, startperiodCode, lengthInStudyYears),
260
+ programmeSpecialisation: {
261
+ programmeSpecialisationCode: spec.kod,
262
262
  title: spec.benamning,
263
263
  },
264
264
  }));
265
265
  });
266
- const fetchProgramStructure = (utbildningstillfalleUID, language, ladokClient) => __awaiter(void 0, void 0, void 0, function* () {
266
+ const fetchProgrammeStructure = (utbildningstillfalleUID, language, ladokClient) => __awaiter(void 0, void 0, void 0, function* () {
267
267
  try {
268
- const { startperiod, lengthInStudyYears, structureCourses, structureSpecializations, freeTexts } = yield getMainProgramInstanceData(utbildningstillfalleUID, language, ladokClient);
268
+ const { startPeriod, lengthInStudyYears, structureCourses, structureSpecialisations, freeTexts } = yield getMainProgrammeInstanceData(utbildningstillfalleUID, language, ladokClient);
269
269
  const periodData = yield ladokClient.period(); // TODO: Use cached values
270
270
  if (periodData.type === 'error') {
271
271
  throw new Error(`API error: ${periodData.responseInfo.message}`);
272
272
  }
273
- const mainStudyYears = (0, studyYearUtil_1.generateStudyYearData)(structureCourses, freeTexts, periodData.data.Period, startperiod === null || startperiod === void 0 ? void 0 : startperiod.code, lengthInStudyYears);
274
- const specializationCurriculums = yield mapSpecializationCurriculums(structureSpecializations, startperiod === null || startperiod === void 0 ? void 0 : startperiod.code, lengthInStudyYears, language, ladokClient, periodData.data.Period);
275
- return [{ studyYears: mainStudyYears }, ...specializationCurriculums];
273
+ const mainStudyYears = (0, studyYearUtil_1.generateStudyYearData)(structureCourses, freeTexts, periodData.data.Period, startPeriod === null || startPeriod === void 0 ? void 0 : startPeriod.code, lengthInStudyYears);
274
+ const specialisationCurriculums = yield mapSpecialisationCurriculums(structureSpecialisations, startPeriod === null || startPeriod === void 0 ? void 0 : startPeriod.code, lengthInStudyYears, language, ladokClient, periodData.data.Period);
275
+ return [{ studyYears: mainStudyYears }, ...specialisationCurriculums];
276
276
  }
277
277
  catch (error) {
278
278
  throw (0, exports.handleError)('Unexpected error during processing', error);
279
279
  }
280
280
  });
281
- exports.fetchProgramStructure = fetchProgramStructure;
282
- //# sourceMappingURL=programStrukturUtil.js.map
281
+ exports.fetchProgrammeStructure = fetchProgrammeStructure;
282
+ //# sourceMappingURL=programmeStructureUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"programmeStructureUtil.js","sourceRoot":"","sources":["../../src/utils/programmeStructureUtil.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { LadokMellanlagerApiClient, PeriodItem, SokUtbildningsInstansItem, SokUtbildningsInstansSlimItem, SokUtbildningsTillfalleItem, SokUtbildningsTillfalleSlimItem } from '@kth/ladok-mellanlager-client';
2
+ import { Language } from './languageUtil';
3
+ import { ProgrammeVersion } from '../mapProgrammeVersion';
4
+ import { Lokalmarkning } from '@kth/ladok-attributvarde-utils';
5
+ import { ProgrammeCourse } from './programmeStructureUtil';
6
+ import { ProgrammeSyllabus } from '../mapProgrammeSyllabus';
7
+ import { CompleteProgrammeVersion } from '../programme/types';
8
+ export declare const filterAndMapProgrammeInstance: (items: Array<SokUtbildningsTillfalleItem | SokUtbildningsTillfalleSlimItem>, language: Language) => import("../mapProgrammeInstance").ProgrammeInstance[];
9
+ export declare const selectProgrammeVersion: (code: string | undefined, periods: PeriodItem[], programmeVersions: ProgrammeVersion[]) => ProgrammeVersion | undefined;
10
+ export declare const filterAndMapProgrammeVersion: (items: Array<SokUtbildningsInstansItem | SokUtbildningsInstansSlimItem>, periods: PeriodItem[], code: string, language: Language, ladokClient: LadokMellanlagerApiClient) => Promise<CompleteProgrammeVersion | undefined>;
11
+ export declare const hasCourseListMarking: (lokalmarkning: Lokalmarkning[] | undefined) => boolean;
12
+ export declare const getProgrammeVersionSemesters: (programmeVersion: ProgrammeVersion, oldestProgram: ProgrammeVersion, ladokClient: LadokMellanlagerApiClient) => Promise<string[]>;
13
+ export declare const findProgrammeVersion: (programmeCode: string, semester: string, language: Language, ladokClient: LadokMellanlagerApiClient) => Promise<CompleteProgrammeVersion | undefined>;
14
+ export declare const findProgrammeInstance: (programmeCode: string, semester: string, language: Language, ladokClient: LadokMellanlagerApiClient) => Promise<import("../mapProgrammeInstance").ProgrammeInstance | undefined>;
15
+ type ProgrammeCurriculumStudyYear = {
16
+ yearNumber: number;
17
+ supplementaryInfo?: string;
18
+ conditionallyElectiveCoursesInfo?: string;
19
+ courses: ProgrammeCourse[] | string;
20
+ };
21
+ export type ProgrammeCurriculum = {
22
+ studyYears: ProgrammeCurriculumStudyYear[];
23
+ programmeSpecialisation?: {
24
+ programmeSpecialisationCode: string;
25
+ title: string;
26
+ description?: string;
27
+ };
28
+ };
29
+ export declare const determineCurriculumFetchFlags: (studyYear: number, lengthInStudyYears: number) => {
30
+ shouldUseStructureData: boolean;
31
+ shouldUseSyllabusData: boolean;
32
+ };
33
+ export declare function getAllProgrammeSpecialisationCodes(curriculums: ProgrammeCurriculum[]): string[];
34
+ export declare const findProgrammeSyllabusForSemester: (programmeCode: string, semester: string, language: Language, ladokClient: LadokMellanlagerApiClient) => Promise<ProgrammeSyllabus>;
35
+ export declare function enrichCurriculumsInformationDataWithSyllabusData(curriculums: ProgrammeCurriculum[], syllabusData: ProgrammeSyllabus | undefined): ProgrammeCurriculum[];
36
+ export declare function enrichCurriculumsCourseListDataWithSyllabusData(curriculums: ProgrammeCurriculum[], programmeSyllabus: ProgrammeSyllabus | undefined, baseYear: number): ProgrammeCurriculum[];
37
+ export declare const generateCurriculumsFromSyllabusOnly: (programmeSyllabus: ProgrammeSyllabus, lengthInStudyYears: number) => ProgrammeCurriculum[];
38
+ export declare const createProgrammeCurriculumsData: (programmeCode: string, semester: string, language: Language, ladokClient: LadokMellanlagerApiClient) => Promise<ProgrammeCurriculum[]>;
39
+ export {};