@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,62 +0,0 @@
1
- import { FilterKey } from '@studyportals/search-filters';
2
- import { DegreeTypeFilterOptionValue } from '@studyportals/search-filters';
3
- import { TuitionFeeFilterOptionValue } from '@studyportals/search-filters';
4
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
5
- export class DegreeCountryTuitionFeeSpecificRule extends BaseProgrammeRule {
6
- validDegreeValues = [DegreeTypeFilterOptionValue.MBA, DegreeTypeFilterOptionValue.LLM];
7
- tuitionFeeValue = TuitionFeeFilterOptionValue.ZERO_TO_TWO_THOUSAND_FIVE_HUNDRED;
8
- validCombinations = {
9
- [DegreeTypeFilterOptionValue.LLM]: ['82', '30', '108', '56']
10
- };
11
- getName() {
12
- return 'DegreeCountryTuitionFeeSpecificRule';
13
- }
14
- getDescription() {
15
- return 'Indexes: mba & llm + all countries + affordable tuition (0-2500)';
16
- }
17
- forSearch(dependencies) {
18
- const { seoInfoBase, filterState } = dependencies;
19
- const degreeTypeValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DEGREE_TYPE, filterState);
20
- const countryValue = seoInfoBase.getFilterOptionValueBy(FilterKey.COUNTRY, filterState);
21
- const tuitionFeeValue = seoInfoBase.getFilterOptionValueBy(FilterKey.TUITION_FEE, filterState);
22
- if (!countryValue || !tuitionFeeValue || !degreeTypeValue) {
23
- return Promise.resolve(false);
24
- }
25
- if (degreeTypeValue === DegreeTypeFilterOptionValue.MBA && tuitionFeeValue === this.tuitionFeeValue) {
26
- return Promise.resolve(true);
27
- }
28
- const allowedCountries = this.validCombinations[degreeTypeValue];
29
- if (!allowedCountries) {
30
- return Promise.resolve(false);
31
- }
32
- if (allowedCountries.includes(countryValue) && this.validDegreeValues.includes(degreeTypeValue) && tuitionFeeValue === this.tuitionFeeValue) {
33
- return Promise.resolve(tuitionFeeValue === this.tuitionFeeValue);
34
- }
35
- return Promise.resolve(false);
36
- }
37
- forSitemapGenerator(filterKeyValues) {
38
- const degreeTypeValues = filterKeyValues.get(FilterKey.DEGREE_TYPE);
39
- const countryValues = filterKeyValues.get(FilterKey.COUNTRY);
40
- const tuitionFeeValues = filterKeyValues.get(FilterKey.TUITION_FEE);
41
- if (!degreeTypeValues?.length || !countryValues?.length || !tuitionFeeValues?.length) {
42
- return Promise.resolve(false);
43
- }
44
- const degreeTypeValue = degreeTypeValues[0];
45
- const tuitionFeeValue = tuitionFeeValues[0];
46
- const countryValue = countryValues[0];
47
- if (!countryValue || !tuitionFeeValue || !degreeTypeValue) {
48
- return Promise.resolve(false);
49
- }
50
- if (degreeTypeValue === DegreeTypeFilterOptionValue.MBA && tuitionFeeValue === this.tuitionFeeValue) {
51
- return Promise.resolve(true);
52
- }
53
- const allowedCountries = this.validCombinations[degreeTypeValue];
54
- if (!allowedCountries) {
55
- return Promise.resolve(false);
56
- }
57
- if (allowedCountries.includes(countryValue) && this.validDegreeValues.includes(degreeTypeValue) && tuitionFeeValue === this.tuitionFeeValue) {
58
- return Promise.resolve(tuitionFeeValue === this.tuitionFeeValue);
59
- }
60
- return Promise.resolve(false);
61
- }
62
- }
@@ -1,16 +0,0 @@
1
- import { ISearchDependencies } from '../../common/ISearchDependencies';
2
- import { FilterKeyValuesMap } from '../../common/FilterKeyValuesMap';
3
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
4
- export declare class DegreeDisciplineRule extends BaseProgrammeRule {
5
- private readonly degreesAcceptingAllDisciplines;
6
- private readonly allIndexableDegrees;
7
- private readonly lawDisciplineIds;
8
- private readonly masterOfPhilosophyDisciplineIds;
9
- private readonly educationDisciplineIds;
10
- private readonly engineeringDisciplineIds;
11
- private readonly postgraduateDiplomaDisciplineIds;
12
- getName(): string;
13
- getDescription(): string;
14
- forSearch(dependencies: ISearchDependencies): Promise<boolean>;
15
- forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
16
- }
@@ -1,189 +0,0 @@
1
- import { FilterKey } from '@studyportals/search-filters';
2
- import { DegreeTypeFilterOptionValue } from '@studyportals/search-filters';
3
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
4
- export class DegreeDisciplineRule extends BaseProgrammeRule {
5
- degreesAcceptingAllDisciplines = [
6
- DegreeTypeFilterOptionValue.MA,
7
- DegreeTypeFilterOptionValue.MSC,
8
- DegreeTypeFilterOptionValue.MBA
9
- ];
10
- allIndexableDegrees = [
11
- DegreeTypeFilterOptionValue.MA,
12
- DegreeTypeFilterOptionValue.MSC,
13
- DegreeTypeFilterOptionValue.MBA,
14
- DegreeTypeFilterOptionValue.LLM,
15
- DegreeTypeFilterOptionValue.MPHIL,
16
- DegreeTypeFilterOptionValue.MED,
17
- DegreeTypeFilterOptionValue.MENG,
18
- DegreeTypeFilterOptionValue.POSTGRADIP
19
- ];
20
- lawDisciplineIds = [
21
- '6', // Law (main discipline)
22
- '219', // Business Law
23
- '114', // Civil & Private Law
24
- '341', // Criminal Justice
25
- '109', // Criminal Law
26
- '48', // European Law
27
- '85', // International Law
28
- '220', // Legal Studies
29
- '221', // Master of Laws (LLM)
30
- '49', // Patent & Intellectual Property Law
31
- '115', // Public Law
32
- '247',
33
- '278',
34
- '87',
35
- '323',
36
- '108',
37
- '362',
38
- '241',
39
- '127'
40
- ];
41
- masterOfPhilosophyDisciplineIds = [
42
- '118',
43
- '23',
44
- '335',
45
- '71',
46
- '281',
47
- '4',
48
- '8',
49
- '293',
50
- '272',
51
- '330',
52
- '87',
53
- '111',
54
- '6',
55
- '332',
56
- '40',
57
- '308',
58
- '224',
59
- '113',
60
- '84',
61
- '38',
62
- '79',
63
- '278',
64
- '80'
65
- ];
66
- educationDisciplineIds = [
67
- '289', // Education & Training (main discipline)
68
- '290', // Adult Education
69
- '360', // Art Education
70
- '291', // Coaching
71
- '292', // School Counselling
72
- '333', // Early Childhood Education
73
- '8', // Education
74
- '349', // Educational Leadership
75
- '293', // Educational Psychology
76
- '98', // Educational Research
77
- '371', // Health Education
78
- '363', // Higher Education
79
- '355', // Instructional Design
80
- '370', // Literacy Education
81
- '348', // Primary Education
82
- '97', // Special Education
83
- '359', // Secondary Education
84
- '345', // STEM Education
85
- '295', // Teaching
86
- '358' // Teaching English as a Foreign Language
87
- ];
88
- engineeringDisciplineIds = [
89
- '7', // Engineering & Technology (main discipline)
90
- '24', // Computer Science & IT
91
- '37', // Aerospace Engineering
92
- '250', // Automotive Engineering
93
- '30', // Bio & Biomedical Engineering
94
- '32', // Chemical Engineering
95
- '29', // Civil Engineering & Construction
96
- '340', // Communications Engineering
97
- '34', // Electrical Engineering
98
- '83', // Electronics & Embedded Technology
99
- '94', // Energy Engineering
100
- '28', // Environmental Engineering
101
- '251', // General Engineering & Technology
102
- '26', // Industrial & Systems Engineering
103
- '252', // Marine Engineering
104
- '33', // Materials Science
105
- '39', // Mechanical Engineering
106
- '253', // Mechatronics
107
- '254', // Mining, Oil & Gas
108
- '367', // Nuclear Engineering
109
- '255', // Robotics
110
- '350', // Sound Engineering
111
- '256', // Sustainable Energy
112
- '257', // Transportation Engineering
113
- '397', // Production and Manufacturing Engineering
114
- '399' // Structural Engineering
115
- ];
116
- postgraduateDiplomaDisciplineIds = [
117
- '362', '241', '108', '133', '373', '356', '282', '311', '113', '79'
118
- ];
119
- getName() {
120
- return 'DegreeDisciplineRule';
121
- }
122
- getDescription() {
123
- return 'Indexes: master-of-arts, master-of-science, master-of-business-administration + all disciplines; master-of-laws + law disciplines only; master-of-philosophy + specific disciplines only; master-of-education + education & training disciplines only; master-of-engineering + engineering & technology disciplines only; postgraduate-diploma + specific disciplines only';
124
- }
125
- forSearch(dependencies) {
126
- const { seoInfoBase, filterState } = dependencies;
127
- const degreeTypeValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DEGREE_TYPE, filterState);
128
- const disciplineValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DISCIPLINES, filterState);
129
- if (!degreeTypeValue || !disciplineValue) {
130
- return Promise.resolve(false);
131
- }
132
- if (!this.allIndexableDegrees.includes(degreeTypeValue)) {
133
- return Promise.resolve(false);
134
- }
135
- if (degreeTypeValue === DegreeTypeFilterOptionValue.LLM) {
136
- return Promise.resolve(this.lawDisciplineIds.includes(disciplineValue));
137
- }
138
- if (degreeTypeValue === DegreeTypeFilterOptionValue.MPHIL) {
139
- return Promise.resolve(this.masterOfPhilosophyDisciplineIds.includes(disciplineValue));
140
- }
141
- if (degreeTypeValue === DegreeTypeFilterOptionValue.MED) {
142
- return Promise.resolve(this.educationDisciplineIds.includes(disciplineValue));
143
- }
144
- if (degreeTypeValue === DegreeTypeFilterOptionValue.MENG) {
145
- return Promise.resolve(this.engineeringDisciplineIds.includes(disciplineValue));
146
- }
147
- if (degreeTypeValue === DegreeTypeFilterOptionValue.POSTGRADIP) {
148
- return Promise.resolve(this.postgraduateDiplomaDisciplineIds.includes(disciplineValue));
149
- }
150
- if (this.degreesAcceptingAllDisciplines.includes(degreeTypeValue)) {
151
- return Promise.resolve(true);
152
- }
153
- return Promise.resolve(true);
154
- }
155
- forSitemapGenerator(filterKeyValues) {
156
- const degreeTypeValues = filterKeyValues.get(FilterKey.DEGREE_TYPE);
157
- const disciplineValues = filterKeyValues.get(FilterKey.DISCIPLINES);
158
- if (!degreeTypeValues?.length || !disciplineValues?.length) {
159
- return Promise.resolve(false);
160
- }
161
- const degreeTypeValue = degreeTypeValues[0];
162
- const disciplineValue = disciplineValues[0];
163
- if (!degreeTypeValue || !disciplineValue) {
164
- return Promise.resolve(false);
165
- }
166
- if (!this.allIndexableDegrees.includes(degreeTypeValue)) {
167
- return Promise.resolve(false);
168
- }
169
- if (degreeTypeValue === DegreeTypeFilterOptionValue.LLM) {
170
- return Promise.resolve(this.lawDisciplineIds.includes(disciplineValue));
171
- }
172
- if (degreeTypeValue === DegreeTypeFilterOptionValue.MPHIL) {
173
- return Promise.resolve(this.masterOfPhilosophyDisciplineIds.includes(disciplineValue));
174
- }
175
- if (degreeTypeValue === DegreeTypeFilterOptionValue.MED) {
176
- return Promise.resolve(this.educationDisciplineIds.includes(disciplineValue));
177
- }
178
- if (degreeTypeValue === DegreeTypeFilterOptionValue.MENG) {
179
- return Promise.resolve(this.engineeringDisciplineIds.includes(disciplineValue));
180
- }
181
- if (degreeTypeValue === DegreeTypeFilterOptionValue.POSTGRADIP) {
182
- return Promise.resolve(this.postgraduateDiplomaDisciplineIds.includes(disciplineValue));
183
- }
184
- if (this.degreesAcceptingAllDisciplines.includes(degreeTypeValue)) {
185
- return Promise.resolve(true);
186
- }
187
- return Promise.resolve(true);
188
- }
189
- }
@@ -1,9 +0,0 @@
1
- import { ISearchDependencies } from '../../common/ISearchDependencies';
2
- import { FilterKeyValuesMap } from '../../common/FilterKeyValuesMap';
3
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
4
- export declare class ErasmusOrJointSpecialProgrammesRule extends BaseProgrammeRule {
5
- forSearch(dependencies: ISearchDependencies): Promise<boolean>;
6
- forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
7
- getName(): string;
8
- getDescription(): string;
9
- }
@@ -1,28 +0,0 @@
1
- import { FilterKey } from '@studyportals/search-filters';
2
- import { SpecialProgrammesFilterOptionValue } from '@studyportals/search-filters';
3
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
4
- export class ErasmusOrJointSpecialProgrammesRule extends BaseProgrammeRule {
5
- forSearch(dependencies) {
6
- const { seoInfoBase, filterState } = dependencies;
7
- const selectedSpecialProgramme = seoInfoBase.getFilterOptionValueBy(FilterKey.SPECIAL_PROGRAMMES, filterState);
8
- if (!selectedSpecialProgramme) {
9
- return Promise.resolve(false);
10
- }
11
- return Promise.resolve(selectedSpecialProgramme === SpecialProgrammesFilterOptionValue.ERASMUS_MUNDUS ||
12
- selectedSpecialProgramme === SpecialProgrammesFilterOptionValue.JOINT_PROGRAMMES);
13
- }
14
- forSitemapGenerator(filterKeyValues) {
15
- const [selectedSpecialProgramme] = filterKeyValues.get(FilterKey.SPECIAL_PROGRAMMES);
16
- if (!selectedSpecialProgramme) {
17
- return Promise.resolve(false);
18
- }
19
- return Promise.resolve(selectedSpecialProgramme === SpecialProgrammesFilterOptionValue.ERASMUS_MUNDUS ||
20
- selectedSpecialProgramme === SpecialProgrammesFilterOptionValue.JOINT_PROGRAMMES);
21
- }
22
- getName() {
23
- return 'ErasmusOrJointSpecialProgrammesRule';
24
- }
25
- getDescription() {
26
- return 'Is indexable if the selected special programme is Erasmus Mundus or Joint Programmes.';
27
- }
28
- }
@@ -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 IndexableDegreeRule extends BaseProgrammeRule {
5
- forSearch(dependencies: ISearchDependencies): Promise<boolean>;
6
- forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
7
- getName(): string;
8
- getDescription(): string;
9
- private get indexableDegreeTypes();
10
- }
@@ -1,53 +0,0 @@
1
- import { FilterKey } from '@studyportals/search-filters';
2
- import { DegreeTypeFilterOptionValue } from '@studyportals/search-filters';
3
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
4
- export class IndexableDegreeRule extends BaseProgrammeRule {
5
- forSearch(dependencies) {
6
- const { seoInfoBase, filterState } = dependencies;
7
- const selectedDegree = seoInfoBase.getFilterOptionValueBy(FilterKey.DEGREE_TYPE, filterState);
8
- if (!selectedDegree) {
9
- return Promise.resolve(false);
10
- }
11
- const isIndexable = this.indexableDegreeTypes.includes(selectedDegree);
12
- return Promise.resolve(isIndexable);
13
- }
14
- forSitemapGenerator(filterKeyValues) {
15
- const [selectedDegree] = filterKeyValues.get(FilterKey.DEGREE_TYPE);
16
- if (!selectedDegree) {
17
- return Promise.resolve(false);
18
- }
19
- const isIndexable = this.indexableDegreeTypes.includes(selectedDegree);
20
- return Promise.resolve(isIndexable);
21
- }
22
- getName() {
23
- return 'IndexableDegreeRule';
24
- }
25
- getDescription() {
26
- return `Indexable if the selected degree type is one of the following: ${this.indexableDegreeTypes.join(', ')}`;
27
- }
28
- get indexableDegreeTypes() {
29
- return [
30
- DegreeTypeFilterOptionValue.DOCTORATE,
31
- DegreeTypeFilterOptionValue.DBA,
32
- DegreeTypeFilterOptionValue.PHD,
33
- DegreeTypeFilterOptionValue.MSC,
34
- DegreeTypeFilterOptionValue.MA,
35
- DegreeTypeFilterOptionValue.MBA,
36
- DegreeTypeFilterOptionValue.LLM,
37
- DegreeTypeFilterOptionValue.MPHIL,
38
- DegreeTypeFilterOptionValue.MED,
39
- DegreeTypeFilterOptionValue.MENG,
40
- DegreeTypeFilterOptionValue.POSTGRADIP,
41
- DegreeTypeFilterOptionValue.POSTGRADCERT,
42
- DegreeTypeFilterOptionValue.PREMASTER,
43
- DegreeTypeFilterOptionValue.BSC,
44
- DegreeTypeFilterOptionValue.BA,
45
- DegreeTypeFilterOptionValue.BBA,
46
- DegreeTypeFilterOptionValue.ASSOCIATE_DEGREE,
47
- DegreeTypeFilterOptionValue.GRADUATE_CERTTIFICATE,
48
- DegreeTypeFilterOptionValue.GRADUATE_DIPLOMA,
49
- DegreeTypeFilterOptionValue.PREBACHELOR,
50
- DegreeTypeFilterOptionValue.CERTIFICATE
51
- ];
52
- }
53
- }
@@ -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 IndexableDurationRule extends BaseProgrammeRule {
5
- private durationPresenter;
6
- constructor();
7
- forSearch(dependencies: ISearchDependencies): Promise<boolean>;
8
- forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
9
- getName(): string;
10
- getDescription(): string;
11
- private isIndexable;
12
- }
@@ -1,37 +0,0 @@
1
- import { FilterKey } from '@studyportals/search-filters';
2
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
3
- import { DurationPresenter } from '../../presenters/DurationPresenter';
4
- export class IndexableDurationRule extends BaseProgrammeRule {
5
- durationPresenter;
6
- constructor() {
7
- super();
8
- this.durationPresenter = DurationPresenter.getInstance();
9
- }
10
- forSearch(dependencies) {
11
- const { seoInfoBase, filterState } = dependencies;
12
- const selectedDuration = seoInfoBase.getFilterOptionValueBy(FilterKey.DURATION, filterState);
13
- if (!selectedDuration) {
14
- return Promise.resolve(false);
15
- }
16
- const isIndexable = this.isIndexable(selectedDuration);
17
- return Promise.resolve(isIndexable);
18
- }
19
- forSitemapGenerator(filterKeyValues) {
20
- const [selectedDuration] = filterKeyValues.get(FilterKey.DURATION);
21
- if (!selectedDuration) {
22
- return Promise.resolve(false);
23
- }
24
- const isIndexable = this.isIndexable(selectedDuration);
25
- return Promise.resolve(isIndexable);
26
- }
27
- getName() {
28
- return 'IndexableDurationRule';
29
- }
30
- getDescription() {
31
- return `Indexable if duration is 1 year, 2 years, 3 years, or 4 years.`;
32
- }
33
- isIndexable(value) {
34
- return this.durationPresenter.getFragments()
35
- .some(fragment => fragment.id === value);
36
- }
37
- }
@@ -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 IndexableEducationalFormRule extends BaseProgrammeRule {
5
- forSearch(dependencies: ISearchDependencies): Promise<boolean>;
6
- forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
7
- getName(): string;
8
- getDescription(): string;
9
- private isIndexable;
10
- }
@@ -1,34 +0,0 @@
1
- import { FilterKey } from '@studyportals/search-filters';
2
- import { EducationalFormFilterOptionValue } from '@studyportals/search-filters';
3
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
4
- export class IndexableEducationalFormRule extends BaseProgrammeRule {
5
- forSearch(dependencies) {
6
- const { seoInfoBase, filterState } = dependencies;
7
- const selectedEducationalForm = seoInfoBase.getFilterOptionValueBy(FilterKey.EDUCATIONAL_FORM, filterState);
8
- if (!selectedEducationalForm) {
9
- return Promise.resolve(false);
10
- }
11
- const isIndexable = this.isIndexable(selectedEducationalForm);
12
- return Promise.resolve(isIndexable);
13
- }
14
- forSitemapGenerator(filterKeyValues) {
15
- const [selectedEducationalForm] = filterKeyValues.get(FilterKey.EDUCATIONAL_FORM);
16
- if (!selectedEducationalForm) {
17
- return Promise.resolve(false);
18
- }
19
- const isIndexable = this.isIndexable(selectedEducationalForm);
20
- return Promise.resolve(isIndexable);
21
- }
22
- getName() {
23
- return 'IndexableEducationalFormRule';
24
- }
25
- getDescription() {
26
- return `Indexable if educational form is Academic Course, Summer School, Semester Study Abroad, or Skill Professional Course.`;
27
- }
28
- isIndexable(value) {
29
- return (value === EducationalFormFilterOptionValue.ACADEMIC_COURSE ||
30
- value === EducationalFormFilterOptionValue.SUMMER_SCHOOL ||
31
- value === EducationalFormFilterOptionValue.SEMESTER_STUDY_ABROAD ||
32
- value === EducationalFormFilterOptionValue.SKILL_PROFESSIONAL_COURSE);
33
- }
34
- }
@@ -1,9 +0,0 @@
1
- import { IProgrammeSearchDependencies } from '../types/IProgrammeSearchDependencies';
2
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
3
- export declare class IndexablePageNumberRule extends BaseProgrammeRule {
4
- private commonRule;
5
- forSearch(dependencies: IProgrammeSearchDependencies): Promise<boolean>;
6
- forSitemapGenerator(): Promise<boolean>;
7
- getName(): string;
8
- getDescription(): string;
9
- }
@@ -1,17 +0,0 @@
1
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
2
- import { IndexablePageNumberRule as CommonIndexablePageNumberRule } from '../../common/rules/IndexablePageNumberRule';
3
- export class IndexablePageNumberRule extends BaseProgrammeRule {
4
- commonRule = new CommonIndexablePageNumberRule();
5
- forSearch(dependencies) {
6
- return this.commonRule.forSearch(dependencies);
7
- }
8
- forSitemapGenerator() {
9
- return this.commonRule.forSitemapGenerator();
10
- }
11
- getName() {
12
- return this.commonRule.getName();
13
- }
14
- getDescription() {
15
- return this.commonRule.getDescription();
16
- }
17
- }
@@ -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 MbaCountryAttendanceRule extends BaseProgrammeRule {
5
- private readonly degreeValue;
6
- private readonly attendanceValue;
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 { DegreeTypeFilterOptionValue } from '@studyportals/search-filters';
3
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
4
- export class MbaCountryAttendanceRule extends BaseProgrammeRule {
5
- degreeValue = DegreeTypeFilterOptionValue.MBA;
6
- attendanceValue = 'online';
7
- getName() {
8
- return 'MbaCountryAttendanceRule';
9
- }
10
- getDescription() {
11
- return 'Indexes: master-of-business-administration + all countries + online attendance';
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 attendanceValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DELIVERY_METHOD, filterState);
18
- if (degreeTypeValue !== this.degreeValue) {
19
- return Promise.resolve(true);
20
- }
21
- if (!countryValue || !attendanceValue) {
22
- return Promise.resolve(false);
23
- }
24
- return Promise.resolve(attendanceValue === this.attendanceValue);
25
- }
26
- forSitemapGenerator(filterKeyValues) {
27
- const degreeTypeValues = filterKeyValues.get(FilterKey.DEGREE_TYPE);
28
- const countryValues = filterKeyValues.get(FilterKey.COUNTRY);
29
- const attendanceValues = filterKeyValues.get(FilterKey.DELIVERY_METHOD);
30
- if (!degreeTypeValues?.length || !countryValues?.length || !attendanceValues?.length) {
31
- return Promise.resolve(false);
32
- }
33
- const degreeTypeValue = degreeTypeValues[0];
34
- const attendanceValue = attendanceValues[0];
35
- if (degreeTypeValue !== this.degreeValue) {
36
- return Promise.resolve(true);
37
- }
38
- return Promise.resolve(attendanceValue === this.attendanceValue);
39
- }
40
- }
@@ -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 MasterOfArtsDisciplineRule extends BaseProgrammeRule {
5
- private readonly degreeValue;
6
- getName(): string;
7
- getDescription(): string;
8
- forSearch(dependencies: ISearchDependencies): Promise<boolean>;
9
- forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
10
- }
@@ -1,41 +0,0 @@
1
- import { FilterKey } from '@studyportals/search-filters';
2
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
3
- export class MasterOfArtsDisciplineRule extends BaseProgrammeRule {
4
- // Master of Arts accepts all disciplines
5
- degreeValue = 'master-of-arts';
6
- getName() {
7
- return 'MasterOfArtsDisciplineRule';
8
- }
9
- getDescription() {
10
- return 'Indexes: master-of-arts + all disciplines';
11
- }
12
- forSearch(dependencies) {
13
- const { seoInfoBase, filterState } = dependencies;
14
- const degreeTypeValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DEGREE_TYPE, filterState);
15
- const disciplineValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DISCIPLINES, filterState);
16
- // This rule only applies to Master of Arts
17
- if (degreeTypeValue !== this.degreeValue) {
18
- return Promise.resolve(true); // Rule doesn't apply to other degrees
19
- }
20
- // Must have a discipline selected
21
- if (!disciplineValue) {
22
- return Promise.resolve(false);
23
- }
24
- // Master of Arts accepts all disciplines
25
- return Promise.resolve(true);
26
- }
27
- forSitemapGenerator(filterKeyValues) {
28
- const degreeTypeValues = filterKeyValues.get(FilterKey.DEGREE_TYPE);
29
- const disciplineValues = filterKeyValues.get(FilterKey.DISCIPLINES);
30
- if (!degreeTypeValues?.length || !disciplineValues?.length) {
31
- return Promise.resolve(false);
32
- }
33
- const degreeTypeValue = degreeTypeValues[0];
34
- // This rule only applies to Master of Arts
35
- if (degreeTypeValue !== this.degreeValue) {
36
- return Promise.resolve(true); // Rule doesn't apply to other degrees
37
- }
38
- // Master of Arts accepts all disciplines
39
- return Promise.resolve(true);
40
- }
41
- }
@@ -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 MasterOfEducationCountryDisciplineRule extends BaseProgrammeRule {
5
- private readonly educationDisciplineIds;
6
- private readonly allowedCountryIds;
7
- getName(): string;
8
- getDescription(): string;
9
- forSearch(dependencies: ISearchDependencies): Promise<boolean>;
10
- forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
11
- }