@studyportals/fawkes 7.4.2-3 → 8.0.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 (466) hide show
  1. package/package.json +105 -105
  2. package/dist/index.d.ts +0 -1
  3. package/dist/index.js +0 -1
  4. package/dist/organisations-seo/index.d.ts +0 -4
  5. package/dist/organisations-seo/index.js +0 -2
  6. package/dist/programmes-seo/index.d.ts +0 -6
  7. package/dist/programmes-seo/index.js +0 -2
  8. package/dist/scholarships-seo/index.d.ts +0 -5
  9. package/dist/scholarships-seo/index.js +0 -3
  10. package/dist/sitemap-generator-seo/index.d.ts +0 -13
  11. package/dist/sitemap-generator-seo/index.js +0 -4
  12. package/dist/src/common/FilterKeyValuesMap.d.ts +0 -2
  13. package/dist/src/common/FilterKeyValuesMap.js +0 -1
  14. package/dist/src/common/IDependencies.d.ts +0 -4
  15. package/dist/src/common/IDependencies.js +0 -1
  16. package/dist/src/common/IDocumentationManager.d.ts +0 -5
  17. package/dist/src/common/IDocumentationManager.js +0 -1
  18. package/dist/src/common/IPolicyMetaData.d.ts +0 -6
  19. package/dist/src/common/IPolicyMetaData.js +0 -1
  20. package/dist/src/common/IPresenter.d.ts +0 -6
  21. package/dist/src/common/IPresenter.js +0 -1
  22. package/dist/src/common/IRule.d.ts +0 -8
  23. package/dist/src/common/IRule.js +0 -1
  24. package/dist/src/common/ISearchApplicationState.d.ts +0 -4
  25. package/dist/src/common/ISearchApplicationState.js +0 -1
  26. package/dist/src/common/ISearchDependencies.d.ts +0 -7
  27. package/dist/src/common/ISearchDependencies.js +0 -1
  28. package/dist/src/common/ISearchIndexabilityManager.d.ts +0 -4
  29. package/dist/src/common/ISearchIndexabilityManager.js +0 -1
  30. package/dist/src/common/ISeoDependencies.d.ts +0 -3
  31. package/dist/src/common/ISeoDependencies.js +0 -1
  32. package/dist/src/common/ISeoFilterState.d.ts +0 -5
  33. package/dist/src/common/ISeoFilterState.js +0 -1
  34. package/dist/src/common/ISeoIndexabilityPolicy.d.ts +0 -7
  35. package/dist/src/common/ISeoIndexabilityPolicy.js +0 -1
  36. package/dist/src/common/ISeoInfoBase.d.ts +0 -8
  37. package/dist/src/common/ISeoInfoBase.js +0 -1
  38. package/dist/src/common/ISitemapDependencies.d.ts +0 -5
  39. package/dist/src/common/ISitemapDependencies.js +0 -1
  40. package/dist/src/common/ISitemapUrlGenerator.d.ts +0 -7
  41. package/dist/src/common/ISitemapUrlGenerator.js +0 -1
  42. package/dist/src/common/index.d.ts +0 -5
  43. package/dist/src/common/index.js +0 -5
  44. package/dist/src/common/policies/BaseSeoIndexabilityPolicy.d.ts +0 -26
  45. package/dist/src/common/policies/BaseSeoIndexabilityPolicy.js +0 -56
  46. package/dist/src/common/rules/BaseFilterKeyValueRule.d.ts +0 -11
  47. package/dist/src/common/rules/BaseFilterKeyValueRule.js +0 -28
  48. package/dist/src/common/rules/IndexablePageNumberRule.d.ts +0 -9
  49. package/dist/src/common/rules/IndexablePageNumberRule.js +0 -17
  50. package/dist/src/common/rules/NoFiltersSelectedRule.d.ts +0 -9
  51. package/dist/src/common/rules/NoFiltersSelectedRule.js +0 -17
  52. package/dist/src/common/rules/OnlineAttendanceRule.d.ts +0 -6
  53. package/dist/src/common/rules/OnlineAttendanceRule.js +0 -14
  54. package/dist/src/common/rules/OnlyFiltersSelectedRule.d.ts +0 -12
  55. package/dist/src/common/rules/OnlyFiltersSelectedRule.js +0 -30
  56. package/dist/src/common/rules/SingleValueSelectedForFilterRule.d.ts +0 -12
  57. package/dist/src/common/rules/SingleValueSelectedForFilterRule.js +0 -24
  58. package/dist/src/enums/DependencyTypes.d.ts +0 -4
  59. package/dist/src/enums/DependencyTypes.js +0 -5
  60. package/dist/src/enums/FilterCombinations.d.ts +0 -73
  61. package/dist/src/enums/FilterCombinations.js +0 -74
  62. package/dist/src/enums/SortingOptions.d.ts +0 -4
  63. package/dist/src/enums/SortingOptions.js +0 -5
  64. package/dist/src/errors/DependencyMissingError.d.ts +0 -3
  65. package/dist/src/errors/DependencyMissingError.js +0 -5
  66. package/dist/src/errors/InvalidDependencyTypeError.d.ts +0 -3
  67. package/dist/src/errors/InvalidDependencyTypeError.js +0 -5
  68. package/dist/src/errors/InvalidFilterValueError.d.ts +0 -4
  69. package/dist/src/errors/InvalidFilterValueError.js +0 -5
  70. package/dist/src/organisations/IOrganisationSearchApplicationState.d.ts +0 -5
  71. package/dist/src/organisations/IOrganisationSearchApplicationState.js +0 -1
  72. package/dist/src/organisations/ISeoSortingState.d.ts +0 -4
  73. package/dist/src/organisations/ISeoSortingState.js +0 -1
  74. package/dist/src/organisations/OrganisationsRuleBasedIndexabilityPolicy.d.ts +0 -11
  75. package/dist/src/organisations/OrganisationsRuleBasedIndexabilityPolicy.js +0 -19
  76. package/dist/src/organisations/SearchIndexabilityManager.d.ts +0 -12
  77. package/dist/src/organisations/SearchIndexabilityManager.js +0 -42
  78. package/dist/src/organisations/index.d.ts +0 -4
  79. package/dist/src/organisations/index.js +0 -4
  80. package/dist/src/organisations/policies/OrganisationsSeoIndexabilityPolicy.d.ts +0 -17
  81. package/dist/src/organisations/policies/OrganisationsSeoIndexabilityPolicy.js +0 -33
  82. package/dist/src/organisations/policies/RankedOrganisationsSeoIndexabilityPolicy.d.ts +0 -9
  83. package/dist/src/organisations/policies/RankedOrganisationsSeoIndexabilityPolicy.js +0 -22
  84. package/dist/src/organisations/policies/index.d.ts +0 -18
  85. package/dist/src/organisations/policies/index.js +0 -18
  86. package/dist/src/organisations/policies/our-picks/Area.d.ts +0 -13
  87. package/dist/src/organisations/policies/our-picks/Area.js +0 -35
  88. package/dist/src/organisations/policies/our-picks/AreaAttendance.d.ts +0 -15
  89. package/dist/src/organisations/policies/our-picks/AreaAttendance.js +0 -45
  90. package/dist/src/organisations/policies/our-picks/Attendance.d.ts +0 -14
  91. package/dist/src/organisations/policies/our-picks/Attendance.js +0 -33
  92. package/dist/src/organisations/policies/our-picks/Continent.d.ts +0 -13
  93. package/dist/src/organisations/policies/our-picks/Continent.js +0 -31
  94. package/dist/src/organisations/policies/our-picks/Country.d.ts +0 -13
  95. package/dist/src/organisations/policies/our-picks/Country.js +0 -28
  96. package/dist/src/organisations/policies/our-picks/CountryAttendance.d.ts +0 -15
  97. package/dist/src/organisations/policies/our-picks/CountryAttendance.js +0 -43
  98. package/dist/src/organisations/policies/our-picks/Unfiltered.d.ts +0 -12
  99. package/dist/src/organisations/policies/our-picks/Unfiltered.js +0 -16
  100. package/dist/src/organisations/policies/ranked/RankedArea.d.ts +0 -13
  101. package/dist/src/organisations/policies/ranked/RankedArea.js +0 -37
  102. package/dist/src/organisations/policies/ranked/RankedAreaDiscipline.d.ts +0 -14
  103. package/dist/src/organisations/policies/ranked/RankedAreaDiscipline.js +0 -45
  104. package/dist/src/organisations/policies/ranked/RankedAttendance.d.ts +0 -14
  105. package/dist/src/organisations/policies/ranked/RankedAttendance.js +0 -35
  106. package/dist/src/organisations/policies/ranked/RankedAttendanceDiscipline.d.ts +0 -14
  107. package/dist/src/organisations/policies/ranked/RankedAttendanceDiscipline.js +0 -43
  108. package/dist/src/organisations/policies/ranked/RankedContinent.d.ts +0 -13
  109. package/dist/src/organisations/policies/ranked/RankedContinent.js +0 -33
  110. package/dist/src/organisations/policies/ranked/RankedContinentAttendance.d.ts +0 -15
  111. package/dist/src/organisations/policies/ranked/RankedContinentAttendance.js +0 -45
  112. package/dist/src/organisations/policies/ranked/RankedCountry.d.ts +0 -13
  113. package/dist/src/organisations/policies/ranked/RankedCountry.js +0 -30
  114. package/dist/src/organisations/policies/ranked/RankedCountryAttendance.d.ts +0 -14
  115. package/dist/src/organisations/policies/ranked/RankedCountryAttendance.js +0 -43
  116. package/dist/src/organisations/policies/ranked/RankedCountryDiscipline.d.ts +0 -13
  117. package/dist/src/organisations/policies/ranked/RankedCountryDiscipline.js +0 -41
  118. package/dist/src/organisations/policies/ranked/RankedDiscipline.d.ts +0 -13
  119. package/dist/src/organisations/policies/ranked/RankedDiscipline.js +0 -33
  120. package/dist/src/organisations/policies/ranked/RankedUnfiltered.d.ts +0 -12
  121. package/dist/src/organisations/policies/ranked/RankedUnfiltered.js +0 -22
  122. package/dist/src/organisations/rules/AtLeastTwoRankedResultsRule.d.ts +0 -13
  123. package/dist/src/organisations/rules/AtLeastTwoRankedResultsRule.js +0 -26
  124. package/dist/src/organisations/rules/BaseSearchVolumeOrganisationsRule.d.ts +0 -14
  125. package/dist/src/organisations/rules/BaseSearchVolumeOrganisationsRule.js +0 -33
  126. package/dist/src/organisations/rules/ContinentIsEuropeRule.d.ts +0 -6
  127. package/dist/src/organisations/rules/ContinentIsEuropeRule.js +0 -15
  128. package/dist/src/organisations/rules/NoFiltersSelectedRule.d.ts +0 -9
  129. package/dist/src/organisations/rules/NoFiltersSelectedRule.js +0 -17
  130. package/dist/src/organisations/rules/OnlineAttendanceRule.d.ts +0 -6
  131. package/dist/src/organisations/rules/OnlineAttendanceRule.js +0 -14
  132. package/dist/src/organisations/rules/SearchVolumeAreasAttendanceRule.d.ts +0 -6
  133. package/dist/src/organisations/rules/SearchVolumeAreasAttendanceRule.js +0 -17
  134. package/dist/src/organisations/rules/SearchVolumeAreasDisciplineRule.d.ts +0 -6
  135. package/dist/src/organisations/rules/SearchVolumeAreasDisciplineRule.js +0 -18
  136. package/dist/src/organisations/rules/SearchVolumeCountriesAttendanceRule.d.ts +0 -6
  137. package/dist/src/organisations/rules/SearchVolumeCountriesAttendanceRule.js +0 -17
  138. package/dist/src/organisations/types/IOrganisationSearchDependencies.d.ts +0 -9
  139. package/dist/src/organisations/types/IOrganisationSearchDependencies.js +0 -1
  140. package/dist/src/organisations/types/IOrganisationsSeoDependencies.d.ts +0 -3
  141. package/dist/src/organisations/types/IOrganisationsSeoDependencies.js +0 -1
  142. package/dist/src/organisations/types/IOrganisationsSitemapDependencies.d.ts +0 -9
  143. package/dist/src/organisations/types/IOrganisationsSitemapDependencies.js +0 -1
  144. package/dist/src/organisations/types.d.ts +0 -6
  145. package/dist/src/organisations/types.js +0 -6
  146. package/dist/src/presenters/AreaPresenter.d.ts +0 -12
  147. package/dist/src/presenters/AreaPresenter.js +0 -35
  148. package/dist/src/presenters/AttendancePresenter.d.ts +0 -11
  149. package/dist/src/presenters/AttendancePresenter.js +0 -27
  150. package/dist/src/presenters/ContinentPresenter.d.ts +0 -12
  151. package/dist/src/presenters/ContinentPresenter.js +0 -33
  152. package/dist/src/presenters/CountryPresenter.d.ts +0 -12
  153. package/dist/src/presenters/CountryPresenter.js +0 -38
  154. package/dist/src/presenters/DegreePresenter.d.ts +0 -12
  155. package/dist/src/presenters/DegreePresenter.js +0 -50
  156. package/dist/src/presenters/DisciplinePresenter.d.ts +0 -12
  157. package/dist/src/presenters/DisciplinePresenter.js +0 -33
  158. package/dist/src/presenters/DurationPresenter.d.ts +0 -15
  159. package/dist/src/presenters/DurationPresenter.js +0 -47
  160. package/dist/src/presenters/EducationalFormPresenter.d.ts +0 -12
  161. package/dist/src/presenters/EducationalFormPresenter.js +0 -45
  162. package/dist/src/presenters/FormatPresenter.d.ts +0 -11
  163. package/dist/src/presenters/FormatPresenter.js +0 -27
  164. package/dist/src/presenters/SpecialProgrammesPresenter.d.ts +0 -11
  165. package/dist/src/presenters/SpecialProgrammesPresenter.js +0 -31
  166. package/dist/src/presenters/TuitionFeePresenter.d.ts +0 -11
  167. package/dist/src/presenters/TuitionFeePresenter.js +0 -23
  168. package/dist/src/presenters/fragments/IAreaFragment.d.ts +0 -4
  169. package/dist/src/presenters/fragments/IAreaFragment.js +0 -1
  170. package/dist/src/presenters/fragments/ICountryFragment.d.ts +0 -4
  171. package/dist/src/presenters/fragments/ICountryFragment.js +0 -1
  172. package/dist/src/presenters/fragments/IFragment.d.ts +0 -4
  173. package/dist/src/presenters/fragments/IFragment.js +0 -1
  174. package/dist/src/programmes/BaseProgrammeFilterKeyValueRule.d.ts +0 -6
  175. package/dist/src/programmes/BaseProgrammeFilterKeyValueRule.js +0 -6
  176. package/dist/src/programmes/BaseProgrammeRule.d.ts +0 -10
  177. package/dist/src/programmes/BaseProgrammeRule.js +0 -5
  178. package/dist/src/programmes/IProgrammeRule.d.ts +0 -5
  179. package/dist/src/programmes/IProgrammeRule.js +0 -1
  180. package/dist/src/programmes/IProgrammeSearchApplicationState.d.ts +0 -4
  181. package/dist/src/programmes/IProgrammeSearchApplicationState.js +0 -1
  182. package/dist/src/programmes/IProgrammeSearchDependencies.d.ts +0 -7
  183. package/dist/src/programmes/IProgrammeSearchDependencies.js +0 -1
  184. package/dist/src/programmes/IProgrammesSeoDependencies.d.ts +0 -2
  185. package/dist/src/programmes/IProgrammesSeoDependencies.js +0 -1
  186. package/dist/src/programmes/ProgrammesBaseIndexabilityPolicy.d.ts +0 -15
  187. package/dist/src/programmes/ProgrammesBaseIndexabilityPolicy.js +0 -42
  188. package/dist/src/programmes/SearchIndexabilityManager.d.ts +0 -12
  189. package/dist/src/programmes/SearchIndexabilityManager.js +0 -82
  190. package/dist/src/programmes/policies/Area.d.ts +0 -15
  191. package/dist/src/programmes/policies/Area.js +0 -40
  192. package/dist/src/programmes/policies/Attendance.d.ts +0 -16
  193. package/dist/src/programmes/policies/Attendance.js +0 -38
  194. package/dist/src/programmes/policies/AttendanceArea.d.ts +0 -16
  195. package/dist/src/programmes/policies/AttendanceArea.js +0 -48
  196. package/dist/src/programmes/policies/AttendanceContinent.d.ts +0 -16
  197. package/dist/src/programmes/policies/AttendanceContinent.js +0 -46
  198. package/dist/src/programmes/policies/AttendanceDegree.d.ts +0 -16
  199. package/dist/src/programmes/policies/AttendanceDegree.js +0 -49
  200. package/dist/src/programmes/policies/AttendanceDuration.d.ts +0 -16
  201. package/dist/src/programmes/policies/AttendanceDuration.js +0 -48
  202. package/dist/src/programmes/policies/AttendanceFormat.d.ts +0 -16
  203. package/dist/src/programmes/policies/AttendanceFormat.js +0 -48
  204. package/dist/src/programmes/policies/AttendanceTuitionFee.d.ts +0 -16
  205. package/dist/src/programmes/policies/AttendanceTuitionFee.js +0 -49
  206. package/dist/src/programmes/policies/Continent.d.ts +0 -15
  207. package/dist/src/programmes/policies/Continent.js +0 -36
  208. package/dist/src/programmes/policies/ContinentDuration.d.ts +0 -15
  209. package/dist/src/programmes/policies/ContinentDuration.js +0 -46
  210. package/dist/src/programmes/policies/ContinentFormat.d.ts +0 -15
  211. package/dist/src/programmes/policies/ContinentFormat.js +0 -46
  212. package/dist/src/programmes/policies/ContinentSpecialProgrammes.d.ts +0 -15
  213. package/dist/src/programmes/policies/ContinentSpecialProgrammes.js +0 -46
  214. package/dist/src/programmes/policies/ContinentTuitionFee.d.ts +0 -16
  215. package/dist/src/programmes/policies/ContinentTuitionFee.js +0 -46
  216. package/dist/src/programmes/policies/Country.d.ts +0 -15
  217. package/dist/src/programmes/policies/Country.js +0 -33
  218. package/dist/src/programmes/policies/CountryAttendance.d.ts +0 -16
  219. package/dist/src/programmes/policies/CountryAttendance.js +0 -46
  220. package/dist/src/programmes/policies/CountryAttendanceDegree.d.ts +0 -17
  221. package/dist/src/programmes/policies/CountryAttendanceDegree.js +0 -55
  222. package/dist/src/programmes/policies/CountryDegree.d.ts +0 -16
  223. package/dist/src/programmes/policies/CountryDegree.js +0 -46
  224. package/dist/src/programmes/policies/CountryDuration.d.ts +0 -16
  225. package/dist/src/programmes/policies/CountryDuration.js +0 -48
  226. package/dist/src/programmes/policies/CountryDurationDegree.d.ts +0 -17
  227. package/dist/src/programmes/policies/CountryDurationDegree.js +0 -55
  228. package/dist/src/programmes/policies/CountryEducationalForm.d.ts +0 -16
  229. package/dist/src/programmes/policies/CountryEducationalForm.js +0 -47
  230. package/dist/src/programmes/policies/CountryFormat.d.ts +0 -16
  231. package/dist/src/programmes/policies/CountryFormat.js +0 -46
  232. package/dist/src/programmes/policies/CountrySpecialProgrammes.d.ts +0 -15
  233. package/dist/src/programmes/policies/CountrySpecialProgrammes.js +0 -46
  234. package/dist/src/programmes/policies/CountryTuitionFee.d.ts +0 -16
  235. package/dist/src/programmes/policies/CountryTuitionFee.js +0 -46
  236. package/dist/src/programmes/policies/Degree.d.ts +0 -15
  237. package/dist/src/programmes/policies/Degree.js +0 -38
  238. package/dist/src/programmes/policies/DegreeArea.d.ts +0 -15
  239. package/dist/src/programmes/policies/DegreeArea.js +0 -46
  240. package/dist/src/programmes/policies/DegreeAreaTuitionFee.d.ts +0 -15
  241. package/dist/src/programmes/policies/DegreeAreaTuitionFee.js +0 -52
  242. package/dist/src/programmes/policies/DegreeAttendanceDiscipline.d.ts +0 -17
  243. package/dist/src/programmes/policies/DegreeAttendanceDiscipline.js +0 -63
  244. package/dist/src/programmes/policies/DegreeAttendanceFormat.d.ts +0 -15
  245. package/dist/src/programmes/policies/DegreeAttendanceFormat.js +0 -52
  246. package/dist/src/programmes/policies/DegreeAttendanceSpecialProgrammes.d.ts +0 -16
  247. package/dist/src/programmes/policies/DegreeAttendanceSpecialProgrammes.js +0 -56
  248. package/dist/src/programmes/policies/DegreeAttendanceTuitionFee.d.ts +0 -16
  249. package/dist/src/programmes/policies/DegreeAttendanceTuitionFee.js +0 -55
  250. package/dist/src/programmes/policies/DegreeContinent.d.ts +0 -16
  251. package/dist/src/programmes/policies/DegreeContinent.js +0 -46
  252. package/dist/src/programmes/policies/DegreeContinentTuitionFee.d.ts +0 -16
  253. package/dist/src/programmes/policies/DegreeContinentTuitionFee.js +0 -52
  254. package/dist/src/programmes/policies/DegreeCountryAttendance.d.ts +0 -16
  255. package/dist/src/programmes/policies/DegreeCountryAttendance.js +0 -88
  256. package/dist/src/programmes/policies/DegreeCountryDiscipline.d.ts +0 -16
  257. package/dist/src/programmes/policies/DegreeCountryDiscipline.js +0 -71
  258. package/dist/src/programmes/policies/DegreeCountryTuitionFee.d.ts +0 -16
  259. package/dist/src/programmes/policies/DegreeCountryTuitionFee.js +0 -73
  260. package/dist/src/programmes/policies/DegreeDuration.d.ts +0 -16
  261. package/dist/src/programmes/policies/DegreeDuration.js +0 -48
  262. package/dist/src/programmes/policies/DegreeFormat.d.ts +0 -16
  263. package/dist/src/programmes/policies/DegreeFormat.js +0 -49
  264. package/dist/src/programmes/policies/DegreeFormatTuitionFee.d.ts +0 -16
  265. package/dist/src/programmes/policies/DegreeFormatTuitionFee.js +0 -52
  266. package/dist/src/programmes/policies/DegreeSpecialProgrammes.d.ts +0 -15
  267. package/dist/src/programmes/policies/DegreeSpecialProgrammes.js +0 -48
  268. package/dist/src/programmes/policies/DegreeTuitionFee.d.ts +0 -15
  269. package/dist/src/programmes/policies/DegreeTuitionFee.js +0 -47
  270. package/dist/src/programmes/policies/Discipline.d.ts +0 -15
  271. package/dist/src/programmes/policies/Discipline.js +0 -36
  272. package/dist/src/programmes/policies/DisciplineArea.d.ts +0 -15
  273. package/dist/src/programmes/policies/DisciplineArea.js +0 -46
  274. package/dist/src/programmes/policies/DisciplineAttendance.d.ts +0 -16
  275. package/dist/src/programmes/policies/DisciplineAttendance.js +0 -46
  276. package/dist/src/programmes/policies/DisciplineContinent.d.ts +0 -15
  277. package/dist/src/programmes/policies/DisciplineContinent.js +0 -44
  278. package/dist/src/programmes/policies/DisciplineContinentAttendance.d.ts +0 -16
  279. package/dist/src/programmes/policies/DisciplineContinentAttendance.js +0 -54
  280. package/dist/src/programmes/policies/DisciplineCountry.d.ts +0 -15
  281. package/dist/src/programmes/policies/DisciplineCountry.js +0 -44
  282. package/dist/src/programmes/policies/DisciplineCountryAttendance.d.ts +0 -16
  283. package/dist/src/programmes/policies/DisciplineCountryAttendance.js +0 -54
  284. package/dist/src/programmes/policies/DisciplineCountryDegree.d.ts +0 -16
  285. package/dist/src/programmes/policies/DisciplineCountryDegree.js +0 -53
  286. package/dist/src/programmes/policies/DisciplineCountryEducationalForm.d.ts +0 -16
  287. package/dist/src/programmes/policies/DisciplineCountryEducationalForm.js +0 -53
  288. package/dist/src/programmes/policies/DisciplineCountryFormat.d.ts +0 -15
  289. package/dist/src/programmes/policies/DisciplineCountryFormat.js +0 -52
  290. package/dist/src/programmes/policies/DisciplineDegree.d.ts +0 -16
  291. package/dist/src/programmes/policies/DisciplineDegree.js +0 -46
  292. package/dist/src/programmes/policies/DisciplineDuration.d.ts +0 -16
  293. package/dist/src/programmes/policies/DisciplineDuration.js +0 -46
  294. package/dist/src/programmes/policies/DisciplineEducationalForm.d.ts +0 -16
  295. package/dist/src/programmes/policies/DisciplineEducationalForm.js +0 -47
  296. package/dist/src/programmes/policies/DisciplineFormat.d.ts +0 -16
  297. package/dist/src/programmes/policies/DisciplineFormat.js +0 -46
  298. package/dist/src/programmes/policies/DisciplineSpecialProgrammes.d.ts +0 -15
  299. package/dist/src/programmes/policies/DisciplineSpecialProgrammes.js +0 -46
  300. package/dist/src/programmes/policies/DisciplineTuitionFee.d.ts +0 -16
  301. package/dist/src/programmes/policies/DisciplineTuitionFee.js +0 -46
  302. package/dist/src/programmes/policies/DisciplineTuitionFeeAttendance.d.ts +0 -17
  303. package/dist/src/programmes/policies/DisciplineTuitionFeeAttendance.js +0 -54
  304. package/dist/src/programmes/policies/Duration.d.ts +0 -15
  305. package/dist/src/programmes/policies/Duration.js +0 -35
  306. package/dist/src/programmes/policies/Format.d.ts +0 -15
  307. package/dist/src/programmes/policies/Format.js +0 -35
  308. package/dist/src/programmes/policies/SpecialProgrammes.d.ts +0 -15
  309. package/dist/src/programmes/policies/SpecialProgrammes.js +0 -36
  310. package/dist/src/programmes/policies/TuitionFee.d.ts +0 -15
  311. package/dist/src/programmes/policies/TuitionFee.js +0 -32
  312. package/dist/src/programmes/policies/Unfiltered.d.ts +0 -13
  313. package/dist/src/programmes/policies/Unfiltered.js +0 -19
  314. package/dist/src/programmes/policies/index.d.ts +0 -59
  315. package/dist/src/programmes/policies/index.js +0 -59
  316. package/dist/src/programmes/rules/AffordableTuitionFeeRule.d.ts +0 -6
  317. package/dist/src/programmes/rules/AffordableTuitionFeeRule.js +0 -17
  318. package/dist/src/programmes/rules/AtLeastSevenResultsRule.d.ts +0 -15
  319. package/dist/src/programmes/rules/AtLeastSevenResultsRule.js +0 -30
  320. package/dist/src/programmes/rules/DegreeAttendanceDisciplineRule.d.ts +0 -11
  321. package/dist/src/programmes/rules/DegreeAttendanceDisciplineRule.js +0 -44
  322. package/dist/src/programmes/rules/DegreeAttendanceDisciplineSpecificRule.d.ts +0 -11
  323. package/dist/src/programmes/rules/DegreeAttendanceDisciplineSpecificRule.js +0 -39
  324. package/dist/src/programmes/rules/DegreeAttendanceSpecificRule.d.ts +0 -10
  325. package/dist/src/programmes/rules/DegreeAttendanceSpecificRule.js +0 -42
  326. package/dist/src/programmes/rules/DegreeCountryAttendanceSpecificRule.d.ts +0 -14
  327. package/dist/src/programmes/rules/DegreeCountryAttendanceSpecificRule.js +0 -76
  328. package/dist/src/programmes/rules/DegreeCountryDisciplineSpecificRule.d.ts +0 -11
  329. package/dist/src/programmes/rules/DegreeCountryDisciplineSpecificRule.js +0 -76
  330. package/dist/src/programmes/rules/DegreeCountrySpecificRule.d.ts +0 -10
  331. package/dist/src/programmes/rules/DegreeCountrySpecificRule.js +0 -43
  332. package/dist/src/programmes/rules/DegreeCountryTuitionFeeRule.d.ts +0 -11
  333. package/dist/src/programmes/rules/DegreeCountryTuitionFeeRule.js +0 -40
  334. package/dist/src/programmes/rules/DegreeCountryTuitionFeeSpecificRule.d.ts +0 -12
  335. package/dist/src/programmes/rules/DegreeCountryTuitionFeeSpecificRule.js +0 -62
  336. package/dist/src/programmes/rules/DegreeDisciplineRule.d.ts +0 -16
  337. package/dist/src/programmes/rules/DegreeDisciplineRule.js +0 -189
  338. package/dist/src/programmes/rules/ErasmusOrJointSpecialProgrammesRule.d.ts +0 -9
  339. package/dist/src/programmes/rules/ErasmusOrJointSpecialProgrammesRule.js +0 -28
  340. package/dist/src/programmes/rules/IndexableDegreeRule.d.ts +0 -10
  341. package/dist/src/programmes/rules/IndexableDegreeRule.js +0 -53
  342. package/dist/src/programmes/rules/IndexableDurationRule.d.ts +0 -12
  343. package/dist/src/programmes/rules/IndexableDurationRule.js +0 -37
  344. package/dist/src/programmes/rules/IndexableEducationalFormRule.d.ts +0 -10
  345. package/dist/src/programmes/rules/IndexableEducationalFormRule.js +0 -34
  346. package/dist/src/programmes/rules/IndexablePageNumberRule.d.ts +0 -9
  347. package/dist/src/programmes/rules/IndexablePageNumberRule.js +0 -17
  348. package/dist/src/programmes/rules/MBACountryAttendanceRule.d.ts +0 -11
  349. package/dist/src/programmes/rules/MBACountryAttendanceRule.js +0 -40
  350. package/dist/src/programmes/rules/MasterOfArtsDisciplineRule.d.ts +0 -10
  351. package/dist/src/programmes/rules/MasterOfArtsDisciplineRule.js +0 -41
  352. package/dist/src/programmes/rules/MasterOfEducationCountryDisciplineRule.d.ts +0 -11
  353. package/dist/src/programmes/rules/MasterOfEducationCountryDisciplineRule.js +0 -69
  354. package/dist/src/programmes/rules/MasterOfLawsCountryAttendanceRule.d.ts +0 -12
  355. package/dist/src/programmes/rules/MasterOfLawsCountryAttendanceRule.js +0 -43
  356. package/dist/src/programmes/rules/MasterOfLawsCountryTuitionFeeRule.d.ts +0 -12
  357. package/dist/src/programmes/rules/MasterOfLawsCountryTuitionFeeRule.js +0 -46
  358. package/dist/src/programmes/rules/MasterOfPhilosophyCountryAttendanceRule.d.ts +0 -12
  359. package/dist/src/programmes/rules/MasterOfPhilosophyCountryAttendanceRule.js +0 -43
  360. package/dist/src/programmes/rules/MasterOfScienceDisciplineRule.d.ts +0 -10
  361. package/dist/src/programmes/rules/MasterOfScienceDisciplineRule.js +0 -41
  362. package/dist/src/programmes/rules/MbaDegreeRule.d.ts +0 -6
  363. package/dist/src/programmes/rules/MbaDegreeRule.js +0 -15
  364. package/dist/src/programmes/rules/MbaOrMscDegreeRule.d.ts +0 -9
  365. package/dist/src/programmes/rules/MbaOrMscDegreeRule.js +0 -26
  366. package/dist/src/programmes/rules/NotDistanceLearningPortalRule.d.ts +0 -11
  367. package/dist/src/programmes/rules/NotDistanceLearningPortalRule.js +0 -28
  368. package/dist/src/programmes/rules/OneYearDurationRule.d.ts +0 -6
  369. package/dist/src/programmes/rules/OneYearDurationRule.js +0 -15
  370. package/dist/src/programmes/rules/OneYearOnlyRule.d.ts +0 -11
  371. package/dist/src/programmes/rules/OneYearOnlyRule.js +0 -34
  372. package/dist/src/programmes/rules/OnlineAttendanceRule.d.ts +0 -6
  373. package/dist/src/programmes/rules/OnlineAttendanceRule.js +0 -15
  374. package/dist/src/programmes/rules/PartTimeFormatRule.d.ts +0 -6
  375. package/dist/src/programmes/rules/PartTimeFormatRule.js +0 -15
  376. package/dist/src/programmes/types/IProgrammeSearchApplicationState.d.ts +0 -4
  377. package/dist/src/programmes/types/IProgrammeSearchApplicationState.js +0 -1
  378. package/dist/src/programmes/types/IProgrammeSearchDependencies.d.ts +0 -7
  379. package/dist/src/programmes/types/IProgrammeSearchDependencies.js +0 -1
  380. package/dist/src/programmes/types/IProgrammeSearchSitemapDependencies.d.ts +0 -5
  381. package/dist/src/programmes/types/IProgrammeSearchSitemapDependencies.js +0 -1
  382. package/dist/src/programmes/types/IProgrammeSeoDependencies.d.ts +0 -3
  383. package/dist/src/programmes/types/IProgrammeSeoDependencies.js +0 -1
  384. package/dist/src/programmes/types/IProgrammeSitemapDependencies.d.ts +0 -7
  385. package/dist/src/programmes/types/IProgrammeSitemapDependencies.js +0 -1
  386. package/dist/src/programmes/types/IProgrammeSitemapUrlGenerator.d.ts +0 -5
  387. package/dist/src/programmes/types/IProgrammeSitemapUrlGenerator.js +0 -1
  388. package/dist/src/scholarships/SearchIndexabilityManager.d.ts +0 -11
  389. package/dist/src/scholarships/SearchIndexabilityManager.js +0 -33
  390. package/dist/src/scholarships/index.d.ts +0 -3
  391. package/dist/src/scholarships/index.js +0 -3
  392. package/dist/src/scholarships/policies/Area.d.ts +0 -13
  393. package/dist/src/scholarships/policies/Area.js +0 -37
  394. package/dist/src/scholarships/policies/Country.d.ts +0 -12
  395. package/dist/src/scholarships/policies/Country.js +0 -31
  396. package/dist/src/scholarships/policies/Discipline.d.ts +0 -12
  397. package/dist/src/scholarships/policies/Discipline.js +0 -31
  398. package/dist/src/scholarships/policies/DisciplineCountry.d.ts +0 -12
  399. package/dist/src/scholarships/policies/DisciplineCountry.js +0 -39
  400. package/dist/src/scholarships/policies/ScholarshipSeoIndexabilityPolicy.d.ts +0 -7
  401. package/dist/src/scholarships/policies/ScholarshipSeoIndexabilityPolicy.js +0 -7
  402. package/dist/src/scholarships/policies/Unfiltered.d.ts +0 -10
  403. package/dist/src/scholarships/policies/Unfiltered.js +0 -16
  404. package/dist/src/scholarships/policies/UniversityCountry.d.ts +0 -11
  405. package/dist/src/scholarships/policies/UniversityCountry.js +0 -41
  406. package/dist/src/scholarships/rules/ExceptAustaliaAreasRule.d.ts +0 -14
  407. package/dist/src/scholarships/rules/ExceptAustaliaAreasRule.js +0 -42
  408. package/dist/src/scholarships/rules/SearchVolumeAreasRule.d.ts +0 -12
  409. package/dist/src/scholarships/rules/SearchVolumeAreasRule.js +0 -32
  410. package/dist/src/scholarships/rules/SearchVolumeCountriesDisciplinesRule.d.ts +0 -14
  411. package/dist/src/scholarships/rules/SearchVolumeCountriesDisciplinesRule.js +0 -43
  412. package/dist/src/scholarships/rules/SearchVolumeCountriesRule.d.ts +0 -12
  413. package/dist/src/scholarships/rules/SearchVolumeCountriesRule.js +0 -32
  414. package/dist/src/scholarships/rules/SearchVolumeDisciplinesRule.d.ts +0 -12
  415. package/dist/src/scholarships/rules/SearchVolumeDisciplinesRule.js +0 -32
  416. package/dist/src/scholarships/rules/files/search-volume.json +0 -39334
  417. package/dist/src/scholarships/types/IScholarshipSeoDependencies.d.ts +0 -3
  418. package/dist/src/scholarships/types/IScholarshipSeoDependencies.js +0 -1
  419. package/dist/src/scholarships/types/IScholarshipSitemapDependencies.d.ts +0 -5
  420. package/dist/src/scholarships/types/IScholarshipSitemapDependencies.js +0 -1
  421. package/dist/src/scholarships/types.d.ts +0 -5
  422. package/dist/src/scholarships/types.js +0 -5
  423. package/dist/src/sitemap-generator/BaseSitemapUrlGeneratorManager.d.ts +0 -14
  424. package/dist/src/sitemap-generator/BaseSitemapUrlGeneratorManager.js +0 -26
  425. package/dist/src/sitemap-generator/IOrganisation.d.ts +0 -6
  426. package/dist/src/sitemap-generator/IOrganisation.js +0 -1
  427. package/dist/src/sitemap-generator/IOrganisationsClient.d.ts +0 -4
  428. package/dist/src/sitemap-generator/IOrganisationsClient.js +0 -1
  429. package/dist/src/sitemap-generator/IPageNumberProvider.d.ts +0 -3
  430. package/dist/src/sitemap-generator/IPageNumberProvider.js +0 -1
  431. package/dist/src/sitemap-generator/IRankingApiClient.d.ts +0 -4
  432. package/dist/src/sitemap-generator/IRankingApiClient.js +0 -1
  433. package/dist/src/sitemap-generator/ISearchApiClient.d.ts +0 -5
  434. package/dist/src/sitemap-generator/ISearchApiClient.js +0 -1
  435. package/dist/src/sitemap-generator/ISitemapUrlGeneratorManager.d.ts +0 -9
  436. package/dist/src/sitemap-generator/ISitemapUrlGeneratorManager.js +0 -1
  437. package/dist/src/sitemap-generator/OrganisationsSitemapUrlGeneratorManager.d.ts +0 -14
  438. package/dist/src/sitemap-generator/OrganisationsSitemapUrlGeneratorManager.js +0 -51
  439. package/dist/src/sitemap-generator/ProgrammesSitemapUrlGeneratorManager.d.ts +0 -12
  440. package/dist/src/sitemap-generator/ProgrammesSitemapUrlGeneratorManager.js +0 -101
  441. package/dist/src/sitemap-generator/ScholarshipsSitemapUrlGeneratorManager.d.ts +0 -9
  442. package/dist/src/sitemap-generator/ScholarshipsSitemapUrlGeneratorManager.js +0 -28
  443. package/dist/src/sitemap-generator/index.d.ts +0 -0
  444. package/dist/src/sitemap-generator/index.js +0 -1
  445. package/dist/src/structured-data/ProgrammeStructuredDataFactory.d.ts +0 -18
  446. package/dist/src/structured-data/ProgrammeStructuredDataFactory.js +0 -91
  447. package/dist/src/structured-data/SearchStructuredDataFactory.d.ts +0 -34
  448. package/dist/src/structured-data/SearchStructuredDataFactory.js +0 -144
  449. package/dist/src/structured-data/dto/BreadcrumbDTO.d.ts +0 -5
  450. package/dist/src/structured-data/dto/BreadcrumbDTO.js +0 -1
  451. package/dist/src/structured-data/dto/EntityDTO.d.ts +0 -7
  452. package/dist/src/structured-data/dto/EntityDTO.js +0 -1
  453. package/dist/src/structured-data/dto/FAQItemDto.d.ts +0 -4
  454. package/dist/src/structured-data/dto/FAQItemDto.js +0 -1
  455. package/dist/src/structured-data/dto/OfferDTO.d.ts +0 -5
  456. package/dist/src/structured-data/dto/OfferDTO.js +0 -1
  457. package/dist/src/structured-data/dto/ReviewRatingDTO.d.ts +0 -4
  458. package/dist/src/structured-data/dto/ReviewRatingDTO.js +0 -1
  459. package/dist/src/structured-data/dto/index.d.ts +0 -5
  460. package/dist/src/structured-data/dto/index.js +0 -5
  461. package/dist/src/structured-data/index.d.ts +0 -2
  462. package/dist/src/structured-data/index.js +0 -2
  463. package/dist/src/structured-data/interface/StructuredDataCurrencyConversionService.d.ts +0 -3
  464. package/dist/src/structured-data/interface/StructuredDataCurrencyConversionService.js +0 -1
  465. package/dist/structured-data-seo/index.d.ts +0 -1
  466. package/dist/structured-data-seo/index.js +0 -1
