@studyportals/search-api-interface 1.2.3-1 → 1.2.3-12

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
@@ -5,10 +5,12 @@ import { IOrganisationSearchResponse } from "./src/organisations/IOrganisationSe
5
5
  import { OrganisationSearchFilters } from "./src/organisations/OrganisationSearchFilters";
6
6
  import { OrganisationSearchInput } from "./src/organisations/OrganisationSearchInput";
7
7
  import { SearchApiOrganisationClient } from "./src/organisations/SearchApiOrganisationClient";
8
+ import { IProgrammeResult } from "./src/programmes/IProgrammeResult";
8
9
  import { IProgrammeSearchFilters } from "./src/programmes/IProgrammeSearchFilters";
9
10
  import { IProgrammeSearchResponse } from "./src/programmes/IProgrammeSearchResponse";
10
11
  import { ProgrammeSearchFilters } from "./src/programmes/ProgrammeSearchFilters";
11
12
  import { ProgrammeSearchInput } from "./src/programmes/ProgrammeSearchInput";
12
- import { RangeDTO } from "./src/programmes/RangeDTO";
13
13
  import { SearchApiProgrammeClient } from "./src/programmes/SearchApiProgrammeClient";
14
- export { SearchApiOrganisationClient, IOrganisationSearchResponse, IOrganisationSearchFilters, OrganisationSearchFilters, SearchApiProgrammeClient, IProgrammeSearchResponse, IProgrammeSearchFilters, ProgrammeSearchFilters, OrganisationSearchInput, ProgrammeSearchInput, DegreeTypeEnum, DeliveryMethodEnum, RangeDTO };
14
+ import { FacetOptionValue } from "./src/facets/FacetOptionValue";
15
+ import { FacetResponseType } from "./src/facets/FacetResponseType";
16
+ export { SearchApiOrganisationClient, IOrganisationSearchResponse, IOrganisationSearchFilters, OrganisationSearchFilters, SearchApiProgrammeClient, IProgrammeSearchResponse, IProgrammeSearchFilters, ProgrammeSearchFilters, OrganisationSearchInput, ProgrammeSearchInput, IProgrammeResult, DegreeTypeEnum, DeliveryMethodEnum, FacetOptionValue, FacetResponseType };
package/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DeliveryMethodEnum = exports.DegreeTypeEnum = exports.ProgrammeSearchFilters = exports.IProgrammeSearchFilters = exports.SearchApiProgrammeClient = exports.OrganisationSearchFilters = exports.IOrganisationSearchFilters = exports.SearchApiOrganisationClient = void 0;
3
+ exports.FacetOptionValue = exports.DeliveryMethodEnum = exports.DegreeTypeEnum = exports.IProgrammeResult = exports.ProgrammeSearchFilters = exports.IProgrammeSearchFilters = exports.SearchApiProgrammeClient = exports.OrganisationSearchFilters = exports.IOrganisationSearchFilters = exports.SearchApiOrganisationClient = void 0;
4
4
  const DegreeTypeEnum_1 = require("./src/organisations/DegreeTypeEnum");
5
5
  Object.defineProperty(exports, "DegreeTypeEnum", { enumerable: true, get: function () { return DegreeTypeEnum_1.DegreeTypeEnum; } });
6
6
  const DeliveryMethodEnum_1 = require("./src/organisations/DeliveryMethodEnum");
