@studyportals/search-api-interface 1.2.2-0 → 1.2.2-10

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/index.d.ts CHANGED
@@ -9,5 +9,6 @@ import { IProgrammeSearchFilters } from "./src/programmes/IProgrammeSearchFilter
9
9
  import { IProgrammeSearchResponse } from "./src/programmes/IProgrammeSearchResponse";
10
10
  import { ProgrammeSearchFilters } from "./src/programmes/ProgrammeSearchFilters";
11
11
  import { ProgrammeSearchInput } from "./src/programmes/ProgrammeSearchInput";
12
+ import { RangeDTO } from "./src/programmes/RangeDTO";
12
13
  import { SearchApiProgrammeClient } from "./src/programmes/SearchApiProgrammeClient";
13
- export { SearchApiOrganisationClient, IOrganisationSearchResponse, IOrganisationSearchFilters, OrganisationSearchFilters, SearchApiProgrammeClient, IProgrammeSearchResponse, IProgrammeSearchFilters, ProgrammeSearchFilters, OrganisationSearchInput, ProgrammeSearchInput, DegreeTypeEnum, DeliveryMethodEnum };
14
+ export { SearchApiOrganisationClient, IOrganisationSearchResponse, IOrganisationSearchFilters, OrganisationSearchFilters, SearchApiProgrammeClient, IProgrammeSearchResponse, IProgrammeSearchFilters, ProgrammeSearchFilters, OrganisationSearchInput, ProgrammeSearchInput, DegreeTypeEnum, DeliveryMethodEnum, RangeDTO };
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAAA,uEAAoE;AA2BnE,+FA3BQ,+BAAc,OA2BR;AA1Bf,+EAA4E;AA2B3E,mGA3BQ,uCAAkB,OA2BR;AA1BnB,+FAA4F;AAc3F,2GAdQ,uDAA0B,OAcR;AAZ3B,6FAA0F;AAazF,0GAbQ,qDAAyB,OAaR;AAX1B,iGAA8F;AAQ7F,4GARQ,yDAA2B,OAQR;AAP5B,sFAAmF;AAclF,wGAdQ,iDAAuB,OAcR;AAZxB,oFAAiF;AAahF,uGAbQ,+CAAsB,OAaR;AAXvB,wFAAqF;AAQpF,yGARQ,mDAAwB,OAQR"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAAA,uEAAoE;AA4BnE,+FA5BQ,+BAAc,OA4BR;AA3Bf,+EAA4E;AA4B3E,mGA5BQ,uCAAkB,OA4BR;AA3BnB,+FAA4F;AAe3F,2GAfQ,uDAA0B,OAeR;AAb3B,6FAA0F;AAczF,0GAdQ,qDAAyB,OAcR;AAZ1B,iGAA8F;AAS7F,4GATQ,yDAA2B,OASR;AAR5B,sFAAmF;AAelF,wGAfQ,iDAAuB,OAeR;AAbxB,oFAAiF;AAchF,uGAdQ,+CAAsB,OAcR;AAXvB,wFAAqF;AAQpF,yGARQ,mDAAwB,OAQR"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@studyportals/search-api-interface",
3
- "version": "1.2.2-0",
3
+ "version": "1.2.2-10",
4
4
  "description": "Typescript library containing resources that facilitate integration with SearchApi",
5
5
  "main": "bin/index.js",
6
6
  "scripts": {
@@ -22,8 +22,10 @@
22
22
  "@typescript-eslint/eslint-plugin": "^5.27.0",
23
23
  "@typescript-eslint/parser": "^5.27.0",
24
24
  "eslint": "^8.17.0",
25
- "typescript": "^4.7.3",
25
+ "typescript": "^5.5.4",
26
26
  "typescript-transform-paths": "^3.4.6"
27
27
  },
28
- "dependencies": {}
28
+ "dependencies": {
29
+ "@studyportals/search-filters": "4.3.1-5"
30
+ }
29
31
  }
