@studyportals/domain-client 7.0.1-beta.5 → 7.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.
- package/index.d.ts +90 -0
- package/index.js +81 -34
- package/package.json +66 -55
- package/protobuf/Area.d.ts +11 -0
- package/protobuf/Area.js +33 -0
- package/protobuf/Article.d.ts +60 -0
- package/protobuf/Article.js +229 -0
- package/protobuf/Body.d.ts +11 -0
- package/protobuf/Body.js +33 -0
- package/protobuf/CampaignInformation.d.ts +11 -0
- package/protobuf/CampaignInformation.js +33 -0
- package/protobuf/ClickTracking.d.ts +11 -0
- package/protobuf/ClickTracking.js +33 -0
- package/protobuf/CommercialEntity.d.ts +14 -0
- package/protobuf/CommercialEntity.js +51 -0
- package/protobuf/Cover.d.ts +10 -0
- package/protobuf/Cover.js +29 -0
- package/protobuf/Deadline.d.ts +11 -0
- package/protobuf/Deadline.js +33 -0
- package/protobuf/Degree.d.ts +16 -0
- package/protobuf/Degree.js +53 -0
- package/protobuf/Description.d.ts +16 -0
- package/protobuf/Description.js +48 -0
- package/protobuf/Discipline.d.ts +26 -0
- package/protobuf/Discipline.js +87 -0
- package/protobuf/Duration.d.ts +11 -0
- package/protobuf/Duration.js +33 -0
- package/protobuf/EnglishRequirement.d.ts +11 -0
- package/protobuf/EnglishRequirement.js +33 -0
- package/protobuf/EssentialInformation.d.ts +17 -0
- package/protobuf/EssentialInformation.js +57 -0
- package/protobuf/File.d.ts +22 -0
- package/protobuf/File.js +77 -0
- package/protobuf/GPARequirement.d.ts +11 -0
- package/protobuf/GPARequirement.js +33 -0
- package/protobuf/InternalLink.d.ts +12 -0
- package/protobuf/InternalLink.js +33 -0
- package/protobuf/Link.d.ts +11 -0
- package/protobuf/Link.js +33 -0
- package/protobuf/LivingCost.d.ts +11 -0
- package/protobuf/LivingCost.js +33 -0
- package/protobuf/Location.d.ts +18 -0
- package/protobuf/Location.js +59 -0
- package/protobuf/Logo.d.ts +10 -0
- package/protobuf/Logo.js +29 -0
- package/protobuf/MiniProgrammeCard.d.ts +18 -0
- package/protobuf/MiniProgrammeCard.js +53 -0
- package/protobuf/OptionalLink.d.ts +12 -0
- package/protobuf/OptionalLink.js +37 -0
- package/protobuf/Organisation.d.ts +211 -0
- package/protobuf/Organisation.js +856 -0
- package/protobuf/OrganisationInformation.d.ts +9 -0
- package/protobuf/OrganisationInformation.js +23 -0
- package/protobuf/OrganisationRanking.d.ts +15 -0
- package/protobuf/OrganisationRanking.js +44 -0
- package/protobuf/Person.d.ts +14 -0
- package/protobuf/Person.js +43 -0
- package/protobuf/ProgrammeCard.d.ts +60 -0
- package/protobuf/ProgrammeCard.js +200 -0
- package/protobuf/ProgrammeGrid.d.ts +14 -0
- package/protobuf/ProgrammeGrid.js +40 -0
- package/protobuf/Ranking.d.ts +22 -0
- package/protobuf/Ranking.js +79 -0
- package/protobuf/RankingInstitute.d.ts +15 -0
- package/protobuf/RankingInstitute.js +47 -0
- package/protobuf/Review.d.ts +17 -0
- package/protobuf/Review.js +55 -0
- package/protobuf/ReviewRating.d.ts +12 -0
- package/protobuf/ReviewRating.js +37 -0
- package/protobuf/RichText.d.ts +10 -0
- package/protobuf/RichText.js +31 -0
- package/protobuf/SocialLink.d.ts +21 -0
- package/protobuf/SocialLink.js +73 -0
- package/protobuf/StartDate.d.ts +13 -0
- package/protobuf/StartDate.js +41 -0
- package/protobuf/Timing.d.ts +17 -0
- package/protobuf/Timing.js +52 -0
- package/protobuf/Topic.d.ts +10 -0
- package/protobuf/Topic.js +29 -0
- package/protobuf/TrackedLink.d.ts +13 -0
- package/protobuf/TrackedLink.js +39 -0
- package/protobuf/Tracking.d.ts +18 -0
- package/protobuf/Tracking.js +61 -0
- package/protobuf/TuitionFee.d.ts +13 -0
- package/protobuf/TuitionFee.js +41 -0
- package/protobuf/Unibuddy.d.ts +10 -0
- package/protobuf/Unibuddy.js +29 -0
- package/protobuf/index.d.ts +45 -0
- package/protobuf/index.js +61 -0
- package/src/clients/article-detail-page-client.d.ts +8 -0
- package/src/clients/article-detail-page-client.js +20 -0
- package/src/clients/index.d.ts +7 -0
- package/src/clients/index.js +23 -0
- package/src/clients/organisation-page-client.d.ts +8 -0
- package/src/clients/organisation-page-client.js +20 -0
- package/src/clients/protobuf-client.d.ts +14 -0
- package/src/clients/protobuf-client.js +30 -0
- package/src/clients/public-mini-programme-card-client.d.ts +8 -0
- package/src/clients/public-mini-programme-card-client.js +20 -0
- package/src/domain-client.d.ts +14 -0
- package/src/domain-client.js +95 -0
- package/src/exceptions/bad-request-exception.d.ts +2 -0
- package/src/exceptions/bad-request-exception.js +6 -0
- package/src/exceptions/client-exception.d.ts +2 -0
- package/src/exceptions/client-exception.js +6 -0
- package/src/exceptions/internal-server-exception.d.ts +2 -0
- package/src/exceptions/internal-server-exception.js +6 -0
- package/src/exceptions/not-found-exception.d.ts +2 -0
- package/src/exceptions/not-found-exception.js +6 -0
- package/src/exceptions/property-not-available-exception.d.ts +2 -0
- package/src/exceptions/property-not-available-exception.js +6 -0
- package/src/factories/DateFactory.d.ts +5 -0
- package/src/factories/DateFactory.js +9 -0
- package/src/factories/InternalLinkFactory.d.ts +9 -0
- package/src/factories/InternalLinkFactory.js +26 -0
- package/src/i-api-response.d.ts +6 -0
- package/src/i-api-response.js +2 -0
- package/src/i-class-factory.d.ts +4 -0
- package/src/i-class-factory.js +2 -0
- package/src/i-model-description.d.ts +7 -0
- package/src/i-model-description.js +8 -0
- package/src/model-client.d.ts +16 -0
- package/src/model-client.js +47 -0
- package/src/model-factory.d.ts +11 -0
- package/src/model-factory.js +72 -0
- package/src/models/bestfit-programme/bestfit-programme-client.d.ts +7 -0
- package/src/models/bestfit-programme/bestfit-programme-client.js +16 -0
- package/src/models/bestfit-programme/i-best-fit-programme.d.ts +82 -0
- package/src/models/bestfit-programme/i-best-fit-programme.js +2 -0
- package/src/models/bestfit-programme/i-city.d.ts +14 -0
- package/src/models/bestfit-programme/i-city.js +2 -0
- package/src/models/bestfit-programme/i-living-cost.d.ts +20 -0
- package/src/models/bestfit-programme/i-living-cost.js +2 -0
- package/src/models/city-search-document/city-search-document-client.d.ts +7 -0
- package/src/models/city-search-document/city-search-document-client.js +16 -0
- package/src/models/city-search-document/i-city-search-document.d.ts +7 -0
- package/src/models/city-search-document/i-city-search-document.js +2 -0
- package/src/models/common/i-city.d.ts +14 -0
- package/src/models/common/i-city.js +2 -0
- package/src/models/common/i-country.d.ts +20 -0
- package/src/models/common/i-country.js +2 -0
- package/src/models/common/i-english-requirements.d.ts +51 -0
- package/src/models/common/i-english-requirements.js +2 -0
- package/src/models/common/i-g-p-a-requirement.d.ts +20 -0
- package/src/models/common/i-g-p-a-requirement.js +2 -0
- package/src/models/common/i-internal-link.d.ts +28 -0
- package/src/models/common/i-internal-link.js +2 -0
- package/src/models/common/i-logo.d.ts +14 -0
- package/src/models/common/i-logo.js +2 -0
- package/src/models/common/i-review-rating.d.ts +26 -0
- package/src/models/common/i-review-rating.js +2 -0
- package/src/models/common/i-tuition-fee.d.ts +50 -0
- package/src/models/common/i-tuition-fee.js +2 -0
- package/src/models/copilot-country/copilot-country-client.d.ts +7 -0
- package/src/models/copilot-country/copilot-country-client.js +16 -0
- package/src/models/copilot-country/i-copilot-country.d.ts +39 -0
- package/src/models/copilot-country/i-copilot-country.js +2 -0
- package/src/models/copilot-country/i-copilot-ranking-card.d.ts +38 -0
- package/src/models/copilot-country/i-copilot-ranking-card.js +2 -0
- package/src/models/copilot-programme/copilot-programme-client.d.ts +7 -0
- package/src/models/copilot-programme/copilot-programme-client.js +16 -0
- package/src/models/copilot-programme/i-copilot-programme.d.ts +125 -0
- package/src/models/copilot-programme/i-copilot-programme.js +2 -0
- package/src/models/customerio-organisation/customerio-organisation-client.d.ts +7 -0
- package/src/models/customerio-organisation/customerio-organisation-client.js +16 -0
- package/src/models/customerio-organisation/i-customer-io-organisation.d.ts +35 -0
- package/src/models/customerio-organisation/i-customer-io-organisation.js +2 -0
- package/src/models/customerio-organisation/i-review.d.ts +7 -0
- package/src/models/customerio-organisation/i-review.js +2 -0
- package/src/models/customerio-programme/customerio-programme-client.d.ts +7 -0
- package/src/models/customerio-programme/customerio-programme-client.js +16 -0
- package/src/models/customerio-programme/i-customer-io-programme.d.ts +107 -0
- package/src/models/customerio-programme/i-customer-io-programme.js +2 -0
- package/src/models/customerio-programme/i-internal-link.d.ts +28 -0
- package/src/models/customerio-programme/i-internal-link.js +2 -0
- package/src/models/faq-static-content/i-faq-static-content.d.ts +10 -0
- package/src/models/faq-static-content/i-faq-static-content.js +2 -0
- package/src/models/faq-static-content/i-faq.d.ts +4 -0
- package/src/models/faq-static-content/i-faq.js +2 -0
- package/src/models/faq-static-content/i-static-content-url.d.ts +4 -0
- package/src/models/faq-static-content/i-static-content-url.js +2 -0
- package/src/models/faq-static-content/i-static-content.d.ts +5 -0
- package/src/models/faq-static-content/i-static-content.js +2 -0
- package/src/models/faq-static-content/public-faq-static-content-client.d.ts +7 -0
- package/src/models/faq-static-content/public-faq-static-content-client.js +16 -0
- package/src/models/organisation-card/i-organisation-card.d.ts +39 -0
- package/src/models/organisation-card/i-organisation-card.js +2 -0
- package/src/models/organisation-card/i-ranking-discipline.d.ts +4 -0
- package/src/models/organisation-card/i-ranking-discipline.js +2 -0
- package/src/models/organisation-card/organisation-card-client.d.ts +7 -0
- package/src/models/organisation-card/organisation-card-client.js +16 -0
- package/src/models/organisation-for-search/i-organisation-for-search.d.ts +32 -0
- package/src/models/organisation-for-search/i-organisation-for-search.js +2 -0
- package/src/models/organisation-for-search/public-organisation-for-search-client.d.ts +7 -0
- package/src/models/organisation-for-search/public-organisation-for-search-client.js +16 -0
- package/src/models/organisation-search-document/i-organisation-search-document.d.ts +158 -0
- package/src/models/organisation-search-document/i-organisation-search-document.js +2 -0
- package/src/models/organisation-search-document/organisation-search-document-client.d.ts +7 -0
- package/src/models/organisation-search-document/organisation-search-document-client.js +16 -0
- package/src/models/programme-card/i-click-tracking-data.d.ts +5 -0
- package/src/models/programme-card/i-click-tracking-data.js +2 -0
- package/src/models/programme-card/i-cover.d.ts +14 -0
- package/src/models/programme-card/i-cover.js +2 -0
- package/src/models/programme-card/i-deadline.d.ts +20 -0
- package/src/models/programme-card/i-deadline.js +2 -0
- package/src/models/programme-card/i-duration.d.ts +40 -0
- package/src/models/programme-card/i-duration.js +2 -0
- package/src/models/programme-card/i-internal-link.d.ts +28 -0
- package/src/models/programme-card/i-internal-link.js +2 -0
- package/src/models/programme-card/i-link.d.ts +22 -0
- package/src/models/programme-card/i-link.js +2 -0
- package/src/models/programme-card/i-location.d.ts +12 -0
- package/src/models/programme-card/i-location.js +2 -0
- package/src/models/programme-card/i-logo.d.ts +14 -0
- package/src/models/programme-card/i-logo.js +2 -0
- package/src/models/programme-card/i-optional-link.d.ts +23 -0
- package/src/models/programme-card/i-optional-link.js +2 -0
- package/src/models/programme-card/i-programme-card.d.ts +212 -0
- package/src/models/programme-card/i-programme-card.js +2 -0
- package/src/models/programme-card/i-start-date.d.ts +33 -0
- package/src/models/programme-card/i-start-date.js +2 -0
- package/src/models/programme-card/i-timing.d.ts +45 -0
- package/src/models/programme-card/i-timing.js +2 -0
- package/src/models/programme-card/i-tracked-link.d.ts +29 -0
- package/src/models/programme-card/i-tracked-link.js +2 -0
- package/src/models/programme-card/i-tracking.d.ts +46 -0
- package/src/models/programme-card/i-tracking.js +2 -0
- package/src/models/programme-card/i-tuition-fee.d.ts +50 -0
- package/src/models/programme-card/i-tuition-fee.js +2 -0
- package/src/models/programme-card/programme-card-client.d.ts +7 -0
- package/src/models/programme-card/programme-card-client.js +16 -0
- package/src/models/ranking-cards/i-ranking.d.ts +18 -0
- package/src/models/ranking-cards/i-ranking.js +2 -0
- package/src/models/scholarship-card/i-scholarship-card-v2.d.ts +20 -0
- package/src/models/scholarship-card/i-scholarship-card-v2.js +2 -0
- package/src/models/scholarship-card/i-scholarship-card.d.ts +15 -0
- package/src/models/scholarship-card/i-scholarship-card.js +2 -0
- package/src/models/scholarship-card/public-scholarship-card-client.d.ts +7 -0
- package/src/models/scholarship-card/public-scholarship-card-client.js +16 -0
- package/src/models/scholarship-card/scholarship-card-v2-client.d.ts +7 -0
- package/src/models/scholarship-card/scholarship-card-v2-client.js +16 -0
- package/src/models/scholarship-search-document/i-scholarship-search-document.d.ts +38 -0
- package/src/models/scholarship-search-document/i-scholarship-search-document.js +2 -0
- package/src/models/scholarship-search-document/scholarship-search-document-client.d.ts +7 -0
- package/src/models/scholarship-search-document/scholarship-search-document-client.js +16 -0
- package/src/models/search-discipline/i-search-discipline.d.ts +26 -0
- package/src/models/search-discipline/i-search-discipline.js +2 -0
- package/src/models/search-discipline/public-search-discipline-client.d.ts +7 -0
- package/src/models/search-discipline/public-search-discipline-client.js +16 -0
- package/src/models/search-projection/i-geo-targeting-configuration.d.ts +38 -0
- package/src/models/search-projection/i-geo-targeting-configuration.js +2 -0
- package/src/models/search-projection/i-geo-targeting-values.d.ts +30 -0
- package/src/models/search-projection/i-geo-targeting-values.js +2 -0
- package/src/models/search-projection/i-organisation-values.d.ts +46 -0
- package/src/models/search-projection/i-organisation-values.js +2 -0
- package/src/models/search-projection/i-premium-values.d.ts +35 -0
- package/src/models/search-projection/i-premium-values.js +2 -0
- package/src/models/search-projection/i-search-projection.d.ts +186 -0
- package/src/models/search-projection/i-search-projection.js +2 -0
- package/src/models/search-projection/i-tuition-values.d.ts +50 -0
- package/src/models/search-projection/i-tuition-values.js +2 -0
- package/src/models/search-projection/search-projection-client.d.ts +7 -0
- package/src/models/search-projection/search-projection-client.js +16 -0
- package/src/models/sitemap-articles-info/i-sitemap-article-info.d.ts +26 -0
- package/src/models/sitemap-articles-info/i-sitemap-article-info.js +2 -0
- package/src/models/sitemap-articles-info/sitemap-articles-info-client.d.ts +7 -0
- package/src/models/sitemap-articles-info/sitemap-articles-info-client.js +16 -0
- package/src/models/sitemap-cities-info/i-sitemap-city-info.d.ts +14 -0
- package/src/models/sitemap-cities-info/i-sitemap-city-info.js +2 -0
- package/src/models/sitemap-cities-info/sitemap-cities-info-client.d.ts +7 -0
- package/src/models/sitemap-cities-info/sitemap-cities-info-client.js +16 -0
- package/src/models/sitemap-countries-info/i-sitemap-country-info.d.ts +14 -0
- package/src/models/sitemap-countries-info/i-sitemap-country-info.js +2 -0
- package/src/models/sitemap-countries-info/sitemap-countries-info-client.d.ts +7 -0
- package/src/models/sitemap-countries-info/sitemap-countries-info-client.js +16 -0
- package/src/models/sitemap-country-degree-info/i-degree-info.d.ts +14 -0
- package/src/models/sitemap-country-degree-info/i-degree-info.js +2 -0
- package/src/models/sitemap-country-degree-info/i-sitemap-country-degree-info.d.ts +11 -0
- package/src/models/sitemap-country-degree-info/i-sitemap-country-degree-info.js +2 -0
- package/src/models/sitemap-country-degree-info/sitemap-country-degree-info-client.d.ts +7 -0
- package/src/models/sitemap-country-degree-info/sitemap-country-degree-info-client.js +16 -0
- package/src/models/sitemap-disciplines-info/i-sitemap-discipline-info.d.ts +14 -0
- package/src/models/sitemap-disciplines-info/i-sitemap-discipline-info.js +2 -0
- package/src/models/sitemap-disciplines-info/sitemap-disciplines-info-client.d.ts +7 -0
- package/src/models/sitemap-disciplines-info/sitemap-disciplines-info-client.js +16 -0
- package/src/models/sitemap-organisations-info/i-sitemap-organisation-info.d.ts +26 -0
- package/src/models/sitemap-organisations-info/i-sitemap-organisation-info.js +2 -0
- package/src/models/sitemap-organisations-info/sitemap-organisations-info-client.d.ts +7 -0
- package/src/models/sitemap-organisations-info/sitemap-organisations-info-client.js +16 -0
- package/src/models/sitemap-programme-info/i-sitemap-programme-info.d.ts +26 -0
- package/src/models/sitemap-programme-info/i-sitemap-programme-info.js +2 -0
- package/src/models/sitemap-programme-info/sitemap-programme-info-client.d.ts +7 -0
- package/src/models/sitemap-programme-info/sitemap-programme-info-client.js +16 -0
- package/src/models/sitemap-rankings-info/i-sitemap-rankings-info.d.ts +14 -0
- package/src/models/sitemap-rankings-info/i-sitemap-rankings-info.js +2 -0
- package/src/models/sitemap-rankings-info/sitemap-rankings-info-client.d.ts +7 -0
- package/src/models/sitemap-rankings-info/sitemap-rankings-info-client.js +16 -0
- package/src/types/portal-map.d.ts +2 -0
- package/src/types/portal-map.js +2 -0
- package/src/types/portal-type.d.ts +7 -0
- package/src/types/portal-type.js +11 -0
- package/src/types.d.ts +4 -0
- package/src/types.js +2 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ModelFactory = void 0;
|
|
4
|
+
const InternalLinkFactory_1 = require("./factories/InternalLinkFactory");
|
|
5
|
+
const DateFactory_1 = require("./factories/DateFactory");
|
|
6
|
+
const i_model_description_1 = require("./i-model-description");
|
|
7
|
+
const property_not_available_exception_1 = require("./exceptions/property-not-available-exception");
|
|
8
|
+
class ModelFactory {
|
|
9
|
+
customClassFactories;
|
|
10
|
+
constructor(portalMap = new Map()) {
|
|
11
|
+
const factories = new Map();
|
|
12
|
+
factories.set('IInternalLink', new InternalLinkFactory_1.InternalLinkFactory(portalMap));
|
|
13
|
+
factories.set('SerializableDateTime', new DateFactory_1.DateFactory());
|
|
14
|
+
this.customClassFactories = factories;
|
|
15
|
+
}
|
|
16
|
+
fromDescription(data) {
|
|
17
|
+
return this.unpackClass(data);
|
|
18
|
+
}
|
|
19
|
+
fromDescriptions(data) {
|
|
20
|
+
const models = [];
|
|
21
|
+
for (const modelDescription of data) {
|
|
22
|
+
models.push(this.unpackClass(modelDescription));
|
|
23
|
+
}
|
|
24
|
+
return models;
|
|
25
|
+
}
|
|
26
|
+
unpackClass(data) {
|
|
27
|
+
const unpacked = {};
|
|
28
|
+
for (const functionName in data.func) {
|
|
29
|
+
unpacked[functionName] = this.getCallable(functionName, data);
|
|
30
|
+
}
|
|
31
|
+
const factory = this.customClassFactories.get(data.class);
|
|
32
|
+
if (factory !== undefined) {
|
|
33
|
+
return factory.create(unpacked, data.parameters);
|
|
34
|
+
}
|
|
35
|
+
return unpacked;
|
|
36
|
+
}
|
|
37
|
+
getCallable(functionName, data) {
|
|
38
|
+
const propertyName = functionName.substr(3);
|
|
39
|
+
const canShowFunction = 'canShow' + propertyName;
|
|
40
|
+
const value = data.func[functionName];
|
|
41
|
+
let returnValue;
|
|
42
|
+
if ((0, i_model_description_1.isModelDescription)(value)) {
|
|
43
|
+
returnValue = this.unpackClass(value);
|
|
44
|
+
}
|
|
45
|
+
else if (Array.isArray(value)) {
|
|
46
|
+
returnValue = this.unpackArray(value);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
returnValue = value;
|
|
50
|
+
}
|
|
51
|
+
if (canShowFunction in data.func) {
|
|
52
|
+
return () => {
|
|
53
|
+
if (data.func[canShowFunction] === false) {
|
|
54
|
+
throw new property_not_available_exception_1.PropertyNotAvailableException(`Property '${propertyName}' not available`);
|
|
55
|
+
}
|
|
56
|
+
return returnValue;
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
return () => {
|
|
60
|
+
return returnValue;
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
unpackArray(list) {
|
|
64
|
+
return list.map(item => {
|
|
65
|
+
if ((0, i_model_description_1.isModelDescription)(item)) {
|
|
66
|
+
return this.unpackClass(item);
|
|
67
|
+
}
|
|
68
|
+
return item;
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
exports.ModelFactory = ModelFactory;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { IBestFitProgramme } from "../../..";
|
|
2
|
+
import { ModelClient } from "../../model-client";
|
|
3
|
+
export declare class BestfitProgrammeClient extends ModelClient<IBestFitProgramme> {
|
|
4
|
+
protected getModelName(): string;
|
|
5
|
+
protected getVersion(): string;
|
|
6
|
+
isPublic(): boolean;
|
|
7
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BestfitProgrammeClient = void 0;
|
|
4
|
+
const model_client_1 = require("../../model-client");
|
|
5
|
+
class BestfitProgrammeClient extends model_client_1.ModelClient {
|
|
6
|
+
getModelName() {
|
|
7
|
+
return 'bestfit-programme';
|
|
8
|
+
}
|
|
9
|
+
getVersion() {
|
|
10
|
+
return 'v1';
|
|
11
|
+
}
|
|
12
|
+
isPublic() {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.BestfitProgrammeClient = BestfitProgrammeClient;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { ICity, IEnglishRequirements, IGPARequirement, ILivingCost, ITuitionFee } from "../../..";
|
|
2
|
+
export interface IBestFitProgramme {
|
|
3
|
+
/**
|
|
4
|
+
* Average university ranking across multiple ranking institutes.
|
|
5
|
+
*
|
|
6
|
+
* @return number
|
|
7
|
+
*/
|
|
8
|
+
getAverageRankingPosition(): number;
|
|
9
|
+
canShowAverageRankingPosition(): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* City which programme is given in
|
|
12
|
+
*
|
|
13
|
+
* @return ICity
|
|
14
|
+
*/
|
|
15
|
+
getCity(): ICity;
|
|
16
|
+
/**
|
|
17
|
+
* Get country id the programme is teached in
|
|
18
|
+
*
|
|
19
|
+
* @return number
|
|
20
|
+
*/
|
|
21
|
+
getCountryId(): number;
|
|
22
|
+
/**
|
|
23
|
+
* Discipline ids which the program is linked to.
|
|
24
|
+
*
|
|
25
|
+
* @return number[]
|
|
26
|
+
*/
|
|
27
|
+
getDisciplineIds(): number[];
|
|
28
|
+
canShowDisciplineIds(): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* English level requirements.
|
|
31
|
+
*
|
|
32
|
+
* @return IEnglishRequirements
|
|
33
|
+
*/
|
|
34
|
+
getEnglishRequirements(): IEnglishRequirements;
|
|
35
|
+
/**
|
|
36
|
+
* GPA requirements
|
|
37
|
+
*
|
|
38
|
+
* @return IGPARequirement
|
|
39
|
+
*/
|
|
40
|
+
getGPA(): IGPARequirement;
|
|
41
|
+
canShowGPA(): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Id of the programme.
|
|
44
|
+
*
|
|
45
|
+
* @return number
|
|
46
|
+
*/
|
|
47
|
+
getId(): number;
|
|
48
|
+
/**
|
|
49
|
+
* Estimated living cost based on universities location.
|
|
50
|
+
*
|
|
51
|
+
* @return ILivingCost
|
|
52
|
+
*/
|
|
53
|
+
getLivingCost(): ILivingCost;
|
|
54
|
+
canShowLivingCost(): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Minimum required education level
|
|
57
|
+
*
|
|
58
|
+
* @return string | null
|
|
59
|
+
*/
|
|
60
|
+
getRequiredEducationalLevel(): string | null;
|
|
61
|
+
canShowRequiredEducationalLevel(): boolean;
|
|
62
|
+
/**
|
|
63
|
+
* The programmes tuition fees
|
|
64
|
+
*
|
|
65
|
+
* @return ITuitionFee[]
|
|
66
|
+
*/
|
|
67
|
+
getTuitionFees(): ITuitionFee[];
|
|
68
|
+
canShowTuitionFees(): boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Amount of years required as work experience
|
|
71
|
+
*
|
|
72
|
+
* @return number
|
|
73
|
+
*/
|
|
74
|
+
getWorkExperienceYears(): number;
|
|
75
|
+
canShowWorkExperienceYears(): boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Indicates whenever a programme is fully online or not
|
|
78
|
+
*
|
|
79
|
+
* @return boolean
|
|
80
|
+
*/
|
|
81
|
+
isFullyOnline(): boolean;
|
|
82
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface ILivingCost {
|
|
2
|
+
/**
|
|
3
|
+
* Get the applicable currency.
|
|
4
|
+
*
|
|
5
|
+
* @return string
|
|
6
|
+
*/
|
|
7
|
+
getCurrency(): string;
|
|
8
|
+
/**
|
|
9
|
+
* Get the maximum living cost in the provided currency.
|
|
10
|
+
*
|
|
11
|
+
* @return number
|
|
12
|
+
*/
|
|
13
|
+
getMax(): number;
|
|
14
|
+
/**
|
|
15
|
+
* Get the minimum living cost in the provided currency.
|
|
16
|
+
*
|
|
17
|
+
* @return number
|
|
18
|
+
*/
|
|
19
|
+
getMin(): number;
|
|
20
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ModelClient } from "../../model-client";
|
|
2
|
+
import { ICitySearchDocument } from "../../..";
|
|
3
|
+
export declare class CitySearchDocumentClient extends ModelClient<ICitySearchDocument> {
|
|
4
|
+
protected getModelName(): string;
|
|
5
|
+
protected getVersion(): string;
|
|
6
|
+
isPublic(): boolean;
|
|
7
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CitySearchDocumentClient = void 0;
|
|
4
|
+
const model_client_1 = require("../../model-client");
|
|
5
|
+
class CitySearchDocumentClient extends model_client_1.ModelClient {
|
|
6
|
+
getModelName() {
|
|
7
|
+
return 'city-search-document';
|
|
8
|
+
}
|
|
9
|
+
getVersion() {
|
|
10
|
+
return 'v1';
|
|
11
|
+
}
|
|
12
|
+
isPublic() {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.CitySearchDocumentClient = CitySearchDocumentClient;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface ICountry {
|
|
2
|
+
/**
|
|
3
|
+
* Get country iso code
|
|
4
|
+
*
|
|
5
|
+
* @return string
|
|
6
|
+
*/
|
|
7
|
+
getISOCode(): string;
|
|
8
|
+
/**
|
|
9
|
+
* Get country id
|
|
10
|
+
*
|
|
11
|
+
* @return number
|
|
12
|
+
*/
|
|
13
|
+
getId(): number;
|
|
14
|
+
/**
|
|
15
|
+
* Get country name
|
|
16
|
+
*
|
|
17
|
+
* @return string
|
|
18
|
+
*/
|
|
19
|
+
getName(): string;
|
|
20
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export interface IEnglishRequirements {
|
|
2
|
+
/**
|
|
3
|
+
* Required score for Cambridge english
|
|
4
|
+
*
|
|
5
|
+
* @return number
|
|
6
|
+
*/
|
|
7
|
+
getCambridgeEnglish(): number;
|
|
8
|
+
canShowCambridgeEnglish(): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Required score for Duolingo
|
|
11
|
+
*
|
|
12
|
+
* @return number
|
|
13
|
+
*/
|
|
14
|
+
getDuolingo(): number;
|
|
15
|
+
canShowDuolingo(): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Required score for IELTS tests
|
|
18
|
+
*
|
|
19
|
+
* @return number
|
|
20
|
+
*/
|
|
21
|
+
getIELTS(): number;
|
|
22
|
+
canShowIELTS(): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Required score for PTE
|
|
25
|
+
*
|
|
26
|
+
* @return number
|
|
27
|
+
*/
|
|
28
|
+
getPTE(): number;
|
|
29
|
+
canShowPTE(): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Required score for TOEFL internet
|
|
32
|
+
*
|
|
33
|
+
* @return number
|
|
34
|
+
*/
|
|
35
|
+
getTOEFLInternet(): number;
|
|
36
|
+
canShowTOEFLInternet(): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Required score for TOEFL paper
|
|
39
|
+
*
|
|
40
|
+
* @return number
|
|
41
|
+
*/
|
|
42
|
+
getTOEFLPaper(): number;
|
|
43
|
+
canShowTOEFLPaper(): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Required score for OTE
|
|
46
|
+
*
|
|
47
|
+
* @return number
|
|
48
|
+
*/
|
|
49
|
+
getOte(): number;
|
|
50
|
+
canShowOte(): boolean;
|
|
51
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface IGPARequirement {
|
|
2
|
+
/**
|
|
3
|
+
* The used GPA scale for this requirement
|
|
4
|
+
*
|
|
5
|
+
* @return string
|
|
6
|
+
*/
|
|
7
|
+
getScale(): string;
|
|
8
|
+
/**
|
|
9
|
+
* Required minimum score.
|
|
10
|
+
*
|
|
11
|
+
* @return string
|
|
12
|
+
*/
|
|
13
|
+
getScore(): string;
|
|
14
|
+
/**
|
|
15
|
+
* Is GPA recommended or required.
|
|
16
|
+
*
|
|
17
|
+
* @return boolean
|
|
18
|
+
*/
|
|
19
|
+
isRequired(): boolean;
|
|
20
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export interface IInternalLink {
|
|
2
|
+
/**
|
|
3
|
+
* Get an optional text describing the link (typically <a>-tags contents).
|
|
4
|
+
*
|
|
5
|
+
* @return string
|
|
6
|
+
* @throws PropertyNotAvailableException
|
|
7
|
+
*/
|
|
8
|
+
getDescription(): string;
|
|
9
|
+
canShowDescription(): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Returns on which portal a this link should link towards.
|
|
12
|
+
*
|
|
13
|
+
* @return string
|
|
14
|
+
*/
|
|
15
|
+
getPortalType(): string;
|
|
16
|
+
/**
|
|
17
|
+
* Get the url to refer to.
|
|
18
|
+
*
|
|
19
|
+
* Note that the url provided is always a relative URL. A base URL is needed
|
|
20
|
+
* to make it a full valid path.
|
|
21
|
+
* The only exception is when an external link is provided (meaning, outside
|
|
22
|
+
* of StudyPortals-maintained domains). In this case a full url will be
|
|
23
|
+
* provided.
|
|
24
|
+
*
|
|
25
|
+
* @return string
|
|
26
|
+
*/
|
|
27
|
+
getUrl(): string;
|
|
28
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export interface IReviewRating {
|
|
2
|
+
/**
|
|
3
|
+
* The average rating of the reviews on 10-point scale.
|
|
4
|
+
*
|
|
5
|
+
* @return number
|
|
6
|
+
*/
|
|
7
|
+
getAverage(): number;
|
|
8
|
+
/**
|
|
9
|
+
* The number of reviews that contributed to the average rating.
|
|
10
|
+
*
|
|
11
|
+
* @return number
|
|
12
|
+
*/
|
|
13
|
+
getQuantity(): number;
|
|
14
|
+
/**
|
|
15
|
+
* Checks if the rating has enough reviews to be considered valid.
|
|
16
|
+
*
|
|
17
|
+
* @return boolean
|
|
18
|
+
*/
|
|
19
|
+
hasEnoughQuantity(): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Gets the average star rating based on the average score on 5-point scale.
|
|
22
|
+
*
|
|
23
|
+
* @return number
|
|
24
|
+
*/
|
|
25
|
+
getAverageStarRating(): number;
|
|
26
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export interface ITuitionFee {
|
|
2
|
+
/**
|
|
3
|
+
* Get the tuition amount per unit in the provided currency.
|
|
4
|
+
*
|
|
5
|
+
* Note: all transformable units will be converted to yearly amounts. This
|
|
6
|
+
* includes per semester and full programme tuition fees.
|
|
7
|
+
*
|
|
8
|
+
* @return number
|
|
9
|
+
*/
|
|
10
|
+
getAmount(): number;
|
|
11
|
+
/**
|
|
12
|
+
* Get the applicable currency.
|
|
13
|
+
*
|
|
14
|
+
* @return string
|
|
15
|
+
*/
|
|
16
|
+
getCurrency(): string;
|
|
17
|
+
/**
|
|
18
|
+
* Get the original tuition amount before any transformation step.
|
|
19
|
+
*
|
|
20
|
+
* @return number
|
|
21
|
+
*/
|
|
22
|
+
getOriginalAmount(): number;
|
|
23
|
+
/**
|
|
24
|
+
* Get the original tuition unit before any transformation step.
|
|
25
|
+
*
|
|
26
|
+
* @return string
|
|
27
|
+
*/
|
|
28
|
+
getOriginalUnit(): string;
|
|
29
|
+
/**
|
|
30
|
+
* Get targeted audience (national, international, eea, etc).
|
|
31
|
+
*
|
|
32
|
+
* @return string
|
|
33
|
+
*/
|
|
34
|
+
getTarget(): string;
|
|
35
|
+
/**
|
|
36
|
+
* Get the unit the tuition fee applies for.
|
|
37
|
+
*
|
|
38
|
+
* Note: all transformable units will be converted to 'year'. This means
|
|
39
|
+
* this value will be either 'year', 'module' or 'credit'.
|
|
40
|
+
*
|
|
41
|
+
* @return string
|
|
42
|
+
*/
|
|
43
|
+
getUnit(): string;
|
|
44
|
+
/**
|
|
45
|
+
* True if the study is free for this target audience.
|
|
46
|
+
*
|
|
47
|
+
* @return boolean
|
|
48
|
+
*/
|
|
49
|
+
isFree(): boolean;
|
|
50
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ICopilotCountry } from "../../..";
|
|
2
|
+
import { ModelClient } from "../../model-client";
|
|
3
|
+
export declare class CopilotCountryClient extends ModelClient<ICopilotCountry> {
|
|
4
|
+
protected getModelName(): string;
|
|
5
|
+
protected getVersion(): string;
|
|
6
|
+
isPublic(): boolean;
|
|
7
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CopilotCountryClient = void 0;
|
|
4
|
+
const model_client_1 = require("../../model-client");
|
|
5
|
+
class CopilotCountryClient extends model_client_1.ModelClient {
|
|
6
|
+
getModelName() {
|
|
7
|
+
return 'copilot-country';
|
|
8
|
+
}
|
|
9
|
+
getVersion() {
|
|
10
|
+
return 'v1';
|
|
11
|
+
}
|
|
12
|
+
isPublic() {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.CopilotCountryClient = CopilotCountryClient;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { ICopilotRankingCard } from "./i-copilot-ranking-card";
|
|
2
|
+
export interface ICopilotCountry {
|
|
3
|
+
/**
|
|
4
|
+
* How to apply in country x text
|
|
5
|
+
*
|
|
6
|
+
* @return string | null
|
|
7
|
+
*/
|
|
8
|
+
getHowToApplyText(): string | null;
|
|
9
|
+
/**
|
|
10
|
+
* Id of the country.
|
|
11
|
+
*
|
|
12
|
+
* @return number
|
|
13
|
+
*/
|
|
14
|
+
getId(): number;
|
|
15
|
+
/**
|
|
16
|
+
* ISO code ALPHA-2
|
|
17
|
+
*
|
|
18
|
+
* @return string
|
|
19
|
+
*/
|
|
20
|
+
getIsoCode(): string;
|
|
21
|
+
/**
|
|
22
|
+
* Country title
|
|
23
|
+
*
|
|
24
|
+
* @return string
|
|
25
|
+
*/
|
|
26
|
+
getTitle(): string;
|
|
27
|
+
/**
|
|
28
|
+
* Why study in country x text
|
|
29
|
+
*
|
|
30
|
+
* @return string | null
|
|
31
|
+
*/
|
|
32
|
+
getWhyText(): string | null;
|
|
33
|
+
/**
|
|
34
|
+
* Top universities of the country
|
|
35
|
+
*
|
|
36
|
+
* @return ICopilotRankingCard[] | null
|
|
37
|
+
*/
|
|
38
|
+
getTopUniversities(): ICopilotRankingCard[] | null;
|
|
39
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export interface ICopilotRankingCard {
|
|
2
|
+
/**
|
|
3
|
+
* Get the organisation id.
|
|
4
|
+
*
|
|
5
|
+
* @return number
|
|
6
|
+
*/
|
|
7
|
+
getOrganisationId(): number;
|
|
8
|
+
/**
|
|
9
|
+
* Get the organisation name.
|
|
10
|
+
*
|
|
11
|
+
* @return string | null
|
|
12
|
+
*/
|
|
13
|
+
getOrganisationName(): string | null;
|
|
14
|
+
/**
|
|
15
|
+
* Get the organisation homepage link.
|
|
16
|
+
*
|
|
17
|
+
* @return string | null
|
|
18
|
+
*/
|
|
19
|
+
getOrganisationPageUrl(): string | null;
|
|
20
|
+
/**
|
|
21
|
+
* Get the organisation logo url.
|
|
22
|
+
*
|
|
23
|
+
* @return string | null
|
|
24
|
+
*/
|
|
25
|
+
getOrganisationLogoUrl(): string | null;
|
|
26
|
+
/**
|
|
27
|
+
* Verifies if the organisation's logo can be displayed.
|
|
28
|
+
*
|
|
29
|
+
* @return boolean
|
|
30
|
+
*/
|
|
31
|
+
hasOrganisationLogo(): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Retrieves the ranking position for the organisation in the Studyportals ranking in the country of the university.
|
|
34
|
+
*
|
|
35
|
+
* @return number | null
|
|
36
|
+
*/
|
|
37
|
+
getPositionInCountry(): number | null;
|
|
38
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ICopilotProgramme } from "../../..";
|
|
2
|
+
import { ModelClient } from "../../model-client";
|
|
3
|
+
export declare class CopilotProgrammeClient extends ModelClient<ICopilotProgramme> {
|
|
4
|
+
protected getModelName(): string;
|
|
5
|
+
protected getVersion(): string;
|
|
6
|
+
isPublic(): boolean;
|
|
7
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CopilotProgrammeClient = void 0;
|
|
4
|
+
const model_client_1 = require("../../model-client");
|
|
5
|
+
class CopilotProgrammeClient extends model_client_1.ModelClient {
|
|
6
|
+
getModelName() {
|
|
7
|
+
return 'copilot-programme';
|
|
8
|
+
}
|
|
9
|
+
getVersion() {
|
|
10
|
+
return 'v1';
|
|
11
|
+
}
|
|
12
|
+
isPublic() {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.CopilotProgrammeClient = CopilotProgrammeClient;
|