@@ -11,10 +11,14 @@ const OrganisationSearchFilters_1 = require("./src/organisations/OrganisationSea
11
11
  Object.defineProperty(exports, "OrganisationSearchFilters", { enumerable: true, get: function () { return OrganisationSearchFilters_1.OrganisationSearchFilters; } });
12
12
  const SearchApiOrganisationClient_1 = require("./src/organisations/SearchApiOrganisationClient");
13
13
  Object.defineProperty(exports, "SearchApiOrganisationClient", { enumerable: true, get: function () { return SearchApiOrganisationClient_1.SearchApiOrganisationClient; } });
14
+ const IProgrammeResult_1 = require("./src/programmes/IProgrammeResult");
15
+ Object.defineProperty(exports, "IProgrammeResult", { enumerable: true, get: function () { return IProgrammeResult_1.IProgrammeResult; } });
14
16
  const IProgrammeSearchFilters_1 = require("./src/programmes/IProgrammeSearchFilters");
15
17
  Object.defineProperty(exports, "IProgrammeSearchFilters", { enumerable: true, get: function () { return IProgrammeSearchFilters_1.IProgrammeSearchFilters; } });
16
18
  const ProgrammeSearchFilters_1 = require("./src/programmes/ProgrammeSearchFilters");
17
19
  Object.defineProperty(exports, "ProgrammeSearchFilters", { enumerable: true, get: function () { return ProgrammeSearchFilters_1.ProgrammeSearchFilters; } });
18
20
  const SearchApiProgrammeClient_1 = require("./src/programmes/SearchApiProgrammeClient");
19
21
  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; } });
20
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;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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAAA,uEAAoE;AA+BnE,+FA/BQ,+BAAc,OA+BR;AA9Bf,+EAA4E;AA+B3E,mGA/BQ,uCAAkB,OA+BR;AA9BnB,+FAA4F;AAiB3F,2GAjBQ,uDAA0B,OAiBR;AAf3B,6FAA0F;AAgBzF,0GAhBQ,qDAAyB,OAgBR;AAd1B,iGAA8F;AAW7F,4GAXQ,yDAA2B,OAWR;AAV5B,wEAAqE;AAsBpE,iGAtBQ,mCAAgB,OAsBR;AArBjB,sFAAmF;AAgBlF,wGAhBQ,iDAAuB,OAgBR;AAdxB,oFAAiF;AAehF,uGAfQ,+CAAsB,OAeR;AAbvB,wFAAqF;AAUpF,yGAVQ,mDAAwB,OAUR;AATzB,oEAAiE;AAqBhE,iGArBQ,mCAAgB,OAqBR"}
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@studyportals/search-api-interface",
3
- "version": "1.2.3-1",
3
+ "version": "1.2.3-12",
4
4
  "description": "Typescript library containing resources that facilitate integration with SearchApi",
