@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
package/protobuf/index.js
CHANGED
|
@@ -1,7 +1,45 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file Automatically generated by barrelsby.
|
|
3
|
-
*/
|
|
4
|
-
export * from "./
|
|
5
|
-
export * from "./
|
|
6
|
-
export * from "./
|
|
7
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @file Automatically generated by barrelsby.
|
|
3
|
+
*/
|
|
4
|
+
export * from "./Area";
|
|
5
|
+
export * from "./Article";
|
|
6
|
+
export * from "./Body";
|
|
7
|
+
export * from "./CampaignInformation";
|
|
8
|
+
export * from "./ClickTracking";
|
|
9
|
+
export * from "./CommercialEntity";
|
|
10
|
+
export * from "./Cover";
|
|
11
|
+
export * from "./Deadline";
|
|
12
|
+
export * from "./Degree";
|
|
13
|
+
export * from "./Description";
|
|
14
|
+
export * from "./Discipline";
|
|
15
|
+
export * from "./Duration";
|
|
16
|
+
export * from "./EnglishRequirement";
|
|
17
|
+
export * from "./EssentialInformation";
|
|
18
|
+
export * from "./File";
|
|
19
|
+
export * from "./GPARequirement";
|
|
20
|
+
export * from "./InternalLink";
|
|
21
|
+
export * from "./Link";
|
|
22
|
+
export * from "./LivingCost";
|
|
23
|
+
export * from "./Location";
|
|
24
|
+
export * from "./Logo";
|
|
25
|
+
export * from "./MiniProgrammeCard";
|
|
26
|
+
export * from "./OptionalLink";
|
|
27
|
+
export * from "./Organisation";
|
|
28
|
+
export * from "./OrganisationInformation";
|
|
29
|
+
export * from "./OrganisationRanking";
|
|
30
|
+
export * from "./Person";
|
|
31
|
+
export * from "./ProgrammeCard";
|
|
32
|
+
export * from "./ProgrammeGrid";
|
|
33
|
+
export * from "./Ranking";
|
|
34
|
+
export * from "./RankingInstitute";
|
|
35
|
+
export * from "./Review";
|
|
36
|
+
export * from "./ReviewRating";
|
|
37
|
+
export * from "./RichText";
|
|
38
|
+
export * from "./SocialLink";
|
|
39
|
+
export * from "./StartDate";
|
|
40
|
+
export * from "./Timing";
|
|
41
|
+
export * from "./Topic";
|
|
42
|
+
export * from "./TrackedLink";
|
|
43
|
+
export * from "./Tracking";
|
|
44
|
+
export * from "./TuitionFee";
|
|
45
|
+
export * from "./Unibuddy";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Article } from "../../protobuf";
|
|
2
|
+
import { ProtobufClient } from "./protobuf-client";
|
|
3
|
+
export declare class ArticleDetailPageClient extends ProtobufClient<Article> {
|
|
4
|
+
protected constructModel(data: Record<string, any>): Article;
|
|
5
|
+
protected getModelName(): string;
|
|
6
|
+
protected getVersion(): string;
|
|
7
|
+
isPublic(): boolean;
|
|
8
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Article } from "../../protobuf";
|
|
2
|
+
import { ProtobufClient } from "./protobuf-client";
|
|
3
|
+
export class ArticleDetailPageClient extends ProtobufClient {
|
|
4
|
+
constructModel(data) {
|
|
5
|
+
return Article.fromJSON(data);
|
|
6
|
+
}
|
|
7
|
+
getModelName() {
|
|
8
|
+
return 'article-detail-page';
|
|
9
|
+
}
|
|
10
|
+
getVersion() {
|
|
11
|
+
return 'v1';
|
|
12
|
+
}
|
|
13
|
+
isPublic() {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
}
|
package/src/clients/index.d.ts
CHANGED
|
@@ -1 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @file Automatically generated by barrelsby.
|
|
3
|
+
*/
|
|
4
|
+
export * from "./article-detail-page-client";
|
|
5
|
+
export * from "./organisation-page-client";
|
|
6
|
+
export * from "./protobuf-client";
|
|
7
|
+
export * from "./public-mini-programme-card-client";
|
package/src/clients/index.js
CHANGED
|
@@ -1,2 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @file Automatically generated by barrelsby.
|
|
3
|
+
*/
|
|
4
|
+
export * from "./article-detail-page-client";
|
|
5
|
+
export * from "./organisation-page-client";
|
|
6
|
+
export * from "./protobuf-client";
|
|
7
|
+
export * from "./public-mini-programme-card-client";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Organisation } from "../../protobuf";
|
|
2
|
+
import { ProtobufClient } from "./protobuf-client";
|
|
3
|
+
export declare class OrganisationPageClient extends ProtobufClient<Organisation> {
|
|
4
|
+
protected constructModel(data: Record<string, any>): Organisation;
|
|
5
|
+
protected getModelName(): string;
|
|
6
|
+
protected getVersion(): string;
|
|
7
|
+
isPublic(): boolean;
|
|
8
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Organisation } from "../../protobuf";
|
|
2
|
+
import { ProtobufClient } from "./protobuf-client";
|
|
3
|
+
export class OrganisationPageClient extends ProtobufClient {
|
|
4
|
+
constructModel(data) {
|
|
5
|
+
return Organisation.fromJSON(data);
|
|
6
|
+
}
|
|
7
|
+
getModelName() {
|
|
8
|
+
return 'organisation-page';
|
|
9
|
+
}
|
|
10
|
+
getVersion() {
|
|
11
|
+
return 'v1';
|
|
12
|
+
}
|
|
13
|
+
isPublic() {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import { PortalMap } from "../types/portal-map";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
protected abstract
|
|
10
|
-
abstract
|
|
11
|
-
|
|
1
|
+
import { PortalMap } from "../types/portal-map";
|
|
2
|
+
import { PortalType } from "../types/portal-type";
|
|
3
|
+
export declare abstract class ProtobufClient<T> {
|
|
4
|
+
static portalMap: PortalMap;
|
|
5
|
+
private readonly domainClient;
|
|
6
|
+
constructor(baseUrl: string, seed: number, apiKey?: string, portalMap?: PortalMap);
|
|
7
|
+
fetch(id: number): Promise<T>;
|
|
8
|
+
fetchMultiple(ids: number[]): Promise<T[]>;
|
|
9
|
+
protected abstract constructModel(data: Record<string, any>): T;
|
|
10
|
+
protected abstract getModelName(): string;
|
|
11
|
+
protected abstract getVersion(): string;
|
|
12
|
+
abstract isPublic(): boolean;
|
|
13
|
+
static transformUrlUsingPortalMap(path: string, portalType: PortalType): string;
|
|
14
|
+
}
|
|
@@ -1,16 +1,26 @@
|
|
|
1
|
-
import { DomainClient } from "../domain-client";
|
|
2
|
-
export class ProtobufClient {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
async
|
|
12
|
-
const results = await this.domainClient.doRequest(
|
|
13
|
-
return
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
|
|
1
|
+
import { DomainClient } from "../domain-client";
|
|
2
|
+
export class ProtobufClient {
|
|
3
|
+
static portalMap = new Map();
|
|
4
|
+
domainClient;
|
|
5
|
+
constructor(baseUrl, seed, apiKey, portalMap) {
|
|
6
|
+
if (portalMap) {
|
|
7
|
+
ProtobufClient.portalMap = portalMap;
|
|
8
|
+
}
|
|
9
|
+
this.domainClient = new DomainClient(baseUrl, apiKey, this.getModelName(), this.getVersion(), this.isPublic(), seed);
|
|
10
|
+
}
|
|
11
|
+
async fetch(id) {
|
|
12
|
+
const results = await this.domainClient.doRequest([id]);
|
|
13
|
+
return this.constructModel(results[0]);
|
|
14
|
+
}
|
|
15
|
+
async fetchMultiple(ids) {
|
|
16
|
+
const results = await this.domainClient.doRequest(ids);
|
|
17
|
+
return results.map((data) => this.constructModel(data));
|
|
18
|
+
}
|
|
19
|
+
static transformUrlUsingPortalMap(path, portalType) {
|
|
20
|
+
const baseUrl = ProtobufClient.portalMap.get(portalType);
|
|
21
|
+
if (baseUrl && !path.includes('https')) {
|
|
22
|
+
return baseUrl + path;
|
|
23
|
+
}
|
|
24
|
+
return path;
|
|
25
|
+
}
|
|
26
|
+
}
|
package/src/clients/{mini-programme-card-client.d.ts → public-mini-programme-card-client.d.ts}
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
export declare class
|
|
4
|
-
protected constructModel(data: Record<string, any>): MiniProgrammeCard;
|
|
5
|
-
protected getModelName(): string;
|
|
6
|
-
protected getVersion(): string;
|
|
7
|
-
isPublic(): boolean;
|
|
8
|
-
}
|
|
1
|
+
import { MiniProgrammeCard } from "../../protobuf";
|
|
2
|
+
import { ProtobufClient } from "./protobuf-client";
|
|
3
|
+
export declare class PublicMiniProgrammeCardClient extends ProtobufClient<MiniProgrammeCard> {
|
|
4
|
+
protected constructModel(data: Record<string, any>): MiniProgrammeCard;
|
|
5
|
+
protected getModelName(): string;
|
|
6
|
+
protected getVersion(): string;
|
|
7
|
+
isPublic(): boolean;
|
|
8
|
+
}
|
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
export class
|
|
4
|
-
constructModel(data) {
|
|
5
|
-
return MiniProgrammeCard.fromJSON(data);
|
|
6
|
-
}
|
|
7
|
-
getModelName() {
|
|
8
|
-
return 'mini-programme-card';
|
|
9
|
-
}
|
|
10
|
-
getVersion() {
|
|
11
|
-
return 'v1';
|
|
12
|
-
}
|
|
13
|
-
isPublic() {
|
|
14
|
-
return true;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=mini-programme-card-client.js.map
|
|
1
|
+
import { MiniProgrammeCard } from "../../protobuf";
|
|
2
|
+
import { ProtobufClient } from "./protobuf-client";
|
|
3
|
+
export class PublicMiniProgrammeCardClient extends ProtobufClient {
|
|
4
|
+
constructModel(data) {
|
|
5
|
+
return MiniProgrammeCard.fromJSON(data);
|
|
6
|
+
}
|
|
7
|
+
getModelName() {
|
|
8
|
+
return 'mini-programme-card';
|
|
9
|
+
}
|
|
10
|
+
getVersion() {
|
|
11
|
+
return 'v1';
|
|
12
|
+
}
|
|
13
|
+
isPublic() {
|
|
14
|
+
return true;
|
|
15
|
+
}
|
|
16
|
+
}
|
package/src/domain-client.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
readonly
|
|
4
|
-
readonly
|
|
5
|
-
readonly
|
|
6
|
-
readonly
|
|
7
|
-
readonly
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
private handleErrors;
|
|
12
|
-
private buildUrl;
|
|
13
|
-
private shouldAddPublicPrefix;
|
|
14
|
-
}
|
|
1
|
+
export declare class DomainClient<T> {
|
|
2
|
+
readonly baseUrl: string;
|
|
3
|
+
readonly apiKey: string | undefined;
|
|
4
|
+
readonly model: string;
|
|
5
|
+
readonly version: string;
|
|
6
|
+
readonly isPublic: boolean;
|
|
7
|
+
readonly seed: number;
|
|
8
|
+
constructor(baseUrl: string, apiKey: string | undefined, model: string, version: string, isPublic: boolean, seed: number);
|
|
9
|
+
doRequest(ids: number[]): Promise<T[]>;
|
|
10
|
+
private decompressData;
|
|
11
|
+
private handleErrors;
|
|
12
|
+
private buildUrl;
|
|
13
|
+
private shouldAddPublicPrefix;
|
|
14
|
+
}
|
package/src/domain-client.js
CHANGED
|
@@ -1,63 +1,89 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
export class DomainClient {
|
|
6
|
-
baseUrl;
|
|
7
|
-
apiKey;
|
|
8
|
-
model;
|
|
9
|
-
version;
|
|
10
|
-
isPublic;
|
|
11
|
-
seed;
|
|
12
|
-
constructor(baseUrl, apiKey, model, version, isPublic, seed) {
|
|
13
|
-
this.baseUrl = baseUrl;
|
|
14
|
-
this.apiKey = apiKey;
|
|
15
|
-
this.model = model;
|
|
16
|
-
this.version = version;
|
|
17
|
-
this.isPublic = isPublic;
|
|
18
|
-
this.seed = seed;
|
|
19
|
-
}
|
|
20
|
-
async doRequest(ids) {
|
|
21
|
-
const url = this.buildUrl(ids)
|
|
22
|
-
const
|
|
23
|
-
if (this.apiKey !== undefined) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
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
|
+
const decoder = new TextDecoder();
|
|
5
|
+
export class DomainClient {
|
|
6
|
+
baseUrl;
|
|
7
|
+
apiKey;
|
|
8
|
+
model;
|
|
9
|
+
version;
|
|
10
|
+
isPublic;
|
|
11
|
+
seed;
|
|
12
|
+
constructor(baseUrl, apiKey, model, version, isPublic, seed) {
|
|
13
|
+
this.baseUrl = baseUrl;
|
|
14
|
+
this.apiKey = apiKey;
|
|
15
|
+
this.model = model;
|
|
16
|
+
this.version = version;
|
|
17
|
+
this.isPublic = isPublic;
|
|
18
|
+
this.seed = seed;
|
|
19
|
+
}
|
|
20
|
+
async doRequest(ids) {
|
|
21
|
+
const url = `${this.baseUrl}/${this.buildUrl(ids)}`;
|
|
22
|
+
const headers = {};
|
|
23
|
+
if (this.apiKey !== undefined) {
|
|
24
|
+
headers["x-api-key"] = this.apiKey;
|
|
25
|
+
}
|
|
26
|
+
try {
|
|
27
|
+
const response = await fetch(url, { headers });
|
|
28
|
+
const data = await response.json();
|
|
29
|
+
if (!response.ok || data.status !== 200) {
|
|
30
|
+
this.handleErrors(data);
|
|
31
|
+
}
|
|
32
|
+
const models = [];
|
|
33
|
+
for (const id of ids) {
|
|
34
|
+
let modelData = data.data[id];
|
|
35
|
+
if (typeof modelData === 'string') {
|
|
36
|
+
try {
|
|
37
|
+
const bytes = Uint8Array.from(Buffer.from(modelData, 'base64'));
|
|
38
|
+
const decompressedBytes = await this.decompressData(bytes);
|
|
39
|
+
modelData = JSON.parse(decoder.decode(decompressedBytes));
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
console.error(error);
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
if (!modelData) {
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
models.push(modelData);
|
|
50
|
+
}
|
|
51
|
+
return models;
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
console.error('Error fetching data from API:', error);
|
|
55
|
+
if (error instanceof InternalServerException || error instanceof BadRequestException || error instanceof NotFoundException) {
|
|
56
|
+
throw error;
|
|
57
|
+
}
|
|
58
|
+
throw new InternalServerException('Unable to fetch data from the API', error);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
async decompressData(compressedData) {
|
|
62
|
+
const stream = new DecompressionStream('deflate');
|
|
63
|
+
const response = new Response(compressedData);
|
|
64
|
+
const decompressed = response.body?.pipeThrough(stream);
|
|
65
|
+
return new Uint8Array(await new Response(decompressed).arrayBuffer());
|
|
66
|
+
}
|
|
67
|
+
handleErrors(response) {
|
|
68
|
+
if (!response.status) {
|
|
69
|
+
throw new InternalServerException(response.message);
|
|
70
|
+
}
|
|
71
|
+
if (response.status === 400) {
|
|
72
|
+
throw new BadRequestException(response.message);
|
|
73
|
+
}
|
|
74
|
+
if (response.status === 404) {
|
|
75
|
+
throw new NotFoundException(response.message);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
buildUrl(ids) {
|
|
79
|
+
const publicPrefix = this.shouldAddPublicPrefix() ? 'public/' : '';
|
|
80
|
+
let query = `${publicPrefix}${this.model}/${this.version}/?seed=${this.seed}`;
|
|
81
|
+
for (const id of ids) {
|
|
82
|
+
query += `&id=${id}`;
|
|
83
|
+
}
|
|
84
|
+
return query;
|
|
85
|
+
}
|
|
86
|
+
shouldAddPublicPrefix() {
|
|
87
|
+
return this.isPublic && this.apiKey === undefined;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare class BadRequestException extends Error {
|
|
2
|
-
}
|
|
1
|
+
export declare class BadRequestException extends Error {
|
|
2
|
+
}
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
export class BadRequestException extends Error {
|
|
2
|
-
}
|
|
3
|
-
//# sourceMappingURL=bad-request-exception.js.map
|
|
1
|
+
export class BadRequestException extends Error {
|
|
2
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare class ClientException extends Error {
|
|
2
|
-
}
|
|
1
|
+
export declare class ClientException extends Error {
|
|
2
|
+
}
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
export class ClientException extends Error {
|
|
2
|
-
}
|
|
3
|
-
//# sourceMappingURL=client-exception.js.map
|
|
1
|
+
export class ClientException extends Error {
|
|
2
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare class InternalServerException extends Error {
|
|
2
|
-
}
|
|
1
|
+
export declare class InternalServerException extends Error {
|
|
2
|
+
}
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
export class InternalServerException extends Error {
|
|
2
|
-
}
|
|
3
|
-
//# sourceMappingURL=internal-server-exception.js.map
|
|
1
|
+
export class InternalServerException extends Error {
|
|
2
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare class NotFoundException extends Error {
|
|
2
|
-
}
|
|
1
|
+
export declare class NotFoundException extends Error {
|
|
2
|
+
}
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
export class NotFoundException extends Error {
|
|
2
|
-
}
|
|
3
|
-
//# sourceMappingURL=not-found-exception.js.map
|
|
1
|
+
export class NotFoundException extends Error {
|
|
2
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare class PropertyNotAvailableException extends Error {
|
|
2
|
-
}
|
|
1
|
+
export declare class PropertyNotAvailableException extends Error {
|
|
2
|
+
}
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
export class PropertyNotAvailableException extends Error {
|
|
2
|
-
}
|
|
3
|
-
//# sourceMappingURL=property-not-available-exception.js.map
|
|
1
|
+
export class PropertyNotAvailableException extends Error {
|
|
2
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IClassFactory } from "../i-class-factory";
|
|
2
|
-
import { CallableReturnType, Model } from "../types";
|
|
3
|
-
export declare class DateFactory implements IClassFactory {
|
|
4
|
-
create(data: Model, parameters: string[]): CallableReturnType;
|
|
5
|
-
}
|
|
1
|
+
import { IClassFactory } from "../i-class-factory";
|
|
2
|
+
import { CallableReturnType, Model } from "../types";
|
|
3
|
+
export declare class DateFactory implements IClassFactory {
|
|
4
|
+
create(data: Model, parameters: string[]): CallableReturnType;
|
|
5
|
+
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
export class DateFactory {
|
|
2
|
-
create(data, parameters) {
|
|
3
|
-
return new Date(parameters[0]);
|
|
4
|
-
}
|
|
5
|
-
}
|
|
6
|
-
//# sourceMappingURL=DateFactory.js.map
|
|
1
|
+
export class DateFactory {
|
|
2
|
+
create(data, parameters) {
|
|
3
|
+
return new Date(parameters[0]);
|
|
4
|
+
}
|
|
5
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { IClassFactory } from "../i-class-factory";
|
|
2
|
-
import { CallableReturnType, Model } from "../types";
|
|
3
|
-
import { PortalMap } from "../types/portal-map";
|
|
4
|
-
export declare class InternalLinkFactory implements IClassFactory {
|
|
5
|
-
private portalMap;
|
|
6
|
-
constructor(portalMap: PortalMap);
|
|
7
|
-
create(link: Model): CallableReturnType;
|
|
8
|
-
private getPortalBaseUrl;
|
|
9
|
-
}
|
|
1
|
+
import { IClassFactory } from "../i-class-factory";
|
|
2
|
+
import { CallableReturnType, Model } from "../types";
|
|
3
|
+
import { PortalMap } from "../types/portal-map";
|
|
4
|
+
export declare class InternalLinkFactory implements IClassFactory {
|
|
5
|
+
private portalMap;
|
|
6
|
+
constructor(portalMap: PortalMap);
|
|
7
|
+
create(link: Model, parameters?: unknown): CallableReturnType;
|
|
8
|
+
private getPortalBaseUrl;
|
|
9
|
+
}
|
|
@@ -1,17 +1,21 @@
|
|
|
1
|
-
export class InternalLinkFactory {
|
|
2
|
-
portalMap;
|
|
3
|
-
constructor(portalMap) {
|
|
4
|
-
this.portalMap = portalMap;
|
|
5
|
-
}
|
|
6
|
-
create(link) {
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
17
|
-
|
|
1
|
+
export class InternalLinkFactory {
|
|
2
|
+
portalMap;
|
|
3
|
+
constructor(portalMap) {
|
|
4
|
+
this.portalMap = portalMap;
|
|
5
|
+
}
|
|
6
|
+
create(link, parameters) {
|
|
7
|
+
const getPortalType = link['getPortalType'];
|
|
8
|
+
const portalType = getPortalType ? getPortalType() : null;
|
|
9
|
+
const portalBaseUrl = portalType ? this.getPortalBaseUrl(portalType) : '';
|
|
10
|
+
const getUrl = link['getUrl'];
|
|
11
|
+
if (getUrl) {
|
|
12
|
+
const path = getUrl();
|
|
13
|
+
link['getUrl'] = () => portalBaseUrl + path;
|
|
14
|
+
}
|
|
15
|
+
return link;
|
|
16
|
+
}
|
|
17
|
+
getPortalBaseUrl(portalType) {
|
|
18
|
+
const url = this.portalMap.get(portalType);
|
|
19
|
+
return url || '';
|
|
20
|
+
}
|
|
21
|
+
}
|
package/src/i-api-response.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { IModelDescription } from "./i-model-description";
|
|
2
|
-
export interface IApiResponse {
|
|
3
|
-
status: number;
|
|
4
|
-
data: Record<number, IModelDescription>;
|
|
5
|
-
message: string;
|
|
6
|
-
}
|
|
1
|
+
import { IModelDescription } from "./i-model-description";
|
|
2
|
+
export interface IApiResponse {
|
|
3
|
+
status: number;
|
|
4
|
+
data: Record<number, IModelDescription | string>;
|
|
5
|
+
message: string;
|
|
6
|
+
}
|
package/src/i-api-response.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=i-api-response.js.map
|
|
1
|
+
export {};
|
package/src/i-class-factory.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CallableReturnType, Model } from "./types";
|
|
2
|
-
export interface IClassFactory {
|
|
3
|
-
create(data: Model, parameters?: any[]): CallableReturnType;
|
|
4
|
-
}
|
|
1
|
+
import { CallableReturnType, Model } from "./types";
|
|
2
|
+
export interface IClassFactory {
|
|
3
|
+
create(data: Model, parameters?: any[]): CallableReturnType;
|
|
4
|
+
}
|
package/src/i-class-factory.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=i-class-factory.js.map
|
|
1
|
+
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { AcceptedType } from "./types";
|
|
2
|
-
export interface IModelDescription {
|
|
3
|
-
class: string;
|
|
4
|
-
func: Record<string, AcceptedType | IModelDescription>;
|
|
5
|
-
parameters?: any[];
|
|
6
|
-
}
|
|
7
|
-
export declare function isModelDescription(arg: any): arg is IModelDescription;
|
|
1
|
+
import { AcceptedType } from "./types";
|
|
2
|
+
export interface IModelDescription {
|
|
3
|
+
class: string;
|
|
4
|
+
func: Record<string, AcceptedType | IModelDescription>;
|
|
5
|
+
parameters?: any[];
|
|
6
|
+
}
|
|
7
|
+
export declare function isModelDescription(arg: any): arg is IModelDescription;
|