@studyportals/fawkes 7.4.2-2 → 8.0.1-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (389) hide show
  1. package/README.md +176 -176
  2. package/package.json +2 -1
  3. package/dist/index.d.ts +0 -1
  4. package/dist/index.js +0 -1
  5. package/dist/organisations-seo/index.d.ts +0 -4
  6. package/dist/organisations-seo/index.js +0 -2
  7. package/dist/programmes-seo/index.d.ts +0 -6
  8. package/dist/programmes-seo/index.js +0 -2
  9. package/dist/scholarships-seo/index.d.ts +0 -5
  10. package/dist/scholarships-seo/index.js +0 -3
  11. package/dist/sitemap-generator-seo/index.d.ts +0 -13
  12. package/dist/sitemap-generator-seo/index.js +0 -4
  13. package/dist/src/common/FilterKeyValuesMap.d.ts +0 -2
  14. package/dist/src/common/FilterKeyValuesMap.js +0 -1
  15. package/dist/src/common/IDependencies.d.ts +0 -4
  16. package/dist/src/common/IDependencies.js +0 -1
  17. package/dist/src/common/IDocumentationManager.d.ts +0 -5
  18. package/dist/src/common/IDocumentationManager.js +0 -1
  19. package/dist/src/common/IPresenter.d.ts +0 -6
  20. package/dist/src/common/IPresenter.js +0 -1
  21. package/dist/src/common/IRule.d.ts +0 -8
  22. package/dist/src/common/IRule.js +0 -1
  23. package/dist/src/common/ISearchApplicationState.d.ts +0 -4
  24. package/dist/src/common/ISearchApplicationState.js +0 -1
  25. package/dist/src/common/ISearchDependencies.d.ts +0 -7
  26. package/dist/src/common/ISearchDependencies.js +0 -1
  27. package/dist/src/common/ISearchIndexabilityManager.d.ts +0 -4
  28. package/dist/src/common/ISearchIndexabilityManager.js +0 -1
  29. package/dist/src/common/ISeoDependencies.d.ts +0 -3
  30. package/dist/src/common/ISeoDependencies.js +0 -1
  31. package/dist/src/common/ISeoFilterState.d.ts +0 -5
  32. package/dist/src/common/ISeoFilterState.js +0 -1
  33. package/dist/src/common/ISeoIndexabilityPolicy.d.ts +0 -7
  34. package/dist/src/common/ISeoIndexabilityPolicy.js +0 -1
  35. package/dist/src/common/ISeoInfoBase.d.ts +0 -8
  36. package/dist/src/common/ISeoInfoBase.js +0 -1
  37. package/dist/src/common/ISitemapDependencies.d.ts +0 -5
  38. package/dist/src/common/ISitemapDependencies.js +0 -1
  39. package/dist/src/common/ISitemapUrlGenerator.d.ts +0 -7
  40. package/dist/src/common/ISitemapUrlGenerator.js +0 -1
  41. package/dist/src/common/index.d.ts +0 -5
  42. package/dist/src/common/index.js +0 -5
  43. package/dist/src/common/policies/BaseSeoIndexabilityPolicy.d.ts +0 -26
  44. package/dist/src/common/policies/BaseSeoIndexabilityPolicy.js +0 -56
  45. package/dist/src/common/rules/BaseFilterKeyValueRule.d.ts +0 -11
  46. package/dist/src/common/rules/BaseFilterKeyValueRule.js +0 -28
  47. package/dist/src/common/rules/IndexablePageNumberRule.d.ts +0 -9
  48. package/dist/src/common/rules/IndexablePageNumberRule.js +0 -17
  49. package/dist/src/common/rules/NoFiltersSelectedRule.d.ts +0 -9
  50. package/dist/src/common/rules/NoFiltersSelectedRule.js +0 -17
  51. package/dist/src/common/rules/OnlineAttendanceRule.d.ts +0 -6
  52. package/dist/src/common/rules/OnlineAttendanceRule.js +0 -14
  53. package/dist/src/common/rules/OnlyFiltersSelectedRule.d.ts +0 -12
  54. package/dist/src/common/rules/OnlyFiltersSelectedRule.js +0 -30
  55. package/dist/src/common/rules/SingleValueSelectedForFilterRule.d.ts +0 -12
  56. package/dist/src/common/rules/SingleValueSelectedForFilterRule.js +0 -24
  57. package/dist/src/enums/AttendanceFilterOptionValue.d.ts +0 -5
  58. package/dist/src/enums/AttendanceFilterOptionValue.js +0 -6
  59. package/dist/src/enums/DegreeTypeFilterOptionValue.d.ts +0 -29
  60. package/dist/src/enums/DegreeTypeFilterOptionValue.js +0 -30
  61. package/dist/src/enums/DependencyTypes.d.ts +0 -4
  62. package/dist/src/enums/DependencyTypes.js +0 -5
  63. package/dist/src/enums/DurationFilterOptionValue.d.ts +0 -16
  64. package/dist/src/enums/DurationFilterOptionValue.js +0 -17
  65. package/dist/src/enums/EducationalFormFilterOptionValue.d.ts +0 -8
  66. package/dist/src/enums/EducationalFormFilterOptionValue.js +0 -9
  67. package/dist/src/enums/FilterCombinations.d.ts +0 -52
  68. package/dist/src/enums/FilterCombinations.js +0 -53
  69. package/dist/src/enums/FilterKey.d.ts +0 -21
  70. package/dist/src/enums/FilterKey.js +0 -22
  71. package/dist/src/enums/FormatFilterOptionValue.d.ts +0 -4
  72. package/dist/src/enums/FormatFilterOptionValue.js +0 -5
  73. package/dist/src/enums/SortingOptions.d.ts +0 -4
  74. package/dist/src/enums/SortingOptions.js +0 -5
  75. package/dist/src/enums/SpecialProgrammesFilterOptionValue.d.ts +0 -5
  76. package/dist/src/enums/SpecialProgrammesFilterOptionValue.js +0 -6
  77. package/dist/src/enums/TuitionFeeFilterOptionValue.d.ts +0 -3
  78. package/dist/src/enums/TuitionFeeFilterOptionValue.js +0 -4
  79. package/dist/src/errors/DependencyMissingError.d.ts +0 -3
  80. package/dist/src/errors/DependencyMissingError.js +0 -5
  81. package/dist/src/errors/InvalidDependencyTypeError.d.ts +0 -3
  82. package/dist/src/errors/InvalidDependencyTypeError.js +0 -5
  83. package/dist/src/errors/InvalidFilterValueError.d.ts +0 -4
  84. package/dist/src/errors/InvalidFilterValueError.js +0 -5
  85. package/dist/src/organisations/IOrganisationSearchApplicationState.d.ts +0 -5
  86. package/dist/src/organisations/IOrganisationSearchApplicationState.js +0 -1
  87. package/dist/src/organisations/ISeoSortingState.d.ts +0 -4
  88. package/dist/src/organisations/ISeoSortingState.js +0 -1
  89. package/dist/src/organisations/SearchIndexabilityManager.d.ts +0 -12
  90. package/dist/src/organisations/SearchIndexabilityManager.js +0 -42
  91. package/dist/src/organisations/index.d.ts +0 -4
  92. package/dist/src/organisations/index.js +0 -4
  93. package/dist/src/organisations/policies/OrganisationsSeoIndexabilityPolicy.d.ts +0 -17
  94. package/dist/src/organisations/policies/OrganisationsSeoIndexabilityPolicy.js +0 -33
  95. package/dist/src/organisations/policies/RankedOrganisationsSeoIndexabilityPolicy.d.ts +0 -9
  96. package/dist/src/organisations/policies/RankedOrganisationsSeoIndexabilityPolicy.js +0 -22
  97. package/dist/src/organisations/policies/index.d.ts +0 -18
  98. package/dist/src/organisations/policies/index.js +0 -18
  99. package/dist/src/organisations/policies/our-picks/Area.d.ts +0 -13
  100. package/dist/src/organisations/policies/our-picks/Area.js +0 -35
  101. package/dist/src/organisations/policies/our-picks/AreaAttendance.d.ts +0 -15
  102. package/dist/src/organisations/policies/our-picks/AreaAttendance.js +0 -45
  103. package/dist/src/organisations/policies/our-picks/Attendance.d.ts +0 -14
  104. package/dist/src/organisations/policies/our-picks/Attendance.js +0 -33
  105. package/dist/src/organisations/policies/our-picks/Continent.d.ts +0 -13
  106. package/dist/src/organisations/policies/our-picks/Continent.js +0 -31
  107. package/dist/src/organisations/policies/our-picks/Country.d.ts +0 -13
  108. package/dist/src/organisations/policies/our-picks/Country.js +0 -28
  109. package/dist/src/organisations/policies/our-picks/CountryAttendance.d.ts +0 -15
  110. package/dist/src/organisations/policies/our-picks/CountryAttendance.js +0 -43
  111. package/dist/src/organisations/policies/our-picks/Unfiltered.d.ts +0 -12
  112. package/dist/src/organisations/policies/our-picks/Unfiltered.js +0 -16
  113. package/dist/src/organisations/policies/ranked/RankedArea.d.ts +0 -13
  114. package/dist/src/organisations/policies/ranked/RankedArea.js +0 -37
  115. package/dist/src/organisations/policies/ranked/RankedAreaDiscipline.d.ts +0 -14
  116. package/dist/src/organisations/policies/ranked/RankedAreaDiscipline.js +0 -45
  117. package/dist/src/organisations/policies/ranked/RankedAttendance.d.ts +0 -14
  118. package/dist/src/organisations/policies/ranked/RankedAttendance.js +0 -35
  119. package/dist/src/organisations/policies/ranked/RankedAttendanceDiscipline.d.ts +0 -14
  120. package/dist/src/organisations/policies/ranked/RankedAttendanceDiscipline.js +0 -43
  121. package/dist/src/organisations/policies/ranked/RankedContinent.d.ts +0 -13
  122. package/dist/src/organisations/policies/ranked/RankedContinent.js +0 -33
  123. package/dist/src/organisations/policies/ranked/RankedContinentAttendance.d.ts +0 -15
  124. package/dist/src/organisations/policies/ranked/RankedContinentAttendance.js +0 -45
  125. package/dist/src/organisations/policies/ranked/RankedCountry.d.ts +0 -13
  126. package/dist/src/organisations/policies/ranked/RankedCountry.js +0 -30
  127. package/dist/src/organisations/policies/ranked/RankedCountryAttendance.d.ts +0 -14
  128. package/dist/src/organisations/policies/ranked/RankedCountryAttendance.js +0 -43
  129. package/dist/src/organisations/policies/ranked/RankedCountryDiscipline.d.ts +0 -13
  130. package/dist/src/organisations/policies/ranked/RankedCountryDiscipline.js +0 -41
  131. package/dist/src/organisations/policies/ranked/RankedDiscipline.d.ts +0 -13
  132. package/dist/src/organisations/policies/ranked/RankedDiscipline.js +0 -33
  133. package/dist/src/organisations/policies/ranked/RankedUnfiltered.d.ts +0 -12
  134. package/dist/src/organisations/policies/ranked/RankedUnfiltered.js +0 -22
  135. package/dist/src/organisations/rules/AtLeastTwoRankedResultsRule.d.ts +0 -13
  136. package/dist/src/organisations/rules/AtLeastTwoRankedResultsRule.js +0 -26
  137. package/dist/src/organisations/rules/BaseSearchVolumeOrganisationsRule.d.ts +0 -14
  138. package/dist/src/organisations/rules/BaseSearchVolumeOrganisationsRule.js +0 -33
  139. package/dist/src/organisations/rules/ContinentIsEuropeRule.d.ts +0 -6
  140. package/dist/src/organisations/rules/ContinentIsEuropeRule.js +0 -15
  141. package/dist/src/organisations/rules/NoFiltersSelectedRule.d.ts +0 -9
  142. package/dist/src/organisations/rules/NoFiltersSelectedRule.js +0 -17
  143. package/dist/src/organisations/rules/SearchVolumeAreasAttendanceRule.d.ts +0 -6
  144. package/dist/src/organisations/rules/SearchVolumeAreasAttendanceRule.js +0 -17
  145. package/dist/src/organisations/rules/SearchVolumeAreasDisciplineRule.d.ts +0 -6
  146. package/dist/src/organisations/rules/SearchVolumeAreasDisciplineRule.js +0 -18
  147. package/dist/src/organisations/rules/SearchVolumeCountriesAttendanceRule.d.ts +0 -6
  148. package/dist/src/organisations/rules/SearchVolumeCountriesAttendanceRule.js +0 -17
  149. package/dist/src/organisations/types/IOrganisationSearchDependencies.d.ts +0 -9
  150. package/dist/src/organisations/types/IOrganisationSearchDependencies.js +0 -1
  151. package/dist/src/organisations/types/IOrganisationsSeoDependencies.d.ts +0 -3
  152. package/dist/src/organisations/types/IOrganisationsSeoDependencies.js +0 -1
  153. package/dist/src/organisations/types/IOrganisationsSitemapDependencies.d.ts +0 -9
  154. package/dist/src/organisations/types/IOrganisationsSitemapDependencies.js +0 -1
  155. package/dist/src/organisations/types.d.ts +0 -6
  156. package/dist/src/organisations/types.js +0 -6
  157. package/dist/src/presenters/AreaPresenter.d.ts +0 -12
  158. package/dist/src/presenters/AreaPresenter.js +0 -35
  159. package/dist/src/presenters/AttendancePresenter.d.ts +0 -11
  160. package/dist/src/presenters/AttendancePresenter.js +0 -23
  161. package/dist/src/presenters/ContinentPresenter.d.ts +0 -12
  162. package/dist/src/presenters/ContinentPresenter.js +0 -33
  163. package/dist/src/presenters/CountryPresenter.d.ts +0 -12
  164. package/dist/src/presenters/CountryPresenter.js +0 -38
  165. package/dist/src/presenters/DegreePresenter.d.ts +0 -12
  166. package/dist/src/presenters/DegreePresenter.js +0 -51
  167. package/dist/src/presenters/DisciplinePresenter.d.ts +0 -12
  168. package/dist/src/presenters/DisciplinePresenter.js +0 -33
  169. package/dist/src/presenters/DurationPresenter.d.ts +0 -16
  170. package/dist/src/presenters/DurationPresenter.js +0 -48
  171. package/dist/src/presenters/EducationalFormPresenter.d.ts +0 -12
  172. package/dist/src/presenters/EducationalFormPresenter.js +0 -46
  173. package/dist/src/presenters/FormatPresenter.d.ts +0 -11
  174. package/dist/src/presenters/FormatPresenter.js +0 -25
  175. package/dist/src/presenters/SpecialProgrammesPresenter.d.ts +0 -11
  176. package/dist/src/presenters/SpecialProgrammesPresenter.js +0 -28
  177. package/dist/src/presenters/TuitionFeePresenter.d.ts +0 -11
  178. package/dist/src/presenters/TuitionFeePresenter.js +0 -24
  179. package/dist/src/presenters/fragments/IAreaFragment.d.ts +0 -4
  180. package/dist/src/presenters/fragments/IAreaFragment.js +0 -1
  181. package/dist/src/presenters/fragments/ICountryFragment.d.ts +0 -4
  182. package/dist/src/presenters/fragments/ICountryFragment.js +0 -1
  183. package/dist/src/presenters/fragments/IFragment.d.ts +0 -4
  184. package/dist/src/presenters/fragments/IFragment.js +0 -1
  185. package/dist/src/programmes/BaseProgrammeFilterKeyValueRule.d.ts +0 -6
  186. package/dist/src/programmes/BaseProgrammeFilterKeyValueRule.js +0 -6
  187. package/dist/src/programmes/BaseProgrammeRule.d.ts +0 -10
  188. package/dist/src/programmes/BaseProgrammeRule.js +0 -5
  189. package/dist/src/programmes/IProgrammeRule.d.ts +0 -5
  190. package/dist/src/programmes/IProgrammeRule.js +0 -1
  191. package/dist/src/programmes/ProgrammesBaseIndexabilityPolicy.d.ts +0 -15
  192. package/dist/src/programmes/ProgrammesBaseIndexabilityPolicy.js +0 -42
  193. package/dist/src/programmes/SearchIndexabilityManager.d.ts +0 -12
  194. package/dist/src/programmes/SearchIndexabilityManager.js +0 -58
  195. package/dist/src/programmes/policies/Area.d.ts +0 -15
  196. package/dist/src/programmes/policies/Area.js +0 -40
  197. package/dist/src/programmes/policies/Attendance.d.ts +0 -16
  198. package/dist/src/programmes/policies/Attendance.js +0 -38
  199. package/dist/src/programmes/policies/AttendanceDegree.d.ts +0 -17
  200. package/dist/src/programmes/policies/AttendanceDegree.js +0 -48
  201. package/dist/src/programmes/policies/Continent.d.ts +0 -15
  202. package/dist/src/programmes/policies/Continent.js +0 -36
  203. package/dist/src/programmes/policies/ContinentTuitionFee.d.ts +0 -16
  204. package/dist/src/programmes/policies/ContinentTuitionFee.js +0 -46
  205. package/dist/src/programmes/policies/Country.d.ts +0 -15
  206. package/dist/src/programmes/policies/Country.js +0 -33
  207. package/dist/src/programmes/policies/CountryAttendance.d.ts +0 -16
  208. package/dist/src/programmes/policies/CountryAttendance.js +0 -46
  209. package/dist/src/programmes/policies/CountryAttendanceDegree.d.ts +0 -17
  210. package/dist/src/programmes/policies/CountryAttendanceDegree.js +0 -55
  211. package/dist/src/programmes/policies/CountryDegree.d.ts +0 -16
  212. package/dist/src/programmes/policies/CountryDegree.js +0 -46
  213. package/dist/src/programmes/policies/CountryDuration.d.ts +0 -16
  214. package/dist/src/programmes/policies/CountryDuration.js +0 -46
  215. package/dist/src/programmes/policies/CountryDurationDegree.d.ts +0 -17
  216. package/dist/src/programmes/policies/CountryDurationDegree.js +0 -55
  217. package/dist/src/programmes/policies/CountryEducationalForm.d.ts +0 -16
  218. package/dist/src/programmes/policies/CountryEducationalForm.js +0 -47
  219. package/dist/src/programmes/policies/CountryFormat.d.ts +0 -16
  220. package/dist/src/programmes/policies/CountryFormat.js +0 -46
  221. package/dist/src/programmes/policies/CountryTuitionFee.d.ts +0 -16
  222. package/dist/src/programmes/policies/CountryTuitionFee.js +0 -46
  223. package/dist/src/programmes/policies/Degree.d.ts +0 -15
  224. package/dist/src/programmes/policies/Degree.js +0 -38
  225. package/dist/src/programmes/policies/DegreeAttendanceDiscipline.d.ts +0 -16
  226. package/dist/src/programmes/policies/DegreeAttendanceDiscipline.js +0 -63
  227. package/dist/src/programmes/policies/DegreeCountryAttendance.d.ts +0 -16
  228. package/dist/src/programmes/policies/DegreeCountryAttendance.js +0 -88
  229. package/dist/src/programmes/policies/DegreeCountryDiscipline.d.ts +0 -16
  230. package/dist/src/programmes/policies/DegreeCountryDiscipline.js +0 -71
  231. package/dist/src/programmes/policies/DegreeCountryTuitionFee.d.ts +0 -16
  232. package/dist/src/programmes/policies/DegreeCountryTuitionFee.js +0 -73
  233. package/dist/src/programmes/policies/Discipline.d.ts +0 -15
  234. package/dist/src/programmes/policies/Discipline.js +0 -36
  235. package/dist/src/programmes/policies/DisciplineArea.d.ts +0 -15
  236. package/dist/src/programmes/policies/DisciplineArea.js +0 -46
  237. package/dist/src/programmes/policies/DisciplineAttendance.d.ts +0 -16
  238. package/dist/src/programmes/policies/DisciplineAttendance.js +0 -46
  239. package/dist/src/programmes/policies/DisciplineContinent.d.ts +0 -15
  240. package/dist/src/programmes/policies/DisciplineContinent.js +0 -44
  241. package/dist/src/programmes/policies/DisciplineCountry.d.ts +0 -15
  242. package/dist/src/programmes/policies/DisciplineCountry.js +0 -44
  243. package/dist/src/programmes/policies/DisciplineCountryEducationalForm.d.ts +0 -16
  244. package/dist/src/programmes/policies/DisciplineCountryEducationalForm.js +0 -53
  245. package/dist/src/programmes/policies/DisciplineDegree.d.ts +0 -16
  246. package/dist/src/programmes/policies/DisciplineDegree.js +0 -46
  247. package/dist/src/programmes/policies/DisciplineDuration.d.ts +0 -16
  248. package/dist/src/programmes/policies/DisciplineDuration.js +0 -46
  249. package/dist/src/programmes/policies/DisciplineEducationalForm.d.ts +0 -16
  250. package/dist/src/programmes/policies/DisciplineEducationalForm.js +0 -47
  251. package/dist/src/programmes/policies/DisciplineFormat.d.ts +0 -16
  252. package/dist/src/programmes/policies/DisciplineFormat.js +0 -46
  253. package/dist/src/programmes/policies/DisciplineTuitionFee.d.ts +0 -16
  254. package/dist/src/programmes/policies/DisciplineTuitionFee.js +0 -46
  255. package/dist/src/programmes/policies/DisciplineTuitionFeeAttendance.d.ts +0 -17
  256. package/dist/src/programmes/policies/DisciplineTuitionFeeAttendance.js +0 -54
  257. package/dist/src/programmes/policies/SpecialProgrammes.d.ts +0 -16
  258. package/dist/src/programmes/policies/SpecialProgrammes.js +0 -38
  259. package/dist/src/programmes/policies/TuitionFee.d.ts +0 -15
  260. package/dist/src/programmes/policies/TuitionFee.js +0 -32
  261. package/dist/src/programmes/policies/Unfiltered.d.ts +0 -13
  262. package/dist/src/programmes/policies/Unfiltered.js +0 -19
  263. package/dist/src/programmes/policies/index.d.ts +0 -34
  264. package/dist/src/programmes/policies/index.js +0 -34
  265. package/dist/src/programmes/rules/AffordableTuitionFeeRule.d.ts +0 -6
  266. package/dist/src/programmes/rules/AffordableTuitionFeeRule.js +0 -17
  267. package/dist/src/programmes/rules/AtLeastSevenResultsRule.d.ts +0 -15
  268. package/dist/src/programmes/rules/AtLeastSevenResultsRule.js +0 -30
  269. package/dist/src/programmes/rules/DegreeAttendanceDisciplineRule.d.ts +0 -11
  270. package/dist/src/programmes/rules/DegreeAttendanceDisciplineRule.js +0 -44
  271. package/dist/src/programmes/rules/DegreeAttendanceDisciplineSpecificRule.d.ts +0 -11
  272. package/dist/src/programmes/rules/DegreeAttendanceDisciplineSpecificRule.js +0 -39
  273. package/dist/src/programmes/rules/DegreeCountryAttendanceSpecificRule.d.ts +0 -14
  274. package/dist/src/programmes/rules/DegreeCountryAttendanceSpecificRule.js +0 -77
  275. package/dist/src/programmes/rules/DegreeCountryDisciplineSpecificRule.d.ts +0 -11
  276. package/dist/src/programmes/rules/DegreeCountryDisciplineSpecificRule.js +0 -76
  277. package/dist/src/programmes/rules/DegreeCountryTuitionFeeSpecificRule.d.ts +0 -12
  278. package/dist/src/programmes/rules/DegreeCountryTuitionFeeSpecificRule.js +0 -62
  279. package/dist/src/programmes/rules/DegreeDisciplineRule.d.ts +0 -16
  280. package/dist/src/programmes/rules/DegreeDisciplineRule.js +0 -189
  281. package/dist/src/programmes/rules/ErasmusOrJointSpecialProgrammesRule.d.ts +0 -9
  282. package/dist/src/programmes/rules/ErasmusOrJointSpecialProgrammesRule.js +0 -28
  283. package/dist/src/programmes/rules/IndexableDegreeRule.d.ts +0 -10
  284. package/dist/src/programmes/rules/IndexableDegreeRule.js +0 -53
  285. package/dist/src/programmes/rules/IndexableDurationRule.d.ts +0 -12
  286. package/dist/src/programmes/rules/IndexableDurationRule.js +0 -37
  287. package/dist/src/programmes/rules/IndexableEducationalFormRule.d.ts +0 -10
  288. package/dist/src/programmes/rules/IndexableEducationalFormRule.js +0 -34
  289. package/dist/src/programmes/rules/IndexablePageNumberRule.d.ts +0 -9
  290. package/dist/src/programmes/rules/IndexablePageNumberRule.js +0 -17
  291. package/dist/src/programmes/rules/MbaDegreeRule.d.ts +0 -6
  292. package/dist/src/programmes/rules/MbaDegreeRule.js +0 -15
  293. package/dist/src/programmes/rules/MbaOrMscDegreeRule.d.ts +0 -9
  294. package/dist/src/programmes/rules/MbaOrMscDegreeRule.js +0 -26
  295. package/dist/src/programmes/rules/NotDistanceLearningPortalRule.d.ts +0 -11
  296. package/dist/src/programmes/rules/NotDistanceLearningPortalRule.js +0 -28
  297. package/dist/src/programmes/rules/OneYearDurationRule.d.ts +0 -6
  298. package/dist/src/programmes/rules/OneYearDurationRule.js +0 -15
  299. package/dist/src/programmes/rules/PartTimeFormatRule.d.ts +0 -6
  300. package/dist/src/programmes/rules/PartTimeFormatRule.js +0 -15
  301. package/dist/src/programmes/types/IProgrammeSearchApplicationState.d.ts +0 -4
  302. package/dist/src/programmes/types/IProgrammeSearchApplicationState.js +0 -1
  303. package/dist/src/programmes/types/IProgrammeSearchDependencies.d.ts +0 -7
  304. package/dist/src/programmes/types/IProgrammeSearchDependencies.js +0 -1
  305. package/dist/src/programmes/types/IProgrammeSearchSitemapDependencies.d.ts +0 -5
  306. package/dist/src/programmes/types/IProgrammeSearchSitemapDependencies.js +0 -1
  307. package/dist/src/programmes/types/IProgrammeSeoDependencies.d.ts +0 -3
  308. package/dist/src/programmes/types/IProgrammeSeoDependencies.js +0 -1
  309. package/dist/src/programmes/types/IProgrammeSitemapDependencies.d.ts +0 -7
  310. package/dist/src/programmes/types/IProgrammeSitemapDependencies.js +0 -1
  311. package/dist/src/programmes/types/IProgrammeSitemapUrlGenerator.d.ts +0 -5
  312. package/dist/src/programmes/types/IProgrammeSitemapUrlGenerator.js +0 -1
  313. package/dist/src/scholarships/SearchIndexabilityManager.d.ts +0 -11
  314. package/dist/src/scholarships/SearchIndexabilityManager.js +0 -33
  315. package/dist/src/scholarships/index.d.ts +0 -3
  316. package/dist/src/scholarships/index.js +0 -3
  317. package/dist/src/scholarships/policies/Area.d.ts +0 -13
  318. package/dist/src/scholarships/policies/Area.js +0 -37
  319. package/dist/src/scholarships/policies/Country.d.ts +0 -12
  320. package/dist/src/scholarships/policies/Country.js +0 -31
  321. package/dist/src/scholarships/policies/Discipline.d.ts +0 -12
  322. package/dist/src/scholarships/policies/Discipline.js +0 -31
  323. package/dist/src/scholarships/policies/DisciplineCountry.d.ts +0 -12
  324. package/dist/src/scholarships/policies/DisciplineCountry.js +0 -39
  325. package/dist/src/scholarships/policies/ScholarshipSeoIndexabilityPolicy.d.ts +0 -7
  326. package/dist/src/scholarships/policies/ScholarshipSeoIndexabilityPolicy.js +0 -7
  327. package/dist/src/scholarships/policies/Unfiltered.d.ts +0 -10
  328. package/dist/src/scholarships/policies/Unfiltered.js +0 -16
  329. package/dist/src/scholarships/policies/UniversityCountry.d.ts +0 -11
  330. package/dist/src/scholarships/policies/UniversityCountry.js +0 -41
  331. package/dist/src/scholarships/rules/ExceptAustaliaAreasRule.d.ts +0 -14
  332. package/dist/src/scholarships/rules/ExceptAustaliaAreasRule.js +0 -42
  333. package/dist/src/scholarships/rules/SearchVolumeAreasRule.d.ts +0 -12
  334. package/dist/src/scholarships/rules/SearchVolumeAreasRule.js +0 -32
  335. package/dist/src/scholarships/rules/SearchVolumeCountriesDisciplinesRule.d.ts +0 -14
  336. package/dist/src/scholarships/rules/SearchVolumeCountriesDisciplinesRule.js +0 -43
  337. package/dist/src/scholarships/rules/SearchVolumeCountriesRule.d.ts +0 -12
  338. package/dist/src/scholarships/rules/SearchVolumeCountriesRule.js +0 -32
  339. package/dist/src/scholarships/rules/SearchVolumeDisciplinesRule.d.ts +0 -12
  340. package/dist/src/scholarships/rules/SearchVolumeDisciplinesRule.js +0 -32
  341. package/dist/src/scholarships/rules/files/search-volume.json +0 -39334
  342. package/dist/src/scholarships/types/IScholarshipSeoDependencies.d.ts +0 -3
  343. package/dist/src/scholarships/types/IScholarshipSeoDependencies.js +0 -1
  344. package/dist/src/scholarships/types/IScholarshipSitemapDependencies.d.ts +0 -5
  345. package/dist/src/scholarships/types/IScholarshipSitemapDependencies.js +0 -1
  346. package/dist/src/scholarships/types.d.ts +0 -5
  347. package/dist/src/scholarships/types.js +0 -5
  348. package/dist/src/sitemap-generator/BaseSitemapUrlGeneratorManager.d.ts +0 -14
  349. package/dist/src/sitemap-generator/BaseSitemapUrlGeneratorManager.js +0 -26
  350. package/dist/src/sitemap-generator/IOrganisation.d.ts +0 -6
  351. package/dist/src/sitemap-generator/IOrganisation.js +0 -1
  352. package/dist/src/sitemap-generator/IOrganisationsClient.d.ts +0 -4
  353. package/dist/src/sitemap-generator/IOrganisationsClient.js +0 -1
  354. package/dist/src/sitemap-generator/IRankingApiClient.d.ts +0 -4
  355. package/dist/src/sitemap-generator/IRankingApiClient.js +0 -1
  356. package/dist/src/sitemap-generator/ISearchApiClient.d.ts +0 -5
  357. package/dist/src/sitemap-generator/ISearchApiClient.js +0 -1
  358. package/dist/src/sitemap-generator/ISitemapUrlGeneratorManager.d.ts +0 -9
  359. package/dist/src/sitemap-generator/ISitemapUrlGeneratorManager.js +0 -1
  360. package/dist/src/sitemap-generator/OrganisationsSitemapUrlGeneratorManager.d.ts +0 -14
  361. package/dist/src/sitemap-generator/OrganisationsSitemapUrlGeneratorManager.js +0 -51
  362. package/dist/src/sitemap-generator/ProgrammesSitemapUrlGeneratorManager.d.ts +0 -12
  363. package/dist/src/sitemap-generator/ProgrammesSitemapUrlGeneratorManager.js +0 -77
  364. package/dist/src/sitemap-generator/ScholarshipsSitemapUrlGeneratorManager.d.ts +0 -9
  365. package/dist/src/sitemap-generator/ScholarshipsSitemapUrlGeneratorManager.js +0 -28
  366. package/dist/src/sitemap-generator/index.d.ts +0 -0
  367. package/dist/src/sitemap-generator/index.js +0 -1
  368. package/dist/src/structured-data/ProgrammeStructuredDataFactory.d.ts +0 -18
  369. package/dist/src/structured-data/ProgrammeStructuredDataFactory.js +0 -91
  370. package/dist/src/structured-data/SearchStructuredDataFactory.d.ts +0 -34
  371. package/dist/src/structured-data/SearchStructuredDataFactory.js +0 -144
  372. package/dist/src/structured-data/dto/BreadcrumbDTO.d.ts +0 -5
  373. package/dist/src/structured-data/dto/BreadcrumbDTO.js +0 -1
  374. package/dist/src/structured-data/dto/EntityDTO.d.ts +0 -7
  375. package/dist/src/structured-data/dto/EntityDTO.js +0 -1
  376. package/dist/src/structured-data/dto/FAQItemDto.d.ts +0 -4
  377. package/dist/src/structured-data/dto/FAQItemDto.js +0 -1
  378. package/dist/src/structured-data/dto/OfferDTO.d.ts +0 -5
  379. package/dist/src/structured-data/dto/OfferDTO.js +0 -1
  380. package/dist/src/structured-data/dto/ReviewRatingDTO.d.ts +0 -4
  381. package/dist/src/structured-data/dto/ReviewRatingDTO.js +0 -1
  382. package/dist/src/structured-data/dto/index.d.ts +0 -5
  383. package/dist/src/structured-data/dto/index.js +0 -5
  384. package/dist/src/structured-data/index.d.ts +0 -2
  385. package/dist/src/structured-data/index.js +0 -2
  386. package/dist/src/structured-data/interface/StructuredDataCurrencyConversionService.d.ts +0 -3
  387. package/dist/src/structured-data/interface/StructuredDataCurrencyConversionService.js +0 -1
  388. package/dist/structured-data-seo/index.d.ts +0 -1
  389. package/dist/structured-data-seo/index.js +0 -1
