@kth/om-kursen-ladok-client 2.2.0 → 2.3.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 (71) hide show
  1. package/dist/attributVardenConstants.d.ts +0 -3
  2. package/dist/attributVardenConstants.js +7 -4
  3. package/dist/attributVardenConstants.js.map +1 -1
  4. package/dist/createApiClient.js +59 -84
  5. package/dist/createApiClient.js.map +1 -1
  6. package/dist/kth/KTHPeriod/KTHPeriod.d.ts +19 -0
  7. package/dist/kth/KTHPeriod/KTHPeriod.js +60 -0
  8. package/dist/kth/KTHPeriod/KTHPeriod.js.map +1 -0
  9. package/dist/kth/KTHPeriod/calculateKTHPeriodSemesterFromTillfallesperiod.d.ts +10 -0
  10. package/dist/kth/KTHPeriod/calculateKTHPeriodSemesterFromTillfallesperiod.js +41 -0
  11. package/dist/kth/KTHPeriod/calculateKTHPeriodSemesterFromTillfallesperiod.js.map +1 -0
  12. package/dist/kth/KTHPeriod/convertToKTHPeriods.d.ts +12 -0
  13. package/dist/kth/KTHPeriod/convertToKTHPeriods.js +76 -0
  14. package/dist/kth/KTHPeriod/convertToKTHPeriods.js.map +1 -0
  15. package/dist/kth/KTHPeriod/extractKTHPeriodSemesterFromLasperiodsfordelning.d.ts +7 -0
  16. package/dist/kth/KTHPeriod/extractKTHPeriodSemesterFromLasperiodsfordelning.js +36 -0
  17. package/dist/kth/KTHPeriod/extractKTHPeriodSemesterFromLasperiodsfordelning.js.map +1 -0
  18. package/dist/kth/KTHPeriod/getKTHPeriodSemesters.d.ts +16 -0
  19. package/dist/kth/KTHPeriod/getKTHPeriodSemesters.js +28 -0
  20. package/dist/kth/KTHPeriod/getKTHPeriodSemesters.js.map +1 -0
  21. package/dist/kth/KTHPeriod/matchDateToKTHPeriodYear.d.ts +9 -0
  22. package/dist/kth/KTHPeriod/matchDateToKTHPeriodYear.js +21 -0
  23. package/dist/kth/KTHPeriod/matchDateToKTHPeriodYear.js.map +1 -0
  24. package/dist/kth/KTHPeriod/testdata/kthPeriods.d.ts +8 -0
  25. package/dist/kth/KTHPeriod/testdata/kthPeriods.js +43 -0
  26. package/dist/kth/KTHPeriod/testdata/kthPeriods.js.map +1 -0
  27. package/dist/kth/extractFunctions/extractBasicCourseData.d.ts +4 -1
  28. package/dist/kth/extractFunctions/extractBasicCourseData.js +6 -5
  29. package/dist/kth/extractFunctions/extractBasicCourseData.js.map +1 -1
  30. package/dist/mapCourseRound.d.ts +8 -15
  31. package/dist/mapCourseRound.js.map +1 -1
  32. package/dist/mapCourseSyllabus.d.ts +4 -1
  33. package/dist/mapCourseSyllabus.js.map +1 -1
  34. package/dist/programme/createProgrammeApi.js +2 -2
  35. package/dist/programme/createProgrammeApi.js.map +1 -1
  36. package/dist/search/createSearchApi.js +1 -1
  37. package/dist/search/createSearchApi.js.map +1 -1
  38. package/dist/search/searchService.js +1 -1
  39. package/dist/search/searchService.js.map +1 -1
  40. package/dist/search/types.d.ts +4 -1
  41. package/dist/search/utils/searchUtils.d.ts +4 -4
  42. package/dist/search/utils/searchUtils.js +2 -10
  43. package/dist/search/utils/searchUtils.js.map +1 -1
  44. package/dist/supportApis/PeriodService.d.ts +8 -0
  45. package/dist/supportApis/PeriodService.js +46 -0
  46. package/dist/supportApis/PeriodService.js.map +1 -0
  47. package/dist/utils/AcademicSemester.d.ts +1 -0
  48. package/dist/utils/AcademicSemester.js +5 -0
  49. package/dist/utils/AcademicSemester.js.map +1 -1
  50. package/dist/utils/getAllEntitiesByUseOfContinuation.d.ts +6 -2
  51. package/dist/utils/getAllEntitiesByUseOfContinuation.js +4 -2
  52. package/dist/utils/getAllEntitiesByUseOfContinuation.js.map +1 -1
  53. package/dist/utils/languageUtil.d.ts +5 -0
  54. package/dist/utils/languageUtil.js +11 -2
  55. package/dist/utils/languageUtil.js.map +1 -1
  56. package/dist/utils/mergeResponses.d.ts +2 -1
  57. package/dist/utils/mergeResponses.js +24 -6
  58. package/dist/utils/mergeResponses.js.map +1 -1
  59. package/dist/utils/periodUtil.d.ts +6 -0
  60. package/dist/utils/periodUtil.js +12 -2
  61. package/dist/utils/periodUtil.js.map +1 -1
  62. package/dist/utils/programUtil.d.ts +3 -3
  63. package/dist/utils/programUtil.js +38 -52
  64. package/dist/utils/programUtil.js.map +1 -1
  65. package/dist/utils/responseUtils.d.ts +4 -0
  66. package/dist/utils/responseUtils.js +17 -0
  67. package/dist/utils/responseUtils.js.map +1 -0
  68. package/dist/utils/typeChecking.d.ts +6 -0
  69. package/dist/utils/typeChecking.js +8 -1
  70. package/dist/utils/typeChecking.js.map +1 -1
  71. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"AcademicSemester.js","sourceRoot":"","sources":["../../src/utils/AcademicSemester.ts"],"names":[],"mappings":";;;AAAA,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,uDAAU,CAAA;IACV,uDAAU,CAAA;AACZ,CAAC,EAHW,cAAc,8BAAd,cAAc,QAGzB;AAED,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,4BAAa,CAAA;IACb,4BAAa,CAAA;AACf,CAAC,EAHW,WAAW,2BAAX,WAAW,QAGtB;AAOD,MAAa,gBAAgB;IAI3B,YAAY,IAAY,EAAE,cAA8B;QACtD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;IACtC,CAAC;IAcD;;;OAGG;IACI,MAAM,CAAC,qBAAqB,CAAC,KAAa;QAC/C,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,EAAE,CAAA;QAC1C,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;QACtD,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAA;QAC5B,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,KAAK,CAAA;QAC/B,OAAO,IAAI,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,qBAAqB,CAAC,IAAmB,CAAC,CAAC,CAAA;IAC3G,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,qBAAqB,CAAC,QAAgB;QAClD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;QAC/C,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAA;QAC5B,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,KAAK,CAAA;QAClC,OAAO,IAAI,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,OAAO,CAAmB,CAAC,CAAA;IACjF,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAwB;QACnE,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA;IACnD,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;IAC7C,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,MAAM,MAAM,GAAG,gBAAgB,CAAC,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAC1E,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;IAChC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAA;IACnC,CAAC;IAED,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,cAAc,EAAE,IAAI,CAAC,cAAc;SACpC,CAAA;IACH,CAAC;;AA3EH,4CA4EC;AAnEC,oCAAoC;AACZ,sCAAqB,GAAwC;IACnF,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM;IAC3C,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM;CAC5C,CAAA;AAED,yCAAyC;AACjB,sCAAqB,GAAwC;IACnF,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,MAAM;IAC3C,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,MAAM;CAC5C,CAAA"}
