@studyportals/search-api-interface 1.2.3-8 → 2.0.1-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 (34) hide show
  1. package/index.d.ts +4 -5
  2. package/index.js +5 -5
  3. package/index.js.map +1 -1
  4. package/package.json +31 -31
  5. package/src/HitsTotalRelation.d.ts +4 -0
  6. package/src/HitsTotalRelation.js +9 -0
  7. package/src/HitsTotalRelation.js.map +1 -0
  8. package/src/facets/FacetResponseType.d.ts +5 -1
  9. package/src/organisations/IOrganisationSearchResponse.d.ts +2 -1
  10. package/src/programmes/IProgrammeSearchFilters.d.ts +9 -7
  11. package/src/programmes/IProgrammeSearchFilters.js.map +1 -1
  12. package/src/programmes/IProgrammeSearchResponse.d.ts +3 -2
  13. package/src/programmes/ProgrammeSearchFilters.d.ts +9 -11
  14. package/src/programmes/ProgrammeSearchFilters.js +7 -35
  15. package/src/programmes/ProgrammeSearchFilters.js.map +1 -1
  16. package/src/programmes/ProgrammeSearchInput.d.ts +7 -7
  17. package/src/programmes/ProgrammeSortType.d.ts +4 -0
  18. package/src/programmes/ProgrammeSortType.js +9 -0
  19. package/src/programmes/ProgrammeSortType.js.map +1 -0
  20. package/src/programmes/SearchApiProgrammeClient.d.ts +2 -1
  21. package/src/programmes/SearchApiProgrammeClient.js +1 -1
  22. package/src/programmes/SearchApiProgrammeClient.js.map +1 -1
  23. package/src/facets/FacetOptionValue.d.ts +0 -13
  24. package/src/facets/FacetOptionValue.js +0 -3
  25. package/src/facets/FacetOptionValue.js.map +0 -1
  26. package/src/facets/IFacetFilters.d.ts +0 -5
  27. package/src/facets/IFacetFilters.js +0 -3
  28. package/src/facets/IFacetFilters.js.map +0 -1
  29. package/src/facets/IFacetValues.d.ts +0 -6
  30. package/src/facets/IFacetValues.js +0 -3
  31. package/src/facets/IFacetValues.js.map +0 -1
  32. package/src/programmes/RangeDTO.d.ts +0 -4
  33. package/src/programmes/RangeDTO.js +0 -3
  34. package/src/programmes/RangeDTO.js.map +0 -1
package/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { HitsTotalRelation } from "./src/HitsTotalRelation";
1
2
  import { DegreeTypeEnum } from "./src/organisations/DegreeTypeEnum";
2
3
  import { DeliveryMethodEnum } from "./src/organisations/DeliveryMethodEnum";
3
4
  import { IOrganisationSearchFilters } from "./src/organisations/IOrganisationSearchFilters";
@@ -5,13 +6,11 @@ import { IOrganisationSearchResponse } from "./src/organisations/IOrganisationSe
5
6
  import { OrganisationSearchFilters } from "./src/organisations/OrganisationSearchFilters";
6
7
  import { OrganisationSearchInput } from "./src/organisations/OrganisationSearchInput";
7
8
  import { SearchApiOrganisationClient } from "./src/organisations/SearchApiOrganisationClient";
9
+ import { IProgrammeResult } from "./src/programmes/IProgrammeResult";
8
10
  import { IProgrammeSearchFilters } from "./src/programmes/IProgrammeSearchFilters";
9
11
  import { IProgrammeSearchResponse } from "./src/programmes/IProgrammeSearchResponse";
10
- import { IProgrammeResult } from "./src/programmes/IProgrammeResult";
11
12
  import { ProgrammeSearchFilters } from "./src/programmes/ProgrammeSearchFilters";
12
13
  import { ProgrammeSearchInput } from "./src/programmes/ProgrammeSearchInput";
13
- import { RangeDTO } from "./src/programmes/RangeDTO";
14
14
  import { SearchApiProgrammeClient } from "./src/programmes/SearchApiProgrammeClient";
