@studyportals/search-api-interface 1.2.2-4 → 1.2.2-6

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@studyportals/search-api-interface",
3
- "version": "1.2.2-4",
3
+ "version": "1.2.2-6",
4
4
  "description": "Typescript library containing resources that facilitate integration with SearchApi",
5
5
  "main": "bin/index.js",
6
6
  "scripts": {
@@ -8,5 +8,5 @@ var DegreeTypeEnum;
8
8
  DegreeTypeEnum[DegreeTypeEnum["PHD"] = 2] = "PHD";
9
9
  DegreeTypeEnum[DegreeTypeEnum["DISTANCE_LEARNING"] = 3] = "DISTANCE_LEARNING";
10
10
  DegreeTypeEnum[DegreeTypeEnum["SHORT_COURSES"] = 4] = "SHORT_COURSES";
11
- })(DegreeTypeEnum || (exports.DegreeTypeEnum = DegreeTypeEnum = {}));
11
+ })(DegreeTypeEnum = exports.DegreeTypeEnum || (exports.DegreeTypeEnum = {}));
12
12
  //# sourceMappingURL=DegreeTypeEnum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DegreeTypeEnum.js","sourceRoot":"","sources":["../../../src/organisations/DegreeTypeEnum.ts"],"names":[],"mappings":";;;AAAA,IAAY,cAMX;AAND,WAAY,cAAc;IACzB,uDAAU,CAAA;IACV,2DAAY,CAAA;IACZ,iDAAO,CAAA;IACP,6EAAqB,CAAA;IACrB,qEAAiB,CAAA;AAClB,CAAC,EANW,cAAc,8BAAd,cAAc,QAMzB"}
1
+ {"version":3,"file":"DegreeTypeEnum.js","sourceRoot":"","sources":["../../../src/organisations/DegreeTypeEnum.ts"],"names":[],"mappings":";;;AAAA,IAAY,cAMX;AAND,WAAY,cAAc;IACzB,uDAAU,CAAA;IACV,2DAAY,CAAA;IACZ,iDAAO,CAAA;IACP,6EAAqB,CAAA;IACrB,qEAAiB,CAAA;AAClB,CAAC,EANW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAMzB"}
@@ -6,5 +6,5 @@ var DeliveryMethodEnum;
6
6
  DeliveryMethodEnum["ONLINE"] = "online";
7
7
  DeliveryMethodEnum["ON_CAMPUS"] = "oncampus";
8
8
  DeliveryMethodEnum["BLENDED"] = "blended";
9
- })(DeliveryMethodEnum || (exports.DeliveryMethodEnum = DeliveryMethodEnum = {}));
9
+ })(DeliveryMethodEnum = exports.DeliveryMethodEnum || (exports.DeliveryMethodEnum = {}));
10
10
  //# sourceMappingURL=DeliveryMethodEnum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DeliveryMethodEnum.js","sourceRoot":"","sources":["../../../src/organisations/DeliveryMethodEnum.ts"],"names":[],"mappings":";;;AAAA,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC7B,uCAAiB,CAAA;IACjB,4CAAsB,CAAA;IACtB,yCAAmB,CAAA;AACpB,CAAC,EAJW,kBAAkB,kCAAlB,kBAAkB,QAI7B"}
