@studyportals/domain-client 3.18.0 → 3.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{bin/index.d.ts → index.d.ts} +73 -73
- package/{bin/index.js → index.js} +53 -53
- package/package.json +55 -55
- package/{bin/src → src}/domain-client.d.ts +14 -14
- package/{bin/src → src}/domain-client.js +60 -60
- package/{bin/src → src}/exceptions/bad-request-exception.d.ts +2 -2
- package/{bin/src → src}/exceptions/bad-request-exception.js +6 -6
- package/{bin/src → src}/exceptions/client-exception.d.ts +2 -2
- package/{bin/src → src}/exceptions/client-exception.js +6 -6
- package/{bin/src → src}/exceptions/internal-server-exception.d.ts +2 -2
- package/{bin/src → src}/exceptions/internal-server-exception.js +6 -6
- package/{bin/src → src}/exceptions/not-found-exception.d.ts +2 -2
- package/{bin/src → src}/exceptions/not-found-exception.js +6 -6
- package/{bin/src → src}/exceptions/property-not-available-exception.d.ts +2 -2
- package/{bin/src → src}/exceptions/property-not-available-exception.js +6 -6
- package/{bin/src → src}/factories/DateFactory.d.ts +5 -5
- package/{bin/src → src}/factories/DateFactory.js +9 -9
- package/{bin/src → src}/factories/InternalLinkFactory.d.ts +9 -9
- package/{bin/src → src}/factories/InternalLinkFactory.js +19 -19
- package/{bin/src → src}/i-api-response.d.ts +6 -6
- package/{bin/src → src}/i-api-response.js +2 -2
- package/{bin/src → src}/i-class-factory.d.ts +4 -4
- package/{bin/src → src}/i-class-factory.js +2 -2
- package/{bin/src → src}/i-model-description.d.ts +7 -7
- package/{bin/src → src}/i-model-description.js +9 -9
- package/{bin/src → src}/model-client.d.ts +16 -16
- package/{bin/src → src}/model-client.js +45 -45
- package/{bin/src → src}/model-factory.d.ts +11 -11
- package/{bin/src → src}/model-factory.js +71 -71
- package/{bin/src → src}/models/bestfit-programme/bestfit-programme-client.d.ts +7 -7
- package/{bin/src → src}/models/bestfit-programme/bestfit-programme-client.js +16 -16
- package/{bin/src → src}/models/bestfit-programme/i-best-fit-programme.d.ts +82 -82
- package/{bin/src → src}/models/bestfit-programme/i-best-fit-programme.js +2 -2
- package/{bin/src/models/common → src/models/bestfit-programme}/i-city.d.ts +14 -14
- package/{bin/src/models/common → src/models/bestfit-programme}/i-city.js +2 -2
- package/{bin/src → src}/models/bestfit-programme/i-living-cost.d.ts +20 -20
- package/{bin/src → src}/models/bestfit-programme/i-living-cost.js +2 -2
- package/{bin/src/models/bestfit-programme → src/models/common}/i-city.d.ts +14 -14
- package/{bin/src/models/bestfit-programme → src/models/common}/i-city.js +2 -2
- package/{bin/src → src}/models/common/i-country.d.ts +20 -20
- package/{bin/src → src}/models/common/i-country.js +2 -2
- package/{bin/src → src}/models/common/i-english-requirements.d.ts +44 -44
- package/{bin/src → src}/models/common/i-english-requirements.js +2 -2
- package/{bin/src → src}/models/common/i-g-p-a-requirement.d.ts +20 -20
- package/{bin/src → src}/models/common/i-g-p-a-requirement.js +2 -2
- package/{bin/src → src}/models/common/i-internal-link.d.ts +28 -28
- package/{bin/src → src}/models/common/i-internal-link.js +2 -2
- package/{bin/src/models/programme-card → src/models/common}/i-logo.d.ts +14 -14
- package/{bin/src/models/programme-card → src/models/common}/i-logo.js +2 -2
- package/{bin/src/models/programme-card → src/models/common}/i-tuition-fee.d.ts +50 -50
- package/{bin/src → src}/models/common/i-tuition-fee.js +2 -2
- package/{bin/src → src}/models/compare-programme/compare-programme-client.d.ts +7 -7
- package/{bin/src → src}/models/compare-programme/compare-programme-client.js +16 -16
- package/{bin/src → src}/models/compare-programme/i-compare-programme.d.ts +108 -108
- package/{bin/src → src}/models/compare-programme/i-compare-programme.js +2 -2
- package/{bin/src → src}/models/dotdigital-organisation/dotdigital-organisation-client.d.ts +7 -7
- package/{bin/src → src}/models/dotdigital-organisation/dotdigital-organisation-client.js +16 -16
- package/{bin/src → src}/models/dotdigital-organisation/i-dot-digital-organisation.d.ts +35 -35
- package/{bin/src → src}/models/dotdigital-organisation/i-dot-digital-organisation.js +2 -2
- package/{bin/src → src}/models/dotdigital-organisation/i-review.d.ts +7 -7
- package/{bin/src → src}/models/dotdigital-organisation/i-review.js +2 -2
- package/{bin/src → src}/models/dotdigital-programme/dotdigital-programme-client.d.ts +7 -7
- package/{bin/src → src}/models/dotdigital-programme/dotdigital-programme-client.js +16 -16
- package/{bin/src → src}/models/dotdigital-programme/i-dot-digital-programme.d.ts +101 -101
- package/{bin/src → src}/models/dotdigital-programme/i-dot-digital-programme.js +2 -2
- package/{bin/src/models/programme-card → src/models/dotdigital-programme}/i-internal-link.d.ts +28 -28
- package/{bin/src → src}/models/dotdigital-programme/i-internal-link.js +2 -2
- package/{bin/src → src}/models/programme-card/i-click-tracking-data.d.ts +5 -5
- package/{bin/src → src}/models/programme-card/i-click-tracking-data.js +2 -2
- package/{bin/src → src}/models/programme-card/i-cover.d.ts +14 -14
- package/{bin/src → src}/models/programme-card/i-cover.js +2 -2
- package/{bin/src → src}/models/programme-card/i-deadline.d.ts +20 -20
- package/{bin/src → src}/models/programme-card/i-deadline.js +2 -2
- package/{bin/src → src}/models/programme-card/i-duration.d.ts +40 -40
- package/{bin/src → src}/models/programme-card/i-duration.js +2 -2
- package/{bin/src/models/dotdigital-programme → src/models/programme-card}/i-internal-link.d.ts +28 -28
- package/{bin/src → src}/models/programme-card/i-internal-link.js +2 -2
- package/{bin/src → src}/models/programme-card/i-link.d.ts +22 -22
- package/{bin/src → src}/models/programme-card/i-link.js +2 -2
- package/{bin/src → src}/models/programme-card/i-location.d.ts +12 -12
- package/{bin/src → src}/models/programme-card/i-location.js +2 -2
- package/{bin/src/models/common → src/models/programme-card}/i-logo.d.ts +14 -14
- package/{bin/src/models/common → src/models/programme-card}/i-logo.js +2 -2
- package/{bin/src → src}/models/programme-card/i-optional-link.d.ts +23 -23
- package/{bin/src → src}/models/programme-card/i-optional-link.js +2 -2
- package/{bin/src → src}/models/programme-card/i-programme-card.d.ts +186 -178
- package/{bin/src → src}/models/programme-card/i-programme-card.js +2 -2
- package/{bin/src → src}/models/programme-card/i-start-date.d.ts +33 -33
- package/{bin/src → src}/models/programme-card/i-start-date.js +2 -2
- package/{bin/src → src}/models/programme-card/i-timing.d.ts +45 -45
- package/{bin/src → src}/models/programme-card/i-timing.js +2 -2
- package/{bin/src → src}/models/programme-card/i-tracked-link.d.ts +29 -29
- package/{bin/src → src}/models/programme-card/i-tracked-link.js +2 -2
- package/{bin/src → src}/models/programme-card/i-tracking.d.ts +46 -46
- package/{bin/src → src}/models/programme-card/i-tracking.js +2 -2
- package/{bin/src/models/common → src/models/programme-card}/i-tuition-fee.d.ts +50 -50
- package/{bin/src → src}/models/programme-card/i-tuition-fee.js +2 -2
- package/{bin/src → src}/models/programme-card/programme-card-client.d.ts +7 -7
- package/{bin/src → src}/models/programme-card/programme-card-client.js +16 -16
- package/{bin/src → src}/models/ranking-cards/i-ranking-card.d.ts +63 -63
- package/{bin/src → src}/models/ranking-cards/i-ranking-card.js +2 -2
- package/{bin/src → src}/models/ranking-cards/i-ranking-cards.d.ts +15 -15
- package/{bin/src → src}/models/ranking-cards/i-ranking-cards.js +2 -2
- package/{bin/src → src}/models/ranking-cards/i-ranking.d.ts +18 -18
- package/{bin/src → src}/models/ranking-cards/i-ranking.js +2 -2
- package/{bin/src → src}/models/ranking-cards/public-ranking-cards-client.d.ts +7 -7
- package/{bin/src → src}/models/ranking-cards/public-ranking-cards-client.js +16 -16
- package/{bin/src → src}/models/scholarship-card/i-scholarship-card.d.ts +14 -14
- package/{bin/src → src}/models/scholarship-card/i-scholarship-card.js +2 -2
- package/{bin/src → src}/models/scholarship-card/public-scholarship-card-client.d.ts +7 -7
- package/{bin/src → src}/models/scholarship-card/public-scholarship-card-client.js +16 -16
- package/{bin/src → src}/models/search-country-faq/i-search-country-faq.d.ts +18 -18
- package/{bin/src → src}/models/search-country-faq/i-search-country-faq.js +2 -2
- package/{bin/src → src}/models/search-country-faq/public-search-country-faq-client.d.ts +7 -7
- package/{bin/src → src}/models/search-country-faq/public-search-country-faq-client.js +16 -16
- package/{bin/src → src}/models/search-discipline/i-search-discipline.d.ts +26 -26
- package/{bin/src → src}/models/search-discipline/i-search-discipline.js +2 -2
- package/{bin/src → src}/models/search-discipline/public-search-discipline-client.d.ts +7 -7
- package/{bin/src → src}/models/search-discipline/public-search-discipline-client.js +16 -16
- package/{bin/src → src}/models/search-projection/i-geo-targeting-configuration.d.ts +38 -38
- package/{bin/src → src}/models/search-projection/i-geo-targeting-configuration.js +2 -2
- package/{bin/src → src}/models/search-projection/i-geo-targeting-values.d.ts +30 -30
- package/{bin/src → src}/models/search-projection/i-geo-targeting-values.js +2 -2
- package/{bin/src → src}/models/search-projection/i-organisation-values.d.ts +40 -40
- package/{bin/src → src}/models/search-projection/i-organisation-values.js +2 -2
- package/{bin/src → src}/models/search-projection/i-premium-values.d.ts +35 -35
- package/{bin/src → src}/models/search-projection/i-premium-values.js +2 -2
- package/{bin/src → src}/models/search-projection/i-search-projection.d.ts +180 -180
- package/{bin/src → src}/models/search-projection/i-search-projection.js +2 -2
- package/{bin/src → src}/models/search-projection/i-tuition-values.d.ts +50 -50
- package/{bin/src → src}/models/search-projection/i-tuition-values.js +2 -2
- package/{bin/src → src}/models/search-projection/search-projection-client.d.ts +7 -7
- package/{bin/src → src}/models/search-projection/search-projection-client.js +16 -16
- package/{bin/src → src}/models/sitemap-articles-info/i-sitemap-article-info.d.ts +14 -14
- package/{bin/src → src}/models/sitemap-articles-info/i-sitemap-article-info.js +2 -2
- package/{bin/src → src}/models/sitemap-articles-info/sitemap-articles-info-client.d.ts +7 -7
- package/{bin/src → src}/models/sitemap-articles-info/sitemap-articles-info-client.js +16 -16
- package/{bin/src → src}/models/sitemap-cities-info/i-sitemap-city-info.d.ts +14 -14
- package/{bin/src → src}/models/sitemap-cities-info/i-sitemap-city-info.js +2 -2
- package/{bin/src → src}/models/sitemap-cities-info/sitemap-cities-info-client.d.ts +7 -7
- package/{bin/src → src}/models/sitemap-cities-info/sitemap-cities-info-client.js +16 -16
- package/{bin/src → src}/models/sitemap-countries-info/i-sitemap-country-info.d.ts +14 -14
- package/{bin/src → src}/models/sitemap-countries-info/i-sitemap-country-info.js +2 -2
- package/{bin/src → src}/models/sitemap-countries-info/sitemap-countries-info-client.d.ts +7 -7
- package/{bin/src → src}/models/sitemap-countries-info/sitemap-countries-info-client.js +16 -16
- package/{bin/src → src}/models/sitemap-country-degree-info/i-degree-info.d.ts +14 -14
- package/{bin/src → src}/models/sitemap-country-degree-info/i-degree-info.js +2 -2
- package/{bin/src → src}/models/sitemap-country-degree-info/i-sitemap-country-degree-info.d.ts +11 -11
- package/{bin/src → src}/models/sitemap-country-degree-info/i-sitemap-country-degree-info.js +2 -2
- package/{bin/src → src}/models/sitemap-country-degree-info/sitemap-country-degree-info-client.d.ts +7 -7
- package/{bin/src → src}/models/sitemap-country-degree-info/sitemap-country-degree-info-client.js +16 -16
- package/{bin/src → src}/models/sitemap-disciplines-info/i-sitemap-discipline-info.d.ts +14 -14
- package/{bin/src → src}/models/sitemap-disciplines-info/i-sitemap-discipline-info.js +2 -2
- package/{bin/src → src}/models/sitemap-disciplines-info/sitemap-disciplines-info-client.d.ts +7 -7
- package/{bin/src → src}/models/sitemap-disciplines-info/sitemap-disciplines-info-client.js +16 -16
- package/{bin/src → src}/models/sitemap-organisations-info/i-sitemap-organisation-info.d.ts +26 -26
- package/{bin/src → src}/models/sitemap-organisations-info/i-sitemap-organisation-info.js +2 -2
- package/{bin/src → src}/models/sitemap-organisations-info/sitemap-organisations-info-client.d.ts +7 -7
- package/{bin/src → src}/models/sitemap-organisations-info/sitemap-organisations-info-client.js +16 -16
- package/{bin/src → src}/models/sitemap-programme-info/i-sitemap-programme-info.d.ts +26 -26
- package/{bin/src → src}/models/sitemap-programme-info/i-sitemap-programme-info.js +2 -2
- package/{bin/src → src}/models/sitemap-programme-info/sitemap-programme-info-client.d.ts +7 -7
- package/{bin/src → src}/models/sitemap-programme-info/sitemap-programme-info-client.js +16 -16
- package/{bin/src → src}/models/sitemap-rankings-info/i-sitemap-rankings-info.d.ts +14 -14
- package/{bin/src → src}/models/sitemap-rankings-info/i-sitemap-rankings-info.js +2 -2
- package/{bin/src → src}/models/sitemap-rankings-info/sitemap-rankings-info-client.d.ts +7 -7
- package/{bin/src → src}/models/sitemap-rankings-info/sitemap-rankings-info-client.js +16 -16
- package/{bin/src → src}/types/portal-map.d.ts +2 -2
- package/{bin/src → src}/types/portal-map.js +2 -2
- package/{bin/src → src}/types/portal-type.d.ts +7 -7
- package/{bin/src → src}/types/portal-type.js +11 -11
- package/{bin/src → src}/types.d.ts +4 -4
- package/{bin/src → src}/types.js +2 -2
- package/.eslintignore +0 -3
- package/.eslintrc.js +0 -13
- package/.github/dependabot.yml +0 -17
- package/.github/stale.yml +0 -10
- package/.mocharc.yml +0 -3
- package/.nycrc +0 -15
- package/README.md +0 -117
- package/bin/package.json +0 -55
- package/index.ts +0 -147
- package/src/domain-client.ts +0 -70
- package/src/exceptions/bad-request-exception.ts +0 -2
- package/src/exceptions/client-exception.ts +0 -2
- package/src/exceptions/internal-server-exception.ts +0 -2
- package/src/exceptions/not-found-exception.ts +0 -2
- package/src/exceptions/property-not-available-exception.ts +0 -2
- package/src/factories/DateFactory.ts +0 -8
- package/src/factories/InternalLinkFactory.ts +0 -27
- package/src/i-api-response.ts +0 -7
- package/src/i-class-factory.ts +0 -5
- package/src/i-model-description.ts +0 -13
- package/src/model-client.ts +0 -77
- package/src/model-factory.ts +0 -94
- package/src/models/bestfit-programme/bestfit-programme-client.ts +0 -16
- package/src/models/bestfit-programme/i-best-fit-programme.ts +0 -102
- package/src/models/bestfit-programme/i-city.ts +0 -16
- package/src/models/bestfit-programme/i-living-cost.ts +0 -23
- package/src/models/common/i-city.ts +0 -16
- package/src/models/common/i-country.ts +0 -23
- package/src/models/common/i-english-requirements.ts +0 -56
- package/src/models/common/i-g-p-a-requirement.ts +0 -23
- package/src/models/common/i-internal-link.ts +0 -32
- package/src/models/common/i-logo.ts +0 -16
- package/src/models/common/i-tuition-fee.ts +0 -57
- package/src/models/compare-programme/compare-programme-client.ts +0 -16
- package/src/models/compare-programme/i-compare-programme.ts +0 -126
- package/src/models/dotdigital-organisation/dotdigital-organisation-client.ts +0 -16
- package/src/models/dotdigital-organisation/i-dot-digital-organisation.ts +0 -62
- package/src/models/dotdigital-organisation/i-review.ts +0 -12
- package/src/models/dotdigital-programme/dotdigital-programme-client.ts +0 -16
- package/src/models/dotdigital-programme/i-dot-digital-programme.ts +0 -122
- package/src/models/dotdigital-programme/i-internal-link.ts +0 -32
- package/src/models/programme-card/i-click-tracking-data.ts +0 -8
- package/src/models/programme-card/i-cover.ts +0 -16
- package/src/models/programme-card/i-deadline.ts +0 -23
- package/src/models/programme-card/i-duration.ts +0 -46
- package/src/models/programme-card/i-internal-link.ts +0 -32
- package/src/models/programme-card/i-link.ts +0 -25
- package/src/models/programme-card/i-location.ts +0 -22
- package/src/models/programme-card/i-logo.ts +0 -16
- package/src/models/programme-card/i-optional-link.ts +0 -27
- package/src/models/programme-card/i-programme-card.ts +0 -212
- package/src/models/programme-card/i-start-date.ts +0 -39
- package/src/models/programme-card/i-timing.ts +0 -53
- package/src/models/programme-card/i-tracked-link.ts +0 -34
- package/src/models/programme-card/i-tracking.ts +0 -55
- package/src/models/programme-card/i-tuition-fee.ts +0 -57
- package/src/models/programme-card/programme-card-client.ts +0 -16
- package/src/models/ranking-cards/i-ranking-card.ts +0 -74
- package/src/models/ranking-cards/i-ranking-cards.ts +0 -18
- package/src/models/ranking-cards/i-ranking.ts +0 -22
- package/src/models/ranking-cards/public-ranking-cards-client.ts +0 -16
- package/src/models/scholarship-card/i-scholarship-card.ts +0 -26
- package/src/models/scholarship-card/public-scholarship-card-client.ts +0 -16
- package/src/models/search-country-faq/i-search-country-faq.ts +0 -22
- package/src/models/search-country-faq/public-search-country-faq-client.ts +0 -16
- package/src/models/search-discipline/i-search-discipline.ts +0 -32
- package/src/models/search-discipline/public-search-discipline-client.ts +0 -16
- package/src/models/search-projection/i-geo-targeting-configuration.ts +0 -44
- package/src/models/search-projection/i-geo-targeting-values.ts +0 -38
- package/src/models/search-projection/i-organisation-values.ts +0 -46
- package/src/models/search-projection/i-premium-values.ts +0 -43
- package/src/models/search-projection/i-search-projection.ts +0 -216
- package/src/models/search-projection/i-tuition-values.ts +0 -63
- package/src/models/search-projection/search-projection-client.ts +0 -16
- package/src/models/sitemap-articles-info/i-sitemap-article-info.ts +0 -17
- package/src/models/sitemap-articles-info/sitemap-articles-info-client.ts +0 -16
- package/src/models/sitemap-cities-info/i-sitemap-city-info.ts +0 -17
- package/src/models/sitemap-cities-info/sitemap-cities-info-client.ts +0 -16
- package/src/models/sitemap-countries-info/i-sitemap-country-info.ts +0 -17
- package/src/models/sitemap-countries-info/sitemap-countries-info-client.ts +0 -16
- package/src/models/sitemap-country-degree-info/i-degree-info.ts +0 -17
- package/src/models/sitemap-country-degree-info/i-sitemap-country-degree-info.ts +0 -14
- package/src/models/sitemap-country-degree-info/sitemap-country-degree-info-client.ts +0 -16
- package/src/models/sitemap-disciplines-info/i-sitemap-discipline-info.ts +0 -17
- package/src/models/sitemap-disciplines-info/sitemap-disciplines-info-client.ts +0 -16
- package/src/models/sitemap-organisations-info/i-sitemap-organisation-info.ts +0 -32
- package/src/models/sitemap-organisations-info/sitemap-organisations-info-client.ts +0 -16
- package/src/models/sitemap-programme-info/i-sitemap-programme-info.ts +0 -32
- package/src/models/sitemap-programme-info/sitemap-programme-info-client.ts +0 -16
- package/src/models/sitemap-rankings-info/i-sitemap-rankings-info.ts +0 -17
- package/src/models/sitemap-rankings-info/sitemap-rankings-info-client.ts +0 -16
- package/src/types/portal-map.ts +0 -3
- package/src/types/portal-type.ts +0 -7
- package/src/types.ts +0 -4
- package/tsconfig.json +0 -40
- /package/{bin/index.js.map → index.js.map} +0 -0
- /package/{bin/src → src}/domain-client.js.map +0 -0
- /package/{bin/src → src}/exceptions/bad-request-exception.js.map +0 -0
- /package/{bin/src → src}/exceptions/client-exception.js.map +0 -0
- /package/{bin/src → src}/exceptions/internal-server-exception.js.map +0 -0
- /package/{bin/src → src}/exceptions/not-found-exception.js.map +0 -0
- /package/{bin/src → src}/exceptions/property-not-available-exception.js.map +0 -0
- /package/{bin/src → src}/factories/DateFactory.js.map +0 -0
- /package/{bin/src → src}/factories/InternalLinkFactory.js.map +0 -0
- /package/{bin/src → src}/i-api-response.js.map +0 -0
- /package/{bin/src → src}/i-class-factory.js.map +0 -0
- /package/{bin/src → src}/i-model-description.js.map +0 -0
- /package/{bin/src → src}/model-client.js.map +0 -0
- /package/{bin/src → src}/model-factory.js.map +0 -0
- /package/{bin/src → src}/models/bestfit-programme/bestfit-programme-client.js.map +0 -0
- /package/{bin/src → src}/models/bestfit-programme/i-best-fit-programme.js.map +0 -0
- /package/{bin/src → src}/models/bestfit-programme/i-city.js.map +0 -0
- /package/{bin/src → src}/models/bestfit-programme/i-living-cost.js.map +0 -0
- /package/{bin/src → src}/models/common/i-city.js.map +0 -0
- /package/{bin/src → src}/models/common/i-country.js.map +0 -0
- /package/{bin/src → src}/models/common/i-english-requirements.js.map +0 -0
- /package/{bin/src → src}/models/common/i-g-p-a-requirement.js.map +0 -0
- /package/{bin/src → src}/models/common/i-internal-link.js.map +0 -0
- /package/{bin/src → src}/models/common/i-logo.js.map +0 -0
- /package/{bin/src → src}/models/common/i-tuition-fee.js.map +0 -0
- /package/{bin/src → src}/models/compare-programme/compare-programme-client.js.map +0 -0
- /package/{bin/src → src}/models/compare-programme/i-compare-programme.js.map +0 -0
- /package/{bin/src → src}/models/dotdigital-organisation/dotdigital-organisation-client.js.map +0 -0
- /package/{bin/src → src}/models/dotdigital-organisation/i-dot-digital-organisation.js.map +0 -0
- /package/{bin/src → src}/models/dotdigital-organisation/i-review.js.map +0 -0
- /package/{bin/src → src}/models/dotdigital-programme/dotdigital-programme-client.js.map +0 -0
- /package/{bin/src → src}/models/dotdigital-programme/i-dot-digital-programme.js.map +0 -0
- /package/{bin/src → src}/models/dotdigital-programme/i-internal-link.js.map +0 -0
- /package/{bin/src → src}/models/programme-card/i-click-tracking-data.js.map +0 -0
- /package/{bin/src → src}/models/programme-card/i-cover.js.map +0 -0
- /package/{bin/src → src}/models/programme-card/i-deadline.js.map +0 -0
- /package/{bin/src → src}/models/programme-card/i-duration.js.map +0 -0
- /package/{bin/src → src}/models/programme-card/i-internal-link.js.map +0 -0
- /package/{bin/src → src}/models/programme-card/i-link.js.map +0 -0
- /package/{bin/src → src}/models/programme-card/i-location.js.map +0 -0
- /package/{bin/src → src}/models/programme-card/i-logo.js.map +0 -0
- /package/{bin/src → src}/models/programme-card/i-optional-link.js.map +0 -0
- /package/{bin/src → src}/models/programme-card/i-programme-card.js.map +0 -0
- /package/{bin/src → src}/models/programme-card/i-start-date.js.map +0 -0
- /package/{bin/src → src}/models/programme-card/i-timing.js.map +0 -0
- /package/{bin/src → src}/models/programme-card/i-tracked-link.js.map +0 -0
- /package/{bin/src → src}/models/programme-card/i-tracking.js.map +0 -0
- /package/{bin/src → src}/models/programme-card/i-tuition-fee.js.map +0 -0
- /package/{bin/src → src}/models/programme-card/programme-card-client.js.map +0 -0
- /package/{bin/src → src}/models/ranking-cards/i-ranking-card.js.map +0 -0
- /package/{bin/src → src}/models/ranking-cards/i-ranking-cards.js.map +0 -0
- /package/{bin/src → src}/models/ranking-cards/i-ranking.js.map +0 -0
- /package/{bin/src → src}/models/ranking-cards/public-ranking-cards-client.js.map +0 -0
- /package/{bin/src → src}/models/scholarship-card/i-scholarship-card.js.map +0 -0
- /package/{bin/src → src}/models/scholarship-card/public-scholarship-card-client.js.map +0 -0
- /package/{bin/src → src}/models/search-country-faq/i-search-country-faq.js.map +0 -0
- /package/{bin/src → src}/models/search-country-faq/public-search-country-faq-client.js.map +0 -0
- /package/{bin/src → src}/models/search-discipline/i-search-discipline.js.map +0 -0
- /package/{bin/src → src}/models/search-discipline/public-search-discipline-client.js.map +0 -0
- /package/{bin/src → src}/models/search-projection/i-geo-targeting-configuration.js.map +0 -0
- /package/{bin/src → src}/models/search-projection/i-geo-targeting-values.js.map +0 -0
- /package/{bin/src → src}/models/search-projection/i-organisation-values.js.map +0 -0
- /package/{bin/src → src}/models/search-projection/i-premium-values.js.map +0 -0
- /package/{bin/src → src}/models/search-projection/i-search-projection.js.map +0 -0
- /package/{bin/src → src}/models/search-projection/i-tuition-values.js.map +0 -0
- /package/{bin/src → src}/models/search-projection/search-projection-client.js.map +0 -0
- /package/{bin/src → src}/models/sitemap-articles-info/i-sitemap-article-info.js.map +0 -0
- /package/{bin/src → src}/models/sitemap-articles-info/sitemap-articles-info-client.js.map +0 -0
- /package/{bin/src → src}/models/sitemap-cities-info/i-sitemap-city-info.js.map +0 -0
- /package/{bin/src → src}/models/sitemap-cities-info/sitemap-cities-info-client.js.map +0 -0
- /package/{bin/src → src}/models/sitemap-countries-info/i-sitemap-country-info.js.map +0 -0
- /package/{bin/src → src}/models/sitemap-countries-info/sitemap-countries-info-client.js.map +0 -0
- /package/{bin/src → src}/models/sitemap-country-degree-info/i-degree-info.js.map +0 -0
- /package/{bin/src → src}/models/sitemap-country-degree-info/i-sitemap-country-degree-info.js.map +0 -0
- /package/{bin/src → src}/models/sitemap-country-degree-info/sitemap-country-degree-info-client.js.map +0 -0
- /package/{bin/src → src}/models/sitemap-disciplines-info/i-sitemap-discipline-info.js.map +0 -0
- /package/{bin/src → src}/models/sitemap-disciplines-info/sitemap-disciplines-info-client.js.map +0 -0
- /package/{bin/src → src}/models/sitemap-organisations-info/i-sitemap-organisation-info.js.map +0 -0
- /package/{bin/src → src}/models/sitemap-organisations-info/sitemap-organisations-info-client.js.map +0 -0
- /package/{bin/src → src}/models/sitemap-programme-info/i-sitemap-programme-info.js.map +0 -0
- /package/{bin/src → src}/models/sitemap-programme-info/sitemap-programme-info-client.js.map +0 -0
- /package/{bin/src → src}/models/sitemap-rankings-info/i-sitemap-rankings-info.js.map +0 -0
- /package/{bin/src → src}/models/sitemap-rankings-info/sitemap-rankings-info-client.js.map +0 -0
- /package/{bin/src → src}/types/portal-map.js.map +0 -0
- /package/{bin/src → src}/types/portal-type.js.map +0 -0
- /package/{bin/src → src}/types.js.map +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export declare enum PortalType {
|
|
2
|
-
MASTER = "master",
|
|
3
|
-
BACHELOR = "bachelor",
|
|
4
|
-
PHD = "phd",
|
|
5
|
-
SHORT = "short",
|
|
6
|
-
DISTANCE_LEARNING = "distance_learning"
|
|
7
|
-
}
|
|
1
|
+
export declare enum PortalType {
|
|
2
|
+
MASTER = "master",
|
|
3
|
+
BACHELOR = "bachelor",
|
|
4
|
+
PHD = "phd",
|
|
5
|
+
SHORT = "short",
|
|
6
|
+
DISTANCE_LEARNING = "distance_learning"
|
|
7
|
+
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PortalType = void 0;
|
|
4
|
-
var PortalType;
|
|
5
|
-
(function (PortalType) {
|
|
6
|
-
PortalType["MASTER"] = "master";
|
|
7
|
-
PortalType["BACHELOR"] = "bachelor";
|
|
8
|
-
PortalType["PHD"] = "phd";
|
|
9
|
-
PortalType["SHORT"] = "short";
|
|
10
|
-
PortalType["DISTANCE_LEARNING"] = "distance_learning";
|
|
11
|
-
})(PortalType = exports.PortalType || (exports.PortalType = {}));
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PortalType = void 0;
|
|
4
|
+
var PortalType;
|
|
5
|
+
(function (PortalType) {
|
|
6
|
+
PortalType["MASTER"] = "master";
|
|
7
|
+
PortalType["BACHELOR"] = "bachelor";
|
|
8
|
+
PortalType["PHD"] = "phd";
|
|
9
|
+
PortalType["SHORT"] = "short";
|
|
10
|
+
PortalType["DISTANCE_LEARNING"] = "distance_learning";
|
|
11
|
+
})(PortalType = exports.PortalType || (exports.PortalType = {}));
|
|
12
12
|
//# sourceMappingURL=portal-type.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type Model = Record<string, Callable>;
|
|
2
|
-
export type Callable = () => CallableReturnType | CallableReturnType[];
|
|
3
|
-
export type CallableReturnType = AcceptedType | Model;
|
|
4
|
-
export type AcceptedType = string | string[] | number | number[] | boolean | null | Date;
|
|
1
|
+
export type Model = Record<string, Callable>;
|
|
2
|
+
export type Callable = () => CallableReturnType | CallableReturnType[];
|
|
3
|
+
export type CallableReturnType = AcceptedType | Model;
|
|
4
|
+
export type AcceptedType = string | string[] | number | number[] | boolean | null | Date;
|
package/{bin/src → src}/types.js
RENAMED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
//# sourceMappingURL=types.js.map
|
package/.eslintignore
DELETED
package/.eslintrc.js
DELETED
package/.github/dependabot.yml
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
version: 2
|
|
2
|
-
updates:
|
|
3
|
-
- package-ecosystem: npm
|
|
4
|
-
directory: "/"
|
|
5
|
-
schedule:
|
|
6
|
-
interval: daily
|
|
7
|
-
time: "04:00"
|
|
8
|
-
open-pull-requests-limit: 10
|
|
9
|
-
reviewers:
|
|
10
|
-
- studyportals/plop
|
|
11
|
-
labels:
|
|
12
|
-
- component-library
|
|
13
|
-
allow:
|
|
14
|
-
- dependency-name: "@studyportals/*"
|
|
15
|
-
ignore:
|
|
16
|
-
- dependency-name: "@studyportals/*"
|
|
17
|
-
update-types: ["version-update:semver-patch"]
|
package/.github/stale.yml
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
daysUntilStale: 14
|
|
2
|
-
daysUntilClose: 46
|
|
3
|
-
exemptLabels:
|
|
4
|
-
- pinned
|
|
5
|
-
staleLabel: stale
|
|
6
|
-
markComment: >
|
|
7
|
-
This issue has been automatically marked as stale because it has not had
|
|
8
|
-
recent activity. It will be closed if no further activity occurs. Thank you
|
|
9
|
-
for your contributions.
|
|
10
|
-
closeComment: false
|
package/.mocharc.yml
DELETED
package/.nycrc
DELETED
package/README.md
DELETED
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
# Domain Client
|
|
2
|
-
|
|
3
|
-
A lightweight client for fetching data from the Domain API and returning it as
|
|
4
|
-
strongly typed classes defined by the `Domain API`.
|
|
5
|
-
|
|
6
|
-
## Installation
|
|
7
|
-
|
|
8
|
-
```
|
|
9
|
-
npm install @studyportals/domain-client --save
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
## Publishing new version
|
|
13
|
-
To publish a new version to npm run one of the following commnads
|
|
14
|
-
```bash
|
|
15
|
-
npm run publish-beta # Increase the beta version and publishes
|
|
16
|
-
npm run publish-major # Increases the major version publishes
|
|
17
|
-
npm run publish-minor # Increases the minor version and publishes
|
|
18
|
-
npm run publish-patch # Increases the patch version and publishes
|
|
19
|
-
npm run publish-current # Publishes the current version.
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
## Default usage
|
|
23
|
-
|
|
24
|
-
Instantiate your client class (_ProgrammeCard client as example_) with all
|
|
25
|
-
parameters:
|
|
26
|
-
```typescript
|
|
27
|
-
const client = new ProgrammeCardClient(
|
|
28
|
-
domainApiUrl, // The url to the Domain API endpoint
|
|
29
|
-
apiKey, // The API key provided by PLOP for your implementation
|
|
30
|
-
probabilitySeed, // Number between 1 and 100 (inclusive)
|
|
31
|
-
portalMap // PortalMap mapping between PortalType and portal base url
|
|
32
|
-
);
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
A PortalMap example:
|
|
36
|
-
```typescript
|
|
37
|
-
const portalMap = new Map<PortalType, string>()
|
|
38
|
-
.set(PortalType.MASTER, 'https://42069.mastersportal.fyi')
|
|
39
|
-
.set(PortalType.PHD, 'https://42069.phdportal.fyi')
|
|
40
|
-
.set(PortalType.BACHELOR, 'https://42069.bachelorsportal.fyi')
|
|
41
|
-
.set(PortalType.SHORT, 'https://42069.shortcoursesportal.fyi')
|
|
42
|
-
.set(PortalType.DISTANCE_LEARNING, 'https://42069.distancelearningportal.fyi')
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
Fetch your model using the `fetch()` method with the requested ID (_in this
|
|
46
|
-
example programme ID_):
|
|
47
|
-
```typescript
|
|
48
|
-
const card: IProgrammeCard = await client.fetch(5);
|
|
49
|
-
```
|
|
50
|
-
Or get multiple using `fetchMultiple()` with the requested IDs (_in this example
|
|
51
|
-
programme IDs_):
|
|
52
|
-
```typescript
|
|
53
|
-
const cards: IProgrammeCard[] = await client.fetchMultiple([5, 9, 13]);
|
|
54
|
-
```
|
|
55
|
-
Some functions are accompanied by a `canShow` function that indicates its
|
|
56
|
-
availability. If the value is not set the function will throw a
|
|
57
|
-
`PropertyNotAvailableException`:
|
|
58
|
-
|
|
59
|
-
```typescript
|
|
60
|
-
const card: IProgrammeCard = await client.fetch(5);
|
|
61
|
-
|
|
62
|
-
// Might throw PropertyNotAvailableException
|
|
63
|
-
const cover: ICover = card.getCover();
|
|
64
|
-
|
|
65
|
-
// Safe behaviour
|
|
66
|
-
if (card.canShowCover()) {
|
|
67
|
-
const cover: ICover = card.getCover();
|
|
68
|
-
}
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
## Separated usage
|
|
72
|
-
|
|
73
|
-
In some cases you might want to separate the fetching of the information from
|
|
74
|
-
the usage of that information; for instance getting the information in your
|
|
75
|
-
back-end service and passing it to the front-end application for usage.
|
|
76
|
-
|
|
77
|
-
First instantiate your client class with all parameters:
|
|
78
|
-
```typescript
|
|
79
|
-
const client = new ProgrammeCardClient(
|
|
80
|
-
domainApiUrl, // The url to the Domain API endpoint
|
|
81
|
-
apiKey, // The API key provided by PLOP for your implementation
|
|
82
|
-
probabilitySeed // Number between 1 and 100 (inclusive)
|
|
83
|
-
);
|
|
84
|
-
```
|
|
85
|
-
To do this you can use the `fetchDescription()` method instead and encode it as
|
|
86
|
-
JSON:
|
|
87
|
-
```typescript
|
|
88
|
-
const card: IModelDescription = await client.fetchDescription(5);
|
|
89
|
-
const jsonData: string = JSON.stringify(card);
|
|
90
|
-
```
|
|
91
|
-
Or use the `fetchMultipleDescriptions()` function to fetch multiple descriptions:
|
|
92
|
-
```typescript
|
|
93
|
-
const cards: IModelDescription[] = await client.fetchMultipleDescriptions([5, 9, 13]);
|
|
94
|
-
const jsonData: string = JSON.stringify(cards);
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
When you're ready to use the information in the models you can use the existing
|
|
98
|
-
client or instantiate a new one without parameters:
|
|
99
|
-
```typescript
|
|
100
|
-
const client = new ProgrammeCardClient();
|
|
101
|
-
```
|
|
102
|
-
After which you can use the `fromDescription()` and `fromDescriptions()`
|
|
103
|
-
functions to retrieve your models:
|
|
104
|
-
```typescript
|
|
105
|
-
const descriptions: IModelDescription[] = JSON.parse(jsonData);
|
|
106
|
-
const card: IProgrammeCard = client.fromDescription(descriptions[0]);
|
|
107
|
-
const cards: IProgrammeCard[] = client.fromDescriptions(descriptions);
|
|
108
|
-
```
|
|
109
|
-
Note that creating a client without providing the required parameters will
|
|
110
|
-
result in all network functionalities of the client being unavailable. In this
|
|
111
|
-
case the following functions will throw a `ClientException`:
|
|
112
|
-
```typescript
|
|
113
|
-
await client.fetch(1);
|
|
114
|
-
await client.fetchMultiple([5, 9, 13]);
|
|
115
|
-
await client.fetchDescription(1);
|
|
116
|
-
await client.fetchMultipleDescriptions([5, 9, 13]);
|
|
117
|
-
```
|
package/bin/package.json
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@studyportals/domain-client",
|
|
3
|
-
"version": "3.18.0",
|
|
4
|
-
"description": "Responsible for fetching data from the Domain API",
|
|
5
|
-
"main": "bin/index.js",
|
|
6
|
-
"author": "StudyPortals B.V.",
|
|
7
|
-
"contributors": [
|
|
8
|
-
"braaibander <danny@studyportals.com>"
|
|
9
|
-
],
|
|
10
|
-
"license": "BSD-3-Clause",
|
|
11
|
-
"scripts": {
|
|
12
|
-
"test": "mocha --reporter spec \"tests/**/*.test.ts\"",
|
|
13
|
-
"coverage": "nyc mocha --reporter dot \"tests/**/*.test.ts\"",
|
|
14
|
-
"lint": "eslint . --ext .ts --max-warnings=0",
|
|
15
|
-
"lint:fix": "eslint . --ext .ts --fix",
|
|
16
|
-
"pre-push": "npm run test && npm run coverage && npm run lint",
|
|
17
|
-
"prepare-dist": "npm run test && rm -fR bin && npx tsc && cp package.json bin/package.json && rm -fR bin/tests",
|
|
18
|
-
"publish-beta": "npm version prerelease --preid=beta && npm run prepare-dist && npm publish ./bin --tag beta",
|
|
19
|
-
"publish-major": "npm version major && npm run prepare-dist && npm publish ./bin",
|
|
20
|
-
"publish-minor": "npm version minor && npm run prepare-dist && npm publish ./bin",
|
|
21
|
-
"publish-patch": "npm version patch && npm run prepare-dist && npm publish ./bin",
|
|
22
|
-
"publish-current": "npm run prepare-dist && npm publish ./bin"
|
|
23
|
-
},
|
|
24
|
-
"husky": {
|
|
25
|
-
"hooks": {
|
|
26
|
-
"pre-push": "npm run pre-push"
|
|
27
|
-
}
|
|
28
|
-
},
|
|
29
|
-
"dependencies": {
|
|
30
|
-
"axios": "^0.21.0"
|
|
31
|
-
},
|
|
32
|
-
"devDependencies": {
|
|
33
|
-
"@studyportals/code-style": "^1.8.1",
|
|
34
|
-
"@testdeck/mocha": "^0.3.3",
|
|
35
|
-
"@types/axios": "^0.14.0",
|
|
36
|
-
"@types/mocha": "^10.0.0",
|
|
37
|
-
"@types/moxios": "^0.4.9",
|
|
38
|
-
"@types/node": "^14.14.8",
|
|
39
|
-
"@types/reflect-metadata": "^0.1.0",
|
|
40
|
-
"@typescript-eslint/eslint-plugin": "^4.8.1",
|
|
41
|
-
"@typescript-eslint/parser": "^4.8.1",
|
|
42
|
-
"eslint": "^7.13.0",
|
|
43
|
-
"eslint-plugin-import": "^2.22.1",
|
|
44
|
-
"eslint-plugin-mocha": "^10.1.0",
|
|
45
|
-
"husky": "^4.3.0",
|
|
46
|
-
"mocha": "^10.1.0",
|
|
47
|
-
"moxios": "^0.4.0",
|
|
48
|
-
"nyc": "^15.1.0",
|
|
49
|
-
"source-map-support": "^0.5.19",
|
|
50
|
-
"ts-node": "^10.9.1",
|
|
51
|
-
"tslint": "^6.1.3",
|
|
52
|
-
"typemoq": "^2.1.0",
|
|
53
|
-
"typescript": "^4.9.3"
|
|
54
|
-
}
|
|
55
|
-
}
|
package/index.ts
DELETED
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
import { BadRequestException } from "./src/exceptions/bad-request-exception"
|
|
2
|
-
import { ClientException } from "./src/exceptions/client-exception"
|
|
3
|
-
import { InternalServerException } from "./src/exceptions/internal-server-exception"
|
|
4
|
-
import { NotFoundException } from "./src/exceptions/not-found-exception"
|
|
5
|
-
import { PropertyNotAvailableException } from "./src/exceptions/property-not-available-exception"
|
|
6
|
-
import { ICover } from "./src/models/programme-card/i-cover";
|
|
7
|
-
import { ILink } from "./src/models/programme-card/i-link";
|
|
8
|
-
import { IOptionalLink } from "./src/models/programme-card/i-optional-link";
|
|
9
|
-
import { ILocation } from "./src/models/programme-card/i-location";
|
|
10
|
-
import { IClickTrackingData } from "./src/models/programme-card/i-click-tracking-data";
|
|
11
|
-
import { ITracking } from "./src/models/programme-card/i-tracking";
|
|
12
|
-
import { IDuration } from "./src/models/programme-card/i-duration";
|
|
13
|
-
import { IDeadline } from "./src/models/programme-card/i-deadline";
|
|
14
|
-
import { IStartDate } from "./src/models/programme-card/i-start-date";
|
|
15
|
-
import { ITiming } from "./src/models/programme-card/i-timing";
|
|
16
|
-
import { ITrackedLink } from "./src/models/programme-card/i-tracked-link";
|
|
17
|
-
import { IProgrammeCard } from "./src/models/programme-card/i-programme-card";
|
|
18
|
-
import { ProgrammeCardClient } from "./src/models/programme-card/programme-card-client";
|
|
19
|
-
import { ITuitionValues } from "./src/models/search-projection/i-tuition-values";
|
|
20
|
-
import { IPremiumValues } from "./src/models/search-projection/i-premium-values";
|
|
21
|
-
import { IOrganisationValues } from "./src/models/search-projection/i-organisation-values";
|
|
22
|
-
import { IGeoTargetingConfiguration } from "./src/models/search-projection/i-geo-targeting-configuration";
|
|
23
|
-
import { IGeoTargetingValues } from "./src/models/search-projection/i-geo-targeting-values";
|
|
24
|
-
import { ISearchProjection } from "./src/models/search-projection/i-search-projection";
|
|
25
|
-
import { SearchProjectionClient } from "./src/models/search-projection/search-projection-client";
|
|
26
|
-
import { ILivingCost } from "./src/models/bestfit-programme/i-living-cost";
|
|
27
|
-
import { IGPARequirement } from "./src/models/common/i-g-p-a-requirement";
|
|
28
|
-
import { IBestFitProgramme } from "./src/models/bestfit-programme/i-best-fit-programme";
|
|
29
|
-
import { BestfitProgrammeClient } from "./src/models/bestfit-programme/bestfit-programme-client";
|
|
30
|
-
import { ILogo } from "./src/models/common/i-logo";
|
|
31
|
-
import { ITuitionFee } from "./src/models/common/i-tuition-fee";
|
|
32
|
-
import { IEnglishRequirements } from "./src/models/common/i-english-requirements";
|
|
33
|
-
import { IInternalLink } from "./src/models/dotdigital-programme/i-internal-link";
|
|
34
|
-
import { IDotDigitalProgramme } from "./src/models/dotdigital-programme/i-dot-digital-programme";
|
|
35
|
-
import { DotdigitalProgrammeClient } from "./src/models/dotdigital-programme/dotdigital-programme-client";
|
|
36
|
-
import { ISitemapProgrammeInfo } from "./src/models/sitemap-programme-info/i-sitemap-programme-info";
|
|
37
|
-
import { SitemapProgrammeInfoClient } from "./src/models/sitemap-programme-info/sitemap-programme-info-client";
|
|
38
|
-
import { ISearchCountryFaq } from "./src/models/search-country-faq/i-search-country-faq";
|
|
39
|
-
import { PublicSearchCountryFaqClient } from "./src/models/search-country-faq/public-search-country-faq-client";
|
|
40
|
-
import { ISitemapCountryInfo } from "./src/models/sitemap-countries-info/i-sitemap-country-info";
|
|
41
|
-
import { SitemapCountriesInfoClient } from "./src/models/sitemap-countries-info/sitemap-countries-info-client";
|
|
42
|
-
import { IDegreeInfo } from "./src/models/sitemap-country-degree-info/i-degree-info";
|
|
43
|
-
import { ISitemapCountryDegreeInfo } from "./src/models/sitemap-country-degree-info/i-sitemap-country-degree-info";
|
|
44
|
-
import { SitemapCountryDegreeInfoClient } from "./src/models/sitemap-country-degree-info/sitemap-country-degree-info-client";
|
|
45
|
-
import { ISearchDiscipline } from "./src/models/search-discipline/i-search-discipline";
|
|
46
|
-
import { PublicSearchDisciplineClient } from "./src/models/search-discipline/public-search-discipline-client";
|
|
47
|
-
import { ISitemapDisciplineInfo } from "./src/models/sitemap-disciplines-info/i-sitemap-discipline-info";
|
|
48
|
-
import { SitemapDisciplinesInfoClient } from "./src/models/sitemap-disciplines-info/sitemap-disciplines-info-client";
|
|
49
|
-
import { ICountry } from "./src/models/common/i-country";
|
|
50
|
-
import { ICity } from "./src/models/common/i-city";
|
|
51
|
-
import { IReview } from "./src/models/dotdigital-organisation/i-review";
|
|
52
|
-
import { IDotDigitalOrganisation } from "./src/models/dotdigital-organisation/i-dot-digital-organisation";
|
|
53
|
-
import { DotdigitalOrganisationClient } from "./src/models/dotdigital-organisation/dotdigital-organisation-client";
|
|
54
|
-
import { ISitemapOrganisationInfo } from "./src/models/sitemap-organisations-info/i-sitemap-organisation-info";
|
|
55
|
-
import { SitemapOrganisationsInfoClient } from "./src/models/sitemap-organisations-info/sitemap-organisations-info-client";
|
|
56
|
-
import { ISitemapRankingsInfo } from "./src/models/sitemap-rankings-info/i-sitemap-rankings-info";
|
|
57
|
-
import { SitemapRankingsInfoClient } from "./src/models/sitemap-rankings-info/sitemap-rankings-info-client";
|
|
58
|
-
import { ISitemapArticleInfo } from "./src/models/sitemap-articles-info/i-sitemap-article-info";
|
|
59
|
-
import { SitemapArticlesInfoClient } from "./src/models/sitemap-articles-info/sitemap-articles-info-client";
|
|
60
|
-
import { ISitemapCityInfo } from "./src/models/sitemap-cities-info/i-sitemap-city-info";
|
|
61
|
-
import { SitemapCitiesInfoClient } from "./src/models/sitemap-cities-info/sitemap-cities-info-client";
|
|
62
|
-
import { IScholarshipCard } from "./src/models/scholarship-card/i-scholarship-card";
|
|
63
|
-
import { PublicScholarshipCardClient } from "./src/models/scholarship-card/public-scholarship-card-client";
|
|
64
|
-
import { IRankingCards } from './src/models/ranking-cards/i-ranking-cards';
|
|
65
|
-
import { IRankingCard } from './src/models/ranking-cards/i-ranking-card';
|
|
66
|
-
import { IRanking } from './src/models/ranking-cards/i-ranking';
|
|
67
|
-
import { PublicRankingCardsClient } from './src/models/ranking-cards/public-ranking-cards-client';
|
|
68
|
-
import { PortalType } from "./src/types/portal-type";
|
|
69
|
-
import { PortalMap } from "./src/types/portal-map";
|
|
70
|
-
import { ModelClient } from "./src/model-client";
|
|
71
|
-
import { ICompareProgramme } from "./src/models/compare-programme/i-compare-programme"
|
|
72
|
-
import { CompareProgrammeClient } from "./src/models/compare-programme/compare-programme-client"
|
|
73
|
-
|
|
74
|
-
export {
|
|
75
|
-
BadRequestException,
|
|
76
|
-
ClientException,
|
|
77
|
-
InternalServerException,
|
|
78
|
-
NotFoundException,
|
|
79
|
-
PropertyNotAvailableException,
|
|
80
|
-
ICover,
|
|
81
|
-
ILink,
|
|
82
|
-
IOptionalLink,
|
|
83
|
-
ILocation,
|
|
84
|
-
IClickTrackingData,
|
|
85
|
-
ITracking,
|
|
86
|
-
IDuration,
|
|
87
|
-
IDeadline,
|
|
88
|
-
IStartDate,
|
|
89
|
-
ITiming,
|
|
90
|
-
ITrackedLink,
|
|
91
|
-
IProgrammeCard,
|
|
92
|
-
ProgrammeCardClient,
|
|
93
|
-
ITuitionValues,
|
|
94
|
-
IPremiumValues,
|
|
95
|
-
IOrganisationValues,
|
|
96
|
-
IGeoTargetingConfiguration,
|
|
97
|
-
IGeoTargetingValues,
|
|
98
|
-
ISearchProjection,
|
|
99
|
-
SearchProjectionClient,
|
|
100
|
-
ILivingCost,
|
|
101
|
-
IGPARequirement,
|
|
102
|
-
IBestFitProgramme,
|
|
103
|
-
BestfitProgrammeClient,
|
|
104
|
-
ILogo,
|
|
105
|
-
ITuitionFee,
|
|
106
|
-
IEnglishRequirements,
|
|
107
|
-
IInternalLink,
|
|
108
|
-
IDotDigitalProgramme,
|
|
109
|
-
DotdigitalProgrammeClient,
|
|
110
|
-
ISitemapProgrammeInfo,
|
|
111
|
-
SitemapProgrammeInfoClient,
|
|
112
|
-
ISearchCountryFaq,
|
|
113
|
-
PublicSearchCountryFaqClient,
|
|
114
|
-
ISitemapCountryInfo,
|
|
115
|
-
SitemapCountriesInfoClient,
|
|
116
|
-
IDegreeInfo,
|
|
117
|
-
ISitemapCountryDegreeInfo,
|
|
118
|
-
SitemapCountryDegreeInfoClient,
|
|
119
|
-
ISearchDiscipline,
|
|
120
|
-
PublicSearchDisciplineClient,
|
|
121
|
-
ISitemapDisciplineInfo,
|
|
122
|
-
SitemapDisciplinesInfoClient,
|
|
123
|
-
ICountry,
|
|
124
|
-
ICity,
|
|
125
|
-
IReview,
|
|
126
|
-
IDotDigitalOrganisation,
|
|
127
|
-
DotdigitalOrganisationClient,
|
|
128
|
-
ISitemapOrganisationInfo,
|
|
129
|
-
SitemapOrganisationsInfoClient,
|
|
130
|
-
ISitemapRankingsInfo,
|
|
131
|
-
SitemapRankingsInfoClient,
|
|
132
|
-
ISitemapArticleInfo,
|
|
133
|
-
SitemapArticlesInfoClient,
|
|
134
|
-
ISitemapCityInfo,
|
|
135
|
-
SitemapCitiesInfoClient,
|
|
136
|
-
IScholarshipCard,
|
|
137
|
-
PublicScholarshipCardClient,
|
|
138
|
-
IRankingCards,
|
|
139
|
-
IRankingCard,
|
|
140
|
-
IRanking,
|
|
141
|
-
PublicRankingCardsClient,
|
|
142
|
-
ICompareProgramme,
|
|
143
|
-
CompareProgrammeClient,
|
|
144
|
-
PortalType,
|
|
145
|
-
PortalMap,
|
|
146
|
-
ModelClient
|
|
147
|
-
}
|
package/src/domain-client.ts
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import Axios, { AxiosRequestConfig } from "axios";
|
|
2
|
-
|
|
3
|
-
import { BadRequestException } from "./exceptions/bad-request-exception";
|
|
4
|
-
import { InternalServerException } from "./exceptions/internal-server-exception";
|
|
5
|
-
import { NotFoundException } from "./exceptions/not-found-exception";
|
|
6
|
-
import { IApiResponse } from "./i-api-response";
|
|
7
|
-
import { IModelDescription } from "./i-model-description";
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
export class DomainClient {
|
|
11
|
-
|
|
12
|
-
constructor(
|
|
13
|
-
public readonly baseUrl: string,
|
|
14
|
-
public readonly apiKey: string | undefined,
|
|
15
|
-
public readonly model: string,
|
|
16
|
-
public readonly version: string,
|
|
17
|
-
public readonly isPublic: boolean,
|
|
18
|
-
public readonly seed: number
|
|
19
|
-
) {
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
public async doRequest(ids: number[]): Promise<IModelDescription[]> {
|
|
23
|
-
const url = this.buildUrl(ids);
|
|
24
|
-
const config: AxiosRequestConfig = { baseURL: this.baseUrl }
|
|
25
|
-
if (this.apiKey !== undefined) {
|
|
26
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
27
|
-
config["headers"] = {'x-api-key': this.apiKey}
|
|
28
|
-
}
|
|
29
|
-
const axiosResponse = await Axios.get(url, config);
|
|
30
|
-
const response = axiosResponse.data as IApiResponse;
|
|
31
|
-
this.handleErrors(response);
|
|
32
|
-
|
|
33
|
-
const models: IModelDescription[] = [];
|
|
34
|
-
for (const id of ids) {
|
|
35
|
-
const modelData = response.data[id];
|
|
36
|
-
if (!modelData) {
|
|
37
|
-
continue;
|
|
38
|
-
}
|
|
39
|
-
models.push(modelData);
|
|
40
|
-
}
|
|
41
|
-
return models;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
private handleErrors(response: IApiResponse): void {
|
|
45
|
-
if (!response.status) {
|
|
46
|
-
throw new InternalServerException(response.message);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
if (response.status === 400) {
|
|
50
|
-
throw new BadRequestException(response.message);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
if (response.status === 404) {
|
|
54
|
-
throw new NotFoundException(response.message);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
private buildUrl(ids: number[]): string {
|
|
59
|
-
const publicPrefix = this.shouldAddPublicPrefix() ? 'public/' : '';
|
|
60
|
-
let query = `${publicPrefix}${this.model}/${this.version}/?seed=${this.seed}`;
|
|
61
|
-
for (const id of ids) {
|
|
62
|
-
query += `&id=${id}`;
|
|
63
|
-
}
|
|
64
|
-
return query;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
private shouldAddPublicPrefix(): boolean {
|
|
68
|
-
return this.isPublic && this.apiKey === undefined;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { IClassFactory } from "../i-class-factory";
|
|
2
|
-
import { CallableReturnType, Model } from "../types";
|
|
3
|
-
|
|
4
|
-
export class DateFactory implements IClassFactory {
|
|
5
|
-
public create(data: Model, parameters: string[]): CallableReturnType {
|
|
6
|
-
return new Date(parameters[0]);
|
|
7
|
-
}
|
|
8
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { IClassFactory } from "../i-class-factory";
|
|
2
|
-
import { PortalType } from "../types/portal-type";
|
|
3
|
-
import { CallableReturnType, Model } from "../types";
|
|
4
|
-
import { PortalMap } from "../types/portal-map";
|
|
5
|
-
|
|
6
|
-
export class InternalLinkFactory implements IClassFactory {
|
|
7
|
-
private portalMap: PortalMap;
|
|
8
|
-
|
|
9
|
-
constructor(portalMap: PortalMap) {
|
|
10
|
-
this.portalMap = portalMap;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
public create(link: Model): CallableReturnType {
|
|
14
|
-
const portalBaseUrl = this.getPortalBaseUrl(link.getPortalType() as PortalType);
|
|
15
|
-
|
|
16
|
-
const path = link['getUrl']() as string;
|
|
17
|
-
link['getUrl'] = (): string => portalBaseUrl + path;
|
|
18
|
-
|
|
19
|
-
return link;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
private getPortalBaseUrl(portalType: PortalType): string {
|
|
23
|
-
const url = this.portalMap.get(portalType);
|
|
24
|
-
return url || '';
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
}
|
package/src/i-api-response.ts
DELETED
package/src/i-class-factory.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { AcceptedType } from "./types";
|
|
2
|
-
|
|
3
|
-
export interface IModelDescription {
|
|
4
|
-
class: string;
|
|
5
|
-
func: Record<string, AcceptedType | IModelDescription>;
|
|
6
|
-
parameters?: any[];
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
// eslint-disable-next-line
|
|
10
|
-
export function isModelDescription(arg: any): arg is IModelDescription {
|
|
11
|
-
// eslint-disable-next-line
|
|
12
|
-
return arg && arg.class && (arg.func || arg.parameters);
|
|
13
|
-
}
|