@kth/om-kursen-ladok-client 1.3.12 → 1.3.13

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 (29) hide show
  1. package/dist/createApiClient.js +2 -0
  2. package/dist/createApiClient.js.map +1 -1
  3. package/dist/search/createSearchApi.js +13 -23
  4. package/dist/search/createSearchApi.js.map +1 -1
  5. package/dist/search/types.d.ts +4 -0
  6. package/dist/search/utbildningsTypIdConstants.d.ts +20 -4
  7. package/dist/search/utbildningsTypIdConstants.js +17 -16
  8. package/dist/search/utbildningsTypIdConstants.js.map +1 -1
  9. package/dist/search/utils/educationalTypeUtils.d.ts +11 -0
  10. package/dist/search/utils/educationalTypeUtils.js +36 -0
  11. package/dist/search/utils/educationalTypeUtils.js.map +1 -0
  12. package/dist/search/utils/getAllEntitiesByUseOfContinuation.js +1 -1
  13. package/dist/search/utils/getLatestCompletedCourseVersions.d.ts +8 -0
  14. package/dist/search/utils/getLatestCompletedCourseVersions.js +20 -0
  15. package/dist/search/utils/getLatestCompletedCourseVersions.js.map +1 -0
  16. package/dist/search/utils/searchUtils.d.ts +12 -6
  17. package/dist/search/utils/searchUtils.js +80 -38
  18. package/dist/search/utils/searchUtils.js.map +1 -1
  19. package/dist/supportApis/createSupportApis.d.ts +16 -0
  20. package/dist/supportApis/createSupportApis.js +137 -0
  21. package/dist/supportApis/createSupportApis.js.map +1 -0
  22. package/dist/types/OmKursenLadokApiClient.d.ts +2 -0
  23. package/dist/utils/programStrukturUtil.d.ts +3 -2
  24. package/dist/utils/programStrukturUtil.js +12 -10
  25. package/dist/utils/programStrukturUtil.js.map +1 -1
  26. package/dist/utils/studyYearUtil.d.ts +4 -3
  27. package/dist/utils/studyYearUtil.js +30 -14
  28. package/dist/utils/studyYearUtil.js.map +1 -1
  29. package/package.json +3 -3
@@ -25,6 +25,7 @@ const partOfProgrammeUtil_1 = require("./utils/partOfProgrammeUtil");
25
25
  const createSearchApi_1 = require("./search/createSearchApi");
26
26
  const attributVardenConstants_1 = require("./attributVardenConstants");
27
27
  const programUtil_1 = require("./utils/programUtil");
28
+ const createSupportApis_1 = require("./supportApis/createSupportApis");
28
29
  const mergeApiResponses = (a, b, uniqueItemKey) => {
29
30
  var _a, _b, _c, _d, _e, _f, _g, _h;
30
31
  if (a.type === 'error')
@@ -299,6 +300,7 @@ const createApiClient = (config) => {
299
300
  const periods = yield ladokClient.period();
300
301
  return periods;
301
302
  }),
303
+ Support: (0, createSupportApis_1.createSupportApi)(ladokClient),
302
304
  };
303
305
  };
304
306
  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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"}
@@ -11,7 +11,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.createSearchApi = void 0;
13
13
  const searchUtils_1 = require("./utils/searchUtils");
14
- const SearchError_1 = require("./SearchError");
15
14
  const getAllEntitiesByUseOfContinuation_1 = require("./utils/getAllEntitiesByUseOfContinuation");
16
15
  const mapSearchResult_1 = require("../mapSearchResult");
17
16
  const groupSearchResults_1 = require("../groupSearchResults");
@@ -22,13 +21,14 @@ const utils_1 = require("../utils");
22
21
  const mapCourseRoundSearchDTO_1 = require("./utils/mapCourseRoundSearchDTO");
23
22
  const mapCourseVersionDTO_1 = require("./utils/mapCourseVersionDTO");
24
23
  const typeChecking_1 = require("../utils/typeChecking");