@@ -1,18 +1,17 @@
1
+ import { AttendanceFilterOptionValue, DegreeTypeFilterOptionValue, EducationLevelFilterOptionValue, EducationalFormFilterOptionValue, SpecialProgrammesFilterOptionValue } from "@studyportals/search-filters/server";
2
+ import { RangeDTO } from "./RangeDTO";
1
3
  export declare class IProgrammeSearchFilters {
2
- readonly attendances?: string[];
3
- readonly degreeTypes?: string[];
4
+ readonly attendances?: AttendanceFilterOptionValue[];
5
+ readonly degreeTypes?: DegreeTypeFilterOptionValue[];
4
6
  readonly disciplines?: string[];
5
- readonly durations?: string[];
6
- readonly educationalLevels?: string[];
7
- readonly educationalForms?: string[];
7
+ readonly durations?: RangeDTO[];
8
+ readonly educationalLevels?: EducationLevelFilterOptionValue[];
9
+ readonly educationalForms?: EducationalFormFilterOptionValue[];
8
10
  readonly keyword?: string;
9
11
  readonly areaIds?: string[];
10
12
  readonly regionIds?: string[];
11
13
  readonly countryIsoCodes?: string[];
12
- readonly organisationId?: string;
13
- readonly specialProgrammes?: string[];
14
- readonly tuitionFee?: {
15
- min: number;
16
- max: number;
17
- };
14
+ readonly organisationIds?: string[];
15
+ readonly specialProgrammes?: SpecialProgrammesFilterOptionValue[];
16
+ readonly tuitionFee?: RangeDTO;
18
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"IProgrammeSearchFilters.js","sourceRoot":"","sources":["../../../src/programmes/IProgrammeSearchFilters.ts"],"names":[],"mappings":";;;AAAA,MAAa,uBAAuB;CAmBnC;AAnBD,0DAmBC"}
1
+ {"version":3,"file":"IProgrammeSearchFilters.js","sourceRoot":"","sources":["../../../src/programmes/IProgrammeSearchFilters.ts"],"names":[],"mappings":";;;AAUA,MAAa,uBAAuB;CAgBnC;AAhBD,0DAgBC"}
@@ -1,22 +1,23 @@
1
1
  import { IProgrammeSearchFilters } from "./IProgrammeSearchFilters";
2
2
  import { ProgrammeSearchInput } from "./ProgrammeSearchInput";
3
+ import { AttendanceFilterOptionValue, DegreeTypeFilterOptionValue, EducationLevelFilterOptionValue, EducationalFormFilterOptionValue, SpecialProgrammesFilterOptionValue } from "@studyportals/search-filters/server";
4
+ import { RangeDTO } from "./RangeDTO";
3
5
  export declare class ProgrammeSearchFilters implements IProgrammeSearchFilters {
4
- attendances?: string[];
5
- degreeTypes?: string[];
6
+ attendances?: AttendanceFilterOptionValue[];
7
+ degreeTypes?: DegreeTypeFilterOptionValue[];
6
8
  disciplines?: string[];
7
- durations?: string[];
8
- educationalLevels?: string[];
9
- educationalForms?: string[];
9
+ durations?: RangeDTO[];
10
+ educationalLevels?: EducationLevelFilterOptionValue[];
11
+ educationalForms?: EducationalFormFilterOptionValue[];
10
12
  keyword?: string;
11
13
  areaIds?: string[];
12
14
  regionIds?: string[];
13
15
  countryIsoCodes?: string[];
14
- organisationId?: string;
15
- specialProgrammes?: string[];
16
- tuitionFee?: {
17
- min: number;
18
- max: number;
19
- };
16
+ organisationIds?: string[];
17
+ specialProgrammes?: SpecialProgrammesFilterOptionValue[];
18
+ tuitionFee?: RangeDTO;
20
19
  from(input: ProgrammeSearchInput): IProgrammeSearchFilters;
20
+ private parseDurations;
21
+ private parseTuitionFee;
21
22
  private numbersToStringsOrUndefined;
22
23
  }
