@studyportals/search-api-interface 2.5.0 → 2.6.0-beta.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.
package/index.d.ts CHANGED
@@ -25,4 +25,9 @@ import { IScholarshipSearchCountResponse } from "./src/scholarships/IScholarship
25
25
  import { ScholarshipFormat } from "./src/scholarships/ScholarshipFormatEnum";
26
26
  import { ScholarshipType } from "./src/scholarships/ScholarshipTypeEnum";
27
27
  import { SearchApiScholarshipClient } from "./src/scholarships/SearchApiScholarshipsClient";
28
- export { SearchApiOrganisationClient, IOrganisationSearchResponse, IOrganisationSearchFilters, OrganisationSearchFilters, SearchApiProgrammeClient, IProgrammeSearchResponse, IProgrammeSearchFilters, ProgrammeSearchFilters, OrganisationSearchInput, ProgrammeSearchInput, IProgrammeResult, DegreeTypeEnum, DeliveryMethodEnum, HitsTotalRelation, ProgrammeSortType, FacetResponseType, FacetValues, TextSearchAlgorithmType, ProgrammeFilterType, ISuggestionResult, SearchApiScholarshipClient, IScholarshipSearchResponse, IScholarshipSearchFilters, ScholarshipSearchFilters, ScholarshipSearchInput, IScholarshipSearchCountResponse, ScholarshipFormat, ScholarshipType };
28
+ import { SearchApiCityClient } from "./src/cities/SearchApiCityClient";
29
+ import { CitySearchInput } from "./src/cities/CitySearchInput";
30
+ import { CitySearchFilters } from "./src/cities/CitySearchFilters";
31
+ import { ICitySearchFilters } from "./src/cities/ICitySearchFilters";
32
+ import { ICitySearchResponse } from "./src/cities/ICitySearchResponse";
33
+ export { SearchApiOrganisationClient, IOrganisationSearchResponse, IOrganisationSearchFilters, OrganisationSearchFilters, SearchApiProgrammeClient, IProgrammeSearchResponse, IProgrammeSearchFilters, ProgrammeSearchFilters, OrganisationSearchInput, ProgrammeSearchInput, IProgrammeResult, DegreeTypeEnum, DeliveryMethodEnum, HitsTotalRelation, ProgrammeSortType, FacetResponseType, FacetValues, TextSearchAlgorithmType, ProgrammeFilterType, ISuggestionResult, SearchApiScholarshipClient, IScholarshipSearchResponse, IScholarshipSearchFilters, ScholarshipSearchFilters, ScholarshipSearchInput, IScholarshipSearchCountResponse, ScholarshipFormat, ScholarshipType, SearchApiCityClient, ICitySearchResponse, ICitySearchFilters, CitySearchFilters, CitySearchInput };
package/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ScholarshipType = exports.ScholarshipFormat = exports.ScholarshipSearchFilters = exports.SearchApiScholarshipClient = exports.ProgrammeFilterType = exports.TextSearchAlgorithmType = exports.ProgrammeSortType = exports.HitsTotalRelation = exports.DeliveryMethodEnum = exports.DegreeTypeEnum = exports.IProgrammeResult = exports.ProgrammeSearchFilters = exports.IProgrammeSearchFilters = exports.SearchApiProgrammeClient = exports.OrganisationSearchFilters = exports.IOrganisationSearchFilters = exports.SearchApiOrganisationClient = void 0;
3
+ exports.CitySearchFilters = exports.SearchApiCityClient = exports.ScholarshipType = exports.ScholarshipFormat = exports.ScholarshipSearchFilters = exports.SearchApiScholarshipClient = exports.ProgrammeFilterType = exports.TextSearchAlgorithmType = exports.ProgrammeSortType = exports.HitsTotalRelation = exports.DeliveryMethodEnum = exports.DegreeTypeEnum = exports.IProgrammeResult = exports.ProgrammeSearchFilters = exports.IProgrammeSearchFilters = exports.SearchApiProgrammeClient = exports.OrganisationSearchFilters = exports.IOrganisationSearchFilters = exports.SearchApiOrganisationClient = void 0;
4
4
  const HitsTotalRelation_1 = require("./src/HitsTotalRelation");
5
5
  Object.defineProperty(exports, "HitsTotalRelation", { enumerable: true, get: function () { return HitsTotalRelation_1.HitsTotalRelation; } });
