@studyportals/fawkes 7.4.2-9 → 7.5.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (249) hide show
  1. package/dist/src/common/FilterKeyValuesMap.d.ts +1 -1
  2. package/dist/src/common/IPresenter.d.ts +1 -1
  3. package/dist/src/common/ISeoFilterState.d.ts +1 -1
  4. package/dist/src/common/ISeoInfoBase.d.ts +1 -1
  5. package/dist/src/common/rules/OnlineAttendanceRule.js +1 -1
  6. package/dist/src/common/rules/OnlyFiltersSelectedRule.d.ts +1 -1
  7. package/dist/src/common/rules/SingleValueSelectedForFilterRule.d.ts +1 -1
  8. package/dist/src/enums/FilterCombinations.d.ts +1 -22
  9. package/dist/src/enums/FilterCombinations.js +1 -22
  10. package/dist/src/errors/InvalidFilterValueError.d.ts +1 -1
  11. package/dist/src/organisations/policies/our-picks/Area.js +1 -1
  12. package/dist/src/organisations/policies/our-picks/AreaAttendance.js +1 -1
  13. package/dist/src/organisations/policies/our-picks/Attendance.js +1 -1
  14. package/dist/src/organisations/policies/our-picks/Continent.js +1 -1
  15. package/dist/src/organisations/policies/our-picks/Country.js +1 -1
  16. package/dist/src/organisations/policies/our-picks/CountryAttendance.js +1 -1
  17. package/dist/src/organisations/policies/ranked/RankedArea.js +1 -1
  18. package/dist/src/organisations/policies/ranked/RankedAreaDiscipline.js +1 -1
  19. package/dist/src/organisations/policies/ranked/RankedAttendance.js +1 -1
  20. package/dist/src/organisations/policies/ranked/RankedAttendanceDiscipline.js +1 -1
  21. package/dist/src/organisations/policies/ranked/RankedContinent.js +1 -1
  22. package/dist/src/organisations/policies/ranked/RankedContinentAttendance.js +1 -1
  23. package/dist/src/organisations/policies/ranked/RankedCountry.js +1 -1
  24. package/dist/src/organisations/policies/ranked/RankedCountryAttendance.js +1 -1
  25. package/dist/src/organisations/policies/ranked/RankedCountryDiscipline.js +1 -1
  26. package/dist/src/organisations/policies/ranked/RankedDiscipline.js +1 -1
  27. package/dist/src/organisations/rules/BaseSearchVolumeOrganisationsRule.d.ts +1 -1
  28. package/dist/src/organisations/rules/ContinentIsEuropeRule.js +1 -1
  29. package/dist/src/organisations/rules/SearchVolumeAreasAttendanceRule.js +1 -1
  30. package/dist/src/organisations/rules/SearchVolumeAreasDisciplineRule.js +1 -1
  31. package/dist/src/organisations/rules/SearchVolumeCountriesAttendanceRule.js +1 -1
  32. package/dist/src/presenters/AreaPresenter.d.ts +1 -1
  33. package/dist/src/presenters/AreaPresenter.js +1 -1
  34. package/dist/src/presenters/AttendancePresenter.d.ts +1 -1
  35. package/dist/src/presenters/AttendancePresenter.js +1 -5
  36. package/dist/src/presenters/ContinentPresenter.d.ts +1 -1
  37. package/dist/src/presenters/ContinentPresenter.js +1 -1
  38. package/dist/src/presenters/CountryPresenter.d.ts +1 -1
  39. package/dist/src/presenters/CountryPresenter.js +1 -1
  40. package/dist/src/presenters/DegreePresenter.d.ts +1 -1
  41. package/dist/src/presenters/DegreePresenter.js +1 -1
  42. package/dist/src/presenters/DisciplinePresenter.d.ts +1 -1
  43. package/dist/src/presenters/DisciplinePresenter.js +1 -1
  44. package/dist/src/presenters/DurationPresenter.d.ts +1 -1
  45. package/dist/src/presenters/DurationPresenter.js +1 -1
  46. package/dist/src/presenters/EducationalFormPresenter.d.ts +1 -1
  47. package/dist/src/presenters/EducationalFormPresenter.js +1 -1
  48. package/dist/src/presenters/FormatPresenter.d.ts +1 -1
  49. package/dist/src/presenters/FormatPresenter.js +2 -5
  50. package/dist/src/presenters/SpecialProgrammesPresenter.d.ts +1 -1
  51. package/dist/src/presenters/SpecialProgrammesPresenter.js +1 -5
  52. package/dist/src/presenters/TuitionFeePresenter.d.ts +1 -1
  53. package/dist/src/presenters/TuitionFeePresenter.js +1 -1
  54. package/dist/src/programmes/ProgrammesBaseIndexabilityPolicy.d.ts +1 -1
  55. package/dist/src/programmes/ProgrammesBaseIndexabilityPolicy.js +0 -2
  56. package/dist/src/programmes/SearchIndexabilityManager.js +3 -27
  57. package/dist/src/programmes/policies/Area.d.ts +1 -1
  58. package/dist/src/programmes/policies/Area.js +1 -1
  59. package/dist/src/programmes/policies/Attendance.d.ts +1 -1
  60. package/dist/src/programmes/policies/Attendance.js +1 -1
  61. package/dist/src/programmes/policies/AttendanceDegree.d.ts +4 -3
  62. package/dist/src/programmes/policies/AttendanceDegree.js +7 -8
  63. package/dist/src/programmes/policies/Continent.d.ts +1 -1
  64. package/dist/src/programmes/policies/Continent.js +1 -1
  65. package/dist/src/programmes/policies/ContinentTuitionFee.d.ts +1 -1
  66. package/dist/src/programmes/policies/ContinentTuitionFee.js +1 -1
  67. package/dist/src/programmes/policies/Country.d.ts +1 -1
  68. package/dist/src/programmes/policies/Country.js +1 -1
  69. package/dist/src/programmes/policies/CountryAttendance.d.ts +1 -1
  70. package/dist/src/programmes/policies/CountryAttendance.js +1 -1
  71. package/dist/src/programmes/policies/CountryAttendanceDegree.d.ts +1 -1
  72. package/dist/src/programmes/policies/CountryAttendanceDegree.js +1 -1
  73. package/dist/src/programmes/policies/CountryDegree.d.ts +1 -1
  74. package/dist/src/programmes/policies/CountryDegree.js +1 -1
  75. package/dist/src/programmes/policies/CountryDuration.d.ts +3 -3
  76. package/dist/src/programmes/policies/CountryDuration.js +5 -7
  77. package/dist/src/programmes/policies/CountryDurationDegree.d.ts +1 -1
  78. package/dist/src/programmes/policies/CountryDurationDegree.js +1 -1
  79. package/dist/src/programmes/policies/CountryEducationalForm.d.ts +1 -1
  80. package/dist/src/programmes/policies/CountryEducationalForm.js +1 -1
  81. package/dist/src/programmes/policies/CountryFormat.d.ts +1 -1
  82. package/dist/src/programmes/policies/CountryFormat.js +1 -1
  83. package/dist/src/programmes/policies/CountryTuitionFee.d.ts +1 -1
  84. package/dist/src/programmes/policies/CountryTuitionFee.js +1 -1
  85. package/dist/src/programmes/policies/Degree.d.ts +1 -1
  86. package/dist/src/programmes/policies/Degree.js +1 -1
  87. package/dist/src/programmes/policies/DegreeAttendanceDiscipline.d.ts +2 -3
  88. package/dist/src/programmes/policies/DegreeAttendanceDiscipline.js +14 -14
  89. package/dist/src/programmes/policies/DegreeCountryAttendance.d.ts +1 -1
  90. package/dist/src/programmes/policies/DegreeCountryAttendance.js +2 -2
  91. package/dist/src/programmes/policies/DegreeCountryDiscipline.d.ts +1 -1
  92. package/dist/src/programmes/policies/DegreeCountryDiscipline.js +2 -2
  93. package/dist/src/programmes/policies/DegreeCountryTuitionFee.d.ts +1 -1
  94. package/dist/src/programmes/policies/DegreeCountryTuitionFee.js +3 -3
  95. package/dist/src/programmes/policies/Discipline.d.ts +1 -1
  96. package/dist/src/programmes/policies/Discipline.js +1 -1
  97. package/dist/src/programmes/policies/DisciplineArea.d.ts +1 -1
  98. package/dist/src/programmes/policies/DisciplineArea.js +1 -1
  99. package/dist/src/programmes/policies/DisciplineAttendance.d.ts +1 -1
  100. package/dist/src/programmes/policies/DisciplineAttendance.js +1 -1
  101. package/dist/src/programmes/policies/DisciplineContinent.d.ts +1 -1
  102. package/dist/src/programmes/policies/DisciplineContinent.js +1 -1
  103. package/dist/src/programmes/policies/DisciplineCountry.d.ts +1 -1
  104. package/dist/src/programmes/policies/DisciplineCountry.js +1 -1
  105. package/dist/src/programmes/policies/DisciplineCountryEducationalForm.d.ts +1 -1
  106. package/dist/src/programmes/policies/DisciplineCountryEducationalForm.js +1 -1
  107. package/dist/src/programmes/policies/DisciplineDegree.d.ts +1 -1
  108. package/dist/src/programmes/policies/DisciplineDegree.js +1 -1
  109. package/dist/src/programmes/policies/DisciplineDuration.d.ts +1 -1
  110. package/dist/src/programmes/policies/DisciplineDuration.js +1 -1
  111. package/dist/src/programmes/policies/DisciplineEducationalForm.d.ts +1 -1
  112. package/dist/src/programmes/policies/DisciplineEducationalForm.js +1 -1
  113. package/dist/src/programmes/policies/DisciplineFormat.d.ts +1 -1
  114. package/dist/src/programmes/policies/DisciplineFormat.js +1 -1
  115. package/dist/src/programmes/policies/DisciplineTuitionFee.d.ts +1 -1
  116. package/dist/src/programmes/policies/DisciplineTuitionFee.js +1 -1
  117. package/dist/src/programmes/policies/DisciplineTuitionFeeAttendance.d.ts +1 -1
  118. package/dist/src/programmes/policies/DisciplineTuitionFeeAttendance.js +1 -1
  119. package/dist/src/programmes/policies/SpecialProgrammes.d.ts +3 -2
  120. package/dist/src/programmes/policies/SpecialProgrammes.js +4 -2
  121. package/dist/src/programmes/policies/TuitionFee.d.ts +1 -1
  122. package/dist/src/programmes/policies/TuitionFee.js +1 -1
  123. package/dist/src/programmes/policies/index.d.ts +1 -26
  124. package/dist/src/programmes/policies/index.js +1 -26
  125. package/dist/src/programmes/rules/AffordableTuitionFeeRule.js +2 -2
  126. package/dist/src/programmes/rules/DegreeAttendanceDisciplineRule.js +2 -2
  127. package/dist/src/programmes/rules/DegreeAttendanceDisciplineSpecificRule.js +2 -2
  128. package/dist/src/programmes/rules/DegreeCountryAttendanceSpecificRule.js +2 -2
  129. package/dist/src/programmes/rules/DegreeCountryDisciplineSpecificRule.js +2 -2
  130. package/dist/src/programmes/rules/DegreeCountryTuitionFeeSpecificRule.js +3 -3
  131. package/dist/src/programmes/rules/DegreeDisciplineRule.js +2 -2
  132. package/dist/src/programmes/rules/ErasmusOrJointSpecialProgrammesRule.js +2 -2
  133. package/dist/src/programmes/rules/IndexableDegreeRule.js +2 -2
  134. package/dist/src/programmes/rules/IndexableDurationRule.js +1 -1
  135. package/dist/src/programmes/rules/IndexableEducationalFormRule.js +2 -2
  136. package/dist/src/programmes/rules/MbaDegreeRule.js +2 -2
  137. package/dist/src/programmes/rules/MbaOrMscDegreeRule.js +2 -2
  138. package/dist/src/programmes/rules/OneYearDurationRule.js +2 -2
  139. package/dist/src/programmes/rules/PartTimeFormatRule.js +2 -2
  140. package/dist/src/programmes/types/IProgrammeSitemapUrlGenerator.d.ts +1 -1
  141. package/dist/src/scholarships/policies/Area.js +1 -1
  142. package/dist/src/scholarships/policies/Country.js +1 -1
  143. package/dist/src/scholarships/policies/Discipline.js +1 -1
  144. package/dist/src/scholarships/policies/DisciplineCountry.js +1 -1
  145. package/dist/src/scholarships/policies/UniversityCountry.js +1 -1
  146. package/dist/src/scholarships/rules/ExceptAustaliaAreasRule.js +1 -1
  147. package/dist/src/scholarships/rules/SearchVolumeAreasRule.js +1 -1
  148. package/dist/src/scholarships/rules/SearchVolumeCountriesDisciplinesRule.js +1 -1
  149. package/dist/src/scholarships/rules/SearchVolumeCountriesRule.js +1 -1
  150. package/dist/src/scholarships/rules/SearchVolumeDisciplinesRule.js +1 -1
  151. package/dist/src/sitemap-generator/BaseSitemapUrlGeneratorManager.d.ts +1 -1
  152. package/dist/src/sitemap-generator/ISitemapUrlGeneratorManager.d.ts +1 -1
  153. package/dist/src/sitemap-generator/OrganisationsSitemapUrlGeneratorManager.d.ts +1 -1
  154. package/dist/src/sitemap-generator/OrganisationsSitemapUrlGeneratorManager.js +1 -1
  155. package/dist/src/sitemap-generator/ProgrammesSitemapUrlGeneratorManager.d.ts +1 -1
  156. package/dist/src/sitemap-generator/ProgrammesSitemapUrlGeneratorManager.js +4 -28
  157. package/package.json +6 -6
  158. package/dist/src/common/IPolicyMetaData.d.ts +0 -6
  159. package/dist/src/common/IPolicyMetaData.js +0 -1
  160. package/dist/src/organisations/OrganisationsRuleBasedIndexabilityPolicy.d.ts +0 -11
  161. package/dist/src/organisations/OrganisationsRuleBasedIndexabilityPolicy.js +0 -19
  162. package/dist/src/organisations/rules/OnlineAttendanceRule.d.ts +0 -6
  163. package/dist/src/organisations/rules/OnlineAttendanceRule.js +0 -14
  164. package/dist/src/programmes/IProgrammeSearchApplicationState.d.ts +0 -4
  165. package/dist/src/programmes/IProgrammeSearchApplicationState.js +0 -1
  166. package/dist/src/programmes/IProgrammeSearchDependencies.d.ts +0 -7
  167. package/dist/src/programmes/IProgrammeSearchDependencies.js +0 -1
  168. package/dist/src/programmes/IProgrammesSeoDependencies.d.ts +0 -2
  169. package/dist/src/programmes/IProgrammesSeoDependencies.js +0 -1
  170. package/dist/src/programmes/policies/AttendanceArea.d.ts +0 -16
  171. package/dist/src/programmes/policies/AttendanceArea.js +0 -48
  172. package/dist/src/programmes/policies/AttendanceContinent.d.ts +0 -16
  173. package/dist/src/programmes/policies/AttendanceContinent.js +0 -46
  174. package/dist/src/programmes/policies/AttendanceDuration.d.ts +0 -16
  175. package/dist/src/programmes/policies/AttendanceDuration.js +0 -48
  176. package/dist/src/programmes/policies/AttendanceFormat.d.ts +0 -16
  177. package/dist/src/programmes/policies/AttendanceFormat.js +0 -48
  178. package/dist/src/programmes/policies/AttendanceTuitionFee.d.ts +0 -16
  179. package/dist/src/programmes/policies/AttendanceTuitionFee.js +0 -49
  180. package/dist/src/programmes/policies/ContinentDuration.d.ts +0 -15
  181. package/dist/src/programmes/policies/ContinentDuration.js +0 -46
  182. package/dist/src/programmes/policies/ContinentFormat.d.ts +0 -15
  183. package/dist/src/programmes/policies/ContinentFormat.js +0 -46
  184. package/dist/src/programmes/policies/ContinentSpecialProgrammes.d.ts +0 -15
  185. package/dist/src/programmes/policies/ContinentSpecialProgrammes.js +0 -46
  186. package/dist/src/programmes/policies/CountrySpecialProgrammes.d.ts +0 -15
  187. package/dist/src/programmes/policies/CountrySpecialProgrammes.js +0 -46
  188. package/dist/src/programmes/policies/DegreeArea.d.ts +0 -15
  189. package/dist/src/programmes/policies/DegreeArea.js +0 -46
  190. package/dist/src/programmes/policies/DegreeAreaTuitionFee.d.ts +0 -15
  191. package/dist/src/programmes/policies/DegreeAreaTuitionFee.js +0 -52
  192. package/dist/src/programmes/policies/DegreeAttendanceFormat.d.ts +0 -15
  193. package/dist/src/programmes/policies/DegreeAttendanceFormat.js +0 -52
  194. package/dist/src/programmes/policies/DegreeAttendanceSpecialProgrammes.d.ts +0 -16
  195. package/dist/src/programmes/policies/DegreeAttendanceSpecialProgrammes.js +0 -56
  196. package/dist/src/programmes/policies/DegreeAttendanceTuitionFee.d.ts +0 -16
  197. package/dist/src/programmes/policies/DegreeAttendanceTuitionFee.js +0 -55
  198. package/dist/src/programmes/policies/DegreeContinent.d.ts +0 -16
  199. package/dist/src/programmes/policies/DegreeContinent.js +0 -46
  200. package/dist/src/programmes/policies/DegreeContinentTuitionFee.d.ts +0 -16
  201. package/dist/src/programmes/policies/DegreeContinentTuitionFee.js +0 -52
  202. package/dist/src/programmes/policies/DegreeDuration.d.ts +0 -16
  203. package/dist/src/programmes/policies/DegreeDuration.js +0 -48
  204. package/dist/src/programmes/policies/DegreeFormat.d.ts +0 -16
  205. package/dist/src/programmes/policies/DegreeFormat.js +0 -49
  206. package/dist/src/programmes/policies/DegreeFormatTuitionFee.d.ts +0 -16
  207. package/dist/src/programmes/policies/DegreeFormatTuitionFee.js +0 -52
  208. package/dist/src/programmes/policies/DegreeSpecialProgrammes.d.ts +0 -15
  209. package/dist/src/programmes/policies/DegreeSpecialProgrammes.js +0 -48
  210. package/dist/src/programmes/policies/DegreeTuitionFee.d.ts +0 -15
  211. package/dist/src/programmes/policies/DegreeTuitionFee.js +0 -47
  212. package/dist/src/programmes/policies/DisciplineContinentAttendance.d.ts +0 -16
  213. package/dist/src/programmes/policies/DisciplineContinentAttendance.js +0 -54
  214. package/dist/src/programmes/policies/DisciplineCountryAttendance.d.ts +0 -16
  215. package/dist/src/programmes/policies/DisciplineCountryAttendance.js +0 -54
  216. package/dist/src/programmes/policies/DisciplineCountryFormat.d.ts +0 -15
  217. package/dist/src/programmes/policies/DisciplineCountryFormat.js +0 -52
  218. package/dist/src/programmes/policies/DisciplineSpecialProgrammes.d.ts +0 -15
  219. package/dist/src/programmes/policies/DisciplineSpecialProgrammes.js +0 -46
  220. package/dist/src/programmes/policies/Duration.d.ts +0 -15
  221. package/dist/src/programmes/policies/Duration.js +0 -35
  222. package/dist/src/programmes/policies/Format.d.ts +0 -15
  223. package/dist/src/programmes/policies/Format.js +0 -41
  224. package/dist/src/programmes/rules/DegreeAttendanceSpecificRule.d.ts +0 -10
  225. package/dist/src/programmes/rules/DegreeAttendanceSpecificRule.js +0 -42
  226. package/dist/src/programmes/rules/DegreeCountrySpecificRule.d.ts +0 -10
  227. package/dist/src/programmes/rules/DegreeCountrySpecificRule.js +0 -43
  228. package/dist/src/programmes/rules/DegreeCountryTuitionFeeRule.d.ts +0 -11
  229. package/dist/src/programmes/rules/DegreeCountryTuitionFeeRule.js +0 -40
  230. package/dist/src/programmes/rules/MBACountryAttendanceRule.d.ts +0 -11
  231. package/dist/src/programmes/rules/MBACountryAttendanceRule.js +0 -40
  232. package/dist/src/programmes/rules/MasterOfArtsDisciplineRule.d.ts +0 -10
  233. package/dist/src/programmes/rules/MasterOfArtsDisciplineRule.js +0 -41
  234. package/dist/src/programmes/rules/MasterOfEducationCountryDisciplineRule.d.ts +0 -11
  235. package/dist/src/programmes/rules/MasterOfEducationCountryDisciplineRule.js +0 -69
  236. package/dist/src/programmes/rules/MasterOfLawsCountryAttendanceRule.d.ts +0 -12
  237. package/dist/src/programmes/rules/MasterOfLawsCountryAttendanceRule.js +0 -43
  238. package/dist/src/programmes/rules/MasterOfLawsCountryTuitionFeeRule.d.ts +0 -12
  239. package/dist/src/programmes/rules/MasterOfLawsCountryTuitionFeeRule.js +0 -46
  240. package/dist/src/programmes/rules/MasterOfPhilosophyCountryAttendanceRule.d.ts +0 -12
  241. package/dist/src/programmes/rules/MasterOfPhilosophyCountryAttendanceRule.js +0 -43
  242. package/dist/src/programmes/rules/MasterOfScienceDisciplineRule.d.ts +0 -10
  243. package/dist/src/programmes/rules/MasterOfScienceDisciplineRule.js +0 -41
  244. package/dist/src/programmes/rules/OneYearOnlyRule.d.ts +0 -11
  245. package/dist/src/programmes/rules/OneYearOnlyRule.js +0 -34
  246. package/dist/src/programmes/rules/OnlineAttendanceRule.d.ts +0 -6
  247. package/dist/src/programmes/rules/OnlineAttendanceRule.js +0 -15
  248. package/dist/src/sitemap-generator/IPageNumberProvider.d.ts +0 -3
  249. package/dist/src/sitemap-generator/IPageNumberProvider.js +0 -1
