@studyportals/domain-client 7.0.1-beta.9 → 7.1.1-beta.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.
Files changed (303) hide show
  1. package/index.d.ts +90 -0
  2. package/index.js +81 -34
  3. package/package.json +67 -55
  4. package/protobuf/Area.d.ts +11 -0
  5. package/protobuf/Area.js +33 -0
  6. package/protobuf/Article.d.ts +60 -0
  7. package/protobuf/Article.js +229 -0
  8. package/protobuf/Body.d.ts +11 -0
  9. package/protobuf/Body.js +33 -0
  10. package/protobuf/CampaignInformation.d.ts +11 -0
  11. package/protobuf/CampaignInformation.js +33 -0
  12. package/protobuf/ClickTracking.d.ts +11 -0
  13. package/protobuf/ClickTracking.js +33 -0
  14. package/protobuf/CommercialEntity.d.ts +14 -0
  15. package/protobuf/CommercialEntity.js +51 -0
  16. package/protobuf/Cover.d.ts +10 -0
  17. package/protobuf/Cover.js +29 -0
  18. package/protobuf/Deadline.d.ts +11 -0
  19. package/protobuf/Deadline.js +33 -0
  20. package/protobuf/Degree.d.ts +16 -0
  21. package/protobuf/Degree.js +53 -0
  22. package/protobuf/Description.d.ts +16 -0
  23. package/protobuf/Description.js +48 -0
  24. package/protobuf/Discipline.d.ts +26 -0
  25. package/protobuf/Discipline.js +87 -0
  26. package/protobuf/Duration.d.ts +11 -0
  27. package/protobuf/Duration.js +33 -0
  28. package/protobuf/EnglishRequirement.d.ts +11 -0
  29. package/protobuf/EnglishRequirement.js +33 -0
  30. package/protobuf/EssentialInformation.d.ts +17 -0
  31. package/protobuf/EssentialInformation.js +57 -0
  32. package/protobuf/File.d.ts +22 -0
  33. package/protobuf/File.js +77 -0
  34. package/protobuf/GPARequirement.d.ts +11 -0
  35. package/protobuf/GPARequirement.js +33 -0
  36. package/protobuf/InternalLink.d.ts +12 -0
  37. package/protobuf/InternalLink.js +33 -0
  38. package/protobuf/Link.d.ts +11 -0
  39. package/protobuf/Link.js +33 -0
  40. package/protobuf/LivingCost.d.ts +11 -0
  41. package/protobuf/LivingCost.js +33 -0
  42. package/protobuf/Location.d.ts +18 -0
  43. package/protobuf/Location.js +59 -0
  44. package/protobuf/Logo.d.ts +10 -0
  45. package/protobuf/Logo.js +29 -0
  46. package/protobuf/MiniProgrammeCard.d.ts +18 -0
  47. package/protobuf/MiniProgrammeCard.js +53 -0
  48. package/protobuf/OptionalLink.d.ts +12 -0
  49. package/protobuf/OptionalLink.js +37 -0
  50. package/protobuf/Organisation.d.ts +211 -0
  51. package/protobuf/Organisation.js +856 -0
  52. package/protobuf/OrganisationInformation.d.ts +9 -0
  53. package/protobuf/OrganisationInformation.js +23 -0
  54. package/protobuf/OrganisationRanking.d.ts +15 -0
  55. package/protobuf/OrganisationRanking.js +44 -0
  56. package/protobuf/Person.d.ts +14 -0
  57. package/protobuf/Person.js +43 -0
  58. package/protobuf/ProgrammeCard.d.ts +60 -0
  59. package/protobuf/ProgrammeCard.js +200 -0
  60. package/protobuf/ProgrammeGrid.d.ts +14 -0
  61. package/protobuf/ProgrammeGrid.js +40 -0
  62. package/protobuf/Ranking.d.ts +22 -0
  63. package/protobuf/Ranking.js +79 -0
  64. package/protobuf/RankingInstitute.d.ts +15 -0
  65. package/protobuf/RankingInstitute.js +47 -0
  66. package/protobuf/Review.d.ts +17 -0
  67. package/protobuf/Review.js +55 -0
  68. package/protobuf/ReviewRating.d.ts +12 -0
  69. package/protobuf/ReviewRating.js +37 -0
  70. package/protobuf/RichText.d.ts +10 -0
  71. package/protobuf/RichText.js +31 -0
  72. package/protobuf/SocialLink.d.ts +21 -0
  73. package/protobuf/SocialLink.js +73 -0
  74. package/protobuf/StartDate.d.ts +13 -0
  75. package/protobuf/StartDate.js +41 -0
  76. package/protobuf/Timing.d.ts +17 -0
  77. package/protobuf/Timing.js +52 -0
  78. package/protobuf/Topic.d.ts +10 -0
  79. package/protobuf/Topic.js +29 -0
  80. package/protobuf/TrackedLink.d.ts +13 -0
  81. package/protobuf/TrackedLink.js +39 -0
  82. package/protobuf/Tracking.d.ts +18 -0
  83. package/protobuf/Tracking.js +61 -0
  84. package/protobuf/TuitionFee.d.ts +13 -0
  85. package/protobuf/TuitionFee.js +41 -0
  86. package/protobuf/Unibuddy.d.ts +10 -0
  87. package/protobuf/Unibuddy.js +29 -0
  88. package/protobuf/index.d.ts +45 -0
  89. package/protobuf/index.js +61 -0
  90. package/src/clients/article-detail-page-client.d.ts +8 -0
  91. package/src/clients/article-detail-page-client.js +20 -0
  92. package/src/clients/index.d.ts +7 -0
  93. package/src/clients/index.js +23 -0
  94. package/src/clients/organisation-page-client.d.ts +8 -0
  95. package/src/clients/organisation-page-client.js +20 -0
  96. package/src/clients/protobuf-client.d.ts +14 -0
  97. package/src/clients/protobuf-client.js +30 -0
  98. package/src/clients/public-mini-programme-card-client.d.ts +8 -0
  99. package/src/clients/public-mini-programme-card-client.js +20 -0
  100. package/src/domain-client.d.ts +14 -0
  101. package/src/domain-client.js +95 -0
  102. package/src/exceptions/bad-request-exception.d.ts +2 -0
  103. package/src/exceptions/bad-request-exception.js +6 -0
  104. package/src/exceptions/client-exception.d.ts +2 -0
  105. package/src/exceptions/client-exception.js +6 -0
  106. package/src/exceptions/internal-server-exception.d.ts +2 -0
  107. package/src/exceptions/internal-server-exception.js +6 -0
  108. package/src/exceptions/not-found-exception.d.ts +2 -0
  109. package/src/exceptions/not-found-exception.js +6 -0
  110. package/src/exceptions/property-not-available-exception.d.ts +2 -0
  111. package/src/exceptions/property-not-available-exception.js +6 -0
  112. package/src/factories/DateFactory.d.ts +5 -0
  113. package/src/factories/DateFactory.js +9 -0
  114. package/src/factories/InternalLinkFactory.d.ts +9 -0
  115. package/src/factories/InternalLinkFactory.js +26 -0
  116. package/src/i-api-response.d.ts +6 -0
  117. package/src/i-api-response.js +2 -0
  118. package/src/i-class-factory.d.ts +4 -0
  119. package/src/i-class-factory.js +2 -0
  120. package/src/i-model-description.d.ts +7 -0
  121. package/src/i-model-description.js +8 -0
  122. package/src/model-client.d.ts +16 -0
  123. package/src/model-client.js +47 -0
  124. package/src/model-factory.d.ts +11 -0
  125. package/src/model-factory.js +72 -0
  126. package/src/models/bestfit-programme/bestfit-programme-client.d.ts +7 -0
  127. package/src/models/bestfit-programme/bestfit-programme-client.js +16 -0
  128. package/src/models/bestfit-programme/i-best-fit-programme.d.ts +82 -0
  129. package/src/models/bestfit-programme/i-best-fit-programme.js +2 -0
  130. package/src/models/bestfit-programme/i-city.d.ts +14 -0
  131. package/src/models/bestfit-programme/i-city.js +2 -0
  132. package/src/models/bestfit-programme/i-living-cost.d.ts +20 -0
  133. package/src/models/bestfit-programme/i-living-cost.js +2 -0
  134. package/src/models/city-search-document/city-search-document-client.d.ts +7 -0
  135. package/src/models/city-search-document/city-search-document-client.js +16 -0
  136. package/src/models/city-search-document/i-city-search-document.d.ts +7 -0
  137. package/src/models/city-search-document/i-city-search-document.js +2 -0
  138. package/src/models/common/i-city.d.ts +14 -0
  139. package/src/models/common/i-city.js +2 -0
  140. package/src/models/common/i-country.d.ts +20 -0
  141. package/src/models/common/i-country.js +2 -0
  142. package/src/models/common/i-english-requirements.d.ts +51 -0
  143. package/src/models/common/i-english-requirements.js +2 -0
  144. package/src/models/common/i-g-p-a-requirement.d.ts +20 -0
  145. package/src/models/common/i-g-p-a-requirement.js +2 -0
  146. package/src/models/common/i-internal-link.d.ts +28 -0
  147. package/src/models/common/i-internal-link.js +2 -0
  148. package/src/models/common/i-logo.d.ts +14 -0
  149. package/src/models/common/i-logo.js +2 -0
  150. package/src/models/common/i-review-rating.d.ts +26 -0
  151. package/src/models/common/i-review-rating.js +2 -0
  152. package/src/models/common/i-tuition-fee.d.ts +50 -0
  153. package/src/models/common/i-tuition-fee.js +2 -0
  154. package/src/models/copilot-country/copilot-country-client.d.ts +7 -0
  155. package/src/models/copilot-country/copilot-country-client.js +16 -0
  156. package/src/models/copilot-country/i-copilot-country.d.ts +39 -0
  157. package/src/models/copilot-country/i-copilot-country.js +2 -0
  158. package/src/models/copilot-country/i-copilot-ranking-card.d.ts +38 -0
  159. package/src/models/copilot-country/i-copilot-ranking-card.js +2 -0
  160. package/src/models/copilot-programme/copilot-programme-client.d.ts +7 -0
  161. package/src/models/copilot-programme/copilot-programme-client.js +16 -0
  162. package/src/models/copilot-programme/i-copilot-programme.d.ts +125 -0
  163. package/src/models/copilot-programme/i-copilot-programme.js +2 -0
  164. package/src/models/customerio-organisation/customerio-organisation-client.d.ts +7 -0
  165. package/src/models/customerio-organisation/customerio-organisation-client.js +16 -0
  166. package/src/models/customerio-organisation/i-customer-io-organisation.d.ts +35 -0
  167. package/src/models/customerio-organisation/i-customer-io-organisation.js +2 -0
  168. package/src/models/customerio-organisation/i-review.d.ts +7 -0
  169. package/src/models/customerio-organisation/i-review.js +2 -0
  170. package/src/models/customerio-programme/customerio-programme-client.d.ts +7 -0
  171. package/src/models/customerio-programme/customerio-programme-client.js +16 -0
  172. package/src/models/customerio-programme/i-customer-io-programme.d.ts +107 -0
  173. package/src/models/customerio-programme/i-customer-io-programme.js +2 -0
  174. package/src/models/customerio-programme/i-internal-link.d.ts +28 -0
  175. package/src/models/customerio-programme/i-internal-link.js +2 -0
  176. package/src/models/faq-static-content/i-faq-static-content.d.ts +10 -0
  177. package/src/models/faq-static-content/i-faq-static-content.js +2 -0
  178. package/src/models/faq-static-content/i-faq.d.ts +4 -0
  179. package/src/models/faq-static-content/i-faq.js +2 -0
  180. package/src/models/faq-static-content/i-static-content-url.d.ts +4 -0
  181. package/src/models/faq-static-content/i-static-content-url.js +2 -0
  182. package/src/models/faq-static-content/i-static-content.d.ts +5 -0
  183. package/src/models/faq-static-content/i-static-content.js +2 -0
  184. package/src/models/faq-static-content/public-faq-static-content-client.d.ts +7 -0
  185. package/src/models/faq-static-content/public-faq-static-content-client.js +16 -0
  186. package/src/models/organisation-card/i-organisation-card.d.ts +39 -0
  187. package/src/models/organisation-card/i-organisation-card.js +2 -0
  188. package/src/models/organisation-card/i-ranking-discipline.d.ts +4 -0
  189. package/src/models/organisation-card/i-ranking-discipline.js +2 -0
  190. package/src/models/organisation-card/organisation-card-client.d.ts +7 -0
  191. package/src/models/organisation-card/organisation-card-client.js +16 -0
  192. package/src/models/organisation-for-search/i-organisation-for-search.d.ts +32 -0
  193. package/src/models/organisation-for-search/i-organisation-for-search.js +2 -0
  194. package/src/models/organisation-for-search/public-organisation-for-search-client.d.ts +7 -0
  195. package/src/models/organisation-for-search/public-organisation-for-search-client.js +16 -0
  196. package/src/models/organisation-search-document/i-organisation-search-document.d.ts +158 -0
  197. package/src/models/organisation-search-document/i-organisation-search-document.js +2 -0
  198. package/src/models/organisation-search-document/organisation-search-document-client.d.ts +7 -0
  199. package/src/models/organisation-search-document/organisation-search-document-client.js +16 -0
  200. package/src/models/programme-card/i-click-tracking-data.d.ts +5 -0
  201. package/src/models/programme-card/i-click-tracking-data.js +2 -0
  202. package/src/models/programme-card/i-cover.d.ts +14 -0
  203. package/src/models/programme-card/i-cover.js +2 -0
  204. package/src/models/programme-card/i-deadline.d.ts +20 -0
  205. package/src/models/programme-card/i-deadline.js +2 -0
  206. package/src/models/programme-card/i-duration.d.ts +40 -0
  207. package/src/models/programme-card/i-duration.js +2 -0
  208. package/src/models/programme-card/i-internal-link.d.ts +28 -0
  209. package/src/models/programme-card/i-internal-link.js +2 -0
  210. package/src/models/programme-card/i-link.d.ts +22 -0
  211. package/src/models/programme-card/i-link.js +2 -0
  212. package/src/models/programme-card/i-location.d.ts +12 -0
  213. package/src/models/programme-card/i-location.js +2 -0
  214. package/src/models/programme-card/i-logo.d.ts +14 -0
  215. package/src/models/programme-card/i-logo.js +2 -0
  216. package/src/models/programme-card/i-optional-link.d.ts +23 -0
  217. package/src/models/programme-card/i-optional-link.js +2 -0
  218. package/src/models/programme-card/i-programme-card.d.ts +212 -0
  219. package/src/models/programme-card/i-programme-card.js +2 -0
  220. package/src/models/programme-card/i-start-date.d.ts +33 -0
  221. package/src/models/programme-card/i-start-date.js +2 -0
  222. package/src/models/programme-card/i-timing.d.ts +45 -0
  223. package/src/models/programme-card/i-timing.js +2 -0
  224. package/src/models/programme-card/i-tracked-link.d.ts +29 -0
  225. package/src/models/programme-card/i-tracked-link.js +2 -0
  226. package/src/models/programme-card/i-tracking.d.ts +46 -0
  227. package/src/models/programme-card/i-tracking.js +2 -0
  228. package/src/models/programme-card/i-tuition-fee.d.ts +50 -0
  229. package/src/models/programme-card/i-tuition-fee.js +2 -0
  230. package/src/models/programme-card/programme-card-client.d.ts +7 -0
  231. package/src/models/programme-card/programme-card-client.js +16 -0
  232. package/src/models/ranking-cards/i-ranking.d.ts +18 -0
  233. package/src/models/ranking-cards/i-ranking.js +2 -0
  234. package/src/models/scholarship-card/i-scholarship-card-v2.d.ts +20 -0
  235. package/src/models/scholarship-card/i-scholarship-card-v2.js +2 -0
  236. package/src/models/scholarship-card/i-scholarship-card.d.ts +15 -0
  237. package/src/models/scholarship-card/i-scholarship-card.js +2 -0
  238. package/src/models/scholarship-card/public-scholarship-card-client.d.ts +7 -0
  239. package/src/models/scholarship-card/public-scholarship-card-client.js +16 -0
  240. package/src/models/scholarship-card/scholarship-card-v2-client.d.ts +7 -0
  241. package/src/models/scholarship-card/scholarship-card-v2-client.js +16 -0
  242. package/src/models/scholarship-search-document/i-scholarship-search-document.d.ts +38 -0
  243. package/src/models/scholarship-search-document/i-scholarship-search-document.js +2 -0
  244. package/src/models/scholarship-search-document/scholarship-search-document-client.d.ts +7 -0
  245. package/src/models/scholarship-search-document/scholarship-search-document-client.js +16 -0
  246. package/src/models/search-discipline/i-search-discipline.d.ts +26 -0
  247. package/src/models/search-discipline/i-search-discipline.js +2 -0
  248. package/src/models/search-discipline/public-search-discipline-client.d.ts +7 -0
  249. package/src/models/search-discipline/public-search-discipline-client.js +16 -0
  250. package/src/models/search-projection/i-geo-targeting-configuration.d.ts +38 -0
  251. package/src/models/search-projection/i-geo-targeting-configuration.js +2 -0
  252. package/src/models/search-projection/i-geo-targeting-values.d.ts +30 -0
  253. package/src/models/search-projection/i-geo-targeting-values.js +2 -0
  254. package/src/models/search-projection/i-organisation-values.d.ts +46 -0
  255. package/src/models/search-projection/i-organisation-values.js +2 -0
  256. package/src/models/search-projection/i-premium-values.d.ts +35 -0
  257. package/src/models/search-projection/i-premium-values.js +2 -0
  258. package/src/models/search-projection/i-search-projection.d.ts +186 -0
  259. package/src/models/search-projection/i-search-projection.js +2 -0
  260. package/src/models/search-projection/i-tuition-values.d.ts +50 -0
  261. package/src/models/search-projection/i-tuition-values.js +2 -0
  262. package/src/models/search-projection/search-projection-client.d.ts +7 -0
  263. package/src/models/search-projection/search-projection-client.js +16 -0
  264. package/src/models/sitemap-articles-info/i-sitemap-article-info.d.ts +26 -0
  265. package/src/models/sitemap-articles-info/i-sitemap-article-info.js +2 -0
  266. package/src/models/sitemap-articles-info/sitemap-articles-info-client.d.ts +7 -0
  267. package/src/models/sitemap-articles-info/sitemap-articles-info-client.js +16 -0
  268. package/src/models/sitemap-cities-info/i-sitemap-city-info.d.ts +14 -0
  269. package/src/models/sitemap-cities-info/i-sitemap-city-info.js +2 -0
  270. package/src/models/sitemap-cities-info/sitemap-cities-info-client.d.ts +7 -0
  271. package/src/models/sitemap-cities-info/sitemap-cities-info-client.js +16 -0
  272. package/src/models/sitemap-countries-info/i-sitemap-country-info.d.ts +14 -0
  273. package/src/models/sitemap-countries-info/i-sitemap-country-info.js +2 -0
  274. package/src/models/sitemap-countries-info/sitemap-countries-info-client.d.ts +7 -0
  275. package/src/models/sitemap-countries-info/sitemap-countries-info-client.js +16 -0
  276. package/src/models/sitemap-country-degree-info/i-degree-info.d.ts +14 -0
  277. package/src/models/sitemap-country-degree-info/i-degree-info.js +2 -0
  278. package/src/models/sitemap-country-degree-info/i-sitemap-country-degree-info.d.ts +11 -0
  279. package/src/models/sitemap-country-degree-info/i-sitemap-country-degree-info.js +2 -0
  280. package/src/models/sitemap-country-degree-info/sitemap-country-degree-info-client.d.ts +7 -0
  281. package/src/models/sitemap-country-degree-info/sitemap-country-degree-info-client.js +16 -0
  282. package/src/models/sitemap-disciplines-info/i-sitemap-discipline-info.d.ts +14 -0
  283. package/src/models/sitemap-disciplines-info/i-sitemap-discipline-info.js +2 -0
  284. package/src/models/sitemap-disciplines-info/sitemap-disciplines-info-client.d.ts +7 -0
  285. package/src/models/sitemap-disciplines-info/sitemap-disciplines-info-client.js +16 -0
  286. package/src/models/sitemap-organisations-info/i-sitemap-organisation-info.d.ts +26 -0
  287. package/src/models/sitemap-organisations-info/i-sitemap-organisation-info.js +2 -0
  288. package/src/models/sitemap-organisations-info/sitemap-organisations-info-client.d.ts +7 -0
  289. package/src/models/sitemap-organisations-info/sitemap-organisations-info-client.js +16 -0
  290. package/src/models/sitemap-programme-info/i-sitemap-programme-info.d.ts +26 -0
  291. package/src/models/sitemap-programme-info/i-sitemap-programme-info.js +2 -0
  292. package/src/models/sitemap-programme-info/sitemap-programme-info-client.d.ts +7 -0
  293. package/src/models/sitemap-programme-info/sitemap-programme-info-client.js +16 -0
  294. package/src/models/sitemap-rankings-info/i-sitemap-rankings-info.d.ts +14 -0
  295. package/src/models/sitemap-rankings-info/i-sitemap-rankings-info.js +2 -0
  296. package/src/models/sitemap-rankings-info/sitemap-rankings-info-client.d.ts +7 -0
  297. package/src/models/sitemap-rankings-info/sitemap-rankings-info-client.js +16 -0
  298. package/src/types/portal-map.d.ts +2 -0
  299. package/src/types/portal-map.js +2 -0
  300. package/src/types/portal-type.d.ts +7 -0
  301. package/src/types/portal-type.js +11 -0
  302. package/src/types.d.ts +4 -0
  303. package/src/types.js +2 -0