1
+ {"version":3,"file":"DeliveryMethodEnum.js","sourceRoot":"","sources":["../../../src/organisations/DeliveryMethodEnum.ts"],"names":[],"mappings":";;;AAAA,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC7B,uCAAiB,CAAA;IACjB,4CAAsB,CAAA;IACtB,yCAAmB,CAAA;AACpB,CAAC,EAJW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAI7B"}
@@ -1,17 +1,17 @@
1
- import { AttendanceFilterOptionValue, DegreeTypeFilterOptionValue, DurationFilterOptionValue, EducationLevelFilterOptionValue, EducationalFormFilterOptionValue, SpecialProgrammesFilterOptionValue } from "@studyportals/search-filters/server";
2
- import { TuitionFeeFilterValueDTO } from "./TuitionFeeFilterValueDTO";
1
+ import { AttendanceFilterOptionValue, DegreeTypeFilterOptionValue, EducationLevelFilterOptionValue, EducationalFormFilterOptionValue, SpecialProgrammesFilterOptionValue } from "@studyportals/search-filters/server";
2
+ import { RangeDTO } from "@/src/programmes/RangeDTO";
3
3
  export declare class IProgrammeSearchFilters {
4
4
  readonly attendances?: AttendanceFilterOptionValue[];
5
5
  readonly degreeTypes?: DegreeTypeFilterOptionValue[];
6
6
  readonly disciplines?: string[];
7
- readonly durations?: DurationFilterOptionValue[];
7
+ readonly durations?: RangeDTO[];
8
8
  readonly educationalLevels?: EducationLevelFilterOptionValue[];
9
9
  readonly educationalForms?: EducationalFormFilterOptionValue[];
10
10
  readonly keyword?: string;
11
11
  readonly areaIds?: string[];
12
12
  readonly regionIds?: string[];
13
13
  readonly countryIsoCodes?: string[];
14
- readonly organisationId?: string;
14
+ readonly organisationIds?: string[];
15
15
  readonly specialProgrammes?: SpecialProgrammesFilterOptionValue[];
16
- readonly tuitionFee?: TuitionFeeFilterValueDTO;
16
+ readonly tuitionFee?: RangeDTO;
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"IProgrammeSearchFilters.js","sourceRoot":"","sources":["../../../src/programmes/IProgrammeSearchFilters.ts"],"names":[],"mappings":";;;AAWA,MAAa,uBAAuB;CAgBnC;AAhBD,0DAgBC"}
1
+ {"version":3,"file":"IProgrammeSearchFilters.js","sourceRoot":"","sources":["../../../src/programmes/IProgrammeSearchFilters.ts"],"names":[],"mappings":";;;AAUA,MAAa,uBAAuB;CAgBnC;AAhBD,0DAgBC"}
@@ -1,21 +1,23 @@
1
1
  import { IProgrammeSearchFilters } from "./IProgrammeSearchFilters";
2
2
  import { ProgrammeSearchInput } from "./ProgrammeSearchInput";
3
- import { AttendanceFilterOptionValue, DegreeTypeFilterOptionValue, DurationFilterOptionValue, EducationLevelFilterOptionValue, EducationalFormFilterOptionValue, SpecialProgrammesFilterOptionValue } from "@studyportals/search-filters/server";
4
- import { TuitionFeeFilterValueDTO } from "./TuitionFeeFilterValueDTO";
3
+ import { AttendanceFilterOptionValue, DegreeTypeFilterOptionValue, EducationLevelFilterOptionValue, EducationalFormFilterOptionValue, SpecialProgrammesFilterOptionValue } from "@studyportals/search-filters/server";
4
+ import { RangeDTO } from "@/src/programmes/RangeDTO";
5
5
  export declare class ProgrammeSearchFilters implements IProgrammeSearchFilters {
6
6
  attendances?: AttendanceFilterOptionValue[];
7
7
  degreeTypes?: DegreeTypeFilterOptionValue[];
8
8
  disciplines?: string[];
9
- durations?: DurationFilterOptionValue[];
9
+ durations?: RangeDTO[];
10
10
  educationalLevels?: EducationLevelFilterOptionValue[];
11
11
  educationalForms?: EducationalFormFilterOptionValue[];
12
12
  keyword?: string;
13
13
  areaIds?: string[];
14
14
  regionIds?: string[];
15
15
  countryIsoCodes?: string[];
16
- organisationId?: string;
16
+ organisationIds?: string[];
17
17
  specialProgrammes?: SpecialProgrammesFilterOptionValue[];
18
- tuitionFee?: TuitionFeeFilterValueDTO;
18
+ tuitionFee?: RangeDTO;
19
19
  from(input: ProgrammeSearchInput): IProgrammeSearchFilters;
20
+ private parseDurations;
21
+ private parseTuitionFee;
20
22
  private numbersToStringsOrUndefined;
21
23
  }
@@ -6,18 +6,35 @@ class ProgrammeSearchFilters {
6
6
  this.attendances = input.attendances;
7
7
  this.degreeTypes = input.degreeTypes;
8
8
  this.disciplines = this.numbersToStringsOrUndefined(input.disciplines);
9
- this.durations = input.durations;
10
9
  this.educationalLevels = input.educationalLevels;
11
10
  this.educationalForms = input.educationalForms;
12
11
  this.keyword = input.keyword;
13
12
  this.areaIds = this.numbersToStringsOrUndefined(input.areaIds);
14
13
  this.regionIds = this.numbersToStringsOrUndefined(input.regionIds);
15
14
  this.countryIsoCodes = input.countryIsoCodes;
16
- this.organisationId = input.organisationId ? input.organisationId.toString() : undefined;
15
+ this.organisationIds = input.organisationIds ? input.organisationIds.map(id => id.toString()) : undefined;
17
16
  this.specialProgrammes = input.specialProgrammes;
18
- this.tuitionFee = input.tuitionFee;
17
+ this.parseDurations(input);
18
+ this.parseTuitionFee(input);
19
19
  return this;
20
20
  }
