@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,45 +0,0 @@
1
- import { FilterCombinations } from '../../../enums/FilterCombinations';
2
- import { FilterKey } from '@studyportals/search-filters';
3
- import { SingleValueSelectedForFilterRule } from '../../../common/rules/SingleValueSelectedForFilterRule';
4
- import { OnlyFiltersSelectedRule } from '../../../common/rules/OnlyFiltersSelectedRule';
5
- import { OnlineAttendanceRule } from '../../../common/rules/OnlineAttendanceRule';
6
- import { ContinentIsEuropeRule } from '../../../organisations/rules/ContinentIsEuropeRule';
7
- import { ContinentPresenter } from '../../../presenters/ContinentPresenter';
8
- import { AttendancePresenter } from '../../../presenters/AttendancePresenter';
9
- import { RankedOrganisationsSeoIndexabilityPolicy } from '../RankedOrganisationsSeoIndexabilityPolicy';
10
- export class RankedContinentAttendance extends RankedOrganisationsSeoIndexabilityPolicy {
11
- name = 'Ranked Continent Attendance Policy';
12
- description = 'Controls indexing for ranking-sorted pages combining continent and attendance filters, optimizing for continental study format combinations.';
13
- baseRules = [
14
- new SingleValueSelectedForFilterRule(FilterKey.CONTINENT),
15
- new SingleValueSelectedForFilterRule(FilterKey.DELIVERY_METHOD),
16
- new OnlyFiltersSelectedRule([FilterKey.CONTINENT, FilterKey.DELIVERY_METHOD]),
17
- new ContinentIsEuropeRule(),
18
- new OnlineAttendanceRule()
19
- ];
20
- constructor(dependencies) {
21
- super(dependencies);
22
- this.addRankedResultsCountRule();
23
- }
24
- async generateUrls() {
25
- const continentFragments = ContinentPresenter.getInstance().getFragments();
26
- const attendanceFragments = AttendancePresenter.getInstance().getFragments();
27
- const paths = [];
28
- for (const continent of continentFragments) {
29
- for (const attendance of attendanceFragments) {
30
- const filterKeyValues = new Map([
31
- [FilterKey.CONTINENT, [continent.id]],
32
- [FilterKey.DELIVERY_METHOD, [attendance.id]]
33
- ]);
34
- const result = await this.checkRulesForSitemap(filterKeyValues);
35
- if (result) {
36
- paths.push(this.getPathWithSortingOption(`${attendance.path}/${continent.path}`));
37
- }
38
- }
39
- }
40
- return paths;
41
- }
42
- get filterCombination() {
43
- return FilterCombinations.RANKED_CONTINENT_ATTENDANCE;
44
- }
45
- }
@@ -1,13 +0,0 @@
1
- import { SingleValueSelectedForFilterRule } from '../../../common/rules/SingleValueSelectedForFilterRule';
2
- import { FilterCombinations } from '../../../enums/FilterCombinations';
3
- import { OnlyFiltersSelectedRule } from '../../../common/rules/OnlyFiltersSelectedRule';
4
- import { RankedOrganisationsSeoIndexabilityPolicy } from '../RankedOrganisationsSeoIndexabilityPolicy';
5
- import { IOrganisationsSeoDependencies } from '../../../organisations/types/IOrganisationsSeoDependencies';
6
- export declare class RankedCountry extends RankedOrganisationsSeoIndexabilityPolicy {
7
- readonly name: string;
8
- readonly description: string;
9
- protected readonly baseRules: (SingleValueSelectedForFilterRule | OnlyFiltersSelectedRule)[];
10
- constructor(dependencies: IOrganisationsSeoDependencies);
11
- protected generateUrls(): Promise<string[]>;
12
- get filterCombination(): FilterCombinations;
13
- }
@@ -1,30 +0,0 @@
1
- import { SingleValueSelectedForFilterRule } from '../../../common/rules/SingleValueSelectedForFilterRule';
2
- import { FilterCombinations } from '../../../enums/FilterCombinations';
3
- import { FilterKey } from '@studyportals/search-filters';
4
- import { OnlyFiltersSelectedRule } from '../../../common/rules/OnlyFiltersSelectedRule';
5
- import { CountryPresenter } from '../../../presenters/CountryPresenter';
6
- import { RankedOrganisationsSeoIndexabilityPolicy } from '../RankedOrganisationsSeoIndexabilityPolicy';
7
- export class RankedCountry extends RankedOrganisationsSeoIndexabilityPolicy {
8
- name = 'Ranked Country Policy';
9
- description = 'Manages indexability of ranking-sorted country-specific pages, applying rules to prioritize countries where quality-based sorting adds search value.';
10
- baseRules = [new SingleValueSelectedForFilterRule(FilterKey.COUNTRY), new OnlyFiltersSelectedRule([FilterKey.COUNTRY])];
11
- constructor(dependencies) {
12
- super(dependencies);
13
- this.addRankedResultsCountRule();
14
- }
15
- async generateUrls() {
16
- const countryFragments = CountryPresenter.getInstance().getFragments();
17
- const paths = [];
18
- for (const country of countryFragments) {
19
- const filterKeyValues = new Map([[FilterKey.COUNTRY, [country.id]]]);
20
- const result = await this.checkRulesForSitemap(filterKeyValues);
21
- if (result) {
22
- paths.push(this.getPathWithSortingOption(country.path));
23
- }
24
- }
25
- return paths;
26
- }
27
- get filterCombination() {
28
- return FilterCombinations.RANKED_COUNTRY;
29
- }
30
- }
@@ -1,14 +0,0 @@
1
- import { FilterCombinations } from '../../../enums/FilterCombinations';
2
- import { SingleValueSelectedForFilterRule } from '../../../common/rules/SingleValueSelectedForFilterRule';
3
- import { OnlyFiltersSelectedRule } from '../../../common/rules/OnlyFiltersSelectedRule';
4
- import { OnlineAttendanceRule } from '../../../common/rules/OnlineAttendanceRule';
5
- import { RankedOrganisationsSeoIndexabilityPolicy } from '../RankedOrganisationsSeoIndexabilityPolicy';
6
- import { IOrganisationsSeoDependencies } from '../../../organisations/types/IOrganisationsSeoDependencies';
7
- export declare class RankedCountryAttendance extends RankedOrganisationsSeoIndexabilityPolicy {
8
- readonly name: string;
9
- readonly description: string;
10
- protected readonly baseRules: (SingleValueSelectedForFilterRule | OnlyFiltersSelectedRule | OnlineAttendanceRule)[];
11
- constructor(dependencies: IOrganisationsSeoDependencies);
12
- protected generateUrls(): Promise<string[]>;
13
- get filterCombination(): FilterCombinations;
14
- }
@@ -1,43 +0,0 @@
1
- import { FilterCombinations } from '../../../enums/FilterCombinations';
2
- import { FilterKey } from '@studyportals/search-filters';
3
- import { SingleValueSelectedForFilterRule } from '../../../common/rules/SingleValueSelectedForFilterRule';
4
- import { OnlyFiltersSelectedRule } from '../../../common/rules/OnlyFiltersSelectedRule';
5
- import { OnlineAttendanceRule } from '../../../common/rules/OnlineAttendanceRule';
6
- import { CountryPresenter } from '../../../presenters/CountryPresenter';
7
- import { AttendancePresenter } from '../../../presenters/AttendancePresenter';
8
- import { RankedOrganisationsSeoIndexabilityPolicy } from '../RankedOrganisationsSeoIndexabilityPolicy';
9
- export class RankedCountryAttendance extends RankedOrganisationsSeoIndexabilityPolicy {
10
- name = 'Ranked Country Attendance Policy';
11
- description = 'Governs indexing for ranking-sorted pages filtered by both country and attendance type, optimizing for country-specific study format combinations with quality sorting.';
12
- baseRules = [
13
- new SingleValueSelectedForFilterRule(FilterKey.COUNTRY),
14
- new SingleValueSelectedForFilterRule(FilterKey.DELIVERY_METHOD),
15
- new OnlyFiltersSelectedRule([FilterKey.COUNTRY, FilterKey.DELIVERY_METHOD]),
16
- new OnlineAttendanceRule()
17
- ];
18
- constructor(dependencies) {
19
- super(dependencies);
20
- this.addRankedResultsCountRule();
21
- }
22
- async generateUrls() {
23
- const countryFragments = CountryPresenter.getInstance().getFragments();
24
- const attendanceFragments = AttendancePresenter.getInstance().getFragments();
25
- const paths = [];
26
- for (const country of countryFragments) {
27
- for (const attendance of attendanceFragments) {
28
- const filterKeyValues = new Map([
29
- [FilterKey.COUNTRY, [country.id]],
30
- [FilterKey.DELIVERY_METHOD, [attendance.id]]
31
- ]);
32
- const result = await this.checkRulesForSitemap(filterKeyValues);
33
- if (result) {
34
- paths.push(this.getPathWithSortingOption(`${attendance.path}/${country.path}`));
35
- }
36
- }
37
- }
38
- return paths;
39
- }
40
- get filterCombination() {
41
- return FilterCombinations.RANKED_COUNTRY_ATTENDANCE;
42
- }
43
- }
@@ -1,13 +0,0 @@
1
- import { SingleValueSelectedForFilterRule } from '../../../common/rules/SingleValueSelectedForFilterRule';
2
- import { FilterCombinations } from '../../../enums/FilterCombinations';
3
- import { OnlyFiltersSelectedRule } from '../../../common/rules/OnlyFiltersSelectedRule';
4
- import { RankedOrganisationsSeoIndexabilityPolicy } from '../RankedOrganisationsSeoIndexabilityPolicy';
5
- import { IOrganisationsSeoDependencies } from '../../../organisations/types/IOrganisationsSeoDependencies';
6
- export declare class RankedCountryDiscipline extends RankedOrganisationsSeoIndexabilityPolicy {
7
- readonly name: string;
8
- readonly description: string;
9
- protected readonly baseRules: (SingleValueSelectedForFilterRule | OnlyFiltersSelectedRule)[];
10
- constructor(dependencies: IOrganisationsSeoDependencies);
11
- protected generateUrls(): Promise<string[]>;
12
- get filterCombination(): FilterCombinations;
13
- }
@@ -1,41 +0,0 @@
1
- import { SingleValueSelectedForFilterRule } from '../../../common/rules/SingleValueSelectedForFilterRule';
2
- import { FilterCombinations } from '../../../enums/FilterCombinations';
3
- import { FilterKey } from '@studyportals/search-filters';
4
- import { OnlyFiltersSelectedRule } from '../../../common/rules/OnlyFiltersSelectedRule';
5
- import { CountryPresenter } from '../../../presenters/CountryPresenter';
6
- import { DisciplinePresenter } from '../../../presenters/DisciplinePresenter';
7
- import { RankedOrganisationsSeoIndexabilityPolicy } from '../RankedOrganisationsSeoIndexabilityPolicy';
8
- export class RankedCountryDiscipline extends RankedOrganisationsSeoIndexabilityPolicy {
9
- name = 'Ranked Country Discipline Policy';
10
- description = 'Determines which ranking-sorted pages at the intersection of country and discipline filters qualify for indexing based on search value.';
11
- baseRules = [
12
- new SingleValueSelectedForFilterRule(FilterKey.COUNTRY),
13
- new SingleValueSelectedForFilterRule(FilterKey.DISCIPLINES),
14
- new OnlyFiltersSelectedRule([FilterKey.COUNTRY, FilterKey.DISCIPLINES])
15
- ];
16
- constructor(dependencies) {
17
- super(dependencies);
18
- this.addRankedResultsCountRule();
19
- }
20
- async generateUrls() {
21
- const countryFragments = CountryPresenter.getInstance().getFragments();
22
- const disciplineFragments = DisciplinePresenter.getInstance().getFragments();
23
- const paths = [];
24
- for (const country of countryFragments) {
25
- for (const discipline of disciplineFragments) {
26
- const filterKeyValues = new Map([
27
- [FilterKey.COUNTRY, [country.id]],
28
- [FilterKey.DISCIPLINES, [discipline.id]]
29
- ]);
30
- const result = await this.checkRulesForSitemap(filterKeyValues);
31
- if (result) {
32
- paths.push(this.getPathWithSortingOption(`${country.path}/${discipline.path}`));
33
- }
34
- }
35
- }
36
- return paths;
37
- }
38
- get filterCombination() {
39
- return FilterCombinations.RANKED_DISCIPLINE_COUNTRY;
40
- }
41
- }
@@ -1,13 +0,0 @@
1
- import { SingleValueSelectedForFilterRule } from '../../../common/rules/SingleValueSelectedForFilterRule';
2
- import { FilterCombinations } from '../../../enums/FilterCombinations';
3
- import { OnlyFiltersSelectedRule } from '../../../common/rules/OnlyFiltersSelectedRule';
4
- import { RankedOrganisationsSeoIndexabilityPolicy } from '../RankedOrganisationsSeoIndexabilityPolicy';
5
- import { IOrganisationsSeoDependencies } from '../../../organisations/types/IOrganisationsSeoDependencies';
6
- export declare class RankedDiscipline extends RankedOrganisationsSeoIndexabilityPolicy {
7
- readonly name: string;
8
- readonly description: string;
9
- protected readonly baseRules: (SingleValueSelectedForFilterRule | OnlyFiltersSelectedRule)[];
10
- constructor(dependencies: IOrganisationsSeoDependencies);
11
- protected generateUrls(): Promise<string[]>;
12
- get filterCombination(): FilterCombinations;
13
- }
@@ -1,33 +0,0 @@
1
- import { SingleValueSelectedForFilterRule } from '../../../common/rules/SingleValueSelectedForFilterRule';
2
- import { FilterCombinations } from '../../../enums/FilterCombinations';
3
- import { FilterKey } from '@studyportals/search-filters';
4
- import { OnlyFiltersSelectedRule } from '../../../common/rules/OnlyFiltersSelectedRule';
5
- import { RankedOrganisationsSeoIndexabilityPolicy } from '../RankedOrganisationsSeoIndexabilityPolicy';
6
- import { DisciplinePresenter } from '../../../presenters/DisciplinePresenter';
7
- export class RankedDiscipline extends RankedOrganisationsSeoIndexabilityPolicy {
8
- name = 'Ranked Discipline Policy';
9
- description = 'Regulates indexability of ranking-sorted discipline-specific pages, prioritizing academic fields where quality-based sorting enhances user experience.';
10
- baseRules = [
11
- new SingleValueSelectedForFilterRule(FilterKey.DISCIPLINES),
12
- new OnlyFiltersSelectedRule([FilterKey.DISCIPLINES])
13
- ];
14
- constructor(dependencies) {
15
- super(dependencies);
16
- this.addRankedResultsCountRule();
17
- }
18
- async generateUrls() {
19
- const disciplineFragments = DisciplinePresenter.getInstance().getFragments();
20
- const paths = [];
21
- for (const discipline of disciplineFragments) {
22
- const filterKeyValues = new Map([[FilterKey.DISCIPLINES, [discipline.id]]]);
23
- const result = await this.checkRulesForSitemap(filterKeyValues);
24
- if (result) {
25
- paths.push(this.getPathWithSortingOption(discipline.path));
26
- }
27
- }
28
- return paths;
29
- }
30
- get filterCombination() {
31
- return FilterCombinations.RANKED_DISCIPLINE;
32
- }
33
- }
@@ -1,12 +0,0 @@
1
- import { FilterCombinations } from '../../../enums/FilterCombinations';
2
- import { NoFiltersSelectedRule } from '../../../common/rules/NoFiltersSelectedRule';
3
- import { RankedOrganisationsSeoIndexabilityPolicy } from '../RankedOrganisationsSeoIndexabilityPolicy';
4
- import { IOrganisationsSeoDependencies } from '../../../organisations/types/IOrganisationsSeoDependencies';
5
- export declare class RankedUnfiltered extends RankedOrganisationsSeoIndexabilityPolicy {
6
- readonly name: string;
7
- readonly description: string;
8
- protected readonly baseRules: NoFiltersSelectedRule[];
9
- constructor(dependencies: IOrganisationsSeoDependencies);
10
- protected generateUrls(): Promise<string[]>;
11
- get filterCombination(): FilterCombinations;
12
- }
@@ -1,22 +0,0 @@
1
- import { FilterCombinations } from '../../../enums/FilterCombinations';
2
- import { NoFiltersSelectedRule } from '../../../common/rules/NoFiltersSelectedRule';
3
- import { RankedOrganisationsSeoIndexabilityPolicy } from '../RankedOrganisationsSeoIndexabilityPolicy';
4
- export class RankedUnfiltered extends RankedOrganisationsSeoIndexabilityPolicy {
5
- name = 'Ranked Unfiltered Policy';
6
- description = 'Defines indexing rules for ranking-sorted unfiltered pages, managing SEO strategy for quality-ordered aggregate views of the content database.';
7
- baseRules = [new NoFiltersSelectedRule()];
8
- constructor(dependencies) {
9
- super(dependencies);
10
- this.addRankedResultsCountRule();
11
- }
12
- async generateUrls() {
13
- const filterKeyValues = new Map([]);
14
- if (await this.checkRulesForSitemap(filterKeyValues)) {
15
- return [this.getPathWithSortingOption('')];
16
- }
17
- return [];
18
- }
19
- get filterCombination() {
20
- return FilterCombinations.RANKED_UNFILTERED;
21
- }
22
- }
@@ -1,13 +0,0 @@
1
- import { IRule } from '../../common/IRule';
2
- import { IOrganisationSearchDependencies } from '../types/IOrganisationSearchDependencies';
3
- import { FilterKeyValuesMap } from '../../common/FilterKeyValuesMap';
4
- import { IRankingApiClient } from '../../sitemap-generator/IRankingApiClient';
5
- export declare class AtLeastTwoRankedResultsRule implements IRule {
6
- private readonly minimumRankedResultsCount;
7
- private readonly rankingApiClient?;
8
- constructor(rankingApiClient?: IRankingApiClient);
9
- forSearch(dependencies: IOrganisationSearchDependencies): Promise<boolean>;
10
- forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
11
- getName(): string;
12
- getDescription(): string;
13
- }
@@ -1,26 +0,0 @@
1
- import { DependencyMissingError } from '../../errors/DependencyMissingError';
2
- export class AtLeastTwoRankedResultsRule {
3
- minimumRankedResultsCount = 2;
4
- rankingApiClient;
5
- constructor(rankingApiClient) {
6
- this.rankingApiClient = rankingApiClient;
7
- }
8
- forSearch(dependencies) {
9
- const { applicationState } = dependencies;
10
- const rankedResultsCount = applicationState.getRankedResultsCount();
11
- return Promise.resolve(rankedResultsCount >= this.minimumRankedResultsCount);
12
- }
13
- async forSitemapGenerator(filterKeyValues) {
14
- if (!this.rankingApiClient) {
15
- throw new DependencyMissingError('RankingApiClient');
16
- }
17
- const rankedResultsCount = await this.rankingApiClient.getRankedOrganisationCount(filterKeyValues);
18
- return rankedResultsCount >= this.minimumRankedResultsCount;
19
- }
20
- getName() {
21
- return 'AtLeastTwoRankedResultsRule';
22
- }
23
- getDescription() {
24
- return `At least ${this.minimumRankedResultsCount} ranked results are available`;
25
- }
26
- }
@@ -1,14 +0,0 @@
1
- import { FilterKeyValuesMap } from '../../common/FilterKeyValuesMap';
2
- import { IRule } from '../../common/IRule';
3
- import { ISearchDependencies } from '../../common/ISearchDependencies';
4
- import { FilterKey } from '@studyportals/search-filters';
5
- export declare abstract class BaseSearchVolumeOrganisationsRule implements IRule {
6
- private readonly filterKey;
7
- private readonly idsWithSearchVolume;
8
- constructor(filterKey: FilterKey, idsWithSearchVolume: string[]);
9
- abstract getName(): string;
10
- forSearch(dependencies: ISearchDependencies): Promise<boolean>;
11
- forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
12
- private hasSearchVolume;
13
- getDescription(): string;
14
- }
@@ -1,33 +0,0 @@
1
- export class BaseSearchVolumeOrganisationsRule {
2
- filterKey;
3
- idsWithSearchVolume;
4
- constructor(filterKey, idsWithSearchVolume) {
5
- this.filterKey = filterKey;
6
- this.idsWithSearchVolume = idsWithSearchVolume;
7
- }
8
- forSearch(dependencies) {
9
- const value = dependencies.seoInfoBase.getFilterOptionValueBy(this.filterKey, dependencies.filterState);
10
- if (!value) {
11
- return Promise.resolve(false);
12
- }
13
- return Promise.resolve(this.hasSearchVolume(value));
14
- }
15
- forSitemapGenerator(filterKeyValues) {
16
- const values = filterKeyValues.get(this.filterKey);
17
- if (!values) {
18
- return Promise.resolve(false);
19
- }
20
- for (const value of values) {
21
- if (!this.idsWithSearchVolume.includes(value)) {
22
- return Promise.resolve(false);
23
- }
24
- }
25
- return Promise.resolve(true);
26
- }
27
- hasSearchVolume(value) {
28
- return this.idsWithSearchVolume.includes(value);
29
- }
30
- getDescription() {
31
- return `Indexable if ${this.filterKey} has search volume`;
32
- }
33
- }
@@ -1,6 +0,0 @@
1
- import { BaseFilterKeyValueRule } from '../../common/rules/BaseFilterKeyValueRule';
2
- export declare class ContinentIsEuropeRule extends BaseFilterKeyValueRule {
3
- constructor();
4
- getName(): string;
5
- getDescription(): string;
6
- }
@@ -1,15 +0,0 @@
1
- import { FilterKey } from '@studyportals/search-filters';
2
- import { BaseFilterKeyValueRule } from '../../common/rules/BaseFilterKeyValueRule';
3
- export class ContinentIsEuropeRule extends BaseFilterKeyValueRule {
4
- constructor() {
5
- const europeId = '1';
6
- const filterKeyValues = new Map([[FilterKey.CONTINENT, [europeId]]]);
7
- super(filterKeyValues);
8
- }
9
- getName() {
10
- return 'ContinentIsEuropeRule';
11
- }
12
- getDescription() {
13
- return 'Indexable if continent is Europe';
14
- }
15
- }
@@ -1,9 +0,0 @@
1
- import { IRule } from '../../common/IRule';
2
- import { IOrganisationSearchDependencies } from '../types/IOrganisationSearchDependencies';
3
- import { FilterKeyValuesMap } from '../../common/FilterKeyValuesMap';
4
- export declare class NoFiltersSelectedRule implements IRule {
5
- forSearch(dependencies: IOrganisationSearchDependencies): Promise<boolean>;
6
- forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
7
- getName(): string;
8
- getDescription(): string;
9
- }
@@ -1,17 +0,0 @@
1
- export class NoFiltersSelectedRule {
2
- forSearch(dependencies) {
3
- const { filterState, seoInfoBase } = dependencies;
4
- const selectionCount = seoInfoBase.getSelectionTypeCount(filterState);
5
- return Promise.resolve(selectionCount === 0);
6
- }
7
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
8
- forSitemapGenerator(filterKeyValues) {
9
- throw new Error('Method not implemented.');
10
- }
11
- getName() {
12
- return 'Indexable if no filters are selected.';
13
- }
14
- getDescription() {
15
- throw new Error('Method not implemented.');
16
- }
17
- }
@@ -1,6 +0,0 @@
1
- import { BaseFilterKeyValueRule } from '../../common/rules/BaseFilterKeyValueRule';
2
- export declare class OnlineAttendanceRule extends BaseFilterKeyValueRule {
3
- constructor();
4
- getName(): string;
5
- getDescription(): string;
6
- }
@@ -1,14 +0,0 @@
1
- import { FilterKey } from '@studyportals/search-filters';
2
- import { BaseFilterKeyValueRule } from '../../common/rules/BaseFilterKeyValueRule';
3
- export class OnlineAttendanceRule extends BaseFilterKeyValueRule {
4
- constructor() {
5
- const filterKeyValues = new Map([[FilterKey.DELIVERY_METHOD, ['online']]]);
6
- super(filterKeyValues);
7
- }
8
- getName() {
9
- return 'OnlineAttendanceRule';
10
- }
11
- getDescription() {
12
- return 'Indexable if attendance is online';
13
- }
14
- }
@@ -1,6 +0,0 @@
1
- import { BaseSearchVolumeOrganisationsRule } from './BaseSearchVolumeOrganisationsRule';
2
- export declare class SearchVolumeAreasAttendanceRule extends BaseSearchVolumeOrganisationsRule {
3
- constructor();
4
- getName(): string;
5
- getDescription(): string;
6
- }
@@ -1,17 +0,0 @@
1
- import { FilterKey } from '@studyportals/search-filters';
2
- import { BaseSearchVolumeOrganisationsRule } from './BaseSearchVolumeOrganisationsRule';
3
- export class SearchVolumeAreasAttendanceRule extends BaseSearchVolumeOrganisationsRule {
4
- constructor() {
5
- const areaIdsWithSearchVolume = [
6
- 3592, 3615, 3610, 3597, 3611, 3581, 3584, 3604, 3605, 3585, 3628, 3594, 3600, 3606, 3590, 3591, 3586, 3578, 3601, 3582, 3588, 3624,
7
- 3616, 3598, 3596, 3583, 3626, 3587, 3613, 3589, 3614, 3621, 3609, 3595, 3623, 3625, 3618, 3619, 3627, 993, 996
8
- ];
9
- super(FilterKey.AREA, areaIdsWithSearchVolume.map((id) => id.toString()));
10
- }
11
- getName() {
12
- return 'SearchVolumeAreasAttendanceRule';
13
- }
14
- getDescription() {
15
- return 'Indexable if area has search volume';
16
- }
17
- }
@@ -1,6 +0,0 @@
1
- import { BaseSearchVolumeOrganisationsRule } from './BaseSearchVolumeOrganisationsRule';
2
- export declare class SearchVolumeAreasDisciplineRule extends BaseSearchVolumeOrganisationsRule {
3
- constructor();
4
- getName(): string;
5
- getDescription(): string;
6
- }
@@ -1,18 +0,0 @@
1
- import { FilterKey } from '@studyportals/search-filters';
2
- import { BaseSearchVolumeOrganisationsRule } from './BaseSearchVolumeOrganisationsRule';
3
- export class SearchVolumeAreasDisciplineRule extends BaseSearchVolumeOrganisationsRule {
4
- constructor() {
5
- const areaIdsWithSearchVolume = [
6
- 3578, 3579, 3580, 3581, 3582, 3583, 3584, 3585, 3586, 3587, 3588, 3589, 3590, 3591, 3592, 3593, 3594, 3595, 3596, 3597, 3598, 3599,
7
- 3600, 3601, 3602, 3603, 3604, 3605, 3606, 3607, 3608, 3609, 3610, 3611, 3612, 3613, 3614, 3615, 3616, 3617, 3618, 3619, 3620, 3621,
8
- 3622, 3623, 3624, 3625, 3626, 3627, 3628
9
- ];
10
- super(FilterKey.AREA, areaIdsWithSearchVolume.map((id) => id.toString()));
11
- }
12
- getName() {
13
- return 'SearchVolumeAreasDisciplineRule';
14
- }
15
- getDescription() {
16
- return 'Indexable if area has search volume';
17
- }
18
- }
@@ -1,6 +0,0 @@
1
- import { BaseSearchVolumeOrganisationsRule } from './BaseSearchVolumeOrganisationsRule';
2
- export declare class SearchVolumeCountriesAttendanceRule extends BaseSearchVolumeOrganisationsRule {
3
- constructor();
4
- getName(): string;
5
- getDescription(): string;
6
- }
@@ -1,17 +0,0 @@
1
- import { FilterKey } from '@studyportals/search-filters';
2
- import { BaseSearchVolumeOrganisationsRule } from './BaseSearchVolumeOrganisationsRule';
3
- export class SearchVolumeCountriesAttendanceRule extends BaseSearchVolumeOrganisationsRule {
4
- constructor() {
5
- const countryIdsWithSearchVolume = [
6
- 108, 30, 202, 56, 106, 24, 10, 14, 15, 69, 71, 76, 82, 151, 105, 161, 167, 112, 113, 170, 129, 131, 132, 191, 9, 11, 20, 22, 27, 28,
7
- 121, 185, 117, 197, 212
8
- ];
9
- super(FilterKey.COUNTRY, countryIdsWithSearchVolume.map((id) => id.toString()));
10
- }
11
- getName() {
12
- return 'SearchVolumeCountriesAttendanceRule';
13
- }
14
- getDescription() {
15
- return 'Indexable if country has search volume';
16
- }
17
- }
@@ -1,9 +0,0 @@
1
- import { ISeoSortingState } from '../../organisations/ISeoSortingState';
2
- import { PortalType } from '@studyportals/domain-client';
3
- import { IOrganisationSearchApplicationState } from '../IOrganisationSearchApplicationState';
4
- import { ISearchDependencies } from '../../common/ISearchDependencies';
5
- export interface IOrganisationSearchDependencies extends ISearchDependencies {
6
- portalType: PortalType;
7
- sortingState: ISeoSortingState;
8
- applicationState: IOrganisationSearchApplicationState;
9
- }
@@ -1,3 +0,0 @@
1
- import { IOrganisationSearchDependencies } from './IOrganisationSearchDependencies';
2
- import { IOrganisationsSitemapDependencies } from './IOrganisationsSitemapDependencies';
3
- export type IOrganisationsSeoDependencies = IOrganisationSearchDependencies | IOrganisationsSitemapDependencies;
@@ -1,9 +0,0 @@
1
- import { ISitemapDependencies } from '../../common/ISitemapDependencies';
2
- import { IRankingApiClient } from '../../sitemap-generator/IRankingApiClient';
3
- import { PortalType } from '@studyportals/domain-client';
4
- import { IOrganisationsClient } from '../../sitemap-generator/IOrganisationsClient';
5
- export interface IOrganisationsSitemapDependencies extends ISitemapDependencies {
6
- organisationsClient: IOrganisationsClient;
7
- portalType: PortalType;
8
- rankingApiClient: IRankingApiClient;
9
- }
@@ -1,6 +0,0 @@
1
- export declare const types: {
2
- SeoInfoBase: symbol;
3
- SeoFilterState: symbol;
4
- SeoApplicationState: symbol;
5
- SeoSortingState: symbol;
6
- };
@@ -1,6 +0,0 @@
1
- export const types = {
2
- SeoInfoBase: Symbol.for('ISeoInfoBase'),
3
- SeoFilterState: Symbol.for('ISeoFilterState'),
4
- SeoApplicationState: Symbol.for('IOrganisationSearchApplicationState'),
5
- SeoSortingState: Symbol.for('ISeoSortingState')
6
- };
@@ -1,12 +0,0 @@
1
- import { IAreaFragment } from './fragments/IAreaFragment';
2
- import { IPresenter } from '../common';
3
- import { FilterKey } from '@studyportals/search-filters';
4
- export declare class AreaPresenter implements IPresenter {
5
- readonly filterKey: FilterKey;
6
- private static instance;
7
- private readonly fragments;
8
- private constructor();
9
- static getInstance(): AreaPresenter;
10
- private generatePaths;
11
- getFragments(): IAreaFragment[];
12
- }