@@ -0,0 +1,45 @@
1
+ /**
2
+ * @file Automatically generated by barrelsby.
3
+ */
4
+ export * from "./Area.js";
5
+ export * from "./Article.js";
6
+ export * from "./Body.js";
7
+ export * from "./CampaignInformation.js";
8
+ export * from "./ClickTracking.js";
9
+ export * from "./CommercialEntity.js";
10
+ export * from "./Cover.js";
11
+ export * from "./Deadline.js";
12
+ export * from "./Degree.js";
13
+ export * from "./Description.js";
14
+ export * from "./Discipline.js";
15
+ export * from "./Duration.js";
16
+ export * from "./EnglishRequirement.js";
17
+ export * from "./EssentialInformation.js";
18
+ export * from "./File.js";
19
+ export * from "./GPARequirement.js";
20
+ export * from "./InternalLink.js";
21
+ export * from "./Link.js";
22
+ export * from "./LivingCost.js";
23
+ export * from "./Location.js";
24
+ export * from "./Logo.js";
25
+ export * from "./MiniProgrammeCard.js";
26
+ export * from "./OptionalLink.js";
27
+ export * from "./Organisation.js";
28
+ export * from "./OrganisationInformation.js";
29
+ export * from "./OrganisationRanking.js";
30
+ export * from "./Person.js";
31
+ export * from "./ProgrammeCard.js";
32
+ export * from "./ProgrammeGrid.js";
33
+ export * from "./Ranking.js";
34
+ export * from "./RankingInstitute.js";
35
+ export * from "./Review.js";
36
+ export * from "./ReviewRating.js";
37
+ export * from "./RichText.js";
38
+ export * from "./SocialLink.js";
39
+ export * from "./StartDate.js";
40
+ export * from "./Timing.js";
41
+ export * from "./Topic.js";
42
+ export * from "./TrackedLink.js";
43
+ export * from "./Tracking.js";
44
+ export * from "./TuitionFee.js";
45
+ export * from "./Unibuddy.js";
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ /**
3
+ * @file Automatically generated by barrelsby.
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ __exportStar(require("./Area.js"), exports);
21
+ __exportStar(require("./Article.js"), exports);
22
+ __exportStar(require("./Body.js"), exports);
23
+ __exportStar(require("./CampaignInformation.js"), exports);
24
+ __exportStar(require("./ClickTracking.js"), exports);
25
+ __exportStar(require("./CommercialEntity.js"), exports);
26
+ __exportStar(require("./Cover.js"), exports);
27
+ __exportStar(require("./Deadline.js"), exports);
28
+ __exportStar(require("./Degree.js"), exports);
29
+ __exportStar(require("./Description.js"), exports);
30
+ __exportStar(require("./Discipline.js"), exports);
31
+ __exportStar(require("./Duration.js"), exports);
32
+ __exportStar(require("./EnglishRequirement.js"), exports);
33
+ __exportStar(require("./EssentialInformation.js"), exports);
34
+ __exportStar(require("./File.js"), exports);
35
+ __exportStar(require("./GPARequirement.js"), exports);
36
+ __exportStar(require("./InternalLink.js"), exports);
37
+ __exportStar(require("./Link.js"), exports);
38
+ __exportStar(require("./LivingCost.js"), exports);
39
+ __exportStar(require("./Location.js"), exports);
40
+ __exportStar(require("./Logo.js"), exports);
41
+ __exportStar(require("./MiniProgrammeCard.js"), exports);
42
+ __exportStar(require("./OptionalLink.js"), exports);
43
+ __exportStar(require("./Organisation.js"), exports);
44
+ __exportStar(require("./OrganisationInformation.js"), exports);
45
+ __exportStar(require("./OrganisationRanking.js"), exports);
46
+ __exportStar(require("./Person.js"), exports);
47
+ __exportStar(require("./ProgrammeCard.js"), exports);
48
+ __exportStar(require("./ProgrammeGrid.js"), exports);
49
+ __exportStar(require("./Ranking.js"), exports);
50
+ __exportStar(require("./RankingInstitute.js"), exports);
51
+ __exportStar(require("./Review.js"), exports);
52
+ __exportStar(require("./ReviewRating.js"), exports);
53
+ __exportStar(require("./RichText.js"), exports);
54
+ __exportStar(require("./SocialLink.js"), exports);
55
+ __exportStar(require("./StartDate.js"), exports);
56
+ __exportStar(require("./Timing.js"), exports);
57
+ __exportStar(require("./Topic.js"), exports);
58
+ __exportStar(require("./TrackedLink.js"), exports);
59
+ __exportStar(require("./Tracking.js"), exports);
60
+ __exportStar(require("./TuitionFee.js"), exports);
61
+ __exportStar(require("./Unibuddy.js"), exports);
@@ -0,0 +1,8 @@
1
+ import { Article } from "../../protobuf/index.js";
2
+ import { ProtobufClient } from "./protobuf-client.js";
3
+ export declare class ArticleDetailPageClient extends ProtobufClient<Article> {
4
+ protected constructModel(data: Record<string, any>): Article;
5
+ protected getModelName(): string;
6
+ protected getVersion(): string;
7
+ isPublic(): boolean;
8
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ArticleDetailPageClient = void 0;
4
+ const protobuf_1 = require("../../protobuf/index.js");
5
+ const protobuf_client_1 = require("./protobuf-client.js");
6
+ class ArticleDetailPageClient extends protobuf_client_1.ProtobufClient {
7
+ constructModel(data) {
8
+ return protobuf_1.Article.fromJSON(data);
9
+ }
10
+ getModelName() {
11
+ return 'article-detail-page';
12
+ }
13
+ getVersion() {
14
+ return 'v1';
15
+ }
16
+ isPublic() {
17
+ return false;
18
+ }
19
+ }
20
+ exports.ArticleDetailPageClient = ArticleDetailPageClient;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @file Automatically generated by barrelsby.
3
+ */
4
+ export * from "./article-detail-page-client.js";
5
+ export * from "./organisation-page-client.js";
6
+ export * from "./protobuf-client.js";
7
+ export * from "./public-mini-programme-card-client.js";
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ /**
3
+ * @file Automatically generated by barrelsby.
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ __exportStar(require("./article-detail-page-client.js"), exports);
21
+ __exportStar(require("./organisation-page-client.js"), exports);
22
+ __exportStar(require("./protobuf-client.js"), exports);
23
+ __exportStar(require("./public-mini-programme-card-client.js"), exports);
@@ -0,0 +1,8 @@
1
+ import { Organisation } from "../../protobuf/index.js";
2
+ import { ProtobufClient } from "./protobuf-client.js";
3
+ export declare class OrganisationPageClient extends ProtobufClient<Organisation> {
4
+ protected constructModel(data: Record<string, any>): Organisation;
5
+ protected getModelName(): string;
6
+ protected getVersion(): string;
7
+ isPublic(): boolean;
8
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OrganisationPageClient = void 0;
4
+ const protobuf_1 = require("../../protobuf/index.js");
5
+ const protobuf_client_1 = require("./protobuf-client.js");
6
+ class OrganisationPageClient extends protobuf_client_1.ProtobufClient {
7
+ constructModel(data) {
8
+ return protobuf_1.Organisation.fromJSON(data);
9
+ }
10
+ getModelName() {
11
+ return 'organisation-page';
12
+ }
13
+ getVersion() {
14
+ return 'v1';
15
+ }
16
+ isPublic() {
17
+ return false;
18
+ }
19
+ }
20
+ exports.OrganisationPageClient = OrganisationPageClient;
@@ -0,0 +1,14 @@
1
+ import { PortalMap } from "../types/portal-map.js";
2
+ import { PortalType } from "../types/portal-type.js";
3
+ export declare abstract class ProtobufClient<T> {
4
+ static portalMap: PortalMap;
5
+ private readonly domainClient;
6
+ constructor(baseUrl: string, seed: number, apiKey?: string, portalMap?: PortalMap);
7
+ fetch(id: number): Promise<T>;
8
+ fetchMultiple(ids: number[]): Promise<T[]>;
9
+ protected abstract constructModel(data: Record<string, any>): T;
10
+ protected abstract getModelName(): string;
11
+ protected abstract getVersion(): string;
12
+ abstract isPublic(): boolean;
13
+ static transformUrlUsingPortalMap(path: string, portalType: PortalType): string;
14
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProtobufClient = void 0;
4
+ const domain_client_1 = require("../domain-client.js");
5
+ class ProtobufClient {
6
+ static portalMap = new Map();
7
+ domainClient;
8
+ constructor(baseUrl, seed, apiKey, portalMap) {
9
+ if (portalMap) {
10
+ ProtobufClient.portalMap = portalMap;
11
+ }
12
+ this.domainClient = new domain_client_1.DomainClient(baseUrl, apiKey, this.getModelName(), this.getVersion(), this.isPublic(), seed);
13
+ }
14
+ async fetch(id) {
15
+ const results = await this.domainClient.doRequest([id]);
16
+ return this.constructModel(results[0]);
17
+ }
18
+ async fetchMultiple(ids) {
19
+ const results = await this.domainClient.doRequest(ids);
20
+ return results.map((data) => this.constructModel(data));
21
+ }
22
+ static transformUrlUsingPortalMap(path, portalType) {
23
+ const baseUrl = ProtobufClient.portalMap.get(portalType);
24
+ if (baseUrl && !path.includes('https')) {
25
+ return baseUrl + path;
26
+ }
27
+ return path;
28
+ }
29
+ }
30
+ exports.ProtobufClient = ProtobufClient;
@@ -0,0 +1,8 @@
1
+ import { MiniProgrammeCard } from "../../protobuf/index.js";
2
+ import { ProtobufClient } from "./protobuf-client.js";
3
+ export declare class PublicMiniProgrammeCardClient extends ProtobufClient<MiniProgrammeCard> {
4
+ protected constructModel(data: Record<string, any>): MiniProgrammeCard;
5
+ protected getModelName(): string;
6
+ protected getVersion(): string;
7
+ isPublic(): boolean;
8
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PublicMiniProgrammeCardClient = void 0;
4
+ const protobuf_1 = require("../../protobuf/index.js");
5
+ const protobuf_client_1 = require("./protobuf-client.js");
6
+ class PublicMiniProgrammeCardClient extends protobuf_client_1.ProtobufClient {
7
+ constructModel(data) {
8
+ return protobuf_1.MiniProgrammeCard.fromJSON(data);
9
+ }
10
+ getModelName() {
11
+ return 'mini-programme-card';
12
+ }
13
+ getVersion() {
14
+ return 'v1';
15
+ }
16
+ isPublic() {
17
+ return true;
18
+ }
19
+ }
20
+ exports.PublicMiniProgrammeCardClient = PublicMiniProgrammeCardClient;
@@ -0,0 +1,14 @@
1
+ export declare class DomainClient<T> {
2
+ readonly baseUrl: string;
3
+ readonly apiKey: string | undefined;
4
+ readonly model: string;
5
+ readonly version: string;
6
+ readonly isPublic: boolean;
7
+ readonly seed: number;
8
+ constructor(baseUrl: string, apiKey: string | undefined, model: string, version: string, isPublic: boolean, seed: number);
9
+ doRequest(ids: number[]): Promise<T[]>;
10
+ private decompressModelData;
11
+ private handleErrors;
12
+ private buildUrl;
13
+ private shouldAddPublicPrefix;
14
+ }
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DomainClient = void 0;
4
+ const bad_request_exception_1 = require("./exceptions/bad-request-exception.js");
5
+ const internal_server_exception_1 = require("./exceptions/internal-server-exception.js");
6
+ const not_found_exception_1 = require("./exceptions/not-found-exception.js");
7
+ const decoder = new TextDecoder();
8
+ class DomainClient {
9
+ baseUrl;
10
+ apiKey;
11
+ model;
12
+ version;
13
+ isPublic;
14
+ seed;
15
+ constructor(baseUrl, apiKey, model, version, isPublic, seed) {
16
+ this.baseUrl = baseUrl;
17
+ this.apiKey = apiKey;
18
+ this.model = model;
19
+ this.version = version;
20
+ this.isPublic = isPublic;
21
+ this.seed = seed;
22
+ }
23
+ async doRequest(ids) {
24
+ const url = `${this.baseUrl}/${this.buildUrl(ids)}`;
25
+ const headers = {};
26
+ if (this.apiKey !== undefined) {
27
+ headers["x-api-key"] = this.apiKey;
28
+ }
29
+ try {
30
+ const response = await fetch(url, { headers });
31
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
32
+ const data = await response.json();
33
+ if (!response.ok || data.status !== 200) {
34
+ this.handleErrors(data);
35
+ }
36
+ const models = [];
37
+ for (const id of ids) {
38
+ const modelData = data.data[id];
39
+ if (!modelData) {
40
+ continue;
41
+ }
42
+ if (typeof modelData === 'string') {
43
+ try {
44
+ models.push(await this.decompressModelData(modelData));
45
+ continue;
46
+ }
47
+ catch (error) {
48
+ console.error(error);
49
+ continue;
50
+ }
51
+ }
52
+ models.push(modelData);
53
+ }
54
+ return models;
55
+ }
56
+ catch (error) {
57
+ console.error('Error fetching data from API:', error);
58
+ if (error instanceof internal_server_exception_1.InternalServerException || error instanceof bad_request_exception_1.BadRequestException || error instanceof not_found_exception_1.NotFoundException) {
59
+ throw error;
60
+ }
61
+ throw new internal_server_exception_1.InternalServerException('Unable to fetch data from the API', error);
62
+ }
63
+ }
64
+ async decompressModelData(compressedData) {
65
+ const bytes = Uint8Array.from(atob(compressedData), c => c.charCodeAt(0));
66
+ const stream = new DecompressionStream('deflate');
67
+ const response = new Response(bytes);
68
+ const decompressedStream = response.body?.pipeThrough(stream);
69
+ const decompressedBytes = new Uint8Array(await new Response(decompressedStream).arrayBuffer());
70
+ return JSON.parse(decoder.decode(decompressedBytes));
71
+ }
72
+ handleErrors(response) {
73
+ if (!response.status) {
74
+ throw new internal_server_exception_1.InternalServerException(response.message);
75
+ }
76
+ if (response.status === 400) {
77
+ throw new bad_request_exception_1.BadRequestException(response.message);
78
+ }
79
+ if (response.status === 404) {
80
+ throw new not_found_exception_1.NotFoundException(response.message);
81
+ }
82
+ }
83
+ buildUrl(ids) {
84
+ const publicPrefix = this.shouldAddPublicPrefix() ? 'public/' : '';
85
+ let query = `${publicPrefix}${this.model}/${this.version}/?seed=${this.seed}`;
86
+ for (const id of ids) {
87
+ query += `&id=${id}`;
88
+ }
89
+ return query;
90
+ }
91
+ shouldAddPublicPrefix() {
92
+ return this.isPublic && this.apiKey === undefined;
93
+ }
94
+ }
95
+ exports.DomainClient = DomainClient;
@@ -0,0 +1,2 @@
1
+ export declare class BadRequestException extends Error {
2
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BadRequestException = void 0;
4
+ class BadRequestException extends Error {
5
+ }
6
+ exports.BadRequestException = BadRequestException;
@@ -0,0 +1,2 @@
1
+ export declare class ClientException extends Error {
2
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClientException = void 0;
4
+ class ClientException extends Error {
5
+ }
6
+ exports.ClientException = ClientException;
@@ -0,0 +1,2 @@
1
+ export declare class InternalServerException extends Error {
2
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InternalServerException = void 0;
4
+ class InternalServerException extends Error {
5
+ }
6
+ exports.InternalServerException = InternalServerException;
@@ -0,0 +1,2 @@
1
+ export declare class NotFoundException extends Error {
2
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NotFoundException = void 0;
4
+ class NotFoundException extends Error {
5
+ }
6
+ exports.NotFoundException = NotFoundException;
@@ -0,0 +1,2 @@
1
+ export declare class PropertyNotAvailableException extends Error {
2
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PropertyNotAvailableException = void 0;
4
+ class PropertyNotAvailableException extends Error {
5
+ }
6
+ exports.PropertyNotAvailableException = PropertyNotAvailableException;
@@ -0,0 +1,5 @@
1
+ import { IClassFactory } from "../i-class-factory.js";
2
+ import { CallableReturnType, Model } from "../types.js";
3
+ export declare class DateFactory implements IClassFactory {
4
+ create(data: Model, parameters: string[]): CallableReturnType;
5
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DateFactory = void 0;
4
+ class DateFactory {
5
+ create(data, parameters) {
6
+ return new Date(parameters[0]);
7
+ }
8
+ }
9
+ exports.DateFactory = DateFactory;
@@ -0,0 +1,9 @@
1
+ import { IClassFactory } from "../i-class-factory.js";
2
+ import { CallableReturnType, Model } from "../types.js";
3
+ import { PortalMap } from "../types/portal-map.js";
4
+ export declare class InternalLinkFactory implements IClassFactory {
5
+ private portalMap;
6
+ constructor(portalMap: PortalMap);
7
+ create(link: Model, parameters?: unknown): CallableReturnType;
8
+ private getPortalBaseUrl;
9
+ }
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InternalLinkFactory = void 0;
4
+ class InternalLinkFactory {
5
+ portalMap;
6
+ constructor(portalMap) {
7
+ this.portalMap = portalMap;
8
+ }
9
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
10
+ create(link, parameters) {
11
+ const getPortalType = link['getPortalType'];
12
+ const portalType = getPortalType ? getPortalType() : null;
13
+ const portalBaseUrl = portalType ? this.getPortalBaseUrl(portalType) : '';
14
+ const getUrl = link['getUrl'];
15
+ if (getUrl) {
16
+ const path = getUrl();
17
+ link['getUrl'] = () => portalBaseUrl + path;
18
+ }
19
+ return link;
20
+ }
21
+ getPortalBaseUrl(portalType) {
22
+ const url = this.portalMap.get(portalType);
23
+ return url || '';
24
+ }
25
+ }
26
+ exports.InternalLinkFactory = InternalLinkFactory;
@@ -0,0 +1,6 @@
1
+ import { IModelDescription } from "./i-model-description.js";
2
+ export interface IApiResponse {
3
+ status: number;
4
+ data: Record<number, IModelDescription | string>;
5
+ message: string;
6
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,4 @@
1
+ import { CallableReturnType, Model } from "./types.js";
2
+ export interface IClassFactory {
3
+ create(data: Model, parameters?: any[]): CallableReturnType;
4
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,7 @@
1
+ import { AcceptedType } from "./types.js";
2
+ export interface IModelDescription {
3
+ class: string;
4
+ func: Record<string, AcceptedType | IModelDescription>;
5
+ parameters?: any[];
6
+ }
7
+ export declare function isModelDescription(arg: any): arg is IModelDescription;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isModelDescription = isModelDescription;
4
+ // eslint-disable-next-line
5
+ function isModelDescription(arg) {
6
+ // eslint-disable-next-line
7
+ return arg && arg.class && (arg.func || arg.parameters);
8
+ }
@@ -0,0 +1,16 @@
1
+ import { IModelDescription } from "./i-model-description.js";
2
+ import { PortalMap } from "./types/portal-map.js";
3
+ export declare abstract class ModelClient<T> {
4
+ private readonly domainClient;
5
+ private readonly modelFactory;
6
+ constructor(baseUrl?: string, apiKey?: string, seed?: number, portalMap?: PortalMap);
7
+ fetch(id: number): Promise<T>;
8
+ fetchDescription(id: number): Promise<IModelDescription>;
9
+ fetchMultiple(ids: number[]): Promise<T[]>;
10
+ fetchMultipleDescriptions(ids: number[]): Promise<IModelDescription[]>;
11
+ fromDescription(description: IModelDescription): T;
12
+ fromDescriptions(descriptions: IModelDescription[]): T[];
13
+ protected abstract getModelName(): string;
14
+ protected abstract getVersion(): string;
15
+ abstract isPublic(): boolean;
16
+ }
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ModelClient = void 0;
4
+ const domain_client_1 = require("./domain-client.js");
5
+ const client_exception_1 = require("./exceptions/client-exception.js");
6
+ const model_factory_1 = require("./model-factory.js");
7
+ class ModelClient {
8
+ domainClient;
9
+ modelFactory;
10
+ constructor(baseUrl, apiKey, seed, portalMap) {
11
+ if (!baseUrl || !seed) {
12
+ return;
13
+ }
14
+ this.modelFactory = new model_factory_1.ModelFactory(portalMap);
15
+ this.domainClient = new domain_client_1.DomainClient(baseUrl, apiKey, this.getModelName(), this.getVersion(), this.isPublic(), seed);
16
+ }
17
+ async fetch(id) {
18
+ const modelDescriptions = await this.fetchDescription(id);
19
+ return this.modelFactory.fromDescription(modelDescriptions);
20
+ }
21
+ async fetchDescription(id) {
22
+ if (!this.domainClient) {
23
+ throw new client_exception_1.ClientException("Offline mode active: did you provide all parameters " +
24
+ "in the constructor?");
25
+ }
26
+ const result = await this.domainClient.doRequest([id]);
27
+ return result[0];
28
+ }
29
+ async fetchMultiple(ids) {
30
+ const descriptions = await this.fetchMultipleDescriptions(ids);
31
+ return this.modelFactory.fromDescriptions(descriptions);
32
+ }
33
+ async fetchMultipleDescriptions(ids) {
34
+ if (!this.domainClient) {
35
+ throw new client_exception_1.ClientException('Offline mode active: did you provide all parameters ' +
36
+ 'in the constructor?');
37
+ }
38
+ return await this.domainClient.doRequest(ids);
39
+ }
40
+ fromDescription(description) {
41
+ return this.modelFactory.fromDescription(description);
42
+ }
43
+ fromDescriptions(descriptions) {
44
+ return this.modelFactory.fromDescriptions(descriptions);
45
+ }
46
+ }
47
+ exports.ModelClient = ModelClient;
@@ -0,0 +1,11 @@
1
+ import { IModelDescription } from "./i-model-description.js";
2
+ import { PortalMap } from "./types/portal-map.js";
3
+ export declare class ModelFactory<T> {
4
+ private customClassFactories;
5
+ constructor(portalMap?: PortalMap);
6
+ fromDescription(data: IModelDescription): T;
7
+ fromDescriptions(data: IModelDescription[]): T[];
8
+ private unpackClass;
9
+ private getCallable;
10
+ private unpackArray;
11
+ }