@@ -1,4 +1,4 @@
1
- import { Area, Attendance, AttendanceDegree, Continent, ContinentTuitionFee, Country, CountryAttendance, CountryAttendanceDegree, CountryDegree, CountryDuration, CountryDurationDegree, CountryEducationalForm, CountryFormat, CountryTuitionFee, DegreeAttendanceDiscipline, DegreeCountryAttendance, DegreeCountryDiscipline, DegreeCountryTuitionFee, Discipline, DisciplineAttendance, DisciplineContinent, DisciplineCountry, DisciplineCountryEducationalForm, DisciplineDegree, DisciplineDuration, DisciplineEducationalForm, DisciplineFormat, DisciplineTuitionFee, DisciplineTuitionFeeAttendance, SpecialProgrammes, TuitionFee, Unfiltered, AttendanceArea, AttendanceContinent, AttendanceDuration, AttendanceFormat, AttendanceTuitionFee, ContinentDuration, ContinentFormat, ContinentSpecialProgrammes, CountrySpecialProgrammes, DegreeArea, DegreeAreaTuitionFee, DegreeAttendanceFormat, DegreeAttendanceTuitionFee, DegreeContinent, DegreeContinentTuitionFee, DegreeDuration, DegreeFormat, DegreeFormatTuitionFee, DegreeSpecialProgrammes, DegreeTuitionFee, DisciplineContinentAttendance, DisciplineCountryAttendance, DisciplineCountryFormat, Duration, Format } from './policies';
1
+ import { Area, Attendance, AttendanceDegree, Continent, ContinentTuitionFee, Country, CountryAttendance, CountryAttendanceDegree, CountryDegree, CountryDuration, CountryDurationDegree, CountryEducationalForm, CountryFormat, CountryTuitionFee, DegreeAttendanceDiscipline, DegreeCountryAttendance, DegreeCountryDiscipline, DegreeCountryTuitionFee, Discipline, DisciplineArea, DisciplineAttendance, DisciplineContinent, DisciplineCountry, DisciplineCountryEducationalForm, DisciplineDegree, DisciplineDuration, DisciplineEducationalForm, DisciplineFormat, DisciplineTuitionFee, DisciplineTuitionFeeAttendance, SpecialProgrammes, TuitionFee, Unfiltered } from './policies';
2
2
  import { DependencyTypes } from '../enums/DependencyTypes';
