@studyportals/domain-client 6.1.0-beta.0 → 6.1.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (822) hide show
  1. package/{bin/index.d.ts → index.d.ts} +8 -1
  2. package/index.js +33 -0
  3. package/package.json +6 -6
  4. package/protobuf/Area.d.ts +11 -0
  5. package/protobuf/Area.js +30 -0
  6. package/protobuf/Article.d.ts +60 -0
  7. package/protobuf/Article.js +226 -0
  8. package/protobuf/Body.d.ts +11 -0
  9. package/protobuf/Body.js +30 -0
  10. package/protobuf/CampaignInformation.d.ts +11 -0
  11. package/protobuf/CampaignInformation.js +30 -0
  12. package/protobuf/ClickTracking.d.ts +11 -0
  13. package/protobuf/ClickTracking.js +30 -0
  14. package/protobuf/CommercialEntity.d.ts +14 -0
  15. package/protobuf/CommercialEntity.js +48 -0
  16. package/protobuf/Cover.d.ts +10 -0
  17. package/protobuf/Cover.js +26 -0
  18. package/protobuf/Deadline.d.ts +11 -0
  19. package/protobuf/Deadline.js +30 -0
  20. package/protobuf/Degree.d.ts +16 -0
  21. package/protobuf/Degree.js +50 -0
  22. package/protobuf/Description.d.ts +16 -0
  23. package/protobuf/Description.js +45 -0
  24. package/protobuf/Discipline.d.ts +26 -0
  25. package/protobuf/Discipline.js +84 -0
  26. package/protobuf/Duration.d.ts +11 -0
  27. package/protobuf/Duration.js +30 -0
  28. package/protobuf/EnglishRequirement.d.ts +11 -0
  29. package/protobuf/EnglishRequirement.js +30 -0
  30. package/protobuf/EssentialInformation.d.ts +17 -0
  31. package/protobuf/EssentialInformation.js +54 -0
  32. package/protobuf/File.d.ts +22 -0
  33. package/protobuf/File.js +74 -0
  34. package/protobuf/GPARequirement.d.ts +11 -0
  35. package/protobuf/GPARequirement.js +30 -0
  36. package/protobuf/InternalLink.d.ts +12 -0
  37. package/protobuf/InternalLink.js +30 -0
  38. package/protobuf/Link.d.ts +11 -0
  39. package/protobuf/Link.js +30 -0
  40. package/protobuf/LivingCost.d.ts +11 -0
  41. package/protobuf/LivingCost.js +30 -0
  42. package/protobuf/Location.d.ts +18 -0
  43. package/protobuf/Location.js +56 -0
  44. package/protobuf/Logo.d.ts +10 -0
  45. package/protobuf/Logo.js +26 -0
  46. package/protobuf/MiniProgrammeCard.d.ts +18 -0
  47. package/protobuf/MiniProgrammeCard.js +50 -0
  48. package/protobuf/OptionalLink.d.ts +12 -0
  49. package/protobuf/OptionalLink.js +34 -0
  50. package/protobuf/Organisation.d.ts +211 -0
  51. package/protobuf/Organisation.js +853 -0
  52. package/protobuf/OrganisationInformation.d.ts +9 -0
  53. package/protobuf/OrganisationInformation.js +20 -0
  54. package/protobuf/OrganisationRanking.d.ts +15 -0
  55. package/protobuf/OrganisationRanking.js +41 -0
  56. package/protobuf/Person.d.ts +14 -0
  57. package/protobuf/Person.js +40 -0
  58. package/protobuf/ProgrammeCard.d.ts +60 -0
  59. package/protobuf/ProgrammeCard.js +197 -0
  60. package/protobuf/ProgrammeGrid.d.ts +14 -0
  61. package/protobuf/ProgrammeGrid.js +37 -0
  62. package/protobuf/Ranking.d.ts +22 -0
  63. package/protobuf/Ranking.js +76 -0
  64. package/protobuf/RankingInstitute.d.ts +15 -0
  65. package/protobuf/RankingInstitute.js +44 -0
  66. package/protobuf/Review.d.ts +17 -0
  67. package/protobuf/Review.js +52 -0
  68. package/protobuf/ReviewRating.d.ts +12 -0
  69. package/protobuf/ReviewRating.js +34 -0
  70. package/protobuf/RichText.d.ts +10 -0
  71. package/protobuf/RichText.js +28 -0
  72. package/protobuf/SocialLink.d.ts +21 -0
  73. package/protobuf/SocialLink.js +70 -0
  74. package/protobuf/StartDate.d.ts +13 -0
  75. package/protobuf/StartDate.js +38 -0
  76. package/protobuf/Timing.d.ts +17 -0
  77. package/protobuf/Timing.js +49 -0
  78. package/protobuf/Topic.d.ts +10 -0
  79. package/protobuf/Topic.js +26 -0
  80. package/protobuf/TrackedLink.d.ts +13 -0
  81. package/protobuf/TrackedLink.js +36 -0
  82. package/protobuf/Tracking.d.ts +18 -0
  83. package/protobuf/Tracking.js +58 -0
  84. package/protobuf/TuitionFee.d.ts +13 -0
  85. package/protobuf/TuitionFee.js +38 -0
  86. package/protobuf/Unibuddy.d.ts +10 -0
  87. package/protobuf/Unibuddy.js +26 -0
  88. package/protobuf/{index.ts → index.d.ts} +0 -1
  89. package/protobuf/index.js +45 -0
  90. package/src/clients/article-detail-page-client.d.ts +8 -0
  91. package/src/clients/article-detail-page-client.js +16 -0
  92. package/src/clients/{index.ts → index.d.ts} +0 -1
  93. package/src/clients/index.js +7 -0
  94. package/src/clients/organisation-page-client.d.ts +8 -0
  95. package/src/clients/organisation-page-client.js +16 -0
  96. package/src/clients/protobuf-client.d.ts +14 -0
  97. package/src/clients/protobuf-client.js +26 -0
  98. package/src/clients/public-mini-programme-card-client.d.ts +8 -0
  99. package/src/clients/public-mini-programme-card-client.js +16 -0
  100. package/{bin/src → src}/domain-client.d.ts +3 -3
  101. package/src/domain-client.js +91 -0
  102. package/src/factories/DateFactory.js +5 -0
  103. package/{bin/src → src}/factories/InternalLinkFactory.d.ts +1 -1
  104. package/src/factories/InternalLinkFactory.js +22 -0
  105. package/{bin/src → src}/i-api-response.d.ts +1 -1
  106. package/src/i-api-response.js +1 -0
  107. package/src/i-class-factory.js +1 -0
  108. package/src/i-model-description.js +5 -0
  109. package/{bin/src → src}/model-client.js +10 -13
  110. package/{bin/src → src}/model-factory.js +11 -15
  111. package/src/models/bestfit-programme/bestfit-programme-client.js +12 -0
  112. package/src/models/bestfit-programme/i-best-fit-programme.js +1 -0
  113. package/src/models/bestfit-programme/i-city.js +1 -0
  114. package/src/models/bestfit-programme/i-living-cost.js +1 -0
  115. package/src/models/common/i-city.js +1 -0
  116. package/src/models/common/i-country.js +1 -0
  117. package/src/models/common/i-english-requirements.js +1 -0
  118. package/src/models/common/i-g-p-a-requirement.js +1 -0
  119. package/src/models/common/i-internal-link.js +1 -0
  120. package/src/models/common/i-logo.js +1 -0
  121. package/src/models/common/i-review-rating.d.ts +26 -0
  122. package/src/models/common/i-review-rating.js +1 -0
  123. package/src/models/common/i-tuition-fee.js +1 -0
  124. package/src/models/copilot-country/copilot-country-client.js +12 -0
  125. package/src/models/copilot-country/i-copilot-country.js +1 -0
  126. package/src/models/copilot-country/i-copilot-ranking-card.js +1 -0
  127. package/src/models/copilot-programme/copilot-programme-client.js +12 -0
  128. package/src/models/copilot-programme/i-copilot-programme.js +1 -0
  129. package/src/models/customerio-organisation/customerio-organisation-client.js +12 -0
  130. package/src/models/customerio-organisation/i-customer-io-organisation.js +1 -0
  131. package/src/models/customerio-organisation/i-review.js +1 -0
  132. package/src/models/customerio-programme/customerio-programme-client.js +12 -0
  133. package/src/models/customerio-programme/i-customer-io-programme.js +1 -0
  134. package/src/models/customerio-programme/i-internal-link.js +1 -0
  135. package/src/models/faq-static-content/i-faq-static-content.d.ts +9 -0
  136. package/src/models/faq-static-content/i-faq-static-content.js +1 -0
  137. package/src/models/faq-static-content/i-faq.d.ts +4 -0
  138. package/src/models/faq-static-content/i-faq.js +1 -0
  139. package/src/models/faq-static-content/i-static-content-url.d.ts +4 -0
  140. package/src/models/faq-static-content/i-static-content-url.js +1 -0
  141. package/src/models/faq-static-content/public-faq-static-content-client.d.ts +7 -0
  142. package/src/models/faq-static-content/public-faq-static-content-client.js +12 -0
  143. package/{bin/src → src}/models/organisation-card/i-organisation-card.d.ts +2 -0
  144. package/src/models/organisation-card/i-organisation-card.js +1 -0
  145. package/src/models/organisation-card/i-ranking-discipline.js +1 -0
  146. package/src/models/organisation-card/organisation-card-client.js +12 -0
  147. package/src/models/organisation-for-search/i-organisation-for-search.js +1 -0
  148. package/src/models/organisation-for-search/public-organisation-for-search-client.js +12 -0
  149. package/{bin/src → src}/models/organisation-search-document/i-organisation-search-document.d.ts +30 -0
  150. package/src/models/organisation-search-document/i-organisation-search-document.js +1 -0
  151. package/src/models/organisation-search-document/organisation-search-document-client.js +12 -0
  152. package/src/models/programme-card/i-click-tracking-data.js +1 -0
  153. package/src/models/programme-card/i-cover.js +1 -0
  154. package/src/models/programme-card/i-deadline.js +1 -0
  155. package/src/models/programme-card/i-duration.js +1 -0
  156. package/src/models/programme-card/i-internal-link.js +1 -0
  157. package/src/models/programme-card/i-link.js +1 -0
  158. package/src/models/programme-card/i-location.js +1 -0
  159. package/src/models/programme-card/i-logo.js +1 -0
  160. package/src/models/programme-card/i-optional-link.js +1 -0
  161. package/{bin/src → src}/models/programme-card/i-programme-card.d.ts +7 -0
  162. package/src/models/programme-card/i-programme-card.js +1 -0
  163. package/src/models/programme-card/i-start-date.js +1 -0
  164. package/src/models/programme-card/i-timing.js +1 -0
  165. package/src/models/programme-card/i-tracked-link.js +1 -0
  166. package/src/models/programme-card/i-tracking.js +1 -0
  167. package/src/models/programme-card/i-tuition-fee.js +1 -0
  168. package/src/models/programme-card/programme-card-client.js +12 -0
  169. package/src/models/ranking-cards/i-ranking.js +1 -0
  170. package/src/models/scholarship-card/i-scholarship-card-v2.d.ts +20 -0
  171. package/src/models/scholarship-card/i-scholarship-card-v2.js +1 -0
  172. package/src/models/scholarship-card/i-scholarship-card.js +1 -0
  173. package/src/models/scholarship-card/public-scholarship-card-client.js +12 -0
  174. package/src/models/scholarship-card/scholarship-card-v2-client.js +12 -0
  175. package/src/models/scholarship-search-document/i-scholarship-search-document.js +1 -0
  176. package/src/models/scholarship-search-document/scholarship-search-document-client.js +12 -0
  177. package/src/models/search-discipline/i-search-discipline.js +1 -0
  178. package/src/models/search-discipline/public-search-discipline-client.js +12 -0
  179. package/src/models/search-projection/i-geo-targeting-configuration.js +1 -0
  180. package/src/models/search-projection/i-geo-targeting-values.js +1 -0
  181. package/src/models/search-projection/i-organisation-values.js +1 -0
  182. package/src/models/search-projection/i-premium-values.js +1 -0
  183. package/src/models/search-projection/i-search-projection.js +1 -0
  184. package/src/models/search-projection/i-tuition-values.js +1 -0
  185. package/src/models/search-projection/search-projection-client.js +12 -0
  186. package/src/models/sitemap-articles-info/i-sitemap-article-info.js +1 -0
  187. package/src/models/sitemap-articles-info/sitemap-articles-info-client.js +12 -0
  188. package/src/models/sitemap-cities-info/i-sitemap-city-info.js +1 -0
  189. package/src/models/sitemap-cities-info/sitemap-cities-info-client.js +12 -0
  190. package/src/models/sitemap-countries-info/i-sitemap-country-info.js +1 -0
  191. package/src/models/sitemap-countries-info/sitemap-countries-info-client.js +12 -0
  192. package/src/models/sitemap-country-degree-info/i-degree-info.js +1 -0
  193. package/src/models/sitemap-country-degree-info/i-sitemap-country-degree-info.js +1 -0
  194. package/src/models/sitemap-country-degree-info/sitemap-country-degree-info-client.js +12 -0
  195. package/src/models/sitemap-disciplines-info/i-sitemap-discipline-info.js +1 -0
  196. package/src/models/sitemap-disciplines-info/sitemap-disciplines-info-client.js +12 -0
  197. package/src/models/sitemap-organisations-info/i-sitemap-organisation-info.js +1 -0
  198. package/src/models/sitemap-organisations-info/sitemap-organisations-info-client.js +12 -0
  199. package/src/models/sitemap-programme-info/i-sitemap-programme-info.js +1 -0
  200. package/src/models/sitemap-programme-info/sitemap-programme-info-client.js +12 -0
  201. package/src/models/sitemap-rankings-info/i-sitemap-rankings-info.js +1 -0
  202. package/src/models/sitemap-rankings-info/sitemap-rankings-info-client.js +12 -0
  203. package/src/types/portal-map.js +1 -0
  204. package/{bin/src → src}/types/portal-type.js +2 -6
  205. package/src/types.js +1 -0
  206. package/.eslintignore +0 -4
  207. package/.eslintrc.js +0 -13
  208. package/.github/dependabot.yml +0 -17
  209. package/.github/stale.yml +0 -10
  210. package/.nycrc +0 -15
  211. package/README.md +0 -117
  212. package/bin/index.js +0 -62
  213. package/bin/index.js.map +0 -1
  214. package/bin/package.json +0 -55
  215. package/bin/src/domain-client.js +0 -61
  216. package/bin/src/domain-client.js.map +0 -1
  217. package/bin/src/exceptions/bad-request-exception.js +0 -7
  218. package/bin/src/exceptions/bad-request-exception.js.map +0 -1
  219. package/bin/src/exceptions/client-exception.js +0 -7
  220. package/bin/src/exceptions/client-exception.js.map +0 -1
  221. package/bin/src/exceptions/internal-server-exception.js +0 -7
  222. package/bin/src/exceptions/internal-server-exception.js.map +0 -1
  223. package/bin/src/exceptions/not-found-exception.js +0 -7
  224. package/bin/src/exceptions/not-found-exception.js.map +0 -1
  225. package/bin/src/exceptions/property-not-available-exception.js +0 -7
  226. package/bin/src/exceptions/property-not-available-exception.js.map +0 -1
  227. package/bin/src/factories/DateFactory.js +0 -10
  228. package/bin/src/factories/DateFactory.js.map +0 -1
  229. package/bin/src/factories/InternalLinkFactory.js +0 -20
  230. package/bin/src/factories/InternalLinkFactory.js.map +0 -1
  231. package/bin/src/i-api-response.js +0 -3
  232. package/bin/src/i-api-response.js.map +0 -1
  233. package/bin/src/i-class-factory.js +0 -3
  234. package/bin/src/i-class-factory.js.map +0 -1
  235. package/bin/src/i-model-description.js +0 -10
  236. package/bin/src/i-model-description.js.map +0 -1
  237. package/bin/src/model-client.js.map +0 -1
  238. package/bin/src/model-factory.js.map +0 -1
  239. package/bin/src/models/bestfit-programme/bestfit-programme-client.js +0 -17
  240. package/bin/src/models/bestfit-programme/bestfit-programme-client.js.map +0 -1
  241. package/bin/src/models/bestfit-programme/i-best-fit-programme.js +0 -3
  242. package/bin/src/models/bestfit-programme/i-best-fit-programme.js.map +0 -1
  243. package/bin/src/models/bestfit-programme/i-city.js +0 -3
  244. package/bin/src/models/bestfit-programme/i-city.js.map +0 -1
  245. package/bin/src/models/bestfit-programme/i-living-cost.js +0 -3
  246. package/bin/src/models/bestfit-programme/i-living-cost.js.map +0 -1
  247. package/bin/src/models/common/i-city.js +0 -3
  248. package/bin/src/models/common/i-city.js.map +0 -1
  249. package/bin/src/models/common/i-country.js +0 -3
  250. package/bin/src/models/common/i-country.js.map +0 -1
  251. package/bin/src/models/common/i-english-requirements.js +0 -3
  252. package/bin/src/models/common/i-english-requirements.js.map +0 -1
  253. package/bin/src/models/common/i-g-p-a-requirement.js +0 -3
  254. package/bin/src/models/common/i-g-p-a-requirement.js.map +0 -1
  255. package/bin/src/models/common/i-internal-link.js +0 -3
  256. package/bin/src/models/common/i-internal-link.js.map +0 -1
  257. package/bin/src/models/common/i-logo.js +0 -3
  258. package/bin/src/models/common/i-logo.js.map +0 -1
  259. package/bin/src/models/common/i-tuition-fee.js +0 -3
  260. package/bin/src/models/common/i-tuition-fee.js.map +0 -1
  261. package/bin/src/models/copilot-country/copilot-country-client.js +0 -17
  262. package/bin/src/models/copilot-country/copilot-country-client.js.map +0 -1
  263. package/bin/src/models/copilot-country/i-copilot-country.js +0 -3
  264. package/bin/src/models/copilot-country/i-copilot-country.js.map +0 -1
  265. package/bin/src/models/copilot-country/i-copilot-ranking-card.js +0 -3
  266. package/bin/src/models/copilot-country/i-copilot-ranking-card.js.map +0 -1
  267. package/bin/src/models/copilot-programme/copilot-programme-client.js +0 -17
  268. package/bin/src/models/copilot-programme/copilot-programme-client.js.map +0 -1
  269. package/bin/src/models/copilot-programme/i-copilot-programme.js +0 -3
  270. package/bin/src/models/copilot-programme/i-copilot-programme.js.map +0 -1
  271. package/bin/src/models/customerio-organisation/customerio-organisation-client.js +0 -17
  272. package/bin/src/models/customerio-organisation/customerio-organisation-client.js.map +0 -1
  273. package/bin/src/models/customerio-organisation/i-customer-io-organisation.js +0 -3
  274. package/bin/src/models/customerio-organisation/i-customer-io-organisation.js.map +0 -1
  275. package/bin/src/models/customerio-organisation/i-review.js +0 -3
  276. package/bin/src/models/customerio-organisation/i-review.js.map +0 -1
  277. package/bin/src/models/customerio-programme/customerio-programme-client.js +0 -17
  278. package/bin/src/models/customerio-programme/customerio-programme-client.js.map +0 -1
  279. package/bin/src/models/customerio-programme/i-customer-io-programme.js +0 -3
  280. package/bin/src/models/customerio-programme/i-customer-io-programme.js.map +0 -1
  281. package/bin/src/models/customerio-programme/i-internal-link.js +0 -3
  282. package/bin/src/models/customerio-programme/i-internal-link.js.map +0 -1
  283. package/bin/src/models/organisation-card/i-organisation-card.js +0 -3
  284. package/bin/src/models/organisation-card/i-organisation-card.js.map +0 -1
  285. package/bin/src/models/organisation-card/i-ranking-discipline.js +0 -3
  286. package/bin/src/models/organisation-card/i-ranking-discipline.js.map +0 -1
  287. package/bin/src/models/organisation-card/organisation-card-client.js +0 -17
  288. package/bin/src/models/organisation-card/organisation-card-client.js.map +0 -1
  289. package/bin/src/models/organisation-for-search/i-organisation-for-search.js +0 -3
  290. package/bin/src/models/organisation-for-search/i-organisation-for-search.js.map +0 -1
  291. package/bin/src/models/organisation-for-search/public-organisation-for-search-client.js +0 -17
  292. package/bin/src/models/organisation-for-search/public-organisation-for-search-client.js.map +0 -1
  293. package/bin/src/models/organisation-search-document/i-organisation-search-document.js +0 -3
  294. package/bin/src/models/organisation-search-document/i-organisation-search-document.js.map +0 -1
  295. package/bin/src/models/organisation-search-document/organisation-search-document-client.js +0 -17
  296. package/bin/src/models/organisation-search-document/organisation-search-document-client.js.map +0 -1
  297. package/bin/src/models/programme-card/i-click-tracking-data.js +0 -3
  298. package/bin/src/models/programme-card/i-click-tracking-data.js.map +0 -1
  299. package/bin/src/models/programme-card/i-cover.js +0 -3
  300. package/bin/src/models/programme-card/i-cover.js.map +0 -1
  301. package/bin/src/models/programme-card/i-deadline.js +0 -3
  302. package/bin/src/models/programme-card/i-deadline.js.map +0 -1
  303. package/bin/src/models/programme-card/i-duration.js +0 -3
  304. package/bin/src/models/programme-card/i-duration.js.map +0 -1
  305. package/bin/src/models/programme-card/i-internal-link.js +0 -3
  306. package/bin/src/models/programme-card/i-internal-link.js.map +0 -1
  307. package/bin/src/models/programme-card/i-link.js +0 -3
  308. package/bin/src/models/programme-card/i-link.js.map +0 -1
  309. package/bin/src/models/programme-card/i-location.js +0 -3
  310. package/bin/src/models/programme-card/i-location.js.map +0 -1
  311. package/bin/src/models/programme-card/i-logo.js +0 -3
  312. package/bin/src/models/programme-card/i-logo.js.map +0 -1
  313. package/bin/src/models/programme-card/i-optional-link.js +0 -3
  314. package/bin/src/models/programme-card/i-optional-link.js.map +0 -1
  315. package/bin/src/models/programme-card/i-programme-card.js +0 -3
  316. package/bin/src/models/programme-card/i-programme-card.js.map +0 -1
  317. package/bin/src/models/programme-card/i-start-date.js +0 -3
  318. package/bin/src/models/programme-card/i-start-date.js.map +0 -1
  319. package/bin/src/models/programme-card/i-timing.js +0 -3
  320. package/bin/src/models/programme-card/i-timing.js.map +0 -1
  321. package/bin/src/models/programme-card/i-tracked-link.js +0 -3
  322. package/bin/src/models/programme-card/i-tracked-link.js.map +0 -1
  323. package/bin/src/models/programme-card/i-tracking.js +0 -3
  324. package/bin/src/models/programme-card/i-tracking.js.map +0 -1
  325. package/bin/src/models/programme-card/i-tuition-fee.js +0 -3
  326. package/bin/src/models/programme-card/i-tuition-fee.js.map +0 -1
  327. package/bin/src/models/programme-card/programme-card-client.js +0 -17
  328. package/bin/src/models/programme-card/programme-card-client.js.map +0 -1
  329. package/bin/src/models/ranking-cards/i-ranking.js +0 -3
  330. package/bin/src/models/ranking-cards/i-ranking.js.map +0 -1
  331. package/bin/src/models/scholarship-card/i-scholarship-card.js +0 -3
  332. package/bin/src/models/scholarship-card/i-scholarship-card.js.map +0 -1
  333. package/bin/src/models/scholarship-card/public-scholarship-card-client.js +0 -17
  334. package/bin/src/models/scholarship-card/public-scholarship-card-client.js.map +0 -1
  335. package/bin/src/models/scholarship-card/scholarship-card-v2-client.js +0 -17
  336. package/bin/src/models/scholarship-card/scholarship-card-v2-client.js.map +0 -1
  337. package/bin/src/models/scholarship-search-document/i-scholarship-search-document.js +0 -3
  338. package/bin/src/models/scholarship-search-document/i-scholarship-search-document.js.map +0 -1
  339. package/bin/src/models/scholarship-search-document/scholarship-search-document-client.js +0 -17
  340. package/bin/src/models/scholarship-search-document/scholarship-search-document-client.js.map +0 -1
  341. package/bin/src/models/search-discipline/i-search-discipline.js +0 -3
  342. package/bin/src/models/search-discipline/i-search-discipline.js.map +0 -1
  343. package/bin/src/models/search-discipline/public-search-discipline-client.js +0 -17
  344. package/bin/src/models/search-discipline/public-search-discipline-client.js.map +0 -1
  345. package/bin/src/models/search-projection/i-geo-targeting-configuration.js +0 -3
  346. package/bin/src/models/search-projection/i-geo-targeting-configuration.js.map +0 -1
  347. package/bin/src/models/search-projection/i-geo-targeting-values.js +0 -3
  348. package/bin/src/models/search-projection/i-geo-targeting-values.js.map +0 -1
  349. package/bin/src/models/search-projection/i-organisation-values.js +0 -3
  350. package/bin/src/models/search-projection/i-organisation-values.js.map +0 -1
  351. package/bin/src/models/search-projection/i-premium-values.js +0 -3
  352. package/bin/src/models/search-projection/i-premium-values.js.map +0 -1
  353. package/bin/src/models/search-projection/i-search-projection.js +0 -3
  354. package/bin/src/models/search-projection/i-search-projection.js.map +0 -1
  355. package/bin/src/models/search-projection/i-tuition-values.js +0 -3
  356. package/bin/src/models/search-projection/i-tuition-values.js.map +0 -1
  357. package/bin/src/models/search-projection/search-projection-client.js +0 -17
  358. package/bin/src/models/search-projection/search-projection-client.js.map +0 -1
  359. package/bin/src/models/sitemap-articles-info/i-sitemap-article-info.js +0 -3
  360. package/bin/src/models/sitemap-articles-info/i-sitemap-article-info.js.map +0 -1
  361. package/bin/src/models/sitemap-articles-info/sitemap-articles-info-client.js +0 -17
  362. package/bin/src/models/sitemap-articles-info/sitemap-articles-info-client.js.map +0 -1
  363. package/bin/src/models/sitemap-cities-info/i-sitemap-city-info.js +0 -3
  364. package/bin/src/models/sitemap-cities-info/i-sitemap-city-info.js.map +0 -1
  365. package/bin/src/models/sitemap-cities-info/sitemap-cities-info-client.js +0 -17
  366. package/bin/src/models/sitemap-cities-info/sitemap-cities-info-client.js.map +0 -1
  367. package/bin/src/models/sitemap-countries-info/i-sitemap-country-info.js +0 -3
  368. package/bin/src/models/sitemap-countries-info/i-sitemap-country-info.js.map +0 -1
  369. package/bin/src/models/sitemap-countries-info/sitemap-countries-info-client.js +0 -17
  370. package/bin/src/models/sitemap-countries-info/sitemap-countries-info-client.js.map +0 -1
  371. package/bin/src/models/sitemap-country-degree-info/i-degree-info.js +0 -3
  372. package/bin/src/models/sitemap-country-degree-info/i-degree-info.js.map +0 -1
  373. package/bin/src/models/sitemap-country-degree-info/i-sitemap-country-degree-info.js +0 -3
  374. package/bin/src/models/sitemap-country-degree-info/i-sitemap-country-degree-info.js.map +0 -1
  375. package/bin/src/models/sitemap-country-degree-info/sitemap-country-degree-info-client.js +0 -17
  376. package/bin/src/models/sitemap-country-degree-info/sitemap-country-degree-info-client.js.map +0 -1
  377. package/bin/src/models/sitemap-disciplines-info/i-sitemap-discipline-info.js +0 -3
  378. package/bin/src/models/sitemap-disciplines-info/i-sitemap-discipline-info.js.map +0 -1
  379. package/bin/src/models/sitemap-disciplines-info/sitemap-disciplines-info-client.js +0 -17
  380. package/bin/src/models/sitemap-disciplines-info/sitemap-disciplines-info-client.js.map +0 -1
  381. package/bin/src/models/sitemap-organisations-info/i-sitemap-organisation-info.js +0 -3
  382. package/bin/src/models/sitemap-organisations-info/i-sitemap-organisation-info.js.map +0 -1
  383. package/bin/src/models/sitemap-organisations-info/sitemap-organisations-info-client.js +0 -17
  384. package/bin/src/models/sitemap-organisations-info/sitemap-organisations-info-client.js.map +0 -1
  385. package/bin/src/models/sitemap-programme-info/i-sitemap-programme-info.js +0 -3
  386. package/bin/src/models/sitemap-programme-info/i-sitemap-programme-info.js.map +0 -1
  387. package/bin/src/models/sitemap-programme-info/sitemap-programme-info-client.js +0 -17
  388. package/bin/src/models/sitemap-programme-info/sitemap-programme-info-client.js.map +0 -1
  389. package/bin/src/models/sitemap-rankings-info/i-sitemap-rankings-info.js +0 -3
  390. package/bin/src/models/sitemap-rankings-info/i-sitemap-rankings-info.js.map +0 -1
  391. package/bin/src/models/sitemap-rankings-info/sitemap-rankings-info-client.js +0 -17
  392. package/bin/src/models/sitemap-rankings-info/sitemap-rankings-info-client.js.map +0 -1
  393. package/bin/src/types/portal-map.js +0 -3
  394. package/bin/src/types/portal-map.js.map +0 -1
  395. package/bin/src/types/portal-type.js.map +0 -1
  396. package/bin/src/types.js +0 -3
  397. package/bin/src/types.js.map +0 -1
  398. package/coverage/base.css +0 -224
  399. package/coverage/block-navigation.js +0 -87
  400. package/coverage/clover.xml +0 -3940
  401. package/coverage/coverage-final.json +0 -149
  402. package/coverage/domain-client/index.html +0 -116
  403. package/coverage/domain-client/index.ts.html +0 -616
  404. package/coverage/domain-client/protobuf/Area.ts.html +0 -223
  405. package/coverage/domain-client/protobuf/Article.ts.html +0 -952
  406. package/coverage/domain-client/protobuf/Body.ts.html +0 -223
  407. package/coverage/domain-client/protobuf/CampaignInformation.ts.html +0 -223
  408. package/coverage/domain-client/protobuf/ClickTracking.ts.html +0 -223
  409. package/coverage/domain-client/protobuf/CommercialEntity.ts.html +0 -286
  410. package/coverage/domain-client/protobuf/Cover.ts.html +0 -208
  411. package/coverage/domain-client/protobuf/Deadline.ts.html +0 -223
  412. package/coverage/domain-client/protobuf/Degree.ts.html +0 -298
  413. package/coverage/domain-client/protobuf/Description.ts.html +0 -274
  414. package/coverage/domain-client/protobuf/Discipline.ts.html +0 -418
  415. package/coverage/domain-client/protobuf/Duration.ts.html +0 -223
  416. package/coverage/domain-client/protobuf/EnglishRequirement.ts.html +0 -223
  417. package/coverage/domain-client/protobuf/EssentialInformation.ts.html +0 -313
  418. package/coverage/domain-client/protobuf/File.ts.html +0 -388
  419. package/coverage/domain-client/protobuf/GPARequirement.ts.html +0 -223
  420. package/coverage/domain-client/protobuf/InternalLink.ts.html +0 -244
  421. package/coverage/domain-client/protobuf/Link.ts.html +0 -223
  422. package/coverage/domain-client/protobuf/LivingCost.ts.html +0 -223
  423. package/coverage/domain-client/protobuf/Location.ts.html +0 -316
  424. package/coverage/domain-client/protobuf/Logo.ts.html +0 -208
  425. package/coverage/domain-client/protobuf/MiniProgrammeCard.ts.html +0 -292
  426. package/coverage/domain-client/protobuf/OptionalLink.ts.html +0 -238
  427. package/coverage/domain-client/protobuf/Organisation.ts.html +0 -3280
  428. package/coverage/domain-client/protobuf/OrganisationInformation.ts.html +0 -187
  429. package/coverage/domain-client/protobuf/OrganisationRanking.ts.html +0 -259
  430. package/coverage/domain-client/protobuf/Person.ts.html +0 -256
  431. package/coverage/domain-client/protobuf/ProgrammeCard.ts.html +0 -826
  432. package/coverage/domain-client/protobuf/ProgrammeGrid.ts.html +0 -244
  433. package/coverage/domain-client/protobuf/Ranking.ts.html +0 -388
  434. package/coverage/domain-client/protobuf/RankingInstitute.ts.html +0 -271
  435. package/coverage/domain-client/protobuf/Review.ts.html +0 -301
  436. package/coverage/domain-client/protobuf/ReviewRating.ts.html +0 -238
  437. package/coverage/domain-client/protobuf/RichText.ts.html +0 -214
  438. package/coverage/domain-client/protobuf/SocialLink.ts.html +0 -373
  439. package/coverage/domain-client/protobuf/StartDate.ts.html +0 -247
  440. package/coverage/domain-client/protobuf/Timing.ts.html +0 -289
  441. package/coverage/domain-client/protobuf/Topic.ts.html +0 -208
  442. package/coverage/domain-client/protobuf/TrackedLink.ts.html +0 -241
  443. package/coverage/domain-client/protobuf/Tracking.ts.html +0 -322
  444. package/coverage/domain-client/protobuf/TuitionFee.ts.html +0 -253
  445. package/coverage/domain-client/protobuf/Unibuddy.ts.html +0 -208
  446. package/coverage/domain-client/protobuf/index.html +0 -746
  447. package/coverage/domain-client/protobuf/index.ts.html +0 -223
  448. package/coverage/domain-client/src/clients/article-detail-page-client.ts.html +0 -145
  449. package/coverage/domain-client/src/clients/index.html +0 -176
  450. package/coverage/domain-client/src/clients/index.ts.html +0 -109
  451. package/coverage/domain-client/src/clients/organisation-page-client.ts.html +0 -145
  452. package/coverage/domain-client/src/clients/protobuf-client.ts.html +0 -256
  453. package/coverage/domain-client/src/clients/public-mini-programme-card-client.ts.html +0 -145
  454. package/coverage/domain-client/src/domain-client.ts.html +0 -415
  455. package/coverage/domain-client/src/exceptions/bad-request-exception.ts.html +0 -91
  456. package/coverage/domain-client/src/exceptions/client-exception.ts.html +0 -91
  457. package/coverage/domain-client/src/exceptions/index.html +0 -176
  458. package/coverage/domain-client/src/exceptions/internal-server-exception.ts.html +0 -91
  459. package/coverage/domain-client/src/exceptions/not-found-exception.ts.html +0 -91
  460. package/coverage/domain-client/src/exceptions/property-not-available-exception.ts.html +0 -91
  461. package/coverage/domain-client/src/factories/DateFactory.ts.html +0 -109
  462. package/coverage/domain-client/src/factories/InternalLinkFactory.ts.html +0 -181
  463. package/coverage/domain-client/src/factories/index.html +0 -131
  464. package/coverage/domain-client/src/i-api-response.ts.html +0 -106
  465. package/coverage/domain-client/src/i-class-factory.ts.html +0 -100
  466. package/coverage/domain-client/src/i-model-description.ts.html +0 -124
  467. package/coverage/domain-client/src/index.html +0 -206
  468. package/coverage/domain-client/src/model-client.ts.html +0 -316
  469. package/coverage/domain-client/src/model-factory.ts.html +0 -367
  470. package/coverage/domain-client/src/models/bestfit-programme/bestfit-programme-client.ts.html +0 -133
  471. package/coverage/domain-client/src/models/bestfit-programme/i-best-fit-programme.ts.html +0 -391
  472. package/coverage/domain-client/src/models/bestfit-programme/i-city.ts.html +0 -133
  473. package/coverage/domain-client/src/models/bestfit-programme/i-living-cost.ts.html +0 -154
  474. package/coverage/domain-client/src/models/bestfit-programme/index.html +0 -161
  475. package/coverage/domain-client/src/models/common/i-city.ts.html +0 -133
  476. package/coverage/domain-client/src/models/common/i-country.ts.html +0 -154
  477. package/coverage/domain-client/src/models/common/i-english-requirements.ts.html +0 -283
  478. package/coverage/domain-client/src/models/common/i-g-p-a-requirement.ts.html +0 -154
  479. package/coverage/domain-client/src/models/common/i-internal-link.ts.html +0 -181
  480. package/coverage/domain-client/src/models/common/i-logo.ts.html +0 -133
  481. package/coverage/domain-client/src/models/common/i-review-rating.ts.html +0 -172
  482. package/coverage/domain-client/src/models/common/i-tuition-fee.ts.html +0 -256
  483. package/coverage/domain-client/src/models/common/index.html +0 -221
  484. package/coverage/domain-client/src/models/copilot-country/copilot-country-client.ts.html +0 -133
  485. package/coverage/domain-client/src/models/copilot-country/i-copilot-country.ts.html +0 -223
  486. package/coverage/domain-client/src/models/copilot-country/i-copilot-ranking-card.ts.html +0 -199
  487. package/coverage/domain-client/src/models/copilot-country/index.html +0 -146
  488. package/coverage/domain-client/src/models/copilot-programme/copilot-programme-client.ts.html +0 -133
  489. package/coverage/domain-client/src/models/copilot-programme/i-copilot-programme.ts.html +0 -526
  490. package/coverage/domain-client/src/models/copilot-programme/index.html +0 -131
  491. package/coverage/domain-client/src/models/customerio-organisation/customerio-organisation-client.ts.html +0 -133
  492. package/coverage/domain-client/src/models/customerio-organisation/i-customer-io-organisation.ts.html +0 -271
  493. package/coverage/domain-client/src/models/customerio-organisation/i-review.ts.html +0 -121
  494. package/coverage/domain-client/src/models/customerio-organisation/index.html +0 -146
  495. package/coverage/domain-client/src/models/customerio-programme/customerio-programme-client.ts.html +0 -133
  496. package/coverage/domain-client/src/models/customerio-programme/i-customer-io-programme.ts.html +0 -472
  497. package/coverage/domain-client/src/models/customerio-programme/i-internal-link.ts.html +0 -181
  498. package/coverage/domain-client/src/models/customerio-programme/index.html +0 -146
  499. package/coverage/domain-client/src/models/faq-static-content/i-faq-static-content.ts.html +0 -130
  500. package/coverage/domain-client/src/models/faq-static-content/i-faq.ts.html +0 -100
  501. package/coverage/domain-client/src/models/faq-static-content/i-static-content-url.ts.html +0 -100
  502. package/coverage/domain-client/src/models/faq-static-content/index.html +0 -161
  503. package/coverage/domain-client/src/models/faq-static-content/public-faq-static-content-client.ts.html +0 -133
  504. package/coverage/domain-client/src/models/organisation-card/i-organisation-card.ts.html +0 -304
  505. package/coverage/domain-client/src/models/organisation-card/i-ranking-discipline.ts.html +0 -103
  506. package/coverage/domain-client/src/models/organisation-card/index.html +0 -146
  507. package/coverage/domain-client/src/models/organisation-card/organisation-card-client.ts.html +0 -133
  508. package/coverage/domain-client/src/models/organisation-for-search/i-organisation-for-search.ts.html +0 -196
  509. package/coverage/domain-client/src/models/organisation-for-search/index.html +0 -131
  510. package/coverage/domain-client/src/models/organisation-for-search/public-organisation-for-search-client.ts.html +0 -133
  511. package/coverage/domain-client/src/models/organisation-search-document/i-organisation-search-document.ts.html +0 -616
  512. package/coverage/domain-client/src/models/organisation-search-document/index.html +0 -131
  513. package/coverage/domain-client/src/models/organisation-search-document/organisation-search-document-client.ts.html +0 -133
  514. package/coverage/domain-client/src/models/programme-card/i-click-tracking-data.ts.html +0 -109
  515. package/coverage/domain-client/src/models/programme-card/i-cover.ts.html +0 -133
  516. package/coverage/domain-client/src/models/programme-card/i-deadline.ts.html +0 -154
  517. package/coverage/domain-client/src/models/programme-card/i-duration.ts.html +0 -223
  518. package/coverage/domain-client/src/models/programme-card/i-internal-link.ts.html +0 -181
  519. package/coverage/domain-client/src/models/programme-card/i-link.ts.html +0 -160
  520. package/coverage/domain-client/src/models/programme-card/i-location.ts.html +0 -151
  521. package/coverage/domain-client/src/models/programme-card/i-logo.ts.html +0 -133
  522. package/coverage/domain-client/src/models/programme-card/i-optional-link.ts.html +0 -166
  523. package/coverage/domain-client/src/models/programme-card/i-programme-card.ts.html +0 -856
  524. package/coverage/domain-client/src/models/programme-card/i-start-date.ts.html +0 -202
  525. package/coverage/domain-client/src/models/programme-card/i-timing.ts.html +0 -244
  526. package/coverage/domain-client/src/models/programme-card/i-tracked-link.ts.html +0 -187
  527. package/coverage/domain-client/src/models/programme-card/i-tracking.ts.html +0 -250
  528. package/coverage/domain-client/src/models/programme-card/i-tuition-fee.ts.html +0 -256
  529. package/coverage/domain-client/src/models/programme-card/index.html +0 -341
  530. package/coverage/domain-client/src/models/programme-card/programme-card-client.ts.html +0 -133
  531. package/coverage/domain-client/src/models/ranking-cards/i-ranking.ts.html +0 -151
  532. package/coverage/domain-client/src/models/ranking-cards/index.html +0 -116
  533. package/coverage/domain-client/src/models/scholarship-card/i-scholarship-card-v2.ts.html +0 -199
  534. package/coverage/domain-client/src/models/scholarship-card/i-scholarship-card.ts.html +0 -169
  535. package/coverage/domain-client/src/models/scholarship-card/index.html +0 -161
  536. package/coverage/domain-client/src/models/scholarship-card/public-scholarship-card-client.ts.html +0 -133
  537. package/coverage/domain-client/src/models/scholarship-card/scholarship-card-v2-client.ts.html +0 -133
  538. package/coverage/domain-client/src/models/scholarship-search-document/i-scholarship-search-document.ts.html +0 -244
  539. package/coverage/domain-client/src/models/scholarship-search-document/index.html +0 -131
  540. package/coverage/domain-client/src/models/scholarship-search-document/scholarship-search-document-client.ts.html +0 -133
  541. package/coverage/domain-client/src/models/search-discipline/i-search-discipline.ts.html +0 -181
  542. package/coverage/domain-client/src/models/search-discipline/index.html +0 -131
  543. package/coverage/domain-client/src/models/search-discipline/public-search-discipline-client.ts.html +0 -133
  544. package/coverage/domain-client/src/models/search-projection/i-geo-targeting-configuration.ts.html +0 -217
  545. package/coverage/domain-client/src/models/search-projection/i-geo-targeting-values.ts.html +0 -199
  546. package/coverage/domain-client/src/models/search-projection/i-organisation-values.ts.html +0 -244
  547. package/coverage/domain-client/src/models/search-projection/i-premium-values.ts.html +0 -214
  548. package/coverage/domain-client/src/models/search-projection/i-search-projection.ts.html +0 -754
  549. package/coverage/domain-client/src/models/search-projection/i-tuition-values.ts.html +0 -274
  550. package/coverage/domain-client/src/models/search-projection/index.html +0 -206
  551. package/coverage/domain-client/src/models/search-projection/search-projection-client.ts.html +0 -133
  552. package/coverage/domain-client/src/models/sitemap-articles-info/i-sitemap-article-info.ts.html +0 -184
  553. package/coverage/domain-client/src/models/sitemap-articles-info/index.html +0 -131
  554. package/coverage/domain-client/src/models/sitemap-articles-info/sitemap-articles-info-client.ts.html +0 -133
  555. package/coverage/domain-client/src/models/sitemap-cities-info/i-sitemap-city-info.ts.html +0 -136
  556. package/coverage/domain-client/src/models/sitemap-cities-info/index.html +0 -131
  557. package/coverage/domain-client/src/models/sitemap-cities-info/sitemap-cities-info-client.ts.html +0 -133
  558. package/coverage/domain-client/src/models/sitemap-countries-info/i-sitemap-country-info.ts.html +0 -136
  559. package/coverage/domain-client/src/models/sitemap-countries-info/index.html +0 -131
  560. package/coverage/domain-client/src/models/sitemap-countries-info/sitemap-countries-info-client.ts.html +0 -133
  561. package/coverage/domain-client/src/models/sitemap-country-degree-info/i-degree-info.ts.html +0 -136
  562. package/coverage/domain-client/src/models/sitemap-country-degree-info/i-sitemap-country-degree-info.ts.html +0 -127
  563. package/coverage/domain-client/src/models/sitemap-country-degree-info/index.html +0 -146
  564. package/coverage/domain-client/src/models/sitemap-country-degree-info/sitemap-country-degree-info-client.ts.html +0 -133
  565. package/coverage/domain-client/src/models/sitemap-disciplines-info/i-sitemap-discipline-info.ts.html +0 -136
  566. package/coverage/domain-client/src/models/sitemap-disciplines-info/index.html +0 -131
  567. package/coverage/domain-client/src/models/sitemap-disciplines-info/sitemap-disciplines-info-client.ts.html +0 -133
  568. package/coverage/domain-client/src/models/sitemap-organisations-info/i-sitemap-organisation-info.ts.html +0 -181
  569. package/coverage/domain-client/src/models/sitemap-organisations-info/index.html +0 -131
  570. package/coverage/domain-client/src/models/sitemap-organisations-info/sitemap-organisations-info-client.ts.html +0 -133
  571. package/coverage/domain-client/src/models/sitemap-programme-info/i-sitemap-programme-info.ts.html +0 -181
  572. package/coverage/domain-client/src/models/sitemap-programme-info/index.html +0 -131
  573. package/coverage/domain-client/src/models/sitemap-programme-info/sitemap-programme-info-client.ts.html +0 -133
  574. package/coverage/domain-client/src/models/sitemap-rankings-info/i-sitemap-rankings-info.ts.html +0 -136
  575. package/coverage/domain-client/src/models/sitemap-rankings-info/index.html +0 -131
  576. package/coverage/domain-client/src/models/sitemap-rankings-info/sitemap-rankings-info-client.ts.html +0 -133
  577. package/coverage/domain-client/src/types/index.html +0 -131
  578. package/coverage/domain-client/src/types/portal-map.ts.html +0 -94
  579. package/coverage/domain-client/src/types/portal-type.ts.html +0 -106
  580. package/coverage/domain-client/src/types.ts.html +0 -97
  581. package/coverage/favicon.png +0 -0
  582. package/coverage/index.html +0 -566
  583. package/coverage/prettify.css +0 -1
  584. package/coverage/prettify.js +0 -2
  585. package/coverage/sort-arrow-sprite.png +0 -0
  586. package/coverage/sorter.js +0 -196
  587. package/index.ts +0 -177
  588. package/protobuf/Area.ts +0 -46
  589. package/protobuf/Article.ts +0 -289
  590. package/protobuf/Body.ts +0 -46
  591. package/protobuf/CampaignInformation.ts +0 -46
  592. package/protobuf/ClickTracking.ts +0 -46
  593. package/protobuf/CommercialEntity.ts +0 -67
  594. package/protobuf/Cover.ts +0 -41
  595. package/protobuf/Deadline.ts +0 -46
  596. package/protobuf/Degree.ts +0 -71
  597. package/protobuf/Description.ts +0 -63
  598. package/protobuf/Discipline.ts +0 -111
  599. package/protobuf/Duration.ts +0 -46
  600. package/protobuf/EnglishRequirement.ts +0 -46
  601. package/protobuf/EssentialInformation.ts +0 -76
  602. package/protobuf/File.ts +0 -101
  603. package/protobuf/GPARequirement.ts +0 -46
  604. package/protobuf/InternalLink.ts +0 -53
  605. package/protobuf/Link.ts +0 -46
  606. package/protobuf/LivingCost.ts +0 -46
  607. package/protobuf/Location.ts +0 -77
  608. package/protobuf/Logo.ts +0 -41
  609. package/protobuf/MiniProgrammeCard.ts +0 -69
  610. package/protobuf/OptionalLink.ts +0 -51
  611. package/protobuf/Organisation.ts +0 -1065
  612. package/protobuf/OrganisationInformation.ts +0 -34
  613. package/protobuf/OrganisationRanking.ts +0 -58
  614. package/protobuf/Person.ts +0 -57
  615. package/protobuf/ProgrammeCard.ts +0 -247
  616. package/protobuf/ProgrammeGrid.ts +0 -53
  617. package/protobuf/Ranking.ts +0 -101
  618. package/protobuf/RankingInstitute.ts +0 -62
  619. package/protobuf/Review.ts +0 -72
  620. package/protobuf/ReviewRating.ts +0 -51
  621. package/protobuf/RichText.ts +0 -43
  622. package/protobuf/SocialLink.ts +0 -96
  623. package/protobuf/StartDate.ts +0 -54
  624. package/protobuf/Timing.ts +0 -68
  625. package/protobuf/Topic.ts +0 -41
  626. package/protobuf/TrackedLink.ts +0 -52
  627. package/protobuf/Tracking.ts +0 -79
  628. package/protobuf/TuitionFee.ts +0 -56
  629. package/protobuf/Unibuddy.ts +0 -41
  630. package/src/clients/article-detail-page-client.ts +0 -20
  631. package/src/clients/organisation-page-client.ts +0 -20
  632. package/src/clients/protobuf-client.ts +0 -57
  633. package/src/clients/public-mini-programme-card-client.ts +0 -20
  634. package/src/domain-client.ts +0 -110
  635. package/src/factories/DateFactory.ts +0 -8
  636. package/src/factories/InternalLinkFactory.ts +0 -32
  637. package/src/i-api-response.ts +0 -7
  638. package/src/i-class-factory.ts +0 -5
  639. package/src/i-model-description.ts +0 -13
  640. package/src/model-client.ts +0 -77
  641. package/src/model-factory.ts +0 -94
  642. package/src/models/bestfit-programme/bestfit-programme-client.ts +0 -16
  643. package/src/models/bestfit-programme/i-best-fit-programme.ts +0 -102
  644. package/src/models/bestfit-programme/i-city.ts +0 -16
  645. package/src/models/bestfit-programme/i-living-cost.ts +0 -23
  646. package/src/models/common/i-city.ts +0 -16
  647. package/src/models/common/i-country.ts +0 -23
  648. package/src/models/common/i-english-requirements.ts +0 -66
  649. package/src/models/common/i-g-p-a-requirement.ts +0 -23
  650. package/src/models/common/i-internal-link.ts +0 -32
  651. package/src/models/common/i-logo.ts +0 -16
  652. package/src/models/common/i-review-rating.ts +0 -30
  653. package/src/models/common/i-tuition-fee.ts +0 -57
  654. package/src/models/copilot-country/copilot-country-client.ts +0 -16
  655. package/src/models/copilot-country/i-copilot-country.ts +0 -46
  656. package/src/models/copilot-country/i-copilot-ranking-card.ts +0 -39
  657. package/src/models/copilot-programme/copilot-programme-client.ts +0 -16
  658. package/src/models/copilot-programme/i-copilot-programme.ts +0 -147
  659. package/src/models/customerio-organisation/customerio-organisation-client.ts +0 -16
  660. package/src/models/customerio-organisation/i-customer-io-organisation.ts +0 -62
  661. package/src/models/customerio-organisation/i-review.ts +0 -12
  662. package/src/models/customerio-programme/customerio-programme-client.ts +0 -16
  663. package/src/models/customerio-programme/i-customer-io-programme.ts +0 -129
  664. package/src/models/customerio-programme/i-internal-link.ts +0 -32
  665. package/src/models/faq-static-content/i-faq-static-content.ts +0 -15
  666. package/src/models/faq-static-content/i-faq.ts +0 -6
  667. package/src/models/faq-static-content/i-static-content-url.ts +0 -6
  668. package/src/models/faq-static-content/public-faq-static-content-client.ts +0 -16
  669. package/src/models/organisation-card/i-organisation-card.ts +0 -73
  670. package/src/models/organisation-card/i-ranking-discipline.ts +0 -6
  671. package/src/models/organisation-card/organisation-card-client.ts +0 -16
  672. package/src/models/organisation-for-search/i-organisation-for-search.ts +0 -37
  673. package/src/models/organisation-for-search/public-organisation-for-search-client.ts +0 -16
  674. package/src/models/organisation-search-document/i-organisation-search-document.ts +0 -177
  675. package/src/models/organisation-search-document/organisation-search-document-client.ts +0 -16
  676. package/src/models/programme-card/i-click-tracking-data.ts +0 -8
  677. package/src/models/programme-card/i-cover.ts +0 -16
  678. package/src/models/programme-card/i-deadline.ts +0 -23
  679. package/src/models/programme-card/i-duration.ts +0 -46
  680. package/src/models/programme-card/i-internal-link.ts +0 -32
  681. package/src/models/programme-card/i-link.ts +0 -25
  682. package/src/models/programme-card/i-location.ts +0 -22
  683. package/src/models/programme-card/i-logo.ts +0 -16
  684. package/src/models/programme-card/i-optional-link.ts +0 -27
  685. package/src/models/programme-card/i-programme-card.ts +0 -257
  686. package/src/models/programme-card/i-start-date.ts +0 -39
  687. package/src/models/programme-card/i-timing.ts +0 -53
  688. package/src/models/programme-card/i-tracked-link.ts +0 -34
  689. package/src/models/programme-card/i-tracking.ts +0 -55
  690. package/src/models/programme-card/i-tuition-fee.ts +0 -57
  691. package/src/models/programme-card/programme-card-client.ts +0 -16
  692. package/src/models/ranking-cards/i-ranking.ts +0 -22
  693. package/src/models/scholarship-card/i-scholarship-card-v2.ts +0 -38
  694. package/src/models/scholarship-card/i-scholarship-card.ts +0 -28
  695. package/src/models/scholarship-card/public-scholarship-card-client.ts +0 -16
  696. package/src/models/scholarship-card/scholarship-card-v2-client.ts +0 -16
  697. package/src/models/scholarship-search-document/i-scholarship-search-document.ts +0 -53
  698. package/src/models/scholarship-search-document/scholarship-search-document-client.ts +0 -16
  699. package/src/models/search-discipline/i-search-discipline.ts +0 -32
  700. package/src/models/search-discipline/public-search-discipline-client.ts +0 -16
  701. package/src/models/search-projection/i-geo-targeting-configuration.ts +0 -44
  702. package/src/models/search-projection/i-geo-targeting-values.ts +0 -38
  703. package/src/models/search-projection/i-organisation-values.ts +0 -53
  704. package/src/models/search-projection/i-premium-values.ts +0 -43
  705. package/src/models/search-projection/i-search-projection.ts +0 -223
  706. package/src/models/search-projection/i-tuition-values.ts +0 -63
  707. package/src/models/search-projection/search-projection-client.ts +0 -16
  708. package/src/models/sitemap-articles-info/i-sitemap-article-info.ts +0 -33
  709. package/src/models/sitemap-articles-info/sitemap-articles-info-client.ts +0 -16
  710. package/src/models/sitemap-cities-info/i-sitemap-city-info.ts +0 -17
  711. package/src/models/sitemap-cities-info/sitemap-cities-info-client.ts +0 -16
  712. package/src/models/sitemap-countries-info/i-sitemap-country-info.ts +0 -17
  713. package/src/models/sitemap-countries-info/sitemap-countries-info-client.ts +0 -16
  714. package/src/models/sitemap-country-degree-info/i-degree-info.ts +0 -17
  715. package/src/models/sitemap-country-degree-info/i-sitemap-country-degree-info.ts +0 -14
  716. package/src/models/sitemap-country-degree-info/sitemap-country-degree-info-client.ts +0 -16
  717. package/src/models/sitemap-disciplines-info/i-sitemap-discipline-info.ts +0 -17
  718. package/src/models/sitemap-disciplines-info/sitemap-disciplines-info-client.ts +0 -16
  719. package/src/models/sitemap-organisations-info/i-sitemap-organisation-info.ts +0 -32
  720. package/src/models/sitemap-organisations-info/sitemap-organisations-info-client.ts +0 -16
  721. package/src/models/sitemap-programme-info/i-sitemap-programme-info.ts +0 -32
  722. package/src/models/sitemap-programme-info/sitemap-programme-info-client.ts +0 -16
  723. package/src/models/sitemap-rankings-info/i-sitemap-rankings-info.ts +0 -17
  724. package/src/models/sitemap-rankings-info/sitemap-rankings-info-client.ts +0 -16
  725. package/src/types/portal-map.ts +0 -3
  726. package/src/types/portal-type.ts +0 -7
  727. package/src/types.ts +0 -4
  728. package/tsconfig.json +0 -40
  729. package/vitest.config.ts +0 -10
  730. package/vitest.setup.ts +0 -6
  731. /package/{bin/src → src}/exceptions/bad-request-exception.d.ts +0 -0
  732. /package/src/exceptions/{bad-request-exception.ts → bad-request-exception.js} +0 -0
  733. /package/{bin/src → src}/exceptions/client-exception.d.ts +0 -0
  734. /package/src/exceptions/{client-exception.ts → client-exception.js} +0 -0
  735. /package/{bin/src → src}/exceptions/internal-server-exception.d.ts +0 -0
  736. /package/src/exceptions/{internal-server-exception.ts → internal-server-exception.js} +0 -0
  737. /package/{bin/src → src}/exceptions/not-found-exception.d.ts +0 -0
  738. /package/src/exceptions/{not-found-exception.ts → not-found-exception.js} +0 -0
  739. /package/{bin/src → src}/exceptions/property-not-available-exception.d.ts +0 -0
  740. /package/src/exceptions/{property-not-available-exception.ts → property-not-available-exception.js} +0 -0
  741. /package/{bin/src → src}/factories/DateFactory.d.ts +0 -0
  742. /package/{bin/src → src}/i-class-factory.d.ts +0 -0
  743. /package/{bin/src → src}/i-model-description.d.ts +0 -0
  744. /package/{bin/src → src}/model-client.d.ts +0 -0
  745. /package/{bin/src → src}/model-factory.d.ts +0 -0
  746. /package/{bin/src → src}/models/bestfit-programme/bestfit-programme-client.d.ts +0 -0
  747. /package/{bin/src → src}/models/bestfit-programme/i-best-fit-programme.d.ts +0 -0
  748. /package/{bin/src → src}/models/bestfit-programme/i-city.d.ts +0 -0
  749. /package/{bin/src → src}/models/bestfit-programme/i-living-cost.d.ts +0 -0
  750. /package/{bin/src → src}/models/common/i-city.d.ts +0 -0
  751. /package/{bin/src → src}/models/common/i-country.d.ts +0 -0
  752. /package/{bin/src → src}/models/common/i-english-requirements.d.ts +0 -0
  753. /package/{bin/src → src}/models/common/i-g-p-a-requirement.d.ts +0 -0
  754. /package/{bin/src → src}/models/common/i-internal-link.d.ts +0 -0
  755. /package/{bin/src → src}/models/common/i-logo.d.ts +0 -0
  756. /package/{bin/src → src}/models/common/i-tuition-fee.d.ts +0 -0
  757. /package/{bin/src → src}/models/copilot-country/copilot-country-client.d.ts +0 -0
  758. /package/{bin/src → src}/models/copilot-country/i-copilot-country.d.ts +0 -0
  759. /package/{bin/src → src}/models/copilot-country/i-copilot-ranking-card.d.ts +0 -0
  760. /package/{bin/src → src}/models/copilot-programme/copilot-programme-client.d.ts +0 -0
  761. /package/{bin/src → src}/models/copilot-programme/i-copilot-programme.d.ts +0 -0
  762. /package/{bin/src → src}/models/customerio-organisation/customerio-organisation-client.d.ts +0 -0
  763. /package/{bin/src → src}/models/customerio-organisation/i-customer-io-organisation.d.ts +0 -0
  764. /package/{bin/src → src}/models/customerio-organisation/i-review.d.ts +0 -0
  765. /package/{bin/src → src}/models/customerio-programme/customerio-programme-client.d.ts +0 -0
  766. /package/{bin/src → src}/models/customerio-programme/i-customer-io-programme.d.ts +0 -0
  767. /package/{bin/src → src}/models/customerio-programme/i-internal-link.d.ts +0 -0
  768. /package/{bin/src → src}/models/organisation-card/i-ranking-discipline.d.ts +0 -0
  769. /package/{bin/src → src}/models/organisation-card/organisation-card-client.d.ts +0 -0
  770. /package/{bin/src → src}/models/organisation-for-search/i-organisation-for-search.d.ts +0 -0
  771. /package/{bin/src → src}/models/organisation-for-search/public-organisation-for-search-client.d.ts +0 -0
  772. /package/{bin/src → src}/models/organisation-search-document/organisation-search-document-client.d.ts +0 -0
  773. /package/{bin/src → src}/models/programme-card/i-click-tracking-data.d.ts +0 -0
  774. /package/{bin/src → src}/models/programme-card/i-cover.d.ts +0 -0
  775. /package/{bin/src → src}/models/programme-card/i-deadline.d.ts +0 -0
  776. /package/{bin/src → src}/models/programme-card/i-duration.d.ts +0 -0
  777. /package/{bin/src → src}/models/programme-card/i-internal-link.d.ts +0 -0
  778. /package/{bin/src → src}/models/programme-card/i-link.d.ts +0 -0
  779. /package/{bin/src → src}/models/programme-card/i-location.d.ts +0 -0
  780. /package/{bin/src → src}/models/programme-card/i-logo.d.ts +0 -0
  781. /package/{bin/src → src}/models/programme-card/i-optional-link.d.ts +0 -0
  782. /package/{bin/src → src}/models/programme-card/i-start-date.d.ts +0 -0
  783. /package/{bin/src → src}/models/programme-card/i-timing.d.ts +0 -0
  784. /package/{bin/src → src}/models/programme-card/i-tracked-link.d.ts +0 -0
  785. /package/{bin/src → src}/models/programme-card/i-tracking.d.ts +0 -0
  786. /package/{bin/src → src}/models/programme-card/i-tuition-fee.d.ts +0 -0
  787. /package/{bin/src → src}/models/programme-card/programme-card-client.d.ts +0 -0
  788. /package/{bin/src → src}/models/ranking-cards/i-ranking.d.ts +0 -0
  789. /package/{bin/src → src}/models/scholarship-card/i-scholarship-card.d.ts +0 -0
  790. /package/{bin/src → src}/models/scholarship-card/public-scholarship-card-client.d.ts +0 -0
  791. /package/{bin/src → src}/models/scholarship-card/scholarship-card-v2-client.d.ts +0 -0
  792. /package/{bin/src → src}/models/scholarship-search-document/i-scholarship-search-document.d.ts +0 -0
  793. /package/{bin/src → src}/models/scholarship-search-document/scholarship-search-document-client.d.ts +0 -0
  794. /package/{bin/src → src}/models/search-discipline/i-search-discipline.d.ts +0 -0
  795. /package/{bin/src → src}/models/search-discipline/public-search-discipline-client.d.ts +0 -0
  796. /package/{bin/src → src}/models/search-projection/i-geo-targeting-configuration.d.ts +0 -0
  797. /package/{bin/src → src}/models/search-projection/i-geo-targeting-values.d.ts +0 -0
  798. /package/{bin/src → src}/models/search-projection/i-organisation-values.d.ts +0 -0
  799. /package/{bin/src → src}/models/search-projection/i-premium-values.d.ts +0 -0
  800. /package/{bin/src → src}/models/search-projection/i-search-projection.d.ts +0 -0
  801. /package/{bin/src → src}/models/search-projection/i-tuition-values.d.ts +0 -0
  802. /package/{bin/src → src}/models/search-projection/search-projection-client.d.ts +0 -0
  803. /package/{bin/src → src}/models/sitemap-articles-info/i-sitemap-article-info.d.ts +0 -0
  804. /package/{bin/src → src}/models/sitemap-articles-info/sitemap-articles-info-client.d.ts +0 -0
  805. /package/{bin/src → src}/models/sitemap-cities-info/i-sitemap-city-info.d.ts +0 -0
  806. /package/{bin/src → src}/models/sitemap-cities-info/sitemap-cities-info-client.d.ts +0 -0
  807. /package/{bin/src → src}/models/sitemap-countries-info/i-sitemap-country-info.d.ts +0 -0
  808. /package/{bin/src → src}/models/sitemap-countries-info/sitemap-countries-info-client.d.ts +0 -0
  809. /package/{bin/src → src}/models/sitemap-country-degree-info/i-degree-info.d.ts +0 -0
  810. /package/{bin/src → src}/models/sitemap-country-degree-info/i-sitemap-country-degree-info.d.ts +0 -0
  811. /package/{bin/src → src}/models/sitemap-country-degree-info/sitemap-country-degree-info-client.d.ts +0 -0
  812. /package/{bin/src → src}/models/sitemap-disciplines-info/i-sitemap-discipline-info.d.ts +0 -0
  813. /package/{bin/src → src}/models/sitemap-disciplines-info/sitemap-disciplines-info-client.d.ts +0 -0
  814. /package/{bin/src → src}/models/sitemap-organisations-info/i-sitemap-organisation-info.d.ts +0 -0
  815. /package/{bin/src → src}/models/sitemap-organisations-info/sitemap-organisations-info-client.d.ts +0 -0
  816. /package/{bin/src → src}/models/sitemap-programme-info/i-sitemap-programme-info.d.ts +0 -0
  817. /package/{bin/src → src}/models/sitemap-programme-info/sitemap-programme-info-client.d.ts +0 -0
  818. /package/{bin/src → src}/models/sitemap-rankings-info/i-sitemap-rankings-info.d.ts +0 -0
  819. /package/{bin/src → src}/models/sitemap-rankings-info/sitemap-rankings-info-client.d.ts +0 -0
  820. /package/{bin/src → src}/types/portal-map.d.ts +0 -0
  821. /package/{bin/src → src}/types/portal-type.d.ts +0 -0
  822. /package/{bin/src → src}/types.d.ts +0 -0
