@kth/om-kursen-ladok-client 1.1.1 → 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 +5 -3
@@ -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.fetchAndCategorizeStructure = exports.fetchCourseInstanses = exports.fetchCourseBoxes = exports.fetchStructureByInstansUid = exports.fetchStructureByTillfalleUid = exports.handleError = void 0;
12
+ exports.fetchProgramStructure = exports.fetchAndCategorizeStructureParts = exports.fetchStructurePartsVersions = exports.fetchStructurePartInstances = exports.fetchStructureByInstansUid = exports.fetchStructureByTillfalleUid = exports.handleError = void 0;
13
13
  const mapStructureCourses_1 = require("../mapStructureCourses");
14
14
  const mapCourseInstans_1 = require("../mapCourseInstans");
15
15
  const ladok_attributvarde_utils_1 = require("@kth/ladok-attributvarde-utils");
@@ -41,15 +41,17 @@ const fetchStructureByInstansUid = (uid, ladokClient) => __awaiter(void 0, void
41
41
  }
42
42
  });
43
43
  exports.fetchStructureByInstansUid = fetchStructureByInstansUid;
44
- const fetchCourseBoxes = (utbildningsbasUIDn, ladokClient) => __awaiter(void 0, void 0, void 0, function* () {
44
+ const fetchStructurePartInstances = (utbildningstillfalleUIDn, ladokClient) => __awaiter(void 0, void 0, void 0, function* () {
45
45
  try {
46
- const moduler = yield Promise.all(utbildningsbasUIDn.map((utbildningsbasUID) => __awaiter(void 0, void 0, void 0, function* () {
46
+ const moduler = yield Promise.all(utbildningstillfalleUIDn.map((utbildningstillfalleUID) => __awaiter(void 0, void 0, void 0, function* () {
47
47
  try {
48
- const utbildningsinstans = yield ladokClient.utbildningstillfalle(utbildningsbasUID);
48
+ const utbildningsinstans = yield ladokClient.utbildningstillfalleSlim(utbildningstillfalleUID, {
49
+ attributVarden: 'utbildningsinstans.uid,utbildning.attribut.utbildningstillfalleskod,utbildningstyp,utbildning.attribut.startperiod,status',
50
+ });
49
51
  return utbildningsinstans.data;
50
52
  }
51
53
  catch (error) {
52
- throw (0, exports.handleError)(`Error fetching module for utbildningsbasUID ${utbildningsbasUID}:`, error);
54
+ throw (0, exports.handleError)(`Error fetching module for utbildningsbasUID ${utbildningstillfalleUIDn}:`, error);
53
55
  }
54
56
  })));
55
57
  return moduler.filter(module => module !== null);
@@ -58,12 +60,14 @@ const fetchCourseBoxes = (utbildningsbasUIDn, ladokClient) => __awaiter(void 0,
58
60
  throw (0, exports.handleError)('Failed to fetch modules', error);
59
61
  }
60
62
  });
61
- exports.fetchCourseBoxes = fetchCourseBoxes;
62
- const fetchCourseInstanses = (utbildningsinstansUIDn, ladokClient) => __awaiter(void 0, void 0, void 0, function* () {
63
+ exports.fetchStructurePartInstances = fetchStructurePartInstances;
64
+ const fetchStructurePartsVersions = (utbildningsinstansUIDn, ladokClient) => __awaiter(void 0, void 0, void 0, function* () {
63
65
  try {
64
66
  const moduler = yield Promise.all(utbildningsinstansUIDn.map((utbildningsinstansUID) => __awaiter(void 0, void 0, void 0, function* () {
65
67
  try {
66
- const utbildningsinstans = yield ladokClient.utbildningsinstans(utbildningsinstansUID);
68
+ const utbildningsinstans = yield ladokClient.utbildningsinstansSlim(utbildningsinstansUID, {
69
+ attributVarden: 'utbildning.attribut.svensk.benamning,utbildning.attribut.engelsk.benamning,utbildning.attribut.kod,utbildningstyp',
70
+ });
67
71
  return utbildningsinstans.data;
68
72
  }
69
73
  catch (error) {
@@ -76,22 +80,14 @@ const fetchCourseInstanses = (utbildningsinstansUIDn, ladokClient) => __awaiter(
76
80
  throw (0, exports.handleError)('Failed to fetch utbildningsinstanses', error);
77
81
  }
78
82
  });
79
- exports.fetchCourseInstanses = fetchCourseInstanses;
80
- const fetchAndCategorizeStructure = (utbildningstillfalleUID, language, ladokClient) => __awaiter(void 0, void 0, void 0, function* () {
81
- const strukturDelar = yield (0, exports.fetchStructureByTillfalleUid)(utbildningstillfalleUID, ladokClient);
82
- const categoryMap = {
83
- 'Villkorligt valfria': 'VV',
84
- 'RECOMMENDED COURSES': 'R',
85
- 'RECOMMENDED COURSE': 'R',
86
- 'REKOMMENDERADE KURSER': 'R',
87
- 'REKOMMENDERADE KURSE': 'R',
88
- 'REKOMMENDERAD KURS': 'R',
89
- 'ELECTIVE COURSES': 'V',
90
- 'ELECTIVE COURSE': 'V',
91
- 'VALFRIA KURSER': 'V',
92
- 'VALFRI KURS': 'V',
93
- }; // TODO - this has been created based on the test data that we have, it needs to be verified and updated after having the actual user stories
94
- const categorizedStrukturDelar = strukturDelar.map(strukturdel => {
83
+ exports.fetchStructurePartsVersions = fetchStructurePartsVersions;
84
+ const categoryMap = {
85
+ 'VILLKORLIGT VALFRI': 'VV',
86
+ 'REKOMMENDERAD': 'R',
87
+ 'VALFRI': 'V',
88
+ };
89
+ const categorizeStructureParts = (strukturDelar) => {
90
+ return strukturDelar.map(strukturdel => {
95
91
  if (!strukturdel.Valinformation) {
96
92
  return Object.assign(Object.assign({}, strukturdel), { Valvillkor: 'O' }); // Default to Obligatory
97
93
  }
@@ -100,88 +96,104 @@ const fetchAndCategorizeStructure = (utbildningstillfalleUID, language, ladokCli
100
96
  const category = categoryMap[engDescription.toUpperCase()] || categoryMap[sweDescription.toUpperCase()] || 'O';
101
97
  return Object.assign(Object.assign({}, strukturdel), { Valvillkor: category });
102
98
  });
103
- const utbildningsbasUIDn = categorizedStrukturDelar.map(strukturdel => strukturdel.UtbildningsbasUID);
104
- const courseEntities = yield (0, exports.fetchCourseBoxes)(utbildningsbasUIDn, ladokClient);
105
- const mappedCourseEntities = courseEntities.map(entity => (0, mapStructureCourses_1.mapStructureCourses)(entity, language));
106
- const utbildningsinstansUIDn = mappedCourseEntities.map(entity => entity.utbildningsinstansUid);
107
- const courseInstanses = yield (0, exports.fetchCourseInstanses)(utbildningsinstansUIDn, ladokClient);
108
- const mappedCourseInstanses = courseInstanses.map(instans => (0, mapCourseInstans_1.mapCourseInstans)(instans, language));
109
- const categorizedCourseEntities = mappedCourseInstanses.map((entity, index) => {
99
+ };
100
+ function fetchMappedStructurePartInstances(categorizedStrukturDelar, language, ladokClient) {
101
+ return __awaiter(this, void 0, void 0, function* () {
102
+ const utbildningsbasUIDn = categorizedStrukturDelar.map(d => d.UtbildningsbasUID);
103
+ const courseInstances = yield (0, exports.fetchStructurePartInstances)(utbildningsbasUIDn, ladokClient);
104
+ const filtered = courseInstances.filter(Boolean);
105
+ return filtered.map(instance => (0, mapStructureCourses_1.mapStructurePartInstances)(instance, language));
106
+ });
107
+ }
108
+ function separateSpecializations(instances) {
109
+ const filteredMappedStructurePartInstances = [];
110
+ const specializationListFromStructure = [];
111
+ instances.forEach(instance => {
110
112
  var _a;
111
- const kategori = (_a = categorizedStrukturDelar[index]) === null || _a === void 0 ? void 0 : _a.Valvillkor;
112
- return Object.assign(Object.assign(Object.assign({}, mappedCourseEntities[index]), mappedCourseInstanses[index]), { Valvillkor: kategori });
113
+ if (((_a = instance.utbildningstyp) === null || _a === void 0 ? void 0 : _a.nameOther) === 'Inriktningstillfälle') {
114
+ if (!specializationListFromStructure.some(addedSpec => addedSpec.uid === instance.uid)) {
115
+ specializationListFromStructure.push(instance);
116
+ }
117
+ }
118
+ else {
119
+ filteredMappedStructurePartInstances.push(instance);
120
+ }
121
+ });
122
+ return { filteredMappedStructurePartInstances, specializationListFromStructure };
123
+ }
124
+ function fetchStructurePartVersionsFromStructurePartInstances(mappedStructurePartInstances, ladokClient, language) {
125
+ return __awaiter(this, void 0, void 0, function* () {
126
+ const uids = mappedStructurePartInstances.map(spi => spi.utbildningsinstansUid);
127
+ const StructurePartVersions = yield (0, exports.fetchStructurePartsVersions)(uids, ladokClient);
128
+ return StructurePartVersions.map(StructurePartVersion => (0, mapCourseInstans_1.mapStructurePartVersions)(StructurePartVersion, language));
129
+ });
130
+ }
131
+ function mergeStructurePartData(mappedStructurePartInstances, mappedStructurePartVersions, categorizedStrukturDelar) {
132
+ return mappedStructurePartVersions.map((mappedStructurePartVersion, index) => {
133
+ var _a;
134
+ return (Object.assign(Object.assign(Object.assign({}, mappedStructurePartInstances[index]), mappedStructurePartVersion), { Valvillkor: (_a = categorizedStrukturDelar[index]) === null || _a === void 0 ? void 0 : _a.Valvillkor }));
135
+ });
136
+ }
137
+ const fetchAndCategorizeStructureParts = (utbildningstillfalleUID, language, ladokClient) => __awaiter(void 0, void 0, void 0, function* () {
138
+ const structureParts = yield (0, exports.fetchStructureByTillfalleUid)(utbildningstillfalleUID, ladokClient);
139
+ const categorizedStrukturParts = categorizeStructureParts(structureParts);
140
+ const structurePartsInstances = yield fetchMappedStructurePartInstances(categorizedStrukturParts, language, ladokClient);
141
+ const { filteredMappedStructurePartInstances, specializationListFromStructure } = separateSpecializations(structurePartsInstances);
142
+ const filteredMappedStructurePartVersions = yield fetchStructurePartVersionsFromStructurePartInstances(filteredMappedStructurePartInstances, ladokClient, language);
143
+ const courseListFromStructure = mergeStructurePartData(filteredMappedStructurePartInstances, filteredMappedStructurePartVersions, categorizedStrukturParts);
144
+ return { courseListFromStructure, specializationListFromStructure };
145
+ });
146
+ exports.fetchAndCategorizeStructureParts = fetchAndCategorizeStructureParts;
147
+ const getMainProgramInstanceData = (uid, language, ladokClient) => __awaiter(void 0, void 0, void 0, function* () {
148
+ const programDetails = yield ladokClient.utbildningstillfalleSlim(uid, {
149
+ attributVarden: 'utbildningsinstans.uid,utbildning.attribut.startperiod',
113
150
  });
114
- return categorizedCourseEntities;
151
+ if (programDetails.type === 'error') {
152
+ throw new Error(`API error: ${programDetails.responseInfo.message}`);
153
+ }
154
+ const omfattning = programDetails.data.Tillfallesperioder.reduce((sum, period) => sum + period.Omfattningsvarde, 0);
155
+ const startperiod = (0, ladok_attributvarde_utils_1.extractGrunddata)(programDetails.data.Attributvarden, 'utbildning.attribut.startperiod');
156
+ const lengthInStudyYears = Math.ceil(Number(omfattning) / 60);
157
+ const { courseListFromStructure, specializationListFromStructure } = yield (0, exports.fetchAndCategorizeStructureParts)(uid, language, ladokClient);
158
+ return {
159
+ startperiod,
160
+ lengthInStudyYears,
161
+ courseListFromStructure,
162
+ specializationListFromStructure,
163
+ };
164
+ });
165
+ const mapSpecializationCurriculums = (specializations, startperiodCode, lengthInStudyYears, language, ladokClient, allPeriods) => __awaiter(void 0, void 0, void 0, function* () {
166
+ const tillfalleUids = specializations.map(s => s.uid);
167
+ const instansUids = specializations.map(s => s.utbildningsinstansUid);
168
+ const specializatons = yield (0, exports.fetchStructurePartsVersions)(instansUids, ladokClient);
169
+ const mappedSpecializations = specializatons
170
+ .filter(Boolean)
171
+ .map(entity => (0, mapCourseInstans_1.mapStructurePartVersions)(entity, language));
172
+ const specializationsCourseListFromStructure = yield Promise.all(tillfalleUids.map((uid) => __awaiter(void 0, void 0, void 0, function* () {
173
+ const { courseListFromStructure } = yield (0, exports.fetchAndCategorizeStructureParts)(uid, language, ladokClient);
174
+ return courseListFromStructure;
175
+ })));
176
+ return mappedSpecializations.map((spec, index) => ({
177
+ studyYears: (0, studyYearUtil_1.generateStudyYearData)(specializationsCourseListFromStructure[index], allPeriods, startperiodCode, lengthInStudyYears),
178
+ programmeSpecialization: {
179
+ programmeSpecializationCode: spec.kod,
180
+ title: spec.benamning,
181
+ },
182
+ }));
115
183
  });
116
- exports.fetchAndCategorizeStructure = fetchAndCategorizeStructure;
117
184
  const fetchProgramStructure = (utbildningstillfalleUID, language, ladokClient) => __awaiter(void 0, void 0, void 0, function* () {
118
185
  try {
119
- const programDetails = yield ladokClient.utbildningstillfalle(utbildningstillfalleUID);
120
- if (programDetails.type === 'error') {
121
- throw new Error(`API error: ${programDetails.responseInfo.message}`);
122
- }
123
- const instansUid = (0, ladok_attributvarde_utils_1.extractString)(programDetails.data.Attributvarden, 'utbildningsinstans.uid');
124
- console.log('this is:', instansUid);
125
- const omfattning = programDetails.data.Tillfallesperioder.reduce((sum, period) => sum + period.Omfattningsvarde, 0);
126
- const startperiod = (0, ladok_attributvarde_utils_1.extractGrunddata)(programDetails.data.Attributvarden, 'utbildning.attribut.startperiod');
127
- const lengthInStudyYears = Math.ceil(Number(omfattning) / 60);
128
- const categorizedCourseEntities = yield (0, exports.fetchAndCategorizeStructure)(utbildningstillfalleUID, language, ladokClient);
186
+ const { startperiod, lengthInStudyYears, courseListFromStructure, specializationListFromStructure, } = yield getMainProgramInstanceData(utbildningstillfalleUID, language, ladokClient);
129
187
  const periodData = yield ladokClient.period();
130
188
  if (periodData.type === 'error') {
131
189
  throw new Error(`API error: ${periodData.responseInfo.message}`);
132
190
  }
133
- const mainStudyYears = (0, studyYearUtil_1.generateStudyYearData)(categorizedCourseEntities, periodData.data.Period, startperiod === null || startperiod === void 0 ? void 0 : startperiod.code, lengthInStudyYears);
134
- const specializationStrukturDelar = yield (0, exports.fetchStructureByInstansUid)(instansUid, ladokClient);
135
- const utbildningsbasUIDn = specializationStrukturDelar.map(strukturdel => strukturdel.UtbildningsbasUID);
136
- let specializatons = yield Promise.all(utbildningsbasUIDn.map((utbildningsbasUID) => __awaiter(void 0, void 0, void 0, function* () {
137
- const utbildningsinstans = yield ladokClient.utbildningsinstans(utbildningsbasUID);
138
- return utbildningsinstans.data;
139
- })));
140
- specializatons = specializatons.filter(specializaton => specializaton !== null);
141
- const mappedSpecializatons = specializatons.map(entity => (0, mapCourseInstans_1.mapCourseInstans)(entity, language));
142
- function getStudyYearForSpecializationFilter(startPeriod) {
143
- const year = parseInt(startPeriod.substring(2));
144
- if (startPeriod.startsWith('VT')) {
145
- return `VT${year}`;
146
- }
147
- else if (startPeriod.startsWith('HT')) {
148
- return `HT${year},VT${year + 1}`;
149
- }
150
- return '';
151
- }
152
- const tillfalleUids = yield Promise.all(mappedSpecializatons.map((specialization) => __awaiter(void 0, void 0, void 0, function* () {
153
- var _a, _b;
154
- const requestObject = {
155
- kodEllerBenamning: specialization.kod,
156
- startPeriod: getStudyYearForSpecializationFilter(startperiod === null || startperiod === void 0 ? void 0 : startperiod.code),
157
- striktKod: 'true',
158
- };
159
- const tillfalle = yield ladokClient.sokUtbildningsTillfalle(requestObject);
160
- return (_b = (_a = tillfalle === null || tillfalle === void 0 ? void 0 : tillfalle.items) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.tillfalle_uid;
161
- })));
162
- const curriculums = [];
163
- curriculums.push({
164
- studyYears: mainStudyYears,
165
- });
166
- let specializatonsCategorizedCourseEntities = yield Promise.all(tillfalleUids.map((tillfalleUid) => __awaiter(void 0, void 0, void 0, function* () {
167
- if (tillfalleUid) {
168
- const studyYear = yield (0, exports.fetchAndCategorizeStructure)(tillfalleUid, language, ladokClient);
169
- return studyYear;
170
- }
171
- else {
172
- return [];
173
- }
174
- })));
175
- mappedSpecializatons.forEach((specialization, index) => {
176
- curriculums.push({
177
- studyYears: (0, studyYearUtil_1.generateStudyYearData)(specializatonsCategorizedCourseEntities[index], periodData.data.Period, startperiod === null || startperiod === void 0 ? void 0 : startperiod.code, lengthInStudyYears),
178
- programmeSpecialization: {
179
- programmeSpecializationCode: specialization.kod,
180
- title: specialization.benamning,
181
- },
182
- });
183
- });
184
- return curriculums;
191
+ const mainStudyYears = (0, studyYearUtil_1.generateStudyYearData)(courseListFromStructure, periodData.data.Period, startperiod === null || startperiod === void 0 ? void 0 : startperiod.code, lengthInStudyYears);
192
+ const specializationCurriculums = yield mapSpecializationCurriculums(specializationListFromStructure, startperiod === null || startperiod === void 0 ? void 0 : startperiod.code, lengthInStudyYears, language, ladokClient, periodData.data.Period);
193
+ return [
194
+ { studyYears: mainStudyYears },
195
+ ...specializationCurriculums,
196
+ ];
185
197
  }
186
198
  catch (error) {
187
199
  throw (0, exports.handleError)('Unexpected error during processing', error);
@@ -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,5 @@
1
- import { PeriodItem } from '@kth/ladok-mellanlager-client/dist/types/endpoints/period';
1
+ import { PeriodItem } from '@kth/ladok-mellanlager-client';
2
+ export declare const LAST_YEAR_TO_USE_SYLLABUSES_FOR_KURSLISTA = 2025;
2
3
  type CourseData = {
3
4
  kod: string;
4
5
  benamning: string;
@@ -20,6 +21,7 @@ type StudyYear = {
20
21
  yearNumber: number;
21
22
  courses: CourseData[];
22
23
  };
24
+ export declare const extractYear: (kod: string) => number;
23
25
  export declare const getStudyYear: (periodEndDate: string, periodDetails: PeriodItem[], mainStartPeriod: string) => number;
24
26
  export declare const generateStudyYearData: (coursesData: CourseData[], periodDetails: PeriodItem[], mainStartPeriod: string, lengthStudyYear: number) => StudyYear[];
25
27
  export {};
@@ -1,29 +1,36 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateStudyYearData = exports.getStudyYear = void 0;
3
+ exports.generateStudyYearData = exports.getStudyYear = exports.extractYear = exports.LAST_YEAR_TO_USE_SYLLABUSES_FOR_KURSLISTA = void 0;
4
4
  const date_fns_1 = require("date-fns");
5
+ exports.LAST_YEAR_TO_USE_SYLLABUSES_FOR_KURSLISTA = 2025;
6
+ const extractYear = (kod) => {
7
+ const isAutumn = kod.startsWith('HT');
8
+ const year = parseInt(kod.slice(2), 10);
9
+ return isAutumn ? year : year - 1;
10
+ };
11
+ exports.extractYear = extractYear;
5
12
  const getStudyYear = (periodEndDate, periodDetails, mainStartPeriod) => {
6
- const mainStartYear = parseInt(mainStartPeriod.slice(2), 10);
7
- const mainIsAutumn = mainStartPeriod.startsWith('HT');
8
13
  const matchedPeriod = periodDetails.find(p => (0, date_fns_1.parseISO)(p.FromDatum) <= (0, date_fns_1.parseISO)(periodEndDate) &&
9
14
  (0, date_fns_1.parseISO)(p.TomDatum) >= (0, date_fns_1.parseISO)(periodEndDate) &&
10
15
  (p.Kod.includes('VT') || p.Kod.includes('HT')));
11
16
  if (!matchedPeriod)
12
17
  throw new Error('No matching period found');
13
- const year = parseInt(matchedPeriod.Kod.slice(2), 10);
14
- const isAutumn = matchedPeriod.Kod.startsWith('HT');
15
- const startStudyYear = isAutumn ? year : year - 1;
16
- const baseYear = mainIsAutumn ? mainStartYear : mainStartYear - 1;
18
+ const baseYear = (0, exports.extractYear)(mainStartPeriod);
19
+ const startStudyYear = (0, exports.extractYear)(matchedPeriod.Kod);
17
20
  return startStudyYear - baseYear + 1;
18
21
  };
19
22
  exports.getStudyYear = getStudyYear;
20
23
  const generateStudyYearData = (coursesData, periodDetails, mainStartPeriod, lengthStudyYear) => {
21
24
  const studyYears = {};
25
+ const baseYear = (0, exports.extractYear)(mainStartPeriod);
22
26
  coursesData.forEach(course => {
23
27
  const studyYearToPeriods = {};
24
28
  course.Tillfallesperioder.forEach(period => {
25
29
  const studyYear = (0, exports.getStudyYear)(period.SistaUndervisningsdatum, periodDetails, mainStartPeriod);
26
30
  if (studyYear >= 1 && studyYear <= lengthStudyYear) {
31
+ const actualStudyYear = baseYear + studyYear - 1;
32
+ if (actualStudyYear < exports.LAST_YEAR_TO_USE_SYLLABUSES_FOR_KURSLISTA)
33
+ return;
27
34
  if (!studyYearToPeriods[studyYear]) {
28
35
  studyYearToPeriods[studyYear] = [];
29
36
  }
@@ -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.1.1",
3
+ "version": "1.2.0",
4
4
  "description": "Om kursen specific logic and mappings, uses both @kth/ladok-mellanlager-client and @kth/ladok-attributevarde-utils.",
5
5
  "main": "dist/index.js",
6
6
  "files": [
@@ -21,7 +21,9 @@
21
21
  "build:publish": "npm install --no-workspaces && npm run build"
22
22
  },
23
23
  "dependencies": {
24
- "@kth/ladok-attributvarde-utils": "0.0.11",
25
- "@kth/ladok-mellanlager-client": "0.1.2"
24
+ "@kth/ladok-attributvarde-utils": "0.1.0",
25
+ "@kth/ladok-mellanlager-client": "0.3.0",
26
+ "date-fns": "^4.1.0",
27
+ "showdown": "^2.1.0"
26
28
  }
27
29
  }