15
- import { FacetOptionValue } from "./src/facets/FacetOptionValue";
16
- import { FacetResponseType } from "./src/facets/FacetResponseType";
17
- export { SearchApiOrganisationClient, IOrganisationSearchResponse, IOrganisationSearchFilters, OrganisationSearchFilters, SearchApiProgrammeClient, IProgrammeSearchResponse, IProgrammeSearchFilters, ProgrammeSearchFilters, IProgrammeResult, OrganisationSearchInput, ProgrammeSearchInput, DegreeTypeEnum, DeliveryMethodEnum, RangeDTO, FacetOptionValue, FacetResponseType };
15
+ import { FacetResponseType, FacetValues } from "./src/facets/FacetResponseType";
16
+ export { SearchApiOrganisationClient, IOrganisationSearchResponse, IOrganisationSearchFilters, OrganisationSearchFilters, SearchApiProgrammeClient, IProgrammeSearchResponse, IProgrammeSearchFilters, ProgrammeSearchFilters, OrganisationSearchInput, ProgrammeSearchInput, IProgrammeResult, DegreeTypeEnum, DeliveryMethodEnum, HitsTotalRelation, FacetResponseType, FacetValues };
package/index.js CHANGED
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FacetOptionValue = exports.DeliveryMethodEnum = exports.DegreeTypeEnum = exports.IProgrammeResult = exports.ProgrammeSearchFilters = exports.IProgrammeSearchFilters = exports.SearchApiProgrammeClient = exports.OrganisationSearchFilters = exports.IOrganisationSearchFilters = exports.SearchApiOrganisationClient = void 0;
3
+ exports.HitsTotalRelation = exports.DeliveryMethodEnum = exports.DegreeTypeEnum = exports.IProgrammeResult = exports.ProgrammeSearchFilters = exports.IProgrammeSearchFilters = exports.SearchApiProgrammeClient = exports.OrganisationSearchFilters = exports.IOrganisationSearchFilters = exports.SearchApiOrganisationClient = void 0;
4
+ const HitsTotalRelation_1 = require("./src/HitsTotalRelation");
5
+ Object.defineProperty(exports, "HitsTotalRelation", { enumerable: true, get: function () { return HitsTotalRelation_1.HitsTotalRelation; } });
4
6
  const DegreeTypeEnum_1 = require("./src/organisations/DegreeTypeEnum");
5
7
  Object.defineProperty(exports, "DegreeTypeEnum", { enumerable: true, get: function () { return DegreeTypeEnum_1.DegreeTypeEnum; } });
6
8
  const DeliveryMethodEnum_1 = require("./src/organisations/DeliveryMethodEnum");