24
+ const createSupportApis_1 = require("../supportApis/createSupportApis");
25
+ const getLatestCompletedCourseVersions_1 = require("./utils/getLatestCompletedCourseVersions");
25
26
  const createSearchApi = (ladokClient) => {
26
27
  return {
27
28
  searchCourses: (searchParams, language) => __awaiter(void 0, void 0, void 0, function* () {
28
29
  try {
29
- (0, searchUtils_1.validateSearchParams)(searchParams);
30
- const utbildningstyper = yield extractUtbildningstypItems(ladokClient.utbildningstyp()); // TODO: Use cached values
31
- const { requestQuery, filterPeriod } = (0, searchUtils_1.prepareSearchRequestQueryForKursTillfallen)(utbildningstyper, searchParams);
30
+ const cleanSearchParams = (0, searchUtils_1.validateAndCleanSearchParams)(searchParams);
31
+ const { requestQuery, filterPeriod } = (0, searchUtils_1.prepareSearchRequestQueryForKursTillfallen)(cleanSearchParams);
32
32
  const allCourses = yield (0, getAllEntitiesByUseOfContinuation_1.getAllEntitiesByUseOfContinuation)(ladokClient.sokKursTillfalleSlim, requestQuery);
33
33
  const mappedCourses = allCourses.map(course => (0, mapSearchResult_1.mapKursTillfalleResult)(course, language));
34
34
  const groupedCourses = (0, groupSearchResults_1.groupSearchResults)(mappedCourses, filterPeriod);
@@ -45,15 +45,19 @@ const createSearchApi = (ladokClient) => {
45
45
  }),
46
46
  searchCourseVersions: (searchParams, language) => __awaiter(void 0, void 0, void 0, function* () {
47
47
  try {
48
- (0, searchUtils_1.validateSearchParams)(searchParams);
49
- const requestQueryForKursInstans = (0, searchUtils_1.prepareSearchRequestQueryForKursInstans)(searchParams);
48
+ const cleanSearchParams = (0, searchUtils_1.validateAndCleanSearchParams)(searchParams);
49
+ const supportAPI = (0, createSupportApis_1.createSupportApi)(ladokClient);
50
+ const [currentDepartmentList, deprecatedDepartmentList] = yield Promise.all([
51
+ supportAPI.createDepartmentList(language),
52
+ supportAPI.createDepartmentList(language, true),
53
+ ]);
54
+ const departmentList = [...currentDepartmentList, ...deprecatedDepartmentList];
55
+ const requestQueryForKursInstans = (0, searchUtils_1.prepareSearchRequestQueryForKursInstans)(cleanSearchParams, departmentList);
50
56
  const allCourseVersions = yield (0, getAllEntitiesByUseOfContinuation_1.getAllEntitiesByUseOfContinuation)(ladokClient.sokUtbildningsInstansSlim, requestQueryForKursInstans);
51
57
  const gradingScalesCodes = yield (0, gradingScalesUtils_1.getGradingScalesCodes)(ladokClient); // TODO: Use cached values
52
58
  const allMappedCourseVersions = allCourseVersions.map(courseVersion => (0, mapCourse_1.mapCourse)(courseVersion, language, gradingScalesCodes));
53
59
  const latestCourseVersions = findLatestCourseVersions(allMappedCourseVersions);
54
- // TODO Benni filter out latestCourses if they only have one version
55
- // TODO Benni add status to CourseVersion
56
- const latestApprovedCourses = latestCourseVersions;
60
+ const latestApprovedCourses = (0, getLatestCompletedCourseVersions_1.getLatestCompletedCourseVersions)(latestCourseVersions);
57
61
  const courseVersionDTOs = latestApprovedCourses.map(mapCourseVersionDTO_1.mapCourseVersionDTO);
58
62
  return { searchHits: courseVersionDTOs };
59
63
  }
@@ -68,20 +72,6 @@ const createSearchApi = (ladokClient) => {
68
72
  };
69
73
  };
70
74
  exports.createSearchApi = createSearchApi;
71
- /**
72
- * This function extracts the utbildningstyp items from the API response.
73
- * It throws an error if the response is invalid or if the data is not present.
74
- * @param utbildningstypApiCall
75
- * @returns
76
- */
77
- const extractUtbildningstypItems = (utbildningstypApiCall) => __awaiter(void 0, void 0, void 0, function* () {
78
- const utbildningstypResponse = yield utbildningstypApiCall;
79
- // TODO Benni: this can be refactored more, e.g. enum for type
80
- if (utbildningstypResponse.type === 'error' || !(utbildningstypResponse === null || utbildningstypResponse === void 0 ? void 0 : utbildningstypResponse.data)) {
81
- throw SearchError_1.SearchError.unknown(`Failed to fetch valid utbildningstyp data: ${utbildningstypResponse.responseInfo.message}`);
82
- }
83
- return utbildningstypResponse.data.Utbildningstyp;
84
- });
85
75
  // TODO Benni: refactor or remove this function if it is not needed anymore (basically a failsafe)
86
76
  /**
87
77
  * This function takes an array of courseVersions, groups them by their kod, and finds the latest version of each course.
@@ -1 +1 @@
1
- {"version":3,"file":"createSearchApi.js","sourceRoot":"","sources":["../../src/search/createSearchApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createSearchApi.js","sourceRoot":"","sources":["../../src/search/createSearchApi.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { EducationalLevelCode } from '@kth/ladok-attributvarde-utils';
1
2
  import { Language } from '../utils';
2
3
  export type SearchApi = {
3
4
  searchCourses: (searchParams: SearchParams, language: Language) => Promise<SearchCourseResponse<CourseRoundSearchDTO>>;
@@ -15,6 +16,9 @@ export type SearchParams = {
15
16
  startPeriod?: string[];
16
17
  utbildningsniva?: string[];
17
18
  };
19
+ export type CleanSearchParams = Omit<SearchParams, 'utbildningsniva'> & {
20
+ utbildningsniva?: EducationalLevelCode[];
21
+ };
18
22
  export type CourseVersionDTO = {
19
23
  kod: string;
20
24
  benamning: string;
@@ -1,7 +1,23 @@
1
- /**
2
- * The utbildningstyp Ids that we are interested in when searching for courseVersions.
3
- */
4
- export declare const VERSION_UTBILDNINGSTYP_IDS: string;
1
+ export declare const VERSION_UTBILDNINGSTYP_IDS_BASIC: {
2
+ ID: number;
3
+ Kod: string;
4
+ }[];
5
+ export declare const VERSION_UTBILDNINGSTYP_IDS_ADVANCED: {
6
+ ID: number;
7
+ Kod: string;
8
+ }[];
9
+ export declare const VERSION_UTBILDNINGSTYP_IDS_PREPARATORY: {
10
+ ID: number;
11
+ Kod: string;
12
+ }[];
13
+ export declare const VERSION_UTUBILDNINGSTYP_IDS_RESEARCH: {
14
+ ID: number;
15
+ Kod: string;
16
+ }[];
17
+ export declare const VERSION_UTBILDNINGSTYP_IDS_UPPDRAG: {
18
+ ID: number;
19
+ Kod: string;
20
+ }[];
5
21
  /**
6
22
  * The utbildningstyp Ids that we are interested in when searching for courseInstances.
7
23
  */
@@ -1,21 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.INSTANCE_UTBILDNINGSTYP_IDS = exports.VERSION_UTBILDNINGSTYP_IDS = void 0;
4
- /**
5
- * The utbildningstyp Ids that we are interested in when searching for courseVersions.
6
- */
7
- exports.VERSION_UTBILDNINGSTYP_IDS = [
8
- 22, // 2007GKURS
9
- 24, // 2007AKURS
10
- 101378, // FUPKURS
11
- 101954, // 2007FKURS (forskar)
12
- 101992, // UPHPGKURS
13
- 101993, // UPHPAKURS
14
- 102006, // UPVKURS (veckor)
15
- 105630, // 0793GKURS
16
- 105631, // 0793AKURS
17
- 121910, // 20073KURS (forskar)
18
- ].join(',');
3
+ exports.INSTANCE_UTBILDNINGSTYP_IDS = exports.VERSION_UTBILDNINGSTYP_IDS_UPPDRAG = exports.VERSION_UTUBILDNINGSTYP_IDS_RESEARCH = exports.VERSION_UTBILDNINGSTYP_IDS_PREPARATORY = exports.VERSION_UTBILDNINGSTYP_IDS_ADVANCED = exports.VERSION_UTBILDNINGSTYP_IDS_BASIC = void 0;
4
+ exports.VERSION_UTBILDNINGSTYP_IDS_BASIC = [
5
+ { ID: 22, Kod: '2007GKURS' },
6
+ { ID: 101992, Kod: 'UPHPGKURS' },
7
+ { ID: 105630, Kod: '0793GKURS' },
8
+ ];
9
+ exports.VERSION_UTBILDNINGSTYP_IDS_ADVANCED = [
10
+ { ID: 24, Kod: '2007AKURS' },
11
+ { ID: 101993, Kod: 'UPHPAKURS' },
12
+ { ID: 105631, Kod: '0793AKURS' },
13
+ ];
14
+ exports.VERSION_UTBILDNINGSTYP_IDS_PREPARATORY = [{ ID: 101378, Kod: 'FUPKURS' }];
15
+ exports.VERSION_UTUBILDNINGSTYP_IDS_RESEARCH = [
16
+ { ID: 101954, Kod: '2007FKURS' },
17
+ { ID: 121910, Kod: '20073KURS' },
18
+ ];
19
+ exports.VERSION_UTBILDNINGSTYP_IDS_UPPDRAG = [{ ID: 102006, Kod: 'UPVKURS' }];
19
20
  /**
20
21
  * The utbildningstyp Ids that we are interested in when searching for courseInstances.
21
22
  */
@@ -1 +1 @@
1
- {"version":3,"file":"utbildningsTypIdConstants.js","sourceRoot":"","sources":["../../src/search/utbildningsTypIdConstants.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,0BAA0B,GAAG;IACxC,EAAE,EAAE,YAAY;IAChB,EAAE,EAAE,YAAY;IAChB,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE,sBAAsB;IAC9B,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,oBAAoB;IAC5B,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,sBAAsB;CAC/B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAEX;;GAEG;AACU,QAAA,2BAA2B,GAAG;IACzC,MAAM,EAAE,SAAS;IACjB,EAAE,EAAE,UAAU;IACd,MAAM,EAAE,qBAAqB;IAC7B,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE,kBAAkB;IAC1B,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE,qBAAqB;CAC9B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAEX,MAAM,kCAAkC,GAAG;IACzC,MAAM,EAAE,sBAAsB;IAC9B,MAAM,EAAE,sBAAsB;CAC/B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAEX,MAAM,mCAAmC,GAAG;IAC1C,MAAM,EAAE,sBAAsB;IAC9B,MAAM,EAAE,qBAAqB;CAC9B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA"}
1
+ {"version":3,"file":"utbildningsTypIdConstants.js","sourceRoot":"","sources":["../../src/search/utbildningsTypIdConstants.ts"],"names":[],"mappings":";;;AAAa,QAAA,gCAAgC,GAAG;IAC9C,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE;IAC5B,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE;IAChC,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE;CACjC,CAAA;AAEY,QAAA,mCAAmC,GAAG;IACjD,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE;IAC5B,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE;IAChC,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE;CACjC,CAAA;AAEY,QAAA,sCAAsC,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAA;AAEzE,QAAA,oCAAoC,GAAG;IAClD,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE;IAChC,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE;CACjC,CAAA;AAEY,QAAA,kCAAkC,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAA;AAElF;;GAEG;AACU,QAAA,2BAA2B,GAAG;IACzC,MAAM,EAAE,SAAS;IACjB,EAAE,EAAE,UAAU;IACd,MAAM,EAAE,qBAAqB;IAC7B,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE,kBAAkB;IAC1B,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE,qBAAqB;CAC9B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAEX,MAAM,kCAAkC,GAAG;IACzC,MAAM,EAAE,sBAAsB;IAC9B,MAAM,EAAE,sBAAsB;CAC/B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAEX,MAAM,mCAAmC,GAAG;IAC1C,MAAM,EAAE,sBAAsB;IAC9B,MAAM,EAAE,qBAAqB;CAC9B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { EducationalLevelCode } from '@kth/ladok-attributvarde-utils';
2
+ export declare const getAllVersionUtbildningstyperIDs: () => number[];
3
+ /**
4
+ * Returns the version utbildningstyper for the given educational levels.
5
+ * @param educationalLevels
6
+ * @returns
7
+ */
8
+ export declare const getVersionUtbildningstyperForEducationalLevels: (educationalLevels: EducationalLevelCode[]) => {
9
+ ID: number;
10
+ Kod: string;
11
+ }[];
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getVersionUtbildningstyperForEducationalLevels = exports.getAllVersionUtbildningstyperIDs = void 0;
4
+ const ladok_attributvarde_utils_1 = require("@kth/ladok-attributvarde-utils");
5
+ const utbildningsTypIdConstants_1 = require("../utbildningsTypIdConstants");
6
+ const getAllVersionUtbildningstyperIDs = () => {
7
+ return [
8
+ ...utbildningsTypIdConstants_1.VERSION_UTBILDNINGSTYP_IDS_PREPARATORY,
9
+ ...utbildningsTypIdConstants_1.VERSION_UTBILDNINGSTYP_IDS_BASIC,
10
+ ...utbildningsTypIdConstants_1.VERSION_UTBILDNINGSTYP_IDS_ADVANCED,
11
+ ...utbildningsTypIdConstants_1.VERSION_UTUBILDNINGSTYP_IDS_RESEARCH,
12
+ ...utbildningsTypIdConstants_1.VERSION_UTBILDNINGSTYP_IDS_UPPDRAG,
13
+ ].map(utbildningstyp => utbildningstyp.ID);
14
+ };
15
+ exports.getAllVersionUtbildningstyperIDs = getAllVersionUtbildningstyperIDs;
16
+ /**
17
+ * Returns the version utbildningstyper for the given educational levels.
18
+ * @param educationalLevels
19
+ * @returns
20
+ */
21
+ const getVersionUtbildningstyperForEducationalLevels = (educationalLevels) => {
22
+ return educationalLevels.flatMap(level => {
23
+ switch (level) {
24
+ case ladok_attributvarde_utils_1.EducationalLevelCode.Preparatory:
25
+ return utbildningsTypIdConstants_1.VERSION_UTBILDNINGSTYP_IDS_PREPARATORY;
26
+ case ladok_attributvarde_utils_1.EducationalLevelCode.Basic:
27
+ return utbildningsTypIdConstants_1.VERSION_UTBILDNINGSTYP_IDS_BASIC;
28
+ case ladok_attributvarde_utils_1.EducationalLevelCode.Advanced:
29
+ return utbildningsTypIdConstants_1.VERSION_UTBILDNINGSTYP_IDS_ADVANCED;
30
+ case ladok_attributvarde_utils_1.EducationalLevelCode.Research:
31
+ return utbildningsTypIdConstants_1.VERSION_UTUBILDNINGSTYP_IDS_RESEARCH;
32
+ }
33
+ });
34
+ };
35
+ exports.getVersionUtbildningstyperForEducationalLevels = getVersionUtbildningstyperForEducationalLevels;
36
+ //# sourceMappingURL=educationalTypeUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"educationalTypeUtils.js","sourceRoot":"","sources":["../../../src/search/utils/educationalTypeUtils.ts"],"names":[],"mappings":";;;AAAA,8EAAqE;AACrE,4EAMqC;AAE9B,MAAM,gCAAgC,GAAG,GAAa,EAAE;IAC7D,OAAO;QACL,GAAG,kEAAsC;QACzC,GAAG,4DAAgC;QACnC,GAAG,+DAAmC;QACtC,GAAG,gEAAoC;QACvC,GAAG,8DAAkC;KACtC,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA;AAC5C,CAAC,CAAA;AARY,QAAA,gCAAgC,oCAQ5C;AAED;;;;GAIG;AACI,MAAM,8CAA8C,GAAG,CAAC,iBAAyC,EAAE,EAAE;IAC1G,OAAO,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACvC,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,gDAAoB,CAAC,WAAW;gBACnC,OAAO,kEAAsC,CAAA;YAC/C,KAAK,gDAAoB,CAAC,KAAK;gBAC7B,OAAO,4DAAgC,CAAA;YACzC,KAAK,gDAAoB,CAAC,QAAQ;gBAChC,OAAO,+DAAmC,CAAA;YAC5C,KAAK,gDAAoB,CAAC,QAAQ;gBAChC,OAAO,gEAAoC,CAAA;QAC/C,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAbY,QAAA,8CAA8C,kDAa1D"}
@@ -11,7 +11,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.getAllEntitiesByUseOfContinuation = void 0;
13
13
  const SearchError_1 = require("../SearchError");
14
- const MAX_SEARCH_RESULTS_TO_RETURN = 250; // TODO Benni, make sure to adjust this. We do not want to have more than 250 results in the UI, but here it could be more
14
+ const MAX_SEARCH_RESULTS_TO_RETURN = 300; // TODO Benni, make sure to adjust this. We do not want to have more than 250 results in the UI, but here it could be more
15
15
  const MAX_CONTINUATION_ITERATIONS = 4;
16
16
  const getAllEntitiesByUseOfContinuation = (apiCall, requestQuery) => __awaiter(void 0, void 0, void 0, function* () {
17
17
  var _a;
@@ -0,0 +1,8 @@
1
+ import { Course } from '../../mapCourse';
2
+ /**
3
+ * Returns only course versions that have been completed at least once.
4
+ * This means that the versionsnummer is greater than 1 or if it is 1, the ladokStatusCode is Complete.
5
+ * @param courseVersions
6
+ * @returns
7
+ */
8
+ export declare const getLatestCompletedCourseVersions: <T extends Pick<Course, "versionsnummer" | "ladokStatusCode">>(courseVersions: T[]) => T[];
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getLatestCompletedCourseVersions = void 0;
4
+ const ladok_attributvarde_utils_1 = require("@kth/ladok-attributvarde-utils");
5
+ /**
6
+ * Returns only course versions that have been completed at least once.
7
+ * This means that the versionsnummer is greater than 1 or if it is 1, the ladokStatusCode is Complete.
8
+ * @param courseVersions
9
+ * @returns
10
+ */
11
+ const getLatestCompletedCourseVersions = (courseVersions) => {
12
+ return courseVersions.filter(course => {
13
+ const versionsnummer = parseInt(course.versionsnummer, 10);
14
+ if (course.ladokStatusCode === ladok_attributvarde_utils_1.LadokStatusCode.Complete)
15
+ return true;
16
+ return versionsnummer > 1; // If a versionnummer is greater than 1, there once has been at least one completed version
17
+ });
18
+ };
19
+ exports.getLatestCompletedCourseVersions = getLatestCompletedCourseVersions;
20
+ //# sourceMappingURL=getLatestCompletedCourseVersions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getLatestCompletedCourseVersions.js","sourceRoot":"","sources":["../../../src/search/utils/getLatestCompletedCourseVersions.ts"],"names":[],"mappings":";;;AAAA,8EAAgE;AAGhE;;;;;GAKG;AACI,MAAM,gCAAgC,GAAG,CAC9C,cAAmB,EACd,EAAE;IACP,OAAO,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;QACpC,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;QAE1D,IAAI,MAAM,CAAC,eAAe,KAAK,2CAAe,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAA;QAEpE,OAAO,cAAc,GAAG,CAAC,CAAA,CAAC,2FAA2F;IACvH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAVY,QAAA,gCAAgC,oCAU5C"}
@@ -1,12 +1,18 @@
1
- import { SokUtbildningsInstansSlimQuery, UtbildningstypItem } from '@kth/ladok-mellanlager-client';
2
- import { RequestQuery, SearchParams } from '../types';
1
+ import { SokUtbildningsInstansSlimQuery, SokUtbildningsTillfalleSlimQuery } from '@kth/ladok-mellanlager-client';
2
+ import { CleanSearchParams, SearchParams } from '../types';
3
+ import { SchoolWithDepartments } from '../../supportApis/createSupportApis';
3
4
  /**
5
+ * Validates and cleans the search parameters for the search API.
4
6
  * Throws an error if the searchParams are invalid.
5
7
  * @param searchParams
8
+ * @returns
9
+ * @throws SearchError
10
+ * - noRestrictions: if no search parameters are provided
11
+ * - kodEllerBenamning: if kodEllerBenamning is provided but less than 3 characters
6
12
  */
7
- export declare const validateSearchParams: (searchParams: SearchParams) => void;
8
- export declare const prepareSearchRequestQueryForKursTillfallen: (utbildningstyper: UtbildningstypItem[], searchParams: SearchParams) => {
9
- requestQuery: RequestQuery;
13
+ export declare const validateAndCleanSearchParams: (searchParams: SearchParams) => CleanSearchParams;
14
+ export declare const prepareSearchRequestQueryForKursTillfallen: (searchParams: CleanSearchParams) => {
15
+ requestQuery: NonNullable<SokUtbildningsTillfalleSlimQuery>;
10
16
  filterPeriod: boolean;
11
17
  };
12
- export declare const prepareSearchRequestQueryForKursInstans: (searchParams: SearchParams) => NonNullable<SokUtbildningsInstansSlimQuery>;
18
+ export declare const prepareSearchRequestQueryForKursInstans: (searchParams: CleanSearchParams, schoolsWithDepartments: SchoolWithDepartments[]) => NonNullable<SokUtbildningsInstansSlimQuery>;
@@ -1,25 +1,59 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.prepareSearchRequestQueryForKursInstans = exports.prepareSearchRequestQueryForKursTillfallen = exports.validateSearchParams = void 0;
3
+ exports.prepareSearchRequestQueryForKursInstans = exports.prepareSearchRequestQueryForKursTillfallen = exports.validateAndCleanSearchParams = void 0;
4
4
  const SearchError_1 = require("../SearchError");
5
5
  const utils_1 = require("../../utils");
6
6
  const ladok_attributvarde_utils_1 = require("@kth/ladok-attributvarde-utils");
7
7
  const utbildningsTypIdConstants_1 = require("../utbildningsTypIdConstants");
8
8
  const attributVardenConstants_1 = require("../../attributVardenConstants");
9
+ const educationalTypeUtils_1 = require("./educationalTypeUtils");
10
+ const typeChecking_1 = require("../../utils/typeChecking");
9
11
  /**
12
+ * Validates and cleans the search parameters for the search API.
10
13
  * Throws an error if the searchParams are invalid.
11
14
  * @param searchParams
15
+ * @returns
16
+ * @throws SearchError
17
+ * - noRestrictions: if no search parameters are provided
18
+ * - kodEllerBenamning: if kodEllerBenamning is provided but less than 3 characters
12
19
  */
13
- const validateSearchParams = (searchParams) => {
14
- const { kodEllerBenamning, organisation, sprak, startPeriod, utbildningsniva, avvecklad } = searchParams;
15
- if (!avvecklad && !kodEllerBenamning && !organisation && !sprak && !startPeriod && !utbildningsniva) {
20
+ const validateAndCleanSearchParams = (searchParams) => {
21
+ const { kodEllerBenamning, organisation, sprak, startPeriod, utbildningsniva: rawUtbildningsniva, avvecklad, } = searchParams;
22
+ if (!avvecklad && !kodEllerBenamning && !organisation && !sprak && !startPeriod && !rawUtbildningsniva) {
16
23
  throw SearchError_1.SearchError.noRestrictions();
17
24
  }
18
25
  if (kodEllerBenamning && kodEllerBenamning.length < 3) {
19
26
  throw SearchError_1.SearchError.kodEllerBenamning();
20
27
  }
28
+ const utbildningsniva = rawUtbildningsniva ? cleanUtbildningsnivaParam(rawUtbildningsniva) : undefined;
29
+ return {
30
+ kodEllerBenamning,
31
+ organisation,
32
+ sprak,
33
+ startPeriod,
34
+ utbildningsniva,
35
+ avvecklad,
36
+ };
37
+ };
38
+ exports.validateAndCleanSearchParams = validateAndCleanSearchParams;
39
+ const cleanUtbildningsnivaParam = (utbildningsniva) => {
40
+ const mappedUtbildningsniva = utbildningsniva.map(mapUtbildningsniva);
41
+ return mappedUtbildningsniva.filter(typeChecking_1.isDefined);
42
+ };
43
+ const mapUtbildningsniva = (utbildningsniva) => {
44
+ switch (utbildningsniva) {
45
+ case ladok_attributvarde_utils_1.EducationalLevelCode.Preparatory:
46
+ return ladok_attributvarde_utils_1.EducationalLevelCode.Preparatory;
47
+ case ladok_attributvarde_utils_1.EducationalLevelCode.Advanced:
48
+ return ladok_attributvarde_utils_1.EducationalLevelCode.Advanced;
49
+ case ladok_attributvarde_utils_1.EducationalLevelCode.Basic:
50
+ return ladok_attributvarde_utils_1.EducationalLevelCode.Basic;
51
+ case ladok_attributvarde_utils_1.EducationalLevelCode.Research:
52
+ return ladok_attributvarde_utils_1.EducationalLevelCode.Research;
53
+ default:
54
+ return undefined;
55
+ }
21
56
  };
22
- exports.validateSearchParams = validateSearchParams;
23
57
  const MAX_ANTAL_TRAFFAR = '100';
24
58
  // TODO Benni, maybe this does not make things cleaner, observe
25
59
  // TODO Benni don't forget this when cleaning up types on query object
@@ -28,45 +62,53 @@ const DEFAULT_INSTANCE_QUERY_PARAMS = {
28
62
  instansAttributVarden: 'utbildningstyp',
29
63
  antalTraffar: MAX_ANTAL_TRAFFAR,
30
64
  };
31
- const prepareSearchRequestQueryForKursTillfallen = (utbildningstyper, searchParams) => {
65
+ const prepareSearchRequestQueryForKursTillfallen = (searchParams) => {
32
66
  const { kodEllerBenamning, organisation, sprak, startPeriod, utbildningsniva, avvecklad } = searchParams;
33
- const educationalTypes = filterAndMapEducationalTypes({ utbildningsniva, utbildningstyper });
67
+ const educationalTypes = getUtbildningsnivaParameterForKursTillfalle(utbildningsniva);
34
68
  const filterPeriod = !Boolean(startPeriod);
35
- const requestQuery = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ kodEllerBenamning: kodEllerBenamning !== null && kodEllerBenamning !== void 0 ? kodEllerBenamning : '*' }, getStartPeriodOrTerminkodStart(startPeriod)), (educationalTypes && { utbildningsniva: educationalTypes.join(',') })), (organisation && { organisation })), (sprak && { sprak })), (avvecklad && { avvecklad })), DEFAULT_INSTANCE_QUERY_PARAMS), { utbildningstypid: utbildningsTypIdConstants_1.INSTANCE_UTBILDNINGSTYP_IDS });
69
+ const requestQuery = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ kodEllerBenamning: kodEllerBenamning !== null && kodEllerBenamning !== void 0 ? kodEllerBenamning : '*' }, getStartPeriodOrTerminkodStart(startPeriod)), (educationalTypes && { utbildningsniva: educationalTypes })), (organisation && { organisation })), (sprak && { sprak })), (avvecklad && { avvecklad })), DEFAULT_INSTANCE_QUERY_PARAMS), { utbildningstypid: utbildningsTypIdConstants_1.INSTANCE_UTBILDNINGSTYP_IDS });
36
70
  return { requestQuery, filterPeriod }; // TODO Benni this does two things, filterPeriod should probably be split out