5
- "main": "bin/index.js",
5
+ "main": "index.js",
6
6
  "scripts": {
7
7
  "compile": "rm -fR bin && npx tsc",
8
8
  "deploy-patch": "npm version patch && npm run deploy",
@@ -1,14 +1,13 @@
1
1
  export declare enum FacetOptionValue {
2
- ATTENDANCE = "attendances",
3
- DEGREE_TYPE = "degreeTypes",
2
+ METHODS = "methods",
3
+ LEVELS = "level",
4
4
  DISCIPLINES = "disciplines",
5
- DURATIONS = "durations",
6
- EDUCATIONAL_LEVELS = "educationalLevels",
7
- EDUCATIONAL_FORMS = "educationalForms",
8
- AREAS_IDS = "areaIds",
9
- REGION_IDS = "regionIds",
10
- COUNTRY_ISO_CODES = "countryIsoCodes",
11
- ORGANISATIONS_IDS = "organisationIds",
12
- SPECIAL_PROGRAMMES = "specialProgrammes",
13
- NATIONALITY_ISO_CODE = "nationalityIsoCode"
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"
14
13
  }
@@ -0,0 +1,5 @@
1
+ export type FacetResponseType = {
2
+ filter: string;
3
+ count: number;
4
+ value: string;
5
+ };
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=RangeDTO.js.map
3
+ //# sourceMappingURL=FacetResponseType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FacetResponseType.js","sourceRoot":"","sources":["../../../src/facets/FacetResponseType.ts"],"names":[],"mappings":""}
@@ -1,5 +1,7 @@
1
- import { RangeDTO } from "../programmes/RangeDTO";
2
1
  export interface IFacetFilters {
3
2
  facets: string[];
4
- durations?: RangeDTO[];
3
+ durations?: {
4
+ min: number;
5
+ max: number;
6
+ }[];
5
7
  }
@@ -0,0 +1,4 @@
1
+ export declare class IProgrammeResult<T> {
2
+ is_premium: boolean;
3
+ card: T;
4
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IProgrammeResult = void 0;
4
+ class IProgrammeResult {
5
+ }
6
+ exports.IProgrammeResult = IProgrammeResult;
7
+ //# sourceMappingURL=IProgrammeResult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IProgrammeResult.js","sourceRoot":"","sources":["../../../src/programmes/IProgrammeResult.ts"],"names":[],"mappings":";;;AAAA,MAAa,gBAAgB;CAG5B;AAHD,4CAGC"}
@@ -1,11 +1,9 @@
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 } from "@studyportals/search-filters/server";
4
2
  export declare class IProgrammeSearchFilters {
5
3
  readonly attendances?: AttendanceFilterOptionValue[];
6
4
  readonly degreeTypes?: DegreeTypeFilterOptionValue[];
7
5
  readonly disciplines?: string[];
8
- readonly durations?: RangeDTO[];
6
+ readonly durations?: DurationFilterOptionValue[];
9
7
  readonly educationalLevels?: EducationLevelFilterOptionValue[];
10
8
  readonly educationalForms?: EducationalFormFilterOptionValue[];
11
9
  readonly keyword?: string;
@@ -14,7 +12,9 @@ export declare class IProgrammeSearchFilters {
14
12
  readonly countryIsoCodes?: string[];
15
13
  readonly organisationIds?: string[];
16
14
  readonly specialProgrammes?: SpecialProgrammesFilterOptionValue[];
17
- readonly tuitionFee?: RangeDTO;
18
- readonly nationalityIsoCode?: string;
19
- readonly facets: IFacetFilters;
15
+ readonly tuitionFeeMin?: number;
16
+ readonly tuitionFeeMax?: number;
17
+ readonly nationalityCountryIso?: string;
18
+ readonly facets?: string[];
19
+ readonly facetsDurations?: DurationFilterOptionValue[];
20
20
  }
@@ -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":";;;AASA,MAAa,uBAAuB;CAuBnC;AAvBD,0DAuBC"}
@@ -1,5 +1,7 @@
1
+ import { FacetResponseType } from "../facets/FacetResponseType";
1
2
  export interface IProgrammeSearchResponse<T> {
2
3
  readonly programmes: readonly T[];
3
4
  readonly hitsTotal: number;
4
5
  readonly hitsTotalRelation: "more than" | "exactly";
6
+ readonly aggregations?: readonly FacetResponseType[];
5
7
  }
@@ -1,13 +1,11 @@
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 } from "@studyportals/search-filters/server";
6
4
  export declare class ProgrammeSearchFilters implements IProgrammeSearchFilters {
7
5
  attendances?: AttendanceFilterOptionValue[];
8
6
  degreeTypes?: DegreeTypeFilterOptionValue[];
9
7
  disciplines?: string[];
10
- durations?: RangeDTO[];
8
+ durations?: DurationFilterOptionValue[];
11
9
  educationalLevels?: EducationLevelFilterOptionValue[];
12
10
  educationalForms?: EducationalFormFilterOptionValue[];
13
11
  keyword?: string;
@@ -16,13 +14,11 @@ export declare class ProgrammeSearchFilters implements IProgrammeSearchFilters {
16
14
  countryIsoCodes?: string[];
17
15
  organisationIds?: string[];
18
16
  specialProgrammes?: SpecialProgrammesFilterOptionValue[];
19
- tuitionFee?: RangeDTO;
20
- nationalityIsoCode?: string;
21
- facets: IFacetFilters;
17
+ tuitionFeeMin?: number;
18
+ tuitionFeeMax?: number;
19
+ nationalityCountryIso?: string;
20
+ facets?: string[];
21
+ facetDurations?: DurationFilterOptionValue[];
22
22
  from(input: ProgrammeSearchInput): IProgrammeSearchFilters;
23
- private parseDurations;
24
- private parseTuitionFee;
25
23
  private numbersToStringsOrUndefined;
26
- private parseFacets;
27
- private parseFacetDurations;
28
24
  }
@@ -5,6 +5,7 @@ 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;
@@ -14,47 +15,18 @@ class ProgrammeSearchFilters {
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
- this.nationalityIsoCode = input.nationalityIsoCode;
18
- this.parseDurations(input);
19
- this.parseTuitionFee(input);
20
- this.parseFacets(input);
18
+ this.nationalityCountryIso = input.nationalityCountryIso;
19
+ this.tuitionFeeMin = input.tuitionFeeMin;
20
+ this.tuitionFeeMax = input.tuitionFeeMax;
21
+ this.facets = input.facets;
22
+ this.facetDurations = input.facetsDurations;
21
23
  return this;
22
24
  }
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
25
  numbersToStringsOrUndefined(values) {
41
26
  if (values === undefined)
42
27
  return;
43
28
  return values.map(value => value.toString());
44
29
  }
45
- parseFacets(input) {
46
- this.facets.facets = input.facets.facets;
47
- this.parseFacetDurations(input);
48
- }
49
- parseFacetDurations(input) {
50
- if (!input.facets.durations)
51
- return;
52
- this.facets.durations = [];
53
- for (const duration of input.facets.durations) {
54
- const [min, max] = JSON.parse(duration);
55
- this.facets.durations.push({ min, max });
56
- }
57
- }
58
30
  }
59
31
  exports.ProgrammeSearchFilters = ProgrammeSearchFilters;
60
32
  //# sourceMappingURL=ProgrammeSearchFilters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProgrammeSearchFilters.js","sourceRoot":"","sources":["../../../src/programmes/ProgrammeSearchFilters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProgrammeSearchFilters.js","sourceRoot":"","sources":["../../../src/programmes/ProgrammeSearchFilters.ts"],"names":[],"mappings":";;;AAcA,MAAa,sBAAsB;IAwB3B,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,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,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;QACzC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;QAEzC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,eAAe,CAAC;QAE5C,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;CAYD;AAjED,wDAiEC"}
@@ -1,15 +1,12 @@
1
1
  import { AttendanceFilterOptionValue, DegreeTypeFilterOptionValue, DurationFilterOptionValue, EducationLevelFilterOptionValue, EducationalFormFilterOptionValue, SpecialProgrammesFilterOptionValue } from "@studyportals/search-filters/server";
2
- import { IFacetValues } from "../facets/IFacetValues";
3
2
  export type ProgrammeSearchInput = {
4
- resultSize: number;
5
- resultOffset: number;
6
3
  attendances?: AttendanceFilterOptionValue[];
7
4
  degreeTypes?: DegreeTypeFilterOptionValue[];
8
5
  disciplines?: number[];
9
6
  durations?: DurationFilterOptionValue[];
10
7
  educationalLevels?: EducationLevelFilterOptionValue[];
11
8
  educationalForms?: EducationalFormFilterOptionValue[];
12
- keyword: string;
9
+ keyword?: string;
13
10
  areaIds?: number[];
14
11
  regionIds?: number[];
15
12
  countryIsoCodes?: string[];
@@ -17,6 +14,7 @@ export type ProgrammeSearchInput = {
17
14
  specialProgrammes?: SpecialProgrammesFilterOptionValue[];
18
15
  tuitionFeeMin?: number;
19
16
  tuitionFeeMax?: number;
20
- nationalityIsoCode: string;
21
- facets: IFacetValues;
17
+ nationalityCountryIso?: string;
18
+ facets?: string[];
19
+ facetsDurations?: DurationFilterOptionValue[];
22
20
  };
@@ -2,11 +2,13 @@ import { SearchApiClientBase } from "../SearchApiClientBase";
2
2
  import { IRequestSender, ISuperAgentRequestFactory } from "@studyportals/mb-platform-http-requests";
3
3
  import { IProgrammeCard } from "@studyportals/domain-client";
4
4
  import { IProgrammeSearchResponse } from "./IProgrammeSearchResponse";
5
+ import { IProgrammeResult } from "./IProgrammeResult";
6
+ import { IProgrammeSearchFilters } from "./IProgrammeSearchFilters";
5
7
  export declare class SearchApiProgrammeClient extends SearchApiClientBase {
6
8
  private readonly requestFactory;
7
9
  private readonly requestSender;
8
- private readonly organisationCardFactory;
10
+ private readonly programmeCardFactory;
9
11
  constructor(apiUriBase: string, requestFactory: ISuperAgentRequestFactory, requestSender: IRequestSender);
10
- searchCards(filters: any, resultSize: number, resultOffset: number): Promise<IProgrammeSearchResponse<IProgrammeCard>>;
12
+ searchCards(filters: IProgrammeSearchFilters, resultSize: number, resultOffset: number): Promise<IProgrammeSearchResponse<IProgrammeResult<IProgrammeCard>>>;
11
13
  searchIds(filters: any, resultSize: number, resultOffset: number): Promise<IProgrammeSearchResponse<string>>;
12
14
  }
@@ -14,18 +14,23 @@ const SearchApiClientBase_1 = require("../SearchApiClientBase");
14
14
  const domain_client_1 = require("@studyportals/domain-client");
15
15
  class SearchApiProgrammeClient extends SearchApiClientBase_1.SearchApiClientBase {
16
16
  constructor(apiUriBase, requestFactory, requestSender) {
17
- super("organisations", apiUriBase);
18
- this.organisationCardFactory = new domain_client_1.ProgrammeCardClient();
17
+ super("programmes", apiUriBase);
18
+ this.programmeCardFactory = new domain_client_1.ProgrammeCardClient();
19
19
  this.requestFactory = requestFactory;
20
20
  this.requestSender = requestSender;
21
- this.organisationCardFactory = new domain_client_1.ProgrammeCardClient("N/A", "N/A", 1);
21
+ this.programmeCardFactory = new domain_client_1.ProgrammeCardClient("N/A", "N/A", 1);
22
22
  }
23
23
  searchCards(filters, resultSize, resultOffset) {
24
24
  return __awaiter(this, void 0, void 0, function* () {
25
+ var _a;
25
26
  const request = this.requestFactory.get(this.constructUri("search"))
26
27
  .query(Object.assign(Object.assign({}, filters), { resultSize, resultOffset }));
27
28
  const result = yield this.requestSender.sendAndExtractBody(request);
28
- return Object.assign(Object.assign({}, result), { programmes: this.organisationCardFactory.fromDescriptions([...result.programmes]) });
29
+ const programmeResults = result.programmes.map(result => ({
30
+ card: this.programmeCardFactory.fromDescription(result.card),
31
+ is_premium: result.is_premium
32
+ }));
33
+ return Object.assign(Object.assign({}, result), { programmes: programmeResults, aggregations: (_a = result.aggregations) !== null && _a !== void 0 ? _a : [] });
29
34
  });
30
35
  }
31
36
  searchIds(filters, resultSize, resultOffset) {
@@ -1 +1 @@
1
- {"version":3,"file":"SearchApiProgrammeClient.js","sourceRoot":"","sources":["../../../src/programmes/SearchApiProgrammeClient.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gEAA6D;AAG7D,+DAAkF;AAGlF,MAAa,wBAAyB,SAAQ,yCAAmB;IAMhE,YAAmB,UAAkB,EACpC,cAAyC,EACzC,aAA6B;QAE7B,KAAK,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QANnB,4BAAuB,GAAG,IAAI,mCAAmB,EAAE,CAAC;QAQpE,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,uBAAuB,GAAG,IAAI,mCAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACzE,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,CAA8C,OAAO,CAAC,CAAC;YAEjH,uCACI,MAAM,KACT,UAAU,EAAE,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,IACjF;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;AAnCD,4DAmCC"}
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,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,4 +0,0 @@
1
- export interface RangeDTO {
2
- min?: number;
3
- max?: number;
4
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"RangeDTO.js","sourceRoot":"","sources":["../../../src/programmes/RangeDTO.ts"],"names":[],"mappings":""}