@studyportals/fawkes 7.4.2-4 → 8.0.1-1

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 (256) 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/OrganisationsSeoIndexabilityPolicy.d.ts +2 -0
  12. package/dist/src/organisations/policies/OrganisationsSeoIndexabilityPolicy.js +16 -0
  13. package/dist/src/organisations/policies/RankedOrganisationsSeoIndexabilityPolicy.d.ts +1 -1
  14. package/dist/src/organisations/policies/RankedOrganisationsSeoIndexabilityPolicy.js +1 -1
  15. package/dist/src/organisations/policies/our-picks/Area.js +1 -1
  16. package/dist/src/organisations/policies/our-picks/AreaAttendance.js +1 -1
  17. package/dist/src/organisations/policies/our-picks/Attendance.js +1 -1
  18. package/dist/src/organisations/policies/our-picks/Continent.js +1 -1
  19. package/dist/src/organisations/policies/our-picks/Country.js +1 -1
  20. package/dist/src/organisations/policies/our-picks/CountryAttendance.js +1 -1
  21. package/dist/src/organisations/policies/ranked/RankedArea.js +1 -2
  22. package/dist/src/organisations/policies/ranked/RankedAreaDiscipline.js +1 -2
  23. package/dist/src/organisations/policies/ranked/RankedAttendance.js +1 -2
  24. package/dist/src/organisations/policies/ranked/RankedAttendanceDiscipline.js +1 -2
  25. package/dist/src/organisations/policies/ranked/RankedContinent.js +1 -2
  26. package/dist/src/organisations/policies/ranked/RankedContinentAttendance.js +1 -2
  27. package/dist/src/organisations/policies/ranked/RankedCountry.js +1 -2
  28. package/dist/src/organisations/policies/ranked/RankedCountryAttendance.js +1 -2
  29. package/dist/src/organisations/policies/ranked/RankedCountryDiscipline.js +1 -2
  30. package/dist/src/organisations/policies/ranked/RankedDiscipline.js +1 -2
  31. package/dist/src/organisations/policies/ranked/RankedUnfiltered.js +0 -1
  32. package/dist/src/organisations/rules/AtLeastSevenResultsRule.d.ts +15 -0
  33. package/dist/src/organisations/rules/AtLeastSevenResultsRule.js +30 -0
  34. package/dist/src/organisations/rules/BaseSearchVolumeOrganisationsRule.d.ts +1 -1
  35. package/dist/src/organisations/rules/ContinentIsEuropeRule.js +1 -1
  36. package/dist/src/organisations/rules/SearchVolumeAreasAttendanceRule.js +1 -1
  37. package/dist/src/organisations/rules/SearchVolumeAreasDisciplineRule.js +1 -1
  38. package/dist/src/organisations/rules/SearchVolumeCountriesAttendanceRule.js +1 -1
  39. package/dist/src/presenters/AreaPresenter.d.ts +1 -1
  40. package/dist/src/presenters/AreaPresenter.js +1 -1
  41. package/dist/src/presenters/AttendancePresenter.d.ts +1 -1
  42. package/dist/src/presenters/AttendancePresenter.js +1 -5
  43. package/dist/src/presenters/ContinentPresenter.d.ts +1 -1
  44. package/dist/src/presenters/ContinentPresenter.js +1 -1
  45. package/dist/src/presenters/CountryPresenter.d.ts +1 -1
  46. package/dist/src/presenters/CountryPresenter.js +1 -1
  47. package/dist/src/presenters/DegreePresenter.d.ts +1 -1
  48. package/dist/src/presenters/DegreePresenter.js +1 -1
  49. package/dist/src/presenters/DisciplinePresenter.d.ts +1 -1
  50. package/dist/src/presenters/DisciplinePresenter.js +1 -1
  51. package/dist/src/presenters/DurationPresenter.d.ts +1 -1
  52. package/dist/src/presenters/DurationPresenter.js +1 -1
  53. package/dist/src/presenters/EducationalFormPresenter.d.ts +1 -1
  54. package/dist/src/presenters/EducationalFormPresenter.js +1 -1
  55. package/dist/src/presenters/FormatPresenter.d.ts +1 -1
  56. package/dist/src/presenters/FormatPresenter.js +2 -5
  57. package/dist/src/presenters/SpecialProgrammesPresenter.d.ts +1 -1
  58. package/dist/src/presenters/SpecialProgrammesPresenter.js +1 -5
  59. package/dist/src/presenters/TuitionFeePresenter.d.ts +1 -1
  60. package/dist/src/presenters/TuitionFeePresenter.js +1 -1
  61. package/dist/src/programmes/ProgrammesBaseIndexabilityPolicy.d.ts +1 -1
  62. package/dist/src/programmes/SearchIndexabilityManager.js +3 -27
  63. package/dist/src/programmes/policies/Area.d.ts +1 -1
  64. package/dist/src/programmes/policies/Area.js +1 -1
  65. package/dist/src/programmes/policies/Attendance.d.ts +1 -1
  66. package/dist/src/programmes/policies/Attendance.js +1 -1
  67. package/dist/src/programmes/policies/AttendanceDegree.d.ts +4 -3
  68. package/dist/src/programmes/policies/AttendanceDegree.js +7 -8
  69. package/dist/src/programmes/policies/Continent.d.ts +1 -1
  70. package/dist/src/programmes/policies/Continent.js +1 -1
  71. package/dist/src/programmes/policies/ContinentTuitionFee.d.ts +1 -1
  72. package/dist/src/programmes/policies/ContinentTuitionFee.js +1 -1
  73. package/dist/src/programmes/policies/Country.d.ts +1 -1
  74. package/dist/src/programmes/policies/Country.js +1 -1
  75. package/dist/src/programmes/policies/CountryAttendance.d.ts +1 -1
  76. package/dist/src/programmes/policies/CountryAttendance.js +1 -1
  77. package/dist/src/programmes/policies/CountryAttendanceDegree.d.ts +1 -1
  78. package/dist/src/programmes/policies/CountryAttendanceDegree.js +2 -2
  79. package/dist/src/programmes/policies/CountryDegree.d.ts +1 -1
  80. package/dist/src/programmes/policies/CountryDegree.js +1 -1
  81. package/dist/src/programmes/policies/CountryDuration.d.ts +3 -3
  82. package/dist/src/programmes/policies/CountryDuration.js +5 -7
  83. package/dist/src/programmes/policies/CountryDurationDegree.d.ts +1 -1
  84. package/dist/src/programmes/policies/CountryDurationDegree.js +2 -2
  85. package/dist/src/programmes/policies/CountryEducationalForm.d.ts +1 -1
  86. package/dist/src/programmes/policies/CountryEducationalForm.js +2 -2
  87. package/dist/src/programmes/policies/CountryFormat.d.ts +1 -1
  88. package/dist/src/programmes/policies/CountryFormat.js +1 -1
  89. package/dist/src/programmes/policies/CountryTuitionFee.d.ts +1 -1
  90. package/dist/src/programmes/policies/CountryTuitionFee.js +1 -1
  91. package/dist/src/programmes/policies/Degree.d.ts +1 -1
  92. package/dist/src/programmes/policies/Degree.js +1 -1
  93. package/dist/src/programmes/policies/DegreeAttendanceDiscipline.d.ts +2 -3
  94. package/dist/src/programmes/policies/DegreeAttendanceDiscipline.js +14 -14
  95. package/dist/src/programmes/policies/DegreeCountryAttendance.d.ts +1 -1
  96. package/dist/src/programmes/policies/DegreeCountryAttendance.js +2 -2
  97. package/dist/src/programmes/policies/DegreeCountryDiscipline.d.ts +1 -1
  98. package/dist/src/programmes/policies/DegreeCountryDiscipline.js +2 -2
  99. package/dist/src/programmes/policies/DegreeCountryTuitionFee.d.ts +1 -1
  100. package/dist/src/programmes/policies/DegreeCountryTuitionFee.js +3 -3
  101. package/dist/src/programmes/policies/Discipline.d.ts +1 -1
  102. package/dist/src/programmes/policies/Discipline.js +1 -1
  103. package/dist/src/programmes/policies/DisciplineAttendance.d.ts +1 -1
  104. package/dist/src/programmes/policies/DisciplineAttendance.js +1 -1
  105. package/dist/src/programmes/policies/DisciplineContinent.d.ts +1 -1
  106. package/dist/src/programmes/policies/DisciplineContinent.js +1 -1
  107. package/dist/src/programmes/policies/DisciplineCountry.d.ts +1 -1
  108. package/dist/src/programmes/policies/DisciplineCountry.js +1 -1
  109. package/dist/src/programmes/policies/DisciplineCountryEducationalForm.d.ts +1 -1
  110. package/dist/src/programmes/policies/DisciplineCountryEducationalForm.js +2 -2
  111. package/dist/src/programmes/policies/DisciplineDegree.d.ts +1 -1
  112. package/dist/src/programmes/policies/DisciplineDegree.js +1 -1
  113. package/dist/src/programmes/policies/DisciplineDuration.d.ts +1 -1
  114. package/dist/src/programmes/policies/DisciplineDuration.js +1 -1
  115. package/dist/src/programmes/policies/DisciplineEducationalForm.d.ts +1 -1
  116. package/dist/src/programmes/policies/DisciplineEducationalForm.js +2 -2
  117. package/dist/src/programmes/policies/DisciplineFormat.d.ts +1 -1
  118. package/dist/src/programmes/policies/DisciplineFormat.js +1 -1
  119. package/dist/src/programmes/policies/DisciplineTuitionFee.d.ts +1 -1
  120. package/dist/src/programmes/policies/DisciplineTuitionFee.js +1 -1
  121. package/dist/src/programmes/policies/DisciplineTuitionFeeAttendance.d.ts +1 -1
  122. package/dist/src/programmes/policies/DisciplineTuitionFeeAttendance.js +1 -1
  123. package/dist/src/programmes/policies/SpecialProgrammes.d.ts +3 -2
  124. package/dist/src/programmes/policies/SpecialProgrammes.js +4 -2
  125. package/dist/src/programmes/policies/TuitionFee.d.ts +1 -1
  126. package/dist/src/programmes/policies/TuitionFee.js +1 -1
  127. package/dist/src/programmes/policies/index.d.ts +1 -26
  128. package/dist/src/programmes/policies/index.js +1 -26
  129. package/dist/src/programmes/rules/AffordableTuitionFeeRule.js +2 -2
  130. package/dist/src/programmes/rules/AtLeastSevenResultsRule.js +1 -1
  131. package/dist/src/programmes/rules/DegreeAttendanceDisciplineRule.js +2 -2
  132. package/dist/src/programmes/rules/DegreeAttendanceDisciplineSpecificRule.js +2 -2
  133. package/dist/src/programmes/rules/DegreeCountryAttendanceSpecificRule.js +2 -2
  134. package/dist/src/programmes/rules/DegreeCountryDisciplineSpecificRule.js +2 -2
  135. package/dist/src/programmes/rules/DegreeCountryTuitionFeeSpecificRule.js +3 -3
  136. package/dist/src/programmes/rules/DegreeDisciplineRule.js +2 -2
  137. package/dist/src/programmes/rules/IndexableDegreeRule.js +2 -2
  138. package/dist/src/programmes/rules/IndexableDurationRule.js +1 -1
  139. package/dist/src/programmes/rules/IndexableEducationalFormRule.js +2 -2
  140. package/dist/src/programmes/rules/MbaDegreeRule.js +2 -2
  141. package/dist/src/programmes/rules/MbaOrMscDegreeRule.js +2 -2
  142. package/dist/src/programmes/rules/OneYearDurationRule.js +2 -2
  143. package/dist/src/programmes/rules/PartTimeFormatRule.js +2 -2
  144. package/dist/src/programmes/types/IProgrammeSitemapUrlGenerator.d.ts +1 -1
  145. package/dist/src/scholarships/policies/Area.js +1 -1
  146. package/dist/src/scholarships/policies/Country.js +1 -1
  147. package/dist/src/scholarships/policies/Discipline.js +1 -1
  148. package/dist/src/scholarships/policies/DisciplineCountry.js +1 -1
  149. package/dist/src/scholarships/policies/UniversityCountry.js +1 -1
  150. package/dist/src/scholarships/rules/ExceptAustaliaAreasRule.js +1 -1
  151. package/dist/src/scholarships/rules/SearchVolumeAreasRule.js +1 -1
  152. package/dist/src/scholarships/rules/SearchVolumeCountriesDisciplinesRule.js +1 -1
  153. package/dist/src/scholarships/rules/SearchVolumeCountriesRule.js +1 -1
  154. package/dist/src/scholarships/rules/SearchVolumeDisciplinesRule.js +1 -1
  155. package/dist/src/sitemap-generator/BaseSitemapUrlGeneratorManager.d.ts +1 -1
  156. package/dist/src/sitemap-generator/ISearchApiClient.d.ts +1 -1
  157. package/dist/src/sitemap-generator/ISitemapUrlGeneratorManager.d.ts +1 -1
  158. package/dist/src/sitemap-generator/OrganisationsSitemapUrlGeneratorManager.d.ts +1 -1
  159. package/dist/src/sitemap-generator/OrganisationsSitemapUrlGeneratorManager.js +1 -1
  160. package/dist/src/sitemap-generator/ProgrammesSitemapUrlGeneratorManager.d.ts +1 -1
  161. package/dist/src/sitemap-generator/ProgrammesSitemapUrlGeneratorManager.js +4 -28
  162. package/package.json +105 -105
  163. package/dist/src/common/IPolicyMetaData.d.ts +0 -6
  164. package/dist/src/common/IPolicyMetaData.js +0 -1
  165. package/dist/src/organisations/OrganisationsRuleBasedIndexabilityPolicy.d.ts +0 -11
  166. package/dist/src/organisations/OrganisationsRuleBasedIndexabilityPolicy.js +0 -19
  167. package/dist/src/organisations/rules/OnlineAttendanceRule.d.ts +0 -6
  168. package/dist/src/organisations/rules/OnlineAttendanceRule.js +0 -14
  169. package/dist/src/programmes/IProgrammeSearchApplicationState.d.ts +0 -4
  170. package/dist/src/programmes/IProgrammeSearchApplicationState.js +0 -1
  171. package/dist/src/programmes/IProgrammeSearchDependencies.d.ts +0 -7
  172. package/dist/src/programmes/IProgrammeSearchDependencies.js +0 -1
  173. package/dist/src/programmes/IProgrammesSeoDependencies.d.ts +0 -2
  174. package/dist/src/programmes/IProgrammesSeoDependencies.js +0 -1
  175. package/dist/src/programmes/policies/AttendanceArea.d.ts +0 -16
  176. package/dist/src/programmes/policies/AttendanceArea.js +0 -48
  177. package/dist/src/programmes/policies/AttendanceContinent.d.ts +0 -16
  178. package/dist/src/programmes/policies/AttendanceContinent.js +0 -46
  179. package/dist/src/programmes/policies/AttendanceDuration.d.ts +0 -16
  180. package/dist/src/programmes/policies/AttendanceDuration.js +0 -48
  181. package/dist/src/programmes/policies/AttendanceFormat.d.ts +0 -16
  182. package/dist/src/programmes/policies/AttendanceFormat.js +0 -48
  183. package/dist/src/programmes/policies/AttendanceTuitionFee.d.ts +0 -16
  184. package/dist/src/programmes/policies/AttendanceTuitionFee.js +0 -49
  185. package/dist/src/programmes/policies/ContinentDuration.d.ts +0 -15
  186. package/dist/src/programmes/policies/ContinentDuration.js +0 -46
  187. package/dist/src/programmes/policies/ContinentFormat.d.ts +0 -15
  188. package/dist/src/programmes/policies/ContinentFormat.js +0 -46
  189. package/dist/src/programmes/policies/ContinentSpecialProgrammes.d.ts +0 -15
  190. package/dist/src/programmes/policies/ContinentSpecialProgrammes.js +0 -46
  191. package/dist/src/programmes/policies/CountrySpecialProgrammes.d.ts +0 -15
  192. package/dist/src/programmes/policies/CountrySpecialProgrammes.js +0 -46
  193. package/dist/src/programmes/policies/DegreeArea.d.ts +0 -15
  194. package/dist/src/programmes/policies/DegreeArea.js +0 -46
  195. package/dist/src/programmes/policies/DegreeAreaTuitionFee.d.ts +0 -15
  196. package/dist/src/programmes/policies/DegreeAreaTuitionFee.js +0 -52
  197. package/dist/src/programmes/policies/DegreeAttendanceFormat.d.ts +0 -15
  198. package/dist/src/programmes/policies/DegreeAttendanceFormat.js +0 -52
  199. package/dist/src/programmes/policies/DegreeAttendanceSpecialProgrammes.d.ts +0 -16
  200. package/dist/src/programmes/policies/DegreeAttendanceSpecialProgrammes.js +0 -56
  201. package/dist/src/programmes/policies/DegreeAttendanceTuitionFee.d.ts +0 -16
  202. package/dist/src/programmes/policies/DegreeAttendanceTuitionFee.js +0 -55
  203. package/dist/src/programmes/policies/DegreeContinent.d.ts +0 -16
  204. package/dist/src/programmes/policies/DegreeContinent.js +0 -46
  205. package/dist/src/programmes/policies/DegreeContinentTuitionFee.d.ts +0 -16
  206. package/dist/src/programmes/policies/DegreeContinentTuitionFee.js +0 -52
  207. package/dist/src/programmes/policies/DegreeDuration.d.ts +0 -16
  208. package/dist/src/programmes/policies/DegreeDuration.js +0 -48
  209. package/dist/src/programmes/policies/DegreeFormat.d.ts +0 -16
  210. package/dist/src/programmes/policies/DegreeFormat.js +0 -49
  211. package/dist/src/programmes/policies/DegreeFormatTuitionFee.d.ts +0 -16
  212. package/dist/src/programmes/policies/DegreeFormatTuitionFee.js +0 -52
  213. package/dist/src/programmes/policies/DegreeSpecialProgrammes.d.ts +0 -15
  214. package/dist/src/programmes/policies/DegreeSpecialProgrammes.js +0 -48
  215. package/dist/src/programmes/policies/DegreeTuitionFee.d.ts +0 -15
  216. package/dist/src/programmes/policies/DegreeTuitionFee.js +0 -47
  217. package/dist/src/programmes/policies/DisciplineContinentAttendance.d.ts +0 -16
  218. package/dist/src/programmes/policies/DisciplineContinentAttendance.js +0 -54
  219. package/dist/src/programmes/policies/DisciplineCountryAttendance.d.ts +0 -16
  220. package/dist/src/programmes/policies/DisciplineCountryAttendance.js +0 -54
  221. package/dist/src/programmes/policies/DisciplineCountryDegree.d.ts +0 -16
  222. package/dist/src/programmes/policies/DisciplineCountryDegree.js +0 -53
  223. package/dist/src/programmes/policies/DisciplineCountryFormat.d.ts +0 -15
  224. package/dist/src/programmes/policies/DisciplineCountryFormat.js +0 -52
  225. package/dist/src/programmes/policies/DisciplineSpecialProgrammes.d.ts +0 -15
  226. package/dist/src/programmes/policies/DisciplineSpecialProgrammes.js +0 -46
  227. package/dist/src/programmes/policies/Duration.d.ts +0 -15
  228. package/dist/src/programmes/policies/Duration.js +0 -35
  229. package/dist/src/programmes/policies/Format.d.ts +0 -15
  230. package/dist/src/programmes/policies/Format.js +0 -35
  231. package/dist/src/programmes/rules/DegreeAttendanceSpecificRule.d.ts +0 -10
  232. package/dist/src/programmes/rules/DegreeAttendanceSpecificRule.js +0 -42
  233. package/dist/src/programmes/rules/DegreeCountrySpecificRule.d.ts +0 -10
  234. package/dist/src/programmes/rules/DegreeCountrySpecificRule.js +0 -43
  235. package/dist/src/programmes/rules/DegreeCountryTuitionFeeRule.d.ts +0 -11
  236. package/dist/src/programmes/rules/DegreeCountryTuitionFeeRule.js +0 -40
  237. package/dist/src/programmes/rules/MBACountryAttendanceRule.d.ts +0 -11
  238. package/dist/src/programmes/rules/MBACountryAttendanceRule.js +0 -40
  239. package/dist/src/programmes/rules/MasterOfArtsDisciplineRule.d.ts +0 -10
  240. package/dist/src/programmes/rules/MasterOfArtsDisciplineRule.js +0 -41
  241. package/dist/src/programmes/rules/MasterOfEducationCountryDisciplineRule.d.ts +0 -11
  242. package/dist/src/programmes/rules/MasterOfEducationCountryDisciplineRule.js +0 -69
  243. package/dist/src/programmes/rules/MasterOfLawsCountryAttendanceRule.d.ts +0 -12
  244. package/dist/src/programmes/rules/MasterOfLawsCountryAttendanceRule.js +0 -43
  245. package/dist/src/programmes/rules/MasterOfLawsCountryTuitionFeeRule.d.ts +0 -12
  246. package/dist/src/programmes/rules/MasterOfLawsCountryTuitionFeeRule.js +0 -46
  247. package/dist/src/programmes/rules/MasterOfPhilosophyCountryAttendanceRule.d.ts +0 -12
  248. package/dist/src/programmes/rules/MasterOfPhilosophyCountryAttendanceRule.js +0 -43
  249. package/dist/src/programmes/rules/MasterOfScienceDisciplineRule.d.ts +0 -10
  250. package/dist/src/programmes/rules/MasterOfScienceDisciplineRule.js +0 -41
  251. package/dist/src/programmes/rules/OneYearOnlyRule.d.ts +0 -11
  252. package/dist/src/programmes/rules/OneYearOnlyRule.js +0 -34
  253. package/dist/src/programmes/rules/OnlineAttendanceRule.d.ts +0 -6
  254. package/dist/src/programmes/rules/OnlineAttendanceRule.js +0 -15
  255. package/dist/src/sitemap-generator/IPageNumberProvider.d.ts +0 -3
  256. package/dist/src/sitemap-generator/IPageNumberProvider.js +0 -1
