@studyportals/search-api-interface 1.0.2 → 1.0.3

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/bin/index.d.ts CHANGED
@@ -2,8 +2,7 @@ import { DegreeTypeEnum } from "./src/organisations/DegreeTypeEnum";
2
2
  import { DeliveryMethodEnum } from "./src/organisations/DeliveryMethodEnum";
3
3
  import { IOrganisationSearchFilters } from "./src/organisations/IOrganisationSearchFilters";
4
4
  import { IOrganisationSearchResponse } from "./src/organisations/IOrganisationSearchResponse";
5
- import { ISearchOptions } from "./src/organisations/ISearchOptions";
6
5
  import { OrganisationSearchFilters } from "./src/organisations/OrganisationSearchFilters";
7
6
  import { OrganisationSearchInput } from "./src/organisations/OrganisationSearchInput";
8
7
  import { SearchApiOrganisationClient } from "./src/organisations/SearchApiOrganisationClient";
9
- export { SearchApiOrganisationClient, ISearchOptions, IOrganisationSearchResponse, IOrganisationSearchFilters, OrganisationSearchFilters, OrganisationSearchInput, DegreeTypeEnum, DeliveryMethodEnum };
8
+ export { SearchApiOrganisationClient, IOrganisationSearchResponse, IOrganisationSearchFilters, OrganisationSearchFilters, OrganisationSearchInput, DegreeTypeEnum, DeliveryMethodEnum };
package/bin/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAAA,uEAAoE;AAkBnE,+FAlBQ,+BAAc,OAkBR;AAjBf,+EAA4E;AAkB3E,mGAlBQ,uCAAkB,OAkBR;AAjBnB,+FAA4F;AAW3F,2GAXQ,uDAA0B,OAWR;AAR3B,6FAA0F;AASzF,0GATQ,qDAAyB,OASR;AAP1B,iGAA8F;AAG7F,4GAHQ,yDAA2B,OAGR"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAAA,uEAAoE;AAgBnE,+FAhBQ,+BAAc,OAgBR;AAff,+EAA4E;AAgB3E,mGAhBQ,uCAAkB,OAgBR;AAfnB,+FAA4F;AAS3F,2GATQ,uDAA0B,OASR;AAP3B,6FAA0F;AAQzF,0GARQ,qDAAyB,OAQR;AAN1B,iGAA8F;AAG7F,4GAHQ,yDAA2B,OAGR"}
@@ -1,5 +1,6 @@
1
1
  import { DegreeTypeEnum } from "./DegreeTypeEnum";
2
2
  import { DeliveryMethodEnum } from "./DeliveryMethodEnum";
3
+ import { OrganisationSearchInput } from "./OrganisationSearchInput";
3
4
  import { IOrganisationSearchFilters } from "./IOrganisationSearchFilters";
4
5
  export declare class OrganisationSearchFilters implements IOrganisationSearchFilters {
5
6
  organisationId: string | undefined;
@@ -8,10 +9,12 @@ export declare class OrganisationSearchFilters implements IOrganisationSearchFil
8
9
  deliveryMethods: DeliveryMethodEnum[] | undefined;
9
10
  countryIsoCodes: string[] | undefined;
10
11
  areaIds: string[] | undefined;
12
+ from(input: OrganisationSearchInput): OrganisationSearchFilters;
11
13
  consideringId(id: string): OrganisationSearchFilters;
12
14
  consideringDegree(degree: DegreeTypeEnum): OrganisationSearchFilters;
13
15
  consideringDisciplines(disciplines: string[]): OrganisationSearchFilters;
14
16
  consideringDeliveryMethods(deliveryMethods: DeliveryMethodEnum[]): OrganisationSearchFilters;
15
17
  consideringCountryIsoCodes(countryIsoCodes: string[]): OrganisationSearchFilters;
16
18
  consideringAreaIds(areaIds: string[]): OrganisationSearchFilters;
19
+ private numbersToStringsOrUndefined;
17
20
  }