21
+ parseDurations(input) {
22
+ if (!input.durations)
23
+ return;
24
+ this.durations = [];
25
+ for (const duration of input.durations) {
26
+ const [min, max] = JSON.parse(duration);
27
+ this.durations.push({ min, max });
28
+ }
29
+ }
30
+ parseTuitionFee(input) {
31
+ if (input.tuitionFeeMin || input.tuitionFeeMax) {
32
+ this.tuitionFee = {
33
+ min: input.tuitionFeeMin,
34
+ max: input.tuitionFeeMax,
35
+ };
36
+ }
37
+ }
21
38
  numbersToStringsOrUndefined(values) {
22
39
  if (values === undefined)
23
40
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"ProgrammeSearchFilters.js","sourceRoot":"","sources":["../../../src/programmes/ProgrammeSearchFilters.ts"],"names":[],"mappings":";;;AAcA,MAAa,sBAAsB;IAiB3B,IAAI,CAAC,KAA2B;QACtC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC;QACjD,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;QAC/C,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAE7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;QAE7C,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACzF,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAA;QAEhD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QAEnC,OAAO,IAAI,CAAC;IACb,CAAC;IAEO,2BAA2B,CAAC,MAA4B;QAC/D,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO;QACjC,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9C,CAAC;CACD;AA1CD,wDA0CC"}
1
+ {"version":3,"file":"ProgrammeSearchFilters.js","sourceRoot":"","sources":["../../../src/programmes/ProgrammeSearchFilters.ts"],"names":[],"mappings":";;;AAaA,MAAa,sBAAsB;IAiB3B,IAAI,CAAC,KAA2B;QACtC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvE,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC;QACjD,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;QAC/C,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAE7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;QAE7C,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1G,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAA;QAEhD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;QAC1B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAE5B,OAAO,IAAI,CAAC;IACb,CAAC;IAEO,cAAc,CAAC,KAA2B;QACjD,IAAI,CAAC,KAAK,CAAC,SAAS;YAAE,OAAO;QAE7B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QAEpB,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,SAAS,EAAE;YACvC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACxC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,GAAG,EAAC,CAAC,CAAA;SAC/B;IACF,CAAC;IAEO,eAAe,CAAC,KAA2B;QAClD,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,EAAE;YAC/C,IAAI,CAAC,UAAU,GAAG;gBACjB,GAAG,EAAE,KAAK,CAAC,aAAa;gBACxB,GAAG,EAAE,KAAK,CAAC,aAAa;aACxB,CAAC;SACF;IACF,CAAC;IAEO,2BAA2B,CAAC,MAA4B;QAC/D,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO;QACjC,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9C,CAAC;CACD;AA9DD,wDA8DC"}
@@ -1,5 +1,4 @@
1
1
  import { AttendanceFilterOptionValue, DegreeTypeFilterOptionValue, DurationFilterOptionValue, EducationLevelFilterOptionValue, EducationalFormFilterOptionValue, SpecialProgrammesFilterOptionValue } from "@studyportals/search-filters/server";
2
- import { TuitionFeeFilterValueDTO } from "./TuitionFeeFilterValueDTO";
3
2
  export type ProgrammeSearchInput = {
4
3
  resultSize: number;
5
4
  resultOffset: number;
@@ -13,7 +12,8 @@ export type ProgrammeSearchInput = {
13
12
  areaIds?: number[];
14
13
  regionIds?: number[];
15
14
  countryIsoCodes?: string[];
16
- organisationId?: number;
15
+ organisationIds?: number[];
17
16
  specialProgrammes?: SpecialProgrammesFilterOptionValue[];
18
- tuitionFee?: TuitionFeeFilterValueDTO;
17
+ tuitionFeeMin?: number;
18
+ tuitionFeeMax?: number;
19
19
  };
@@ -0,0 +1,4 @@
1
+ export interface RangeDTO {
2
+ min?: number;
3
+ max?: number;
4
+ }
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=TuitionFeeFilterValueDTO.js.map
3
+ //# sourceMappingURL=RangeDTO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RangeDTO.js","sourceRoot":"","sources":["../../../src/programmes/RangeDTO.ts"],"names":[],"mappings":""}
@@ -1,4 +0,0 @@
1
- export interface TuitionFeeFilterValueDTO {
2
- min: number;
3
- max: number;
4
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"TuitionFeeFilterValueDTO.js","sourceRoot":"","sources":["../../../src/programmes/TuitionFeeFilterValueDTO.ts"],"names":[],"mappings":""}