@@ -1,59 +0,0 @@
1
- export * from './Area';
2
- export * from './Attendance';
3
- export * from './AttendanceDegree';
4
- export * from './Continent';
5
- export * from './ContinentTuitionFee';
6
- export * from './Country';
7
- export * from './CountryAttendance';
8
- export * from './CountryAttendanceDegree';
9
- export * from './CountryDegree';
10
- export * from './CountryDuration';
11
- export * from './CountryDurationDegree';
12
- export * from './CountryEducationalForm';
13
- export * from './CountryFormat';
14
- export * from './CountryTuitionFee';
15
- export * from './DegreeAttendanceDiscipline';
16
- export * from './DegreeCountryAttendance';
17
- export * from './DegreeCountryDiscipline';
18
- export * from './DegreeCountryTuitionFee';
19
- export * from './DisciplineDegree';
20
- export * from './Discipline';
21
- export * from './DisciplineAttendance';
22
- export * from './DisciplineContinent';
23
- export * from './DisciplineCountry';
24
- export * from './DisciplineCountryEducationalForm';
25
- export * from './DisciplineDegree';
26
- export * from './DisciplineDuration';
27
- export * from './DisciplineEducationalForm';
28
- export * from './DisciplineFormat';
29
- export * from './DisciplineTuitionFee';
30
- export * from './DisciplineTuitionFeeAttendance';
31
- export * from './SpecialProgrammes';
32
- export * from './TuitionFee';
33
- export * from './Unfiltered';
34
- export * from './Format';
35
- export * from './DegreeFormat';
36
- export * from './DegreeAttendanceTuitionFee';
37
- export * from './DegreeArea';
38
- export * from './DegreeTuitionFee';
39
- export * from './DegreeAttendanceTuitionFee';
40
- export * from './DegreeContinent';
41
- export * from './AttendanceTuitionFee';
42
- export * from './Duration';
43
- export * from './AttendanceDuration';
44
- export * from './DegreeAreaTuitionFee';
45
- export * from './DisciplineContinentAttendance';
46
- export * from './DegreeContinentTuitionFee';
47
- export * from './AttendanceFormat';
48
- export * from './ContinentFormat';
49
- export * from './AttendanceContinent';
50
- export * from './DegreeDuration';
51
- export * from './ContinentSpecialProgrammes';
52
- export * from './CountrySpecialProgrammes';
53
- export * from './AttendanceArea';
54
- export * from './DegreeFormatTuitionFee';
55
- export * from './ContinentDuration';
56
- export * from './DegreeAttendanceFormat';
57
- export * from './DisciplineCountryAttendance';
58
- export * from './DisciplineCountryFormat';
59
- export * from './DegreeSpecialProgrammes';
@@ -1,6 +0,0 @@
1
- import { BaseProgrammeFilterKeyValueRule } from '../BaseProgrammeFilterKeyValueRule';
2
- export declare class AffordableTuitionFeeRule extends BaseProgrammeFilterKeyValueRule {
3
- constructor();
4
- getName(): string;
5
- getDescription(): string;
6
- }
@@ -1,17 +0,0 @@
1
- import { FilterKey } from '@studyportals/search-filters';
2
- import { TuitionFeeFilterOptionValue } from '@studyportals/search-filters';
3
- import { BaseProgrammeFilterKeyValueRule } from '../BaseProgrammeFilterKeyValueRule';
4
- export class AffordableTuitionFeeRule extends BaseProgrammeFilterKeyValueRule {
5
- constructor() {
6
- const filterKeyValues = new Map([
7
- [FilterKey.TUITION_FEE, [TuitionFeeFilterOptionValue.ZERO_TO_TWO_THOUSAND_FIVE_HUNDRED]]
8
- ]);
9
- super(filterKeyValues);
10
- }
11
- getName() {
12
- return 'AffordableTuitionFeeRule';
13
- }
14
- getDescription() {
15
- return 'Is indexable if the selected tuition fee is affordable (between 0 and 2500).';
16
- }
17
- }
@@ -1,15 +0,0 @@
1
- import { ISearchDependencies } from '../../common/ISearchDependencies';
2
- import { FilterKeyValuesMap } from '../../common/FilterKeyValuesMap';
3
- import { ISearchApiClient } from '../../sitemap-generator/ISearchApiClient';
4
- import { IProgrammeRule } from '../IProgrammeRule';
5
- export declare class AtLeastSevenResultsRule implements IProgrammeRule {
6
- private readonly minimumResultsCount;
7
- private readonly maximumPageSize;
8
- private readonly searchApiClient?;
9
- constructor(searchApiClient?: ISearchApiClient);
10
- forSearch(dependencies: ISearchDependencies): Promise<boolean>;
11
- forSitemapGeneratorWithPageNumber(filterKeyValues: FilterKeyValuesMap, pageNumber: number): Promise<boolean>;
12
- forSitemapGenerator(): Promise<boolean>;
13
- getName(): string;
14
- getDescription(): string;
15
- }
@@ -1,30 +0,0 @@
1
- import { DependencyMissingError } from '../../errors/DependencyMissingError';
2
- export class AtLeastSevenResultsRule {
3
- minimumResultsCount = 7;
4
- maximumPageSize = 20;
5
- searchApiClient;
6
- constructor(searchApiClient) {
7
- this.searchApiClient = searchApiClient;
8
- }
9
- forSearch(dependencies) {
10
- const { applicationState } = dependencies;
11
- const resultCount = applicationState.getNumberOfResults();
12
- return Promise.resolve(resultCount >= this.minimumResultsCount);
13
- }
14
- async forSitemapGeneratorWithPageNumber(filterKeyValues, pageNumber) {
15
- if (!this.searchApiClient) {
16
- throw new DependencyMissingError('SearchApiClient');
17
- }
18
- const count = await this.searchApiClient.getProgrammeCount(filterKeyValues);
19
- return count >= (pageNumber - 1) * this.maximumPageSize + this.minimumResultsCount;
20
- }
21
- forSitemapGenerator() {
22
- throw new Error('Method not implemented.');
23
- }
24
- getName() {
25
- return 'AtLeastSevenResultsRule';
26
- }
27
- getDescription() {
28
- return 'Is indexable if there are at least 7 results.';
29
- }
30
- }
@@ -1,11 +0,0 @@
1
- import { ISearchDependencies } from '../../common/ISearchDependencies';
2
- import { FilterKeyValuesMap } from '../../common/FilterKeyValuesMap';
3
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
4
- export declare class DegreeAttendanceDisciplineRule extends BaseProgrammeRule {
5
- private readonly allowedDegrees;
6
- private readonly attendanceValue;
7
- getName(): string;
8
- getDescription(): string;
9
- forSearch(dependencies: ISearchDependencies): Promise<boolean>;
10
- forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
11
- }
@@ -1,44 +0,0 @@
1
- import { FilterKey } from '@studyportals/search-filters';
2
- import { DegreeTypeFilterOptionValue } from '@studyportals/search-filters';
3
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
4
- export class DegreeAttendanceDisciplineRule extends BaseProgrammeRule {
5
- allowedDegrees = [
6
- DegreeTypeFilterOptionValue.MA,
7
- DegreeTypeFilterOptionValue.MSC,
8
- DegreeTypeFilterOptionValue.MBA
9
- ].map(id => id.valueOf());
10
- attendanceValue = 'online';
11
- getName() {
12
- return 'DegreeAttendanceDisciplineRule';
13
- }
14
- getDescription() {
15
- return 'Indexes: master-of-arts (online) + all disciplines; master-of-science (online) + all disciplines; master-of-business-administration (online) + all disciplines';
16
- }
17
- forSearch(dependencies) {
18
- const { seoInfoBase, filterState } = dependencies;
19
- const degreeTypeValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DEGREE_TYPE, filterState);
20
- const attendanceValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DELIVERY_METHOD, filterState);
21
- const disciplineValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DISCIPLINES, filterState);
22
- if (!degreeTypeValue || !attendanceValue || !this.allowedDegrees.includes(degreeTypeValue) || attendanceValue !== this.attendanceValue) {
23
- return Promise.resolve(true);
24
- }
25
- if (!disciplineValue) {
26
- return Promise.resolve(false);
27
- }
28
- return Promise.resolve(true);
29
- }
30
- forSitemapGenerator(filterKeyValues) {
31
- const degreeTypeValues = filterKeyValues.get(FilterKey.DEGREE_TYPE);
32
- const attendanceValues = filterKeyValues.get(FilterKey.DELIVERY_METHOD);
33
- const disciplineValues = filterKeyValues.get(FilterKey.DISCIPLINES);
34
- if (!degreeTypeValues?.length || !attendanceValues?.length || !disciplineValues?.length) {
35
- return Promise.resolve(false);
36
- }
37
- const degreeTypeValue = degreeTypeValues[0];
38
- const attendanceValue = attendanceValues[0];
39
- if (!degreeTypeValue || !attendanceValue || !this.allowedDegrees.includes(degreeTypeValue) || attendanceValue !== this.attendanceValue) {
40
- return Promise.resolve(true);
41
- }
42
- return Promise.resolve(true);
43
- }
44
- }
@@ -1,11 +0,0 @@
1
- import { ISearchDependencies } from '../../common/ISearchDependencies';
2
- import { FilterKeyValuesMap } from '../../common/FilterKeyValuesMap';
3
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
4
- export declare class DegreeAttendanceDisciplineSpecificRule extends BaseProgrammeRule {
5
- private readonly allowedDegrees;
6
- private readonly allowedAttendance;
7
- getName(): string;
8
- getDescription(): string;
9
- forSearch(dependencies: ISearchDependencies): Promise<boolean>;
10
- forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
11
- }
@@ -1,39 +0,0 @@
1
- import { FilterKey } from '@studyportals/search-filters';
2
- import { DegreeTypeFilterOptionValue } from '@studyportals/search-filters';
3
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
4
- export class DegreeAttendanceDisciplineSpecificRule extends BaseProgrammeRule {
5
- allowedDegrees = [
6
- DegreeTypeFilterOptionValue.MSC,
7
- DegreeTypeFilterOptionValue.MA,
8
- DegreeTypeFilterOptionValue.MBA
9
- ];
10
- allowedAttendance = 'online';
11
- getName() {
12
- return 'DegreeAttendanceDisciplineSpecificRule';
13
- }
14
- getDescription() {
15
- return 'Only allows MSc, MA, and MBA degrees with online attendance for attendance+discipline combinations';
16
- }
17
- forSearch(dependencies) {
18
- const { seoInfoBase, filterState } = dependencies;
19
- const degreeTypeValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DEGREE_TYPE, filterState);
20
- const attendanceValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DELIVERY_METHOD, filterState);
21
- const disciplineValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DISCIPLINES, filterState);
22
- if (!degreeTypeValue || !attendanceValue || !disciplineValue) {
23
- return Promise.resolve(false);
24
- }
25
- return Promise.resolve(this.allowedDegrees.includes(degreeTypeValue) &&
26
- attendanceValue === this.allowedAttendance);
27
- }
28
- forSitemapGenerator(filterKeyValues) {
29
- const degreeTypeValues = filterKeyValues.get(FilterKey.DEGREE_TYPE);
30
- const attendanceValues = filterKeyValues.get(FilterKey.DELIVERY_METHOD);
31
- if (!degreeTypeValues?.length || !attendanceValues?.length) {
32
- return Promise.resolve(false);
33
- }
34
- const degreeTypeValue = degreeTypeValues[0];
35
- const attendanceValue = attendanceValues[0];
36
- return Promise.resolve(this.allowedDegrees.includes(degreeTypeValue) &&
37
- attendanceValue === this.allowedAttendance);
38
- }
39
- }
@@ -1,10 +0,0 @@
1
- import { ISearchDependencies } from '../../common/ISearchDependencies';
2
- import { FilterKeyValuesMap } from '../../common/FilterKeyValuesMap';
3
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
4
- export declare class DegreeAttendanceSpecificRule extends BaseProgrammeRule {
5
- private readonly validCombinations;
6
- getName(): string;
7
- getDescription(): string;
8
- forSearch(dependencies: ISearchDependencies): Promise<boolean>;
9
- forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
10
- }
@@ -1,42 +0,0 @@
1
- import { FilterKey } from '@studyportals/search-filters';
2
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
3
- export class DegreeAttendanceSpecificRule extends BaseProgrammeRule {
4
- validCombinations = {
5
- 'master-of-science': ['online'], // MSc with online attendance
6
- 'master-of-arts': ['online'], // MA with online attendance
7
- 'master-of-business-administration': ['online'] // MBA with online attendance
8
- };
9
- getName() {
10
- return 'DegreeAttendanceSpecificRule';
11
- }
12
- getDescription() {
13
- return 'Indexes: master-of-science (online); master-of-arts (online); master-of-business-administration (online)';
14
- }
15
- forSearch(dependencies) {
16
- const { seoInfoBase, filterState } = dependencies;
17
- const degreeTypeValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DEGREE_TYPE, filterState);
18
- const attendanceValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DELIVERY_METHOD, filterState);
19
- if (!degreeTypeValue || !attendanceValue) {
20
- return Promise.resolve(false);
21
- }
22
- const allowedAttendance = this.validCombinations[degreeTypeValue];
23
- if (!allowedAttendance) {
24
- return Promise.resolve(false);
25
- }
26
- return Promise.resolve(allowedAttendance.includes(attendanceValue));
27
- }
28
- forSitemapGenerator(filterKeyValues) {
29
- const degreeTypeValues = filterKeyValues.get(FilterKey.DEGREE_TYPE);
30
- const attendanceValues = filterKeyValues.get(FilterKey.DELIVERY_METHOD);
31
- if (!degreeTypeValues?.length || !attendanceValues?.length) {
32
- return Promise.resolve(false);
33
- }
34
- const degreeTypeValue = degreeTypeValues[0];
35
- const attendanceValue = attendanceValues[0];
36
- const allowedAttendance = this.validCombinations[degreeTypeValue];
37
- if (!allowedAttendance) {
38
- return Promise.resolve(false);
39
- }
40
- return Promise.resolve(allowedAttendance.includes(attendanceValue));
41
- }
42
- }
@@ -1,14 +0,0 @@
1
- import { ISearchDependencies } from '../../common/ISearchDependencies';
2
- import { FilterKeyValuesMap } from '../../common/FilterKeyValuesMap';
3
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
4
- export declare class DegreeCountryAttendanceSpecificRule extends BaseProgrammeRule {
5
- private mba;
6
- private readonly countryIdsByDegree;
7
- getName(): string;
8
- getDescription(): string;
9
- forSearch(dependencies: ISearchDependencies): Promise<boolean>;
10
- forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
11
- private isValidForMbaDegree;
12
- private isValidForMphilDegree;
13
- private isValidForLlmDegree;
14
- }
@@ -1,76 +0,0 @@
1
- import { AttendanceFilterOptionValue, FilterKey } from '@studyportals/search-filters';
2
- import { DegreeTypeFilterOptionValue } from '@studyportals/search-filters';
3
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
4
- export class DegreeCountryAttendanceSpecificRule extends BaseProgrammeRule {
5
- mba = DegreeTypeFilterOptionValue.MBA.valueOf();
6
- countryIdsByDegree = {
7
- [DegreeTypeFilterOptionValue.LLM.valueOf()]: ['82', '30', '56', '108'],
8
- [DegreeTypeFilterOptionValue.MPHIL.valueOf()]: ['82', '30', '108'],
9
- };
10
- getName() {
11
- return 'DegreeCountryAttendanceSpecificRule';
12
- }
13
- getDescription() {
14
- return 'Only allows MBA, LLM, and MPhil degrees for country+attendance combinations';
15
- }
16
- forSearch(dependencies) {
17
- const { seoInfoBase, filterState } = dependencies;
18
- const degreeTypeValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DEGREE_TYPE, filterState);
19
- const countryValue = seoInfoBase.getFilterOptionValueBy(FilterKey.COUNTRY, filterState);
20
- const attendanceValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DELIVERY_METHOD, filterState);
21
- if (!degreeTypeValue || !countryValue || !attendanceValue) {
22
- return Promise.resolve(false);
23
- }
24
- if (attendanceValue !== AttendanceFilterOptionValue.ONLINE) {
25
- return Promise.resolve(false);
26
- }
27
- if (this.isValidForMbaDegree(degreeTypeValue)) {
28
- return Promise.resolve(true);
29
- }
30
- if (this.isValidForMphilDegree(degreeTypeValue, countryValue)) {
31
- return Promise.resolve(true);
32
- }
33
- if (this.isValidForLlmDegree(degreeTypeValue, countryValue)) {
34
- return Promise.resolve(true);
35
- }
36
- return Promise.resolve(false);
37
- }
38
- forSitemapGenerator(filterKeyValues) {
39
- const degreeTypeValues = filterKeyValues.get(FilterKey.DEGREE_TYPE);
40
- const countryValues = filterKeyValues.get(FilterKey.COUNTRY);
41
- const attendanceValues = filterKeyValues.get(FilterKey.DELIVERY_METHOD);
42
- if (!degreeTypeValues?.length || !countryValues?.length || !attendanceValues?.length) {
43
- return Promise.resolve(false);
44
- }
45
- const degreeTypeValue = degreeTypeValues[0];
46
- const countryValue = countryValues[0];
47
- const attendanceValue = attendanceValues[0];
48
- if (!degreeTypeValue || !countryValue || !attendanceValue) {
49
- return Promise.resolve(false);
50
- }
51
- if (attendanceValue !== AttendanceFilterOptionValue.ONLINE) {
52
- return Promise.resolve(false);
53
- }
54
- if (this.isValidForMbaDegree(degreeTypeValue)) {
55
- return Promise.resolve(true);
56
- }
57
- if (this.isValidForMphilDegree(degreeTypeValue, countryValue)) {
58
- return Promise.resolve(true);
59
- }
60
- if (this.isValidForLlmDegree(degreeTypeValue, countryValue)) {
61
- return Promise.resolve(true);
62
- }
63
- return Promise.resolve(false);
64
- }
65
- isValidForMbaDegree(degreeTypeValue) {
66
- return degreeTypeValue === this.mba;
67
- }
68
- isValidForMphilDegree(degreeTypeValue, countryValue) {
69
- return degreeTypeValue === DegreeTypeFilterOptionValue.MPHIL.valueOf() &&
70
- this.countryIdsByDegree[DegreeTypeFilterOptionValue.MPHIL.valueOf()].includes(countryValue);
71
- }
72
- isValidForLlmDegree(degreeTypeValue, countryValue) {
73
- return degreeTypeValue === DegreeTypeFilterOptionValue.LLM.valueOf() &&
74
- this.countryIdsByDegree[DegreeTypeFilterOptionValue.LLM.valueOf()].includes(countryValue);
75
- }
76
- }
@@ -1,11 +0,0 @@
1
- import { ISearchDependencies } from '../../common/ISearchDependencies';
2
- import { FilterKeyValuesMap } from '../../common/FilterKeyValuesMap';
3
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
4
- export declare class DegreeCountryDisciplineSpecificRule extends BaseProgrammeRule {
5
- private readonly educationDisciplineIds;
6
- private readonly validCombinations;
7
- getName(): string;
8
- getDescription(): string;
9
- forSearch(dependencies: ISearchDependencies): Promise<boolean>;
10
- forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
11
- }
@@ -1,76 +0,0 @@
1
- import { FilterKey } from '@studyportals/search-filters';
2
- import { DegreeTypeFilterOptionValue } from '@studyportals/search-filters';
3
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
4
- export class DegreeCountryDisciplineSpecificRule extends BaseProgrammeRule {
5
- educationDisciplineIds = [
6
- '289', // Education & Training (main discipline)
7
- '290', // Adult Education
8
- '360', // Art Education
9
- '291', // Coaching
10
- '292', // School Counselling
11
- '333', // Early Childhood Education
12
- '8', // Education
13
- '349', // Educational Leadership
14
- '293', // Educational Psychology
15
- '98', // Educational Research
16
- '371', // Health Education
17
- '363', // Higher Education
18
- '355', // Instructional Design
19
- '370', // Literacy Education
20
- '348', // Primary Education
21
- '97', // Special Education
22
- '359', // Secondary Education
23
- '345', // STEM Education
24
- '295', // Teaching
25
- '358' // Teaching English as a Foreign Language
26
- ];
27
- validCombinations = {
28
- [DegreeTypeFilterOptionValue.MSC]: ['82', '56', '11', '30'],
29
- [DegreeTypeFilterOptionValue.MBA]: ['82', '30'],
30
- [DegreeTypeFilterOptionValue.MED]: ['202', '56']
31
- };
32
- getName() {
33
- return 'DegreeCountrySpecificRule';
34
- }
35
- getDescription() {
36
- return 'Indexes: master-of-science (USA, Canada, Germany, UK); master-of-business-administration (USA, UK); master-of-education (Australia, Canada)';
37
- }
38
- forSearch(dependencies) {
39
- const { seoInfoBase, filterState } = dependencies;
40
- const degreeTypeValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DEGREE_TYPE, filterState);
41
- const countryValue = seoInfoBase.getFilterOptionValueBy(FilterKey.COUNTRY, filterState);
42
- const disciplineValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DISCIPLINES, filterState);
43
- if (!degreeTypeValue || !countryValue || !disciplineValue) {
44
- return Promise.resolve(false);
45
- }
46
- const allowedCountries = this.validCombinations[degreeTypeValue];
47
- if (!allowedCountries) {
48
- return Promise.resolve(false);
49
- }
50
- if (degreeTypeValue === DegreeTypeFilterOptionValue.MED) {
51
- return Promise.resolve(allowedCountries.includes(countryValue) &&
52
- this.educationDisciplineIds.includes(disciplineValue));
53
- }
54
- return Promise.resolve(allowedCountries.includes(countryValue));
55
- }
56
- forSitemapGenerator(filterKeyValues) {
57
- const degreeTypeValues = filterKeyValues.get(FilterKey.DEGREE_TYPE);
58
- const countryValues = filterKeyValues.get(FilterKey.COUNTRY);
59
- const disciplineValues = filterKeyValues.get(FilterKey.DISCIPLINES);
60
- if (!degreeTypeValues?.length || !countryValues?.length || !disciplineValues?.length) {
61
- return Promise.resolve(false);
62
- }
63
- const degreeTypeValue = degreeTypeValues[0];
64
- const countryValue = countryValues[0];
65
- const disciplineValue = disciplineValues[0];
66
- const allowedCountries = this.validCombinations[degreeTypeValue];
67
- if (!allowedCountries) {
68
- return Promise.resolve(false);
69
- }
70
- if (degreeTypeValue === DegreeTypeFilterOptionValue.MED) {
71
- return Promise.resolve(allowedCountries.includes(countryValue) &&
72
- this.educationDisciplineIds.includes(disciplineValue));
73
- }
74
- return Promise.resolve(allowedCountries.includes(countryValue));
75
- }
76
- }
@@ -1,10 +0,0 @@
1
- import { ISearchDependencies } from '../../common/ISearchDependencies';
2
- import { FilterKeyValuesMap } from '../../common/FilterKeyValuesMap';
3
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
4
- export declare class DegreeCountrySpecificRule extends BaseProgrammeRule {
5
- private readonly validCombinations;
6
- getName(): string;
7
- getDescription(): string;
8
- forSearch(dependencies: ISearchDependencies): Promise<boolean>;
9
- forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
10
- }
@@ -1,43 +0,0 @@
1
- import { FilterKey } from '@studyportals/search-filters';
2
- import { DegreeTypeFilterOptionValue } from '@studyportals/search-filters';
3
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
4
- export class DegreeCountrySpecificRule extends BaseProgrammeRule {
5
- validCombinations = {
6
- [DegreeTypeFilterOptionValue.MSC]: ['82', '56', '11', '30'],
7
- [DegreeTypeFilterOptionValue.MBA]: ['82', '30'],
8
- [DegreeTypeFilterOptionValue.MED]: ['202', '56']
9
- };
10
- getName() {
11
- return 'DegreeCountrySpecificRule';
12
- }
13
- getDescription() {
14
- return 'Indexes: master-of-science (USA, Canada, Germany, UK); master-of-business-administration (USA, UK); master-of-education (Australia, Canada)';
15
- }
16
- forSearch(dependencies) {
17
- const { seoInfoBase, filterState } = dependencies;
18
- const degreeTypeValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DEGREE_TYPE, filterState);
19
- const countryValue = seoInfoBase.getFilterOptionValueBy(FilterKey.COUNTRY, filterState);
20
- if (!degreeTypeValue || !countryValue) {
21
- return Promise.resolve(false);
22
- }
23
- const allowedCountries = this.validCombinations[degreeTypeValue];
24
- if (!allowedCountries) {
25
- return Promise.resolve(false);
26
- }
27
- return Promise.resolve(allowedCountries.includes(countryValue));
28
- }
29
- forSitemapGenerator(filterKeyValues) {
30
- const degreeTypeValues = filterKeyValues.get(FilterKey.DEGREE_TYPE);
31
- const countryValues = filterKeyValues.get(FilterKey.COUNTRY);
32
- if (!degreeTypeValues?.length || !countryValues?.length) {
33
- return Promise.resolve(false);
34
- }
35
- const degreeTypeValue = degreeTypeValues[0];
36
- const countryValue = countryValues[0];
37
- const allowedCountries = this.validCombinations[degreeTypeValue];
38
- if (!allowedCountries) {
39
- return Promise.resolve(false);
40
- }
41
- return Promise.resolve(allowedCountries.includes(countryValue));
42
- }
43
- }
@@ -1,11 +0,0 @@
1
- import { ISearchDependencies } from '../../common/ISearchDependencies';
2
- import { FilterKeyValuesMap } from '../../common/FilterKeyValuesMap';
3
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
4
- export declare class DegreeCountryTuitionFeeRule extends BaseProgrammeRule {
5
- private readonly degreeValue;
6
- private readonly tuitionFeeValue;
7
- getName(): string;
8
- getDescription(): string;
9
- forSearch(dependencies: ISearchDependencies): Promise<boolean>;
10
- forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
11
- }
@@ -1,40 +0,0 @@
1
- import { FilterKey } from '@studyportals/search-filters';
2
- import { TuitionFeeFilterOptionValue } from '@studyportals/search-filters';
3
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
4
- export class DegreeCountryTuitionFeeRule extends BaseProgrammeRule {
5
- degreeValue = 'master-of-business-administration';
6
- tuitionFeeValue = TuitionFeeFilterOptionValue.ZERO_TO_TWO_THOUSAND_FIVE_HUNDRED;
7
- getName() {
8
- return 'DegreeCountryTuitionFeeRule';
9
- }
10
- getDescription() {
11
- return 'Indexes: master-of-business-administration + all countries + affordable tuition (0-2500)';
12
- }
13
- forSearch(dependencies) {
14
- const { seoInfoBase, filterState } = dependencies;
15
- const degreeTypeValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DEGREE_TYPE, filterState);
16
- const countryValue = seoInfoBase.getFilterOptionValueBy(FilterKey.COUNTRY, filterState);
17
- const tuitionFeeValue = seoInfoBase.getFilterOptionValueBy(FilterKey.TUITION_FEE, filterState);
18
- if (degreeTypeValue !== this.degreeValue) {
19
- return Promise.resolve(true);
20
- }
21
- if (!countryValue || !tuitionFeeValue) {
22
- return Promise.resolve(false);
23
- }
24
- return Promise.resolve(tuitionFeeValue === this.tuitionFeeValue);
25
- }
26
- forSitemapGenerator(filterKeyValues) {
27
- const degreeTypeValues = filterKeyValues.get(FilterKey.DEGREE_TYPE);
28
- const countryValues = filterKeyValues.get(FilterKey.COUNTRY);
29
- const tuitionFeeValues = filterKeyValues.get(FilterKey.TUITION_FEE);
30
- if (!degreeTypeValues?.length || !countryValues?.length || !tuitionFeeValues?.length) {
31
- return Promise.resolve(false);
32
- }
33
- const degreeTypeValue = degreeTypeValues[0];
34
- const tuitionFeeValue = tuitionFeeValues[0];
35
- if (degreeTypeValue !== this.degreeValue) {
36
- return Promise.resolve(true);
37
- }
38
- return Promise.resolve(tuitionFeeValue === this.tuitionFeeValue);
39
- }
40
- }
@@ -1,12 +0,0 @@
1
- import { ISearchDependencies } from '../../common/ISearchDependencies';
2
- import { FilterKeyValuesMap } from '../../common/FilterKeyValuesMap';
3
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
4
- export declare class DegreeCountryTuitionFeeSpecificRule extends BaseProgrammeRule {
5
- private readonly validDegreeValues;
6
- private readonly tuitionFeeValue;
7
- private readonly validCombinations;
8
- getName(): string;
9
- getDescription(): string;
10
- forSearch(dependencies: ISearchDependencies): Promise<boolean>;
11
- forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
12
- }