@studyportals/domain-client 6.0.0-0 → 6.0.0-10
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 +88 -85
- package/index.js +33 -34
- package/package.json +10 -8
- 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 -24
- package/protobuf/InternalLink.js +30 -49
- package/protobuf/Link.d.ts +11 -23
- package/protobuf/Link.js +30 -44
- 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 -27
- package/protobuf/MiniProgrammeCard.js +50 -61
- 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.d.ts +45 -6
- package/protobuf/index.js +45 -7
- 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.d.ts +7 -1
- package/src/clients/index.js +7 -2
- 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 -11
- package/src/clients/protobuf-client.js +26 -16
- package/src/clients/{mini-programme-card-client.d.ts → public-mini-programme-card-client.d.ts} +8 -8
- package/src/clients/{mini-programme-card-client.js → public-mini-programme-card-client.js} +16 -17
- package/src/domain-client.d.ts +14 -14
- package/src/domain-client.js +89 -63
- package/src/exceptions/bad-request-exception.d.ts +2 -2
- package/src/exceptions/bad-request-exception.js +2 -3
- package/src/exceptions/client-exception.d.ts +2 -2
- package/src/exceptions/client-exception.js +2 -3
- package/src/exceptions/internal-server-exception.d.ts +2 -2
- package/src/exceptions/internal-server-exception.js +2 -3
- package/src/exceptions/not-found-exception.d.ts +2 -2
- package/src/exceptions/not-found-exception.js +2 -3
- package/src/exceptions/property-not-available-exception.d.ts +2 -2
- package/src/exceptions/property-not-available-exception.js +2 -3
- package/src/factories/DateFactory.d.ts +5 -5
- package/src/factories/DateFactory.js +5 -6
- package/src/factories/InternalLinkFactory.d.ts +9 -9
- package/src/factories/InternalLinkFactory.js +21 -17
- package/src/i-api-response.d.ts +6 -6
- package/src/i-api-response.js +1 -2
- package/src/i-class-factory.d.ts +4 -4
- package/src/i-class-factory.js +1 -2
- package/src/i-model-description.d.ts +7 -7
- package/src/i-model-description.js +5 -6
- package/src/model-client.d.ts +16 -16
- package/src/model-client.js +43 -44
- package/src/model-factory.d.ts +11 -11
- package/src/model-factory.js +68 -69
- package/src/models/bestfit-programme/bestfit-programme-client.d.ts +7 -7
- package/src/models/bestfit-programme/bestfit-programme-client.js +12 -13
- package/src/models/bestfit-programme/i-best-fit-programme.d.ts +82 -82
- package/src/models/bestfit-programme/i-best-fit-programme.js +1 -2
- package/src/models/bestfit-programme/i-city.d.ts +14 -14
- package/src/models/bestfit-programme/i-city.js +1 -2
- package/src/models/bestfit-programme/i-english-requirements.d.ts +51 -51
- package/src/models/bestfit-programme/i-english-requirements.js +1 -2
- package/src/models/bestfit-programme/i-g-p-a-requirement.d.ts +20 -20
- package/src/models/bestfit-programme/i-g-p-a-requirement.js +1 -2
- package/src/models/bestfit-programme/i-living-cost.d.ts +20 -20
- package/src/models/bestfit-programme/i-living-cost.js +1 -2
- package/src/models/bestfit-programme/i-tuition-fee.d.ts +50 -50
- package/src/models/bestfit-programme/i-tuition-fee.js +1 -2
- package/src/models/common/i-city.d.ts +14 -14
- package/src/models/common/i-city.js +1 -2
- package/src/models/common/i-country.d.ts +20 -20
- package/src/models/common/i-country.js +1 -2
- package/src/models/common/i-english-requirements.d.ts +51 -51
- package/src/models/common/i-english-requirements.js +1 -2
- package/src/models/common/i-g-p-a-requirement.d.ts +20 -20
- package/src/models/common/i-g-p-a-requirement.js +1 -2
- package/src/models/common/i-internal-link.d.ts +28 -28
- package/src/models/common/i-internal-link.js +1 -2
- package/src/models/common/i-logo.d.ts +14 -14
- package/src/models/common/i-logo.js +1 -2
- 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.d.ts +50 -50
- package/src/models/common/i-tuition-fee.js +1 -2
- package/src/models/compare-programme/i-english-requirements.d.ts +51 -51
- package/src/models/compare-programme/i-english-requirements.js +1 -2
- package/src/models/compare-programme/i-g-p-a-requirement.d.ts +20 -20
- package/src/models/compare-programme/i-g-p-a-requirement.js +1 -2
- package/src/models/compare-programme/i-living-cost.d.ts +20 -20
- package/src/models/compare-programme/i-living-cost.js +1 -2
- package/src/models/copilot-country/copilot-country-client.d.ts +7 -7
- package/src/models/copilot-country/copilot-country-client.js +12 -13
- package/src/models/copilot-country/i-copilot-country.d.ts +39 -39
- package/src/models/copilot-country/i-copilot-country.js +1 -2
- package/src/models/copilot-country/i-copilot-ranking-card.d.ts +38 -38
- package/src/models/copilot-country/i-copilot-ranking-card.js +1 -2
- package/src/models/copilot-programme/copilot-programme-client.d.ts +7 -7
- package/src/models/copilot-programme/copilot-programme-client.js +12 -13
- package/src/models/copilot-programme/i-copilot-programme.d.ts +125 -125
- package/src/models/copilot-programme/i-copilot-programme.js +1 -2
- package/src/models/copilot-programme/i-deadline.d.ts +20 -20
- package/src/models/copilot-programme/i-deadline.js +1 -2
- package/src/models/copilot-programme/i-english-requirements.d.ts +51 -51
- package/src/models/copilot-programme/i-english-requirements.js +1 -2
- package/src/models/copilot-programme/i-g-p-a-requirement.d.ts +20 -20
- package/src/models/copilot-programme/i-g-p-a-requirement.js +1 -2
- package/src/models/copilot-programme/i-geo-targeting-configuration.d.ts +38 -38
- package/src/models/copilot-programme/i-geo-targeting-configuration.js +1 -2
- package/src/models/copilot-programme/i-geo-targeting-values.d.ts +30 -30
- package/src/models/copilot-programme/i-geo-targeting-values.js +1 -2
- package/src/models/copilot-programme/i-internal-link.d.ts +28 -28
- package/src/models/copilot-programme/i-internal-link.js +1 -2
- package/src/models/copilot-programme/i-link.d.ts +22 -22
- package/src/models/copilot-programme/i-link.js +1 -2
- package/src/models/copilot-programme/i-living-cost.d.ts +20 -20
- package/src/models/copilot-programme/i-living-cost.js +1 -2
- package/src/models/copilot-programme/i-start-date.d.ts +33 -33
- package/src/models/copilot-programme/i-start-date.js +1 -2
- package/src/models/copilot-programme/i-timing.d.ts +45 -45
- package/src/models/copilot-programme/i-timing.js +1 -2
- package/src/models/copilot-programme/i-tuition-values.d.ts +50 -50
- package/src/models/copilot-programme/i-tuition-values.js +1 -2
- package/src/models/customerio-organisation/customerio-organisation-client.d.ts +7 -7
- package/src/models/customerio-organisation/customerio-organisation-client.js +12 -13
- package/src/models/customerio-organisation/i-city.d.ts +14 -14
- package/src/models/customerio-organisation/i-city.js +1 -2
- package/src/models/customerio-organisation/i-country.d.ts +20 -20
- package/src/models/customerio-organisation/i-country.js +1 -2
- package/src/models/customerio-organisation/i-customer-i-o-organisation.d.ts +35 -35
- package/src/models/customerio-organisation/i-customer-i-o-organisation.js +1 -2
- package/src/models/customerio-organisation/i-customer-io-organisation.d.ts +35 -35
- package/src/models/customerio-organisation/i-customer-io-organisation.js +1 -2
- package/src/models/customerio-organisation/i-review.d.ts +7 -7
- package/src/models/customerio-organisation/i-review.js +1 -2
- package/src/models/customerio-programme/customerio-programme-client.d.ts +7 -7
- package/src/models/customerio-programme/customerio-programme-client.js +12 -13
- package/src/models/customerio-programme/i-country.d.ts +20 -20
- package/src/models/customerio-programme/i-country.js +1 -2
- package/src/models/customerio-programme/i-customer-i-o-programme.d.ts +107 -107
- package/src/models/customerio-programme/i-customer-i-o-programme.js +1 -2
- package/src/models/customerio-programme/i-customer-io-programme.d.ts +107 -107
- package/src/models/customerio-programme/i-customer-io-programme.js +1 -2
- package/src/models/customerio-programme/i-deadline.d.ts +20 -20
- package/src/models/customerio-programme/i-deadline.js +1 -2
- package/src/models/customerio-programme/i-english-requirements.d.ts +51 -51
- package/src/models/customerio-programme/i-english-requirements.js +1 -2
- package/src/models/customerio-programme/i-internal-link.d.ts +28 -28
- package/src/models/customerio-programme/i-internal-link.js +1 -2
- package/src/models/customerio-programme/i-logo.d.ts +14 -14
- package/src/models/customerio-programme/i-logo.js +1 -2
- package/src/models/customerio-programme/i-start-date.d.ts +33 -33
- package/src/models/customerio-programme/i-start-date.js +1 -2
- package/src/models/customerio-programme/i-timing.d.ts +45 -45
- package/src/models/customerio-programme/i-timing.js +1 -2
- package/src/models/customerio-programme/i-tuition-fee.d.ts +50 -50
- package/src/models/customerio-programme/i-tuition-fee.js +1 -2
- package/src/models/faq-static-content/i-faq-static-content.d.ts +9 -9
- package/src/models/faq-static-content/i-faq-static-content.js +1 -2
- package/src/models/faq-static-content/i-faq.d.ts +4 -4
- package/src/models/faq-static-content/i-faq.js +1 -2
- package/src/models/faq-static-content/i-static-content-url.d.ts +4 -4
- package/src/models/faq-static-content/i-static-content-url.js +1 -2
- package/src/models/faq-static-content/public-faq-static-content-client.d.ts +7 -7
- package/src/models/faq-static-content/public-faq-static-content-client.js +12 -13
- package/src/models/organisation-card/i-organisation-card.d.ts +38 -36
- package/src/models/organisation-card/i-organisation-card.js +1 -2
- package/src/models/organisation-card/i-ranking-discipline.d.ts +4 -4
- package/src/models/organisation-card/i-ranking-discipline.js +1 -2
- package/src/models/organisation-card/i-review-rating-domain.d.ts +6 -6
- package/src/models/organisation-card/i-review-rating-domain.js +1 -2
- package/src/models/organisation-card/organisation-card-client.d.ts +7 -7
- package/src/models/organisation-card/organisation-card-client.js +12 -13
- package/src/models/organisation-for-search/i-organisation-for-search.d.ts +32 -32
- package/src/models/organisation-for-search/i-organisation-for-search.js +1 -2
- package/src/models/organisation-for-search/public-organisation-for-search-client.d.ts +7 -7
- package/src/models/organisation-for-search/public-organisation-for-search-client.js +12 -13
- package/src/models/organisation-search-document/i-organisation-search-document.d.ts +122 -122
- package/src/models/organisation-search-document/i-organisation-search-document.js +1 -2
- package/src/models/organisation-search-document/organisation-search-document-client.d.ts +7 -7
- package/src/models/organisation-search-document/organisation-search-document-client.js +12 -13
- package/src/models/programme-card/i-click-tracking-data.d.ts +5 -5
- package/src/models/programme-card/i-click-tracking-data.js +1 -2
- package/src/models/programme-card/i-cover.d.ts +14 -14
- package/src/models/programme-card/i-cover.js +1 -2
- package/src/models/programme-card/i-deadline.d.ts +20 -20
- package/src/models/programme-card/i-deadline.js +1 -2
- package/src/models/programme-card/i-duration.d.ts +40 -40
- package/src/models/programme-card/i-duration.js +1 -2
- package/src/models/programme-card/i-english-requirements.d.ts +51 -51
- package/src/models/programme-card/i-english-requirements.js +1 -2
- package/src/models/programme-card/i-g-p-a-requirement.d.ts +20 -20
- package/src/models/programme-card/i-g-p-a-requirement.js +1 -2
- package/src/models/programme-card/i-internal-link.d.ts +28 -28
- package/src/models/programme-card/i-internal-link.js +1 -2
- package/src/models/programme-card/i-link.d.ts +22 -22
- package/src/models/programme-card/i-link.js +1 -2
- package/src/models/programme-card/i-living-cost.d.ts +20 -20
- package/src/models/programme-card/i-living-cost.js +1 -2
- package/src/models/programme-card/i-location.d.ts +12 -12
- package/src/models/programme-card/i-location.js +1 -2
- package/src/models/programme-card/i-logo.d.ts +14 -14
- package/src/models/programme-card/i-logo.js +1 -2
- package/src/models/programme-card/i-optional-link.d.ts +23 -23
- package/src/models/programme-card/i-optional-link.js +1 -2
- package/src/models/programme-card/i-programme-card.d.ts +212 -205
- package/src/models/programme-card/i-programme-card.js +1 -2
- package/src/models/programme-card/i-review-rating-domain.d.ts +6 -6
- package/src/models/programme-card/i-review-rating-domain.js +1 -2
- package/src/models/programme-card/i-start-date.d.ts +33 -33
- package/src/models/programme-card/i-start-date.js +1 -2
- package/src/models/programme-card/i-timing.d.ts +45 -45
- package/src/models/programme-card/i-timing.js +1 -2
- package/src/models/programme-card/i-tracked-link.d.ts +29 -29
- package/src/models/programme-card/i-tracked-link.js +1 -2
- package/src/models/programme-card/i-tracking.d.ts +46 -46
- package/src/models/programme-card/i-tracking.js +1 -2
- package/src/models/programme-card/i-tuition-fee.d.ts +50 -50
- package/src/models/programme-card/i-tuition-fee.js +1 -2
- package/src/models/programme-card/programme-card-client.d.ts +7 -7
- package/src/models/programme-card/programme-card-client.js +12 -13
- package/src/models/ranking-cards/i-ranking.d.ts +18 -18
- package/src/models/ranking-cards/i-ranking.js +1 -2
- package/src/models/scholarship-card/i-scholarship-card-v2.d.ts +20 -20
- package/src/models/scholarship-card/i-scholarship-card-v2.js +1 -2
- package/src/models/scholarship-card/i-scholarship-card.d.ts +15 -15
- package/src/models/scholarship-card/i-scholarship-card.js +1 -2
- package/src/models/scholarship-card/public-scholarship-card-client.d.ts +7 -7
- package/src/models/scholarship-card/public-scholarship-card-client.js +12 -13
- package/src/models/scholarship-card/scholarship-card-v2-client.d.ts +7 -7
- package/src/models/scholarship-card/scholarship-card-v2-client.js +12 -13
- package/src/models/scholarship-card-v2/i-scholarship-card.d.ts +15 -15
- package/src/models/scholarship-card-v2/i-scholarship-card.js +1 -2
- package/src/models/scholarship-card-v2/scholarship-card-v2-client.d.ts +7 -7
- package/src/models/scholarship-card-v2/scholarship-card-v2-client.js +12 -13
- package/src/models/scholarship-search-document/i-scholarship-search-document.d.ts +38 -38
- package/src/models/scholarship-search-document/i-scholarship-search-document.js +1 -2
- package/src/models/scholarship-search-document/scholarship-search-document-client.d.ts +7 -7
- package/src/models/scholarship-search-document/scholarship-search-document-client.js +12 -13
- package/src/models/search-discipline/i-search-discipline.d.ts +26 -26
- package/src/models/search-discipline/i-search-discipline.js +1 -2
- package/src/models/search-discipline/public-search-discipline-client.d.ts +7 -7
- package/src/models/search-discipline/public-search-discipline-client.js +12 -13
- package/src/models/search-projection/i-geo-targeting-configuration.d.ts +38 -38
- package/src/models/search-projection/i-geo-targeting-configuration.js +1 -2
- package/src/models/search-projection/i-geo-targeting-values.d.ts +30 -30
- package/src/models/search-projection/i-geo-targeting-values.js +1 -2
- package/src/models/search-projection/i-organisation-values.d.ts +46 -46
- package/src/models/search-projection/i-organisation-values.js +1 -2
- package/src/models/search-projection/i-premium-values.d.ts +35 -35
- package/src/models/search-projection/i-premium-values.js +1 -2
- package/src/models/search-projection/i-search-projection.d.ts +186 -186
- package/src/models/search-projection/i-search-projection.js +1 -2
- package/src/models/search-projection/i-tuition-values.d.ts +50 -50
- package/src/models/search-projection/i-tuition-values.js +1 -2
- package/src/models/search-projection/search-projection-client.d.ts +7 -7
- package/src/models/search-projection/search-projection-client.js +12 -13
- package/src/models/sitemap-articles-info/i-sitemap-article-info.d.ts +26 -26
- package/src/models/sitemap-articles-info/i-sitemap-article-info.js +1 -2
- package/src/models/sitemap-articles-info/sitemap-articles-info-client.d.ts +7 -7
- package/src/models/sitemap-articles-info/sitemap-articles-info-client.js +12 -13
- package/src/models/sitemap-cities-info/i-sitemap-city-info.d.ts +14 -14
- package/src/models/sitemap-cities-info/i-sitemap-city-info.js +1 -2
- package/src/models/sitemap-cities-info/sitemap-cities-info-client.d.ts +7 -7
- package/src/models/sitemap-cities-info/sitemap-cities-info-client.js +12 -13
- package/src/models/sitemap-countries-info/i-sitemap-country-info.d.ts +14 -14
- package/src/models/sitemap-countries-info/i-sitemap-country-info.js +1 -2
- package/src/models/sitemap-countries-info/sitemap-countries-info-client.d.ts +7 -7
- package/src/models/sitemap-countries-info/sitemap-countries-info-client.js +12 -13
- package/src/models/sitemap-country-degree-info/i-degree-info.d.ts +14 -14
- package/src/models/sitemap-country-degree-info/i-degree-info.js +1 -2
- package/src/models/sitemap-country-degree-info/i-sitemap-country-degree-info.d.ts +11 -11
- package/src/models/sitemap-country-degree-info/i-sitemap-country-degree-info.js +1 -2
- package/src/models/sitemap-country-degree-info/sitemap-country-degree-info-client.d.ts +7 -7
- package/src/models/sitemap-country-degree-info/sitemap-country-degree-info-client.js +12 -13
- package/src/models/sitemap-disciplines-info/i-sitemap-discipline-info.d.ts +14 -14
- package/src/models/sitemap-disciplines-info/i-sitemap-discipline-info.js +1 -2
- package/src/models/sitemap-disciplines-info/sitemap-disciplines-info-client.d.ts +7 -7
- package/src/models/sitemap-disciplines-info/sitemap-disciplines-info-client.js +12 -13
- package/src/models/sitemap-organisations-info/i-sitemap-organisation-info.d.ts +26 -26
- package/src/models/sitemap-organisations-info/i-sitemap-organisation-info.js +1 -2
- package/src/models/sitemap-organisations-info/sitemap-organisations-info-client.d.ts +7 -7
- package/src/models/sitemap-organisations-info/sitemap-organisations-info-client.js +12 -13
- package/src/models/sitemap-programme-info/i-sitemap-programme-info.d.ts +26 -26
- package/src/models/sitemap-programme-info/i-sitemap-programme-info.js +1 -2
- package/src/models/sitemap-programme-info/sitemap-programme-info-client.d.ts +7 -7
- package/src/models/sitemap-programme-info/sitemap-programme-info-client.js +12 -13
- package/src/models/sitemap-rankings-info/i-sitemap-rankings-info.d.ts +14 -14
- package/src/models/sitemap-rankings-info/i-sitemap-rankings-info.js +1 -2
- package/src/models/sitemap-rankings-info/sitemap-rankings-info-client.d.ts +7 -7
- package/src/models/sitemap-rankings-info/sitemap-rankings-info-client.js +12 -13
- package/src/types/portal-map.d.ts +2 -2
- package/src/types/portal-map.js +1 -2
- package/src/types/portal-type.d.ts +7 -7
- package/src/types/portal-type.js +8 -9
- package/src/types.d.ts +4 -4
- package/src/types.js +1 -2
- package/test.d.ts +1 -0
- package/test.js +5 -0
- package/vitest.config.d.ts +2 -0
- package/vitest.config.js +9 -0
- package/vitest.setup.d.ts +1 -0
- package/vitest.setup.js +4 -0
- package/index.js.map +0 -1
- package/protobuf/InternalLink.js.map +0 -1
- package/protobuf/Link.js.map +0 -1
- package/protobuf/MiniProgrammeCard.js.map +0 -1
- package/protobuf/index.js.map +0 -1
- package/src/clients/index.js.map +0 -1
- package/src/clients/mini-programme-card-client.js.map +0 -1
- package/src/clients/protobuf-client.js.map +0 -1
- package/src/domain-client.js.map +0 -1
- package/src/exceptions/bad-request-exception.js.map +0 -1
- package/src/exceptions/client-exception.js.map +0 -1
- package/src/exceptions/internal-server-exception.js.map +0 -1
- package/src/exceptions/not-found-exception.js.map +0 -1
- package/src/exceptions/property-not-available-exception.js.map +0 -1
- package/src/factories/DateFactory.js.map +0 -1
- package/src/factories/InternalLinkFactory.js.map +0 -1
- package/src/i-api-response.js.map +0 -1
- package/src/i-class-factory.js.map +0 -1
- package/src/i-model-description.js.map +0 -1
- package/src/model-client.js.map +0 -1
- package/src/model-factory.js.map +0 -1
- package/src/models/bestfit-programme/bestfit-programme-client.js.map +0 -1
- package/src/models/bestfit-programme/i-best-fit-programme.js.map +0 -1
- package/src/models/bestfit-programme/i-city.js.map +0 -1
- package/src/models/bestfit-programme/i-english-requirements.js.map +0 -1
- package/src/models/bestfit-programme/i-g-p-a-requirement.js.map +0 -1
- package/src/models/bestfit-programme/i-living-cost.js.map +0 -1
- package/src/models/bestfit-programme/i-tuition-fee.js.map +0 -1
- package/src/models/common/i-city.js.map +0 -1
- package/src/models/common/i-country.js.map +0 -1
- package/src/models/common/i-english-requirements.js.map +0 -1
- package/src/models/common/i-g-p-a-requirement.js.map +0 -1
- package/src/models/common/i-internal-link.js.map +0 -1
- package/src/models/common/i-logo.js.map +0 -1
- package/src/models/common/i-tuition-fee.js.map +0 -1
- package/src/models/compare-programme/i-english-requirements.js.map +0 -1
- package/src/models/compare-programme/i-g-p-a-requirement.js.map +0 -1
- package/src/models/compare-programme/i-living-cost.js.map +0 -1
- package/src/models/copilot-country/copilot-country-client.js.map +0 -1
- package/src/models/copilot-country/i-copilot-country.js.map +0 -1
- package/src/models/copilot-country/i-copilot-ranking-card.js.map +0 -1
- package/src/models/copilot-programme/copilot-programme-client.js.map +0 -1
- package/src/models/copilot-programme/i-copilot-programme.js.map +0 -1
- package/src/models/copilot-programme/i-deadline.js.map +0 -1
- package/src/models/copilot-programme/i-english-requirements.js.map +0 -1
- package/src/models/copilot-programme/i-g-p-a-requirement.js.map +0 -1
- package/src/models/copilot-programme/i-geo-targeting-configuration.js.map +0 -1
- package/src/models/copilot-programme/i-geo-targeting-values.js.map +0 -1
- package/src/models/copilot-programme/i-internal-link.js.map +0 -1
- package/src/models/copilot-programme/i-link.js.map +0 -1
- package/src/models/copilot-programme/i-living-cost.js.map +0 -1
- package/src/models/copilot-programme/i-start-date.js.map +0 -1
- package/src/models/copilot-programme/i-timing.js.map +0 -1
- package/src/models/copilot-programme/i-tuition-values.js.map +0 -1
- package/src/models/customerio-organisation/customerio-organisation-client.js.map +0 -1
- package/src/models/customerio-organisation/i-city.js.map +0 -1
- package/src/models/customerio-organisation/i-country.js.map +0 -1
- package/src/models/customerio-organisation/i-customer-i-o-organisation.js.map +0 -1
- package/src/models/customerio-organisation/i-customer-io-organisation.js.map +0 -1
- package/src/models/customerio-organisation/i-review.js.map +0 -1
- package/src/models/customerio-programme/customerio-programme-client.js.map +0 -1
- package/src/models/customerio-programme/i-country.js.map +0 -1
- package/src/models/customerio-programme/i-customer-i-o-programme.js.map +0 -1
- package/src/models/customerio-programme/i-customer-io-programme.js.map +0 -1
- package/src/models/customerio-programme/i-deadline.js.map +0 -1
- package/src/models/customerio-programme/i-english-requirements.js.map +0 -1
- package/src/models/customerio-programme/i-internal-link.js.map +0 -1
- package/src/models/customerio-programme/i-logo.js.map +0 -1
- package/src/models/customerio-programme/i-start-date.js.map +0 -1
- package/src/models/customerio-programme/i-timing.js.map +0 -1
- package/src/models/customerio-programme/i-tuition-fee.js.map +0 -1
- package/src/models/faq-static-content/i-faq-static-content.js.map +0 -1
- package/src/models/faq-static-content/i-faq.js.map +0 -1
- package/src/models/faq-static-content/i-static-content-url.js.map +0 -1
- package/src/models/faq-static-content/public-faq-static-content-client.js.map +0 -1
- package/src/models/organisation-card/i-organisation-card.js.map +0 -1
- package/src/models/organisation-card/i-ranking-discipline.js.map +0 -1
- package/src/models/organisation-card/i-review-rating-domain.js.map +0 -1
- package/src/models/organisation-card/organisation-card-client.js.map +0 -1
- package/src/models/organisation-for-search/i-organisation-for-search.js.map +0 -1
- package/src/models/organisation-for-search/public-organisation-for-search-client.js.map +0 -1
- package/src/models/organisation-search-document/i-organisation-search-document.js.map +0 -1
- package/src/models/organisation-search-document/organisation-search-document-client.js.map +0 -1
- package/src/models/programme-card/i-click-tracking-data.js.map +0 -1
- package/src/models/programme-card/i-cover.js.map +0 -1
- package/src/models/programme-card/i-deadline.js.map +0 -1
- package/src/models/programme-card/i-duration.js.map +0 -1
- package/src/models/programme-card/i-english-requirements.js.map +0 -1
- package/src/models/programme-card/i-g-p-a-requirement.js.map +0 -1
- package/src/models/programme-card/i-internal-link.js.map +0 -1
- package/src/models/programme-card/i-link.js.map +0 -1
- package/src/models/programme-card/i-living-cost.js.map +0 -1
- package/src/models/programme-card/i-location.js.map +0 -1
- package/src/models/programme-card/i-logo.js.map +0 -1
- package/src/models/programme-card/i-optional-link.js.map +0 -1
- package/src/models/programme-card/i-programme-card.js.map +0 -1
- package/src/models/programme-card/i-review-rating-domain.js.map +0 -1
- package/src/models/programme-card/i-start-date.js.map +0 -1
- package/src/models/programme-card/i-timing.js.map +0 -1
- package/src/models/programme-card/i-tracked-link.js.map +0 -1
- package/src/models/programme-card/i-tracking.js.map +0 -1
- package/src/models/programme-card/i-tuition-fee.js.map +0 -1
- package/src/models/programme-card/programme-card-client.js.map +0 -1
- package/src/models/ranking-cards/i-ranking.js.map +0 -1
- package/src/models/scholarship-card/i-scholarship-card-v2.js.map +0 -1
- package/src/models/scholarship-card/i-scholarship-card.js.map +0 -1
- package/src/models/scholarship-card/public-scholarship-card-client.js.map +0 -1
- package/src/models/scholarship-card/scholarship-card-v2-client.js.map +0 -1
- package/src/models/scholarship-card-v2/i-scholarship-card.js.map +0 -1
- package/src/models/scholarship-card-v2/scholarship-card-v2-client.js.map +0 -1
- package/src/models/scholarship-search-document/i-scholarship-search-document.js.map +0 -1
- package/src/models/scholarship-search-document/scholarship-search-document-client.js.map +0 -1
- package/src/models/search-discipline/i-search-discipline.js.map +0 -1
- package/src/models/search-discipline/public-search-discipline-client.js.map +0 -1
- package/src/models/search-projection/i-geo-targeting-configuration.js.map +0 -1
- package/src/models/search-projection/i-geo-targeting-values.js.map +0 -1
- package/src/models/search-projection/i-organisation-values.js.map +0 -1
- package/src/models/search-projection/i-premium-values.js.map +0 -1
- package/src/models/search-projection/i-search-projection.js.map +0 -1
- package/src/models/search-projection/i-tuition-values.js.map +0 -1
- package/src/models/search-projection/search-projection-client.js.map +0 -1
- package/src/models/sitemap-articles-info/i-sitemap-article-info.js.map +0 -1
- package/src/models/sitemap-articles-info/sitemap-articles-info-client.js.map +0 -1
- package/src/models/sitemap-cities-info/i-sitemap-city-info.js.map +0 -1
- package/src/models/sitemap-cities-info/sitemap-cities-info-client.js.map +0 -1
- package/src/models/sitemap-countries-info/i-sitemap-country-info.js.map +0 -1
- package/src/models/sitemap-countries-info/sitemap-countries-info-client.js.map +0 -1
- package/src/models/sitemap-country-degree-info/i-degree-info.js.map +0 -1
- package/src/models/sitemap-country-degree-info/i-sitemap-country-degree-info.js.map +0 -1
- package/src/models/sitemap-country-degree-info/sitemap-country-degree-info-client.js.map +0 -1
- package/src/models/sitemap-disciplines-info/i-sitemap-discipline-info.js.map +0 -1
- package/src/models/sitemap-disciplines-info/sitemap-disciplines-info-client.js.map +0 -1
- package/src/models/sitemap-organisations-info/i-sitemap-organisation-info.js.map +0 -1
- package/src/models/sitemap-organisations-info/sitemap-organisations-info-client.js.map +0 -1
- package/src/models/sitemap-programme-info/i-sitemap-programme-info.js.map +0 -1
- package/src/models/sitemap-programme-info/sitemap-programme-info-client.js.map +0 -1
- package/src/models/sitemap-rankings-info/i-sitemap-rankings-info.js.map +0 -1
- package/src/models/sitemap-rankings-info/sitemap-rankings-info-client.js.map +0 -1
- package/src/types/portal-map.js.map +0 -1
- package/src/types/portal-type.js.map +0 -1
- package/src/types.js.map +0 -1
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
// eslint-disable-next-line
|
|
2
|
-
export function isModelDescription(arg) {
|
|
3
|
-
// eslint-disable-next-line
|
|
4
|
-
return arg && arg.class && (arg.func || arg.parameters);
|
|
5
|
-
}
|
|
6
|
-
//# sourceMappingURL=i-model-description.js.map
|
|
1
|
+
// eslint-disable-next-line
|
|
2
|
+
export function isModelDescription(arg) {
|
|
3
|
+
// eslint-disable-next-line
|
|
4
|
+
return arg && arg.class && (arg.func || arg.parameters);
|
|
5
|
+
}
|
package/src/model-client.d.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { IModelDescription } from "./i-model-description";
|
|
2
|
-
import { PortalMap } from "./types/portal-map";
|
|
3
|
-
export declare abstract class ModelClient<T> {
|
|
4
|
-
private readonly domainClient;
|
|
5
|
-
private readonly modelFactory;
|
|
6
|
-
constructor(baseUrl?: string, apiKey?: string, seed?: number, portalMap?: PortalMap);
|
|
7
|
-
fetch(id: number): Promise<T>;
|
|
8
|
-
fetchDescription(id: number): Promise<IModelDescription>;
|
|
9
|
-
fetchMultiple(ids: number[]): Promise<T[]>;
|
|
10
|
-
fetchMultipleDescriptions(ids: number[]): Promise<IModelDescription[]>;
|
|
11
|
-
fromDescription(description: IModelDescription): T;
|
|
12
|
-
fromDescriptions(descriptions: IModelDescription[]): T[];
|
|
13
|
-
protected abstract getModelName(): string;
|
|
14
|
-
protected abstract getVersion(): string;
|
|
15
|
-
abstract isPublic(): boolean;
|
|
16
|
-
}
|
|
1
|
+
import { IModelDescription } from "./i-model-description";
|
|
2
|
+
import { PortalMap } from "./types/portal-map";
|
|
3
|
+
export declare abstract class ModelClient<T> {
|
|
4
|
+
private readonly domainClient;
|
|
5
|
+
private readonly modelFactory;
|
|
6
|
+
constructor(baseUrl?: string, apiKey?: string, seed?: number, portalMap?: PortalMap);
|
|
7
|
+
fetch(id: number): Promise<T>;
|
|
8
|
+
fetchDescription(id: number): Promise<IModelDescription>;
|
|
9
|
+
fetchMultiple(ids: number[]): Promise<T[]>;
|
|
10
|
+
fetchMultipleDescriptions(ids: number[]): Promise<IModelDescription[]>;
|
|
11
|
+
fromDescription(description: IModelDescription): T;
|
|
12
|
+
fromDescriptions(descriptions: IModelDescription[]): T[];
|
|
13
|
+
protected abstract getModelName(): string;
|
|
14
|
+
protected abstract getVersion(): string;
|
|
15
|
+
abstract isPublic(): boolean;
|
|
16
|
+
}
|
package/src/model-client.js
CHANGED
|
@@ -1,44 +1,43 @@
|
|
|
1
|
-
import { DomainClient } from "./domain-client";
|
|
2
|
-
import { ClientException } from "./exceptions/client-exception";
|
|
3
|
-
import { ModelFactory } from "./model-factory";
|
|
4
|
-
export class ModelClient {
|
|
5
|
-
domainClient;
|
|
6
|
-
modelFactory;
|
|
7
|
-
constructor(baseUrl, apiKey, seed, portalMap) {
|
|
8
|
-
if (!baseUrl || !seed) {
|
|
9
|
-
return;
|
|
10
|
-
}
|
|
11
|
-
this.modelFactory = new ModelFactory(portalMap);
|
|
12
|
-
this.domainClient = new DomainClient(baseUrl, apiKey, this.getModelName(), this.getVersion(), this.isPublic(), seed);
|
|
13
|
-
}
|
|
14
|
-
async fetch(id) {
|
|
15
|
-
const modelDescriptions = await this.fetchDescription(id);
|
|
16
|
-
return this.modelFactory.fromDescription(modelDescriptions);
|
|
17
|
-
}
|
|
18
|
-
async fetchDescription(id) {
|
|
19
|
-
if (!this.domainClient) {
|
|
20
|
-
throw new ClientException("Offline mode active: did you provide all parameters " +
|
|
21
|
-
"in the constructor?");
|
|
22
|
-
}
|
|
23
|
-
const result = await this.domainClient.doRequest([id]);
|
|
24
|
-
return result[0];
|
|
25
|
-
}
|
|
26
|
-
async fetchMultiple(ids) {
|
|
27
|
-
const descriptions = await this.fetchMultipleDescriptions(ids);
|
|
28
|
-
return this.modelFactory.fromDescriptions(descriptions);
|
|
29
|
-
}
|
|
30
|
-
async fetchMultipleDescriptions(ids) {
|
|
31
|
-
if (!this.domainClient) {
|
|
32
|
-
throw new ClientException('Offline mode active: did you provide all parameters ' +
|
|
33
|
-
'in the constructor?');
|
|
34
|
-
}
|
|
35
|
-
return await this.domainClient.doRequest(ids);
|
|
36
|
-
}
|
|
37
|
-
fromDescription(description) {
|
|
38
|
-
return this.modelFactory.fromDescription(description);
|
|
39
|
-
}
|
|
40
|
-
fromDescriptions(descriptions) {
|
|
41
|
-
return this.modelFactory.fromDescriptions(descriptions);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=model-client.js.map
|
|
1
|
+
import { DomainClient } from "./domain-client";
|
|
2
|
+
import { ClientException } from "./exceptions/client-exception";
|
|
3
|
+
import { ModelFactory } from "./model-factory";
|
|
4
|
+
export class ModelClient {
|
|
5
|
+
domainClient;
|
|
6
|
+
modelFactory;
|
|
7
|
+
constructor(baseUrl, apiKey, seed, portalMap) {
|
|
8
|
+
if (!baseUrl || !seed) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
this.modelFactory = new ModelFactory(portalMap);
|
|
12
|
+
this.domainClient = new DomainClient(baseUrl, apiKey, this.getModelName(), this.getVersion(), this.isPublic(), seed);
|
|
13
|
+
}
|
|
14
|
+
async fetch(id) {
|
|
15
|
+
const modelDescriptions = await this.fetchDescription(id);
|
|
16
|
+
return this.modelFactory.fromDescription(modelDescriptions);
|
|
17
|
+
}
|
|
18
|
+
async fetchDescription(id) {
|
|
19
|
+
if (!this.domainClient) {
|
|
20
|
+
throw new ClientException("Offline mode active: did you provide all parameters " +
|
|
21
|
+
"in the constructor?");
|
|
22
|
+
}
|
|
23
|
+
const result = await this.domainClient.doRequest([id]);
|
|
24
|
+
return result[0];
|
|
25
|
+
}
|
|
26
|
+
async fetchMultiple(ids) {
|
|
27
|
+
const descriptions = await this.fetchMultipleDescriptions(ids);
|
|
28
|
+
return this.modelFactory.fromDescriptions(descriptions);
|
|
29
|
+
}
|
|
30
|
+
async fetchMultipleDescriptions(ids) {
|
|
31
|
+
if (!this.domainClient) {
|
|
32
|
+
throw new ClientException('Offline mode active: did you provide all parameters ' +
|
|
33
|
+
'in the constructor?');
|
|
34
|
+
}
|
|
35
|
+
return await this.domainClient.doRequest(ids);
|
|
36
|
+
}
|
|
37
|
+
fromDescription(description) {
|
|
38
|
+
return this.modelFactory.fromDescription(description);
|
|
39
|
+
}
|
|
40
|
+
fromDescriptions(descriptions) {
|
|
41
|
+
return this.modelFactory.fromDescriptions(descriptions);
|
|
42
|
+
}
|
|
43
|
+
}
|
package/src/model-factory.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { IModelDescription } from "./i-model-description";
|
|
2
|
-
import { PortalMap } from "./types/portal-map";
|
|
3
|
-
export declare class ModelFactory<T> {
|
|
4
|
-
private customClassFactories;
|
|
5
|
-
constructor(portalMap?: PortalMap);
|
|
6
|
-
fromDescription(data: IModelDescription): T;
|
|
7
|
-
fromDescriptions(data: IModelDescription[]): T[];
|
|
8
|
-
private unpackClass;
|
|
9
|
-
private getCallable;
|
|
10
|
-
private unpackArray;
|
|
11
|
-
}
|
|
1
|
+
import { IModelDescription } from "./i-model-description";
|
|
2
|
+
import { PortalMap } from "./types/portal-map";
|
|
3
|
+
export declare class ModelFactory<T> {
|
|
4
|
+
private customClassFactories;
|
|
5
|
+
constructor(portalMap?: PortalMap);
|
|
6
|
+
fromDescription(data: IModelDescription): T;
|
|
7
|
+
fromDescriptions(data: IModelDescription[]): T[];
|
|
8
|
+
private unpackClass;
|
|
9
|
+
private getCallable;
|
|
10
|
+
private unpackArray;
|
|
11
|
+
}
|
package/src/model-factory.js
CHANGED
|
@@ -1,69 +1,68 @@
|
|
|
1
|
-
import { InternalLinkFactory } from "./factories/InternalLinkFactory";
|
|
2
|
-
import { DateFactory } from "./factories/DateFactory";
|
|
3
|
-
import { isModelDescription } from "./i-model-description";
|
|
4
|
-
import { PropertyNotAvailableException } from "./exceptions/property-not-available-exception";
|
|
5
|
-
export class ModelFactory {
|
|
6
|
-
customClassFactories;
|
|
7
|
-
constructor(portalMap = new Map()) {
|
|
8
|
-
const factories = new Map();
|
|
9
|
-
factories.set('IInternalLink', new InternalLinkFactory(portalMap));
|
|
10
|
-
factories.set('SerializableDateTime', new DateFactory());
|
|
11
|
-
this.customClassFactories = factories;
|
|
12
|
-
}
|
|
13
|
-
fromDescription(data) {
|
|
14
|
-
return this.unpackClass(data);
|
|
15
|
-
}
|
|
16
|
-
fromDescriptions(data) {
|
|
17
|
-
const models = [];
|
|
18
|
-
for (const modelDescription of data) {
|
|
19
|
-
models.push(this.unpackClass(modelDescription));
|
|
20
|
-
}
|
|
21
|
-
return models;
|
|
22
|
-
}
|
|
23
|
-
unpackClass(data) {
|
|
24
|
-
const unpacked = {};
|
|
25
|
-
for (const functionName in data.func) {
|
|
26
|
-
unpacked[functionName] = this.getCallable(functionName, data);
|
|
27
|
-
}
|
|
28
|
-
const factory = this.customClassFactories.get(data.class);
|
|
29
|
-
if (factory !== undefined) {
|
|
30
|
-
return factory.create(unpacked, data.parameters);
|
|
31
|
-
}
|
|
32
|
-
return unpacked;
|
|
33
|
-
}
|
|
34
|
-
getCallable(functionName, data) {
|
|
35
|
-
const propertyName = functionName.substr(3);
|
|
36
|
-
const canShowFunction = 'canShow' + propertyName;
|
|
37
|
-
const value = data.func[functionName];
|
|
38
|
-
let returnValue;
|
|
39
|
-
if (isModelDescription(value)) {
|
|
40
|
-
returnValue = this.unpackClass(value);
|
|
41
|
-
}
|
|
42
|
-
else if (Array.isArray(value)) {
|
|
43
|
-
returnValue = this.unpackArray(value);
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
returnValue = value;
|
|
47
|
-
}
|
|
48
|
-
if (canShowFunction in data.func) {
|
|
49
|
-
return () => {
|
|
50
|
-
if (data.func[canShowFunction] === false) {
|
|
51
|
-
throw new PropertyNotAvailableException(`Property '${propertyName}' not available`);
|
|
52
|
-
}
|
|
53
|
-
return returnValue;
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
return () => {
|
|
57
|
-
return returnValue;
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
unpackArray(list) {
|
|
61
|
-
return list.map(item => {
|
|
62
|
-
if (isModelDescription(item)) {
|
|
63
|
-
return this.unpackClass(item);
|
|
64
|
-
}
|
|
65
|
-
return item;
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
//# sourceMappingURL=model-factory.js.map
|
|
1
|
+
import { InternalLinkFactory } from "./factories/InternalLinkFactory";
|
|
2
|
+
import { DateFactory } from "./factories/DateFactory";
|
|
3
|
+
import { isModelDescription } from "./i-model-description";
|
|
4
|
+
import { PropertyNotAvailableException } from "./exceptions/property-not-available-exception";
|
|
5
|
+
export class ModelFactory {
|
|
6
|
+
customClassFactories;
|
|
7
|
+
constructor(portalMap = new Map()) {
|
|
8
|
+
const factories = new Map();
|
|
9
|
+
factories.set('IInternalLink', new InternalLinkFactory(portalMap));
|
|
10
|
+
factories.set('SerializableDateTime', new DateFactory());
|
|
11
|
+
this.customClassFactories = factories;
|
|
12
|
+
}
|
|
13
|
+
fromDescription(data) {
|
|
14
|
+
return this.unpackClass(data);
|
|
15
|
+
}
|
|
16
|
+
fromDescriptions(data) {
|
|
17
|
+
const models = [];
|
|
18
|
+
for (const modelDescription of data) {
|
|
19
|
+
models.push(this.unpackClass(modelDescription));
|
|
20
|
+
}
|
|
21
|
+
return models;
|
|
22
|
+
}
|
|
23
|
+
unpackClass(data) {
|
|
24
|
+
const unpacked = {};
|
|
25
|
+
for (const functionName in data.func) {
|
|
26
|
+
unpacked[functionName] = this.getCallable(functionName, data);
|
|
27
|
+
}
|
|
28
|
+
const factory = this.customClassFactories.get(data.class);
|
|
29
|
+
if (factory !== undefined) {
|
|
30
|
+
return factory.create(unpacked, data.parameters);
|
|
31
|
+
}
|
|
32
|
+
return unpacked;
|
|
33
|
+
}
|
|
34
|
+
getCallable(functionName, data) {
|
|
35
|
+
const propertyName = functionName.substr(3);
|
|
36
|
+
const canShowFunction = 'canShow' + propertyName;
|
|
37
|
+
const value = data.func[functionName];
|
|
38
|
+
let returnValue;
|
|
39
|
+
if (isModelDescription(value)) {
|
|
40
|
+
returnValue = this.unpackClass(value);
|
|
41
|
+
}
|
|
42
|
+
else if (Array.isArray(value)) {
|
|
43
|
+
returnValue = this.unpackArray(value);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
returnValue = value;
|
|
47
|
+
}
|
|
48
|
+
if (canShowFunction in data.func) {
|
|
49
|
+
return () => {
|
|
50
|
+
if (data.func[canShowFunction] === false) {
|
|
51
|
+
throw new PropertyNotAvailableException(`Property '${propertyName}' not available`);
|
|
52
|
+
}
|
|
53
|
+
return returnValue;
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
return () => {
|
|
57
|
+
return returnValue;
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
unpackArray(list) {
|
|
61
|
+
return list.map(item => {
|
|
62
|
+
if (isModelDescription(item)) {
|
|
63
|
+
return this.unpackClass(item);
|
|
64
|
+
}
|
|
65
|
+
return item;
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}
|
|
@@ -1,7 +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
|
-
}
|
|
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
|
+
}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import { ModelClient } from "../../model-client";
|
|
2
|
-
export class BestfitProgrammeClient extends ModelClient {
|
|
3
|
-
getModelName() {
|
|
4
|
-
return 'bestfit-programme';
|
|
5
|
-
}
|
|
6
|
-
getVersion() {
|
|
7
|
-
return 'v1';
|
|
8
|
-
}
|
|
9
|
-
isPublic() {
|
|
10
|
-
return false;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=bestfit-programme-client.js.map
|
|
1
|
+
import { ModelClient } from "../../model-client";
|
|
2
|
+
export class BestfitProgrammeClient extends ModelClient {
|
|
3
|
+
getModelName() {
|
|
4
|
+
return 'bestfit-programme';
|
|
5
|
+
}
|
|
6
|
+
getVersion() {
|
|
7
|
+
return 'v1';
|
|
8
|
+
}
|
|
9
|
+
isPublic() {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -1,82 +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
|
-
}
|
|
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
|
+
}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=i-best-fit-programme.js.map
|
|
1
|
+
export {};
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
export interface ICity {
|
|
2
|
-
/**
|
|
3
|
-
* Get city id
|
|
4
|
-
*
|
|
5
|
-
* @return number
|
|
6
|
-
*/
|
|
7
|
-
getId(): number;
|
|
8
|
-
/**
|
|
9
|
-
* Get city name
|
|
10
|
-
*
|
|
11
|
-
* @return string
|
|
12
|
-
*/
|
|
13
|
-
getName(): string;
|
|
14
|
-
}
|
|
1
|
+
export interface ICity {
|
|
2
|
+
/**
|
|
3
|
+
* Get city id
|
|
4
|
+
*
|
|
5
|
+
* @return number
|
|
6
|
+
*/
|
|
7
|
+
getId(): number;
|
|
8
|
+
/**
|
|
9
|
+
* Get city name
|
|
10
|
+
*
|
|
11
|
+
* @return string
|
|
12
|
+
*/
|
|
13
|
+
getName(): string;
|
|
14
|
+
}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=i-city.js.map
|
|
1
|
+
export {};
|
|
@@ -1,51 +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 OTE
|
|
25
|
-
*
|
|
26
|
-
* @return number
|
|
27
|
-
*/
|
|
28
|
-
getOte(): number;
|
|
29
|
-
canShowOte(): boolean;
|
|
30
|
-
/**
|
|
31
|
-
* Required score for PTE
|
|
32
|
-
*
|
|
33
|
-
* @return number
|
|
34
|
-
*/
|
|
35
|
-
getPTE(): number;
|
|
36
|
-
canShowPTE(): boolean;
|
|
37
|
-
/**
|
|
38
|
-
* Required score for TOEFL internet
|
|
39
|
-
*
|
|
40
|
-
* @return number
|
|
41
|
-
*/
|
|
42
|
-
getTOEFLInternet(): number;
|
|
43
|
-
canShowTOEFLInternet(): boolean;
|
|
44
|
-
/**
|
|
45
|
-
* Required score for TOEFL paper
|
|
46
|
-
*
|
|
47
|
-
* @return number
|
|
48
|
-
*/
|
|
49
|
-
getTOEFLPaper(): number;
|
|
50
|
-
canShowTOEFLPaper(): boolean;
|
|
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 OTE
|
|
25
|
+
*
|
|
26
|
+
* @return number
|
|
27
|
+
*/
|
|
28
|
+
getOte(): number;
|
|
29
|
+
canShowOte(): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Required score for PTE
|
|
32
|
+
*
|
|
33
|
+
* @return number
|
|
34
|
+
*/
|
|
35
|
+
getPTE(): number;
|
|
36
|
+
canShowPTE(): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Required score for TOEFL internet
|
|
39
|
+
*
|
|
40
|
+
* @return number
|
|
41
|
+
*/
|
|
42
|
+
getTOEFLInternet(): number;
|
|
43
|
+
canShowTOEFLInternet(): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Required score for TOEFL paper
|
|
46
|
+
*
|
|
47
|
+
* @return number
|
|
48
|
+
*/
|
|
49
|
+
getTOEFLPaper(): number;
|
|
50
|
+
canShowTOEFLPaper(): boolean;
|
|
51
|
+
}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=i-english-requirements.js.map
|
|
1
|
+
export {};
|