6
6
  const DegreeTypeEnum_1 = require("./src/organisations/DegreeTypeEnum");
@@ -35,4 +35,8 @@ const ScholarshipTypeEnum_1 = require("./src/scholarships/ScholarshipTypeEnum");
35
35
  Object.defineProperty(exports, "ScholarshipType", { enumerable: true, get: function () { return ScholarshipTypeEnum_1.ScholarshipType; } });
36
36
  const SearchApiScholarshipsClient_1 = require("./src/scholarships/SearchApiScholarshipsClient");
37
37
  Object.defineProperty(exports, "SearchApiScholarshipClient", { enumerable: true, get: function () { return SearchApiScholarshipsClient_1.SearchApiScholarshipClient; } });
38
+ const SearchApiCityClient_1 = require("./src/cities/SearchApiCityClient");
39
+ Object.defineProperty(exports, "SearchApiCityClient", { enumerable: true, get: function () { return SearchApiCityClient_1.SearchApiCityClient; } });
40
+ const CitySearchFilters_1 = require("./src/cities/CitySearchFilters");
41
+ Object.defineProperty(exports, "CitySearchFilters", { enumerable: true, get: function () { return CitySearchFilters_1.CitySearchFilters; } });
38
42
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAAA,+DAA4D;AA6C3D,kGA7CQ,qCAAiB,OA6CR;AA5ClB,uEAAoE;AA0CnE,+FA1CQ,+BAAc,OA0CR;AAzCf,+EAA4E;AA0C3E,mGA1CQ,uCAAkB,OA0CR;AAzCnB,+FAA4F;AA4B3F,2GA5BQ,uDAA0B,OA4BR;AA1B3B,6FAA0F;AA2BzF,0GA3BQ,qDAAyB,OA2BR;AAzB1B,iGAA8F;AAsB7F,4GAtBQ,yDAA2B,OAsBR;AArB5B,wEAAqE;AAiCpE,iGAjCQ,mCAAgB,OAiCR;AAhCjB,sFAAmF;AA2BlF,wGA3BQ,iDAAuB,OA2BR;AAzBxB,oFAAiF;AA0BhF,uGA1BQ,+CAAsB,OA0BR;AAxBvB,wFAAqF;AAqBpF,yGArBQ,mDAAwB,OAqBR;AAnBzB,0EAAuE;AAgCtE,kGAhCQ,qCAAiB,OAgCR;AA/BlB,2EAAwE;AAoCvE,wGApCQ,iDAAuB,OAoCR;AAnCxB,8EAA2E;AAoC1E,oGApCQ,yCAAmB,OAoCR;AAhCpB,0FAAuF;AAuCtF,yGAvCQ,mDAAwB,OAuCR;AApCzB,oFAA6E;AAuC5E,kGAvCQ,yCAAiB,OAuCR;AAtClB,gFAAyE;AAuCxE,gGAvCQ,qCAAe,OAuCR;AAtChB,gGAA4F;AA+B3F,2GA/BQ,wDAA0B,OA+BR"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAAA,+DAA4D;AAkD3D,kGAlDQ,qCAAiB,OAkDR;AAjDlB,uEAAoE;AA+CnE,+FA/CQ,+BAAc,OA+CR;AA9Cf,+EAA4E;AA+C3E,mGA/CQ,uCAAkB,OA+CR;AA9CnB,+FAA4F;AAiC3F,2GAjCQ,uDAA0B,OAiCR;AA/B3B,6FAA0F;AAgCzF,0GAhCQ,qDAAyB,OAgCR;AA9B1B,iGAA8F;AA2B7F,4GA3BQ,yDAA2B,OA2BR;AA1B5B,wEAAqE;AAsCpE,iGAtCQ,mCAAgB,OAsCR;AArCjB,sFAAmF;AAgClF,wGAhCQ,iDAAuB,OAgCR;AA9BxB,oFAAiF;AA+BhF,uGA/BQ,+CAAsB,OA+BR;AA7BvB,wFAAqF;AA0BpF,yGA1BQ,mDAAwB,OA0BR;AAxBzB,0EAAuE;AAqCtE,kGArCQ,qCAAiB,OAqCR;AApClB,2EAAwE;AAyCvE,wGAzCQ,iDAAuB,OAyCR;AAxCxB,8EAA2E;AAyC1E,oGAzCQ,yCAAmB,OAyCR;AArCpB,0FAAuF;AA4CtF,yGA5CQ,mDAAwB,OA4CR;AAzCzB,oFAA6E;AA4C5E,kGA5CQ,yCAAiB,OA4CR;AA3ClB,gFAAyE;AA4CxE,gGA5CQ,qCAAe,OA4CR;AA3ChB,gGAA4F;AAoC3F,2GApCQ,wDAA0B,OAoCR;AAnC3B,0EAAuE;AA4CtE,oGA5CQ,yCAAmB,OA4CR;AA1CpB,sEAAmE;AA6ClE,kGA7CQ,qCAAiB,OA6CR"}
package/package.json CHANGED
@@ -1,32 +1,32 @@
1
- {
2
- "name": "@studyportals/search-api-interface",
3
- "version": "2.5.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/domain-client": "^5.4.4",
30
- "@studyportals/search-filters": "^4.11.2"
31
- }
32
- }
1
+ {
2
+ "name": "@studyportals/search-api-interface",
3
+ "version": "2.6.0-beta.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 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/domain-client": "^5.4.4",
30
+ "@studyportals/search-filters": "^4.11.2"
31
+ }
32
+ }
@@ -0,0 +1,16 @@
1
+ import { CitySearchInput } from "./CitySearchInput";
2
+ import { ICitySearchFilters } from "./ICitySearchFilters";
3
+ export declare class CitySearchFilters implements ICitySearchFilters {
4
+ id?: string;
5
+ name?: string;
6
+ virtualPath?: string;
7
+ areaIds?: string[];
8
+ countryIsoCodes?: string[];
9
+ from(input: CitySearchInput): CitySearchFilters;
10
+ consideringId(id: string): CitySearchFilters;
11
+ consideringName(name: string): CitySearchFilters;
12
+ consideringVirtualPath(virtualPath: string): CitySearchFilters;
13
+ consideringAreaIds(areaIds: string[]): CitySearchFilters;
14
+ consideringCountryIsoCodes(countryIsoCodes: string[]): CitySearchFilters;
15
+ private numbersToStringsOrUndefined;
16
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CitySearchFilters = void 0;
4
+ class CitySearchFilters {
5
+ from(input) {
6
+ var _a;
7
+ this.id = (_a = input.id) === null || _a === void 0 ? void 0 : _a.toString();
8
+ this.name = input.name;
9
+ this.virtualPath = input.virtualPath;
10
+ this.areaIds = this.numbersToStringsOrUndefined(input.areaIds);
11
+ this.countryIsoCodes = input.countryIsoCodes;
12
+ return this;
13
+ }
14
+ consideringId(id) {
15
+ this.id = id;
16
+ return this;
17
+ }
18
+ consideringName(name) {
19
+ this.name = name;
20
+ return this;
21
+ }
22
+ consideringVirtualPath(virtualPath) {
23
+ this.virtualPath = virtualPath;
24
+ return this;
25
+ }
26
+ consideringAreaIds(areaIds) {
27
+ this.areaIds = areaIds;
28
+ return this;
29
+ }
30
+ consideringCountryIsoCodes(countryIsoCodes) {
31
+ this.countryIsoCodes = countryIsoCodes;
32
+ return this;
33
+ }
34
+ numbersToStringsOrUndefined(values) {
35
+ if (values === undefined)
36
+ return;
37
+ return values.map(value => value.toString());
38
+ }
39
+ }
40
+ exports.CitySearchFilters = CitySearchFilters;
41
+ //# sourceMappingURL=CitySearchFilters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CitySearchFilters.js","sourceRoot":"","sources":["../../../src/cities/CitySearchFilters.ts"],"names":[],"mappings":";;;AAGA,MAAa,iBAAiB;IAOtB,IAAI,CAAC,KAAsB;;QACjC,IAAI,CAAC,EAAE,GAAG,MAAA,KAAK,CAAC,EAAE,0CAAE,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/D,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;QAC7C,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,aAAa,CAAC,EAAU;QAC9B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,eAAe,CAAC,IAAY;QAClC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,sBAAsB,CAAC,WAAmB;QAChD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,kBAAkB,CAAC,OAAiB;QAC1C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,0BAA0B,CAAC,eAAyB;QAC1D,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,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;AA7CD,8CA6CC"}
@@ -0,0 +1,7 @@
1
+ export type CitySearchInput = {
2
+ id?: number;
3
+ name?: string;
4
+ virtualPath?: string;
5
+ areaIds?: number[];
6
+ countryIsoCodes?: string[];
7
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=CitySearchInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CitySearchInput.js","sourceRoot":"","sources":["../../../src/cities/CitySearchInput.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ export interface ICity {
2
+ readonly id: number;
3
+ readonly name: string;
4
+ readonly virtualPath: string;
5
+ readonly areaId: number | null;
6
+ readonly countryIsoCode: string;
7
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ICity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ICity.js","sourceRoot":"","sources":["../../../src/cities/ICity.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ export interface ICitySearchFilters {
2
+ readonly id?: string;
3
+ readonly name?: string;
4
+ readonly virtualPath?: string;
5
+ readonly areaIds?: string[];
6
+ readonly countryIsoCodes?: string[];
7
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ICitySearchFilters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ICitySearchFilters.js","sourceRoot":"","sources":["../../../src/cities/ICitySearchFilters.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { HitsTotalRelation } from "../HitsTotalRelation";
2
+ export interface ICitySearchResponse<T> {
3
+ readonly cities: readonly T[];
4
+ readonly hitsTotal: number;
5
+ readonly hitsTotalRelation: HitsTotalRelation;
6
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ICitySearchResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ICitySearchResponse.js","sourceRoot":"","sources":["../../../src/cities/ICitySearchResponse.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { ICity } from "@studyportals/domain-client";
2
+ import { SearchApiClientBase } from "../SearchApiClientBase";
3
+ import { ICitySearchFilters } from "./ICitySearchFilters";
4
+ import { ICitySearchResponse } from "./ICitySearchResponse";
5
+ import { IRequestSender, ISuperAgentRequestFactory } from "@studyportals/mb-platform-http-requests";
6
+ export declare class SearchApiCityClient extends SearchApiClientBase {
7
+ private readonly requestFactory;
8
+ private readonly requestSender;
9
+ constructor(apiUriBase: string, requestFactory: ISuperAgentRequestFactory, requestSender: IRequestSender);
10
+ search(filters: ICitySearchFilters, resultSize: number, resultOffset: number): Promise<ICitySearchResponse<ICity>>;
11
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SearchApiCityClient = void 0;
13
+ const SearchApiClientBase_1 = require("../SearchApiClientBase");
14
+ class SearchApiCityClient extends SearchApiClientBase_1.SearchApiClientBase {
15
+ constructor(apiUriBase, requestFactory, requestSender) {
16
+ super("scholarships", apiUriBase);
17
+ this.requestFactory = requestFactory;
18
+ this.requestSender = requestSender;
19
+ }
20
+ search(filters, resultSize, resultOffset) {
21
+ return __awaiter(this, void 0, void 0, function* () {
22
+ const request = this.requestFactory.get(this.constructUri("search"))
23
+ .query(Object.assign(Object.assign({}, filters), { resultSize, resultOffset }));
24
+ const result = yield this.requestSender.sendAndExtractBody(request);
25
+ return result;
26
+ });
27
+ }
28
+ }
29
+ exports.SearchApiCityClient = SearchApiCityClient;
30
+ //# sourceMappingURL=SearchApiCityClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchApiCityClient.js","sourceRoot":"","sources":["../../../src/cities/SearchApiCityClient.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,gEAA6D;AAK7D,MAAa,mBAAoB,SAAQ,yCAAmB;IAI3D,YAAmB,UAAkB,EAC9B,cAAyC,EACzC,aAA6B;QAEnC,KAAK,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAElC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACpC,CAAC;IAEY,MAAM,CAAC,OAA2B,EAAE,UAAkB,EAAE,YAAoB;;YACxF,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;iBAClE,KAAK,iCAAK,OAAO,KAAE,UAAU,EAAE,YAAY,IAAE,CAAC;YAEhD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAA6B,OAAO,CAAC,CAAC;YAEhG,OAAO,MAAM,CAAC;QACf,CAAC;KAAA;CACD;AAtBD,kDAsBC"}