37
71
  };
38
72
  exports.prepareSearchRequestQueryForKursTillfallen = prepareSearchRequestQueryForKursTillfallen;
39
- const prepareSearchRequestQueryForKursInstans = (searchParams) => ({
40
- kodEllerBenamning: searchParams.kodEllerBenamning,
41
- antalTraffar: MAX_ANTAL_TRAFFAR,
42
- avvecklad: 'false',
43
- utbildningstypgrundtyp: 'KURS',
44
- utbildningstypid: utbildningsTypIdConstants_1.VERSION_UTBILDNINGSTYP_IDS,
45
- instansAttributVarden: attributVardenConstants_1.ATTRIBUT_VARDEN_FOR_COURSE_VERSIONS,
46
- senasteversion: 'true',
47
- });
48
- exports.prepareSearchRequestQueryForKursInstans = prepareSearchRequestQueryForKursInstans;
49
- const filterAndMapEducationalTypes = ({ utbildningsniva, utbildningstyper: ladokTypes, }) => {
50
- if (!utbildningsniva)
51
- return [];
52
- const preparatoryTypes = [ladok_attributvarde_utils_1.EDUCATIONAL_TYPE_CODE_FOR_PREPARATORY_LEVEL]; // Hard coded
53
- const basicTypes = ladokTypes
54
- .filter(typ => String(typ.NivaInomStudieordningID) === ladok_attributvarde_utils_1.EducationalLevelCode.Basic)
55
- .map(x => x.Kod);
56
- const advancedTypes = ladokTypes
57
- .filter(typ => String(typ.NivaInomStudieordningID) === ladok_attributvarde_utils_1.EducationalLevelCode.Advanced)
58
- .map(x => x.Kod);
59
- const researchTypes = ladokTypes
60
- .filter(typ => String(typ.NivaInomStudieordningID) === ladok_attributvarde_utils_1.EducationalLevelCode.Research)
61
- .map(x => x.Kod);
62
- const levelMap = new Map([
63
- [ladok_attributvarde_utils_1.EducationalLevelCode.Preparatory, preparatoryTypes],
64
- [ladok_attributvarde_utils_1.EducationalLevelCode.Basic, basicTypes],
65
- [ladok_attributvarde_utils_1.EducationalLevelCode.Advanced, advancedTypes],
66
- [ladok_attributvarde_utils_1.EducationalLevelCode.Research, researchTypes],
67
- ]);
68
- return utbildningsniva === null || utbildningsniva === void 0 ? void 0 : utbildningsniva.flatMap(level => levelMap.get(level) || []);
73
+ /**
74
+ * Takes an array of educational levels and returns a comma-separated string of the corresponding utbildningstypKoder.
75
+ * @param educationalLevels
76
+ * @returns
77
+ */
78
+ const getUtbildningsnivaParameterForKursTillfalle = (educationalLevels) => {
79
+ if (!educationalLevels)
80
+ return undefined;
81
+ return getCommaSeparatedEducationalTypesInFormat('Kod', educationalLevels);
69
82
  };
83
+ /**
84
+ * Takes an array of educational levels and returns a comma-separated string of the corresponding utbildningstypIDn.
85
+ * @param educationalLevels
86
+ * @returns
87
+ */
88
+ const getUtbildningsnivaParameterForKursInstans = (educationalLevels) => {
89
+ if (!educationalLevels)
90
+ return (0, educationalTypeUtils_1.getAllVersionUtbildningstyperIDs)().join(',');
91
+ return getCommaSeparatedEducationalTypesInFormat('ID', educationalLevels);
92
+ };
93
+ const getCommaSeparatedEducationalTypesInFormat = (format, educationalLevels) => {
94
+ const selectedEducationalTypes = (0, educationalTypeUtils_1.getVersionUtbildningstyperForEducationalLevels)(educationalLevels);
95
+ const selectedEducationalTypeIdentifiers = selectedEducationalTypes.map(item => item[format]);
96
+ return selectedEducationalTypeIdentifiers.join(',');
97
+ };
98
+ const getOrganisationsFilter = (organisationer, organisation) => {
99
+ var _a, _b;
100
+ if (organisation && (organisation === null || organisation === void 0 ? void 0 : organisation.length) === 1) {
101
+ return ((_b = (_a = organisationer
102
+ .find(org => org.departmentPrefix === organisation)) === null || _a === void 0 ? void 0 : _a.departments.map(department => department.code).join(',')) !== null && _b !== void 0 ? _b : organisation);
103
+ }
104
+ return organisation;
105
+ };
106
+ const prepareSearchRequestQueryForKursInstans = (searchParams, schoolsWithDepartments) => {
107
+ const { kodEllerBenamning, avvecklad, organisation, utbildningsniva } = searchParams;
108
+ const organisationsFilter = getOrganisationsFilter(schoolsWithDepartments, organisation);
109
+ return Object.assign(Object.assign(Object.assign({ kodEllerBenamning: kodEllerBenamning !== null && kodEllerBenamning !== void 0 ? kodEllerBenamning : '*', antalTraffar: MAX_ANTAL_TRAFFAR }, (avvecklad && { avvecklad })), (organisationsFilter && { organisation: organisationsFilter })), { utbildningstypgrundtyp: 'KURS', utbildningstypid: getUtbildningsnivaParameterForKursInstans(utbildningsniva), instansAttributVarden: attributVardenConstants_1.ATTRIBUT_VARDEN_FOR_COURSE_VERSIONS, senasteversion: 'true' });
110
+ };
111
+ exports.prepareSearchRequestQueryForKursInstans = prepareSearchRequestQueryForKursInstans;
70
112
  /**
71
113
  * If startPeriod is defined, returns it as an object with startPeriod property and comma-separated values.
72
114
  * If not, returns an object with terminkodStart property and the default period.
@@ -1 +1 @@
1
- {"version":3,"file":"searchUtils.js","sourceRoot":"","sources":["../../../src/search/utils/searchUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"searchUtils.js","sourceRoot":"","sources":["../../../src/search/utils/searchUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { LadokMellanlagerApiClient } from '@kth/ladok-mellanlager-client';
2
+ import { Language } from '../utils';
3
+ export declare const createSupportApi: (ladokClient: LadokMellanlagerApiClient) => SupportApi;
4
+ export type SupportApi = {
5
+ createDepartmentList: (language: Language, deprecated?: boolean) => Promise<SchoolWithDepartments[]>;
6
+ };
7
+ type DepartmentFlat = {
8
+ name: string;
9
+ code: string;
10
+ };
11
+ export type SchoolWithDepartments = {
12
+ departmentPrefix: string;
13
+ name: string;
14
+ departments: DepartmentFlat[];
15
+ };
16
+ export {};
@@ -0,0 +1,137 @@
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.createSupportApi = void 0;
13
+ const createSupportApi = (ladokClient) => {
14
+ return {
15
+ createDepartmentList: (language_1, ...args_1) => __awaiter(void 0, [language_1, ...args_1], void 0, function* (language, deprecated = false) {
16
+ var _a, _b, _c, _d;
17
+ const [organisationskopplingsResponse, organisationsResponse] = yield Promise.all([
18
+ ladokClient.organisationskoppling(),
19
+ ladokClient.organisation(),
20
+ ]);
21
+ const organisationer = (_b = (_a = organisationsResponse.data) === null || _a === void 0 ? void 0 : _a.Organisationer) !== null && _b !== void 0 ? _b : [];
22
+ const organisationskopplingar = (_d = (_c = organisationskopplingsResponse.data) === null || _c === void 0 ? void 0 : _c.Organisationskopplingar) !== null && _d !== void 0 ? _d : [];
23
+ const schoolsWithDepartments = extractSchoolsWithDepartments({
24
+ organisationer,
25
+ organisationskopplingar,
26
+ language,
27
+ deprecated,
28
+ });
29
+ return schoolsWithDepartments;
30
+ }),
31
+ };
32
+ };
33
+ exports.createSupportApi = createSupportApi;
34
+ const currentSchoolCodes = ['A', 'C', 'J', 'M', 'S', 'U'];
35
+ const deprecatedSchoolCodes = ['D', 'K', 'H', 'L'];
36
+ const deprecatedOrganisationCodesToInclude = ['DM', 'KD', 'KE', 'KF', 'HA', 'HPN', 'LA', 'LPA'];
37
+ const currentOrganisationCodesToExclude = [
38
+ 'AA',
39
+ 'AD',
40
+ 'ADA',
41
+ 'AG',
42
+ 'AGA',
43
+ 'AI',
44
+ 'AIA',
45
+ 'AK',
46
+ 'AKA',
47
+ 'ALA',
48
+ 'AM',
49
+ 'CA',
50
+ 'CBA',
51
+ 'CBB',
52
+ 'JA',
53
+ 'MA',
54
+ 'MAD',
55
+ 'MAS',
56
+ 'MFE',
57
+ 'MK',
58
+ 'SAC',
59
+ 'UTHS',
60
+ 'LA',
61
+ ]; // TODO This is a list of organisationCodes that has neither current nor cancelled courses. We have to find a better way to do this.
62
+ const getSchoolCodes = (deprecated) => {
63
+ if (deprecated)
64
+ return deprecatedSchoolCodes;
65
+ return currentSchoolCodes;
66
+ };
67
+ const filterDepartments = (departments, deprecated) => {
68
+ if (deprecated) {
69
+ return departments.filter(department => deprecatedOrganisationCodesToInclude.includes(department.code));
70
+ }
71
+ return departments.filter(department => currentOrganisationCodesToExclude.every(code => !department.code.startsWith(code)));
72
+ };
73
+ function extractSchoolsWithDepartments({ organisationer, organisationskopplingar, language, deprecated = false, }) {
74
+ const schoolCodes = getSchoolCodes(deprecated);
75
+ const schoolOrganisations = organisationer.filter(organisation => schoolCodes.includes(organisation.Organisationskod));
76
+ const schoolsWithDepartments = schoolOrganisations.map(school => {
77
+ const departmentHierarchy = getSubDepartments({
78
+ uid: school.Uid,
79
+ organisationskopplingar,
80
+ organisationer,
81
+ language,
82
+ });
83
+ const allDepartments = departmentHierarchy.flatMap(flattenDepartment);
84
+ // This filters out departments like "9A"
85
+ const departments = allDepartments.filter(department => department.code.startsWith(school.Organisationskod));
86
+ departments.sort((a, b) => a.code.localeCompare(b.code));
87
+ const departmentsToShow = filterDepartments(departments, deprecated);
88
+ return {
89
+ departmentPrefix: school.Organisationskod,
90
+ name: getSchoolNameFromLadokOrganisation(school, language),
91
+ departments: departmentsToShow,
92
+ };
93
+ });
94
+ schoolsWithDepartments.sort((a, b) => a.departmentPrefix.localeCompare(b.departmentPrefix));
95
+ return schoolsWithDepartments;
96
+ }
97
+ const getSubDepartments = ({ uid, organisationskopplingar, organisationer, language, }) => {
98
+ const matchingDepartmentKopplingar = organisationskopplingar.filter(koppling => koppling.OverliggandeRef.Uid === uid);
99
+ const matchingDepartments = matchingDepartmentKopplingar
100
+ .map(koppling => {
101
+ var _a;
102
+ const department = organisationer.find(org => org.Uid === koppling.UnderliggandeRef.Uid);
103
+ if (!department || !isCurrentDepartment(department))
104
+ return null;
105
+ const name = getDepartmentNameFromLadokOrganisation(department, language);
106
+ return {
107
+ name,
108
+ code: (_a = department.Organisationskod) !== null && _a !== void 0 ? _a : '',
109
+ departments: getSubDepartments({ uid: department.Uid, organisationskopplingar, organisationer, language }),
110
+ };
111
+ })
112
+ .filter(department => department !== null);
113
+ return matchingDepartments;
114
+ };
115
+ const isCurrentDepartment = (organisation) => {
116
+ var _a, _b;
117
+ return !((_a = organisation.Giltighetsperiod) === null || _a === void 0 ? void 0 : _a.Slutdatum) || new Date((_b = organisation.Giltighetsperiod) === null || _b === void 0 ? void 0 : _b.Slutdatum) > new Date();
118
+ };
119
+ const getSchoolNameFromLadokOrganisation = (org, language) => {
120
+ var _a;
121
+ let name = (_a = org.Benamning[language].split('/')[1]) !== null && _a !== void 0 ? _a : org.Benamning.sv;
122
+ name = name.replace('Skolan för ', '');
123
+ name = `${name.charAt(0).toUpperCase()}${name.slice(1)}`;
124
+ return name;
125
+ };
126
+ const getDepartmentNameFromLadokOrganisation = (org, language) => {
127
+ var _a;
128
+ let name = (_a = org.Benamning[language].split('/')[1]) !== null && _a !== void 0 ? _a : org.Benamning.sv;
129
+ return name;
130
+ };
131
+ const flattenDepartment = ({ name, code, departments }) => {
132
+ if (departments.length === 0) {
133
+ return [{ code, name }];
134
+ }
135
+ return [{ code, name }, ...departments.flatMap(flattenDepartment)];
136
+ };
137
+ //# sourceMappingURL=createSupportApis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSupportApis.js","sourceRoot":"","sources":["../../src/supportApis/createSupportApis.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ import { ProgramTillfalle } from '../mapProgramTillfalle';
10
10
  import { SearchApi } from '../search/types';
11
11
  import { ProgramCurriculum } from '../utils/programUtil';
12
12
  import { ProgramSyllabus } from '../mapProgramSyllabus';
13
+ import { SupportApi } from '../supportApis/createSupportApis';
13
14
  export type OmKursenLadokApiClient = {
14
15
  getLatestCourseVersion: (courseCode: string, language: Language) => Promise<(Course & ResponseInfo) | ResponseInfo>;
15
16
  getLatestCourseVersionIncludingCancelled: (courseCode: string, language: Language) => Promise<(Course & ResponseInfo) | ResponseInfo>;
@@ -34,4 +35,5 @@ export type OmKursenLadokApiClient = {
34
35
  getAllGradingScales: () => Promise<any>;
35
36
  getAllGradingScalesCodes: () => Promise<any>;
36
37
  getPeriods: () => Promise<MellanlagringResponse<Period>>;
38
+ Support: SupportApi;
37
39
  };
@@ -1,4 +1,4 @@
1
- import { LadokMellanlagerApiClient, Strukturdel } from '@kth/ladok-mellanlager-client';
1
+ import { Fritext, LadokMellanlagerApiClient, Strukturdel } from '@kth/ladok-mellanlager-client';
2
2
  import { Language } from './languageUtil';
3
3
  import { StructurePartInstance } from '../mapStructureCourses';
4
4
  import { StructurePartVersion } from '../mapStructurePartVersions';
@@ -23,7 +23,7 @@ export declare const handleError: (message: string, error?: any) => {
23
23
  error: string;
24
24
  details: any;
25
25
  };
26
- export declare const fetchStructureByTillfalleUid: (uid: string, ladokClient: LadokMellanlagerApiClient) => Promise<Strukturdel[]>;
26
+ export declare const fetchStructureByTillfalleUid: (uid: string, ladokClient: LadokMellanlagerApiClient) => Promise<import("@kth/ladok-mellanlager-client").UtbildningstillfalleStruktur | undefined>;
27
27
  export declare const fetchStructureByInstansUid: (uid: string, ladokClient: LadokMellanlagerApiClient) => Promise<Strukturdel[]>;
28
28
  export declare const fetchStructurePartInstances: (utbildningstillfalleUIDn: string[], ladokClient: LadokMellanlagerApiClient) => Promise<(import("@kth/ladok-mellanlager-client").UtbildningstillfalleSlim | undefined)[]>;
29
29
  export declare const fetchStructurePartsVersions: (utbildningsinstansUIDn: string[], ladokClient: LadokMellanlagerApiClient) => Promise<(import("@kth/ladok-mellanlager-client").UtbildningsinstansSlim | undefined)[]>;
@@ -33,6 +33,7 @@ type CategorizedStrukturdel = Strukturdel & {
33
33
  export declare const fetchAndCategorizeStructureParts: (utbildningstillfalleUID: string, language: Language, ladokClient: LadokMellanlagerApiClient) => Promise<{
34
34
  structureCourses: ProgramCourse[];
35
35
  structureSpecializations: StructurePartInstance[];
36
+ freeTexts: Fritext[];
36
37
  }>;
37
38
  export declare const fetchProgramStructure: (utbildningstillfalleUID: string, language: Language, ladokClient: LadokMellanlagerApiClient) => Promise<ProgramCurriculumFromStructure[]>;
38
39
  export {};
@@ -20,10 +20,9 @@ const handleError = (message, error) => {
20
20
  };
21
21
  exports.handleError = handleError;
22
22
  const fetchStructureByTillfalleUid = (uid, ladokClient) => __awaiter(void 0, void 0, void 0, function* () {
23
- var _a;
24
23
  try {
25
24
  const struktur = yield ladokClient.utbildningstillfalleStruktur(uid);
26
- return ((_a = struktur === null || struktur === void 0 ? void 0 : struktur.data) === null || _a === void 0 ? void 0 : _a.Strukturdelar) || [];
25
+ return struktur === null || struktur === void 0 ? void 0 : struktur.data;
27
26
  }
28
27
  catch (error) {
29
28
  throw (0, exports.handleError)('Failed to fetch structure', error);
@@ -197,14 +196,16 @@ function mergeStructurePartInstancesAndVersions(filteredMappedStructurePartsDivi
197
196
  });
198
197
  }
199
198
  const fetchAndCategorizeStructureParts = (utbildningstillfalleUID, language, ladokClient) => __awaiter(void 0, void 0, void 0, function* () {
200
- const structureParts = yield (0, exports.fetchStructureByTillfalleUid)(utbildningstillfalleUID, ladokClient);
201
- const categorizedStrukturParts = categorizeStructureParts(structureParts);
199
+ const structureData = yield (0, exports.fetchStructureByTillfalleUid)(utbildningstillfalleUID, ladokClient);
200
+ const { Strukturdelar = [], Fritexter: freeTexts = [] } = structureData || {};
201
+ const categorizedStrukturParts = categorizeStructureParts(Strukturdelar);
202
202
  const structurePartsDevidedByType = yield fetchStructurePartsByType(categorizedStrukturParts, language, ladokClient);
203
203
  const { filteredMappedStructurePartsDividedByType, specializationListFromStructure } = separateSpecializations(structurePartsDevidedByType);
204
204
  const filteredMappedStructurePartInstancesAndVersions = yield mergeStructurePartInstancesAndVersions(filteredMappedStructurePartsDividedByType, ladokClient, language);
205
205
  return {
206
206
  structureCourses: filteredMappedStructurePartInstancesAndVersions,
207
207
  structureSpecializations: specializationListFromStructure,
208
+ freeTexts,
208
209
  };
209
210
  });
210
211
  exports.fetchAndCategorizeStructureParts = fetchAndCategorizeStructureParts;
@@ -218,12 +219,13 @@ const getMainProgramInstanceData = (uid, language, ladokClient) => __awaiter(voi
218
219
  const omfattning = programDetails.data.Tillfallesperioder.reduce((sum, period) => sum + period.Omfattningsvarde, 0);
219
220
  const startperiod = (0, ladok_attributvarde_utils_1.extractGrunddata)(programDetails.data.Attributvarden, 'utbildning.attribut.startperiod');
220
221
  const lengthInStudyYears = Math.ceil(Number(omfattning) / 60);
221
- const { structureCourses, structureSpecializations } = yield (0, exports.fetchAndCategorizeStructureParts)(uid, language, ladokClient);
222
+ const { structureCourses, structureSpecializations, freeTexts } = yield (0, exports.fetchAndCategorizeStructureParts)(uid, language, ladokClient);
222
223
  return {
223
224
  startperiod,
224
225
  lengthInStudyYears,
225
226
  structureCourses,
226
227
  structureSpecializations,
228
+ freeTexts,
227
229
  };
228
230
  });
229
231
  const mapSpecializationCurriculums = (specializations, startperiodCode, lengthInStudyYears, language, ladokClient, allPeriods) => __awaiter(void 0, void 0, void 0, function* () {
@@ -234,11 +236,11 @@ const mapSpecializationCurriculums = (specializations, startperiodCode, lengthIn
234
236
  .filter(Boolean)
235
237
  .map(entity => (0, mapStructurePartVersions_1.mapStructurePartVersions)(entity, language));
236
238
  const specializationsCourseListFromStructure = yield Promise.all(tillfalleUids.map((uid) => __awaiter(void 0, void 0, void 0, function* () {
237
- const { structureCourses } = yield (0, exports.fetchAndCategorizeStructureParts)(uid, language, ladokClient);
238
- return structureCourses;
239
+ const { structureCourses, freeTexts } = yield (0, exports.fetchAndCategorizeStructureParts)(uid, language, ladokClient);
240
+ return { structureCourses, freeTexts };
239
241
  })));
240
242
  return mappedSpecializations.map((spec, index) => ({
241
- studyYears: (0, studyYearUtil_1.generateStudyYearData)(specializationsCourseListFromStructure[index], allPeriods, startperiodCode, lengthInStudyYears),
243
+ studyYears: (0, studyYearUtil_1.generateStudyYearData)(specializationsCourseListFromStructure[index].structureCourses, specializationsCourseListFromStructure[index].freeTexts, allPeriods, startperiodCode, lengthInStudyYears),
242
244
  programmeSpecialization: {
243
245
  programmeSpecializationCode: spec.kod,
244
246
  title: spec.benamning,
@@ -247,12 +249,12 @@ const mapSpecializationCurriculums = (specializations, startperiodCode, lengthIn
247
249
  });
248
250
  const fetchProgramStructure = (utbildningstillfalleUID, language, ladokClient) => __awaiter(void 0, void 0, void 0, function* () {
249
251
  try {
250
- const { startperiod, lengthInStudyYears, structureCourses, structureSpecializations } = yield getMainProgramInstanceData(utbildningstillfalleUID, language, ladokClient);
252
+ const { startperiod, lengthInStudyYears, structureCourses, structureSpecializations, freeTexts } = yield getMainProgramInstanceData(utbildningstillfalleUID, language, ladokClient);
251
253
  const periodData = yield ladokClient.period(); // TODO: Use cached values
252
254
  if (periodData.type === 'error') {
253
255
  throw new Error(`API error: ${periodData.responseInfo.message}`);
254
256
  }
255
- const mainStudyYears = (0, studyYearUtil_1.generateStudyYearData)(structureCourses, periodData.data.Period, startperiod === null || startperiod === void 0 ? void 0 : startperiod.code, lengthInStudyYears);
257
+ const mainStudyYears = (0, studyYearUtil_1.generateStudyYearData)(structureCourses, freeTexts, periodData.data.Period, startperiod === null || startperiod === void 0 ? void 0 : startperiod.code, lengthInStudyYears);
256
258
  const specializationCurriculums = yield mapSpecializationCurriculums(structureSpecializations, startperiod === null || startperiod === void 0 ? void 0 : startperiod.code, lengthInStudyYears, language, ladokClient, periodData.data.Period);
257
259
  return [{ studyYears: mainStudyYears }, ...specializationCurriculums];
258
260
  }
@@ -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,13 +1,14 @@
1
- import { PeriodItem, SokUtbildningsTillfalleItem, SokUtbildningsTillfalleSlimItem } from '@kth/ladok-mellanlager-client';
1
+ import { Fritext, PeriodItem, SokUtbildningsTillfalleItem, SokUtbildningsTillfalleSlimItem } from '@kth/ladok-mellanlager-client';
2
2
  import { ProgramCourse } from './programStrukturUtil';
3
3
  export declare const LAST_YEAR_TO_USE_SYLLABUSES_FOR_KURSLISTA = 2025;
4
4
  export type StudyYear = {
5
5
  yearNumber: number;
6
6
  courses: ProgramCourse[];
7
+ freeTexts: Fritext[];
7
8
  };
8
9
  export declare const findMatchingPeriod: (date: string, periods: PeriodItem[]) => PeriodItem | undefined;
9
10
  export declare const extractYear: (kod: string) => number;
10
- export declare const getStudyYearFromEndDate: (periodEndDate: string, periodDetails: PeriodItem[], mainStartPeriod: string) => number | undefined;
11
- export declare const generateStudyYearData: (coursesData: ProgramCourse[], periodDetails: PeriodItem[], mainStartPeriod: string, lengthStudyYear: number) => StudyYear[];
11
+ export declare const getStudyYearFromDate: (periodEndDate: string, periodDetails: PeriodItem[], mainStartPeriod: string) => number | undefined;
12
+ export declare const generateStudyYearData: (coursesData: ProgramCourse[], freeTexts: Fritext[], periodDetails: PeriodItem[], mainStartPeriod: string, lengthStudyYear: number) => StudyYear[];
12
13
  export declare const getStudyYearFromSemesters: (programmeStartSemester: string, courseStartSemester: string) => number | null;
13
14
  export declare const extractStudyYears: (courseInstance: SokUtbildningsTillfalleItem | SokUtbildningsTillfalleSlimItem, programmeInstance: SokUtbildningsTillfalleItem | SokUtbildningsTillfalleSlimItem, periodItems: PeriodItem[]) => number[];
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.extractStudyYears = exports.getStudyYearFromSemesters = exports.generateStudyYearData = exports.getStudyYearFromEndDate = exports.extractYear = exports.findMatchingPeriod = exports.LAST_YEAR_TO_USE_SYLLABUSES_FOR_KURSLISTA = void 0;
3
+ exports.extractStudyYears = exports.getStudyYearFromSemesters = exports.generateStudyYearData = exports.getStudyYearFromDate = exports.extractYear = exports.findMatchingPeriod = exports.LAST_YEAR_TO_USE_SYLLABUSES_FOR_KURSLISTA = void 0;
4
4
  const date_fns_1 = require("date-fns");
5
5
  const periodUtil_1 = require("./periodUtil");
6
6
  exports.LAST_YEAR_TO_USE_SYLLABUSES_FOR_KURSLISTA = 2025;
@@ -46,7 +46,7 @@ const extractYear = (kod) => {
46
46
  }
47
47
  };
48
48
  exports.extractYear = extractYear;
49
- const getStudyYearFromEndDate = (periodEndDate, periodDetails, mainStartPeriod) => {
49
+ const getStudyYearFromDate = (periodEndDate, periodDetails, mainStartPeriod) => {
50
50
  const matchedPeriod = (0, exports.findMatchingPeriod)(periodEndDate, periodDetails);
51
51
  if (!matchedPeriod)
52
52
  return;
@@ -54,14 +54,26 @@ const getStudyYearFromEndDate = (periodEndDate, periodDetails, mainStartPeriod)
54
54
  const startStudyYear = (0, exports.extractYear)(matchedPeriod.Kod);
55
55
  return startStudyYear - baseYear + 1;
56
56
  };
57
- exports.getStudyYearFromEndDate = getStudyYearFromEndDate;
58
- const generateStudyYearData = (coursesData, periodDetails, mainStartPeriod, lengthStudyYear) => {
59
- const studyYears = {};
57
+ exports.getStudyYearFromDate = getStudyYearFromDate;
58
+ const generateStudyYearData = (coursesData, freeTexts, periodDetails, mainStartPeriod, lengthStudyYear) => {
59
+ const studyYearCourses = {};
60
+ const studyYearFreeTexts = {};
60
61
  const baseYear = (0, exports.extractYear)(mainStartPeriod);
62
+ // Step 1: Map Fritexts to study years
63
+ freeTexts.forEach(ft => {
64
+ const studyYear = (0, exports.getStudyYearFromDate)(ft.PlaneradPeriodStartDatum, periodDetails, mainStartPeriod);
65
+ if (studyYear && studyYear >= 1 && studyYear <= lengthStudyYear) {
66
+ if (!studyYearFreeTexts[studyYear]) {
67
+ studyYearFreeTexts[studyYear] = [];
68
+ }
69
+ studyYearFreeTexts[studyYear].push(ft);
70
+ }
71
+ });
72
+ // Step 2: Group courses by study year
61
73
  coursesData.forEach(course => {
62
74
  const studyYearToPeriods = {};
63
75
  for (const period of course.Tillfallesperioder) {
64
- const studyYear = (0, exports.getStudyYearFromEndDate)(period.ForstaUndervisningsdatum, periodDetails, mainStartPeriod);
76
+ const studyYear = (0, exports.getStudyYearFromDate)(period.ForstaUndervisningsdatum, periodDetails, mainStartPeriod);
65
77
  if (!studyYear) {
66
78
  console.log(`studyYear could not be found for ${course.kod}`);
67
79
  continue;
@@ -79,16 +91,20 @@ const generateStudyYearData = (coursesData, periodDetails, mainStartPeriod, leng
79
91
  // Assign each course to its respective study years with only relevant Tillfallesperioder
80
92
  Object.entries(studyYearToPeriods).forEach(([yearStr, filteredPeriods]) => {
81
93
  const year = Number(yearStr);
82
- if (!studyYears[year])
83
- studyYears[year] = [];
84
- studyYears[year].push(Object.assign(Object.assign({}, course), { Tillfallesperioder: filteredPeriods }));
94
+ if (!studyYearCourses[year])
95
+ studyYearCourses[year] = [];
96
+ studyYearCourses[year].push(Object.assign(Object.assign({}, course), { Tillfallesperioder: filteredPeriods }));
85
97
  });
86
98
  });
87
- // Ensure all study years are present in the final array
88
- return Array.from({ length: lengthStudyYear }, (_, i) => ({
89
- yearNumber: i + 1,
90
- courses: studyYears[i + 1] || [],
91
- }));
99
+ // Step 3: Return complete study years with optional freeTexts
100
+ return Array.from({ length: lengthStudyYear }, (_, i) => {
101
+ const yearNumber = i + 1;
102
+ return {
103
+ yearNumber,
104
+ courses: studyYearCourses[yearNumber] || [],
105
+ freeTexts: studyYearFreeTexts[yearNumber] || [],
106
+ };
107
+ });
92
108
  };
93
109
  exports.generateStudyYearData = generateStudyYearData;
94
110
  const getStudyYearFromSemesters = (programmeStartSemester, courseStartSemester) => {
@@ -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.3.12",
3
+ "version": "1.3.13",
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,8 +21,8 @@
21
21
  "build:publish": "npm install --no-workspaces && npm run build"
22
22
  },
23
23
  "dependencies": {
24
- "@kth/ladok-attributvarde-utils": "0.1.8",
25
- "@kth/ladok-mellanlager-client": "0.4.7",
24
+ "@kth/ladok-attributvarde-utils": "0.1.9",
25
+ "@kth/ladok-mellanlager-client": "0.4.8",
26
26
  "date-fns": "^4.1.0",
27
27
  "showdown": "^2.1.0"
28
28
  }