1
+ {"version":3,"file":"AcademicSemester.js","sourceRoot":"","sources":["../../src/utils/AcademicSemester.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,9 @@
1
- import { MellanlagringSearchResponse, SokUtbildningsInstansSlimQuery, SokUtbildningsTillfalleSlimQuery } from '@kth/ladok-mellanlager-client';
1
+ import { MellanlagringSearchResponse, ResponseInfoError, ResponseInfoOk, SokUtbildningsInstansSlimQuery, SokUtbildningsTillfalleSlimQuery } from '@kth/ladok-mellanlager-client';
2
2
  import { ContinuationOptions } from '../search/types';
3
+ export type AllEntitiesByUseOfContinuation<T> = {
4
+ responseInfo: ResponseInfoOk | ResponseInfoError;
5
+ allEntities: T[];
6
+ };
3
7
  export declare const getAllEntitiesByUseOfContinuation: <T, K extends SokUtbildningsInstansSlimQuery | SokUtbildningsTillfalleSlimQuery>(apiCall: (requestQuery: K, requestHeader?: {
4
8
  continuationToken?: string;
5
- }) => Promise<MellanlagringSearchResponse<T>>, requestQuery: K, { maxSearchResultsToReturn, maxContinuationIterations, }?: ContinuationOptions) => Promise<T[]>;
9
+ }) => Promise<MellanlagringSearchResponse<T>>, requestQuery: K, { maxSearchResultsToReturn, maxContinuationIterations, }?: ContinuationOptions) => Promise<AllEntitiesByUseOfContinuation<T>>;
@@ -18,12 +18,14 @@ const getAllEntitiesByUseOfContinuation = (apiCall_1, requestQuery_1, ...args_1)
18
18
  let continuationToken = undefined;
19
19
  let iterationCount = 0;
20
20
  let allEntities = [];
21
+ let responseInfo;
21
22
  do {
22
23
  if (iterationCount >= maxContinuationIterations) {
23
24
  throw SearchError_1.SearchError.overflow(`Maximum number of continuation iterations reached: ${maxContinuationIterations}`);
24
25
  }
25
26
  const requestHeader = Object.assign({}, (continuationToken !== null && continuationToken !== undefined && { continuationToken }));
26
27
  const result = yield apiCall(requestQuery, requestHeader);
28
+ responseInfo = result.responseInfo;
27
29
  // TODO Benni If we get this error after a few continuations, what should happen? At least error log
28
30
  if (typeof result === 'string') {
29
31
  throw SearchError_1.SearchError.unknown(result);
@@ -34,7 +36,7 @@ const getAllEntitiesByUseOfContinuation = (apiCall_1, requestQuery_1, ...args_1)
34
36
  }
35
37
  if (result.searchMeta.pageResultSize === 0) {
36
38
  // TODO Benni: can we occur this on the last continuationToken? Check here whether we have allCourses at all or not
37
- return [];
39
+ return { responseInfo, allEntities: [] };
38
40
  }
39
41
  allEntities = allEntities.concat(result.items);
40
42
  if (allEntities.length > maxSearchResultsToReturn) {
@@ -43,7 +45,7 @@ const getAllEntitiesByUseOfContinuation = (apiCall_1, requestQuery_1, ...args_1)
43
45
  continuationToken = (_a = result.searchMeta.continuationToken) !== null && _a !== void 0 ? _a : undefined;
44
46
  iterationCount++;
45
47
  } while (continuationToken);
46
- return allEntities;
48
+ return { responseInfo, allEntities };
47
49
  });
48
50
  exports.getAllEntitiesByUseOfContinuation = getAllEntitiesByUseOfContinuation;
49
51
  //# sourceMappingURL=getAllEntitiesByUseOfContinuation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getAllEntitiesByUseOfContinuation.js","sourceRoot":"","sources":["../../src/utils/getAllEntitiesByUseOfContinuation.ts"],"names":[],"mappings":";;;;;;;;;;;;AAKA,sDAAkD;AAGlD,MAAM,4BAA4B,GAAG,GAAG,CAAA,CAAC,0HAA0H;AACnK,MAAM,2BAA2B,GAAG,CAAC,CAAA;AAE9B,MAAM,iCAAiC,GAAG,uCAejC,EAAE,8EAXhB,OAK4C,EAC5C,YAAe,EACf,EACE,wBAAwB,GAAG,4BAA4B,EACvD,yBAAyB,GAAG,2BAA2B,MAChC,EAAE;;IAE3B,IAAI,iBAAiB,GAAuB,SAAS,CAAA;IACrD,IAAI,cAAc,GAAG,CAAC,CAAA;IACtB,IAAI,WAAW,GAAQ,EAAE,CAAA;IAEzB,GAAG,CAAC;QACF,IAAI,cAAc,IAAI,yBAAyB,EAAE,CAAC;YAChD,MAAM,yBAAW,CAAC,QAAQ,CAAC,sDAAsD,yBAAyB,EAAE,CAAC,CAAA;QAC/G,CAAC;QACD,MAAM,aAAa,qBACd,CAAC,iBAAiB,KAAK,IAAI,IAAI,iBAAiB,KAAK,SAAS,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAC5F,CAAA;QACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE,aAAa,CAAC,CAAA;QAEzD,oGAAoG;QACpG,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,yBAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnC,CAAC;QAED,oGAAoG;QACpG,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5B,MAAM,yBAAW,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QACxD,CAAC;QAED,IAAI,MAAM,CAAC,UAAU,CAAC,cAAc,KAAK,CAAC,EAAE,CAAC;YAC3C,mHAAmH;YACnH,OAAO,EAAE,CAAA;QACX,CAAC;QAED,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAE9C,IAAI,WAAW,CAAC,MAAM,GAAG,wBAAwB,EAAE,CAAC;YAClD,MAAM,yBAAW,CAAC,QAAQ,CAAC,wCAAwC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAA;QAC1F,CAAC;QAED,iBAAiB,GAAG,MAAA,MAAM,CAAC,UAAU,CAAC,iBAAiB,mCAAI,SAAS,CAAA;QACpE,cAAc,EAAE,CAAA;IAClB,CAAC,QAAQ,iBAAiB,EAAC;IAE3B,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA,CAAA;AAvDY,QAAA,iCAAiC,qCAuD7C"}
