@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,63 +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 { DegreeAttendanceDisciplineSpecificRule } from '../rules/DegreeAttendanceDisciplineSpecificRule';
6
- import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
7
- import { DegreePresenter } from '../../presenters/DegreePresenter';
8
- import { AttendancePresenter } from '../../presenters/AttendancePresenter';
9
- import { DisciplinePresenter } from '../../presenters/DisciplinePresenter';
10
- import { DegreeTypeFilterOptionValue } from "../../enums/DegreeTypeFilterOptionValue";
11
- export class DegreeAttendanceDiscipline extends ProgrammesBaseIndexabilityPolicy {
12
- name = 'Degree Attendance Discipline Policy';
13
- description = 'Determines indexing rules for pages filtered by degree type, attendance, and discipline.';
14
- filterKeys = [FilterKey.DEGREE_TYPE, FilterKey.DELIVERY_METHOD, FilterKey.DISCIPLINES];
15
- rules = [
16
- new SingleValueSelectedForFilterRule(FilterKey.DEGREE_TYPE),
17
- new SingleValueSelectedForFilterRule(FilterKey.DELIVERY_METHOD),
18
- new SingleValueSelectedForFilterRule(FilterKey.DISCIPLINES),
19
- new OnlyFiltersSelectedRule([FilterKey.DEGREE_TYPE, FilterKey.DELIVERY_METHOD, FilterKey.DISCIPLINES]),
20
- new DegreeAttendanceDisciplineSpecificRule(),
21
- ];
22
- constructor(dependencies) {
23
- super(dependencies);
24
- this.initateBaseRules();
25
- }
26
- async generateUrls() {
27
- const degreeFragments = DegreePresenter.getInstance().getFragments();
28
- const attendanceFragments = AttendancePresenter.getInstance().getFragments();
29
- const disciplineFragments = DisciplinePresenter.getInstance().getFragments();
30
- const paths = [];
31
- const allowedDegreeIds = [
32
- DegreeTypeFilterOptionValue.MA,
33
- DegreeTypeFilterOptionValue.MSC,
34
- DegreeTypeFilterOptionValue.MBA
35
- ];
36
- const onlineAttendance = attendanceFragments.find(a => a.id === 'online');
37
- if (!onlineAttendance) {
38
- return paths;
39
- }
40
- for (const pageNumber of this.indexablePageNumbers) {
41
- for (const degreeId of allowedDegreeIds) {
42
- const degree = degreeFragments.find(d => d.id === degreeId);
43
- if (!degree)
44
- continue;
45
- for (const discipline of disciplineFragments) {
46
- const filterKeyValues = new Map([
47
- [FilterKey.DEGREE_TYPE, [degree.id]],
48
- [FilterKey.DELIVERY_METHOD, [onlineAttendance.id]],
49
- [FilterKey.DISCIPLINES, [discipline.id]]
50
- ]);
51
- const result = await this.checkRulesForSitemapWithPageNumber(filterKeyValues, pageNumber);
52
- if (result) {
53
- paths.push(this.getPathWithPageNumber(`${degree.path}/${onlineAttendance.path}/${discipline.path}`, pageNumber));
54
- }
55
- }
56
- }
57
- }
58
- return paths;
59
- }
60
- get filterCombination() {
61
- return FilterCombinations.DEGREE_ATTENDANCE_DISCIPLINE;
62
- }
63
- }
@@ -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 { DegreeCountryAttendanceSpecificRule } from '../rules/DegreeCountryAttendanceSpecificRule';
6
- import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
7
- import { IProgrammeSeoDependencies } from '../types/IProgrammeSeoDependencies';
8
- export declare class DegreeCountryAttendance extends ProgrammesBaseIndexabilityPolicy {
9
- readonly name: string;
10
- readonly description: string;
11
- readonly filterKeys: FilterKey[];
12
- protected readonly rules: (SingleValueSelectedForFilterRule | OnlyFiltersSelectedRule | DegreeCountryAttendanceSpecificRule)[];
13
- constructor(dependencies: IProgrammeSeoDependencies);
14
- protected generateUrls(): Promise<string[]>;
15
- get filterCombination(): FilterCombinations;
16
- }
@@ -1,88 +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 { DegreeCountryAttendanceSpecificRule } from '../rules/DegreeCountryAttendanceSpecificRule';
6
- import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
7
- import { DegreePresenter } from '../../presenters/DegreePresenter';
8
- import { CountryPresenter } from '../../presenters/CountryPresenter';
9
- import { AttendancePresenter } from '../../presenters/AttendancePresenter';
10
- import { DegreeTypeFilterOptionValue } from "../../enums/DegreeTypeFilterOptionValue";
11
- export class DegreeCountryAttendance extends ProgrammesBaseIndexabilityPolicy {
12
- name = 'Degree Country Attendance Policy';
13
- description = 'Determines indexing rules for pages filtered by degree type, country, and attendance.';
14
- filterKeys = [FilterKey.DEGREE_TYPE, FilterKey.COUNTRY, FilterKey.DELIVERY_METHOD];
15
- rules = [
16
- new SingleValueSelectedForFilterRule(FilterKey.DEGREE_TYPE),
17
- new SingleValueSelectedForFilterRule(FilterKey.COUNTRY),
18
- new SingleValueSelectedForFilterRule(FilterKey.DELIVERY_METHOD),
19
- new OnlyFiltersSelectedRule([FilterKey.DEGREE_TYPE, FilterKey.COUNTRY, FilterKey.DELIVERY_METHOD]),
20
- new DegreeCountryAttendanceSpecificRule(),
21
- ];
22
- constructor(dependencies) {
23
- super(dependencies);
24
- this.initateBaseRules();
25
- }
26
- async generateUrls() {
27
- const degreeFragments = DegreePresenter.getInstance().getFragments();
28
- const countryFragments = CountryPresenter.getInstance().getFragments();
29
- const attendanceFragments = AttendancePresenter.getInstance().getFragments();
30
- const paths = [];
31
- const mba = degreeFragments.find(d => d.id === DegreeTypeFilterOptionValue.MBA.valueOf());
32
- const llm = degreeFragments.find(d => d.id === DegreeTypeFilterOptionValue.LLM.valueOf());
33
- const mphil = degreeFragments.find(d => d.id === DegreeTypeFilterOptionValue.MPHIL.valueOf());
34
- const onlineAttendance = attendanceFragments.find(a => a.id === 'online');
35
- if (!onlineAttendance) {
36
- return paths;
37
- }
38
- const llmAllowedCountryIds = ['82', '30', '56', '108'];
39
- const mphilAllowedCountryIds = ['82', '30', '108'];
40
- for (const pageNumber of this.indexablePageNumbers) {
41
- if (mba) {
42
- for (const country of countryFragments) {
43
- const filterKeyValues = new Map([
44
- [FilterKey.DEGREE_TYPE, [mba.id]],
45
- [FilterKey.COUNTRY, [country.id]],
46
- [FilterKey.DELIVERY_METHOD, [onlineAttendance.id]]
47
- ]);
48
- const result = await this.checkRulesForSitemapWithPageNumber(filterKeyValues, pageNumber);
49
- if (result) {
50
- paths.push(this.getPathWithPageNumber(`${mba.path}/${country.path}/${onlineAttendance.path}`, pageNumber));
51
- }
52
- }
53
- }
54
- if (llm) {
55
- const llmCountries = countryFragments.filter(c => llmAllowedCountryIds.includes(c.id));
56
- for (const country of llmCountries) {
57
- const filterKeyValues = new Map([
58
- [FilterKey.DEGREE_TYPE, [llm.id]],
59
- [FilterKey.COUNTRY, [country.id]],
60
- [FilterKey.DELIVERY_METHOD, [onlineAttendance.id]]
61
- ]);
62
- const result = await this.checkRulesForSitemapWithPageNumber(filterKeyValues, pageNumber);
63
- if (result) {
64
- paths.push(this.getPathWithPageNumber(`${llm.path}/${country.path}/${onlineAttendance.path}`, pageNumber));
65
- }
66
- }
67
- }
68
- if (mphil) {
69
- const mphilCountries = countryFragments.filter(c => mphilAllowedCountryIds.includes(c.id));
70
- for (const country of mphilCountries) {
71
- const filterKeyValues = new Map([
72
- [FilterKey.DEGREE_TYPE, [mphil.id]],
73
- [FilterKey.COUNTRY, [country.id]],
74
- [FilterKey.DELIVERY_METHOD, [onlineAttendance.id]]
75
- ]);
76
- const result = await this.checkRulesForSitemapWithPageNumber(filterKeyValues, pageNumber);
77
- if (result) {
78
- paths.push(this.getPathWithPageNumber(`${mphil.path}/${country.path}/${onlineAttendance.path}`, pageNumber));
79
- }
80
- }
81
- }
82
- }
83
- return paths;
84
- }
85
- get filterCombination() {
86
- return FilterCombinations.DEGREE_COUNTRY_ATTENDANCE;
87
- }
88
- }
@@ -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 { DegreeCountryDisciplineSpecificRule } from '../rules/DegreeCountryDisciplineSpecificRule';
6
- import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
7
- import { IProgrammeSeoDependencies } from '../types/IProgrammeSeoDependencies';
8
- export declare class DegreeCountryDiscipline extends ProgrammesBaseIndexabilityPolicy {
9
- readonly name: string;
10
- readonly description: string;
11
- readonly filterKeys: FilterKey[];
12
- protected readonly rules: (SingleValueSelectedForFilterRule | OnlyFiltersSelectedRule | DegreeCountryDisciplineSpecificRule)[];
13
- constructor(dependencies: IProgrammeSeoDependencies);
14
- protected generateUrls(): Promise<string[]>;
15
- get filterCombination(): FilterCombinations;
16
- }
@@ -1,71 +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 { DegreeCountryDisciplineSpecificRule } from '../rules/DegreeCountryDisciplineSpecificRule';
6
- import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
7
- import { DegreePresenter } from '../../presenters/DegreePresenter';
8
- import { CountryPresenter } from '../../presenters/CountryPresenter';
9
- import { DisciplinePresenter } from '../../presenters/DisciplinePresenter';
10
- import { DegreeTypeFilterOptionValue } from "../../enums/DegreeTypeFilterOptionValue";
11
- export class DegreeCountryDiscipline extends ProgrammesBaseIndexabilityPolicy {
12
- name = 'Degree Country Discipline Policy';
13
- description = 'Determines indexing rules for pages filtered by degree type, country, and discipline with specific degree-country combinations.';
14
- filterKeys = [FilterKey.DEGREE_TYPE, FilterKey.COUNTRY, FilterKey.DISCIPLINES];
15
- rules = [
16
- new SingleValueSelectedForFilterRule(FilterKey.DEGREE_TYPE),
17
- new SingleValueSelectedForFilterRule(FilterKey.COUNTRY),
18
- new SingleValueSelectedForFilterRule(FilterKey.DISCIPLINES),
19
- new OnlyFiltersSelectedRule([FilterKey.DEGREE_TYPE, FilterKey.COUNTRY, FilterKey.DISCIPLINES]),
20
- new DegreeCountryDisciplineSpecificRule(),
21
- ];
22
- constructor(dependencies) {
23
- super(dependencies);
24
- this.initateBaseRules();
25
- }
26
- async generateUrls() {
27
- const degreeFragments = DegreePresenter.getInstance().getFragments();
28
- const countryFragments = CountryPresenter.getInstance().getFragments();
29
- const disciplineFragments = DisciplinePresenter.getInstance().getFragments();
30
- const paths = [];
31
- const degreeCountryMap = {
32
- [DegreeTypeFilterOptionValue.MSC]: ['82', '56', '11', '30'],
33
- [DegreeTypeFilterOptionValue.MBA]: ['82', '30'],
34
- [DegreeTypeFilterOptionValue.MED]: ['202', '56']
35
- };
36
- const educationDisciplineIds = [
37
- '289', '290', '360', '291', '292', '333', '8', '349',
38
- '293', '98', '371', '363', '355', '370', '348', '97',
39
- '359', '345', '295', '358'
40
- ];
41
- for (const pageNumber of this.indexablePageNumbers) {
42
- for (const [degreeId, allowedCountryIds] of Object.entries(degreeCountryMap)) {
43
- const degree = degreeFragments.find(d => d.id === degreeId);
44
- if (!degree)
45
- continue;
46
- const allowedCountries = countryFragments.filter(c => allowedCountryIds.includes(c.id));
47
- let allowedDisciplines = disciplineFragments;
48
- if (degreeId === 'med') {
49
- allowedDisciplines = disciplineFragments.filter(d => educationDisciplineIds.includes(d.id));
50
- }
51
- for (const country of allowedCountries) {
52
- for (const discipline of allowedDisciplines) {
53
- const filterKeyValues = new Map([
54
- [FilterKey.DEGREE_TYPE, [degree.id]],
55
- [FilterKey.COUNTRY, [country.id]],
56
- [FilterKey.DISCIPLINES, [discipline.id]]
57
- ]);
58
- const result = await this.checkRulesForSitemapWithPageNumber(filterKeyValues, pageNumber);
59
- if (result) {
60
- paths.push(this.getPathWithPageNumber(`${degree.path}/${discipline.path}/${country.path}`, pageNumber));
61
- }
62
- }
63
- }
64
- }
65
- }
66
- return paths;
67
- }
68
- get filterCombination() {
69
- return FilterCombinations.DEGREE_COUNTRY_DISCIPLINE;
70
- }
71
- }
@@ -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 { DegreeCountryTuitionFeeSpecificRule } from '../rules/DegreeCountryTuitionFeeSpecificRule';
6
- import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
7
- import { IProgrammeSeoDependencies } from '../types/IProgrammeSeoDependencies';
8
- export declare class DegreeCountryTuitionFee extends ProgrammesBaseIndexabilityPolicy {
9
- readonly name: string;
10
- readonly description: string;
11
- readonly filterKeys: FilterKey[];
12
- protected readonly rules: (SingleValueSelectedForFilterRule | OnlyFiltersSelectedRule | DegreeCountryTuitionFeeSpecificRule)[];
13
- constructor(dependencies: IProgrammeSeoDependencies);
14
- protected generateUrls(): Promise<string[]>;
15
- get filterCombination(): FilterCombinations;
16
- }
@@ -1,73 +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 { DegreeCountryTuitionFeeSpecificRule } from '../rules/DegreeCountryTuitionFeeSpecificRule';
6
- import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
7
- import { DegreePresenter } from '../../presenters/DegreePresenter';
8
- import { CountryPresenter } from '../../presenters/CountryPresenter';
9
- import { TuitionFeePresenter } from '../../presenters/TuitionFeePresenter';
10
- import { DegreeTypeFilterOptionValue } from "../../enums/DegreeTypeFilterOptionValue";
11
- import { TuitionFeeFilterOptionValue } from "../../enums/TuitionFeeFilterOptionValue";
12
- export class DegreeCountryTuitionFee extends ProgrammesBaseIndexabilityPolicy {
13
- name = 'Degree Country Tuition Fee Policy';
14
- description = 'Determines indexing rules for pages filtered by degree type, country, and tuition fee.';
15
- filterKeys = [FilterKey.DEGREE_TYPE, FilterKey.COUNTRY, FilterKey.TUITION_FEE];
16
- rules = [
17
- new SingleValueSelectedForFilterRule(FilterKey.DEGREE_TYPE),
18
- new SingleValueSelectedForFilterRule(FilterKey.COUNTRY),
19
- new SingleValueSelectedForFilterRule(FilterKey.TUITION_FEE),
20
- new OnlyFiltersSelectedRule([FilterKey.DEGREE_TYPE, FilterKey.COUNTRY, FilterKey.TUITION_FEE]),
21
- new DegreeCountryTuitionFeeSpecificRule(),
22
- ];
23
- constructor(dependencies) {
24
- super(dependencies);
25
- this.initateBaseRules();
26
- }
27
- async generateUrls() {
28
- const degreeFragments = DegreePresenter.getInstance().getFragments();
29
- const countryFragments = CountryPresenter.getInstance().getFragments();
30
- const tuitionFeeFragments = TuitionFeePresenter.getInstance().getFragments();
31
- const paths = [];
32
- const mba = degreeFragments.find(d => d.id === DegreeTypeFilterOptionValue.MBA.valueOf());
33
- const llm = degreeFragments.find(d => d.id === DegreeTypeFilterOptionValue.LLM.valueOf());
34
- const affordableTuition = tuitionFeeFragments.find(t => t.id === TuitionFeeFilterOptionValue.ZERO_TO_TWO_THOUSAND_FIVE_HUNDRED);
35
- if (!affordableTuition) {
36
- return paths;
37
- }
38
- const llmAllowedCountryIds = ['82', '30', '56', '108'];
39
- for (const pageNumber of this.indexablePageNumbers) {
40
- if (mba) {
41
- for (const country of countryFragments) {
42
- const filterKeyValues = new Map([
43
- [FilterKey.DEGREE_TYPE, [mba.id]],
44
- [FilterKey.COUNTRY, [country.id]],
45
- [FilterKey.TUITION_FEE, [affordableTuition.id]]
46
- ]);
47
- const result = await this.checkRulesForSitemapWithPageNumber(filterKeyValues, pageNumber);
48
- if (result) {
49
- paths.push(this.getPathWithPageNumber(`${mba.path}/${country.path}/${affordableTuition.path}`, pageNumber));
50
- }
51
- }
52
- }
53
- if (llm) {
54
- const llmCountries = countryFragments.filter(c => llmAllowedCountryIds.includes(c.id));
55
- for (const country of llmCountries) {
56
- const filterKeyValues = new Map([
57
- [FilterKey.DEGREE_TYPE, [llm.id]],
58
- [FilterKey.COUNTRY, [country.id]],
59
- [FilterKey.TUITION_FEE, [affordableTuition.id]]
60
- ]);
61
- const result = await this.checkRulesForSitemapWithPageNumber(filterKeyValues, pageNumber);
62
- if (result) {
63
- paths.push(this.getPathWithPageNumber(`${llm.path}/${country.path}/${affordableTuition.path}`, pageNumber));
64
- }
65
- }
66
- }
67
- }
68
- return paths;
69
- }
70
- get filterCombination() {
71
- return FilterCombinations.DEGREE_COUNTRY_TUITION_FEE;
72
- }
73
- }
@@ -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 Discipline 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 { DisciplinePresenter } from '../../presenters/DisciplinePresenter';
7
- export class Discipline extends ProgrammesBaseIndexabilityPolicy {
8
- name = 'Discipline Policy';
9
- description = 'Controls indexing of pages filtered by discipline.';
10
- filterKeys = [FilterKey.DISCIPLINES];
11
- rules = [
12
- new SingleValueSelectedForFilterRule(FilterKey.DISCIPLINES),
13
- new OnlyFiltersSelectedRule([FilterKey.DISCIPLINES])
14
- ];
15
- constructor(dependencies) {
16
- super(dependencies);
17
- this.initateBaseRules();
18
- }
19
- async generateUrls() {
20
- const disciplineFragments = DisciplinePresenter.getInstance().getFragments();
21
- const paths = [];
22
- for (const pageNumber of this.indexablePageNumbers) {
23
- for (const discipline of disciplineFragments) {
24
- const filterKeyValues = new Map([[FilterKey.DISCIPLINES, [discipline.id]]]);
25
- const result = await this.checkRulesForSitemapWithPageNumber(filterKeyValues, pageNumber);
26
- if (result) {
27
- paths.push(this.getPathWithPageNumber(discipline.path, pageNumber));
28
- }
29
- }
30
- }
31
- return paths;
32
- }
33
- get filterCombination() {
34
- return FilterCombinations.DISCIPLINE;
35
- }
36
- }
@@ -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 DisciplineArea 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,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 { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
6
- import { DisciplinePresenter } from '../../presenters/DisciplinePresenter';
7
- import { AreaPresenter } from '../../presenters/AreaPresenter';
8
- export class DisciplineArea extends ProgrammesBaseIndexabilityPolicy {
9
- name = 'Discipline Area Policy';
10
- description = 'Determines indexing rules for pages filtered by both discipline, and geographic areas.';
11
- filterKeys = [FilterKey.DISCIPLINES, FilterKey.AREA];
12
- rules = [
13
- new SingleValueSelectedForFilterRule(FilterKey.DISCIPLINES),
14
- new SingleValueSelectedForFilterRule(FilterKey.AREA),
15
- new SingleValueSelectedForFilterRule(FilterKey.COUNTRY),
16
- new OnlyFiltersSelectedRule([FilterKey.DISCIPLINES, FilterKey.AREA, FilterKey.COUNTRY])
17
- ];
18
- constructor(dependencies) {
19
- super(dependencies);
20
- this.initateBaseRules();
21
- }
22
- async generateUrls() {
23
- const disciplineFragments = DisciplinePresenter.getInstance().getFragments();
24
- const areaFragments = AreaPresenter.getInstance().getFragments();
25
- const paths = [];
26
- for (const pageNumber of this.indexablePageNumbers) {
27
- for (const discipline of disciplineFragments) {
28
- for (const area of areaFragments) {
29
- const filterKeyValues = new Map([
30
- [FilterKey.DISCIPLINES, [discipline.id]],
31
- [FilterKey.AREA, [area.id]],
32
- [FilterKey.COUNTRY, [area.countryId]]
33
- ]);
34
- const result = await this.checkRulesForSitemapWithPageNumber(filterKeyValues, pageNumber);
35
- if (result) {
36
- paths.push(this.getPathWithPageNumber(`${discipline.path}/${area.path}`, pageNumber));
37
- }
38
- }
39
- }
40
- }
41
- return paths;
42
- }
43
- get filterCombination() {
44
- return FilterCombinations.DISCIPLINE_AREA;
45
- }
46
- }
@@ -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 DisciplineAttendance 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,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 { OnlineAttendanceRule } from '../../common/rules/OnlineAttendanceRule';
6
- import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
7
- import { DisciplinePresenter } from '../../presenters/DisciplinePresenter';
8
- import { AttendancePresenter } from '../../presenters/AttendancePresenter';
9
- export class DisciplineAttendance extends ProgrammesBaseIndexabilityPolicy {
10
- name = 'Discipline Attendance Policy';
11
- description = 'Determines indexing rules for pages filtered by both discipline, and study format (online, on-campus, etc.).';
12
- filterKeys = [FilterKey.DISCIPLINES, FilterKey.DELIVERY_METHOD];
13
- rules = [
14
- new SingleValueSelectedForFilterRule(FilterKey.DISCIPLINES),
15
- new SingleValueSelectedForFilterRule(FilterKey.DELIVERY_METHOD),
16
- new OnlyFiltersSelectedRule([FilterKey.DISCIPLINES, FilterKey.DELIVERY_METHOD]),
17
- new OnlineAttendanceRule()
18
- ];
19
- constructor(dependencies) {
20
- super(dependencies);
21
- this.initateBaseRules();
22
- }
23
- async generateUrls() {
24
- const disciplineFragments = DisciplinePresenter.getInstance().getFragments();
25
- const attendanceFragments = AttendancePresenter.getInstance().getFragments();
26
- const paths = [];
27
- for (const pageNumber of this.indexablePageNumbers) {
28
- for (const discipline of disciplineFragments) {
29
- for (const attendance of attendanceFragments) {
30
- const filterKeyValues = new Map([
31
- [FilterKey.DISCIPLINES, [discipline.id]],
32
- [FilterKey.DELIVERY_METHOD, [attendance.id]]
33
- ]);
34
- const result = await this.checkRulesForSitemapWithPageNumber(filterKeyValues, pageNumber);
35
- if (result) {
36
- paths.push(this.getPathWithPageNumber(`${attendance.path}/${discipline.path}`, pageNumber));
37
- }
38
- }
39
- }
40
- }
41
- return paths;
42
- }
43
- get filterCombination() {
44
- return FilterCombinations.DISCIPLINE_ATTENDANCE;
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 DisciplineContinent 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,44 +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 { DisciplinePresenter } from '../../presenters/DisciplinePresenter';
7
- import { ContinentPresenter } from '../../presenters/ContinentPresenter';
8
- export class DisciplineContinent extends ProgrammesBaseIndexabilityPolicy {
9
- name = 'Discipline Continent Policy';
10
- description = 'Determines indexing rules for pages filtered by both discipline, and continent.';
11
- filterKeys = [FilterKey.DISCIPLINES, FilterKey.CONTINENT];
12
- rules = [
13
- new SingleValueSelectedForFilterRule(FilterKey.DISCIPLINES),
14
- new SingleValueSelectedForFilterRule(FilterKey.CONTINENT),
15
- new OnlyFiltersSelectedRule([FilterKey.DISCIPLINES, FilterKey.CONTINENT])
16
- ];
17
- constructor(dependencies) {
18
- super(dependencies);
19
- this.initateBaseRules();
20
- }
21
- async generateUrls() {
22
- const disciplineFragments = DisciplinePresenter.getInstance().getFragments();
23
- const continentFragments = ContinentPresenter.getInstance().getFragments();
24
- const paths = [];
25
- for (const pageNumber of this.indexablePageNumbers) {
26
- for (const discipline of disciplineFragments) {
27
- for (const continent of continentFragments) {
28
- const filterKeyValues = new Map([
29
- [FilterKey.DISCIPLINES, [discipline.id]],
30
- [FilterKey.CONTINENT, [continent.id]]
31
- ]);
32
- const result = await this.checkRulesForSitemapWithPageNumber(filterKeyValues, pageNumber);
33
- if (result) {
34
- paths.push(this.getPathWithPageNumber(`${discipline.path}/${continent.path}`, pageNumber));
35
- }
36
- }
37
- }
38
- }
39
- return paths;
40
- }
41
- get filterCombination() {
42
- return FilterCombinations.DISCIPLINE_CONTINENT;
43
- }
44
- }
@@ -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 DisciplineCountry 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
- }