@@ -11,14 +13,12 @@ const OrganisationSearchFilters_1 = require("./src/organisations/OrganisationSea
11
13
  Object.defineProperty(exports, "OrganisationSearchFilters", { enumerable: true, get: function () { return OrganisationSearchFilters_1.OrganisationSearchFilters; } });
12
14
  const SearchApiOrganisationClient_1 = require("./src/organisations/SearchApiOrganisationClient");
13
15
  Object.defineProperty(exports, "SearchApiOrganisationClient", { enumerable: true, get: function () { return SearchApiOrganisationClient_1.SearchApiOrganisationClient; } });
14
- const IProgrammeSearchFilters_1 = require("./src/programmes/IProgrammeSearchFilters");
15
- Object.defineProperty(exports, "IProgrammeSearchFilters", { enumerable: true, get: function () { return IProgrammeSearchFilters_1.IProgrammeSearchFilters; } });
16
16
  const IProgrammeResult_1 = require("./src/programmes/IProgrammeResult");
17
17
  Object.defineProperty(exports, "IProgrammeResult", { enumerable: true, get: function () { return IProgrammeResult_1.IProgrammeResult; } });
18
+ const IProgrammeSearchFilters_1 = require("./src/programmes/IProgrammeSearchFilters");
19
+ Object.defineProperty(exports, "IProgrammeSearchFilters", { enumerable: true, get: function () { return IProgrammeSearchFilters_1.IProgrammeSearchFilters; } });
18
20
  const ProgrammeSearchFilters_1 = require("./src/programmes/ProgrammeSearchFilters");
19
21
  Object.defineProperty(exports, "ProgrammeSearchFilters", { enumerable: true, get: function () { return ProgrammeSearchFilters_1.ProgrammeSearchFilters; } });
20
22
  const SearchApiProgrammeClient_1 = require("./src/programmes/SearchApiProgrammeClient");
21
23
  Object.defineProperty(exports, "SearchApiProgrammeClient", { enumerable: true, get: function () { return SearchApiProgrammeClient_1.SearchApiProgrammeClient; } });
22
- const FacetOptionValue_1 = require("./src/facets/FacetOptionValue");
23
- Object.defineProperty(exports, "FacetOptionValue", { enumerable: true, get: function () { return FacetOptionValue_1.FacetOptionValue; } });
24
24
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAAA,uEAAoE;AAgCnE,+FAhCQ,+BAAc,OAgCR;AA/Bf,+EAA4E;AAgC3E,mGAhCQ,uCAAkB,OAgCR;AA/BnB,+FAA4F;AAkB3F,2GAlBQ,uDAA0B,OAkBR;AAhB3B,6FAA0F;AAiBzF,0GAjBQ,qDAAyB,OAiBR;AAf1B,iGAA8F;AAY7F,4GAZQ,yDAA2B,OAYR;AAX5B,sFAAmF;AAkBlF,wGAlBQ,iDAAuB,OAkBR;AAhBxB,wEAAqE;AAkBpE,iGAlBQ,mCAAgB,OAkBR;AAjBjB,oFAAiF;AAgBhF,uGAhBQ,+CAAsB,OAgBR;AAbvB,wFAAqF;AAUpF,yGAVQ,mDAAwB,OAUR;AATzB,oEAAiE;AAsBhE,iGAtBQ,mCAAgB,OAsBR"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAAA,+DAA4D;AAiC3D,kGAjCQ,qCAAiB,OAiCR;AAhClB,uEAAoE;AA8BnE,+FA9BQ,+BAAc,OA8BR;AA7Bf,+EAA4E;AA8B3E,mGA9BQ,uCAAkB,OA8BR;AA7BnB,+FAA4F;AAgB3F,2GAhBQ,uDAA0B,OAgBR;AAd3B,6FAA0F;AAezF,0GAfQ,qDAAyB,OAeR;AAb1B,iGAA8F;AAU7F,4GAVQ,yDAA2B,OAUR;AAT5B,wEAAqE;AAqBpE,iGArBQ,mCAAgB,OAqBR;AApBjB,sFAAmF;AAelF,wGAfQ,iDAAuB,OAeR;AAbxB,oFAAiF;AAchF,uGAdQ,+CAAsB,OAcR;AAZvB,wFAAqF;AASpF,yGATQ,mDAAwB,OASR"}
package/package.json CHANGED
@@ -1,31 +1,31 @@
1
- {
2
- "name": "@studyportals/search-api-interface",
3
- "version": "1.2.3-8",
4
- "description": "Typescript library containing resources that facilitate integration with SearchApi",
5
- "main": "bin/index.js",
6
- "scripts": {
7
- "compile": "rm -fR bin && npx tsc",
8
- "deploy-patch": "npm version patch && npm run deploy",
9
- "deploy-minor": "npm version minor && npm run deploy",
10
- "deploy-major": "npm version major && npm run deploy",
11
- "deploy-beta": "npm version prerelease && npm run prepare-deployment && npm publish ./bin --tag beta",
12
- "deploy": "npm run prepare-deployment && npm publish ./bin",
13
- "prepare-deployment": "npm run compile && cp package.json bin/package.json",
14
- "lint": "eslint . --ext .ts",
15
- "lint:fix": "eslint . --ext .ts --fix"
16
- },
17
- "author": "Seal Team Six",
18
- "license": "BSD-3-Clause",
19
- "devDependencies": {
20
- "@studyportals/code-style": "^1.7.0",
21
- "@types/superagent": "^4.1.15",
22
- "@typescript-eslint/eslint-plugin": "^5.27.0",
23
- "@typescript-eslint/parser": "^5.27.0",
24
- "eslint": "^8.17.0",
25
- "typescript": "^5.5.4",
26
- "typescript-transform-paths": "^3.4.6"
27
- },
28
- "dependencies": {
29
- "@studyportals/search-filters": "4.3.1-5"
30
- }
31
- }
1
+ {
2
+ "name": "@studyportals/search-api-interface",
3
+ "version": "2.0.1-0",
4
+ "description": "Typescript library containing resources that facilitate integration with SearchApi",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "compile": "rm -fR bin && npx tsc",
8
+ "deploy-patch": "npm version patch && npm run deploy",
9
+ "deploy-minor": "npm version minor && npm run deploy",
10
+ "deploy-major": "npm version major && npm run deploy",
11
+ "deploy-beta": "npm version prerelease && npm run prepare-deployment && npm publish ./bin --tag beta",
12
+ "deploy": "npm run prepare-deployment && npm publish ./bin",
13
+ "prepare-deployment": "npm run compile && cp package.json bin/package.json",
14
+ "lint": "eslint . --ext .ts",
15
+ "lint:fix": "eslint . --ext .ts --fix"
16
+ },
17
+ "author": "Seal Team Six",
18
+ "license": "BSD-3-Clause",
19
+ "devDependencies": {
20
+ "@studyportals/code-style": "^1.7.0",
21
+ "@types/superagent": "^4.1.15",
22
+ "@typescript-eslint/eslint-plugin": "^5.27.0",
23
+ "@typescript-eslint/parser": "^5.27.0",
24
+ "eslint": "^8.17.0",
25
+ "typescript": "^5.5.4",
26
+ "typescript-transform-paths": "^3.4.6"
27
+ },
28
+ "dependencies": {
29
+ "@studyportals/search-filters": "4.5.4"
30
+ }
31
+ }
@@ -0,0 +1,4 @@
1
+ export declare enum HitsTotalRelation {
2
+ EXACTLY = "exactly",
3
+ MORE_THAN = "more than"
4
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HitsTotalRelation = void 0;
4
+ var HitsTotalRelation;
5
+ (function (HitsTotalRelation) {
6
+ HitsTotalRelation["EXACTLY"] = "exactly";
7
+ HitsTotalRelation["MORE_THAN"] = "more than";
8
+ })(HitsTotalRelation || (exports.HitsTotalRelation = HitsTotalRelation = {}));
9
+ //# sourceMappingURL=HitsTotalRelation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HitsTotalRelation.js","sourceRoot":"","sources":["../../src/HitsTotalRelation.ts"],"names":[],"mappings":";;;AAAA,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC5B,wCAAiB,CAAA;IACjB,4CAAqB,CAAA;AACtB,CAAC,EAHW,iBAAiB,iCAAjB,iBAAiB,QAG5B"}
@@ -1,5 +1,9 @@
1
- export type FacetResponseType = {
1
+ type FacetResponseType = {
2
2
  filter: string;
3
+ values: FacetValues[];
4
+ };
5
+ type FacetValues = {
3
6
  count: number;
4
7
  value: string;
5
8
  };
9
+ export { FacetResponseType, FacetValues };
@@ -1,5 +1,6 @@
1
+ import { HitsTotalRelation } from "../HitsTotalRelation";
1
2
  export interface IOrganisationSearchResponse<T> {
2
3
  readonly organisations: readonly T[];
3
4
  readonly hitsTotal: number;
4
- readonly hitsTotalRelation: "more than" | "exactly";
5
+ readonly hitsTotalRelation: HitsTotalRelation;
5
6
  }
@@ -1,20 +1,22 @@
1
- import { AttendanceFilterOptionValue, DegreeTypeFilterOptionValue, EducationLevelFilterOptionValue, EducationalFormFilterOptionValue, SpecialProgrammesFilterOptionValue } from "@studyportals/search-filters/server";
2
- import { RangeDTO } from "./RangeDTO";
3
- import { IFacetFilters } from "../facets/IFacetFilters";
1
+ import { AttendanceFilterOptionValue, DegreeTypeFilterOptionValue, EducationLevelFilterOptionValue, EducationalFormFilterOptionValue, SpecialProgrammesFilterOptionValue, DurationFilterOptionValue, FacetOptionValue } from "@studyportals/search-filters/server-side";
2
+ import { ProgrammeSortType } from "@/src/programmes/ProgrammeSortType";
4
3
  export declare class IProgrammeSearchFilters {
5
4
  readonly attendances?: AttendanceFilterOptionValue[];
6
5
  readonly degreeTypes?: DegreeTypeFilterOptionValue[];
7
6
  readonly disciplines?: string[];
8
- readonly durations?: RangeDTO[];
7
+ readonly durations?: DurationFilterOptionValue[];
9
8
  readonly educationalLevels?: EducationLevelFilterOptionValue[];
10
9
  readonly educationalForms?: EducationalFormFilterOptionValue[];
11
- readonly keyword?: string;
10
+ readonly text?: string;
12
11
  readonly areaIds?: string[];
13
12
  readonly regionIds?: string[];
14
13
  readonly countryIsoCodes?: string[];
15
14
  readonly organisationIds?: string[];
16
15
  readonly specialProgrammes?: SpecialProgrammesFilterOptionValue[];
17
- readonly tuitionFee?: RangeDTO;
16
+ readonly tuitionFeeMin?: number;
17
+ readonly tuitionFeeMax?: number;
18
18
  readonly nationalityCountryIso?: string;
19
- readonly facets?: IFacetFilters;
19
+ readonly sortBy?: ProgrammeSortType;
20
+ readonly facets?: FacetOptionValue[];
21
+ readonly facetsDurations?: DurationFilterOptionValue[];
20
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"IProgrammeSearchFilters.js","sourceRoot":"","sources":["../../../src/programmes/IProgrammeSearchFilters.ts"],"names":[],"mappings":";;;AAWA,MAAa,uBAAuB;CAoBnC;AApBD,0DAoBC"}
1
+ {"version":3,"file":"IProgrammeSearchFilters.js","sourceRoot":"","sources":["../../../src/programmes/IProgrammeSearchFilters.ts"],"names":[],"mappings":";;;AAWA,MAAa,uBAAuB;CAyBnC;AAzBD,0DAyBC"}
@@ -1,7 +1,8 @@
1
1
  import { FacetResponseType } from "../facets/FacetResponseType";
2
+ import { HitsTotalRelation } from "../HitsTotalRelation";
2
3
  export interface IProgrammeSearchResponse<T> {
3
4
  readonly programmes: readonly T[];
4
5
  readonly hitsTotal: number;
5
- readonly hitsTotalRelation: "more than" | "exactly";
6
- readonly aggregations?: readonly FacetResponseType[];
6
+ readonly hitsTotalRelation: HitsTotalRelation;
7
+ readonly facets?: readonly FacetResponseType[];
7
8
  }
@@ -1,28 +1,26 @@
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";
5
- import { IFacetFilters } from "../facets/IFacetFilters";
3
+ import { AttendanceFilterOptionValue, DegreeTypeFilterOptionValue, EducationLevelFilterOptionValue, EducationalFormFilterOptionValue, SpecialProgrammesFilterOptionValue, DurationFilterOptionValue, FacetOptionValue } from "@studyportals/search-filters/server-side";
4
+ import { ProgrammeSortType } from "@/src/programmes/ProgrammeSortType";
6
5
  export declare class ProgrammeSearchFilters implements IProgrammeSearchFilters {
7
6
  attendances?: AttendanceFilterOptionValue[];
8
7
  degreeTypes?: DegreeTypeFilterOptionValue[];
9
8
  disciplines?: string[];
10
- durations?: RangeDTO[];
9
+ durations?: DurationFilterOptionValue[];
11
10
  educationalLevels?: EducationLevelFilterOptionValue[];
12
11
  educationalForms?: EducationalFormFilterOptionValue[];
13
- keyword?: string;
12
+ text?: string;
14
13
  areaIds?: string[];
15
14
  regionIds?: string[];
16
15
  countryIsoCodes?: string[];
17
16
  organisationIds?: string[];
18
17
  specialProgrammes?: SpecialProgrammesFilterOptionValue[];
19
- tuitionFee?: RangeDTO;
18
+ tuitionFeeMin?: number;
19
+ tuitionFeeMax?: number;
20
20
  nationalityCountryIso?: string;
21
- facets: IFacetFilters;
21
+ sortBy?: ProgrammeSortType;
22
+ facets?: FacetOptionValue[];
23
+ facetsDurations?: DurationFilterOptionValue[];
22
24
  from(input: ProgrammeSearchInput): IProgrammeSearchFilters;
23
- private parseDurations;
24
- private parseTuitionFee;
25
25
  private numbersToStringsOrUndefined;
26
- private parseFacets;
27
- private parseFacetDurations;
28
26
  }
@@ -5,57 +5,29 @@ class ProgrammeSearchFilters {
5
5
  from(input) {
6
6
  this.attendances = input.attendances;
7
7
  this.degreeTypes = input.degreeTypes;
8
+ this.durations = input.durations;
8
9
  this.disciplines = this.numbersToStringsOrUndefined(input.disciplines);
9
10
  this.educationalLevels = input.educationalLevels;
10
11
  this.educationalForms = input.educationalForms;
11
- this.keyword = input.keyword;
12
+ this.text = input.text;
12
13
  this.areaIds = this.numbersToStringsOrUndefined(input.areaIds);
13
14
  this.regionIds = this.numbersToStringsOrUndefined(input.regionIds);
14
15
  this.countryIsoCodes = input.countryIsoCodes;
15
16
  this.organisationIds = input.organisationIds ? input.organisationIds.map(id => id.toString()) : undefined;
16
17
  this.specialProgrammes = input.specialProgrammes;
17
18
  this.nationalityCountryIso = input.nationalityCountryIso;
18
- this.parseDurations(input);
19
- this.parseTuitionFee(input);
20
- this.parseFacets(input);
19
+ this.tuitionFeeMin = input.tuitionFeeMin;
20
+ this.tuitionFeeMax = input.tuitionFeeMax;
21
+ this.sortBy = input.sortBy;
22
+ this.facets = input.facets;
23
+ this.facetsDurations = input.facetsDurations;
21
24
  return this;
22
25
  }
23
- parseDurations(input) {
24
- if (!input.durations)
25
- return;
26
- this.durations = [];
27
- for (const duration of input.durations) {
28
- const [min, max] = JSON.parse(duration);
29
- this.durations.push({ min, max });
30
- }
31
- }
32
- parseTuitionFee(input) {
33
- if (input.tuitionFeeMin || input.tuitionFeeMax) {
34
- this.tuitionFee = {
35
- min: input.tuitionFeeMin,
36
- max: input.tuitionFeeMax,
37
- };
38
- }
39
- }
40
26
  numbersToStringsOrUndefined(values) {
41
27
  if (values === undefined)
42
28
  return;
43
29
  return values.map(value => value.toString());
44
30
  }
45
- parseFacets(input) {
46
- var _a;
47
- this.facets.facets = ((_a = input.facets) === null || _a === void 0 ? void 0 : _a.facets) || [];
48
- this.parseFacetDurations(input);
49
- }
50
- parseFacetDurations(input) {
51
- if (!input.facets.durations)
52
- return;
53
- this.facets.durations = [];
54
- for (const duration of input.facets.durations) {
55
- const [min, max] = JSON.parse(duration);
56
- this.facets.durations.push({ min, max });
57
- }
58
- }
59
31
  }
60
32
  exports.ProgrammeSearchFilters = ProgrammeSearchFilters;
61
33
  //# sourceMappingURL=ProgrammeSearchFilters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProgrammeSearchFilters.js","sourceRoot":"","sources":["../../../src/programmes/ProgrammeSearchFilters.ts"],"names":[],"mappings":";;;AAcA,MAAa,sBAAsB;IAqB3B,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,CAAC;QACjD,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC,qBAAqB,CAAC;QAEzD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;QAC1B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAE5B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAExB,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;IAEO,WAAW,CAAC,KAA2B;;QAC9C,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAA,MAAA,KAAK,CAAC,MAAM,0CAAE,MAAM,KAAI,EAAE,CAAC;QAChD,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAEO,mBAAmB,CAAC,KAA2B;QACtD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS;YAAE,OAAO;QAEpC,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;QAE3B,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC/C,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,GAAG,EAAC,CAAC,CAAA;QACvC,CAAC;IACF,CAAC;CACD;AArFD,wDAqFC"}
1
+ {"version":3,"file":"ProgrammeSearchFilters.js","sourceRoot":"","sources":["../../../src/programmes/ProgrammeSearchFilters.ts"],"names":[],"mappings":";;;AAcA,MAAa,sBAAsB;IA0B3B,IAAI,CAAC,KAA2B;QACtC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,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,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QAEvB,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,CAAC;QACjD,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC,qBAAqB,CAAC;QAEzD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;QACzC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;QAEzC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;QAE1B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;QAE7C,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;AA1DD,wDA0DC"}
@@ -1,15 +1,13 @@
1
- import { AttendanceFilterOptionValue, DegreeTypeFilterOptionValue, DurationFilterOptionValue, EducationLevelFilterOptionValue, EducationalFormFilterOptionValue, SpecialProgrammesFilterOptionValue } from "@studyportals/search-filters/server";
2
- import { IFacetValues } from "../facets/IFacetValues";
1
+ import { AttendanceFilterOptionValue, DegreeTypeFilterOptionValue, DurationFilterOptionValue, EducationLevelFilterOptionValue, EducationalFormFilterOptionValue, SpecialProgrammesFilterOptionValue, FacetOptionValue } from "@studyportals/search-filters/server-side";
2
+ import { ProgrammeSortType } from "@/src/programmes/ProgrammeSortType";
3
3
  export type ProgrammeSearchInput = {
4
- resultSize: number;
5
- resultOffset: number;
6
4
  attendances?: AttendanceFilterOptionValue[];
7
5
  degreeTypes?: DegreeTypeFilterOptionValue[];
8
6
  disciplines?: number[];
9
7
  durations?: DurationFilterOptionValue[];
10
8
  educationalLevels?: EducationLevelFilterOptionValue[];
11
9
  educationalForms?: EducationalFormFilterOptionValue[];
12
- keyword: string;
10
+ text?: string;
13
11
  areaIds?: number[];
14
12
  regionIds?: number[];
15
13
  countryIsoCodes?: string[];
@@ -17,6 +15,8 @@ export type ProgrammeSearchInput = {
17
15
  specialProgrammes?: SpecialProgrammesFilterOptionValue[];
18
16
  tuitionFeeMin?: number;
19
17
  tuitionFeeMax?: number;
20
- nationalityCountryIso: string;
21
- facets: IFacetValues;
18
+ nationalityCountryIso?: string;
19
+ sortBy?: ProgrammeSortType;
20
+ facets?: FacetOptionValue[];
21
+ facetsDurations?: DurationFilterOptionValue[];
22
22
  };
@@ -0,0 +1,4 @@
1
+ export declare enum ProgrammeSortType {
2
+ DEFAULT = "default",
3
+ TUITION = "tuition"
4
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProgrammeSortType = void 0;
4
+ var ProgrammeSortType;
5
+ (function (ProgrammeSortType) {
6
+ ProgrammeSortType["DEFAULT"] = "default";
7
+ ProgrammeSortType["TUITION"] = "tuition";
8
+ })(ProgrammeSortType || (exports.ProgrammeSortType = ProgrammeSortType = {}));
9
+ //# sourceMappingURL=ProgrammeSortType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProgrammeSortType.js","sourceRoot":"","sources":["../../../src/programmes/ProgrammeSortType.ts"],"names":[],"mappings":";;;AAAA,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC5B,wCAAiB,CAAA;IACjB,wCAAiB,CAAA;AAClB,CAAC,EAHW,iBAAiB,iCAAjB,iBAAiB,QAG5B"}
@@ -3,11 +3,12 @@ import { IRequestSender, ISuperAgentRequestFactory } from "@studyportals/mb-plat
3
3
  import { IProgrammeCard } from "@studyportals/domain-client";
4
4
  import { IProgrammeSearchResponse } from "./IProgrammeSearchResponse";
5
5
  import { IProgrammeResult } from "./IProgrammeResult";
6
+ import { IProgrammeSearchFilters } from "./IProgrammeSearchFilters";
6
7
  export declare class SearchApiProgrammeClient extends SearchApiClientBase {
7
8
  private readonly requestFactory;
8
9
  private readonly requestSender;
9
10
  private readonly programmeCardFactory;
10
11
  constructor(apiUriBase: string, requestFactory: ISuperAgentRequestFactory, requestSender: IRequestSender);
11
- searchCards(filters: any, resultSize: number, resultOffset: number): Promise<IProgrammeSearchResponse<IProgrammeResult<IProgrammeCard>>>;
12
+ searchCards(filters: IProgrammeSearchFilters, resultSize: number, resultOffset: number): Promise<IProgrammeSearchResponse<IProgrammeResult<IProgrammeCard>>>;
12
13
  searchIds(filters: any, resultSize: number, resultOffset: number): Promise<IProgrammeSearchResponse<string>>;
13
14
  }
@@ -30,7 +30,7 @@ class SearchApiProgrammeClient extends SearchApiClientBase_1.SearchApiClientBase
30
30
  card: this.programmeCardFactory.fromDescription(result.card),
31
31
  is_premium: result.is_premium
32
32
  }));
33
- return Object.assign(Object.assign({}, result), { programmes: programmeResults, aggregations: (_a = result.aggregations) !== null && _a !== void 0 ? _a : [] });
33
+ return Object.assign(Object.assign({}, result), { programmes: programmeResults, facets: (_a = result.facets) !== null && _a !== void 0 ? _a : [] });
34
34
  });