1
+ {"version":3,"file":"getAllEntitiesByUseOfContinuation.js","sourceRoot":"","sources":["../../src/utils/getAllEntitiesByUseOfContinuation.ts"],"names":[],"mappings":";;;;;;;;;;;;AAOA,sDAAkD;AAGlD,MAAM,4BAA4B,GAAG,GAAG,CAAA,CAAC,0HAA0H;AACnK,MAAM,2BAA2B,GAAG,CAAC,CAAA;AAE9B,MAAM,iCAAiC,GAAG,uCAeH,EAAE,8EAX9C,OAK4C,EAC5C,YAAe,EACf,EACE,wBAAwB,GAAG,4BAA4B,EACvD,yBAAyB,GAAG,2BAA2B,MAChC,EAAE;;IAE3B,IAAI,iBAAiB,GAAuB,SAAS,CAAA;IACrD,IAAI,cAAc,GAAG,CAAC,CAAA;IACtB,IAAI,WAAW,GAAQ,EAAE,CAAA;IACzB,IAAI,YAAgD,CAAA;IAEpD,GAAG,CAAC;QACF,IAAI,cAAc,IAAI,yBAAyB,EAAE,CAAC;YAChD,MAAM,yBAAW,CAAC,QAAQ,CAAC,sDAAsD,yBAAyB,EAAE,CAAC,CAAA;QAC/G,CAAC;QACD,MAAM,aAAa,qBACd,CAAC,iBAAiB,KAAK,IAAI,IAAI,iBAAiB,KAAK,SAAS,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAC5F,CAAA;QACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE,aAAa,CAAC,CAAA;QAEzD,YAAY,GAAG,MAAM,CAAC,YAAY,CAAA;QAElC,oGAAoG;QACpG,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,yBAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnC,CAAC;QAED,oGAAoG;QACpG,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5B,MAAM,yBAAW,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QACxD,CAAC;QAED,IAAI,MAAM,CAAC,UAAU,CAAC,cAAc,KAAK,CAAC,EAAE,CAAC;YAC3C,mHAAmH;YACnH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,EAAE,CAAA;QAC1C,CAAC;QAED,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAE9C,IAAI,WAAW,CAAC,MAAM,GAAG,wBAAwB,EAAE,CAAC;YAClD,MAAM,yBAAW,CAAC,QAAQ,CAAC,wCAAwC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAA;QAC1F,CAAC;QAED,iBAAiB,GAAG,MAAA,MAAM,CAAC,UAAU,CAAC,iBAAiB,mCAAI,SAAS,CAAA;QACpE,cAAc,EAAE,CAAA;IAClB,CAAC,QAAQ,iBAAiB,EAAC;IAE3B,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,CAAA;AACtC,CAAC,CAAA,CAAA;AA1DY,QAAA,iCAAiC,qCA0D7C"}
@@ -1,9 +1,14 @@
1
1
  import { EduLevel, Grunddata, Organisation, Studietakt, Tilltradesniva, Utbildningstyp } from '@kth/ladok-attributvarde-utils';
2
2
  export type Language = 'sv' | 'en';
3
+ export declare enum LadokLanguageName {
4
+ Swedish = "svensk",
5
+ English = "engelsk"
6
+ }
3
7
  export declare enum LanguageCode {
4
8
  Swedish = "sv",
5
9
  English = "en"
6
10
  }
