@studyportals/domain-client 7.0.1-beta.5 → 7.1.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 +66 -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,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ModelFactory = void 0;
4
+ const InternalLinkFactory_1 = require("./factories/InternalLinkFactory");
5
+ const DateFactory_1 = require("./factories/DateFactory");
6
+ const i_model_description_1 = require("./i-model-description");
7
+ const property_not_available_exception_1 = require("./exceptions/property-not-available-exception");
8
+ class ModelFactory {
9
+ customClassFactories;
10
+ constructor(portalMap = new Map()) {
11
+ const factories = new Map();
12
+ factories.set('IInternalLink', new InternalLinkFactory_1.InternalLinkFactory(portalMap));
13
+ factories.set('SerializableDateTime', new DateFactory_1.DateFactory());
14
+ this.customClassFactories = factories;
15
+ }
16
+ fromDescription(data) {
17
+ return this.unpackClass(data);
18
+ }
19
+ fromDescriptions(data) {
20
+ const models = [];
21
+ for (const modelDescription of data) {
22
+ models.push(this.unpackClass(modelDescription));
23
+ }
24
+ return models;
25
+ }
26
+ unpackClass(data) {
27
+ const unpacked = {};
28
+ for (const functionName in data.func) {
29
+ unpacked[functionName] = this.getCallable(functionName, data);
30
+ }
31
+ const factory = this.customClassFactories.get(data.class);
32
+ if (factory !== undefined) {
33
+ return factory.create(unpacked, data.parameters);
34
+ }
35
+ return unpacked;
36
+ }
37
+ getCallable(functionName, data) {
38
+ const propertyName = functionName.substr(3);
39
+ const canShowFunction = 'canShow' + propertyName;
40
+ const value = data.func[functionName];
41
+ let returnValue;
42
+ if ((0, i_model_description_1.isModelDescription)(value)) {
43
+ returnValue = this.unpackClass(value);
44
+ }
45
+ else if (Array.isArray(value)) {
46
+ returnValue = this.unpackArray(value);
47
+ }
48
+ else {
49
+ returnValue = value;
50
+ }
51
+ if (canShowFunction in data.func) {
52
+ return () => {
53
+ if (data.func[canShowFunction] === false) {
54
+ throw new property_not_available_exception_1.PropertyNotAvailableException(`Property '${propertyName}' not available`);
55
+ }
56
+ return returnValue;
57
+ };
58
+ }
59
+ return () => {
60
+ return returnValue;
61
+ };
62
+ }
63
+ unpackArray(list) {
64
+ return list.map(item => {
65
+ if ((0, i_model_description_1.isModelDescription)(item)) {
66
+ return this.unpackClass(item);
67
+ }
68
+ return item;
69
+ });
70
+ }
71
+ }
72
+ exports.ModelFactory = ModelFactory;
@@ -0,0 +1,7 @@
1
+ import { IBestFitProgramme } from "../../..";
2
+ import { ModelClient } from "../../model-client";
3
+ export declare class BestfitProgrammeClient extends ModelClient<IBestFitProgramme> {
4
+ protected getModelName(): string;
5
+ protected getVersion(): string;
6
+ isPublic(): boolean;
7
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BestfitProgrammeClient = void 0;
4
+ const model_client_1 = require("../../model-client");
5
+ class BestfitProgrammeClient extends model_client_1.ModelClient {
6
+ getModelName() {
7
+ return 'bestfit-programme';
8
+ }
9
+ getVersion() {
10
+ return 'v1';
11
+ }
12
+ isPublic() {
13
+ return false;
14
+ }
15
+ }
16
+ exports.BestfitProgrammeClient = BestfitProgrammeClient;
@@ -0,0 +1,82 @@
1
+ import { ICity, IEnglishRequirements, IGPARequirement, ILivingCost, ITuitionFee } from "../../..";
2
+ export interface IBestFitProgramme {
3
+ /**
4
+ * Average university ranking across multiple ranking institutes.
5
+ *
6
+ * @return number
7
+ */
8
+ getAverageRankingPosition(): number;
9
+ canShowAverageRankingPosition(): boolean;
10
+ /**
11
+ * City which programme is given in
12
+ *
13
+ * @return ICity
14
+ */
15
+ getCity(): ICity;
16
+ /**
17
+ * Get country id the programme is teached in
18
+ *
19
+ * @return number
20
+ */
21
+ getCountryId(): number;
22
+ /**
23
+ * Discipline ids which the program is linked to.
24
+ *
25
+ * @return number[]
26
+ */
27
+ getDisciplineIds(): number[];
28
+ canShowDisciplineIds(): boolean;
29
+ /**
30
+ * English level requirements.
31
+ *
32
+ * @return IEnglishRequirements
33
+ */
34
+ getEnglishRequirements(): IEnglishRequirements;
35
+ /**
36
+ * GPA requirements
37
+ *
38
+ * @return IGPARequirement
39
+ */
40
+ getGPA(): IGPARequirement;
41
+ canShowGPA(): boolean;
42
+ /**
43
+ * Id of the programme.
44
+ *
45
+ * @return number
46
+ */
47
+ getId(): number;
48
+ /**
49
+ * Estimated living cost based on universities location.
50
+ *
51
+ * @return ILivingCost
52
+ */
53
+ getLivingCost(): ILivingCost;
54
+ canShowLivingCost(): boolean;
55
+ /**
56
+ * Minimum required education level
57
+ *
58
+ * @return string | null
59
+ */
60
+ getRequiredEducationalLevel(): string | null;
61
+ canShowRequiredEducationalLevel(): boolean;
62
+ /**
63
+ * The programmes tuition fees
64
+ *
65
+ * @return ITuitionFee[]
66
+ */
67
+ getTuitionFees(): ITuitionFee[];
68
+ canShowTuitionFees(): boolean;
69
+ /**
70
+ * Amount of years required as work experience
71
+ *
72
+ * @return number
73
+ */
74
+ getWorkExperienceYears(): number;
75
+ canShowWorkExperienceYears(): boolean;
76
+ /**
77
+ * Indicates whenever a programme is fully online or not
78
+ *
79
+ * @return boolean
80
+ */
81
+ isFullyOnline(): boolean;
82
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,14 @@
1
+ export interface ICity {
2
+ /**
3
+ * Get city id
4
+ *
5
+ * @return number
6
+ */
7
+ getId(): number;
8
+ /**
9
+ * Get city name
10
+ *
11
+ * @return string
12
+ */
13
+ getName(): string;
14
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,20 @@
1
+ export interface ILivingCost {
2
+ /**
3
+ * Get the applicable currency.
4
+ *
5
+ * @return string
6
+ */
7
+ getCurrency(): string;
8
+ /**
9
+ * Get the maximum living cost in the provided currency.
10
+ *
11
+ * @return number
12
+ */
13
+ getMax(): number;
14
+ /**
15
+ * Get the minimum living cost in the provided currency.
16
+ *
17
+ * @return number
18
+ */
19
+ getMin(): number;
20
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,7 @@
1
+ import { ModelClient } from "../../model-client";
2
+ import { ICitySearchDocument } from "../../..";
3
+ export declare class CitySearchDocumentClient extends ModelClient<ICitySearchDocument> {
4
+ protected getModelName(): string;
5
+ protected getVersion(): string;
6
+ isPublic(): boolean;
7
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CitySearchDocumentClient = void 0;
4
+ const model_client_1 = require("../../model-client");
5
+ class CitySearchDocumentClient extends model_client_1.ModelClient {
6
+ getModelName() {
7
+ return 'city-search-document';
8
+ }
9
+ getVersion() {
10
+ return 'v1';
11
+ }
12
+ isPublic() {
13
+ return false;
14
+ }
15
+ }
16
+ exports.CitySearchDocumentClient = CitySearchDocumentClient;
@@ -0,0 +1,7 @@
1
+ export interface ICitySearchDocument {
2
+ getId(): number;
3
+ getName(): string;
4
+ getVirtualPath(): string;
5
+ getAreaId(): number | null;
6
+ getCountryIsoCode(): string;
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,14 @@
1
+ export interface ICity {
2
+ /**
3
+ * Get city id
4
+ *
5
+ * @return number
6
+ */
7
+ getId(): number;
8
+ /**
9
+ * Get city name
10
+ *
11
+ * @return string
12
+ */
13
+ getName(): string;
14
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,20 @@
1
+ export interface ICountry {
2
+ /**
3
+ * Get country iso code
4
+ *
5
+ * @return string
6
+ */
7
+ getISOCode(): string;
8
+ /**
9
+ * Get country id
10
+ *
11
+ * @return number
12
+ */
13
+ getId(): number;
14
+ /**
15
+ * Get country name
16
+ *
17
+ * @return string
18
+ */
19
+ getName(): string;
20
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,51 @@
1
+ export interface IEnglishRequirements {
2
+ /**
3
+ * Required score for Cambridge english
4
+ *
5
+ * @return number
6
+ */
7
+ getCambridgeEnglish(): number;
8
+ canShowCambridgeEnglish(): boolean;
9
+ /**
10
+ * Required score for Duolingo
11
+ *
12
+ * @return number
13
+ */
14
+ getDuolingo(): number;
15
+ canShowDuolingo(): boolean;
16
+ /**
17
+ * Required score for IELTS tests
18
+ *
19
+ * @return number
20
+ */
21
+ getIELTS(): number;
22
+ canShowIELTS(): boolean;
23
+ /**
24
+ * Required score for PTE
25
+ *
26
+ * @return number
27
+ */
28
+ getPTE(): number;
29
+ canShowPTE(): boolean;
30
+ /**
31
+ * Required score for TOEFL internet
32
+ *
33
+ * @return number
34
+ */
35
+ getTOEFLInternet(): number;
36
+ canShowTOEFLInternet(): boolean;
37
+ /**
38
+ * Required score for TOEFL paper
39
+ *
40
+ * @return number
41
+ */
42
+ getTOEFLPaper(): number;
43
+ canShowTOEFLPaper(): boolean;
44
+ /**
45
+ * Required score for OTE
46
+ *
47
+ * @return number
48
+ */
49
+ getOte(): number;
50
+ canShowOte(): boolean;
51
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,20 @@
1
+ export interface IGPARequirement {
2
+ /**
3
+ * The used GPA scale for this requirement
4
+ *
5
+ * @return string
6
+ */
7
+ getScale(): string;
8
+ /**
9
+ * Required minimum score.
10
+ *
11
+ * @return string
12
+ */
13
+ getScore(): string;
14
+ /**
15
+ * Is GPA recommended or required.
16
+ *
17
+ * @return boolean
18
+ */
19
+ isRequired(): boolean;
20
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,28 @@
1
+ export interface IInternalLink {
2
+ /**
3
+ * Get an optional text describing the link (typically <a>-tags contents).
4
+ *
5
+ * @return string
6
+ * @throws PropertyNotAvailableException
7
+ */
8
+ getDescription(): string;
9
+ canShowDescription(): boolean;
10
+ /**
11
+ * Returns on which portal a this link should link towards.
12
+ *
13
+ * @return string
14
+ */
15
+ getPortalType(): string;
16
+ /**
17
+ * Get the url to refer to.
18
+ *
19
+ * Note that the url provided is always a relative URL. A base URL is needed
20
+ * to make it a full valid path.
21
+ * The only exception is when an external link is provided (meaning, outside
22
+ * of StudyPortals-maintained domains). In this case a full url will be
23
+ * provided.
24
+ *
25
+ * @return string
26
+ */
27
+ getUrl(): string;
28
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,14 @@
1
+ export interface ILogo {
2
+ /**
3
+ * Get the file ID of the logo.
4
+ *
5
+ * @return number
6
+ */
7
+ getId(): number;
8
+ /**
9
+ * Get the imgix URL of the logo.
10
+ *
11
+ * @return string
12
+ */
13
+ getSource(): string;
14
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,26 @@
1
+ export interface IReviewRating {
2
+ /**
3
+ * The average rating of the reviews on 10-point scale.
4
+ *
5
+ * @return number
6
+ */
7
+ getAverage(): number;
8
+ /**
9
+ * The number of reviews that contributed to the average rating.
10
+ *
11
+ * @return number
12
+ */
13
+ getQuantity(): number;
14
+ /**
15
+ * Checks if the rating has enough reviews to be considered valid.
16
+ *
17
+ * @return boolean
18
+ */
19
+ hasEnoughQuantity(): boolean;
20
+ /**
21
+ * Gets the average star rating based on the average score on 5-point scale.
22
+ *
23
+ * @return number
24
+ */
25
+ getAverageStarRating(): number;
26
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,50 @@
1
+ export interface ITuitionFee {
2
+ /**
3
+ * Get the tuition amount per unit in the provided currency.
4
+ *
5
+ * Note: all transformable units will be converted to yearly amounts. This
6
+ * includes per semester and full programme tuition fees.
7
+ *
8
+ * @return number
9
+ */
10
+ getAmount(): number;
11
+ /**
12
+ * Get the applicable currency.
13
+ *
14
+ * @return string
15
+ */
16
+ getCurrency(): string;
17
+ /**
18
+ * Get the original tuition amount before any transformation step.
19
+ *
20
+ * @return number
21
+ */
22
+ getOriginalAmount(): number;
23
+ /**
24
+ * Get the original tuition unit before any transformation step.
25
+ *
26
+ * @return string
27
+ */
28
+ getOriginalUnit(): string;
29
+ /**
30
+ * Get targeted audience (national, international, eea, etc).
31
+ *
32
+ * @return string
33
+ */
34
+ getTarget(): string;
35
+ /**
36
+ * Get the unit the tuition fee applies for.
37
+ *
38
+ * Note: all transformable units will be converted to 'year'. This means
39
+ * this value will be either 'year', 'module' or 'credit'.
40
+ *
41
+ * @return string
42
+ */
43
+ getUnit(): string;
44
+ /**
45
+ * True if the study is free for this target audience.
46
+ *
47
+ * @return boolean
48
+ */
49
+ isFree(): boolean;
50
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,7 @@
1
+ import { ICopilotCountry } from "../../..";
2
+ import { ModelClient } from "../../model-client";
3
+ export declare class CopilotCountryClient extends ModelClient<ICopilotCountry> {
4
+ protected getModelName(): string;
5
+ protected getVersion(): string;
6
+ isPublic(): boolean;
7
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CopilotCountryClient = void 0;
4
+ const model_client_1 = require("../../model-client");
5
+ class CopilotCountryClient extends model_client_1.ModelClient {
6
+ getModelName() {
7
+ return 'copilot-country';
8
+ }
9
+ getVersion() {
10
+ return 'v1';
11
+ }
12
+ isPublic() {
13
+ return false;
14
+ }
15
+ }
16
+ exports.CopilotCountryClient = CopilotCountryClient;
@@ -0,0 +1,39 @@
1
+ import { ICopilotRankingCard } from "./i-copilot-ranking-card";
2
+ export interface ICopilotCountry {
3
+ /**
4
+ * How to apply in country x text
5
+ *
6
+ * @return string | null
7
+ */
8
+ getHowToApplyText(): string | null;
9
+ /**
10
+ * Id of the country.
11
+ *
12
+ * @return number
13
+ */
14
+ getId(): number;
15
+ /**
16
+ * ISO code ALPHA-2
17
+ *
18
+ * @return string
19
+ */
20
+ getIsoCode(): string;
21
+ /**
22
+ * Country title
23
+ *
24
+ * @return string
25
+ */
26
+ getTitle(): string;
27
+ /**
28
+ * Why study in country x text
29
+ *
30
+ * @return string | null
31
+ */
32
+ getWhyText(): string | null;
33
+ /**
34
+ * Top universities of the country
35
+ *
36
+ * @return ICopilotRankingCard[] | null
37
+ */
38
+ getTopUniversities(): ICopilotRankingCard[] | null;
39
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,38 @@
1
+ export interface ICopilotRankingCard {
2
+ /**
3
+ * Get the organisation id.
4
+ *
5
+ * @return number
6
+ */
7
+ getOrganisationId(): number;
8
+ /**
9
+ * Get the organisation name.
10
+ *
11
+ * @return string | null
12
+ */
13
+ getOrganisationName(): string | null;
14
+ /**
15
+ * Get the organisation homepage link.
16
+ *
17
+ * @return string | null
18
+ */
19
+ getOrganisationPageUrl(): string | null;
20
+ /**
21
+ * Get the organisation logo url.
22
+ *
23
+ * @return string | null
24
+ */
25
+ getOrganisationLogoUrl(): string | null;
26
+ /**
27
+ * Verifies if the organisation's logo can be displayed.
28
+ *
29
+ * @return boolean
30
+ */
31
+ hasOrganisationLogo(): boolean;
32
+ /**
33
+ * Retrieves the ranking position for the organisation in the Studyportals ranking in the country of the university.
34
+ *
35
+ * @return number | null
36
+ */
37
+ getPositionInCountry(): number | null;
38
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,7 @@
1
+ import { ICopilotProgramme } from "../../..";
2
+ import { ModelClient } from "../../model-client";
3
+ export declare class CopilotProgrammeClient extends ModelClient<ICopilotProgramme> {
4
+ protected getModelName(): string;
5
+ protected getVersion(): string;
6
+ isPublic(): boolean;
7
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CopilotProgrammeClient = void 0;
4
+ const model_client_1 = require("../../model-client");
5
+ class CopilotProgrammeClient extends model_client_1.ModelClient {
6
+ getModelName() {
7
+ return 'copilot-programme';
8
+ }
9
+ getVersion() {
10
+ return 'v1';
11
+ }
12
+ isPublic() {
13
+ return false;
14
+ }
15
+ }
16
+ exports.CopilotProgrammeClient = CopilotProgrammeClient;