@@ -1,6 +1,6 @@
1
1
  import { countriesExtendedAll } from '@studyportals/static-domain-data/countries/countries-extended';
2
2
  import { countryGetIsoCodePath } from '@studyportals/static-domain-data/countries/country-get-iso-path';
3
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
3
+ import { FilterKey } from '@studyportals/search-filters';
4
4
  export class CountryPresenter {
5
5
  filterKey = FilterKey.COUNTRY;
6
6
  static instance;
@@ -1,6 +1,6 @@
1
1
  import { IPresenter } from '../common';
2
2
  import { IFragment } from './fragments/IFragment';
3
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
3
+ import { FilterKey } from '@studyportals/search-filters';
4
4
  export declare class DegreePresenter implements IPresenter {
5
5
  readonly filterKey: FilterKey;
6
6
  private static instance;
@@ -1,4 +1,4 @@
1
- import { DegreeTypeFilterOptionValue, FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { DegreeTypeFilterOptionValue, FilterKey } from '@studyportals/search-filters';
2
2
  export class DegreePresenter {
3
3
  filterKey = FilterKey.DEGREE_TYPE;
4
4
  static instance;
@@ -1,6 +1,6 @@
1
1
  import { IFragment } from './fragments/IFragment';
2
2
  import { IPresenter } from '../common';
3
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
3
+ import { FilterKey } from '@studyportals/search-filters';
4
4
  export declare class DisciplinePresenter implements IPresenter {
5
5
  readonly filterKey: FilterKey;
6
6
  private static instance;
@@ -1,7 +1,7 @@
1
1
  import { disciplinesAll } from '@studyportals/static-domain-data/disciplines/disciplines';
2
2
  import { subdisciplinesAll } from '@studyportals/static-domain-data/disciplines/subdisciplines';
3
3
  import { disciplineGetVirtualPath } from '@studyportals/static-domain-data/disciplines/discipline-get-virtual-path';
4
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
4
+ import { FilterKey } from '@studyportals/search-filters';
5
5
  export class DisciplinePresenter {
6
6
  filterKey = FilterKey.DISCIPLINES;
7
7
  static instance;
@@ -1,6 +1,6 @@
1
1
  import { IPresenter } from '../common';
2
2
  import { IFragment } from './fragments/IFragment';
3
- import { DurationFilterOptionValue, FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
3
+ import { DurationFilterOptionValue, FilterKey } from '@studyportals/search-filters';
4
4
  export declare class DurationPresenter implements IPresenter {
5
5
  readonly filterKey: FilterKey;
6
6
  private static instance;
@@ -1,4 +1,4 @@
1
- import { DurationFilterOptionValue, FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { DurationFilterOptionValue, FilterKey } from '@studyportals/search-filters';
2
2
  export class DurationPresenter {
3
3
  filterKey = FilterKey.DURATION;
4
4
  static instance;
@@ -1,6 +1,6 @@
1
1
  import { IPresenter } from '../common';
2
2
  import { IFragment } from './fragments/IFragment';
3
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
3
+ import { FilterKey } from '@studyportals/search-filters';
4
4
  export declare class EducationalFormPresenter implements IPresenter {
5
5
  readonly filterKey: FilterKey;
6
6
  private static instance;
@@ -1,4 +1,4 @@
1
- import { EducationalFormFilterOptionValue, FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { EducationalFormFilterOptionValue, FilterKey } from '@studyportals/search-filters';
2
2
  export class EducationalFormPresenter {
3
3
  filterKey = FilterKey.EDUCATIONAL_FORM;
4
4
  static instance;
@@ -1,6 +1,6 @@
1
1
  import { IPresenter } from '../common';
2
2
  import { IFragment } from './fragments/IFragment';
3
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
3
+ import { FilterKey } from '@studyportals/search-filters';
4
4
  export declare class FormatPresenter implements IPresenter {
5
5
  readonly filterKey: FilterKey;
6
6
  private static instance;
@@ -1,17 +1,14 @@
1
- import { FormatFilterOptionValue, FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FormatFilterOptionValue, FilterKey } from '@studyportals/search-filters';
2
2
  export class FormatPresenter {
3
3
  filterKey = FilterKey.ATTENDANCE;
4
4
  static instance;
5
5
  fragments;
6
6
  constructor() {
7
+ // Part-time is the only indexable format according to PartTimeFormatRule
7
8
  this.fragments = [
8
9
  {
9
10
  id: FormatFilterOptionValue.PART_TIME,
10
11
  path: 'part-time'
11
- },
12
- {
13
- id: FormatFilterOptionValue.FULL_TIME,
14
- path: 'full-time'
15
12
  }
16
13
  ];
17
14
  }
@@ -1,6 +1,6 @@
1
1
  import { IPresenter } from '../common';
2
2
  import { IFragment } from './fragments/IFragment';
3
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
3
+ import { FilterKey } from '@studyportals/search-filters';
4
4
  export declare class SpecialProgrammesPresenter implements IPresenter {
5
5
  readonly filterKey: FilterKey;
6
6
  private static instance;
@@ -1,4 +1,4 @@
1
- import { SpecialProgrammesFilterOptionValue, FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { SpecialProgrammesFilterOptionValue, FilterKey } from '@studyportals/search-filters';
2
2
  export class SpecialProgrammesPresenter {
3
3
  filterKey = FilterKey.SPECIAL_PROGRAMMES;
4
4
  static instance;
@@ -12,10 +12,6 @@ export class SpecialProgrammesPresenter {
12
12
  {
13
13
  id: SpecialProgrammesFilterOptionValue.ERASMUS_MUNDUS,
14
14
  path: 'erasmus-mundus'
15
- },
16
- {
17
- id: SpecialProgrammesFilterOptionValue.EXECUTIVE_PROGRAMMES,
18
- path: 'executive-programmes'
19
15
  }
20
16
  ];
21
17
  }
@@ -1,6 +1,6 @@
1
1
  import { IPresenter } from '../common';
2
2
  import { IFragment } from './fragments/IFragment';
3
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
3
+ import { FilterKey } from '@studyportals/search-filters';
4
4
  export declare class TuitionFeePresenter implements IPresenter {
5
5
  readonly filterKey: FilterKey;
6
6
  private static instance;
@@ -1,4 +1,4 @@
1
- import { TuitionFeeFilterOptionValue, FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { TuitionFeeFilterOptionValue, FilterKey } from '@studyportals/search-filters';
2
2
  export class TuitionFeePresenter {
3
3
  filterKey = FilterKey.TUITION_FEE;
4
4
  static instance;
@@ -1,7 +1,7 @@
1
1
  import { BaseSeoIndexabilityPolicy } from '../common/policies/BaseSeoIndexabilityPolicy';
2
2
  import { IProgrammeSeoDependencies } from './types/IProgrammeSeoDependencies';
3
3
  import { IProgrammeSitemapUrlGenerator } from './types/IProgrammeSitemapUrlGenerator';
4
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
4
+ import { FilterKey } from '@studyportals/search-filters';
5
5
  import { FilterKeyValuesMap } from '../../sitemap-generator-seo';
6
6
  import { IProgrammeRule } from './IProgrammeRule';
7
7
  import { IRule } from '../common/IRule';
@@ -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';
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';
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';
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';
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';
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';
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';
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';
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';
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';
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';
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';
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';
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';
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';
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';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -10,7 +10,7 @@ import { AttendancePresenter } from '../../presenters/AttendancePresenter';
10
10
  import { DegreePresenter } from '../../presenters/DegreePresenter';
11
11
  export class CountryAttendanceDegree extends ProgrammesBaseIndexabilityPolicy {
12
12
  name = 'Country Attendance Degree Policy';
13
- description = `Determines indexing rules for pages filtered by country,
13
+ description = `Determines indexing rules for pages filtered by country,
14
14
  study format (online, on-campus, etc.), and degree type.`;
15
15
  filterKeys = [FilterKey.COUNTRY, FilterKey.DELIVERY_METHOD, FilterKey.DEGREE_TYPE];
16
16
  rules = [
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters';
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';
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';
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';
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';
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';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -10,7 +10,7 @@ import { DegreePresenter } from '../../presenters/DegreePresenter';
10
10
  import { DurationPresenter } from '../../presenters/DurationPresenter';
11
11
  export class CountryDurationDegree extends ProgrammesBaseIndexabilityPolicy {
12
12
  name = 'Country Duration Degree Policy';
13
- description = `Determines indexing rules for pages filtered by country,
13
+ description = `Determines indexing rules for pages filtered by country,
14
14
  duration (1 year, 2 years, etc.), and degree type.`;
15
15
  filterKeys = [FilterKey.COUNTRY, FilterKey.DURATION, FilterKey.DEGREE_TYPE];
16
16
  rules = [
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters';
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';
2
2
  import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
3
  import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
4
  import { FilterCombinations } from '../../enums/FilterCombinations';
@@ -8,7 +8,7 @@ import { CountryPresenter } from '../../presenters/CountryPresenter';
8
8
  import { EducationalFormPresenter } from '../../presenters/EducationalFormPresenter';
9
9
  export class CountryEducationalForm extends ProgrammesBaseIndexabilityPolicy {
10
10
  name = 'Country Educational Form Policy';
11
- description = `Determines indexing rules for pages filtered by both country,
11
+ description = `Determines indexing rules for pages filtered by both country,
12
12
  and educational form (academic, semester, summer school, etc.).`;
13
13
  filterKeys = [FilterKey.COUNTRY, FilterKey.EDUCATIONAL_FORM];
14
14
  rules = [
@@ -1,4 +1,4 @@
1
- import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
1
+ import { FilterKey } from '@studyportals/search-filters';
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';
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';
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';
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';
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';
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';
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;