11
+ export declare const isEnglish: (language: Language) => language is "en";
7
12
  export interface TranslatedGrunddata {
8
13
  id: string;
9
14
  code: string;
@@ -11,19 +11,28 @@ var __rest = (this && this.__rest) || function (s, e) {
11
11
  return t;
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.translateStudietakt = exports.translateEduLevel = exports.translatedTilltradesniva = exports.translateUtbildningstyp = exports.translateOrganisation = exports.translateGrunddata = exports.LanguageCode = void 0;
14
+ exports.translateStudietakt = exports.translateEduLevel = exports.translatedTilltradesniva = exports.translateUtbildningstyp = exports.translateOrganisation = exports.translateGrunddata = exports.isEnglish = exports.LanguageCode = exports.LadokLanguageName = void 0;
15
+ var LadokLanguageName;
16
+ (function (LadokLanguageName) {
17
+ LadokLanguageName["Swedish"] = "svensk";
18
+ LadokLanguageName["English"] = "engelsk";
19
+ })(LadokLanguageName || (exports.LadokLanguageName = LadokLanguageName = {}));
15
20
  var LanguageCode;
16
21
  (function (LanguageCode) {
17
22
  LanguageCode["Swedish"] = "sv";
18
23
  LanguageCode["English"] = "en";
19
24
  })(LanguageCode || (exports.LanguageCode = LanguageCode = {}));
25
+ const isEnglish = (language) => {
26
+ return language === LanguageCode.English;
27
+ };
28
+ exports.isEnglish = isEnglish;
20
29
  const translateGrunddata = (grunddata, language) => {
21
30
  const { id, code } = grunddata, rest = __rest(grunddata, ["id", "code"]);
22
31
  return {
23
32
  id,
24
33
  code,
25
34
  name: rest[language],
26
- nameOther: rest[language === 'sv' ? 'en' : 'sv'],
35
+ nameOther: rest[(0, exports.isEnglish)(language) ? LanguageCode.Swedish : LanguageCode.English],
27
36
  };
28
37
  };
29
38
  exports.translateGrunddata = translateGrunddata;
@@ -1 +1 @@
1
- {"version":3,"file":"languageUtil.js","sourceRoot":"","sources":["../../src/utils/languageUtil.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAWA,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,8BAAc,CAAA;IACd,8BAAc,CAAA;AAChB,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB;AAmCM,MAAM,kBAAkB,GAAG,CAAC,SAAoB,EAAE,QAAkB,EAAuB,EAAE;IAClG,MAAM,EAAE,EAAE,EAAE,IAAI,KAAc,SAAS,EAAlB,IAAI,UAAK,SAAS,EAAjC,cAAqB,CAAY,CAAA;IACvC,OAAO;QACL,EAAE;QACF,IAAI;QACJ,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC;QACpB,SAAS,EAAE,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;KACjD,CAAA;AACH,CAAC,CAAA;AARY,QAAA,kBAAkB,sBAQ9B;AAEM,MAAM,qBAAqB,GAAG,CAAC,YAA0B,EAAE,QAAkB,EAA0B,EAAE;IAC9G,uCACK,IAAA,0BAAkB,EAAC,YAAY,EAAE,QAAQ,CAAC,KAC7C,oBAAoB,EAAE,YAAY,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAC9D;AACH,CAAC,CAAA;AALY,QAAA,qBAAqB,yBAKjC;AAEM,MAAM,uBAAuB,GAAG,CACrC,cAA8B,EAC9B,QAAkB,EACQ,EAAE;IAC5B,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,cAAc,CAAC,WAAW,CAAA;IAC7C,MAAM,KAAoB,cAAc,CAAC,KAAK,EAAxC,EAAE,IAAI,OAAkC,EAA7B,IAAI,cAAf,QAAiB,CAAuB,CAAA;IAC9C,uCACK,IAAA,0BAAkB,EAAC,cAAc,EAAE,QAAQ,CAAC,KAC/C,WAAW,EAAE;YACX,IAAI,EAAE,cAAc,CAAC,WAAW,CAAC,IAAI;YACrC,EAAE;YACF,EAAE;SACH,EACD,KAAK,EAAE;YACL,IAAI;YACJ,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC;SACrB,IACF;AACH,CAAC,CAAA;AAlBY,QAAA,uBAAuB,2BAkBnC;AAEM,MAAM,wBAAwB,GAAG,CACtC,cAA8B,EAC9B,QAAkB,EACQ,EAAE;IAC5B,MAAM,KAAoB,cAAc,CAAC,KAAK,EAAxC,EAAE,IAAI,OAAkC,EAA7B,IAAI,cAAf,QAAiB,CAAuB,CAAA;IAC9C,uCACK,IAAA,0BAAkB,EAAC,cAAc,EAAE,QAAQ,CAAC,KAC/C,KAAK,EAAE;YACL,IAAI;YACJ,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC;SACrB,IACF;AACH,CAAC,CAAA;AAZY,QAAA,wBAAwB,4BAYpC;AAEM,MAAM,iBAAiB,GAAG,CAAC,QAAkB,EAAE,QAAkB,EAAsB,EAAE;IAC9F,MAAM,EAAE,IAAI,KAAc,QAAQ,EAAjB,IAAI,UAAK,QAAQ,EAA5B,QAAiB,CAAW,CAAA;IAClC,OAAO;QACL,IAAI;QACJ,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC;KACrB,CAAA;AACH,CAAC,CAAA;AANY,QAAA,iBAAiB,qBAM7B;AAEM,MAAM,mBAAmB,GAAG,CAAC,UAAsB,EAAE,QAAkB,EAAwB,EAAE;IACtG,uCACK,IAAA,0BAAkB,EAAC,UAAU,EAAE,QAAQ,CAAC,KAC3C,IAAI,EAAE,UAAU,CAAC,IAAI,IACtB;AACH,CAAC,CAAA;AALY,QAAA,mBAAmB,uBAK/B"}
1
+ {"version":3,"file":"languageUtil.js","sourceRoot":"","sources":["../../src/utils/languageUtil.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
- import { MellanlagringSearchResponse } from '@kth/ladok-mellanlager-client';
1
+ import { MellanlagringSearchResponse, ResponseInfo } from '@kth/ladok-mellanlager-client';
2
2
  export declare const mergePlainArrays: <T>(a: T[], b: T[], uniqueItemKey: (item: T) => string) => T[];
3
3
  export declare const mergeApiResponses: <T>(a: MellanlagringSearchResponse<T>, b: MellanlagringSearchResponse<T>, uniqueItemKey: (item: T) => string) => MellanlagringSearchResponse<T>;
4
+ export declare const mergeResponseInfo: (a: ResponseInfo, b: ResponseInfo) => ResponseInfo;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mergeApiResponses = exports.mergePlainArrays = void 0;
3
+ exports.mergeResponseInfo = exports.mergeApiResponses = exports.mergePlainArrays = void 0;
4
4
  const mergePlainArrays = (a, b, uniqueItemKey) => {
5
5
  const mergedItemsMap = new Map();
6
6
  for (const item of a !== null && a !== void 0 ? a : []) {
@@ -18,13 +18,10 @@ const mergeApiResponses = (a, b, uniqueItemKey) => {
18
18
  return a;
19
19
  if (b.type === 'error')
20
20
  return b;
21
+ const mergedResponseInfo = (0, exports.mergeResponseInfo)(a.responseInfo, b.responseInfo);
21
22
  return {
22
23
  type: 'success',
23
- responseInfo: {
24
- apiError: a.responseInfo.apiError || b.responseInfo.apiError,
25
- statusCode: Math.max(a.responseInfo.statusCode, b.responseInfo.statusCode),
26
- statusText: a.responseInfo.statusText || b.responseInfo.statusText,
27
- },
24
+ responseInfo: mergedResponseInfo,
28
25
  searchMeta: {
29
26
  pageResultSize: ((_a = a.searchMeta.pageResultSize) !== null && _a !== void 0 ? _a : 0) + ((_b = b.searchMeta.pageResultSize) !== null && _b !== void 0 ? _b : 0),
30
27
  requestCharge: ((_c = a.searchMeta.requestCharge) !== null && _c !== void 0 ? _c : 0) + ((_d = b.searchMeta.requestCharge) !== null && _d !== void 0 ? _d : 0),
@@ -34,4 +31,25 @@ const mergeApiResponses = (a, b, uniqueItemKey) => {
34
31
  };
35
32
  };
36
33
  exports.mergeApiResponses = mergeApiResponses;
34
+ const mergeResponseInfo = (a, b) => {
35
+ const isError = a.apiError || b.apiError;
36
+ if (isError) {
37
+ const errorResponse = a.apiError ? a : b;
38
+ const errorMessage = errorResponse.message || 'Unknown error';
39
+ return {
40
+ apiError: true,
41
+ message: errorMessage,
42
+ statusCode: errorResponse.statusCode,
43
+ statusText: errorResponse.statusText,
44
+ };
45
+ }
46
+ // This ensures statusCode and statusText are always from the same response
47
+ const useResponseA = a.statusCode >= b.statusCode;
48
+ return {
49
+ apiError: false,
50
+ statusCode: useResponseA ? a.statusCode : b.statusCode,
51
+ statusText: useResponseA ? a.statusText : b.statusText,
52
+ };
53
+ };
54
+ exports.mergeResponseInfo = mergeResponseInfo;
37
55
  //# sourceMappingURL=mergeResponses.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mergeResponses.js","sourceRoot":"","sources":["../../src/utils/mergeResponses.ts"],"names":[],"mappings":";;;AAEO,MAAM,gBAAgB,GAAG,CAAI,CAAM,EAAE,CAAM,EAAE,aAAkC,EAAO,EAAE;IAC7F,MAAM,cAAc,GAAG,IAAI,GAAG,EAAa,CAAA;IAE3C,KAAK,MAAM,IAAI,IAAI,CAAC,aAAD,CAAC,cAAD,CAAC,GAAI,EAAE,EAAE,CAAC;QAC3B,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;IAC/C,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,CAAC,aAAD,CAAC,cAAD,CAAC,GAAI,EAAE,EAAE,CAAC;QAC3B,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;IAC/C,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAA;AAC5C,CAAC,CAAA;AAZY,QAAA,gBAAgB,oBAY5B;AAEM,MAAM,iBAAiB,GAAG,CAC/B,CAAiC,EACjC,CAAiC,EACjC,aAAkC,EACF,EAAE;;IAClC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,CAAC,CAAA;IAChC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,CAAC,CAAA;IAEhC,OAAO;QACL,IAAI,EAAE,SAAS;QACf,YAAY,EAAE;YACZ,QAAQ,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ,IAAI,CAAC,CAAC,YAAY,CAAC,QAAQ;YAC5D,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC;YAC1E,UAAU,EAAE,CAAC,CAAC,YAAY,CAAC,UAAU,IAAI,CAAC,CAAC,YAAY,CAAC,UAAU;SACnE;QACD,UAAU,EAAE;YACV,cAAc,EAAE,CAAC,MAAA,CAAC,CAAC,UAAU,CAAC,cAAc,mCAAI,CAAC,CAAC,GAAG,CAAC,MAAA,CAAC,CAAC,UAAU,CAAC,cAAc,mCAAI,CAAC,CAAC;YACvF,aAAa,EAAE,CAAC,MAAA,CAAC,CAAC,UAAU,CAAC,aAAa,mCAAI,CAAC,CAAC,GAAG,CAAC,MAAA,CAAC,CAAC,UAAU,CAAC,aAAa,mCAAI,CAAC,CAAC;YACpF,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,MAAA,CAAC,CAAC,UAAU,CAAC,WAAW,mCAAI,CAAC,EAAE,MAAA,CAAC,CAAC,UAAU,CAAC,WAAW,mCAAI,CAAC,CAAC;SACpF;QACD,KAAK,EAAE,IAAA,wBAAgB,EAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,aAAa,CAAC;KACzD,CAAA;AACH,CAAC,CAAA;AAtBY,QAAA,iBAAiB,qBAsB7B"}
1
+ {"version":3,"file":"mergeResponses.js","sourceRoot":"","sources":["../../src/utils/mergeResponses.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,11 @@
1
1
  import { PeriodItem } from '@kth/ladok-mellanlager-client';
2
2
  import { ProgrammeVersion } from '../mapProgrammeVersion';
3
+ /**
4
+ * Returns true if the given string is a valid Ladok Period in the format (VT|HT)YYYY
5
+ * @param period
6
+ * @returns
7
+ */
8
+ export declare const isValidLadokPeriod: (period: string) => boolean;
3
9
  export declare const parsePeriod: (period: string) => {
4
10
  semester: string;
5
11
  year: number;
@@ -1,9 +1,19 @@
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 = void 0;
3
+ exports.getKthStudyPeriod = exports.getPeriodCodeForDate = exports.findValidProgramForCode = exports.findPeriodByKod = exports.transformDigitsInPeriod = exports.transformPeriodInDigits = exports.parsePeriod = exports.isValidLadokPeriod = void 0;
4
4
  const versionUtils_1 = require("./versionUtils");
5
+ const validLadokPeriod = /(VT|HT)(\d{4})/;
6
+ /**
7
+ * Returns true if the given string is a valid Ladok Period in the format (VT|HT)YYYY
8
+ * @param period
9
+ * @returns
10
+ */
11
+ const isValidLadokPeriod = (period) => {
12
+ return validLadokPeriod.test(period);
13
+ };
14
+ exports.isValidLadokPeriod = isValidLadokPeriod;
5
15
  const parsePeriod = (period) => {
6
- const match = period.match(/(VT|HT)(\d{4})/);
16
+ const match = period.match(validLadokPeriod);
7
17
  if (!match) {
8
18
  console.warn('Unable to parse period due to invalid period format: ', period);
9
19
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"periodUtil.js","sourceRoot":"","sources":["../../src/utils/periodUtil.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"periodUtil.js","sourceRoot":"","sources":["../../src/utils/periodUtil.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
- import { LadokMellanlagerApiClient, MellanlagringSearchResponse, PeriodItem, SokUtbildningsInstansItem, SokUtbildningsInstansSlimItem, SokUtbildningsTillfalleItem, SokUtbildningsTillfalleSlimItem } from '@kth/ladok-mellanlager-client';
1
+ import { LadokMellanlagerApiClient, PeriodItem, SokUtbildningsInstansItem, SokUtbildningsInstansSlimItem, SokUtbildningsTillfalleItem, SokUtbildningsTillfalleSlimItem } from '@kth/ladok-mellanlager-client';
2
2
  import { Language } from './languageUtil';
3
3
  import { ProgrammeVersion } from '../mapProgrammeVersion';
4
4
  import { Lokalmarkning } from '@kth/ladok-attributvarde-utils';
5
5
  import { ProgramCourse } from './programStrukturUtil';
6
6
  import { ProgramSyllabus } from '../mapProgramSyllabus';
7
7
  import { CompleteProgrammeVersion } from '../programme/types';
8
- export declare const filterAndMapProgramTillfalle: (response: MellanlagringSearchResponse<SokUtbildningsTillfalleItem | SokUtbildningsTillfalleSlimItem>, language: Language) => import("../mapProgramTillfalle").ProgramTillfalle[];
8
+ export declare const filterAndMapProgramTillfalle: (items: Array<SokUtbildningsTillfalleItem | SokUtbildningsTillfalleSlimItem>, language: Language) => import("../mapProgramTillfalle").ProgramTillfalle[];
9
9
  export declare const selectProgramInstans: (code: string | undefined, periods: PeriodItem[], programs: ProgrammeVersion[]) => ProgrammeVersion | undefined;
10
- export declare const filterAndMapProgramInstans: (response: MellanlagringSearchResponse<SokUtbildningsInstansItem | SokUtbildningsInstansSlimItem>, periods: PeriodItem[], code: string, language: Language, ladokClient: LadokMellanlagerApiClient) => Promise<CompleteProgrammeVersion | undefined>;
10
+ export declare const filterAndMapProgramInstans: (items: Array<SokUtbildningsInstansItem | SokUtbildningsInstansSlimItem>, periods: PeriodItem[], code: string, language: Language, ladokClient: LadokMellanlagerApiClient) => Promise<CompleteProgrammeVersion | undefined>;
11
11
  export declare const hasCourseListMarking: (lokalmarkning: Lokalmarkning[] | undefined) => boolean;
12
12
  export declare const getProgramTerms: (program: ProgrammeVersion, oldestProgram: ProgrammeVersion, language: Language, ladokClient: LadokMellanlagerApiClient) => Promise<string[]>;
13
13
  export declare const findProgramVersion: (programCode: string, semester: string, language: Language, ladokClient: LadokMellanlagerApiClient) => Promise<CompleteProgrammeVersion | undefined>;
@@ -27,6 +27,9 @@ const mapProgramSyllabus_1 = require("../mapProgramSyllabus");
27
27
  const attributVardenConstants_1 = require("../attributVardenConstants");
28
28
  const AcademicSemester_1 = require("./AcademicSemester");
29
29
  const mergeResponses_1 = require("./mergeResponses");
30
+ const getAllEntitiesByUseOfContinuation_1 = require("./getAllEntitiesByUseOfContinuation");
31
+ const queryConstants_1 = require("../queryConstants");
32
+ const responseUtils_1 = require("./responseUtils");
30
33
  const SEMESTER_FOR_START_READING_STRUCTURES = {
31
34
  code: 'HT2025', // we will increase 2025 by {lengthInStudyYear} (maximum study year that we have for a program) since there can be ongoing programs until 2025
32
35
  year: 2025,
@@ -36,11 +39,8 @@ const SEMESTER_FOR_END_READING_SYLLABUSES = {
36
39
  code: 'VT2025',
37
40
  date: '2025-06-02',
38
41
  }; // Based on the follwoing document: https://confluence.sys.kth.se/confluence/pages/viewpage.action?pageId=262933569
39
- const filterAndMapProgramTillfalle = (response, language) => {
40
- if (response.type === 'error') {
41
- throw new Error(`API error: ${response.responseInfo.message}`);
42
- }
43
- return response.items
42
+ const filterAndMapProgramTillfalle = (items, language) => {
43
+ return items
44
44
  .map(x => (0, mapProgramTillfalle_1.mapProgramTillfalle)(x, language))
45
45
  .filter(x => x !== undefined)
46
46
  .filter(x => (0, exports.hasCourseListMarking)(x.lokalmarkning));
@@ -53,14 +53,11 @@ const selectProgramInstans = (code, periods, programs) => {
53
53
  return (0, versionUtils_1.findLatestVersion)(programs);
54
54
  };
55
55
  exports.selectProgramInstans = selectProgramInstans;
56
- const filterAndMapProgramInstans = (response, periods, code, language, ladokClient
56
+ const filterAndMapProgramInstans = (items, periods, code, language, ladokClient
57
57
  // TODO: needs to be refactored to use addFirstAdmissionTerm when we are moving programme related stuff to Programme scope
58
58
  ) => __awaiter(void 0, void 0, void 0, function* () {
59
59
  var _a, _b;
60
- if (response.type === 'error') {
61
- throw new Error(`API error in filterAndMapProgramInstans: ${response.responseInfo.message}`);
62
- }
63
- const mappedPrograms = response.items
60
+ const mappedPrograms = items
64
61
  .map(item => (0, mapProgrammeVersion_1.mapProgrammeVersion)(item, language))
65
62
  .filter((program) => !!program);
66
63
  // A program can have different versions, we need to have the oldest one to know what is the first admission date for the program
@@ -95,14 +92,9 @@ const getProgramTerms = (program, oldestProgram, language, ladokClient) => __awa
95
92
  var _a, _b, _c, _d;
96
93
  const { kod, sistaAntagningstermin } = program;
97
94
  const periods = yield ladokClient.period();
98
- if (periods.type !== 'success') {
99
- throw new Error(`API call failed: ${periods.responseInfo.apiError || 'Unknown error'}`);
100
- }
101
- if (typeof periods.data !== 'object') {
102
- throw new Error('periods.data is not an object.');
103
- }
95
+ const periodsData = (0, responseUtils_1.throwIfError)(periods);
104
96
  const lastAdmissionTermData = sistaAntagningstermin
105
- ? (0, periodUtil_1.findPeriodByKod)(sistaAntagningstermin.toLadokPeriodString(), periods.data.Period)
97
+ ? (0, periodUtil_1.findPeriodByKod)(sistaAntagningstermin.toLadokPeriodString(), periodsData.Period)
106
98
  : undefined;
107
99
  // 1. getting period data
108
100
  const requestObjectForStructures = {
@@ -111,12 +103,12 @@ const getProgramTerms = (program, oldestProgram, language, ladokClient) => __awa
111
103
  striktKod: 'true',
112
104
  terminKodStart: getTerminKodStartForFetchStructures(program.lengthInStudyYears),
113
105
  attributVarden: 'status,utbildning.attribut.lokalmarkning,utbildning.attribut.startperiod,utbildning.attribut.kod',
114
- antalTraffar: '100',
106
+ antalTraffar: queryConstants_1.MAX_ANTAL_TRAFFAR,
115
107
  };
116
- const responseForStructures = yield ladokClient.sokProgramTillfalleSlim(requestObjectForStructures);
108
+ const { allEntities: allEntitiesForStructures } = yield (0, getAllEntitiesByUseOfContinuation_1.getAllEntitiesByUseOfContinuation)(ladokClient.sokProgramTillfalleSlim, requestObjectForStructures);
117
109
  // 2. searching for structures
118
110
  const skipSyllabusesCheck = !!((_a = oldestProgram.giltigFrom) === null || _a === void 0 ? void 0 : _a.startDay) && oldestProgram.giltigFrom.startDay > SEMESTER_FOR_END_READING_SYLLABUSES.date;
119
- let responseForSyllabuses;
111
+ let allEntitiesForSyllabuses;
120
112
  // here we will sort out invalid syllabuses terms as well, we need syllabuses being valid after the giltigFran data and before sistaAntagningstermin date
121
113
  if (!skipSyllabusesCheck) {
122
114
  const requestObjectForSyllabuses = {
@@ -126,24 +118,25 @@ const getProgramTerms = (program, oldestProgram, language, ladokClient) => __awa
126
118
  attributVarden: 'utbildning.lokalt.attribut.29.utgava',
127
119
  giltigTill: (_b = lastAdmissionTermData === null || lastAdmissionTermData === void 0 ? void 0 : lastAdmissionTermData.TomDatum) !== null && _b !== void 0 ? _b : SEMESTER_FOR_END_READING_SYLLABUSES.date,
128
120
  giltigFran: (_d = (_c = oldestProgram.giltigFrom) === null || _c === void 0 ? void 0 : _c.startDay) !== null && _d !== void 0 ? _d : DATE_FOR_START_READING_SYLLABUSES, // we are not able to add giltigTill without giltigFran so this is added for that purpose only
129
- antalTraffar: '100',
121
+ antalTraffar: queryConstants_1.MAX_ANTAL_TRAFFAR,
130
122
  };
131
- responseForSyllabuses = yield ladokClient.sokPlanSlim(requestObjectForSyllabuses);
123
+ const { allEntities } = yield (0, getAllEntitiesByUseOfContinuation_1.getAllEntitiesByUseOfContinuation)(ladokClient.sokPlanSlim, requestObjectForSyllabuses);
124
+ allEntitiesForSyllabuses = allEntities;
132
125
  }
133
126
  // 3. searching for sylabuses
134
127
  let programTermsFromStructures = [];
135
- if (responseForStructures === null || responseForStructures === void 0 ? void 0 : responseForStructures.items) {
136
- const mappedTerms = responseForStructures.items.map(x => (0, mapProgramTerm_1.mapProgramTerm)(x, language)).filter(Boolean);
128
+ if (allEntitiesForStructures) {
129
+ const mappedTerms = allEntitiesForStructures.map(x => (0, mapProgramTerm_1.mapProgramTerm)(x, language)).filter(Boolean);
137
130
  const filteredTerms = mappedTerms.filter(x => (0, exports.hasCourseListMarking)(x.lokalmarkning));
138
131
  const startPeriods = filteredTerms.map(x => x.startPeriod);
139
132
  programTermsFromStructures = startPeriods;
140
133
  }
141
134
  // 4. startPeriod for all found structures
142
135
  let programTermsFromSyllabuses = [];
143
- if (responseForSyllabuses === null || responseForSyllabuses === void 0 ? void 0 : responseForSyllabuses.data) {
144
- const validSyllabuses = responseForSyllabuses.data.filter((syllabus) => !!syllabus && 'GiltigFran' in syllabus);
136
+ if (allEntitiesForSyllabuses) {
137
+ const validSyllabuses = allEntitiesForSyllabuses.filter((syllabus) => !!syllabus && 'GiltigFran' in syllabus);
145
138
  const matchedPeriodCodes = validSyllabuses
146
- .map(x => { var _a; return (_a = (0, studyYearUtil_1.findMatchingPeriod)(x.GiltigFran, periods.data.Period)) === null || _a === void 0 ? void 0 : _a.Kod; })
139
+ .map(x => { var _a; return (_a = (0, studyYearUtil_1.findMatchingPeriod)(x.GiltigFran, periodsData.Period)) === null || _a === void 0 ? void 0 : _a.Kod; })
147
140
  .filter(typeChecking_1.isDefined);
148
141
  const filteredTerms = matchedPeriodCodes.filter(x => (x === null || x === void 0 ? void 0 : x.includes('VT')) || (x === null || x === void 0 ? void 0 : x.includes('HT')));
149
142
  programTermsFromSyllabuses = filteredTerms;
@@ -165,19 +158,14 @@ const findProgramVersion = (programCode, semester, language, ladokClient) => __a
165
158
  typ: 'program',
166
159
  instansAttributVarden: attributVardenConstants_1.INSTANS_ATTRIBUT_VARDEN_FOR_PROGRAM_VERSION,
167
160
  };
168
- const [resultActiveProgrammes, resultAvveckladProgrammes] = yield Promise.all([
169
- ladokClient.sokUtbildningsInstansSlim(Object.assign({}, requestObject)),
170
- ladokClient.sokUtbildningsInstansSlim(Object.assign({ avvecklad: 'true' }, requestObject)),
161
+ const [{ allEntities: allEntitiesActiveProgrammes }, { allEntities: allEntitiesAvveckladProgrammes }] = yield Promise.all([
162
+ (0, getAllEntitiesByUseOfContinuation_1.getAllEntitiesByUseOfContinuation)(ladokClient.sokUtbildningsInstansSlim, Object.assign({}, requestObject)),
163
+ (0, getAllEntitiesByUseOfContinuation_1.getAllEntitiesByUseOfContinuation)(ladokClient.sokUtbildningsInstansSlim, Object.assign({ avvecklad: 'true' }, requestObject)),
171
164
  ]);
172
- const response = (0, mergeResponses_1.mergeApiResponses)(resultActiveProgrammes, resultAvveckladProgrammes, item => item.instans_uid);
165
+ const response = (0, mergeResponses_1.mergePlainArrays)(allEntitiesActiveProgrammes, allEntitiesAvveckladProgrammes, item => item.instans_uid);
173
166
  const periods = yield ladokClient.period(); // TODO: Use cached values
174
- if (periods.type !== 'success') {
175
- throw new Error(`API call failed: ${periods.responseInfo.apiError || 'Unknown error'}`);
176
- }
177
- if (typeof periods.data !== 'object') {
178
- throw new Error('periods.data is not an object.');
179
- }
180
- const programInstans = yield (0, exports.filterAndMapProgramInstans)(response, periods.data.Period, semester, language, ladokClient);
167
+ const periodsData = (0, responseUtils_1.throwIfError)(periods);
168
+ const programInstans = yield (0, exports.filterAndMapProgramInstans)(response, periodsData.Period, semester, language, ladokClient);
181
169
  return programInstans;
182
170
  });
183
171
  exports.findProgramVersion = findProgramVersion;
@@ -189,9 +177,13 @@ const findProgramInstance = (programCode, semester, language, ladokClient) => __
189
177
  baraSistaVersion: 'false',
190
178
  attributVarden: attributVardenConstants_1.ATTRIBUT_VARDEN_FOR_ACTIVE_PROGRAM_INSTANCE,
191
179
  instansAttributVarden: attributVardenConstants_1.INSTANS_ATTRIBUT_VARDEN_FOR_ACTIVE_PROGRAM_INSTANCE,
180
+ antalTraffar: queryConstants_1.MAX_ANTAL_TRAFFAR,
192
181
  };
193
- const response = yield ladokClient.sokProgramTillfalleSlim(requestObject);
194
- const programTillfalleList = (0, exports.filterAndMapProgramTillfalle)(response, language);
182
+ const { allEntities } = yield (0, getAllEntitiesByUseOfContinuation_1.getAllEntitiesByUseOfContinuation)(ladokClient.sokProgramTillfalleSlim, requestObject, {
183
+ maxSearchResultsToReturn: 1000,
184
+ maxContinuationIterations: 10,
185
+ });
186
+ const programTillfalleList = (0, exports.filterAndMapProgramTillfalle)(allEntities, language);
195
187
  return (programTillfalleList === null || programTillfalleList === void 0 ? void 0 : programTillfalleList.length) ? programTillfalleList[0] : undefined;
196
188
  });
197
189
  exports.findProgramInstance = findProgramInstance;
@@ -212,15 +204,9 @@ function getAllProgrammeSpecializationCodes(curriculums) {
212
204
  .filter((code) => typeof code === 'string');
213
205
  }
214
206
  const findProgramSyllabusForSemester = (programCode, semester, language, ladokClient) => __awaiter(void 0, void 0, void 0, function* () {
215
- var _a;
216
207
  const periods = yield ladokClient.period(); // TODO: get this from cached value in future
217
- if (periods.type !== 'success') {
218
- throw new Error(`API call failed: ${periods.responseInfo.apiError || 'Unknown error'}`);
219
- }
220
- if (typeof periods.data !== 'object') {
221
- throw new Error('periods.data is not an object.');
222
- }
223
- const smesterPeriodData = (0, periodUtil_1.findPeriodByKod)(semester, periods.data.Period);
208
+ const periodsData = (0, responseUtils_1.throwIfError)(periods);
209
+ const smesterPeriodData = (0, periodUtil_1.findPeriodByKod)(semester, periodsData.Period);
224
210
  const requestObjectForSyllabuses = {
225
211
  kodEllerBenamning: programCode,
226
212
  striktKod: 'true',
@@ -229,10 +215,10 @@ const findProgramSyllabusForSemester = (programCode, semester, language, ladokCl
229
215
  instansAttributVarden: 'versionsnummer',
230
216
  giltigTill: smesterPeriodData === null || smesterPeriodData === void 0 ? void 0 : smesterPeriodData.TomDatum,
231
217
  giltigFran: smesterPeriodData === null || smesterPeriodData === void 0 ? void 0 : smesterPeriodData.FromDatum,
232
- antalTraffar: '100',
218
+ antalTraffar: queryConstants_1.MAX_ANTAL_TRAFFAR,
233
219
  };
234
- const responseForSyllabuses = yield ladokClient.sokPlanSlim(requestObjectForSyllabuses);
235
- const validSyllabuses = (_a = responseForSyllabuses === null || responseForSyllabuses === void 0 ? void 0 : responseForSyllabuses.data) === null || _a === void 0 ? void 0 : _a.filter((syllabus) => !!syllabus && 'GiltigFran' in syllabus);
220
+ const { allEntities } = yield (0, getAllEntitiesByUseOfContinuation_1.getAllEntitiesByUseOfContinuation)(ladokClient.sokPlanSlim, requestObjectForSyllabuses);
221
+ const validSyllabuses = allEntities.filter((syllabus) => !!syllabus && 'GiltigFran' in syllabus);
236
222
  if (!(validSyllabuses === null || validSyllabuses === void 0 ? void 0 : validSyllabuses.length))
237
223
  throw new Error(`No program syllabuses found for ${programCode} - ${semester}`);
238
224
  const sortedSyllabuses = (0, courseSyllabusUtil_1.sortSyllabuses)(validSyllabuses);
@@ -242,7 +228,7 @@ const findProgramSyllabusForSemester = (programCode, semester, language, ladokCl
242
228
  const responseForSelectedSyllabus = yield ladokClient.planForUtbildning(plan_uid);
243
229
  if (!(responseForSelectedSyllabus === null || responseForSelectedSyllabus === void 0 ? void 0 : responseForSelectedSyllabus.data))
244
230
  throw new Error(`Error in fetching syllabus data for ${plan_uid}`);
245
- return (0, mapProgramSyllabus_1.mapProgramSyllabus)(responseForSelectedSyllabus.data, periods.data.Period, language);
231
+ return (0, mapProgramSyllabus_1.mapProgramSyllabus)(responseForSelectedSyllabus.data, periodsData.Period, language);
246
232
  });
247
233
  exports.findProgramSyllabusForSemester = findProgramSyllabusForSemester;
248
234
  const hasSpecialization = (curriculum) => {
@@ -1 +1 @@
1
- {"version":3,"file":"programUtil.js","sourceRoot":"","sources":["../../src/utils/programUtil.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"programUtil.js","sourceRoot":"","sources":["../../src/utils/programUtil.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { MellanlagringResponse } from '@kth/ladok-mellanlager-client';
2
+ import { AllEntitiesByUseOfContinuation } from './getAllEntitiesByUseOfContinuation';
3
+ export declare function throwIfError<TData>(response: MellanlagringResponse<TData>): TData;
4
+ export declare function throwIfContinuationError<TData>(response: AllEntitiesByUseOfContinuation<TData>): TData[];
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.throwIfError = throwIfError;
4
+ exports.throwIfContinuationError = throwIfContinuationError;
5
+ function throwIfError(response) {
6
+ if (response.type === 'error') {
7
+ throw new Error(`API call failed: ${response.responseInfo.message || 'Unknown error'}`);
8
+ }
9
+ return response.data;
10
+ }
11
+ function throwIfContinuationError(response) {
12
+ if (response.responseInfo.apiError) {
13
+ throw new Error(`API call failed: ${response.responseInfo.message || 'Unknown error'}`);
14
+ }
15
+ return response.allEntities;
16
+ }
17
+ //# sourceMappingURL=responseUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responseUtils.js","sourceRoot":"","sources":["../../src/utils/responseUtils.ts"],"names":[],"mappings":";;AAQA,oCAKC;AAED,4DAKC;AAZD,SAAgB,YAAY,CAAQ,QAAsC;IACxE,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,oBAAoB,QAAQ,CAAC,YAAY,CAAC,OAAO,IAAI,eAAe,EAAE,CAAC,CAAA;IACzF,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAA;AACtB,CAAC;AAED,SAAgB,wBAAwB,CAAQ,QAA+C;IAC7F,IAAI,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,oBAAoB,QAAQ,CAAC,YAAY,CAAC,OAAO,IAAI,eAAe,EAAE,CAAC,CAAA;IACzF,CAAC;IACD,OAAO,QAAQ,CAAC,WAAW,CAAA;AAC7B,CAAC"}
@@ -1 +1,7 @@
1
1
  export declare const isDefined: <T>(value: T) => value is NonNullable<T>;
2
+ /**
3
+ * Type guard that checks whether a value is a non-empty array with at least one element.
4
+ * @param arr
5
+ * @returns
6
+ */
7
+ export declare const isArrayWithValues: <T>(arr: readonly T[] | undefined | null) => arr is readonly [T, ...T[]];
@@ -1,8 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isDefined = void 0;
3
+ exports.isArrayWithValues = exports.isDefined = void 0;
4
4
  const isDefined = (value) => {
5
5
  return value !== null && value !== undefined;
6
6
  };
7
7
  exports.isDefined = isDefined;
8
+ /**
9
+ * Type guard that checks whether a value is a non-empty array with at least one element.
10
+ * @param arr
11
+ * @returns
12
+ */
13
+ const isArrayWithValues = (arr) => Array.isArray(arr) && arr.length > 0;
14
+ exports.isArrayWithValues = isArrayWithValues;
8
15
  //# sourceMappingURL=typeChecking.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"typeChecking.js","sourceRoot":"","sources":["../../src/utils/typeChecking.ts"],"names":[],"mappings":";;;AAAO,MAAM,SAAS,GAAG,CAAI,KAAQ,EAA2B,EAAE;IAChE,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAA;AAC9C,CAAC,CAAA;AAFY,QAAA,SAAS,aAErB"}
1
+ {"version":3,"file":"typeChecking.js","sourceRoot":"","sources":["../../src/utils/typeChecking.ts"],"names":[],"mappings":";;;AAAO,MAAM,SAAS,GAAG,CAAI,KAAQ,EAA2B,EAAE;IAChE,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAA;AAC9C,CAAC,CAAA;AAFY,QAAA,SAAS,aAErB;AAED;;;;GAIG;AACI,MAAM,iBAAiB,GAAG,CAAI,GAAoC,EAA+B,EAAE,CACxG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAA;AADzB,QAAA,iBAAiB,qBACQ"}