35
35
  }
36
36
  searchIds(filters, resultSize, resultOffset) {
@@ -1 +1 @@
1
- {"version":3,"file":"SearchApiProgrammeClient.js","sourceRoot":"","sources":["../../../src/programmes/SearchApiProgrammeClient.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gEAA6D;AAE7D,+DAAkF;AAKlF,MAAa,wBAAyB,SAAQ,yCAAmB;IAMhE,YAAmB,UAAkB,EACpC,cAAyC,EACzC,aAA6B;QAE7B,KAAK,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QANhB,yBAAoB,GAAG,IAAI,mCAAmB,EAAE,CAAC;QAQjE,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,oBAAoB,GAAG,IAAI,mCAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC;IAEY,WAAW,CAAC,OAAY,EAAE,UAAkB,EAAE,YAAoB;;;YAC9E,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;iBAClE,KAAK,iCAAM,OAAO,KAAE,UAAU,EAAE,YAAY,IAAG,CAAC;YAElD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAgE,OAAO,CAAC,CAAC;YACnI,MAAM,gBAAgB,GAAgD,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACtG,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC5D,UAAU,EAAE,MAAM,CAAC,UAAU;aAC7B,CAAC,CAAC,CAAC;YAEJ,uCACI,MAAM,KACT,UAAU,EAAE,gBAAgB,EAC5B,YAAY,EAAE,MAAA,MAAM,CAAC,YAAY,mCAAI,EAAE,IACvC;QACF,CAAC;KAAA;IAEY,SAAS,CAAC,OAAY,EAAE,UAAkB,EAAE,YAAoB;;YAC5E,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;iBACtE,KAAK,iCAAM,OAAO,KAAE,UAAU,EAAE,YAAY,IAAG,CAAC;YAElD,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAmC,OAAO,CAAC,CAAC;QAC/F,CAAC;KAAA;CACD;AAxCD,4DAwCC"}
1
+ {"version":3,"file":"SearchApiProgrammeClient.js","sourceRoot":"","sources":["../../../src/programmes/SearchApiProgrammeClient.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gEAA6D;AAE7D,+DAAkF;AAMlF,MAAa,wBAAyB,SAAQ,yCAAmB;IAMhE,YAAmB,UAAkB,EACpC,cAAyC,EACzC,aAA6B;QAE7B,KAAK,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QANhB,yBAAoB,GAAG,IAAI,mCAAmB,EAAE,CAAC;QAQjE,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,oBAAoB,GAAG,IAAI,mCAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC;IAEY,WAAW,CAAC,OAAgC,EAAE,UAAkB,EAAE,YAAoB;;;YAClG,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;iBAClE,KAAK,iCAAM,OAAO,KAAE,UAAU,EAAE,YAAY,IAAG,CAAC;YAElD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAgE,OAAO,CAAC,CAAC;YACnI,MAAM,gBAAgB,GAAgD,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACtG,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC5D,UAAU,EAAE,MAAM,CAAC,UAAU;aAC7B,CAAC,CAAC,CAAC;YAEJ,uCACI,MAAM,KACT,UAAU,EAAE,gBAAgB,EAC5B,MAAM,EAAE,MAAA,MAAM,CAAC,MAAM,mCAAI,EAAE,IAC3B;QACF,CAAC;KAAA;IAEY,SAAS,CAAC,OAAY,EAAE,UAAkB,EAAE,YAAoB;;YAC5E,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;iBACtE,KAAK,iCAAM,OAAO,KAAE,UAAU,EAAE,YAAY,IAAG,CAAC;YAElD,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAmC,OAAO,CAAC,CAAC;QAC/F,CAAC;KAAA;CACD;AAxCD,4DAwCC"}
@@ -1,13 +0,0 @@
1
- export declare enum FacetOptionValue {
2
- METHODS = "methods",
3
- LEVELS = "level",
4
- DISCIPLINES = "disciplines",
5
- EDUCATIONAL_FORMS = "educational_forms",
6
- AREAS = "areas",
7
- REGIONS = "regions",
8
- DEGREE = "degree",
9
- SPECIAL_STUDY = "special_study",
10
- COUNTRY_CODES = "countryCodes",
11
- ORGANISATIONS_ID = "organisationId",
12
- DURATIONS = "durations"
13
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=FacetOptionValue.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FacetOptionValue.js","sourceRoot":"","sources":["../../../src/facets/FacetOptionValue.ts"],"names":[],"mappings":""}
@@ -1,5 +0,0 @@
1
- import { RangeDTO } from "../programmes/RangeDTO";
2
- export interface IFacetFilters {
3
- facets: string[];
4
- durations?: RangeDTO[];
5
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=IFacetFilters.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IFacetFilters.js","sourceRoot":"","sources":["../../../src/facets/IFacetFilters.ts"],"names":[],"mappings":""}
@@ -1,6 +0,0 @@
1
- import { DurationFilterOptionValue } from "@studyportals/search-filters/server";
2
- import { FacetOptionValue } from "./FacetOptionValue";
3
- export interface IFacetValues {
4
- readonly facets: FacetOptionValue[];
5
- readonly durations?: DurationFilterOptionValue[];
6
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=IFacetValues.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IFacetValues.js","sourceRoot":"","sources":["../../../src/facets/IFacetValues.ts"],"names":[],"mappings":""}
@@ -1,4 +0,0 @@
1
- export interface RangeDTO {
2
- min?: number;
3
- max?: number;
4
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=RangeDTO.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RangeDTO.js","sourceRoot":"","sources":["../../../src/programmes/RangeDTO.ts"],"names":[],"mappings":""}