3
3
  import { Degree } from './policies/Degree';
4
4
  export class SearchIndexabilityManager {
@@ -32,6 +32,7 @@ export class SearchIndexabilityManager {
32
32
  new DegreeCountryDiscipline(dependencies),
33
33
  new DegreeCountryTuitionFee(dependencies),
34
34
  new Discipline(dependencies),
35
+ new DisciplineArea(dependencies),
35
36
  new DisciplineAttendance(dependencies),
36
37
  new DisciplineContinent(dependencies),
37
38
  new DisciplineCountry(dependencies),
@@ -44,32 +45,7 @@ export class SearchIndexabilityManager {
44
45
  new DisciplineTuitionFeeAttendance(dependencies),
45
46
  new SpecialProgrammes(dependencies),
46
47
  new TuitionFee(dependencies),
47
- new Unfiltered(dependencies),
48
- new CountrySpecialProgrammes(dependencies),
49
- new DegreeArea(dependencies),
50
- new DegreeAreaTuitionFee(dependencies),
51
- new DegreeAttendanceFormat(dependencies),
52
- new DegreeAttendanceTuitionFee(dependencies),
53
- new DegreeContinent(dependencies),
54
- new DegreeContinentTuitionFee(dependencies),
55
- new DegreeDuration(dependencies),
56
- new DegreeFormat(dependencies),
57
- new DegreeFormatTuitionFee(dependencies),
58
- new DegreeSpecialProgrammes(dependencies),
59
- new DegreeTuitionFee(dependencies),
60
- new DisciplineContinentAttendance(dependencies),
61
- new DisciplineCountryAttendance(dependencies),
62
- new DisciplineCountryFormat(dependencies),
63
- new Duration(dependencies),
64
- new Format(dependencies),
65
- new AttendanceArea(dependencies),
66
- new AttendanceContinent(dependencies),
67
- new AttendanceDuration(dependencies),
68
- new AttendanceFormat(dependencies),
69
- new AttendanceTuitionFee(dependencies),
70
- new ContinentDuration(dependencies),
71
- new ContinentFormat(dependencies),
72
- new ContinentSpecialProgrammes(dependencies),
48
+ new Unfiltered(dependencies)
73
49
  ];
74
50
  }
75
51
  getPolicies() {
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,15 +1,16 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
5
+ import { OnlineAttendanceRule } from '../../common/rules/OnlineAttendanceRule';
6
+ import { IndexableDegreeRule } from '../rules/IndexableDegreeRule';
5
7
  import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
6
8
  import { IProgrammeSeoDependencies } from '../types/IProgrammeSeoDependencies';
7
- import { IndexableDegreeRule } from '../rules/IndexableDegreeRule';
8
9
  export declare class AttendanceDegree extends ProgrammesBaseIndexabilityPolicy {
9
10
  readonly name: string;
10
11
  readonly description: string;
11
12
  readonly filterKeys: FilterKey[];
12
- protected readonly rules: (SingleValueSelectedForFilterRule | OnlyFiltersSelectedRule | IndexableDegreeRule)[];
13
+ protected readonly rules: (SingleValueSelectedForFilterRule | OnlyFiltersSelectedRule | OnlineAttendanceRule | IndexableDegreeRule)[];
13
14
  constructor(dependencies: IProgrammeSeoDependencies);
14
15
  protected generateUrls(): Promise<string[]>;
15
16
  get filterCombination(): FilterCombinations;
@@ -1,20 +1,22 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
5
+ import { OnlineAttendanceRule } from '../../common/rules/OnlineAttendanceRule';
6
+ import { IndexableDegreeRule } from '../rules/IndexableDegreeRule';
5
7
  import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
6
8
  import { AttendancePresenter } from '../../presenters/AttendancePresenter';
7
9
  import { DegreePresenter } from '../../presenters/DegreePresenter';
8
- import { IndexableDegreeRule } from '../rules/IndexableDegreeRule';
9
10
  export class AttendanceDegree extends ProgrammesBaseIndexabilityPolicy {
10
11
  name = 'Attendance Degree Type Policy';
11
- description = 'Determines indexing rules for pages filtered by both study format (online, blended, on-campus, etc.), and degree type prioritizing degrees and formats with demonstrated search demand.';
12
+ description = 'Determines indexing rules for pages filtered by both study format (online, on-campus, etc.), and degree type prioritizing degrees and formats with demonstrated search demand.';
12
13
  filterKeys = [FilterKey.DELIVERY_METHOD, FilterKey.DEGREE_TYPE];
13
14
  rules = [
14
15
  new SingleValueSelectedForFilterRule(FilterKey.DELIVERY_METHOD),
15
16
  new SingleValueSelectedForFilterRule(FilterKey.DEGREE_TYPE),
16
17
  new OnlyFiltersSelectedRule([FilterKey.DELIVERY_METHOD, FilterKey.DEGREE_TYPE]),
17
- new IndexableDegreeRule()
18
+ new IndexableDegreeRule(),
19
+ new OnlineAttendanceRule()
18
20
  ];
19
21
  constructor(dependencies) {
20
22
  super(dependencies);
@@ -23,12 +25,9 @@ export class AttendanceDegree extends ProgrammesBaseIndexabilityPolicy {
23
25
  async generateUrls() {
24
26
  const attendanceFragments = AttendancePresenter.getInstance().getFragments();
25
27
  const degreeFragments = DegreePresenter.getInstance().getFragments();
26
- // Allow online and blended learning formats
27
- const allowedAttendanceIds = ["online", "blended"];
28
- const allowedAttendances = attendanceFragments.filter(attendance => allowedAttendanceIds.includes(attendance.id));
29
28
  const paths = [];
30
29
  for (const pageNumber of this.indexablePageNumbers) {
31
- for (const attendance of allowedAttendances) {
30
+ for (const attendance of attendanceFragments) {
32
31
  for (const degree of degreeFragments) {
33
32
  const filterKeyValues = new Map([
34
33
  [FilterKey.DELIVERY_METHOD, [attendance.id]],
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,15 +1,15 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
5
- import { OneYearOnlyRule } from '../rules/OneYearOnlyRule';
5
+ import { IndexableDurationRule } from '../rules/IndexableDurationRule';
6
6
  import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
7
7
  import { IProgrammeSeoDependencies } from '../types/IProgrammeSeoDependencies';
8
8
  export declare class CountryDuration extends ProgrammesBaseIndexabilityPolicy {
9
9
  readonly name: string;
10
10
  readonly description: string;
11
11
  readonly filterKeys: FilterKey[];
12
- protected readonly rules: (SingleValueSelectedForFilterRule | OnlyFiltersSelectedRule | OneYearOnlyRule)[];
12
+ protected readonly rules: (SingleValueSelectedForFilterRule | OnlyFiltersSelectedRule | IndexableDurationRule)[];
13
13
  constructor(dependencies: IProgrammeSeoDependencies);
14
14
  protected generateUrls(): Promise<string[]>;
15
15
  get filterCombination(): FilterCombinations;
@@ -1,20 +1,20 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
5
- import { OneYearOnlyRule } from '../rules/OneYearOnlyRule';
5
+ import { IndexableDurationRule } from '../rules/IndexableDurationRule';
6
6
  import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
7
7
  import { CountryPresenter } from '../../presenters/CountryPresenter';
8
8
  import { DurationPresenter } from '../../presenters/DurationPresenter';
9
9
  export class CountryDuration extends ProgrammesBaseIndexabilityPolicy {
10
10
  name = 'Country Duration Policy';
11
- description = 'Determines indexing rules for pages filtered by both country, and duration (1 year only).';
11
+ description = 'Determines indexing rules for pages filtered by both country, and duration (1 year, 2 years, etc.).';
12
12
  filterKeys = [FilterKey.COUNTRY, FilterKey.DURATION];
13
13
  rules = [
14
14
  new SingleValueSelectedForFilterRule(FilterKey.COUNTRY),
15
15
  new SingleValueSelectedForFilterRule(FilterKey.DURATION),
16
16
  new OnlyFiltersSelectedRule([FilterKey.COUNTRY, FilterKey.DURATION]),
17
- new OneYearOnlyRule()
17
+ new IndexableDurationRule()
18
18
  ];
19
19
  constructor(dependencies) {
20
20
  super(dependencies);
@@ -23,12 +23,10 @@ export class CountryDuration extends ProgrammesBaseIndexabilityPolicy {
23
23
  async generateUrls() {
24
24
  const countryFragments = CountryPresenter.getInstance().getFragments();
25
25
  const durationFragments = DurationPresenter.getInstance().getFragments();
26
- const allowedDurationIds = ["[360,360]"];
27
- const allowedDurations = durationFragments.filter(duration => allowedDurationIds.includes(duration.id));
28
26
  const paths = [];
29
27
  for (const pageNumber of this.indexablePageNumbers) {
30
28
  for (const country of countryFragments) {
31
- for (const duration of allowedDurations) {
29
+ for (const duration of durationFragments) {
32
30
  const filterKeyValues = new Map([
33
31
  [FilterKey.COUNTRY, [country.id]],
34
32
  [FilterKey.DURATION, [duration.id]]
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,16 +1,15 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
5
5
  import { DegreeAttendanceDisciplineSpecificRule } from '../rules/DegreeAttendanceDisciplineSpecificRule';
6
6
  import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
7
7
  import { IProgrammeSeoDependencies } from '../types/IProgrammeSeoDependencies';
8
- import { OnlineAttendanceRule } from '../../common/rules/OnlineAttendanceRule';
9
8
  export declare class DegreeAttendanceDiscipline extends ProgrammesBaseIndexabilityPolicy {
10
9
  readonly name: string;
11
10
  readonly description: string;
12
11
  readonly filterKeys: FilterKey[];
13
- protected readonly rules: (SingleValueSelectedForFilterRule | OnlyFiltersSelectedRule | OnlineAttendanceRule | DegreeAttendanceDisciplineSpecificRule)[];
12
+ protected readonly rules: (SingleValueSelectedForFilterRule | OnlyFiltersSelectedRule | DegreeAttendanceDisciplineSpecificRule)[];
14
13
  constructor(dependencies: IProgrammeSeoDependencies);
15
14
  protected generateUrls(): Promise<string[]>;
16
15
  get filterCombination(): FilterCombinations;
@@ -1,5 +1,5 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
2
- import { DegreeTypeFilterOptionValue } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
+ import { DegreeTypeFilterOptionValue } from '@studyportals/search-filters/server-side';
3
3
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
4
4
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
5
5
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -8,7 +8,6 @@ import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityP
8
8
  import { DegreePresenter } from '../../presenters/DegreePresenter';
9
9
  import { AttendancePresenter } from '../../presenters/AttendancePresenter';
10
10
  import { DisciplinePresenter } from '../../presenters/DisciplinePresenter';
11
- import { OnlineAttendanceRule } from '../../common/rules/OnlineAttendanceRule';
12
11
  export class DegreeAttendanceDiscipline extends ProgrammesBaseIndexabilityPolicy {
13
12
  name = 'Degree Attendance Discipline Policy';
14
13
  description = 'Determines indexing rules for pages filtered by degree type, attendance, and discipline.';
@@ -19,7 +18,6 @@ export class DegreeAttendanceDiscipline extends ProgrammesBaseIndexabilityPolicy
19
18
  new SingleValueSelectedForFilterRule(FilterKey.DISCIPLINES),
20
19
  new OnlyFiltersSelectedRule([FilterKey.DEGREE_TYPE, FilterKey.DELIVERY_METHOD, FilterKey.DISCIPLINES]),
21
20
  new DegreeAttendanceDisciplineSpecificRule(),
22
- new OnlineAttendanceRule()
23
21
  ];
24
22
  constructor(dependencies) {
25
23
  super(dependencies);
@@ -35,22 +33,24 @@ export class DegreeAttendanceDiscipline extends ProgrammesBaseIndexabilityPolicy
35
33
  DegreeTypeFilterOptionValue.MSC,
36
34
  DegreeTypeFilterOptionValue.MBA
37
35
  ];
36
+ const onlineAttendance = attendanceFragments.find(a => a.id === 'online');
37
+ if (!onlineAttendance) {
38
+ return paths;
39
+ }
38
40
  for (const pageNumber of this.indexablePageNumbers) {
39
41
  for (const degreeId of allowedDegreeIds) {
40
42
  const degree = degreeFragments.find(d => d.id === degreeId);
41
43
  if (!degree)
42
44
  continue;
43
45
  for (const discipline of disciplineFragments) {
44
- for (const attendance of attendanceFragments) {
45
- const filterKeyValues = new Map([
46
- [FilterKey.DEGREE_TYPE, [degree.id]],
47
- [FilterKey.DELIVERY_METHOD, [attendance.id]],
48
- [FilterKey.DISCIPLINES, [discipline.id]]
49
- ]);
50
- const result = await this.checkRulesForSitemapWithPageNumber(filterKeyValues, pageNumber);
51
- if (result) {
52
- paths.push(this.getPathWithPageNumber(`${degree.path}/${attendance.path}/${discipline.path}`, pageNumber));
53
- }
46
+ const filterKeyValues = new Map([
47
+ [FilterKey.DEGREE_TYPE, [degree.id]],
48
+ [FilterKey.DELIVERY_METHOD, [onlineAttendance.id]],
49
+ [FilterKey.DISCIPLINES, [discipline.id]]
50
+ ]);
51
+ const result = await this.checkRulesForSitemapWithPageNumber(filterKeyValues, pageNumber);
52
+ if (result) {
53
+ paths.push(this.getPathWithPageNumber(`${degree.path}/${onlineAttendance.path}/${discipline.path}`, pageNumber));
54
54
  }
55
55
  }
56
56
  }
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,5 +1,5 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
2
- import { DegreeTypeFilterOptionValue } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
+ import { DegreeTypeFilterOptionValue } from '@studyportals/search-filters/server-side';
3
3
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
4
4
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
5
5
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,5 +1,5 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
2
- import { DegreeTypeFilterOptionValue } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
+ import { DegreeTypeFilterOptionValue } from '@studyportals/search-filters/server-side';
3
3
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
4
4
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
5
5
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,6 +1,6 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
2
- import { DegreeTypeFilterOptionValue } from '@studyportals/search-filters/search_filters_interfaces';
3
- import { TuitionFeeFilterOptionValue } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
+ import { DegreeTypeFilterOptionValue } from '@studyportals/search-filters/server-side';
3
+ import { TuitionFeeFilterOptionValue } from '@studyportals/search-filters/server-side';
4
4
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
5
5
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
6
6
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters/server-side';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';