@studyportals/domain-client 6.1.0-beta.0 → 6.1.0-beta.2
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 → index.d.ts} +8 -1
- package/index.js +33 -0
- package/package.json +6 -6
- package/protobuf/Area.d.ts +11 -0
- package/protobuf/Area.js +30 -0
- package/protobuf/Article.d.ts +60 -0
- package/protobuf/Article.js +226 -0
- package/protobuf/Body.d.ts +11 -0
- package/protobuf/Body.js +30 -0
- package/protobuf/CampaignInformation.d.ts +11 -0
- package/protobuf/CampaignInformation.js +30 -0
- package/protobuf/ClickTracking.d.ts +11 -0
- package/protobuf/ClickTracking.js +30 -0
- package/protobuf/CommercialEntity.d.ts +14 -0
- package/protobuf/CommercialEntity.js +48 -0
- package/protobuf/Cover.d.ts +10 -0
- package/protobuf/Cover.js +26 -0
- package/protobuf/Deadline.d.ts +11 -0
- package/protobuf/Deadline.js +30 -0
- package/protobuf/Degree.d.ts +16 -0
- package/protobuf/Degree.js +50 -0
- package/protobuf/Description.d.ts +16 -0
- package/protobuf/Description.js +45 -0
- package/protobuf/Discipline.d.ts +26 -0
- package/protobuf/Discipline.js +84 -0
- package/protobuf/Duration.d.ts +11 -0
- package/protobuf/Duration.js +30 -0
- package/protobuf/EnglishRequirement.d.ts +11 -0
- package/protobuf/EnglishRequirement.js +30 -0
- package/protobuf/EssentialInformation.d.ts +17 -0
- package/protobuf/EssentialInformation.js +54 -0
- package/protobuf/File.d.ts +22 -0
- package/protobuf/File.js +74 -0
- package/protobuf/GPARequirement.d.ts +11 -0
- package/protobuf/GPARequirement.js +30 -0
- package/protobuf/InternalLink.d.ts +12 -0
- package/protobuf/InternalLink.js +30 -0
- package/protobuf/Link.d.ts +11 -0
- package/protobuf/Link.js +30 -0
- package/protobuf/LivingCost.d.ts +11 -0
- package/protobuf/LivingCost.js +30 -0
- package/protobuf/Location.d.ts +18 -0
- package/protobuf/Location.js +56 -0
- package/protobuf/Logo.d.ts +10 -0
- package/protobuf/Logo.js +26 -0
- package/protobuf/MiniProgrammeCard.d.ts +18 -0
- package/protobuf/MiniProgrammeCard.js +50 -0
- package/protobuf/OptionalLink.d.ts +12 -0
- package/protobuf/OptionalLink.js +34 -0
- package/protobuf/Organisation.d.ts +211 -0
- package/protobuf/Organisation.js +853 -0
- package/protobuf/OrganisationInformation.d.ts +9 -0
- package/protobuf/OrganisationInformation.js +20 -0
- package/protobuf/OrganisationRanking.d.ts +15 -0
- package/protobuf/OrganisationRanking.js +41 -0
- package/protobuf/Person.d.ts +14 -0
- package/protobuf/Person.js +40 -0
- package/protobuf/ProgrammeCard.d.ts +60 -0
- package/protobuf/ProgrammeCard.js +197 -0
- package/protobuf/ProgrammeGrid.d.ts +14 -0
- package/protobuf/ProgrammeGrid.js +37 -0
- package/protobuf/Ranking.d.ts +22 -0
- package/protobuf/Ranking.js +76 -0
- package/protobuf/RankingInstitute.d.ts +15 -0
- package/protobuf/RankingInstitute.js +44 -0
- package/protobuf/Review.d.ts +17 -0
- package/protobuf/Review.js +52 -0
- package/protobuf/ReviewRating.d.ts +12 -0
- package/protobuf/ReviewRating.js +34 -0
- package/protobuf/RichText.d.ts +10 -0
- package/protobuf/RichText.js +28 -0
- package/protobuf/SocialLink.d.ts +21 -0
- package/protobuf/SocialLink.js +70 -0
- package/protobuf/StartDate.d.ts +13 -0
- package/protobuf/StartDate.js +38 -0
- package/protobuf/Timing.d.ts +17 -0
- package/protobuf/Timing.js +49 -0
- package/protobuf/Topic.d.ts +10 -0
- package/protobuf/Topic.js +26 -0
- package/protobuf/TrackedLink.d.ts +13 -0
- package/protobuf/TrackedLink.js +36 -0
- package/protobuf/Tracking.d.ts +18 -0
- package/protobuf/Tracking.js +58 -0
- package/protobuf/TuitionFee.d.ts +13 -0
- package/protobuf/TuitionFee.js +38 -0
- package/protobuf/Unibuddy.d.ts +10 -0
- package/protobuf/Unibuddy.js +26 -0
- package/protobuf/{index.ts → index.d.ts} +0 -1
- package/protobuf/index.js +45 -0
- package/src/clients/article-detail-page-client.d.ts +8 -0
- package/src/clients/article-detail-page-client.js +16 -0
- package/src/clients/{index.ts → index.d.ts} +0 -1
- package/src/clients/index.js +7 -0
- package/src/clients/organisation-page-client.d.ts +8 -0
- package/src/clients/organisation-page-client.js +16 -0
- package/src/clients/protobuf-client.d.ts +14 -0
- package/src/clients/protobuf-client.js +26 -0
- package/src/clients/public-mini-programme-card-client.d.ts +8 -0
- package/src/clients/public-mini-programme-card-client.js +16 -0
- package/{bin/src → src}/domain-client.d.ts +3 -3
- package/src/domain-client.js +91 -0
- package/src/factories/DateFactory.js +5 -0
- package/{bin/src → src}/factories/InternalLinkFactory.d.ts +1 -1
- package/src/factories/InternalLinkFactory.js +22 -0
- package/{bin/src → src}/i-api-response.d.ts +1 -1
- package/src/i-api-response.js +1 -0
- package/src/i-class-factory.js +1 -0
- package/src/i-model-description.js +5 -0
- package/{bin/src → src}/model-client.js +10 -13
- package/{bin/src → src}/model-factory.js +11 -15
- package/src/models/bestfit-programme/bestfit-programme-client.js +12 -0
- package/src/models/bestfit-programme/i-best-fit-programme.js +1 -0
- package/src/models/bestfit-programme/i-city.js +1 -0
- package/src/models/bestfit-programme/i-living-cost.js +1 -0
- package/src/models/common/i-city.js +1 -0
- package/src/models/common/i-country.js +1 -0
- package/src/models/common/i-english-requirements.js +1 -0
- package/src/models/common/i-g-p-a-requirement.js +1 -0
- package/src/models/common/i-internal-link.js +1 -0
- package/src/models/common/i-logo.js +1 -0
- package/src/models/common/i-review-rating.d.ts +26 -0
- package/src/models/common/i-review-rating.js +1 -0
- package/src/models/common/i-tuition-fee.js +1 -0
- package/src/models/copilot-country/copilot-country-client.js +12 -0
- package/src/models/copilot-country/i-copilot-country.js +1 -0
- package/src/models/copilot-country/i-copilot-ranking-card.js +1 -0
- package/src/models/copilot-programme/copilot-programme-client.js +12 -0
- package/src/models/copilot-programme/i-copilot-programme.js +1 -0
- package/src/models/customerio-organisation/customerio-organisation-client.js +12 -0
- package/src/models/customerio-organisation/i-customer-io-organisation.js +1 -0
- package/src/models/customerio-organisation/i-review.js +1 -0
- package/src/models/customerio-programme/customerio-programme-client.js +12 -0
- package/src/models/customerio-programme/i-customer-io-programme.js +1 -0
- package/src/models/customerio-programme/i-internal-link.js +1 -0
- package/src/models/faq-static-content/i-faq-static-content.d.ts +9 -0
- package/src/models/faq-static-content/i-faq-static-content.js +1 -0
- package/src/models/faq-static-content/i-faq.d.ts +4 -0
- package/src/models/faq-static-content/i-faq.js +1 -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 +1 -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 +12 -0
- package/{bin/src → src}/models/organisation-card/i-organisation-card.d.ts +2 -0
- package/src/models/organisation-card/i-organisation-card.js +1 -0
- package/src/models/organisation-card/i-ranking-discipline.js +1 -0
- package/src/models/organisation-card/organisation-card-client.js +12 -0
- package/src/models/organisation-for-search/i-organisation-for-search.js +1 -0
- package/src/models/organisation-for-search/public-organisation-for-search-client.js +12 -0
- package/{bin/src → src}/models/organisation-search-document/i-organisation-search-document.d.ts +30 -0
- package/src/models/organisation-search-document/i-organisation-search-document.js +1 -0
- package/src/models/organisation-search-document/organisation-search-document-client.js +12 -0
- package/src/models/programme-card/i-click-tracking-data.js +1 -0
- package/src/models/programme-card/i-cover.js +1 -0
- package/src/models/programme-card/i-deadline.js +1 -0
- package/src/models/programme-card/i-duration.js +1 -0
- package/src/models/programme-card/i-internal-link.js +1 -0
- package/src/models/programme-card/i-link.js +1 -0
- package/src/models/programme-card/i-location.js +1 -0
- package/src/models/programme-card/i-logo.js +1 -0
- package/src/models/programme-card/i-optional-link.js +1 -0
- package/{bin/src → src}/models/programme-card/i-programme-card.d.ts +7 -0
- package/src/models/programme-card/i-programme-card.js +1 -0
- package/src/models/programme-card/i-start-date.js +1 -0
- package/src/models/programme-card/i-timing.js +1 -0
- package/src/models/programme-card/i-tracked-link.js +1 -0
- package/src/models/programme-card/i-tracking.js +1 -0
- package/src/models/programme-card/i-tuition-fee.js +1 -0
- package/src/models/programme-card/programme-card-client.js +12 -0
- package/src/models/ranking-cards/i-ranking.js +1 -0
- package/src/models/scholarship-card/i-scholarship-card-v2.d.ts +20 -0
- package/src/models/scholarship-card/i-scholarship-card-v2.js +1 -0
- package/src/models/scholarship-card/i-scholarship-card.js +1 -0
- package/src/models/scholarship-card/public-scholarship-card-client.js +12 -0
- package/src/models/scholarship-card/scholarship-card-v2-client.js +12 -0
- package/src/models/scholarship-search-document/i-scholarship-search-document.js +1 -0
- package/src/models/scholarship-search-document/scholarship-search-document-client.js +12 -0
- package/src/models/search-discipline/i-search-discipline.js +1 -0
- package/src/models/search-discipline/public-search-discipline-client.js +12 -0
- package/src/models/search-projection/i-geo-targeting-configuration.js +1 -0
- package/src/models/search-projection/i-geo-targeting-values.js +1 -0
- package/src/models/search-projection/i-organisation-values.js +1 -0
- package/src/models/search-projection/i-premium-values.js +1 -0
- package/src/models/search-projection/i-search-projection.js +1 -0
- package/src/models/search-projection/i-tuition-values.js +1 -0
- package/src/models/search-projection/search-projection-client.js +12 -0
- package/src/models/sitemap-articles-info/i-sitemap-article-info.js +1 -0
- package/src/models/sitemap-articles-info/sitemap-articles-info-client.js +12 -0
- package/src/models/sitemap-cities-info/i-sitemap-city-info.js +1 -0
- package/src/models/sitemap-cities-info/sitemap-cities-info-client.js +12 -0
- package/src/models/sitemap-countries-info/i-sitemap-country-info.js +1 -0
- package/src/models/sitemap-countries-info/sitemap-countries-info-client.js +12 -0
- package/src/models/sitemap-country-degree-info/i-degree-info.js +1 -0
- package/src/models/sitemap-country-degree-info/i-sitemap-country-degree-info.js +1 -0
- package/src/models/sitemap-country-degree-info/sitemap-country-degree-info-client.js +12 -0
- package/src/models/sitemap-disciplines-info/i-sitemap-discipline-info.js +1 -0
- package/src/models/sitemap-disciplines-info/sitemap-disciplines-info-client.js +12 -0
- package/src/models/sitemap-organisations-info/i-sitemap-organisation-info.js +1 -0
- package/src/models/sitemap-organisations-info/sitemap-organisations-info-client.js +12 -0
- package/src/models/sitemap-programme-info/i-sitemap-programme-info.js +1 -0
- package/src/models/sitemap-programme-info/sitemap-programme-info-client.js +12 -0
- package/src/models/sitemap-rankings-info/i-sitemap-rankings-info.js +1 -0
- package/src/models/sitemap-rankings-info/sitemap-rankings-info-client.js +12 -0
- package/src/types/portal-map.js +1 -0
- package/{bin/src → src}/types/portal-type.js +2 -6
- package/src/types.js +1 -0
- package/.eslintignore +0 -4
- package/.eslintrc.js +0 -13
- package/.github/dependabot.yml +0 -17
- package/.github/stale.yml +0 -10
- package/.nycrc +0 -15
- package/README.md +0 -117
- package/bin/index.js +0 -62
- package/bin/index.js.map +0 -1
- package/bin/package.json +0 -55
- package/bin/src/domain-client.js +0 -61
- package/bin/src/domain-client.js.map +0 -1
- package/bin/src/exceptions/bad-request-exception.js +0 -7
- package/bin/src/exceptions/bad-request-exception.js.map +0 -1
- package/bin/src/exceptions/client-exception.js +0 -7
- package/bin/src/exceptions/client-exception.js.map +0 -1
- package/bin/src/exceptions/internal-server-exception.js +0 -7
- package/bin/src/exceptions/internal-server-exception.js.map +0 -1
- package/bin/src/exceptions/not-found-exception.js +0 -7
- package/bin/src/exceptions/not-found-exception.js.map +0 -1
- package/bin/src/exceptions/property-not-available-exception.js +0 -7
- package/bin/src/exceptions/property-not-available-exception.js.map +0 -1
- package/bin/src/factories/DateFactory.js +0 -10
- package/bin/src/factories/DateFactory.js.map +0 -1
- package/bin/src/factories/InternalLinkFactory.js +0 -20
- package/bin/src/factories/InternalLinkFactory.js.map +0 -1
- package/bin/src/i-api-response.js +0 -3
- package/bin/src/i-api-response.js.map +0 -1
- package/bin/src/i-class-factory.js +0 -3
- package/bin/src/i-class-factory.js.map +0 -1
- package/bin/src/i-model-description.js +0 -10
- package/bin/src/i-model-description.js.map +0 -1
- package/bin/src/model-client.js.map +0 -1
- package/bin/src/model-factory.js.map +0 -1
- package/bin/src/models/bestfit-programme/bestfit-programme-client.js +0 -17
- package/bin/src/models/bestfit-programme/bestfit-programme-client.js.map +0 -1
- package/bin/src/models/bestfit-programme/i-best-fit-programme.js +0 -3
- package/bin/src/models/bestfit-programme/i-best-fit-programme.js.map +0 -1
- package/bin/src/models/bestfit-programme/i-city.js +0 -3
- package/bin/src/models/bestfit-programme/i-city.js.map +0 -1
- package/bin/src/models/bestfit-programme/i-living-cost.js +0 -3
- package/bin/src/models/bestfit-programme/i-living-cost.js.map +0 -1
- package/bin/src/models/common/i-city.js +0 -3
- package/bin/src/models/common/i-city.js.map +0 -1
- package/bin/src/models/common/i-country.js +0 -3
- package/bin/src/models/common/i-country.js.map +0 -1
- package/bin/src/models/common/i-english-requirements.js +0 -3
- package/bin/src/models/common/i-english-requirements.js.map +0 -1
- package/bin/src/models/common/i-g-p-a-requirement.js +0 -3
- package/bin/src/models/common/i-g-p-a-requirement.js.map +0 -1
- package/bin/src/models/common/i-internal-link.js +0 -3
- package/bin/src/models/common/i-internal-link.js.map +0 -1
- package/bin/src/models/common/i-logo.js +0 -3
- package/bin/src/models/common/i-logo.js.map +0 -1
- package/bin/src/models/common/i-tuition-fee.js +0 -3
- package/bin/src/models/common/i-tuition-fee.js.map +0 -1
- package/bin/src/models/copilot-country/copilot-country-client.js +0 -17
- package/bin/src/models/copilot-country/copilot-country-client.js.map +0 -1
- package/bin/src/models/copilot-country/i-copilot-country.js +0 -3
- package/bin/src/models/copilot-country/i-copilot-country.js.map +0 -1
- package/bin/src/models/copilot-country/i-copilot-ranking-card.js +0 -3
- package/bin/src/models/copilot-country/i-copilot-ranking-card.js.map +0 -1
- package/bin/src/models/copilot-programme/copilot-programme-client.js +0 -17
- package/bin/src/models/copilot-programme/copilot-programme-client.js.map +0 -1
- package/bin/src/models/copilot-programme/i-copilot-programme.js +0 -3
- package/bin/src/models/copilot-programme/i-copilot-programme.js.map +0 -1
- package/bin/src/models/customerio-organisation/customerio-organisation-client.js +0 -17
- package/bin/src/models/customerio-organisation/customerio-organisation-client.js.map +0 -1
- package/bin/src/models/customerio-organisation/i-customer-io-organisation.js +0 -3
- package/bin/src/models/customerio-organisation/i-customer-io-organisation.js.map +0 -1
- package/bin/src/models/customerio-organisation/i-review.js +0 -3
- package/bin/src/models/customerio-organisation/i-review.js.map +0 -1
- package/bin/src/models/customerio-programme/customerio-programme-client.js +0 -17
- package/bin/src/models/customerio-programme/customerio-programme-client.js.map +0 -1
- package/bin/src/models/customerio-programme/i-customer-io-programme.js +0 -3
- package/bin/src/models/customerio-programme/i-customer-io-programme.js.map +0 -1
- package/bin/src/models/customerio-programme/i-internal-link.js +0 -3
- package/bin/src/models/customerio-programme/i-internal-link.js.map +0 -1
- package/bin/src/models/organisation-card/i-organisation-card.js +0 -3
- package/bin/src/models/organisation-card/i-organisation-card.js.map +0 -1
- package/bin/src/models/organisation-card/i-ranking-discipline.js +0 -3
- package/bin/src/models/organisation-card/i-ranking-discipline.js.map +0 -1
- package/bin/src/models/organisation-card/organisation-card-client.js +0 -17
- package/bin/src/models/organisation-card/organisation-card-client.js.map +0 -1
- package/bin/src/models/organisation-for-search/i-organisation-for-search.js +0 -3
- package/bin/src/models/organisation-for-search/i-organisation-for-search.js.map +0 -1
- package/bin/src/models/organisation-for-search/public-organisation-for-search-client.js +0 -17
- package/bin/src/models/organisation-for-search/public-organisation-for-search-client.js.map +0 -1
- package/bin/src/models/organisation-search-document/i-organisation-search-document.js +0 -3
- package/bin/src/models/organisation-search-document/i-organisation-search-document.js.map +0 -1
- package/bin/src/models/organisation-search-document/organisation-search-document-client.js +0 -17
- package/bin/src/models/organisation-search-document/organisation-search-document-client.js.map +0 -1
- package/bin/src/models/programme-card/i-click-tracking-data.js +0 -3
- package/bin/src/models/programme-card/i-click-tracking-data.js.map +0 -1
- package/bin/src/models/programme-card/i-cover.js +0 -3
- package/bin/src/models/programme-card/i-cover.js.map +0 -1
- package/bin/src/models/programme-card/i-deadline.js +0 -3
- package/bin/src/models/programme-card/i-deadline.js.map +0 -1
- package/bin/src/models/programme-card/i-duration.js +0 -3
- package/bin/src/models/programme-card/i-duration.js.map +0 -1
- package/bin/src/models/programme-card/i-internal-link.js +0 -3
- package/bin/src/models/programme-card/i-internal-link.js.map +0 -1
- package/bin/src/models/programme-card/i-link.js +0 -3
- package/bin/src/models/programme-card/i-link.js.map +0 -1
- package/bin/src/models/programme-card/i-location.js +0 -3
- package/bin/src/models/programme-card/i-location.js.map +0 -1
- package/bin/src/models/programme-card/i-logo.js +0 -3
- package/bin/src/models/programme-card/i-logo.js.map +0 -1
- package/bin/src/models/programme-card/i-optional-link.js +0 -3
- package/bin/src/models/programme-card/i-optional-link.js.map +0 -1
- package/bin/src/models/programme-card/i-programme-card.js +0 -3
- package/bin/src/models/programme-card/i-programme-card.js.map +0 -1
- package/bin/src/models/programme-card/i-start-date.js +0 -3
- package/bin/src/models/programme-card/i-start-date.js.map +0 -1
- package/bin/src/models/programme-card/i-timing.js +0 -3
- package/bin/src/models/programme-card/i-timing.js.map +0 -1
- package/bin/src/models/programme-card/i-tracked-link.js +0 -3
- package/bin/src/models/programme-card/i-tracked-link.js.map +0 -1
- package/bin/src/models/programme-card/i-tracking.js +0 -3
- package/bin/src/models/programme-card/i-tracking.js.map +0 -1
- package/bin/src/models/programme-card/i-tuition-fee.js +0 -3
- package/bin/src/models/programme-card/i-tuition-fee.js.map +0 -1
- package/bin/src/models/programme-card/programme-card-client.js +0 -17
- package/bin/src/models/programme-card/programme-card-client.js.map +0 -1
- package/bin/src/models/ranking-cards/i-ranking.js +0 -3
- package/bin/src/models/ranking-cards/i-ranking.js.map +0 -1
- package/bin/src/models/scholarship-card/i-scholarship-card.js +0 -3
- package/bin/src/models/scholarship-card/i-scholarship-card.js.map +0 -1
- package/bin/src/models/scholarship-card/public-scholarship-card-client.js +0 -17
- package/bin/src/models/scholarship-card/public-scholarship-card-client.js.map +0 -1
- package/bin/src/models/scholarship-card/scholarship-card-v2-client.js +0 -17
- package/bin/src/models/scholarship-card/scholarship-card-v2-client.js.map +0 -1
- package/bin/src/models/scholarship-search-document/i-scholarship-search-document.js +0 -3
- package/bin/src/models/scholarship-search-document/i-scholarship-search-document.js.map +0 -1
- package/bin/src/models/scholarship-search-document/scholarship-search-document-client.js +0 -17
- package/bin/src/models/scholarship-search-document/scholarship-search-document-client.js.map +0 -1
- package/bin/src/models/search-discipline/i-search-discipline.js +0 -3
- package/bin/src/models/search-discipline/i-search-discipline.js.map +0 -1
- package/bin/src/models/search-discipline/public-search-discipline-client.js +0 -17
- package/bin/src/models/search-discipline/public-search-discipline-client.js.map +0 -1
- package/bin/src/models/search-projection/i-geo-targeting-configuration.js +0 -3
- package/bin/src/models/search-projection/i-geo-targeting-configuration.js.map +0 -1
- package/bin/src/models/search-projection/i-geo-targeting-values.js +0 -3
- package/bin/src/models/search-projection/i-geo-targeting-values.js.map +0 -1
- package/bin/src/models/search-projection/i-organisation-values.js +0 -3
- package/bin/src/models/search-projection/i-organisation-values.js.map +0 -1
- package/bin/src/models/search-projection/i-premium-values.js +0 -3
- package/bin/src/models/search-projection/i-premium-values.js.map +0 -1
- package/bin/src/models/search-projection/i-search-projection.js +0 -3
- package/bin/src/models/search-projection/i-search-projection.js.map +0 -1
- package/bin/src/models/search-projection/i-tuition-values.js +0 -3
- package/bin/src/models/search-projection/i-tuition-values.js.map +0 -1
- package/bin/src/models/search-projection/search-projection-client.js +0 -17
- package/bin/src/models/search-projection/search-projection-client.js.map +0 -1
- package/bin/src/models/sitemap-articles-info/i-sitemap-article-info.js +0 -3
- package/bin/src/models/sitemap-articles-info/i-sitemap-article-info.js.map +0 -1
- package/bin/src/models/sitemap-articles-info/sitemap-articles-info-client.js +0 -17
- package/bin/src/models/sitemap-articles-info/sitemap-articles-info-client.js.map +0 -1
- package/bin/src/models/sitemap-cities-info/i-sitemap-city-info.js +0 -3
- package/bin/src/models/sitemap-cities-info/i-sitemap-city-info.js.map +0 -1
- package/bin/src/models/sitemap-cities-info/sitemap-cities-info-client.js +0 -17
- package/bin/src/models/sitemap-cities-info/sitemap-cities-info-client.js.map +0 -1
- package/bin/src/models/sitemap-countries-info/i-sitemap-country-info.js +0 -3
- package/bin/src/models/sitemap-countries-info/i-sitemap-country-info.js.map +0 -1
- package/bin/src/models/sitemap-countries-info/sitemap-countries-info-client.js +0 -17
- package/bin/src/models/sitemap-countries-info/sitemap-countries-info-client.js.map +0 -1
- package/bin/src/models/sitemap-country-degree-info/i-degree-info.js +0 -3
- package/bin/src/models/sitemap-country-degree-info/i-degree-info.js.map +0 -1
- package/bin/src/models/sitemap-country-degree-info/i-sitemap-country-degree-info.js +0 -3
- package/bin/src/models/sitemap-country-degree-info/i-sitemap-country-degree-info.js.map +0 -1
- package/bin/src/models/sitemap-country-degree-info/sitemap-country-degree-info-client.js +0 -17
- package/bin/src/models/sitemap-country-degree-info/sitemap-country-degree-info-client.js.map +0 -1
- package/bin/src/models/sitemap-disciplines-info/i-sitemap-discipline-info.js +0 -3
- package/bin/src/models/sitemap-disciplines-info/i-sitemap-discipline-info.js.map +0 -1
- package/bin/src/models/sitemap-disciplines-info/sitemap-disciplines-info-client.js +0 -17
- package/bin/src/models/sitemap-disciplines-info/sitemap-disciplines-info-client.js.map +0 -1
- package/bin/src/models/sitemap-organisations-info/i-sitemap-organisation-info.js +0 -3
- package/bin/src/models/sitemap-organisations-info/i-sitemap-organisation-info.js.map +0 -1
- package/bin/src/models/sitemap-organisations-info/sitemap-organisations-info-client.js +0 -17
- package/bin/src/models/sitemap-organisations-info/sitemap-organisations-info-client.js.map +0 -1
- package/bin/src/models/sitemap-programme-info/i-sitemap-programme-info.js +0 -3
- package/bin/src/models/sitemap-programme-info/i-sitemap-programme-info.js.map +0 -1
- package/bin/src/models/sitemap-programme-info/sitemap-programme-info-client.js +0 -17
- package/bin/src/models/sitemap-programme-info/sitemap-programme-info-client.js.map +0 -1
- package/bin/src/models/sitemap-rankings-info/i-sitemap-rankings-info.js +0 -3
- package/bin/src/models/sitemap-rankings-info/i-sitemap-rankings-info.js.map +0 -1
- package/bin/src/models/sitemap-rankings-info/sitemap-rankings-info-client.js +0 -17
- package/bin/src/models/sitemap-rankings-info/sitemap-rankings-info-client.js.map +0 -1
- package/bin/src/types/portal-map.js +0 -3
- package/bin/src/types/portal-map.js.map +0 -1
- package/bin/src/types/portal-type.js.map +0 -1
- package/bin/src/types.js +0 -3
- package/bin/src/types.js.map +0 -1
- package/coverage/base.css +0 -224
- package/coverage/block-navigation.js +0 -87
- package/coverage/clover.xml +0 -3940
- package/coverage/coverage-final.json +0 -149
- package/coverage/domain-client/index.html +0 -116
- package/coverage/domain-client/index.ts.html +0 -616
- package/coverage/domain-client/protobuf/Area.ts.html +0 -223
- package/coverage/domain-client/protobuf/Article.ts.html +0 -952
- package/coverage/domain-client/protobuf/Body.ts.html +0 -223
- package/coverage/domain-client/protobuf/CampaignInformation.ts.html +0 -223
- package/coverage/domain-client/protobuf/ClickTracking.ts.html +0 -223
- package/coverage/domain-client/protobuf/CommercialEntity.ts.html +0 -286
- package/coverage/domain-client/protobuf/Cover.ts.html +0 -208
- package/coverage/domain-client/protobuf/Deadline.ts.html +0 -223
- package/coverage/domain-client/protobuf/Degree.ts.html +0 -298
- package/coverage/domain-client/protobuf/Description.ts.html +0 -274
- package/coverage/domain-client/protobuf/Discipline.ts.html +0 -418
- package/coverage/domain-client/protobuf/Duration.ts.html +0 -223
- package/coverage/domain-client/protobuf/EnglishRequirement.ts.html +0 -223
- package/coverage/domain-client/protobuf/EssentialInformation.ts.html +0 -313
- package/coverage/domain-client/protobuf/File.ts.html +0 -388
- package/coverage/domain-client/protobuf/GPARequirement.ts.html +0 -223
- package/coverage/domain-client/protobuf/InternalLink.ts.html +0 -244
- package/coverage/domain-client/protobuf/Link.ts.html +0 -223
- package/coverage/domain-client/protobuf/LivingCost.ts.html +0 -223
- package/coverage/domain-client/protobuf/Location.ts.html +0 -316
- package/coverage/domain-client/protobuf/Logo.ts.html +0 -208
- package/coverage/domain-client/protobuf/MiniProgrammeCard.ts.html +0 -292
- package/coverage/domain-client/protobuf/OptionalLink.ts.html +0 -238
- package/coverage/domain-client/protobuf/Organisation.ts.html +0 -3280
- package/coverage/domain-client/protobuf/OrganisationInformation.ts.html +0 -187
- package/coverage/domain-client/protobuf/OrganisationRanking.ts.html +0 -259
- package/coverage/domain-client/protobuf/Person.ts.html +0 -256
- package/coverage/domain-client/protobuf/ProgrammeCard.ts.html +0 -826
- package/coverage/domain-client/protobuf/ProgrammeGrid.ts.html +0 -244
- package/coverage/domain-client/protobuf/Ranking.ts.html +0 -388
- package/coverage/domain-client/protobuf/RankingInstitute.ts.html +0 -271
- package/coverage/domain-client/protobuf/Review.ts.html +0 -301
- package/coverage/domain-client/protobuf/ReviewRating.ts.html +0 -238
- package/coverage/domain-client/protobuf/RichText.ts.html +0 -214
- package/coverage/domain-client/protobuf/SocialLink.ts.html +0 -373
- package/coverage/domain-client/protobuf/StartDate.ts.html +0 -247
- package/coverage/domain-client/protobuf/Timing.ts.html +0 -289
- package/coverage/domain-client/protobuf/Topic.ts.html +0 -208
- package/coverage/domain-client/protobuf/TrackedLink.ts.html +0 -241
- package/coverage/domain-client/protobuf/Tracking.ts.html +0 -322
- package/coverage/domain-client/protobuf/TuitionFee.ts.html +0 -253
- package/coverage/domain-client/protobuf/Unibuddy.ts.html +0 -208
- package/coverage/domain-client/protobuf/index.html +0 -746
- package/coverage/domain-client/protobuf/index.ts.html +0 -223
- package/coverage/domain-client/src/clients/article-detail-page-client.ts.html +0 -145
- package/coverage/domain-client/src/clients/index.html +0 -176
- package/coverage/domain-client/src/clients/index.ts.html +0 -109
- package/coverage/domain-client/src/clients/organisation-page-client.ts.html +0 -145
- package/coverage/domain-client/src/clients/protobuf-client.ts.html +0 -256
- package/coverage/domain-client/src/clients/public-mini-programme-card-client.ts.html +0 -145
- package/coverage/domain-client/src/domain-client.ts.html +0 -415
- package/coverage/domain-client/src/exceptions/bad-request-exception.ts.html +0 -91
- package/coverage/domain-client/src/exceptions/client-exception.ts.html +0 -91
- package/coverage/domain-client/src/exceptions/index.html +0 -176
- package/coverage/domain-client/src/exceptions/internal-server-exception.ts.html +0 -91
- package/coverage/domain-client/src/exceptions/not-found-exception.ts.html +0 -91
- package/coverage/domain-client/src/exceptions/property-not-available-exception.ts.html +0 -91
- package/coverage/domain-client/src/factories/DateFactory.ts.html +0 -109
- package/coverage/domain-client/src/factories/InternalLinkFactory.ts.html +0 -181
- package/coverage/domain-client/src/factories/index.html +0 -131
- package/coverage/domain-client/src/i-api-response.ts.html +0 -106
- package/coverage/domain-client/src/i-class-factory.ts.html +0 -100
- package/coverage/domain-client/src/i-model-description.ts.html +0 -124
- package/coverage/domain-client/src/index.html +0 -206
- package/coverage/domain-client/src/model-client.ts.html +0 -316
- package/coverage/domain-client/src/model-factory.ts.html +0 -367
- package/coverage/domain-client/src/models/bestfit-programme/bestfit-programme-client.ts.html +0 -133
- package/coverage/domain-client/src/models/bestfit-programme/i-best-fit-programme.ts.html +0 -391
- package/coverage/domain-client/src/models/bestfit-programme/i-city.ts.html +0 -133
- package/coverage/domain-client/src/models/bestfit-programme/i-living-cost.ts.html +0 -154
- package/coverage/domain-client/src/models/bestfit-programme/index.html +0 -161
- package/coverage/domain-client/src/models/common/i-city.ts.html +0 -133
- package/coverage/domain-client/src/models/common/i-country.ts.html +0 -154
- package/coverage/domain-client/src/models/common/i-english-requirements.ts.html +0 -283
- package/coverage/domain-client/src/models/common/i-g-p-a-requirement.ts.html +0 -154
- package/coverage/domain-client/src/models/common/i-internal-link.ts.html +0 -181
- package/coverage/domain-client/src/models/common/i-logo.ts.html +0 -133
- package/coverage/domain-client/src/models/common/i-review-rating.ts.html +0 -172
- package/coverage/domain-client/src/models/common/i-tuition-fee.ts.html +0 -256
- package/coverage/domain-client/src/models/common/index.html +0 -221
- package/coverage/domain-client/src/models/copilot-country/copilot-country-client.ts.html +0 -133
- package/coverage/domain-client/src/models/copilot-country/i-copilot-country.ts.html +0 -223
- package/coverage/domain-client/src/models/copilot-country/i-copilot-ranking-card.ts.html +0 -199
- package/coverage/domain-client/src/models/copilot-country/index.html +0 -146
- package/coverage/domain-client/src/models/copilot-programme/copilot-programme-client.ts.html +0 -133
- package/coverage/domain-client/src/models/copilot-programme/i-copilot-programme.ts.html +0 -526
- package/coverage/domain-client/src/models/copilot-programme/index.html +0 -131
- package/coverage/domain-client/src/models/customerio-organisation/customerio-organisation-client.ts.html +0 -133
- package/coverage/domain-client/src/models/customerio-organisation/i-customer-io-organisation.ts.html +0 -271
- package/coverage/domain-client/src/models/customerio-organisation/i-review.ts.html +0 -121
- package/coverage/domain-client/src/models/customerio-organisation/index.html +0 -146
- package/coverage/domain-client/src/models/customerio-programme/customerio-programme-client.ts.html +0 -133
- package/coverage/domain-client/src/models/customerio-programme/i-customer-io-programme.ts.html +0 -472
- package/coverage/domain-client/src/models/customerio-programme/i-internal-link.ts.html +0 -181
- package/coverage/domain-client/src/models/customerio-programme/index.html +0 -146
- package/coverage/domain-client/src/models/faq-static-content/i-faq-static-content.ts.html +0 -130
- package/coverage/domain-client/src/models/faq-static-content/i-faq.ts.html +0 -100
- package/coverage/domain-client/src/models/faq-static-content/i-static-content-url.ts.html +0 -100
- package/coverage/domain-client/src/models/faq-static-content/index.html +0 -161
- package/coverage/domain-client/src/models/faq-static-content/public-faq-static-content-client.ts.html +0 -133
- package/coverage/domain-client/src/models/organisation-card/i-organisation-card.ts.html +0 -304
- package/coverage/domain-client/src/models/organisation-card/i-ranking-discipline.ts.html +0 -103
- package/coverage/domain-client/src/models/organisation-card/index.html +0 -146
- package/coverage/domain-client/src/models/organisation-card/organisation-card-client.ts.html +0 -133
- package/coverage/domain-client/src/models/organisation-for-search/i-organisation-for-search.ts.html +0 -196
- package/coverage/domain-client/src/models/organisation-for-search/index.html +0 -131
- package/coverage/domain-client/src/models/organisation-for-search/public-organisation-for-search-client.ts.html +0 -133
- package/coverage/domain-client/src/models/organisation-search-document/i-organisation-search-document.ts.html +0 -616
- package/coverage/domain-client/src/models/organisation-search-document/index.html +0 -131
- package/coverage/domain-client/src/models/organisation-search-document/organisation-search-document-client.ts.html +0 -133
- package/coverage/domain-client/src/models/programme-card/i-click-tracking-data.ts.html +0 -109
- package/coverage/domain-client/src/models/programme-card/i-cover.ts.html +0 -133
- package/coverage/domain-client/src/models/programme-card/i-deadline.ts.html +0 -154
- package/coverage/domain-client/src/models/programme-card/i-duration.ts.html +0 -223
- package/coverage/domain-client/src/models/programme-card/i-internal-link.ts.html +0 -181
- package/coverage/domain-client/src/models/programme-card/i-link.ts.html +0 -160
- package/coverage/domain-client/src/models/programme-card/i-location.ts.html +0 -151
- package/coverage/domain-client/src/models/programme-card/i-logo.ts.html +0 -133
- package/coverage/domain-client/src/models/programme-card/i-optional-link.ts.html +0 -166
- package/coverage/domain-client/src/models/programme-card/i-programme-card.ts.html +0 -856
- package/coverage/domain-client/src/models/programme-card/i-start-date.ts.html +0 -202
- package/coverage/domain-client/src/models/programme-card/i-timing.ts.html +0 -244
- package/coverage/domain-client/src/models/programme-card/i-tracked-link.ts.html +0 -187
- package/coverage/domain-client/src/models/programme-card/i-tracking.ts.html +0 -250
- package/coverage/domain-client/src/models/programme-card/i-tuition-fee.ts.html +0 -256
- package/coverage/domain-client/src/models/programme-card/index.html +0 -341
- package/coverage/domain-client/src/models/programme-card/programme-card-client.ts.html +0 -133
- package/coverage/domain-client/src/models/ranking-cards/i-ranking.ts.html +0 -151
- package/coverage/domain-client/src/models/ranking-cards/index.html +0 -116
- package/coverage/domain-client/src/models/scholarship-card/i-scholarship-card-v2.ts.html +0 -199
- package/coverage/domain-client/src/models/scholarship-card/i-scholarship-card.ts.html +0 -169
- package/coverage/domain-client/src/models/scholarship-card/index.html +0 -161
- package/coverage/domain-client/src/models/scholarship-card/public-scholarship-card-client.ts.html +0 -133
- package/coverage/domain-client/src/models/scholarship-card/scholarship-card-v2-client.ts.html +0 -133
- package/coverage/domain-client/src/models/scholarship-search-document/i-scholarship-search-document.ts.html +0 -244
- package/coverage/domain-client/src/models/scholarship-search-document/index.html +0 -131
- package/coverage/domain-client/src/models/scholarship-search-document/scholarship-search-document-client.ts.html +0 -133
- package/coverage/domain-client/src/models/search-discipline/i-search-discipline.ts.html +0 -181
- package/coverage/domain-client/src/models/search-discipline/index.html +0 -131
- package/coverage/domain-client/src/models/search-discipline/public-search-discipline-client.ts.html +0 -133
- package/coverage/domain-client/src/models/search-projection/i-geo-targeting-configuration.ts.html +0 -217
- package/coverage/domain-client/src/models/search-projection/i-geo-targeting-values.ts.html +0 -199
- package/coverage/domain-client/src/models/search-projection/i-organisation-values.ts.html +0 -244
- package/coverage/domain-client/src/models/search-projection/i-premium-values.ts.html +0 -214
- package/coverage/domain-client/src/models/search-projection/i-search-projection.ts.html +0 -754
- package/coverage/domain-client/src/models/search-projection/i-tuition-values.ts.html +0 -274
- package/coverage/domain-client/src/models/search-projection/index.html +0 -206
- package/coverage/domain-client/src/models/search-projection/search-projection-client.ts.html +0 -133
- package/coverage/domain-client/src/models/sitemap-articles-info/i-sitemap-article-info.ts.html +0 -184
- package/coverage/domain-client/src/models/sitemap-articles-info/index.html +0 -131
- package/coverage/domain-client/src/models/sitemap-articles-info/sitemap-articles-info-client.ts.html +0 -133
- package/coverage/domain-client/src/models/sitemap-cities-info/i-sitemap-city-info.ts.html +0 -136
- package/coverage/domain-client/src/models/sitemap-cities-info/index.html +0 -131
- package/coverage/domain-client/src/models/sitemap-cities-info/sitemap-cities-info-client.ts.html +0 -133
- package/coverage/domain-client/src/models/sitemap-countries-info/i-sitemap-country-info.ts.html +0 -136
- package/coverage/domain-client/src/models/sitemap-countries-info/index.html +0 -131
- package/coverage/domain-client/src/models/sitemap-countries-info/sitemap-countries-info-client.ts.html +0 -133
- package/coverage/domain-client/src/models/sitemap-country-degree-info/i-degree-info.ts.html +0 -136
- package/coverage/domain-client/src/models/sitemap-country-degree-info/i-sitemap-country-degree-info.ts.html +0 -127
- package/coverage/domain-client/src/models/sitemap-country-degree-info/index.html +0 -146
- package/coverage/domain-client/src/models/sitemap-country-degree-info/sitemap-country-degree-info-client.ts.html +0 -133
- package/coverage/domain-client/src/models/sitemap-disciplines-info/i-sitemap-discipline-info.ts.html +0 -136
- package/coverage/domain-client/src/models/sitemap-disciplines-info/index.html +0 -131
- package/coverage/domain-client/src/models/sitemap-disciplines-info/sitemap-disciplines-info-client.ts.html +0 -133
- package/coverage/domain-client/src/models/sitemap-organisations-info/i-sitemap-organisation-info.ts.html +0 -181
- package/coverage/domain-client/src/models/sitemap-organisations-info/index.html +0 -131
- package/coverage/domain-client/src/models/sitemap-organisations-info/sitemap-organisations-info-client.ts.html +0 -133
- package/coverage/domain-client/src/models/sitemap-programme-info/i-sitemap-programme-info.ts.html +0 -181
- package/coverage/domain-client/src/models/sitemap-programme-info/index.html +0 -131
- package/coverage/domain-client/src/models/sitemap-programme-info/sitemap-programme-info-client.ts.html +0 -133
- package/coverage/domain-client/src/models/sitemap-rankings-info/i-sitemap-rankings-info.ts.html +0 -136
- package/coverage/domain-client/src/models/sitemap-rankings-info/index.html +0 -131
- package/coverage/domain-client/src/models/sitemap-rankings-info/sitemap-rankings-info-client.ts.html +0 -133
- package/coverage/domain-client/src/types/index.html +0 -131
- package/coverage/domain-client/src/types/portal-map.ts.html +0 -94
- package/coverage/domain-client/src/types/portal-type.ts.html +0 -106
- package/coverage/domain-client/src/types.ts.html +0 -97
- package/coverage/favicon.png +0 -0
- package/coverage/index.html +0 -566
- package/coverage/prettify.css +0 -1
- package/coverage/prettify.js +0 -2
- package/coverage/sort-arrow-sprite.png +0 -0
- package/coverage/sorter.js +0 -196
- package/index.ts +0 -177
- package/protobuf/Area.ts +0 -46
- package/protobuf/Article.ts +0 -289
- package/protobuf/Body.ts +0 -46
- package/protobuf/CampaignInformation.ts +0 -46
- package/protobuf/ClickTracking.ts +0 -46
- package/protobuf/CommercialEntity.ts +0 -67
- package/protobuf/Cover.ts +0 -41
- package/protobuf/Deadline.ts +0 -46
- package/protobuf/Degree.ts +0 -71
- package/protobuf/Description.ts +0 -63
- package/protobuf/Discipline.ts +0 -111
- package/protobuf/Duration.ts +0 -46
- package/protobuf/EnglishRequirement.ts +0 -46
- package/protobuf/EssentialInformation.ts +0 -76
- package/protobuf/File.ts +0 -101
- package/protobuf/GPARequirement.ts +0 -46
- package/protobuf/InternalLink.ts +0 -53
- package/protobuf/Link.ts +0 -46
- package/protobuf/LivingCost.ts +0 -46
- package/protobuf/Location.ts +0 -77
- package/protobuf/Logo.ts +0 -41
- package/protobuf/MiniProgrammeCard.ts +0 -69
- package/protobuf/OptionalLink.ts +0 -51
- package/protobuf/Organisation.ts +0 -1065
- package/protobuf/OrganisationInformation.ts +0 -34
- package/protobuf/OrganisationRanking.ts +0 -58
- package/protobuf/Person.ts +0 -57
- package/protobuf/ProgrammeCard.ts +0 -247
- package/protobuf/ProgrammeGrid.ts +0 -53
- package/protobuf/Ranking.ts +0 -101
- package/protobuf/RankingInstitute.ts +0 -62
- package/protobuf/Review.ts +0 -72
- package/protobuf/ReviewRating.ts +0 -51
- package/protobuf/RichText.ts +0 -43
- package/protobuf/SocialLink.ts +0 -96
- package/protobuf/StartDate.ts +0 -54
- package/protobuf/Timing.ts +0 -68
- package/protobuf/Topic.ts +0 -41
- package/protobuf/TrackedLink.ts +0 -52
- package/protobuf/Tracking.ts +0 -79
- package/protobuf/TuitionFee.ts +0 -56
- package/protobuf/Unibuddy.ts +0 -41
- package/src/clients/article-detail-page-client.ts +0 -20
- package/src/clients/organisation-page-client.ts +0 -20
- package/src/clients/protobuf-client.ts +0 -57
- package/src/clients/public-mini-programme-card-client.ts +0 -20
- package/src/domain-client.ts +0 -110
- package/src/factories/DateFactory.ts +0 -8
- package/src/factories/InternalLinkFactory.ts +0 -32
- package/src/i-api-response.ts +0 -7
- package/src/i-class-factory.ts +0 -5
- package/src/i-model-description.ts +0 -13
- package/src/model-client.ts +0 -77
- package/src/model-factory.ts +0 -94
- package/src/models/bestfit-programme/bestfit-programme-client.ts +0 -16
- package/src/models/bestfit-programme/i-best-fit-programme.ts +0 -102
- package/src/models/bestfit-programme/i-city.ts +0 -16
- package/src/models/bestfit-programme/i-living-cost.ts +0 -23
- package/src/models/common/i-city.ts +0 -16
- package/src/models/common/i-country.ts +0 -23
- package/src/models/common/i-english-requirements.ts +0 -66
- package/src/models/common/i-g-p-a-requirement.ts +0 -23
- package/src/models/common/i-internal-link.ts +0 -32
- package/src/models/common/i-logo.ts +0 -16
- package/src/models/common/i-review-rating.ts +0 -30
- package/src/models/common/i-tuition-fee.ts +0 -57
- package/src/models/copilot-country/copilot-country-client.ts +0 -16
- package/src/models/copilot-country/i-copilot-country.ts +0 -46
- package/src/models/copilot-country/i-copilot-ranking-card.ts +0 -39
- package/src/models/copilot-programme/copilot-programme-client.ts +0 -16
- package/src/models/copilot-programme/i-copilot-programme.ts +0 -147
- package/src/models/customerio-organisation/customerio-organisation-client.ts +0 -16
- package/src/models/customerio-organisation/i-customer-io-organisation.ts +0 -62
- package/src/models/customerio-organisation/i-review.ts +0 -12
- package/src/models/customerio-programme/customerio-programme-client.ts +0 -16
- package/src/models/customerio-programme/i-customer-io-programme.ts +0 -129
- package/src/models/customerio-programme/i-internal-link.ts +0 -32
- package/src/models/faq-static-content/i-faq-static-content.ts +0 -15
- package/src/models/faq-static-content/i-faq.ts +0 -6
- package/src/models/faq-static-content/i-static-content-url.ts +0 -6
- package/src/models/faq-static-content/public-faq-static-content-client.ts +0 -16
- package/src/models/organisation-card/i-organisation-card.ts +0 -73
- package/src/models/organisation-card/i-ranking-discipline.ts +0 -6
- package/src/models/organisation-card/organisation-card-client.ts +0 -16
- package/src/models/organisation-for-search/i-organisation-for-search.ts +0 -37
- package/src/models/organisation-for-search/public-organisation-for-search-client.ts +0 -16
- package/src/models/organisation-search-document/i-organisation-search-document.ts +0 -177
- package/src/models/organisation-search-document/organisation-search-document-client.ts +0 -16
- package/src/models/programme-card/i-click-tracking-data.ts +0 -8
- package/src/models/programme-card/i-cover.ts +0 -16
- package/src/models/programme-card/i-deadline.ts +0 -23
- package/src/models/programme-card/i-duration.ts +0 -46
- package/src/models/programme-card/i-internal-link.ts +0 -32
- package/src/models/programme-card/i-link.ts +0 -25
- package/src/models/programme-card/i-location.ts +0 -22
- package/src/models/programme-card/i-logo.ts +0 -16
- package/src/models/programme-card/i-optional-link.ts +0 -27
- package/src/models/programme-card/i-programme-card.ts +0 -257
- package/src/models/programme-card/i-start-date.ts +0 -39
- package/src/models/programme-card/i-timing.ts +0 -53
- package/src/models/programme-card/i-tracked-link.ts +0 -34
- package/src/models/programme-card/i-tracking.ts +0 -55
- package/src/models/programme-card/i-tuition-fee.ts +0 -57
- package/src/models/programme-card/programme-card-client.ts +0 -16
- package/src/models/ranking-cards/i-ranking.ts +0 -22
- package/src/models/scholarship-card/i-scholarship-card-v2.ts +0 -38
- package/src/models/scholarship-card/i-scholarship-card.ts +0 -28
- package/src/models/scholarship-card/public-scholarship-card-client.ts +0 -16
- package/src/models/scholarship-card/scholarship-card-v2-client.ts +0 -16
- package/src/models/scholarship-search-document/i-scholarship-search-document.ts +0 -53
- package/src/models/scholarship-search-document/scholarship-search-document-client.ts +0 -16
- package/src/models/search-discipline/i-search-discipline.ts +0 -32
- package/src/models/search-discipline/public-search-discipline-client.ts +0 -16
- package/src/models/search-projection/i-geo-targeting-configuration.ts +0 -44
- package/src/models/search-projection/i-geo-targeting-values.ts +0 -38
- package/src/models/search-projection/i-organisation-values.ts +0 -53
- package/src/models/search-projection/i-premium-values.ts +0 -43
- package/src/models/search-projection/i-search-projection.ts +0 -223
- package/src/models/search-projection/i-tuition-values.ts +0 -63
- package/src/models/search-projection/search-projection-client.ts +0 -16
- package/src/models/sitemap-articles-info/i-sitemap-article-info.ts +0 -33
- package/src/models/sitemap-articles-info/sitemap-articles-info-client.ts +0 -16
- package/src/models/sitemap-cities-info/i-sitemap-city-info.ts +0 -17
- package/src/models/sitemap-cities-info/sitemap-cities-info-client.ts +0 -16
- package/src/models/sitemap-countries-info/i-sitemap-country-info.ts +0 -17
- package/src/models/sitemap-countries-info/sitemap-countries-info-client.ts +0 -16
- package/src/models/sitemap-country-degree-info/i-degree-info.ts +0 -17
- package/src/models/sitemap-country-degree-info/i-sitemap-country-degree-info.ts +0 -14
- package/src/models/sitemap-country-degree-info/sitemap-country-degree-info-client.ts +0 -16
- package/src/models/sitemap-disciplines-info/i-sitemap-discipline-info.ts +0 -17
- package/src/models/sitemap-disciplines-info/sitemap-disciplines-info-client.ts +0 -16
- package/src/models/sitemap-organisations-info/i-sitemap-organisation-info.ts +0 -32
- package/src/models/sitemap-organisations-info/sitemap-organisations-info-client.ts +0 -16
- package/src/models/sitemap-programme-info/i-sitemap-programme-info.ts +0 -32
- package/src/models/sitemap-programme-info/sitemap-programme-info-client.ts +0 -16
- package/src/models/sitemap-rankings-info/i-sitemap-rankings-info.ts +0 -17
- package/src/models/sitemap-rankings-info/sitemap-rankings-info-client.ts +0 -16
- package/src/types/portal-map.ts +0 -3
- package/src/types/portal-type.ts +0 -7
- package/src/types.ts +0 -4
- package/tsconfig.json +0 -40
- package/vitest.config.ts +0 -10
- package/vitest.setup.ts +0 -6
- /package/{bin/src → src}/exceptions/bad-request-exception.d.ts +0 -0
- /package/src/exceptions/{bad-request-exception.ts → bad-request-exception.js} +0 -0
- /package/{bin/src → src}/exceptions/client-exception.d.ts +0 -0
- /package/src/exceptions/{client-exception.ts → client-exception.js} +0 -0
- /package/{bin/src → src}/exceptions/internal-server-exception.d.ts +0 -0
- /package/src/exceptions/{internal-server-exception.ts → internal-server-exception.js} +0 -0
- /package/{bin/src → src}/exceptions/not-found-exception.d.ts +0 -0
- /package/src/exceptions/{not-found-exception.ts → not-found-exception.js} +0 -0
- /package/{bin/src → src}/exceptions/property-not-available-exception.d.ts +0 -0
- /package/src/exceptions/{property-not-available-exception.ts → property-not-available-exception.js} +0 -0
- /package/{bin/src → src}/factories/DateFactory.d.ts +0 -0
- /package/{bin/src → src}/i-class-factory.d.ts +0 -0
- /package/{bin/src → src}/i-model-description.d.ts +0 -0
- /package/{bin/src → src}/model-client.d.ts +0 -0
- /package/{bin/src → src}/model-factory.d.ts +0 -0
- /package/{bin/src → src}/models/bestfit-programme/bestfit-programme-client.d.ts +0 -0
- /package/{bin/src → src}/models/bestfit-programme/i-best-fit-programme.d.ts +0 -0
- /package/{bin/src → src}/models/bestfit-programme/i-city.d.ts +0 -0
- /package/{bin/src → src}/models/bestfit-programme/i-living-cost.d.ts +0 -0
- /package/{bin/src → src}/models/common/i-city.d.ts +0 -0
- /package/{bin/src → src}/models/common/i-country.d.ts +0 -0
- /package/{bin/src → src}/models/common/i-english-requirements.d.ts +0 -0
- /package/{bin/src → src}/models/common/i-g-p-a-requirement.d.ts +0 -0
- /package/{bin/src → src}/models/common/i-internal-link.d.ts +0 -0
- /package/{bin/src → src}/models/common/i-logo.d.ts +0 -0
- /package/{bin/src → src}/models/common/i-tuition-fee.d.ts +0 -0
- /package/{bin/src → src}/models/copilot-country/copilot-country-client.d.ts +0 -0
- /package/{bin/src → src}/models/copilot-country/i-copilot-country.d.ts +0 -0
- /package/{bin/src → src}/models/copilot-country/i-copilot-ranking-card.d.ts +0 -0
- /package/{bin/src → src}/models/copilot-programme/copilot-programme-client.d.ts +0 -0
- /package/{bin/src → src}/models/copilot-programme/i-copilot-programme.d.ts +0 -0
- /package/{bin/src → src}/models/customerio-organisation/customerio-organisation-client.d.ts +0 -0
- /package/{bin/src → src}/models/customerio-organisation/i-customer-io-organisation.d.ts +0 -0
- /package/{bin/src → src}/models/customerio-organisation/i-review.d.ts +0 -0
- /package/{bin/src → src}/models/customerio-programme/customerio-programme-client.d.ts +0 -0
- /package/{bin/src → src}/models/customerio-programme/i-customer-io-programme.d.ts +0 -0
- /package/{bin/src → src}/models/customerio-programme/i-internal-link.d.ts +0 -0
- /package/{bin/src → src}/models/organisation-card/i-ranking-discipline.d.ts +0 -0
- /package/{bin/src → src}/models/organisation-card/organisation-card-client.d.ts +0 -0
- /package/{bin/src → src}/models/organisation-for-search/i-organisation-for-search.d.ts +0 -0
- /package/{bin/src → src}/models/organisation-for-search/public-organisation-for-search-client.d.ts +0 -0
- /package/{bin/src → src}/models/organisation-search-document/organisation-search-document-client.d.ts +0 -0
- /package/{bin/src → src}/models/programme-card/i-click-tracking-data.d.ts +0 -0
- /package/{bin/src → src}/models/programme-card/i-cover.d.ts +0 -0
- /package/{bin/src → src}/models/programme-card/i-deadline.d.ts +0 -0
- /package/{bin/src → src}/models/programme-card/i-duration.d.ts +0 -0
- /package/{bin/src → src}/models/programme-card/i-internal-link.d.ts +0 -0
- /package/{bin/src → src}/models/programme-card/i-link.d.ts +0 -0
- /package/{bin/src → src}/models/programme-card/i-location.d.ts +0 -0
- /package/{bin/src → src}/models/programme-card/i-logo.d.ts +0 -0
- /package/{bin/src → src}/models/programme-card/i-optional-link.d.ts +0 -0
- /package/{bin/src → src}/models/programme-card/i-start-date.d.ts +0 -0
- /package/{bin/src → src}/models/programme-card/i-timing.d.ts +0 -0
- /package/{bin/src → src}/models/programme-card/i-tracked-link.d.ts +0 -0
- /package/{bin/src → src}/models/programme-card/i-tracking.d.ts +0 -0
- /package/{bin/src → src}/models/programme-card/i-tuition-fee.d.ts +0 -0
- /package/{bin/src → src}/models/programme-card/programme-card-client.d.ts +0 -0
- /package/{bin/src → src}/models/ranking-cards/i-ranking.d.ts +0 -0
- /package/{bin/src → src}/models/scholarship-card/i-scholarship-card.d.ts +0 -0
- /package/{bin/src → src}/models/scholarship-card/public-scholarship-card-client.d.ts +0 -0
- /package/{bin/src → src}/models/scholarship-card/scholarship-card-v2-client.d.ts +0 -0
- /package/{bin/src → src}/models/scholarship-search-document/i-scholarship-search-document.d.ts +0 -0
- /package/{bin/src → src}/models/scholarship-search-document/scholarship-search-document-client.d.ts +0 -0
- /package/{bin/src → src}/models/search-discipline/i-search-discipline.d.ts +0 -0
- /package/{bin/src → src}/models/search-discipline/public-search-discipline-client.d.ts +0 -0
- /package/{bin/src → src}/models/search-projection/i-geo-targeting-configuration.d.ts +0 -0
- /package/{bin/src → src}/models/search-projection/i-geo-targeting-values.d.ts +0 -0
- /package/{bin/src → src}/models/search-projection/i-organisation-values.d.ts +0 -0
- /package/{bin/src → src}/models/search-projection/i-premium-values.d.ts +0 -0
- /package/{bin/src → src}/models/search-projection/i-search-projection.d.ts +0 -0
- /package/{bin/src → src}/models/search-projection/i-tuition-values.d.ts +0 -0
- /package/{bin/src → src}/models/search-projection/search-projection-client.d.ts +0 -0
- /package/{bin/src → src}/models/sitemap-articles-info/i-sitemap-article-info.d.ts +0 -0
- /package/{bin/src → src}/models/sitemap-articles-info/sitemap-articles-info-client.d.ts +0 -0
- /package/{bin/src → src}/models/sitemap-cities-info/i-sitemap-city-info.d.ts +0 -0
- /package/{bin/src → src}/models/sitemap-cities-info/sitemap-cities-info-client.d.ts +0 -0
- /package/{bin/src → src}/models/sitemap-countries-info/i-sitemap-country-info.d.ts +0 -0
- /package/{bin/src → src}/models/sitemap-countries-info/sitemap-countries-info-client.d.ts +0 -0
- /package/{bin/src → src}/models/sitemap-country-degree-info/i-degree-info.d.ts +0 -0
- /package/{bin/src → src}/models/sitemap-country-degree-info/i-sitemap-country-degree-info.d.ts +0 -0
- /package/{bin/src → src}/models/sitemap-country-degree-info/sitemap-country-degree-info-client.d.ts +0 -0
- /package/{bin/src → src}/models/sitemap-disciplines-info/i-sitemap-discipline-info.d.ts +0 -0
- /package/{bin/src → src}/models/sitemap-disciplines-info/sitemap-disciplines-info-client.d.ts +0 -0
- /package/{bin/src → src}/models/sitemap-organisations-info/i-sitemap-organisation-info.d.ts +0 -0
- /package/{bin/src → src}/models/sitemap-organisations-info/sitemap-organisations-info-client.d.ts +0 -0
- /package/{bin/src → src}/models/sitemap-programme-info/i-sitemap-programme-info.d.ts +0 -0
- /package/{bin/src → src}/models/sitemap-programme-info/sitemap-programme-info-client.d.ts +0 -0
- /package/{bin/src → src}/models/sitemap-rankings-info/i-sitemap-rankings-info.d.ts +0 -0
- /package/{bin/src → src}/models/sitemap-rankings-info/sitemap-rankings-info-client.d.ts +0 -0
- /package/{bin/src → src}/types/portal-map.d.ts +0 -0
- /package/{bin/src → src}/types/portal-type.d.ts +0 -0
- /package/{bin/src → src}/types.d.ts +0 -0
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { MiniProgrammeCard } from "../../protobuf";
|
|
2
|
-
import { ProtobufClient } from "./protobuf-client";
|
|
3
|
-
|
|
4
|
-
export class PublicMiniProgrammeCardClient extends ProtobufClient<MiniProgrammeCard> {
|
|
5
|
-
protected constructModel(data: Record<string, any>): MiniProgrammeCard {
|
|
6
|
-
return MiniProgrammeCard.fromJSON(data);
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
protected getModelName(): string {
|
|
10
|
-
return 'mini-programme-card';
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
protected getVersion(): string {
|
|
14
|
-
return 'v1';
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
public isPublic(): boolean {
|
|
18
|
-
return true;
|
|
19
|
-
}
|
|
20
|
-
}
|
package/src/domain-client.ts
DELETED
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import { BadRequestException } from "./exceptions/bad-request-exception";
|
|
2
|
-
import { InternalServerException } from "./exceptions/internal-server-exception";
|
|
3
|
-
import { NotFoundException } from "./exceptions/not-found-exception";
|
|
4
|
-
import { IApiResponse } from "./i-api-response";
|
|
5
|
-
|
|
6
|
-
const decoder = new TextDecoder();
|
|
7
|
-
|
|
8
|
-
export class DomainClient<T> {
|
|
9
|
-
|
|
10
|
-
constructor(
|
|
11
|
-
public readonly baseUrl: string,
|
|
12
|
-
public readonly apiKey: string | undefined,
|
|
13
|
-
public readonly model: string,
|
|
14
|
-
public readonly version: string,
|
|
15
|
-
public readonly isPublic: boolean,
|
|
16
|
-
public readonly seed: number
|
|
17
|
-
) {
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
public async doRequest(ids: number[]): Promise<T[]> {
|
|
21
|
-
const url = `${this.baseUrl}/${this.buildUrl(ids)}`;
|
|
22
|
-
const headers: Record<string, string> = {};
|
|
23
|
-
|
|
24
|
-
if (this.apiKey !== undefined) {
|
|
25
|
-
headers["x-api-key"] = this.apiKey
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
try {
|
|
29
|
-
|
|
30
|
-
const response = await fetch(url, {headers});
|
|
31
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
32
|
-
const data: IApiResponse = await response.json();
|
|
33
|
-
|
|
34
|
-
if (!response.ok || data.status !== 200) {
|
|
35
|
-
this.handleErrors(data);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
const models: T[] = [];
|
|
39
|
-
|
|
40
|
-
for (const id of ids) {
|
|
41
|
-
const modelData = data.data[id];
|
|
42
|
-
if (!modelData) {
|
|
43
|
-
continue;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
if(typeof modelData === 'string') {
|
|
47
|
-
try {
|
|
48
|
-
models.push(await this.decompressModelData(modelData));
|
|
49
|
-
continue;
|
|
50
|
-
} catch (error) {
|
|
51
|
-
console.error(error);
|
|
52
|
-
continue;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
models.push(modelData as T);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
return models;
|
|
62
|
-
|
|
63
|
-
} catch (error) {
|
|
64
|
-
console.error('Error fetching data from API:', error);
|
|
65
|
-
if(error instanceof InternalServerException || error instanceof BadRequestException || error instanceof NotFoundException) {
|
|
66
|
-
throw error;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
throw new InternalServerException('Unable to fetch data from the API', error);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
private async decompressModelData(compressedData: string): Promise<T> {
|
|
74
|
-
const bytes = Uint8Array.from(atob(compressedData), c => c.charCodeAt(0));
|
|
75
|
-
|
|
76
|
-
const stream = new DecompressionStream('deflate');
|
|
77
|
-
const response = new Response(bytes as any);
|
|
78
|
-
const decompressedStream = response.body?.pipeThrough(stream);
|
|
79
|
-
const decompressedBytes = new Uint8Array(await new Response(decompressedStream).arrayBuffer());
|
|
80
|
-
|
|
81
|
-
return JSON.parse(decoder.decode(decompressedBytes)) as T;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
private handleErrors(response: IApiResponse): void {
|
|
85
|
-
if (!response.status) {
|
|
86
|
-
throw new InternalServerException(response.message);
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
if (response.status === 400) {
|
|
90
|
-
throw new BadRequestException(response.message);
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
if (response.status === 404) {
|
|
94
|
-
throw new NotFoundException(response.message);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
private buildUrl(ids: number[]): string {
|
|
99
|
-
const publicPrefix = this.shouldAddPublicPrefix() ? 'public/' : '';
|
|
100
|
-
let query = `${publicPrefix}${this.model}/${this.version}/?seed=${this.seed}`;
|
|
101
|
-
for (const id of ids) {
|
|
102
|
-
query += `&id=${id}`;
|
|
103
|
-
}
|
|
104
|
-
return query;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
private shouldAddPublicPrefix(): boolean {
|
|
108
|
-
return this.isPublic && this.apiKey === undefined;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { IClassFactory } from "../i-class-factory";
|
|
2
|
-
import { CallableReturnType, Model } from "../types";
|
|
3
|
-
|
|
4
|
-
export class DateFactory implements IClassFactory {
|
|
5
|
-
public create(data: Model, parameters: string[]): CallableReturnType {
|
|
6
|
-
return new Date(parameters[0]);
|
|
7
|
-
}
|
|
8
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { IClassFactory } from "../i-class-factory";
|
|
2
|
-
import { PortalType } from "../types/portal-type";
|
|
3
|
-
import { CallableReturnType, Model } from "../types";
|
|
4
|
-
import { PortalMap } from "../types/portal-map";
|
|
5
|
-
|
|
6
|
-
export class InternalLinkFactory implements IClassFactory {
|
|
7
|
-
private portalMap: PortalMap;
|
|
8
|
-
|
|
9
|
-
constructor(portalMap: PortalMap) {
|
|
10
|
-
this.portalMap = portalMap;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
14
|
-
public create(link: Model, parameters?: unknown): CallableReturnType {
|
|
15
|
-
const getPortalType = link['getPortalType'];
|
|
16
|
-
const portalType = getPortalType ? getPortalType() as PortalType : null;
|
|
17
|
-
const portalBaseUrl = portalType ? this.getPortalBaseUrl(portalType) : '';
|
|
18
|
-
|
|
19
|
-
const getUrl = link['getUrl'];
|
|
20
|
-
if (getUrl) {
|
|
21
|
-
const path = getUrl() as string;
|
|
22
|
-
link['getUrl'] = (): string => portalBaseUrl + path;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
return link;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
private getPortalBaseUrl(portalType: PortalType): string {
|
|
29
|
-
const url = this.portalMap.get(portalType);
|
|
30
|
-
return url || '';
|
|
31
|
-
}
|
|
32
|
-
}
|
package/src/i-api-response.ts
DELETED
package/src/i-class-factory.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { AcceptedType } from "./types";
|
|
2
|
-
|
|
3
|
-
export interface IModelDescription {
|
|
4
|
-
class: string;
|
|
5
|
-
func: Record<string, AcceptedType | IModelDescription>;
|
|
6
|
-
parameters?: any[];
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
// eslint-disable-next-line
|
|
10
|
-
export function isModelDescription(arg: any): arg is IModelDescription {
|
|
11
|
-
// eslint-disable-next-line
|
|
12
|
-
return arg && arg.class && (arg.func || arg.parameters);
|
|
13
|
-
}
|
package/src/model-client.ts
DELETED
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { DomainClient } from "./domain-client";
|
|
2
|
-
import { ClientException } from "./exceptions/client-exception";
|
|
3
|
-
import { IModelDescription } from "./i-model-description";
|
|
4
|
-
import { ModelFactory } from "./model-factory";
|
|
5
|
-
import { PortalMap } from "./types/portal-map";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export abstract class ModelClient<T> {
|
|
9
|
-
private readonly domainClient: DomainClient<IModelDescription> | null;
|
|
10
|
-
private readonly modelFactory: ModelFactory<T>;
|
|
11
|
-
|
|
12
|
-
constructor(
|
|
13
|
-
baseUrl?: string,
|
|
14
|
-
apiKey?: string,
|
|
15
|
-
seed?: number,
|
|
16
|
-
portalMap?: PortalMap
|
|
17
|
-
) {
|
|
18
|
-
if (!baseUrl || !seed) {
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
this.modelFactory = new ModelFactory<T>(portalMap);
|
|
23
|
-
this.domainClient = new DomainClient(
|
|
24
|
-
baseUrl,
|
|
25
|
-
apiKey,
|
|
26
|
-
this.getModelName(),
|
|
27
|
-
this.getVersion(),
|
|
28
|
-
this.isPublic(),
|
|
29
|
-
seed
|
|
30
|
-
);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
public async fetch(id: number): Promise<T> {
|
|
34
|
-
const modelDescriptions = await this.fetchDescription(id);
|
|
35
|
-
return this.modelFactory.fromDescription(modelDescriptions);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
public async fetchDescription(id: number): Promise<IModelDescription> {
|
|
39
|
-
if (!this.domainClient) {
|
|
40
|
-
throw new ClientException(
|
|
41
|
-
"Offline mode active: did you provide all parameters " +
|
|
42
|
-
"in the constructor?"
|
|
43
|
-
);
|
|
44
|
-
}
|
|
45
|
-
const result = await this.domainClient.doRequest([id]);
|
|
46
|
-
return result[0];
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
public async fetchMultiple(ids: number[]): Promise<T[]> {
|
|
50
|
-
const descriptions = await this.fetchMultipleDescriptions(ids);
|
|
51
|
-
return this.modelFactory.fromDescriptions(descriptions);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
public async fetchMultipleDescriptions(ids: number[]): Promise<IModelDescription[]> {
|
|
55
|
-
if (!this.domainClient) {
|
|
56
|
-
throw new ClientException(
|
|
57
|
-
'Offline mode active: did you provide all parameters ' +
|
|
58
|
-
'in the constructor?'
|
|
59
|
-
);
|
|
60
|
-
}
|
|
61
|
-
return await this.domainClient.doRequest(ids);
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
public fromDescription(description: IModelDescription): T {
|
|
65
|
-
return this.modelFactory.fromDescription(description);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
public fromDescriptions(descriptions: IModelDescription[]): T[] {
|
|
69
|
-
return this.modelFactory.fromDescriptions(descriptions);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
protected abstract getModelName(): string;
|
|
73
|
-
|
|
74
|
-
protected abstract getVersion(): string;
|
|
75
|
-
|
|
76
|
-
public abstract isPublic(): boolean;
|
|
77
|
-
}
|
package/src/model-factory.ts
DELETED
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import { InternalLinkFactory } from "./factories/InternalLinkFactory";
|
|
2
|
-
import { DateFactory } from "./factories/DateFactory";
|
|
3
|
-
import { IClassFactory } from "./i-class-factory";
|
|
4
|
-
import { IModelDescription, isModelDescription } from "./i-model-description";
|
|
5
|
-
import { PropertyNotAvailableException } from "./exceptions/property-not-available-exception";
|
|
6
|
-
import { Callable, CallableReturnType, Model } from "./types";
|
|
7
|
-
import { PortalMap } from "./types/portal-map";
|
|
8
|
-
import { PortalType } from "./types/portal-type";
|
|
9
|
-
|
|
10
|
-
export class ModelFactory<T> {
|
|
11
|
-
|
|
12
|
-
private customClassFactories: Map<string, IClassFactory>;
|
|
13
|
-
|
|
14
|
-
constructor(portalMap: PortalMap = new Map<PortalType, string>()) {
|
|
15
|
-
const factories = new Map<string, IClassFactory>();
|
|
16
|
-
factories.set('IInternalLink', new InternalLinkFactory(portalMap));
|
|
17
|
-
factories.set('SerializableDateTime', new DateFactory());
|
|
18
|
-
|
|
19
|
-
this.customClassFactories = factories;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
public fromDescription(data: IModelDescription): T {
|
|
23
|
-
return this.unpackClass(data) as unknown as T;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
public fromDescriptions(data: IModelDescription[]): T[] {
|
|
27
|
-
const models: T[] = [];
|
|
28
|
-
for (const modelDescription of data) {
|
|
29
|
-
models.push(this.unpackClass(modelDescription) as unknown as T);
|
|
30
|
-
}
|
|
31
|
-
return models;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
private unpackClass(data: IModelDescription): CallableReturnType {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
const unpacked: Model = {};
|
|
38
|
-
for (const functionName in data.func) {
|
|
39
|
-
unpacked[functionName] = this.getCallable(functionName, data);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
const factory = this.customClassFactories.get(data.class);
|
|
43
|
-
if (factory !== undefined) {
|
|
44
|
-
return factory.create(unpacked, data.parameters);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
return unpacked;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
private getCallable(
|
|
51
|
-
functionName: string,
|
|
52
|
-
data: IModelDescription
|
|
53
|
-
): Callable {
|
|
54
|
-
const propertyName = functionName.substr(3);
|
|
55
|
-
const canShowFunction = 'canShow' + propertyName;
|
|
56
|
-
|
|
57
|
-
const value: unknown = data.func[functionName];
|
|
58
|
-
let returnValue: CallableReturnType|CallableReturnType[];
|
|
59
|
-
|
|
60
|
-
if (isModelDescription(value)) {
|
|
61
|
-
returnValue = this.unpackClass(value);
|
|
62
|
-
} else if (Array.isArray(value)) {
|
|
63
|
-
returnValue = this.unpackArray(value);
|
|
64
|
-
} else {
|
|
65
|
-
returnValue = value as CallableReturnType;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
if (canShowFunction in data.func) {
|
|
69
|
-
return (): any => {
|
|
70
|
-
if (data.func[canShowFunction] === false) {
|
|
71
|
-
throw new PropertyNotAvailableException(
|
|
72
|
-
`Property '${propertyName}' not available`
|
|
73
|
-
);
|
|
74
|
-
}
|
|
75
|
-
return returnValue;
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
return (): any => {
|
|
79
|
-
return returnValue;
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
private unpackArray(list: any[]): CallableReturnType[] {
|
|
84
|
-
return list.map(
|
|
85
|
-
item => {
|
|
86
|
-
if (isModelDescription(item)) {
|
|
87
|
-
return this.unpackClass(item)
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
return item as CallableReturnType;
|
|
91
|
-
}
|
|
92
|
-
);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { IBestFitProgramme } from "../../..";
|
|
2
|
-
import { ModelClient } from "../../model-client";
|
|
3
|
-
|
|
4
|
-
export class BestfitProgrammeClient extends ModelClient<IBestFitProgramme> {
|
|
5
|
-
protected getModelName(): string {
|
|
6
|
-
return 'bestfit-programme';
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
protected getVersion(): string {
|
|
10
|
-
return 'v1';
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
public isPublic(): boolean {
|
|
14
|
-
return false;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import { ICity, IEnglishRequirements, IGPARequirement, ILivingCost, ITuitionFee } from "../../..";
|
|
2
|
-
|
|
3
|
-
export interface IBestFitProgramme {
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Average university ranking across multiple ranking institutes.
|
|
7
|
-
*
|
|
8
|
-
* @return number
|
|
9
|
-
*/
|
|
10
|
-
getAverageRankingPosition(): number;
|
|
11
|
-
|
|
12
|
-
canShowAverageRankingPosition(): boolean;
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* City which programme is given in
|
|
16
|
-
*
|
|
17
|
-
* @return ICity
|
|
18
|
-
*/
|
|
19
|
-
getCity(): ICity;
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Get country id the programme is teached in
|
|
23
|
-
*
|
|
24
|
-
* @return number
|
|
25
|
-
*/
|
|
26
|
-
getCountryId(): number;
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Discipline ids which the program is linked to.
|
|
30
|
-
*
|
|
31
|
-
* @return number[]
|
|
32
|
-
*/
|
|
33
|
-
getDisciplineIds(): number[];
|
|
34
|
-
|
|
35
|
-
canShowDisciplineIds(): boolean;
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* English level requirements.
|
|
39
|
-
*
|
|
40
|
-
* @return IEnglishRequirements
|
|
41
|
-
*/
|
|
42
|
-
getEnglishRequirements(): IEnglishRequirements;
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* GPA requirements
|
|
46
|
-
*
|
|
47
|
-
* @return IGPARequirement
|
|
48
|
-
*/
|
|
49
|
-
getGPA(): IGPARequirement;
|
|
50
|
-
|
|
51
|
-
canShowGPA(): boolean;
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Id of the programme.
|
|
55
|
-
*
|
|
56
|
-
* @return number
|
|
57
|
-
*/
|
|
58
|
-
getId(): number;
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Estimated living cost based on universities location.
|
|
62
|
-
*
|
|
63
|
-
* @return ILivingCost
|
|
64
|
-
*/
|
|
65
|
-
getLivingCost(): ILivingCost;
|
|
66
|
-
|
|
67
|
-
canShowLivingCost(): boolean;
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* Minimum required education level
|
|
71
|
-
*
|
|
72
|
-
* @return string | null
|
|
73
|
-
*/
|
|
74
|
-
getRequiredEducationalLevel(): string | null;
|
|
75
|
-
|
|
76
|
-
canShowRequiredEducationalLevel(): boolean;
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* The programmes tuition fees
|
|
80
|
-
*
|
|
81
|
-
* @return ITuitionFee[]
|
|
82
|
-
*/
|
|
83
|
-
getTuitionFees(): ITuitionFee[];
|
|
84
|
-
|
|
85
|
-
canShowTuitionFees(): boolean;
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* Amount of years required as work experience
|
|
89
|
-
*
|
|
90
|
-
* @return number
|
|
91
|
-
*/
|
|
92
|
-
getWorkExperienceYears(): number;
|
|
93
|
-
|
|
94
|
-
canShowWorkExperienceYears(): boolean;
|
|
95
|
-
|
|
96
|
-
/**
|
|
97
|
-
* Indicates whenever a programme is fully online or not
|
|
98
|
-
*
|
|
99
|
-
* @return boolean
|
|
100
|
-
*/
|
|
101
|
-
isFullyOnline(): boolean;
|
|
102
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
export interface ILivingCost {
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Get the applicable currency.
|
|
5
|
-
*
|
|
6
|
-
* @return string
|
|
7
|
-
*/
|
|
8
|
-
getCurrency(): string;
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Get the maximum living cost in the provided currency.
|
|
12
|
-
*
|
|
13
|
-
* @return number
|
|
14
|
-
*/
|
|
15
|
-
getMax(): number;
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Get the minimum living cost in the provided currency.
|
|
19
|
-
*
|
|
20
|
-
* @return number
|
|
21
|
-
*/
|
|
22
|
-
getMin(): number;
|
|
23
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
export interface ICountry {
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Get country iso code
|
|
5
|
-
*
|
|
6
|
-
* @return string
|
|
7
|
-
*/
|
|
8
|
-
getISOCode(): string;
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Get country id
|
|
12
|
-
*
|
|
13
|
-
* @return number
|
|
14
|
-
*/
|
|
15
|
-
getId(): number;
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Get country name
|
|
19
|
-
*
|
|
20
|
-
* @return string
|
|
21
|
-
*/
|
|
22
|
-
getName(): string;
|
|
23
|
-
}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
export interface IEnglishRequirements {
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Required score for Cambridge english
|
|
5
|
-
*
|
|
6
|
-
* @return number
|
|
7
|
-
*/
|
|
8
|
-
getCambridgeEnglish(): number;
|
|
9
|
-
|
|
10
|
-
canShowCambridgeEnglish(): boolean;
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Required score for Duolingo
|
|
14
|
-
*
|
|
15
|
-
* @return number
|
|
16
|
-
*/
|
|
17
|
-
getDuolingo(): number;
|
|
18
|
-
|
|
19
|
-
canShowDuolingo(): boolean;
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Required score for IELTS tests
|
|
23
|
-
*
|
|
24
|
-
* @return number
|
|
25
|
-
*/
|
|
26
|
-
getIELTS(): number;
|
|
27
|
-
|
|
28
|
-
canShowIELTS(): boolean;
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Required score for PTE
|
|
32
|
-
*
|
|
33
|
-
* @return number
|
|
34
|
-
*/
|
|
35
|
-
getPTE(): number;
|
|
36
|
-
|
|
37
|
-
canShowPTE(): boolean;
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Required score for TOEFL internet
|
|
41
|
-
*
|
|
42
|
-
* @return number
|
|
43
|
-
*/
|
|
44
|
-
getTOEFLInternet(): number;
|
|
45
|
-
|
|
46
|
-
canShowTOEFLInternet(): boolean;
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Required score for TOEFL paper
|
|
50
|
-
*
|
|
51
|
-
* @return number
|
|
52
|
-
*/
|
|
53
|
-
getTOEFLPaper(): number;
|
|
54
|
-
|
|
55
|
-
canShowTOEFLPaper(): boolean;
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* Required score for OTE
|
|
59
|
-
*
|
|
60
|
-
* @return number
|
|
61
|
-
*/
|
|
62
|
-
getOte(): number;
|
|
63
|
-
|
|
64
|
-
canShowOte(): boolean;
|
|
65
|
-
|
|
66
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
export interface IGPARequirement {
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* The used GPA scale for this requirement
|
|
5
|
-
*
|
|
6
|
-
* @return string
|
|
7
|
-
*/
|
|
8
|
-
getScale(): string;
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Required minimum score.
|
|
12
|
-
*
|
|
13
|
-
* @return string
|
|
14
|
-
*/
|
|
15
|
-
getScore(): string;
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Is GPA recommended or required.
|
|
19
|
-
*
|
|
20
|
-
* @return boolean
|
|
21
|
-
*/
|
|
22
|
-
isRequired(): boolean;
|
|
23
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
export interface IInternalLink {
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Get an optional text describing the link (typically <a>-tags contents).
|
|
5
|
-
*
|
|
6
|
-
* @return string
|
|
7
|
-
* @throws PropertyNotAvailableException
|
|
8
|
-
*/
|
|
9
|
-
getDescription(): string;
|
|
10
|
-
|
|
11
|
-
canShowDescription(): boolean;
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Returns on which portal a this link should link towards.
|
|
15
|
-
*
|
|
16
|
-
* @return string
|
|
17
|
-
*/
|
|
18
|
-
getPortalType(): string;
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Get the url to refer to.
|
|
22
|
-
*
|
|
23
|
-
* Note that the url provided is always a relative URL. A base URL is needed
|
|
24
|
-
* to make it a full valid path.
|
|
25
|
-
* The only exception is when an external link is provided (meaning, outside
|
|
26
|
-
* of StudyPortals-maintained domains). In this case a full url will be
|
|
27
|
-
* provided.
|
|
28
|
-
*
|
|
29
|
-
* @return string
|
|
30
|
-
*/
|
|
31
|
-
getUrl(): string;
|
|
32
|
-
}
|