@@ -6,53 +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
- /*
22
- public consideringId(id: string): OrganisationSearchFilters {
23
- this.organisationId = id;
24
- return this;
25
- }
26
-
27
- public consideringDegree(degree: DegreeTypeEnum): OrganisationSearchFilters {
28
- this.degree = degree;
29
- return this;
30
- }
31
-
32
- public consideringDisciplines(disciplines: string[]): OrganisationSearchFilters {
33
- this.disciplines = disciplines;
34
- return this;
35
- }
36
-
37
- public consideringDeliveryMethods(deliveryMethods: DeliveryMethodEnum[]): OrganisationSearchFilters {
38
- this.deliveryMethods = deliveryMethods;
39
- return this;
40
- }
41
-
42
- public consideringCountryIsoCodes(countryIsoCodes: string[]): OrganisationSearchFilters {
43
- this.countryIsoCodes = countryIsoCodes;
44
- return this;
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 });
45
28
  }
46
-
47
- public consideringRegionIds(regionIds: string[]): OrganisationSearchFilters {
48
- this.regionIds = regionIds;
49
- return this;
29
+ }
30
+ parseTuitionFee(input) {
31
+ if (input.tuitionFeeMin || input.tuitionFeeMax) {
32
+ this.tuitionFee = {
33
+ min: input.tuitionFeeMin,
34
+ max: input.tuitionFeeMax,
35
+ };
50
36
  }
51
-
52
- public consideringAreaIds(areaIds: string[]): OrganisationSearchFilters {
53
- this.areaIds = areaIds;
54
- return this;
55
- }*/
37
+ }
56
38
  numbersToStringsOrUndefined(values) {
57
39
  if (values === undefined)
58
40
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"ProgrammeSearchFilters.js","sourceRoot":"","sources":["../../../src/programmes/ProgrammeSearchFilters.ts"],"names":[],"mappings":";;;AAGA,MAAa,sBAAsB;IAoB3B,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;IACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAkCI;IAEK,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;AAhFD,wDAgFC"}
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,CAAC;YACxC,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;QAChC,CAAC;IACF,CAAC;IAEO,eAAe,CAAC,KAA2B;QAClD,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YAChD,IAAI,CAAC,UAAU,GAAG;gBACjB,GAAG,EAAE,KAAK,CAAC,aAAa;gBACxB,GAAG,EAAE,KAAK,CAAC,aAAa;aACxB,CAAC;QACH,CAAC;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,20 +1,19 @@
1
+ import { AttendanceFilterOptionValue, DegreeTypeFilterOptionValue, DurationFilterOptionValue, EducationLevelFilterOptionValue, EducationalFormFilterOptionValue, SpecialProgrammesFilterOptionValue } from "@studyportals/search-filters/server";
1
2
  export type ProgrammeSearchInput = {
2
3
  resultSize: number;
3
4
  resultOffset: number;
4
- attendances: string[];
5
- degreeTypes: string[];
5
+ attendances?: AttendanceFilterOptionValue[];
6
+ degreeTypes?: DegreeTypeFilterOptionValue[];
6
7
  disciplines?: number[];
7
- durations: string[];
8
- educationalLevels: string[];
9
- educationalForms: string[];
8
+ durations?: DurationFilterOptionValue[];
9
+ educationalLevels?: EducationLevelFilterOptionValue[];
10
+ educationalForms?: EducationalFormFilterOptionValue[];
10
11
  keyword: string;
11
12
  areaIds?: number[];
12
13
  regionIds?: number[];
13
14
  countryIsoCodes?: string[];
14
- organisationId?: number;
15
- specialProgrammes: string[];
16
- tuitionFee: {
17
- min: number;
18
- max: number;
19
- };
15
+ organisationIds?: number[];
16
+ specialProgrammes?: SpecialProgrammesFilterOptionValue[];
17
+ tuitionFeeMin?: number;
18
+ tuitionFeeMax?: number;
20
19
  };
@@ -0,0 +1,4 @@
1
+ export interface RangeDTO {
2
+ min?: number;
3
+ max?: number;
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=RangeDTO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RangeDTO.js","sourceRoot":"","sources":["../../../src/programmes/RangeDTO.ts"],"names":[],"mappings":""}