@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,189 +0,0 @@
1
- import { FilterKey } from "../../enums/FilterKey";
2
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
3
- import { DegreeTypeFilterOptionValue } from "../../enums/DegreeTypeFilterOptionValue";
4
- export class DegreeDisciplineRule extends BaseProgrammeRule {
5
- degreesAcceptingAllDisciplines = [
6
- DegreeTypeFilterOptionValue.MA,
7
- DegreeTypeFilterOptionValue.MSC,
8
- DegreeTypeFilterOptionValue.MBA
9
- ];
10
- allIndexableDegrees = [
11
- DegreeTypeFilterOptionValue.MA,
12
- DegreeTypeFilterOptionValue.MSC,
13
- DegreeTypeFilterOptionValue.MBA,
14
- DegreeTypeFilterOptionValue.LLM,
15
- DegreeTypeFilterOptionValue.MPHIL,
16
- DegreeTypeFilterOptionValue.MED,
17
- DegreeTypeFilterOptionValue.MENG,
18
- DegreeTypeFilterOptionValue.POSTGRADIP
19
- ];
20
- lawDisciplineIds = [
21
- '6', // Law (main discipline)
22
- '219', // Business Law
23
- '114', // Civil & Private Law
24
- '341', // Criminal Justice
25
- '109', // Criminal Law
26
- '48', // European Law
27
- '85', // International Law
28
- '220', // Legal Studies
29
- '221', // Master of Laws (LLM)
30
- '49', // Patent & Intellectual Property Law
31
- '115', // Public Law
32
- '247',
33
- '278',
34
- '87',
35
- '323',
36
- '108',
37
- '362',
38
- '241',
39
- '127'
40
- ];
41
- masterOfPhilosophyDisciplineIds = [
42
- '118',
43
- '23',
44
- '335',
45
- '71',
46
- '281',
47
- '4',
48
- '8',
49
- '293',
50
- '272',
51
- '330',
52
- '87',
53
- '111',
54
- '6',
55
- '332',
56
- '40',
57
- '308',
58
- '224',
59
- '113',
60
- '84',
61
- '38',
62
- '79',
63
- '278',
64
- '80'
65
- ];
66
- educationDisciplineIds = [
67
- '289', // Education & Training (main discipline)
68
- '290', // Adult Education
69
- '360', // Art Education
70
- '291', // Coaching
71
- '292', // School Counselling
72
- '333', // Early Childhood Education
73
- '8', // Education
74
- '349', // Educational Leadership
75
- '293', // Educational Psychology
76
- '98', // Educational Research
77
- '371', // Health Education
78
- '363', // Higher Education
79
- '355', // Instructional Design
80
- '370', // Literacy Education
81
- '348', // Primary Education
82
- '97', // Special Education
83
- '359', // Secondary Education
84
- '345', // STEM Education
85
- '295', // Teaching
86
- '358' // Teaching English as a Foreign Language
87
- ];
88
- engineeringDisciplineIds = [
89
- '7', // Engineering & Technology (main discipline)
90
- '24', // Computer Science & IT
91
- '37', // Aerospace Engineering
92
- '250', // Automotive Engineering
93
- '30', // Bio & Biomedical Engineering
94
- '32', // Chemical Engineering
95
- '29', // Civil Engineering & Construction
96
- '340', // Communications Engineering
97
- '34', // Electrical Engineering
98
- '83', // Electronics & Embedded Technology
99
- '94', // Energy Engineering
100
- '28', // Environmental Engineering
101
- '251', // General Engineering & Technology
102
- '26', // Industrial & Systems Engineering
103
- '252', // Marine Engineering
104
- '33', // Materials Science
105
- '39', // Mechanical Engineering
106
- '253', // Mechatronics
107
- '254', // Mining, Oil & Gas
108
- '367', // Nuclear Engineering
109
- '255', // Robotics
110
- '350', // Sound Engineering
111
- '256', // Sustainable Energy
112
- '257', // Transportation Engineering
113
- '397', // Production and Manufacturing Engineering
114
- '399' // Structural Engineering
115
- ];
116
- postgraduateDiplomaDisciplineIds = [
117
- '362', '241', '108', '133', '373', '356', '282', '311', '113', '79'
118
- ];
119
- getName() {
120
- return 'DegreeDisciplineRule';
121
- }
122
- getDescription() {
123
- return 'Indexes: master-of-arts, master-of-science, master-of-business-administration + all disciplines; master-of-laws + law disciplines only; master-of-philosophy + specific disciplines only; master-of-education + education & training disciplines only; master-of-engineering + engineering & technology disciplines only; postgraduate-diploma + specific disciplines only';
124
- }
125
- forSearch(dependencies) {
126
- const { seoInfoBase, filterState } = dependencies;
127
- const degreeTypeValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DEGREE_TYPE, filterState);
128
- const disciplineValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DISCIPLINES, filterState);
129
- if (!degreeTypeValue || !disciplineValue) {
130
- return Promise.resolve(false);
131
- }
132
- if (!this.allIndexableDegrees.includes(degreeTypeValue)) {
133
- return Promise.resolve(false);
134
- }
135
- if (degreeTypeValue === DegreeTypeFilterOptionValue.LLM) {
136
- return Promise.resolve(this.lawDisciplineIds.includes(disciplineValue));
137
- }
138
- if (degreeTypeValue === DegreeTypeFilterOptionValue.MPHIL) {
139
- return Promise.resolve(this.masterOfPhilosophyDisciplineIds.includes(disciplineValue));
140
- }
141
- if (degreeTypeValue === DegreeTypeFilterOptionValue.MED) {
142
- return Promise.resolve(this.educationDisciplineIds.includes(disciplineValue));
143
- }
144
- if (degreeTypeValue === DegreeTypeFilterOptionValue.MENG) {
145
- return Promise.resolve(this.engineeringDisciplineIds.includes(disciplineValue));
146
- }
147
- if (degreeTypeValue === DegreeTypeFilterOptionValue.POSTGRADIP) {
148
- return Promise.resolve(this.postgraduateDiplomaDisciplineIds.includes(disciplineValue));
149
- }
150
- if (this.degreesAcceptingAllDisciplines.includes(degreeTypeValue)) {
151
- return Promise.resolve(true);
152
- }
153
- return Promise.resolve(true);
154
- }
155
- forSitemapGenerator(filterKeyValues) {
156
- const degreeTypeValues = filterKeyValues.get(FilterKey.DEGREE_TYPE);
157
- const disciplineValues = filterKeyValues.get(FilterKey.DISCIPLINES);
158
- if (!degreeTypeValues?.length || !disciplineValues?.length) {
159
- return Promise.resolve(false);
160
- }
161
- const degreeTypeValue = degreeTypeValues[0];
162
- const disciplineValue = disciplineValues[0];
163
- if (!degreeTypeValue || !disciplineValue) {
164
- return Promise.resolve(false);
165
- }
166
- if (!this.allIndexableDegrees.includes(degreeTypeValue)) {
167
- return Promise.resolve(false);
168
- }
169
- if (degreeTypeValue === DegreeTypeFilterOptionValue.LLM) {
170
- return Promise.resolve(this.lawDisciplineIds.includes(disciplineValue));
171
- }
172
- if (degreeTypeValue === DegreeTypeFilterOptionValue.MPHIL) {
173
- return Promise.resolve(this.masterOfPhilosophyDisciplineIds.includes(disciplineValue));
174
- }
175
- if (degreeTypeValue === DegreeTypeFilterOptionValue.MED) {
176
- return Promise.resolve(this.educationDisciplineIds.includes(disciplineValue));
177
- }
178
- if (degreeTypeValue === DegreeTypeFilterOptionValue.MENG) {
179
- return Promise.resolve(this.engineeringDisciplineIds.includes(disciplineValue));
180
- }
181
- if (degreeTypeValue === DegreeTypeFilterOptionValue.POSTGRADIP) {
182
- return Promise.resolve(this.postgraduateDiplomaDisciplineIds.includes(disciplineValue));
183
- }
184
- if (this.degreesAcceptingAllDisciplines.includes(degreeTypeValue)) {
185
- return Promise.resolve(true);
186
- }
187
- return Promise.resolve(true);
188
- }
189
- }
@@ -1,9 +0,0 @@
1
- import { ISearchDependencies } from '../../common/ISearchDependencies';
2
- import { FilterKeyValuesMap } from '../../common/FilterKeyValuesMap';
3
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
4
- export declare class ErasmusOrJointSpecialProgrammesRule extends BaseProgrammeRule {
5
- forSearch(dependencies: ISearchDependencies): Promise<boolean>;
6
- forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
7
- getName(): string;
8
- getDescription(): string;
9
- }
@@ -1,28 +0,0 @@
1
- import { FilterKey } from "../../enums/FilterKey";
2
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
3
- import { SpecialProgrammesFilterOptionValue } from "../../enums/SpecialProgrammesFilterOptionValue";
4
- export class ErasmusOrJointSpecialProgrammesRule extends BaseProgrammeRule {
5
- forSearch(dependencies) {
6
- const { seoInfoBase, filterState } = dependencies;
7
- const selectedSpecialProgramme = seoInfoBase.getFilterOptionValueBy(FilterKey.SPECIAL_PROGRAMMES, filterState);
8
- if (!selectedSpecialProgramme) {
9
- return Promise.resolve(false);
10
- }
11
- return Promise.resolve(selectedSpecialProgramme === SpecialProgrammesFilterOptionValue.ERASMUS_MUNDUS ||
12
- selectedSpecialProgramme === SpecialProgrammesFilterOptionValue.JOINT_PROGRAMMES);
13
- }
14
- forSitemapGenerator(filterKeyValues) {
15
- const [selectedSpecialProgramme] = filterKeyValues.get(FilterKey.SPECIAL_PROGRAMMES);
16
- if (!selectedSpecialProgramme) {
17
- return Promise.resolve(false);
18
- }
19
- return Promise.resolve(selectedSpecialProgramme === SpecialProgrammesFilterOptionValue.ERASMUS_MUNDUS ||
20
- selectedSpecialProgramme === SpecialProgrammesFilterOptionValue.JOINT_PROGRAMMES);
21
- }
22
- getName() {
23
- return 'ErasmusOrJointSpecialProgrammesRule';
24
- }
25
- getDescription() {
26
- return 'Is indexable if the selected special programme is Erasmus Mundus or Joint Programmes.';
27
- }
28
- }
@@ -1,10 +0,0 @@
1
- import { ISearchDependencies } from '../../common/ISearchDependencies';
2
- import { FilterKeyValuesMap } from '../../common/FilterKeyValuesMap';
3
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
4
- export declare class IndexableDegreeRule extends BaseProgrammeRule {
5
- forSearch(dependencies: ISearchDependencies): Promise<boolean>;
6
- forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
7
- getName(): string;
8
- getDescription(): string;
9
- private get indexableDegreeTypes();
10
- }
@@ -1,53 +0,0 @@
1
- import { FilterKey } from "../../enums/FilterKey";
2
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
3
- import { DegreeTypeFilterOptionValue } from "../../enums/DegreeTypeFilterOptionValue";
4
- export class IndexableDegreeRule extends BaseProgrammeRule {
5
- forSearch(dependencies) {
6
- const { seoInfoBase, filterState } = dependencies;
7
- const selectedDegree = seoInfoBase.getFilterOptionValueBy(FilterKey.DEGREE_TYPE, filterState);
8
- if (!selectedDegree) {
9
- return Promise.resolve(false);
10
- }
11
- const isIndexable = this.indexableDegreeTypes.includes(selectedDegree);
12
- return Promise.resolve(isIndexable);
13
- }
14
- forSitemapGenerator(filterKeyValues) {
15
- const [selectedDegree] = filterKeyValues.get(FilterKey.DEGREE_TYPE);
16
- if (!selectedDegree) {
17
- return Promise.resolve(false);
18
- }
19
- const isIndexable = this.indexableDegreeTypes.includes(selectedDegree);
20
- return Promise.resolve(isIndexable);
21
- }
22
- getName() {
23
- return 'IndexableDegreeRule';
24
- }
25
- getDescription() {
26
- return `Indexable if the selected degree type is one of the following: ${this.indexableDegreeTypes.join(', ')}`;
27
- }
28
- get indexableDegreeTypes() {
29
- return [
30
- DegreeTypeFilterOptionValue.DOCTORATE,
31
- DegreeTypeFilterOptionValue.DBA,
32
- DegreeTypeFilterOptionValue.PHD,
33
- DegreeTypeFilterOptionValue.MSC,
34
- DegreeTypeFilterOptionValue.MA,
35
- DegreeTypeFilterOptionValue.MBA,
36
- DegreeTypeFilterOptionValue.LLM,
37
- DegreeTypeFilterOptionValue.MPHIL,
38
- DegreeTypeFilterOptionValue.MED,
39
- DegreeTypeFilterOptionValue.MENG,
40
- DegreeTypeFilterOptionValue.POSTGRADIP,
41
- DegreeTypeFilterOptionValue.POSTGRADCERT,
42
- DegreeTypeFilterOptionValue.PREMASTER,
43
- DegreeTypeFilterOptionValue.BSC,
44
- DegreeTypeFilterOptionValue.BA,
45
- DegreeTypeFilterOptionValue.BBA,
46
- DegreeTypeFilterOptionValue.ASSOCIATE_DEGREE,
47
- DegreeTypeFilterOptionValue.GRADUATE_CERTTIFICATE,
48
- DegreeTypeFilterOptionValue.GRADUATE_DIPLOMA,
49
- DegreeTypeFilterOptionValue.PREBACHELOR,
50
- DegreeTypeFilterOptionValue.CERTIFICATE
51
- ];
52
- }
53
- }
@@ -1,12 +0,0 @@
1
- import { ISearchDependencies } from '../../common/ISearchDependencies';
2
- import { FilterKeyValuesMap } from '../../common/FilterKeyValuesMap';
3
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
4
- export declare class IndexableDurationRule extends BaseProgrammeRule {
5
- private durationPresenter;
6
- constructor();
7
- forSearch(dependencies: ISearchDependencies): Promise<boolean>;
8
- forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
9
- getName(): string;
10
- getDescription(): string;
11
- private isIndexable;
12
- }
@@ -1,37 +0,0 @@
1
- import { FilterKey } from "../../enums/FilterKey";
2
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
3
- import { DurationPresenter } from '../../presenters/DurationPresenter';
4
- export class IndexableDurationRule extends BaseProgrammeRule {
5
- durationPresenter;
6
- constructor() {
7
- super();
8
- this.durationPresenter = DurationPresenter.getInstance();
9
- }
10
- forSearch(dependencies) {
11
- const { seoInfoBase, filterState } = dependencies;
12
- const selectedDuration = seoInfoBase.getFilterOptionValueBy(FilterKey.DURATION, filterState);
13
- if (!selectedDuration) {
14
- return Promise.resolve(false);
15
- }
16
- const isIndexable = this.isIndexable(selectedDuration);
17
- return Promise.resolve(isIndexable);
18
- }
19
- forSitemapGenerator(filterKeyValues) {
20
- const [selectedDuration] = filterKeyValues.get(FilterKey.DURATION);
21
- if (!selectedDuration) {
22
- return Promise.resolve(false);
23
- }
24
- const isIndexable = this.isIndexable(selectedDuration);
25
- return Promise.resolve(isIndexable);
26
- }
27
- getName() {
28
- return 'IndexableDurationRule';
29
- }
30
- getDescription() {
31
- return `Indexable if duration is 1 year, 2 years, 3 years, or 4 years.`;
32
- }
33
- isIndexable(value) {
34
- return this.durationPresenter.getFragments()
35
- .some(fragment => fragment.id === value);
36
- }
37
- }
@@ -1,10 +0,0 @@
1
- import { ISearchDependencies } from '../../common/ISearchDependencies';
2
- import { FilterKeyValuesMap } from '../../common/FilterKeyValuesMap';
3
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
4
- export declare class IndexableEducationalFormRule extends BaseProgrammeRule {
5
- forSearch(dependencies: ISearchDependencies): Promise<boolean>;
6
- forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
7
- getName(): string;
8
- getDescription(): string;
9
- private isIndexable;
10
- }
@@ -1,34 +0,0 @@
1
- import { FilterKey } from "../../enums/FilterKey";
2
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
3
- import { EducationalFormFilterOptionValue } from "../../enums/EducationalFormFilterOptionValue";
4
- export class IndexableEducationalFormRule extends BaseProgrammeRule {
5
- forSearch(dependencies) {
6
- const { seoInfoBase, filterState } = dependencies;
7
- const selectedEducationalForm = seoInfoBase.getFilterOptionValueBy(FilterKey.EDUCATIONAL_FORM, filterState);
8
- if (!selectedEducationalForm) {
9
- return Promise.resolve(false);
10
- }
11
- const isIndexable = this.isIndexable(selectedEducationalForm);
12
- return Promise.resolve(isIndexable);
13
- }
14
- forSitemapGenerator(filterKeyValues) {
15
- const [selectedEducationalForm] = filterKeyValues.get(FilterKey.EDUCATIONAL_FORM);
16
- if (!selectedEducationalForm) {
17
- return Promise.resolve(false);
18
- }
19
- const isIndexable = this.isIndexable(selectedEducationalForm);
20
- return Promise.resolve(isIndexable);
21
- }
22
- getName() {
23
- return 'IndexableEducationalFormRule';
24
- }
25
- getDescription() {
26
- return `Indexable if educational form is Academic Course, Summer School, Semester Study Abroad, or Skill Professional Course.`;
27
- }
28
- isIndexable(value) {
29
- return (value === EducationalFormFilterOptionValue.ACADEMIC_COURSE ||
30
- value === EducationalFormFilterOptionValue.SUMMER_SCHOOL ||
31
- value === EducationalFormFilterOptionValue.SEMESTER_STUDY_ABROAD ||
32
- value === EducationalFormFilterOptionValue.SKILL_PROFESSIONAL_COURSE);
33
- }
34
- }
@@ -1,9 +0,0 @@
1
- import { IProgrammeSearchDependencies } from '../types/IProgrammeSearchDependencies';
2
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
3
- export declare class IndexablePageNumberRule extends BaseProgrammeRule {
4
- private commonRule;
5
- forSearch(dependencies: IProgrammeSearchDependencies): Promise<boolean>;
6
- forSitemapGenerator(): Promise<boolean>;
7
- getName(): string;
8
- getDescription(): string;
9
- }
@@ -1,17 +0,0 @@
1
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
2
- import { IndexablePageNumberRule as CommonIndexablePageNumberRule } from '../../common/rules/IndexablePageNumberRule';
3
- export class IndexablePageNumberRule extends BaseProgrammeRule {
4
- commonRule = new CommonIndexablePageNumberRule();
5
- forSearch(dependencies) {
6
- return this.commonRule.forSearch(dependencies);
7
- }
8
- forSitemapGenerator() {
9
- return this.commonRule.forSitemapGenerator();
10
- }
11
- getName() {
12
- return this.commonRule.getName();
13
- }
14
- getDescription() {
15
- return this.commonRule.getDescription();
16
- }
17
- }
@@ -1,6 +0,0 @@
1
- import { BaseProgrammeFilterKeyValueRule } from '../BaseProgrammeFilterKeyValueRule';
2
- export declare class MbaDegreeRule extends BaseProgrammeFilterKeyValueRule {
3
- constructor();
4
- getName(): string;
5
- getDescription(): string;
6
- }
@@ -1,15 +0,0 @@
1
- import { FilterKey } from "../../enums/FilterKey";
2
- import { BaseProgrammeFilterKeyValueRule } from '../BaseProgrammeFilterKeyValueRule';
3
- import { DegreeTypeFilterOptionValue } from "../../enums/DegreeTypeFilterOptionValue";
4
- export class MbaDegreeRule extends BaseProgrammeFilterKeyValueRule {
5
- constructor() {
6
- const filterKeyValues = new Map([[FilterKey.DEGREE_TYPE, [DegreeTypeFilterOptionValue.MBA]]]);
7
- super(filterKeyValues);
8
- }
9
- getName() {
10
- return 'MbaDegreeRule';
11
- }
12
- getDescription() {
13
- return 'Is indexable if the selected degree type is MBA.';
14
- }
15
- }
@@ -1,9 +0,0 @@
1
- import { ISearchDependencies } from '../../common/ISearchDependencies';
2
- import { FilterKeyValuesMap } from '../../common/FilterKeyValuesMap';
3
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
4
- export declare class MbaOrMscDegreeRule extends BaseProgrammeRule {
5
- forSearch(dependencies: ISearchDependencies): Promise<boolean>;
6
- forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
7
- getName(): string;
8
- getDescription(): string;
9
- }
@@ -1,26 +0,0 @@
1
- import { FilterKey } from "../../enums/FilterKey";
2
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
3
- import { DegreeTypeFilterOptionValue } from "../../enums/DegreeTypeFilterOptionValue";
4
- export class MbaOrMscDegreeRule extends BaseProgrammeRule {
5
- forSearch(dependencies) {
6
- const { seoInfoBase, filterState } = dependencies;
7
- const selectedDegree = seoInfoBase.getFilterOptionValueBy(FilterKey.DEGREE_TYPE, filterState);
8
- if (!selectedDegree) {
9
- return Promise.resolve(false);
10
- }
11
- return Promise.resolve(selectedDegree === DegreeTypeFilterOptionValue.MSC || selectedDegree === DegreeTypeFilterOptionValue.MBA);
12
- }
13
- forSitemapGenerator(filterKeyValues) {
14
- const [selectedDegree] = filterKeyValues.get(FilterKey.DEGREE_TYPE);
15
- if (!selectedDegree) {
16
- return Promise.resolve(false);
17
- }
18
- return Promise.resolve(selectedDegree === DegreeTypeFilterOptionValue.MSC || selectedDegree === DegreeTypeFilterOptionValue.MBA);
19
- }
20
- getName() {
21
- return 'MbaOrMscDegreeRule';
22
- }
23
- getDescription() {
24
- return 'Is indexable if the selected degree type is MBA or MSc.';
25
- }
26
- }
@@ -1,11 +0,0 @@
1
- import { IProgrammeSearchDependencies } from '../types/IProgrammeSearchDependencies';
2
- import { PortalType } from '@studyportals/domain-client';
3
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
4
- export declare class NotDistanceLearningPortalRule extends BaseProgrammeRule {
5
- private readonly portalType;
6
- constructor(portalType?: PortalType);
7
- forSearch(dependencies: IProgrammeSearchDependencies): Promise<boolean>;
8
- forSitemapGenerator(): Promise<boolean>;
9
- getName(): string;
10
- getDescription(): string;
11
- }
@@ -1,28 +0,0 @@
1
- import { PortalType } from '@studyportals/domain-client';
2
- import { DependencyMissingError } from '../../errors/DependencyMissingError';
3
- import { BaseProgrammeRule } from '../BaseProgrammeRule';
4
- export class NotDistanceLearningPortalRule extends BaseProgrammeRule {
5
- portalType;
6
- constructor(portalType) {
7
- super();
8
- this.portalType = portalType;
9
- }
10
- forSearch(dependencies) {
11
- const { portalType } = dependencies;
12
- const isDistanceLearning = portalType === PortalType.DISTANCE_LEARNING;
13
- return Promise.resolve(!isDistanceLearning);
14
- }
15
- forSitemapGenerator() {
16
- if (!this.portalType) {
17
- throw new DependencyMissingError('PortalType');
18
- }
19
- const isDistanceLearning = this.portalType === PortalType.DISTANCE_LEARNING;
20
- return Promise.resolve(!isDistanceLearning);
21
- }
22
- getName() {
23
- return 'NotDistanceLearningPortalRule';
24
- }
25
- getDescription() {
26
- return 'Is indexable if the portal type is not distance learning.';
27
- }
28
- }
@@ -1,6 +0,0 @@
1
- import { BaseProgrammeFilterKeyValueRule } from '../BaseProgrammeFilterKeyValueRule';
2
- export declare class OneYearDurationRule extends BaseProgrammeFilterKeyValueRule {
3
- constructor();
4
- getName(): string;
5
- getDescription(): string;
6
- }
@@ -1,15 +0,0 @@
1
- import { FilterKey } from "../../enums/FilterKey";
2
- import { BaseProgrammeFilterKeyValueRule } from '../BaseProgrammeFilterKeyValueRule';
3
- import { DurationFilterOptionValue } from "../../enums/DurationFilterOptionValue";
4
- export class OneYearDurationRule extends BaseProgrammeFilterKeyValueRule {
5
- constructor() {
6
- const filterKeyValues = new Map([[FilterKey.DURATION, [DurationFilterOptionValue.ONE_YEAR]]]);
7
- super(filterKeyValues);
8
- }
9
- getName() {
10
- return 'OneYearDurationRule';
11
- }
12
- getDescription() {
13
- return 'Is indexable if the selected duration is 1 year.';
14
- }
15
- }
@@ -1,6 +0,0 @@
1
- import { BaseProgrammeFilterKeyValueRule } from '../BaseProgrammeFilterKeyValueRule';
2
- export declare class PartTimeFormatRule extends BaseProgrammeFilterKeyValueRule {
3
- constructor();
4
- getName(): string;
5
- getDescription(): string;
6
- }
@@ -1,15 +0,0 @@
1
- import { FilterKey } from "../../enums/FilterKey";
2
- import { BaseProgrammeFilterKeyValueRule } from '../BaseProgrammeFilterKeyValueRule';
3
- import { FormatFilterOptionValue } from "../../enums/FormatFilterOptionValue";
4
- export class PartTimeFormatRule extends BaseProgrammeFilterKeyValueRule {
5
- constructor() {
6
- const filterKeyValues = new Map([[FilterKey.ATTENDANCE, [FormatFilterOptionValue.PART_TIME]]]);
7
- super(filterKeyValues);
8
- }
9
- getName() {
10
- return 'PartTimeFormatRule';
11
- }
12
- getDescription() {
13
- return 'Is indexable if the selected format is part-time.';
14
- }
15
- }
@@ -1,4 +0,0 @@
1
- import { ISearchApplicationState } from '../../common';
2
- export interface IProgrammeSearchApplicationState extends ISearchApplicationState {
3
- getPageNumber(): number;
4
- }
@@ -1,7 +0,0 @@
1
- import { ISearchDependencies } from '../../common/ISearchDependencies';
2
- import { IProgrammeSearchApplicationState } from './IProgrammeSearchApplicationState';
3
- import { PortalType } from '@studyportals/domain-client';
4
- export interface IProgrammeSearchDependencies extends ISearchDependencies {
5
- portalType: PortalType;
6
- applicationState: IProgrammeSearchApplicationState;
7
- }
@@ -1,5 +0,0 @@
1
- import { PortalType } from '@studyportals/domain-client';
2
- import { ISitemapDependencies } from '../../common/ISitemapDependencies';
3
- export interface IProgrammeSearchSitemapDependencies extends ISitemapDependencies {
4
- portalType: PortalType;
5
- }
@@ -1,3 +0,0 @@
1
- import { IProgrammeSearchDependencies } from './IProgrammeSearchDependencies';
2
- import { IProgrammeSitemapDependencies } from './IProgrammeSitemapDependencies';
3
- export type IProgrammeSeoDependencies = IProgrammeSearchDependencies | IProgrammeSitemapDependencies;
@@ -1,7 +0,0 @@
1
- import { ISitemapDependencies } from '../../common/ISitemapDependencies';
2
- import { PortalType } from '@studyportals/domain-client';
3
- import { ISearchApiClient } from '../../../sitemap-generator-seo';
4
- export interface IProgrammeSitemapDependencies extends ISitemapDependencies {
5
- portalType: PortalType;
6
- searchApiClient: ISearchApiClient;
7
- }
@@ -1,5 +0,0 @@
1
- import { ISitemapUrlGenerator } from '../../common/ISitemapUrlGenerator';
2
- import { FilterKey } from "../../enums/FilterKey";
3
- export interface IProgrammeSitemapUrlGenerator extends ISitemapUrlGenerator {
4
- readonly filterKeys: FilterKey[];
5
- }