@@ -1,11 +0,0 @@
1
- import { IPresenter } from '../common';
2
- import { IFragment } from './fragments/IFragment';
3
- import { FilterKey } from '../enums/FilterKey';
4
- export declare class SpecialProgrammesPresenter implements IPresenter {
5
- readonly filterKey: FilterKey;
6
- private static instance;
7
- private readonly fragments;
8
- private constructor();
9
- static getInstance(): SpecialProgrammesPresenter;
10
- getFragments(): IFragment[];
11
- }
@@ -1,28 +0,0 @@
1
- import { FilterKey } from '../enums/FilterKey';
2
- import { SpecialProgrammesFilterOptionValue } from '../enums/SpecialProgrammesFilterOptionValue';
3
- export class SpecialProgrammesPresenter {
4
- filterKey = FilterKey.SPECIAL_PROGRAMMES;
5
- static instance;
6
- fragments;
7
- constructor() {
8
- this.fragments = [
9
- {
10
- id: SpecialProgrammesFilterOptionValue.JOINT_PROGRAMMES,
11
- path: 'joint-programmes'
12
- },
13
- {
14
- id: SpecialProgrammesFilterOptionValue.ERASMUS_MUNDUS,
15
- path: 'erasmus-mundus'
16
- }
17
- ];
18
- }
19
- static getInstance() {
20
- if (!SpecialProgrammesPresenter.instance) {
21
- SpecialProgrammesPresenter.instance = new SpecialProgrammesPresenter();
22
- }
23
- return SpecialProgrammesPresenter.instance;
24
- }
25
- getFragments() {
26
- return this.fragments;
27
- }
28
- }
@@ -1,11 +0,0 @@
1
- import { IPresenter } from '../common';
2
- import { IFragment } from './fragments/IFragment';
3
- import { FilterKey } from '../enums/FilterKey';
4
- export declare class TuitionFeePresenter implements IPresenter {
5
- readonly filterKey: FilterKey;
6
- private static instance;
7
- private readonly fragments;
8
- private constructor();
9
- static getInstance(): TuitionFeePresenter;
10
- getFragments(): IFragment[];
11
- }
@@ -1,24 +0,0 @@
1
- import { FilterKey } from '../enums/FilterKey';
2
- import { TuitionFeeFilterOptionValue } from '../enums/TuitionFeeFilterOptionValue';
3
- export class TuitionFeePresenter {
4
- filterKey = FilterKey.TUITION_FEE;
5
- static instance;
6
- fragments;
7
- constructor() {
8
- this.fragments = [
9
- {
10
- id: TuitionFeeFilterOptionValue.ZERO_TO_TWO_THOUSAND_FIVE_HUNDRED,
11
- path: 'affordable'
12
- }
13
- ];
14
- }
15
- static getInstance() {
16
- if (!TuitionFeePresenter.instance) {
17
- TuitionFeePresenter.instance = new TuitionFeePresenter();
18
- }
19
- return TuitionFeePresenter.instance;
20
- }
21
- getFragments() {
22
- return this.fragments;
23
- }
24
- }
@@ -1,4 +0,0 @@
1
- import { IFragment } from './IFragment';
2
- export interface IAreaFragment extends IFragment {
3
- countryId: string;
4
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,4 +0,0 @@
1
- import { IFragment } from './IFragment';
2
- export interface ICountryFragment extends IFragment {
3
- readonly iso: string;
4
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,4 +0,0 @@
1
- export interface IFragment {
2
- id: string;
3
- path: string;
4
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,6 +0,0 @@
1
- import { BaseFilterKeyValueRule } from '../common/rules/BaseFilterKeyValueRule';
2
- import { FilterKeyValuesMap } from '../common/FilterKeyValuesMap';
3
- import { IProgrammeRule } from './IProgrammeRule';
4
- export declare abstract class BaseProgrammeFilterKeyValueRule extends BaseFilterKeyValueRule implements IProgrammeRule {
5
- forSitemapGeneratorWithPageNumber(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
6
- }
@@ -1,6 +0,0 @@
1
- import { BaseFilterKeyValueRule } from '../common/rules/BaseFilterKeyValueRule';
2
- export class BaseProgrammeFilterKeyValueRule extends BaseFilterKeyValueRule {
3
- forSitemapGeneratorWithPageNumber(filterKeyValues) {
4
- return this.forSitemapGenerator(filterKeyValues);
5
- }
6
- }
@@ -1,10 +0,0 @@
1
- import { FilterKeyValuesMap } from '../common/FilterKeyValuesMap';
2
- import { IProgrammeRule } from './IProgrammeRule';
3
- import { ISearchDependencies } from '../common/ISearchDependencies';
4
- export declare abstract class BaseProgrammeRule implements IProgrammeRule {
5
- forSitemapGeneratorWithPageNumber(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
6
- abstract forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
7
- abstract forSearch(dependencies: ISearchDependencies): Promise<boolean>;
8
- abstract getName(): string;
9
- abstract getDescription(): string;
10
- }
@@ -1,5 +0,0 @@
1
- export class BaseProgrammeRule {
2
- forSitemapGeneratorWithPageNumber(filterKeyValues) {
3
- return this.forSitemapGenerator(filterKeyValues);
4
- }
5
- }
@@ -1,5 +0,0 @@
1
- import { IRule } from '../common/IRule';
2
- import { FilterKeyValuesMap } from '../common/FilterKeyValuesMap';
3
- export interface IProgrammeRule extends IRule {
4
- forSitemapGeneratorWithPageNumber(filterKeyValues: FilterKeyValuesMap, pageNumber: number): Promise<boolean>;
5
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,15 +0,0 @@
1
- import { BaseSeoIndexabilityPolicy } from '../common/policies/BaseSeoIndexabilityPolicy';
2
- import { IProgrammeSeoDependencies } from './types/IProgrammeSeoDependencies';
3
- import { IProgrammeSitemapUrlGenerator } from './types/IProgrammeSitemapUrlGenerator';
4
- import { FilterKey } from "../enums/FilterKey";
5
- import { FilterKeyValuesMap } from '../../sitemap-generator-seo';
6
- import { IProgrammeRule } from './IProgrammeRule';
7
- import { IRule } from '../common/IRule';
8
- export declare abstract class ProgrammesBaseIndexabilityPolicy extends BaseSeoIndexabilityPolicy<IProgrammeSeoDependencies> implements IProgrammeSitemapUrlGenerator {
9
- abstract readonly filterKeys: FilterKey[];
10
- protected readonly indexablePageNumbers: number[];
11
- protected abstract readonly rules: IProgrammeRule[] | IRule[];
12
- protected initateBaseRules(): void;
13
- checkRulesForSitemapWithPageNumber(filterKeyValues: FilterKeyValuesMap, pageNumber: number): Promise<boolean>;
14
- protected getPathWithPageNumber(path: string, pageNumber: number): string;
15
- }
@@ -1,42 +0,0 @@
1
- import { AtLeastSevenResultsRule } from './rules/AtLeastSevenResultsRule';
2
- import { IndexablePageNumberRule } from './rules/IndexablePageNumberRule';
3
- import { NotDistanceLearningPortalRule } from './rules/NotDistanceLearningPortalRule';
4
- import { BaseSeoIndexabilityPolicy } from '../common/policies/BaseSeoIndexabilityPolicy';
5
- export class ProgrammesBaseIndexabilityPolicy extends BaseSeoIndexabilityPolicy {
6
- indexablePageNumbers = [1];
7
- initateBaseRules() {
8
- const indexablePageNumberRule = new IndexablePageNumberRule();
9
- let atLeastSevenResultsRule;
10
- let notDistanceLearningPortalRule;
11
- if (super.isSitemapUrlGeneratorDependencies()) {
12
- const dependencies = this.dependencies;
13
- atLeastSevenResultsRule = new AtLeastSevenResultsRule(dependencies.searchApiClient);
14
- notDistanceLearningPortalRule = new NotDistanceLearningPortalRule(dependencies.portalType);
15
- }
16
- else {
17
- atLeastSevenResultsRule = new AtLeastSevenResultsRule();
18
- notDistanceLearningPortalRule = new NotDistanceLearningPortalRule();
19
- }
20
- this.rules.push(atLeastSevenResultsRule, notDistanceLearningPortalRule, indexablePageNumberRule);
21
- }
22
- async checkRulesForSitemapWithPageNumber(filterKeyValues, pageNumber) {
23
- for (const rule of this.rules) {
24
- let result;
25
- if ('forSitemapGeneratorWithPageNumber' in rule) {
26
- result = await rule.forSitemapGeneratorWithPageNumber(filterKeyValues, pageNumber);
27
- }
28
- else {
29
- result = await rule.forSitemapGenerator(filterKeyValues);
30
- }
31
- if (!result) {
32
- return false;
33
- }
34
- }
35
- return true;
36
- }
37
- getPathWithPageNumber(path, pageNumber) {
38
- if (pageNumber === 2)
39
- return `${path}/page-${pageNumber}`;
40
- return path;
41
- }
42
- }
@@ -1,12 +0,0 @@
1
- import { PortalType } from '@studyportals/domain-client';
2
- import { ISeoIndexabilityPolicy } from '../common/ISeoIndexabilityPolicy';
3
- import { ISeoInfoBase } from '../common/ISeoInfoBase';
4
- import { ISeoFilterState } from '../common/ISeoFilterState';
5
- import { ISearchIndexabilityManager } from '../common/ISearchIndexabilityManager';
6
- import { IProgrammeSearchApplicationState } from './types/IProgrammeSearchApplicationState';
7
- export declare class SearchIndexabilityManager implements ISearchIndexabilityManager {
8
- private policies;
9
- constructor(portalType: PortalType, seoInfoBase: ISeoInfoBase, filterState: ISeoFilterState, applicationState: IProgrammeSearchApplicationState);
10
- getPolicies(): ISeoIndexabilityPolicy[];
11
- shouldIndex(): Promise<boolean>;
12
- }
@@ -1,58 +0,0 @@
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
- import { DependencyTypes } from '../enums/DependencyTypes';
3
- import { Degree } from './policies/Degree';
4
- export class SearchIndexabilityManager {
5
- policies;
6
- constructor(portalType, seoInfoBase, filterState, applicationState) {
7
- const dependencies = {
8
- dependencyType: DependencyTypes.SEARCH,
9
- portalType,
10
- seoInfoBase,
11
- filterState,
12
- applicationState
13
- };
14
- this.policies = [
15
- new Area(dependencies),
16
- new Attendance(dependencies),
17
- new AttendanceDegree(dependencies),
18
- new Continent(dependencies),
19
- new ContinentTuitionFee(dependencies),
20
- new Country(dependencies),
21
- new CountryAttendance(dependencies),
22
- new CountryAttendanceDegree(dependencies),
23
- new CountryDegree(dependencies),
24
- new CountryDuration(dependencies),
25
- new CountryDurationDegree(dependencies),
26
- new CountryEducationalForm(dependencies),
27
- new CountryFormat(dependencies),
28
- new CountryTuitionFee(dependencies),
29
- new Degree(dependencies),
30
- new DegreeAttendanceDiscipline(dependencies),
31
- new DegreeCountryAttendance(dependencies),
32
- new DegreeCountryDiscipline(dependencies),
33
- new DegreeCountryTuitionFee(dependencies),
34
- new Discipline(dependencies),
35
- new DisciplineArea(dependencies),
36
- new DisciplineAttendance(dependencies),
37
- new DisciplineContinent(dependencies),
38
- new DisciplineCountry(dependencies),
39
- new DisciplineCountryEducationalForm(dependencies),
40
- new DisciplineDegree(dependencies),
41
- new DisciplineDuration(dependencies),
42
- new DisciplineEducationalForm(dependencies),
43
- new DisciplineFormat(dependencies),
44
- new DisciplineTuitionFee(dependencies),
45
- new DisciplineTuitionFeeAttendance(dependencies),
46
- new SpecialProgrammes(dependencies),
47
- new TuitionFee(dependencies),
48
- new Unfiltered(dependencies)
49
- ];
50
- }
51
- getPolicies() {
52
- return this.policies;
53
- }
54
- async shouldIndex() {
55
- const results = await Promise.all(this.policies.map((policy) => policy.shouldIndex()));
56
- return results.some((result) => result);
57
- }
58
- }
@@ -1,15 +0,0 @@
1
- import { FilterKey } from "../../enums/FilterKey";
2
- import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
- import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
- import { FilterCombinations } from '../../enums/FilterCombinations';
5
- import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
6
- import { IProgrammeSeoDependencies } from '../types/IProgrammeSeoDependencies';
7
- export declare class Area extends ProgrammesBaseIndexabilityPolicy {
8
- readonly name: string;
9
- readonly description: string;
10
- readonly filterKeys: FilterKey[];
11
- protected readonly rules: (SingleValueSelectedForFilterRule | OnlyFiltersSelectedRule)[];
12
- constructor(dependencies: IProgrammeSeoDependencies);
13
- protected generateUrls(): Promise<string[]>;
14
- get filterCombination(): FilterCombinations;
15
- }
@@ -1,40 +0,0 @@
1
- import { FilterKey } from "../../enums/FilterKey";
2
- import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
- import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
- import { FilterCombinations } from '../../enums/FilterCombinations';
5
- import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
6
- import { AreaPresenter } from '../../presenters/AreaPresenter';
7
- export class Area extends ProgrammesBaseIndexabilityPolicy {
8
- name = 'Area Policy';
9
- description = 'Controls indexing of pages filtered by geographic areas.';
10
- filterKeys = [FilterKey.AREA];
11
- rules = [
12
- new SingleValueSelectedForFilterRule(FilterKey.AREA),
13
- new SingleValueSelectedForFilterRule(FilterKey.COUNTRY),
14
- new OnlyFiltersSelectedRule([FilterKey.AREA, FilterKey.COUNTRY])
15
- ];
16
- constructor(dependencies) {
17
- super(dependencies);
18
- this.initateBaseRules();
19
- }
20
- async generateUrls() {
21
- const areaFragments = AreaPresenter.getInstance().getFragments();
22
- const paths = [];
23
- for (const pageNumber of this.indexablePageNumbers) {
24
- for (const area of areaFragments) {
25
- const filterKeyValues = new Map([
26
- [FilterKey.AREA, [area.id]],
27
- [FilterKey.COUNTRY, [area.countryId]]
28
- ]);
29
- const result = await this.checkRulesForSitemapWithPageNumber(filterKeyValues, pageNumber);
30
- if (result) {
31
- paths.push(this.getPathWithPageNumber(area.path, pageNumber));
32
- }
33
- }
34
- }
35
- return paths;
36
- }
37
- get filterCombination() {
38
- return FilterCombinations.AREA;
39
- }
40
- }
@@ -1,16 +0,0 @@
1
- import { FilterKey } from "../../enums/FilterKey";
2
- import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
- import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
- import { FilterCombinations } from '../../enums/FilterCombinations';
5
- import { OnlineAttendanceRule } from '../../common/rules/OnlineAttendanceRule';
6
- import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
7
- import { IProgrammeSeoDependencies } from '../types/IProgrammeSeoDependencies';
8
- export declare class Attendance extends ProgrammesBaseIndexabilityPolicy {
9
- readonly name: string;
10
- readonly description: string;
11
- readonly filterKeys: FilterKey[];
12
- protected readonly rules: (SingleValueSelectedForFilterRule | OnlyFiltersSelectedRule | OnlineAttendanceRule)[];
13
- constructor(dependencies: IProgrammeSeoDependencies);
14
- protected generateUrls(): Promise<string[]>;
15
- get filterCombination(): FilterCombinations;
16
- }
@@ -1,38 +0,0 @@
1
- import { FilterKey } from "../../enums/FilterKey";
2
- import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
- import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
- import { FilterCombinations } from '../../enums/FilterCombinations';
5
- import { OnlineAttendanceRule } from '../../common/rules/OnlineAttendanceRule';
6
- import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
7
- import { AttendancePresenter } from '../../presenters/AttendancePresenter';
8
- export class Attendance extends ProgrammesBaseIndexabilityPolicy {
9
- name = 'Attendance Policy';
10
- description = 'Determines indexing rules for pages filtered by study format (online, on-campus, etc.).';
11
- filterKeys = [FilterKey.DELIVERY_METHOD];
12
- rules = [
13
- new SingleValueSelectedForFilterRule(FilterKey.DELIVERY_METHOD),
14
- new OnlyFiltersSelectedRule([FilterKey.DELIVERY_METHOD]),
15
- new OnlineAttendanceRule()
16
- ];
17
- constructor(dependencies) {
18
- super(dependencies);
19
- this.initateBaseRules();
20
- }
21
- async generateUrls() {
22
- const attendanceFragments = AttendancePresenter.getInstance().getFragments();
23
- const paths = [];
24
- for (const pageNumber of this.indexablePageNumbers) {
25
- for (const attendance of attendanceFragments) {
26
- const filterKeyValues = new Map([[FilterKey.DELIVERY_METHOD, [attendance.id]]]);
27
- const result = await this.checkRulesForSitemapWithPageNumber(filterKeyValues, pageNumber);
28
- if (result) {
29
- paths.push(this.getPathWithPageNumber(attendance.path, pageNumber));
30
- }
31
- }
32
- }
33
- return paths;
34
- }
35
- get filterCombination() {
36
- return FilterCombinations.ATTENDANCE;
37
- }
38
- }
@@ -1,17 +0,0 @@
1
- import { FilterKey } from "../../enums/FilterKey";
2
- import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
- import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
- import { FilterCombinations } from '../../enums/FilterCombinations';
5
- import { OnlineAttendanceRule } from '../../common/rules/OnlineAttendanceRule';
6
- import { IndexableDegreeRule } from '../rules/IndexableDegreeRule';
7
- import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
8
- import { IProgrammeSeoDependencies } from '../types/IProgrammeSeoDependencies';
9
- export declare class AttendanceDegree extends ProgrammesBaseIndexabilityPolicy {
10
- readonly name: string;
11
- readonly description: string;
12
- readonly filterKeys: FilterKey[];
13
- protected readonly rules: (SingleValueSelectedForFilterRule | OnlyFiltersSelectedRule | OnlineAttendanceRule | IndexableDegreeRule)[];
14
- constructor(dependencies: IProgrammeSeoDependencies);
15
- protected generateUrls(): Promise<string[]>;
16
- get filterCombination(): FilterCombinations;
17
- }
@@ -1,48 +0,0 @@
1
- import { FilterKey } from "../../enums/FilterKey";
2
- import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
- import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
- import { FilterCombinations } from '../../enums/FilterCombinations';
5
- import { OnlineAttendanceRule } from '../../common/rules/OnlineAttendanceRule';
6
- import { IndexableDegreeRule } from '../rules/IndexableDegreeRule';
7
- import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
8
- import { AttendancePresenter } from '../../presenters/AttendancePresenter';
9
- import { DegreePresenter } from '../../presenters/DegreePresenter';
10
- export class AttendanceDegree extends ProgrammesBaseIndexabilityPolicy {
11
- name = 'Attendance Degree Type Policy';
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.';
13
- filterKeys = [FilterKey.DELIVERY_METHOD, FilterKey.DEGREE_TYPE];
14
- rules = [
15
- new SingleValueSelectedForFilterRule(FilterKey.DELIVERY_METHOD),
16
- new SingleValueSelectedForFilterRule(FilterKey.DEGREE_TYPE),
17
- new OnlyFiltersSelectedRule([FilterKey.DELIVERY_METHOD, FilterKey.DEGREE_TYPE]),
18
- new IndexableDegreeRule(),
19
- new OnlineAttendanceRule()
20
- ];
21
- constructor(dependencies) {
22
- super(dependencies);
23
- this.initateBaseRules();
24
- }
25
- async generateUrls() {
26
- const attendanceFragments = AttendancePresenter.getInstance().getFragments();
27
- const degreeFragments = DegreePresenter.getInstance().getFragments();
28
- const paths = [];
29
- for (const pageNumber of this.indexablePageNumbers) {
30
- for (const attendance of attendanceFragments) {
31
- for (const degree of degreeFragments) {
32
- const filterKeyValues = new Map([
33
- [FilterKey.DELIVERY_METHOD, [attendance.id]],
34
- [FilterKey.DEGREE_TYPE, [degree.id]]
35
- ]);
36
- const result = await this.checkRulesForSitemapWithPageNumber(filterKeyValues, pageNumber);
37
- if (result) {
38
- paths.push(this.getPathWithPageNumber(`${degree.path}/${attendance.path}`, pageNumber));
39
- }
40
- }
41
- }
42
- }
43
- return paths;
44
- }
45
- get filterCombination() {
46
- return FilterCombinations.ATTENDANCE_DEGREE;
47
- }
48
- }
@@ -1,15 +0,0 @@
1
- import { FilterKey } from "../../enums/FilterKey";
2
- import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
- import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
- import { FilterCombinations } from '../../enums/FilterCombinations';
5
- import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
6
- import { IProgrammeSeoDependencies } from '../types/IProgrammeSeoDependencies';
7
- export declare class Continent extends ProgrammesBaseIndexabilityPolicy {
8
- readonly name: string;
9
- readonly description: string;
10
- readonly filterKeys: FilterKey[];
11
- protected readonly rules: (SingleValueSelectedForFilterRule | OnlyFiltersSelectedRule)[];
12
- constructor(dependencies: IProgrammeSeoDependencies);
13
- protected generateUrls(): Promise<string[]>;
14
- get filterCombination(): FilterCombinations;
15
- }
@@ -1,36 +0,0 @@
1
- import { FilterKey } from "../../enums/FilterKey";
2
- import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
- import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
- import { FilterCombinations } from '../../enums/FilterCombinations';
5
- import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
6
- import { ContinentPresenter } from '../../presenters/ContinentPresenter';
7
- export class Continent extends ProgrammesBaseIndexabilityPolicy {
8
- name = 'Continent Policy';
9
- description = 'Governs indexing of continent-level filtered pages.';
10
- filterKeys = [FilterKey.CONTINENT];
11
- rules = [
12
- new SingleValueSelectedForFilterRule(FilterKey.CONTINENT),
13
- new OnlyFiltersSelectedRule([FilterKey.CONTINENT])
14
- ];
15
- constructor(dependencies) {
16
- super(dependencies);
17
- this.initateBaseRules();
18
- }
19
- async generateUrls() {
20
- const continentFragments = ContinentPresenter.getInstance().getFragments();
21
- const paths = [];
22
- for (const pageNumber of this.indexablePageNumbers) {
23
- for (const continent of continentFragments) {
24
- const filterKeyValues = new Map([[FilterKey.CONTINENT, [continent.id]]]);
25
- const result = await this.checkRulesForSitemapWithPageNumber(filterKeyValues, pageNumber);
26
- if (result) {
27
- paths.push(this.getPathWithPageNumber(continent.path, pageNumber));
28
- }
29
- }
30
- }
31
- return paths;
32
- }
33
- get filterCombination() {
34
- return FilterCombinations.CONTINENT;
35
- }
36
- }
@@ -1,16 +0,0 @@
1
- import { FilterKey } from "../../enums/FilterKey";
2
- import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
- import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
- import { FilterCombinations } from '../../enums/FilterCombinations';
5
- import { AffordableTuitionFeeRule } from '../rules/AffordableTuitionFeeRule';
6
- import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
7
- import { IProgrammeSeoDependencies } from '../types/IProgrammeSeoDependencies';
8
- export declare class ContinentTuitionFee extends ProgrammesBaseIndexabilityPolicy {
9
- readonly name: string;
10
- readonly description: string;
11
- readonly filterKeys: FilterKey[];
12
- protected readonly rules: (SingleValueSelectedForFilterRule | OnlyFiltersSelectedRule | AffordableTuitionFeeRule)[];
13
- constructor(dependencies: IProgrammeSeoDependencies);
14
- protected generateUrls(): Promise<string[]>;
15
- get filterCombination(): FilterCombinations;
16
- }
@@ -1,46 +0,0 @@
1
- import { FilterKey } from "../../enums/FilterKey";
2
- import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
- import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
- import { FilterCombinations } from '../../enums/FilterCombinations';
5
- import { AffordableTuitionFeeRule } from '../rules/AffordableTuitionFeeRule';
6
- import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
7
- import { ContinentPresenter } from '../../presenters/ContinentPresenter';
8
- import { TuitionFeePresenter } from '../../presenters/TuitionFeePresenter';
9
- export class ContinentTuitionFee extends ProgrammesBaseIndexabilityPolicy {
10
- name = 'Continent Tuition Fee Policy';
11
- description = 'Determines indexing rules for pages filtered by both continent, and tuition fee, priotizing combinations with affordable tuition fees.';
12
- filterKeys = [FilterKey.CONTINENT, FilterKey.TUITION_FEE];
13
- rules = [
14
- new SingleValueSelectedForFilterRule(FilterKey.CONTINENT),
15
- new SingleValueSelectedForFilterRule(FilterKey.TUITION_FEE),
16
- new OnlyFiltersSelectedRule([FilterKey.CONTINENT, FilterKey.TUITION_FEE]),
17
- new AffordableTuitionFeeRule()
18
- ];
19
- constructor(dependencies) {
20
- super(dependencies);
21
- this.initateBaseRules();
22
- }
23
- async generateUrls() {
24
- const continentFragments = ContinentPresenter.getInstance().getFragments();
25
- const tuitionFeeFragments = TuitionFeePresenter.getInstance().getFragments();
26
- const paths = [];
27
- for (const pageNumber of this.indexablePageNumbers) {
28
- for (const continent of continentFragments) {
29
- for (const tuitionFee of tuitionFeeFragments) {
30
- const filterKeyValues = new Map([
31
- [FilterKey.CONTINENT, [continent.id]],
32
- [FilterKey.TUITION_FEE, [tuitionFee.id]]
33
- ]);
34
- const result = await this.checkRulesForSitemapWithPageNumber(filterKeyValues, pageNumber);
35
- if (result) {
36
- paths.push(this.getPathWithPageNumber(`${tuitionFee.path}/${continent.path}`, pageNumber));
37
- }
38
- }
39
- }
40
- }
41
- return paths;
42
- }
43
- get filterCombination() {
44
- return FilterCombinations.CONTINENT_TUITION_FEE;
45
- }
46
- }
@@ -1,15 +0,0 @@
1
- import { FilterKey } from "../../enums/FilterKey";
2
- import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
- import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
- import { FilterCombinations } from '../../enums/FilterCombinations';
5
- import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
6
- import { IProgrammeSeoDependencies } from '../types/IProgrammeSeoDependencies';
7
- export declare class Country extends ProgrammesBaseIndexabilityPolicy {
8
- readonly name: string;
9
- readonly description: string;
10
- readonly filterKeys: FilterKey[];
11
- protected readonly rules: (SingleValueSelectedForFilterRule | OnlyFiltersSelectedRule)[];
12
- constructor(dependencies: IProgrammeSeoDependencies);
13
- protected generateUrls(): Promise<string[]>;
14
- get filterCombination(): FilterCombinations;
15
- }
@@ -1,33 +0,0 @@
1
- import { FilterKey } from "../../enums/FilterKey";
2
- import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
3
- import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
4
- import { FilterCombinations } from '../../enums/FilterCombinations';
5
- import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
6
- import { CountryPresenter } from '../../presenters/CountryPresenter';
7
- export class Country extends ProgrammesBaseIndexabilityPolicy {
8
- name = 'Country Policy';
9
- description = 'Governs indexing of country-level filtered pages.';
10
- filterKeys = [FilterKey.COUNTRY];
11
- rules = [new SingleValueSelectedForFilterRule(FilterKey.COUNTRY), new OnlyFiltersSelectedRule([FilterKey.COUNTRY])];
12
- constructor(dependencies) {
13
- super(dependencies);
14
- this.initateBaseRules();
15
- }
16
- async generateUrls() {
17
- const countryFragments = CountryPresenter.getInstance().getFragments();
18
- const paths = [];
19
- for (const pageNumber of this.indexablePageNumbers) {
20
- for (const country of countryFragments) {
21
- const filterKeyValues = new Map([[FilterKey.COUNTRY, [country.id]]]);
22
- const result = await this.checkRulesForSitemapWithPageNumber(filterKeyValues, pageNumber);
23
- if (result) {
24
- paths.push(this.getPathWithPageNumber(country.path, pageNumber));
25
- }
26
- }
27
- }
28
- return paths;
29
- }
30
- get filterCombination() {
31
- return FilterCombinations.COUNTRY;
32
- }
33
- }