@@ -1,20 +0,0 @@
1
- import { MiniProgrammeCard } from "../../protobuf";
2
- import { ProtobufClient } from "./protobuf-client";
3
-
4
- export class PublicMiniProgrammeCardClient extends ProtobufClient<MiniProgrammeCard> {
5
- protected constructModel(data: Record<string, any>): MiniProgrammeCard {
6
- return MiniProgrammeCard.fromJSON(data);
7
- }
8
-
9
- protected getModelName(): string {
10
- return 'mini-programme-card';
11
- }
12
-
13
- protected getVersion(): string {
14
- return 'v1';
15
- }
16
-
17
- public isPublic(): boolean {
18
- return true;
19
- }
20
- }
@@ -1,110 +0,0 @@
1
- import { BadRequestException } from "./exceptions/bad-request-exception";
2
- import { InternalServerException } from "./exceptions/internal-server-exception";
3
- import { NotFoundException } from "./exceptions/not-found-exception";
4
- import { IApiResponse } from "./i-api-response";
5
-
6
- const decoder = new TextDecoder();
7
-
8
- export class DomainClient<T> {
9
-
10
- constructor(
11
- public readonly baseUrl: string,
12
- public readonly apiKey: string | undefined,
13
- public readonly model: string,
14
- public readonly version: string,
15
- public readonly isPublic: boolean,
16
- public readonly seed: number
17
- ) {
18
- }
19
-
20
- public async doRequest(ids: number[]): Promise<T[]> {
21
- const url = `${this.baseUrl}/${this.buildUrl(ids)}`;
22
- const headers: Record<string, string> = {};
23
-
24
- if (this.apiKey !== undefined) {
25
- headers["x-api-key"] = this.apiKey
26
- }
27
-
28
- try {
29
-
30
- const response = await fetch(url, {headers});
31
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
32
- const data: IApiResponse = await response.json();
33
-
34
- if (!response.ok || data.status !== 200) {
35
- this.handleErrors(data);
36
- }
37
-
38
- const models: T[] = [];
39
-
40
- for (const id of ids) {
41
- const modelData = data.data[id];
42
- if (!modelData) {
43
- continue;
44
- }
45
-
46
- if(typeof modelData === 'string') {
47
- try {
48
- models.push(await this.decompressModelData(modelData));
49
- continue;
50
- } catch (error) {
51
- console.error(error);
52
- continue;
53
- }
54
- }
55
-
56
-
57
-
58
- models.push(modelData as T);
59
- }
60
-
61
- return models;
62
-
63
- } catch (error) {
64
- console.error('Error fetching data from API:', error);
65
- if(error instanceof InternalServerException || error instanceof BadRequestException || error instanceof NotFoundException) {
66
- throw error;
67
- }
68
-
69
- throw new InternalServerException('Unable to fetch data from the API', error);
70
- }
71
- }
72
-
73
- private async decompressModelData(compressedData: string): Promise<T> {
74
- const bytes = Uint8Array.from(atob(compressedData), c => c.charCodeAt(0));
75
-
76
- const stream = new DecompressionStream('deflate');
77
- const response = new Response(bytes as any);
78
- const decompressedStream = response.body?.pipeThrough(stream);
79
- const decompressedBytes = new Uint8Array(await new Response(decompressedStream).arrayBuffer());
80
-
81
- return JSON.parse(decoder.decode(decompressedBytes)) as T;
82
- }
83
-
84
- private handleErrors(response: IApiResponse): void {
85
- if (!response.status) {
86
- throw new InternalServerException(response.message);
87
- }
88
-
89
- if (response.status === 400) {
90
- throw new BadRequestException(response.message);
91
- }
92
-
93
- if (response.status === 404) {
94
- throw new NotFoundException(response.message);
95
- }
96
- }
97
-
98
- private buildUrl(ids: number[]): string {
99
- const publicPrefix = this.shouldAddPublicPrefix() ? 'public/' : '';
100
- let query = `${publicPrefix}${this.model}/${this.version}/?seed=${this.seed}`;
101
- for (const id of ids) {
102
- query += `&id=${id}`;
103
- }
104
- return query;
105
- }
106
-
107
- private shouldAddPublicPrefix(): boolean {
108
- return this.isPublic && this.apiKey === undefined;
109
- }
110
- }
@@ -1,8 +0,0 @@
1
- import { IClassFactory } from "../i-class-factory";
2
- import { CallableReturnType, Model } from "../types";
3
-
4
- export class DateFactory implements IClassFactory {
5
- public create(data: Model, parameters: string[]): CallableReturnType {
6
- return new Date(parameters[0]);
7
- }
8
- }
@@ -1,32 +0,0 @@
1
- import { IClassFactory } from "../i-class-factory";
2
- import { PortalType } from "../types/portal-type";
3
- import { CallableReturnType, Model } from "../types";
4
- import { PortalMap } from "../types/portal-map";
5
-
6
- export class InternalLinkFactory implements IClassFactory {
7
- private portalMap: PortalMap;
8
-
9
- constructor(portalMap: PortalMap) {
10
- this.portalMap = portalMap;
11
- }
12
-
13
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
14
- public create(link: Model, parameters?: unknown): CallableReturnType {
15
- const getPortalType = link['getPortalType'];
16
- const portalType = getPortalType ? getPortalType() as PortalType : null;
17
- const portalBaseUrl = portalType ? this.getPortalBaseUrl(portalType) : '';
18
-
19
- const getUrl = link['getUrl'];
20
- if (getUrl) {
21
- const path = getUrl() as string;
22
- link['getUrl'] = (): string => portalBaseUrl + path;
23
- }
24
-
25
- return link;
26
- }
27
-
28
- private getPortalBaseUrl(portalType: PortalType): string {
29
- const url = this.portalMap.get(portalType);
30
- return url || '';
31
- }
32
- }
@@ -1,7 +0,0 @@
1
- import { IModelDescription } from "./i-model-description";
2
-
3
- export interface IApiResponse {
4
- status: number;
5
- data: Record<number, IModelDescription|string>;
6
- message: string
7
- }
@@ -1,5 +0,0 @@
1
- import { CallableReturnType, Model } from "./types";
2
-
3
- export interface IClassFactory {
4
- create(data: Model, parameters?: any[]): CallableReturnType
5
- }
@@ -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
- }
@@ -1,77 +0,0 @@
1
- import { DomainClient } from "./domain-client";
2
- import { ClientException } from "./exceptions/client-exception";
3
- import { IModelDescription } from "./i-model-description";
4
- import { ModelFactory } from "./model-factory";
5
- import { PortalMap } from "./types/portal-map";
6
-
7
-
8
- export abstract class ModelClient<T> {
9
- private readonly domainClient: DomainClient<IModelDescription> | null;
10
- private readonly modelFactory: ModelFactory<T>;
11
-
12
- constructor(
13
- baseUrl?: string,
14
- apiKey?: string,
15
- seed?: number,
16
- portalMap?: PortalMap
17
- ) {
18
- if (!baseUrl || !seed) {
19
- return;
20
- }
21
-
22
- this.modelFactory = new ModelFactory<T>(portalMap);
23
- this.domainClient = new DomainClient(
24
- baseUrl,
25
- apiKey,
26
- this.getModelName(),
27
- this.getVersion(),
28
- this.isPublic(),
29
- seed
30
- );
31
- }
32
-
33
- public async fetch(id: number): Promise<T> {
34
- const modelDescriptions = await this.fetchDescription(id);
35
- return this.modelFactory.fromDescription(modelDescriptions);
36
- }
37
-
38
- public async fetchDescription(id: number): Promise<IModelDescription> {
39
- if (!this.domainClient) {
40
- throw new ClientException(
41
- "Offline mode active: did you provide all parameters " +
42
- "in the constructor?"
43
- );
44
- }
45
- const result = await this.domainClient.doRequest([id]);
46
- return result[0];
47
- }
48
-
49
- public async fetchMultiple(ids: number[]): Promise<T[]> {
50
- const descriptions = await this.fetchMultipleDescriptions(ids);
51
- return this.modelFactory.fromDescriptions(descriptions);
52
- }
53
-
54
- public async fetchMultipleDescriptions(ids: number[]): Promise<IModelDescription[]> {
55
- if (!this.domainClient) {
56
- throw new ClientException(
57
- 'Offline mode active: did you provide all parameters ' +
58
- 'in the constructor?'
59
- );
60
- }
61
- return await this.domainClient.doRequest(ids);
62
- }
63
-
64
- public fromDescription(description: IModelDescription): T {
65
- return this.modelFactory.fromDescription(description);
66
- }
67
-
68
- public fromDescriptions(descriptions: IModelDescription[]): T[] {
69
- return this.modelFactory.fromDescriptions(descriptions);
70
- }
71
-
72
- protected abstract getModelName(): string;
73
-
74
- protected abstract getVersion(): string;
75
-
76
- public abstract isPublic(): boolean;
77
- }
@@ -1,94 +0,0 @@
1
- import { InternalLinkFactory } from "./factories/InternalLinkFactory";
2
- import { DateFactory } from "./factories/DateFactory";
3
- import { IClassFactory } from "./i-class-factory";
4
- import { IModelDescription, isModelDescription } from "./i-model-description";
5
- import { PropertyNotAvailableException } from "./exceptions/property-not-available-exception";
6
- import { Callable, CallableReturnType, Model } from "./types";
7
- import { PortalMap } from "./types/portal-map";
8
- import { PortalType } from "./types/portal-type";
9
-
10
- export class ModelFactory<T> {
11
-
12
- private customClassFactories: Map<string, IClassFactory>;
13
-
14
- constructor(portalMap: PortalMap = new Map<PortalType, string>()) {
15
- const factories = new Map<string, IClassFactory>();
16
- factories.set('IInternalLink', new InternalLinkFactory(portalMap));
17
- factories.set('SerializableDateTime', new DateFactory());
18
-
19
- this.customClassFactories = factories;
20
- }
21
-
22
- public fromDescription(data: IModelDescription): T {
23
- return this.unpackClass(data) as unknown as T;
24
- }
25
-
26
- public fromDescriptions(data: IModelDescription[]): T[] {
27
- const models: T[] = [];
28
- for (const modelDescription of data) {
29
- models.push(this.unpackClass(modelDescription) as unknown as T);
30
- }
31
- return models;
32
- }
33
-
34
- private unpackClass(data: IModelDescription): CallableReturnType {
35
-
36
-
37
- const unpacked: Model = {};
38
- for (const functionName in data.func) {
39
- unpacked[functionName] = this.getCallable(functionName, data);
40
- }
41
-
42
- const factory = this.customClassFactories.get(data.class);
43
- if (factory !== undefined) {
44
- return factory.create(unpacked, data.parameters);
45
- }
46
-
47
- return unpacked;
48
- }
49
-
50
- private getCallable(
51
- functionName: string,
52
- data: IModelDescription
53
- ): Callable {
54
- const propertyName = functionName.substr(3);
55
- const canShowFunction = 'canShow' + propertyName;
56
-
57
- const value: unknown = data.func[functionName];
58
- let returnValue: CallableReturnType|CallableReturnType[];
59
-
60
- if (isModelDescription(value)) {
61
- returnValue = this.unpackClass(value);
62
- } else if (Array.isArray(value)) {
63
- returnValue = this.unpackArray(value);
64
- } else {
65
- returnValue = value as CallableReturnType;
66
- }
67
-
68
- if (canShowFunction in data.func) {
69
- return (): any => {
70
- if (data.func[canShowFunction] === false) {
71
- throw new PropertyNotAvailableException(
72
- `Property '${propertyName}' not available`
73
- );
74
- }
75
- return returnValue;
76
- };
77
- }
78
- return (): any => {
79
- return returnValue;
80
- };
81
- }
82
-
83
- private unpackArray(list: any[]): CallableReturnType[] {
84
- return list.map(
85
- item => {
86
- if (isModelDescription(item)) {
87
- return this.unpackClass(item)
88
- }
89
-
90
- return item as CallableReturnType;
91
- }
92
- );
93
- }
94
- }
@@ -1,16 +0,0 @@
1
- import { IBestFitProgramme } from "../../..";
2
- import { ModelClient } from "../../model-client";
3
-
4
- export class BestfitProgrammeClient extends ModelClient<IBestFitProgramme> {
5
- protected getModelName(): string {
6
- return 'bestfit-programme';
7
- }
8
-
9
- protected getVersion(): string {
10
- return 'v1';
11
- }
12
-
13
- public isPublic(): boolean {
14
- return false;
15
- }
16
- }
@@ -1,102 +0,0 @@
1
- import { ICity, IEnglishRequirements, IGPARequirement, ILivingCost, ITuitionFee } from "../../..";
2
-
3
- export interface IBestFitProgramme {
4
-
5
- /**
6
- * Average university ranking across multiple ranking institutes.
7
- *
8
- * @return number
9
- */
10
- getAverageRankingPosition(): number;
11
-
12
- canShowAverageRankingPosition(): boolean;
13
-
14
- /**
15
- * City which programme is given in
16
- *
17
- * @return ICity
18
- */
19
- getCity(): ICity;
20
-
21
- /**
22
- * Get country id the programme is teached in
23
- *
24
- * @return number
25
- */
26
- getCountryId(): number;
27
-
28
- /**
29
- * Discipline ids which the program is linked to.
30
- *
31
- * @return number[]
32
- */
33
- getDisciplineIds(): number[];
34
-
35
- canShowDisciplineIds(): boolean;
36
-
37
- /**
38
- * English level requirements.
39
- *
40
- * @return IEnglishRequirements
41
- */
42
- getEnglishRequirements(): IEnglishRequirements;
43
-
44
- /**
45
- * GPA requirements
46
- *
47
- * @return IGPARequirement
48
- */
49
- getGPA(): IGPARequirement;
50
-
51
- canShowGPA(): boolean;
52
-
53
- /**
54
- * Id of the programme.
55
- *
56
- * @return number
57
- */
58
- getId(): number;
59
-
60
- /**
61
- * Estimated living cost based on universities location.
62
- *
63
- * @return ILivingCost
64
- */
65
- getLivingCost(): ILivingCost;
66
-
67
- canShowLivingCost(): boolean;
68
-
69
- /**
70
- * Minimum required education level
71
- *
72
- * @return string | null
73
- */
74
- getRequiredEducationalLevel(): string | null;
75
-
76
- canShowRequiredEducationalLevel(): boolean;
77
-
78
- /**
79
- * The programmes tuition fees
80
- *
81
- * @return ITuitionFee[]
82
- */
83
- getTuitionFees(): ITuitionFee[];
84
-
85
- canShowTuitionFees(): boolean;
86
-
87
- /**
88
- * Amount of years required as work experience
89
- *
90
- * @return number
91
- */
92
- getWorkExperienceYears(): number;
93
-
94
- canShowWorkExperienceYears(): boolean;
95
-
96
- /**
97
- * Indicates whenever a programme is fully online or not
98
- *
99
- * @return boolean
100
- */
101
- isFullyOnline(): boolean;
102
- }
@@ -1,16 +0,0 @@
1
- export interface ICity {
2
-
3
- /**
4
- * Get city id
5
- *
6
- * @return number
7
- */
8
- getId(): number;
9
-
10
- /**
11
- * Get city name
12
- *
13
- * @return string
14
- */
15
- getName(): string;
16
- }
@@ -1,23 +0,0 @@
1
- export interface ILivingCost {
2
-
3
- /**
4
- * Get the applicable currency.
5
- *
6
- * @return string
7
- */
8
- getCurrency(): string;
9
-
10
- /**
11
- * Get the maximum living cost in the provided currency.
12
- *
13
- * @return number
14
- */
15
- getMax(): number;
16
-
17
- /**
18
- * Get the minimum living cost in the provided currency.
19
- *
20
- * @return number
21
- */
22
- getMin(): number;
23
- }
@@ -1,16 +0,0 @@
1
- export interface ICity {
2
-
3
- /**
4
- * Get city id
5
- *
6
- * @return number
7
- */
8
- getId(): number;
9
-
10
- /**
11
- * Get city name
12
- *
13
- * @return string
14
- */
15
- getName(): string;
16
- }
@@ -1,23 +0,0 @@
1
- export interface ICountry {
2
-
3
- /**
4
- * Get country iso code
5
- *
6
- * @return string
7
- */
8
- getISOCode(): string;
9
-
10
- /**
11
- * Get country id
12
- *
13
- * @return number
14
- */
15
- getId(): number;
16
-
17
- /**
18
- * Get country name
19
- *
20
- * @return string
21
- */
22
- getName(): string;
23
- }
@@ -1,66 +0,0 @@
1
- export interface IEnglishRequirements {
2
-
3
- /**
4
- * Required score for Cambridge english
5
- *
6
- * @return number
7
- */
8
- getCambridgeEnglish(): number;
9
-
10
- canShowCambridgeEnglish(): boolean;
11
-
12
- /**
13
- * Required score for Duolingo
14
- *
15
- * @return number
16
- */
17
- getDuolingo(): number;
18
-
19
- canShowDuolingo(): boolean;
20
-
21
- /**
22
- * Required score for IELTS tests
23
- *
24
- * @return number
25
- */
26
- getIELTS(): number;
27
-
28
- canShowIELTS(): boolean;
29
-
30
- /**
31
- * Required score for PTE
32
- *
33
- * @return number
34
- */
35
- getPTE(): number;
36
-
37
- canShowPTE(): boolean;
38
-
39
- /**
40
- * Required score for TOEFL internet
41
- *
42
- * @return number
43
- */
44
- getTOEFLInternet(): number;
45
-
46
- canShowTOEFLInternet(): boolean;
47
-
48
- /**
49
- * Required score for TOEFL paper
50
- *
51
- * @return number
52
- */
53
- getTOEFLPaper(): number;
54
-
55
- canShowTOEFLPaper(): boolean;
56
-
57
- /**
58
- * Required score for OTE
59
- *
60
- * @return number
61
- */
62
- getOte(): number;
63
-
64
- canShowOte(): boolean;
65
-
66
- }
@@ -1,23 +0,0 @@
1
- export interface IGPARequirement {
2
-
3
- /**
4
- * The used GPA scale for this requirement
5
- *
6
- * @return string
7
- */
8
- getScale(): string;
9
-
10
- /**
11
- * Required minimum score.
12
- *
13
- * @return string
14
- */
15
- getScore(): string;
16
-
17
- /**
18
- * Is GPA recommended or required.
19
- *
20
- * @return boolean
21
- */
22
- isRequired(): boolean;
23
- }
@@ -1,32 +0,0 @@
1
- export interface IInternalLink {
2
-
3
- /**
4
- * Get an optional text describing the link (typically <a>-tags contents).
5
- *
6
- * @return string
7
- * @throws PropertyNotAvailableException
8
- */
9
- getDescription(): string;
10
-
11
- canShowDescription(): boolean;
12
-
13
- /**
14
- * Returns on which portal a this link should link towards.
15
- *
16
- * @return string
17
- */
18
- getPortalType(): string;
19
-
20
- /**
21
- * Get the url to refer to.
22
- *
23
- * Note that the url provided is always a relative URL. A base URL is needed
24
- * to make it a full valid path.
25
- * The only exception is when an external link is provided (meaning, outside
26
- * of StudyPortals-maintained domains). In this case a full url will be
27
- * provided.
28
- *
29
- * @return string
30
- */
31
- getUrl(): string;
32
- }