@@ -2,6 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OrganisationSearchFilters = void 0;
4
4
  class OrganisationSearchFilters {
5
+ from(input) {
6
+ this.organisationId = input.organisationId ? input.organisationId.toString() : undefined;
7
+ this.degree = input.degree;
8
+ this.deliveryMethods = input.deliveryMethods;
9
+ this.disciplines = this.numbersToStringsOrUndefined(input.disciplines);
10
+ this.countryIsoCodes = input.countryIsoCodes;
11
+ this.areaIds = this.numbersToStringsOrUndefined(input.areaIds);
12
+ return this;
13
+ }
5
14
  consideringId(id) {
6
15
  this.organisationId = id;
7
16
  return this;
@@ -26,6 +35,11 @@ class OrganisationSearchFilters {
26
35
  this.areaIds = areaIds;
27
36
  return this;
28
37
  }
38
+ numbersToStringsOrUndefined(values) {
39
+ if (values === undefined)
40
+ return;
41
+ return values.map(value => value.toString());
42
+ }
29
43
  }
30
44
  exports.OrganisationSearchFilters = OrganisationSearchFilters;
31
45
  //# sourceMappingURL=OrganisationSearchFilters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrganisationSearchFilters.js","sourceRoot":"","sources":["../../../src/organisations/OrganisationSearchFilters.ts"],"names":[],"mappings":";;;AAIA,MAAa,yBAAyB;IAQ9B,aAAa,CAAC,EAAU;QAC9B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,iBAAiB,CAAC,MAAsB;QAC9C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,sBAAsB,CAAC,WAAqB;QAClD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,0BAA0B,CAAC,eAAqC;QACtE,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,0BAA0B,CAAC,eAAyB;QAC1D,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,kBAAkB,CAAC,OAAiB;QAC1C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,OAAO,IAAI,CAAC;IACb,CAAC;CACD;AArCD,8DAqCC"}
1
+ {"version":3,"file":"OrganisationSearchFilters.js","sourceRoot":"","sources":["../../../src/organisations/OrganisationSearchFilters.ts"],"names":[],"mappings":";;;AAKA,MAAa,yBAAyB;IAQ9B,IAAI,CAAC,KAA8B;QACzC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACzF,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;QAC7C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvE,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;QAC7C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,aAAa,CAAC,EAAU;QAC9B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,iBAAiB,CAAC,MAAsB;QAC9C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,sBAAsB,CAAC,WAAqB;QAClD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,0BAA0B,CAAC,eAAqC;QACtE,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,0BAA0B,CAAC,eAAyB;QAC1D,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,kBAAkB,CAAC,OAAiB;QAC1C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,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;AApDD,8DAoDC"}
@@ -1,3 +1,12 @@
1
- import { IOrganisationSearchFilters } from "./IOrganisationSearchFilters";
2
- import { ISearchOptions } from "./ISearchOptions";
3
- export type OrganisationSearchInput = ISearchOptions & IOrganisationSearchFilters;
1
+ import { DegreeTypeEnum } from "./DegreeTypeEnum";
2
+ import { DeliveryMethodEnum } from "./DeliveryMethodEnum";
3
+ export type OrganisationSearchInput = {
4
+ resultSize: number;
5
+ resultOffset: number;
6
+ organisationId?: number;
7
+ disciplines?: number[];
8
+ countryIsoCodes?: string[];
9
+ areaIds?: number[];
10
+ degree?: DegreeTypeEnum;
11
+ deliveryMethods?: DeliveryMethodEnum[];
12
+ };
@@ -2,11 +2,10 @@ import { SearchApiClientBase } from "./SearchApiClientBase";
2
2
  import { IRequestSender, ISuperAgentRequestFactory } from "@studyportals/mb-platform-http-requests";
3
3
  import { IOrganisationCard } from "@studyportals/domain-client";
4
4
  import { IOrganisationSearchResponse } from "./IOrganisationSearchResponse";
5
- import { IOrganisationSearchFilters } from "./IOrganisationSearchFilters";
6
5
  export declare class SearchApiOrganisationClient extends SearchApiClientBase {
7
6
  private readonly requestFactory;
8
7
  private readonly requestSender;
9
8
  private readonly organisationCardFactory;
10
9
  constructor(apiUriBase: string, requestFactory: ISuperAgentRequestFactory, requestSender: IRequestSender);
11
- searchCards(filters: IOrganisationSearchFilters, resultSize: number, resultOffset: number): Promise<IOrganisationSearchResponse<IOrganisationCard>>;
10
+ searchCards(filters: any, resultSize: number, resultOffset: number): Promise<IOrganisationSearchResponse<IOrganisationCard>>;
12
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SearchApiOrganisationClient.js","sourceRoot":"","sources":["../../../src/organisations/SearchApiOrganisationClient.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAA4D;AAE5D,+DAAwF;AAKxF,MAAa,2BAA4B,SAAQ,yCAAmB;IAMnE,YAAmB,UAAkB,EACpC,cAAyC,EACzC,aAA6B;QAE7B,KAAK,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QANnB,4BAAuB,GAAG,IAAI,sCAAsB,EAAE,CAAC;QAQvE,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,uBAAuB,GAAG,IAAI,sCAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC5E,CAAC;IAEY,WAAW,CAAC,OAAmC,EAAE,UAAkB,EAAE,YAAoB;;YACrG,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,CAAiD,OAAO,CAAC,CAAC;YAEpH,uCACI,MAAM,KACT,aAAa,EAAE,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,IACvF;QACF,CAAC;KAAA;CACD;AA5BD,kEA4BC"}
1
+ {"version":3,"file":"SearchApiOrganisationClient.js","sourceRoot":"","sources":["../../../src/organisations/SearchApiOrganisationClient.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAA4D;AAE5D,+DAAwF;AAIxF,MAAa,2BAA4B,SAAQ,yCAAmB;IAMnE,YAAmB,UAAkB,EACpC,cAAyC,EACzC,aAA6B;QAE7B,KAAK,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QANnB,4BAAuB,GAAG,IAAI,sCAAsB,EAAE,CAAC;QAQvE,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,uBAAuB,GAAG,IAAI,sCAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC5E,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,CAAiD,OAAO,CAAC,CAAC;YAEpH,uCACI,MAAM,KACT,aAAa,EAAE,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,IACvF;QACF,CAAC;KAAA;CACD;AA5BD,kEA4BC"}
package/index.ts CHANGED
@@ -2,14 +2,12 @@ import { DegreeTypeEnum } from "./src/organisations/DegreeTypeEnum";
2
2
  import { DeliveryMethodEnum } from "./src/organisations/DeliveryMethodEnum";
3
3
  import { IOrganisationSearchFilters } from "./src/organisations/IOrganisationSearchFilters";
4
4
  import { IOrganisationSearchResponse } from "./src/organisations/IOrganisationSearchResponse";
5
- import { ISearchOptions } from "./src/organisations/ISearchOptions";
6
5
  import { OrganisationSearchFilters } from "./src/organisations/OrganisationSearchFilters";
7
6
  import { OrganisationSearchInput } from "./src/organisations/OrganisationSearchInput";
8
7
  import { SearchApiOrganisationClient } from "./src/organisations/SearchApiOrganisationClient";
9
8
 
10
9
  export {
11
10
  SearchApiOrganisationClient,
12
- ISearchOptions,
13
11
  IOrganisationSearchResponse,
14
12
  IOrganisationSearchFilters,
15
13
  OrganisationSearchFilters,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@studyportals/search-api-interface",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "description": "Typescript library containing resources that facilitate integration with SearchApi",
5
5
  "main": "bin/index.js",
6
6
  "scripts": {
@@ -1,5 +1,6 @@
1
1
  import { DegreeTypeEnum } from "./DegreeTypeEnum";
2
2
  import { DeliveryMethodEnum } from "./DeliveryMethodEnum";
3
+ import { OrganisationSearchInput } from "./OrganisationSearchInput";
3
4
  import { IOrganisationSearchFilters } from "./IOrganisationSearchFilters";
4
5
 
5
6
  export class OrganisationSearchFilters implements IOrganisationSearchFilters {
@@ -10,6 +11,16 @@ export class OrganisationSearchFilters implements IOrganisationSearchFilters {
10
11
  public countryIsoCodes: string[] | undefined;
11
12
  public areaIds: string[] | undefined;
12
13
 
14
+ public from(input: OrganisationSearchInput): OrganisationSearchFilters {
15
+ this.organisationId = input.organisationId ? input.organisationId.toString() : undefined;
16
+ this.degree = input.degree;
17
+ this.deliveryMethods = input.deliveryMethods;
18
+ this.disciplines = this.numbersToStringsOrUndefined(input.disciplines);
19
+ this.countryIsoCodes = input.countryIsoCodes;
20
+ this.areaIds = this.numbersToStringsOrUndefined(input.areaIds);
21
+ return this;
22
+ }
23
+
13
24
  public consideringId(id: string): OrganisationSearchFilters {
14
25
  this.organisationId = id;
15
26
  return this;
@@ -39,4 +50,9 @@ export class OrganisationSearchFilters implements IOrganisationSearchFilters {
39
50
  this.areaIds = areaIds;
40
51
  return this;
41
52
  }
53
+
54
+ private numbersToStringsOrUndefined(values: number[] | undefined): string[] | undefined {
55
+ if (values === undefined) return;
56
+ return values.map(value => value.toString());
57
+ }
42
58
  }
@@ -1,4 +1,13 @@
1
- import { IOrganisationSearchFilters } from "./IOrganisationSearchFilters";
2
- import { ISearchOptions } from "./ISearchOptions";
1
+ import { DegreeTypeEnum } from "./DegreeTypeEnum";
2
+ import { DeliveryMethodEnum } from "./DeliveryMethodEnum";
3
3
 
4
- export type OrganisationSearchInput = ISearchOptions & IOrganisationSearchFilters;
4
+ export type OrganisationSearchInput = {
5
+ resultSize: number,
6
+ resultOffset: number,
7
+ organisationId?: number,
8
+ disciplines?: number[],
9
+ countryIsoCodes?: string[],
10
+ areaIds?: number[],
11
+ degree?: DegreeTypeEnum,
12
+ deliveryMethods?: DeliveryMethodEnum[]
13
+ };
@@ -3,7 +3,6 @@ import { IRequestSender, ISuperAgentRequestFactory } from "@studyportals/mb-plat
3
3
  import { IOrganisationCard, OrganisationCardClient } from "@studyportals/domain-client";
4
4
  import { IOrganisationSearchResponse } from "./IOrganisationSearchResponse";
5
5
  import { IModelDescription } from "@studyportals/domain-client/src/i-model-description";
6
- import { IOrganisationSearchFilters } from "./IOrganisationSearchFilters";
7
6
 
8
7
  export class SearchApiOrganisationClient extends SearchApiClientBase {
9
8
 
@@ -22,7 +21,7 @@ export class SearchApiOrganisationClient extends SearchApiClientBase {
22
21
  this.organisationCardFactory = new OrganisationCardClient("N/A", "N/A", 1);
23
22
  }
24
23
 
25
- public async searchCards(filters: IOrganisationSearchFilters, resultSize: number, resultOffset: number): Promise<IOrganisationSearchResponse<IOrganisationCard>> {
24
+ public async searchCards(filters: any, resultSize: number, resultOffset: number): Promise<IOrganisationSearchResponse<IOrganisationCard>> {
26
25
  const request = this.requestFactory.get(this.constructUri("search"))
27
26
  .query({ ...filters, resultSize, resultOffset });
28
27
 
@@ -1,4 +0,0 @@
1
- export interface ISearchOptions {
2
- readonly resultSize: number;
3
- readonly resultOffset: number;
4
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=ISearchOptions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ISearchOptions.js","sourceRoot":"","sources":["../../../src/organisations/ISearchOptions.ts"],"names":[],"mappings":""}
@@ -1,4 +0,0 @@
1
- export interface ISearchOptions {
2
- readonly resultSize: number;
3
- readonly resultOffset: number;
4
- }