@studyportals/fawkes 7.4.2-2 → 7.4.2-4
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.
- package/README.md +176 -176
- package/dist/src/common/FilterKeyValuesMap.d.ts +1 -1
- package/dist/src/common/IPolicyMetaData.d.ts +6 -0
- package/dist/src/common/IPolicyMetaData.js +1 -0
- package/dist/src/common/IPresenter.d.ts +1 -1
- package/dist/src/common/ISeoFilterState.d.ts +1 -1
- package/dist/src/common/ISeoInfoBase.d.ts +1 -1
- package/dist/src/common/rules/OnlineAttendanceRule.js +1 -1
- package/dist/src/common/rules/OnlyFiltersSelectedRule.d.ts +1 -1
- package/dist/src/common/rules/SingleValueSelectedForFilterRule.d.ts +1 -1
- package/dist/src/enums/FilterCombinations.d.ts +22 -1
- package/dist/src/enums/FilterCombinations.js +22 -1
- package/dist/src/errors/InvalidFilterValueError.d.ts +1 -1
- package/dist/src/organisations/OrganisationsRuleBasedIndexabilityPolicy.d.ts +11 -0
- package/dist/src/organisations/OrganisationsRuleBasedIndexabilityPolicy.js +19 -0
- package/dist/src/organisations/policies/our-picks/Area.js +1 -1
- package/dist/src/organisations/policies/our-picks/AreaAttendance.js +1 -1
- package/dist/src/organisations/policies/our-picks/Attendance.js +1 -1
- package/dist/src/organisations/policies/our-picks/Continent.js +1 -1
- package/dist/src/organisations/policies/our-picks/Country.js +1 -1
- package/dist/src/organisations/policies/our-picks/CountryAttendance.js +1 -1
- package/dist/src/organisations/policies/ranked/RankedArea.js +1 -1
- package/dist/src/organisations/policies/ranked/RankedAreaDiscipline.js +1 -1
- package/dist/src/organisations/policies/ranked/RankedAttendance.js +1 -1
- package/dist/src/organisations/policies/ranked/RankedAttendanceDiscipline.js +1 -1
- package/dist/src/organisations/policies/ranked/RankedContinent.js +1 -1
- package/dist/src/organisations/policies/ranked/RankedContinentAttendance.js +1 -1
- package/dist/src/organisations/policies/ranked/RankedCountry.js +1 -1
- package/dist/src/organisations/policies/ranked/RankedCountryAttendance.js +1 -1
- package/dist/src/organisations/policies/ranked/RankedCountryDiscipline.js +1 -1
- package/dist/src/organisations/policies/ranked/RankedDiscipline.js +1 -1
- package/dist/src/organisations/rules/BaseSearchVolumeOrganisationsRule.d.ts +1 -1
- package/dist/src/organisations/rules/ContinentIsEuropeRule.js +1 -1
- package/dist/src/organisations/rules/OnlineAttendanceRule.d.ts +6 -0
- package/dist/src/organisations/rules/OnlineAttendanceRule.js +14 -0
- package/dist/src/organisations/rules/SearchVolumeAreasAttendanceRule.js +1 -1
- package/dist/src/organisations/rules/SearchVolumeAreasDisciplineRule.js +1 -1
- package/dist/src/organisations/rules/SearchVolumeCountriesAttendanceRule.js +1 -1
- package/dist/src/presenters/AreaPresenter.d.ts +1 -1
- package/dist/src/presenters/AreaPresenter.js +1 -1
- package/dist/src/presenters/AttendancePresenter.d.ts +1 -1
- package/dist/src/presenters/AttendancePresenter.js +5 -1
- package/dist/src/presenters/ContinentPresenter.d.ts +1 -1
- package/dist/src/presenters/ContinentPresenter.js +1 -1
- package/dist/src/presenters/CountryPresenter.d.ts +1 -1
- package/dist/src/presenters/CountryPresenter.js +1 -1
- package/dist/src/presenters/DegreePresenter.d.ts +1 -1
- package/dist/src/presenters/DegreePresenter.js +1 -2
- package/dist/src/presenters/DisciplinePresenter.d.ts +1 -1
- package/dist/src/presenters/DisciplinePresenter.js +1 -1
- package/dist/src/presenters/DurationPresenter.d.ts +1 -2
- package/dist/src/presenters/DurationPresenter.js +1 -2
- package/dist/src/presenters/EducationalFormPresenter.d.ts +1 -1
- package/dist/src/presenters/EducationalFormPresenter.js +1 -2
- package/dist/src/presenters/FormatPresenter.d.ts +1 -1
- package/dist/src/presenters/FormatPresenter.js +5 -3
- package/dist/src/presenters/SpecialProgrammesPresenter.d.ts +1 -1
- package/dist/src/presenters/SpecialProgrammesPresenter.js +5 -2
- package/dist/src/presenters/TuitionFeePresenter.d.ts +1 -1
- package/dist/src/presenters/TuitionFeePresenter.js +1 -2
- package/dist/src/programmes/IProgrammeSearchApplicationState.d.ts +4 -0
- package/dist/src/programmes/IProgrammeSearchApplicationState.js +1 -0
- package/dist/src/programmes/IProgrammeSearchDependencies.d.ts +7 -0
- package/dist/src/programmes/IProgrammeSearchDependencies.js +1 -0
- package/dist/src/programmes/IProgrammesSeoDependencies.d.ts +2 -0
- package/dist/src/programmes/IProgrammesSeoDependencies.js +1 -0
- package/dist/src/programmes/ProgrammesBaseIndexabilityPolicy.d.ts +1 -1
- package/dist/src/programmes/SearchIndexabilityManager.js +27 -3
- package/dist/src/programmes/policies/Area.d.ts +1 -1
- package/dist/src/programmes/policies/Area.js +1 -1
- package/dist/src/programmes/policies/Attendance.d.ts +1 -1
- package/dist/src/programmes/policies/Attendance.js +1 -1
- package/dist/src/programmes/policies/AttendanceArea.d.ts +16 -0
- package/dist/src/programmes/policies/AttendanceArea.js +48 -0
- package/dist/src/programmes/policies/AttendanceContinent.d.ts +16 -0
- package/dist/src/programmes/policies/AttendanceContinent.js +46 -0
- package/dist/src/programmes/policies/AttendanceDegree.d.ts +3 -4
- package/dist/src/programmes/policies/AttendanceDegree.js +8 -7
- package/dist/src/programmes/policies/AttendanceDuration.d.ts +16 -0
- package/dist/src/programmes/policies/AttendanceDuration.js +48 -0
- package/dist/src/programmes/policies/AttendanceFormat.d.ts +16 -0
- package/dist/src/programmes/policies/AttendanceFormat.js +48 -0
- package/dist/src/programmes/policies/AttendanceTuitionFee.d.ts +16 -0
- package/dist/src/programmes/policies/AttendanceTuitionFee.js +49 -0
- package/dist/src/programmes/policies/Continent.d.ts +1 -1
- package/dist/src/programmes/policies/Continent.js +1 -1
- package/dist/src/programmes/policies/ContinentDuration.d.ts +15 -0
- package/dist/src/programmes/policies/ContinentDuration.js +46 -0
- package/dist/src/programmes/policies/ContinentFormat.d.ts +15 -0
- package/dist/src/programmes/policies/ContinentFormat.js +46 -0
- package/dist/src/programmes/policies/ContinentSpecialProgrammes.d.ts +15 -0
- package/dist/src/programmes/policies/ContinentSpecialProgrammes.js +46 -0
- package/dist/src/programmes/policies/ContinentTuitionFee.d.ts +1 -1
- package/dist/src/programmes/policies/ContinentTuitionFee.js +1 -1
- package/dist/src/programmes/policies/Country.d.ts +1 -1
- package/dist/src/programmes/policies/Country.js +1 -1
- package/dist/src/programmes/policies/CountryAttendance.d.ts +1 -1
- package/dist/src/programmes/policies/CountryAttendance.js +1 -1
- package/dist/src/programmes/policies/CountryAttendanceDegree.d.ts +1 -1
- package/dist/src/programmes/policies/CountryAttendanceDegree.js +2 -2
- package/dist/src/programmes/policies/CountryDegree.d.ts +1 -1
- package/dist/src/programmes/policies/CountryDegree.js +1 -1
- package/dist/src/programmes/policies/CountryDuration.d.ts +3 -3
- package/dist/src/programmes/policies/CountryDuration.js +7 -5
- package/dist/src/programmes/policies/CountryDurationDegree.d.ts +1 -1
- package/dist/src/programmes/policies/CountryDurationDegree.js +2 -2
- package/dist/src/programmes/policies/CountryEducationalForm.d.ts +1 -1
- package/dist/src/programmes/policies/CountryEducationalForm.js +2 -2
- package/dist/src/programmes/policies/CountryFormat.d.ts +1 -1
- package/dist/src/programmes/policies/CountryFormat.js +1 -1
- package/dist/src/programmes/policies/CountrySpecialProgrammes.d.ts +15 -0
- package/dist/src/programmes/policies/CountrySpecialProgrammes.js +46 -0
- package/dist/src/programmes/policies/CountryTuitionFee.d.ts +1 -1
- package/dist/src/programmes/policies/CountryTuitionFee.js +1 -1
- package/dist/src/programmes/policies/Degree.d.ts +1 -1
- package/dist/src/programmes/policies/Degree.js +1 -1
- package/dist/src/programmes/policies/DegreeArea.d.ts +15 -0
- package/dist/src/programmes/policies/DegreeArea.js +46 -0
- package/dist/src/programmes/policies/DegreeAreaTuitionFee.d.ts +15 -0
- package/dist/src/programmes/policies/DegreeAreaTuitionFee.js +52 -0
- package/dist/src/programmes/policies/DegreeAttendanceDiscipline.d.ts +3 -2
- package/dist/src/programmes/policies/DegreeAttendanceDiscipline.js +14 -14
- package/dist/src/programmes/policies/DegreeAttendanceFormat.d.ts +15 -0
- package/dist/src/programmes/policies/DegreeAttendanceFormat.js +52 -0
- package/dist/src/programmes/policies/DegreeAttendanceSpecialProgrammes.d.ts +16 -0
- package/dist/src/programmes/policies/DegreeAttendanceSpecialProgrammes.js +56 -0
- package/dist/src/programmes/policies/DegreeAttendanceTuitionFee.d.ts +16 -0
- package/dist/src/programmes/policies/DegreeAttendanceTuitionFee.js +55 -0
- package/dist/src/programmes/policies/DegreeContinent.d.ts +16 -0
- package/dist/src/programmes/policies/DegreeContinent.js +46 -0
- package/dist/src/programmes/policies/DegreeContinentTuitionFee.d.ts +16 -0
- package/dist/src/programmes/policies/DegreeContinentTuitionFee.js +52 -0
- package/dist/src/programmes/policies/DegreeCountryAttendance.d.ts +1 -1
- package/dist/src/programmes/policies/DegreeCountryAttendance.js +2 -2
- package/dist/src/programmes/policies/DegreeCountryDiscipline.d.ts +1 -1
- package/dist/src/programmes/policies/DegreeCountryDiscipline.js +2 -2
- package/dist/src/programmes/policies/DegreeCountryTuitionFee.d.ts +1 -1
- package/dist/src/programmes/policies/DegreeCountryTuitionFee.js +3 -3
- package/dist/src/programmes/policies/DegreeDuration.d.ts +16 -0
- package/dist/src/programmes/policies/DegreeDuration.js +48 -0
- package/dist/src/programmes/policies/DegreeFormat.d.ts +16 -0
- package/dist/src/programmes/policies/DegreeFormat.js +49 -0
- package/dist/src/programmes/policies/DegreeFormatTuitionFee.d.ts +16 -0
- package/dist/src/programmes/policies/DegreeFormatTuitionFee.js +52 -0
- package/dist/src/programmes/policies/DegreeSpecialProgrammes.d.ts +15 -0
- package/dist/src/programmes/policies/DegreeSpecialProgrammes.js +48 -0
- package/dist/src/programmes/policies/DegreeTuitionFee.d.ts +15 -0
- package/dist/src/programmes/policies/DegreeTuitionFee.js +47 -0
- package/dist/src/programmes/policies/Discipline.d.ts +1 -1
- package/dist/src/programmes/policies/Discipline.js +1 -1
- package/dist/src/programmes/policies/DisciplineArea.d.ts +1 -1
- package/dist/src/programmes/policies/DisciplineArea.js +1 -1
- package/dist/src/programmes/policies/DisciplineAttendance.d.ts +1 -1
- package/dist/src/programmes/policies/DisciplineAttendance.js +1 -1
- package/dist/src/programmes/policies/DisciplineContinent.d.ts +1 -1
- package/dist/src/programmes/policies/DisciplineContinent.js +1 -1
- package/dist/src/programmes/policies/DisciplineContinentAttendance.d.ts +16 -0
- package/dist/src/programmes/policies/DisciplineContinentAttendance.js +54 -0
- package/dist/src/programmes/policies/DisciplineCountry.d.ts +1 -1
- package/dist/src/programmes/policies/DisciplineCountry.js +1 -1
- package/dist/src/programmes/policies/DisciplineCountryAttendance.d.ts +16 -0
- package/dist/src/programmes/policies/DisciplineCountryAttendance.js +54 -0
- package/dist/src/programmes/policies/DisciplineCountryDegree.d.ts +16 -0
- package/dist/src/programmes/policies/DisciplineCountryDegree.js +53 -0
- package/dist/src/programmes/policies/DisciplineCountryEducationalForm.d.ts +1 -1
- package/dist/src/programmes/policies/DisciplineCountryEducationalForm.js +2 -2
- package/dist/src/programmes/policies/DisciplineCountryFormat.d.ts +15 -0
- package/dist/src/programmes/policies/DisciplineCountryFormat.js +52 -0
- package/dist/src/programmes/policies/DisciplineDegree.d.ts +1 -1
- package/dist/src/programmes/policies/DisciplineDegree.js +1 -1
- package/dist/src/programmes/policies/DisciplineDuration.d.ts +1 -1
- package/dist/src/programmes/policies/DisciplineDuration.js +1 -1
- package/dist/src/programmes/policies/DisciplineEducationalForm.d.ts +1 -1
- package/dist/src/programmes/policies/DisciplineEducationalForm.js +2 -2
- package/dist/src/programmes/policies/DisciplineFormat.d.ts +1 -1
- package/dist/src/programmes/policies/DisciplineFormat.js +1 -1
- package/dist/src/programmes/policies/DisciplineSpecialProgrammes.d.ts +15 -0
- package/dist/src/programmes/policies/DisciplineSpecialProgrammes.js +46 -0
- package/dist/src/programmes/policies/DisciplineTuitionFee.d.ts +1 -1
- package/dist/src/programmes/policies/DisciplineTuitionFee.js +1 -1
- package/dist/src/programmes/policies/DisciplineTuitionFeeAttendance.d.ts +1 -1
- package/dist/src/programmes/policies/DisciplineTuitionFeeAttendance.js +1 -1
- package/dist/src/programmes/policies/Duration.d.ts +15 -0
- package/dist/src/programmes/policies/Duration.js +35 -0
- package/dist/src/programmes/policies/Format.d.ts +15 -0
- package/dist/src/programmes/policies/Format.js +35 -0
- package/dist/src/programmes/policies/SpecialProgrammes.d.ts +2 -3
- package/dist/src/programmes/policies/SpecialProgrammes.js +2 -4
- package/dist/src/programmes/policies/TuitionFee.d.ts +1 -1
- package/dist/src/programmes/policies/TuitionFee.js +1 -1
- package/dist/src/programmes/policies/index.d.ts +26 -1
- package/dist/src/programmes/policies/index.js +26 -1
- package/dist/src/programmes/rules/AffordableTuitionFeeRule.js +2 -2
- package/dist/src/programmes/rules/DegreeAttendanceDisciplineRule.js +2 -2
- package/dist/src/programmes/rules/DegreeAttendanceDisciplineSpecificRule.js +2 -2
- package/dist/src/programmes/rules/DegreeAttendanceSpecificRule.d.ts +10 -0
- package/dist/src/programmes/rules/DegreeAttendanceSpecificRule.js +42 -0
- package/dist/src/programmes/rules/DegreeCountryAttendanceSpecificRule.js +2 -3
- package/dist/src/programmes/rules/DegreeCountryDisciplineSpecificRule.js +2 -2
- package/dist/src/programmes/rules/DegreeCountrySpecificRule.d.ts +10 -0
- package/dist/src/programmes/rules/DegreeCountrySpecificRule.js +43 -0
- package/dist/src/programmes/rules/DegreeCountryTuitionFeeRule.d.ts +11 -0
- package/dist/src/programmes/rules/DegreeCountryTuitionFeeRule.js +40 -0
- package/dist/src/programmes/rules/DegreeCountryTuitionFeeSpecificRule.js +3 -3
- package/dist/src/programmes/rules/DegreeDisciplineRule.js +2 -2
- package/dist/src/programmes/rules/ErasmusOrJointSpecialProgrammesRule.js +2 -2
- package/dist/src/programmes/rules/IndexableDegreeRule.js +2 -2
- package/dist/src/programmes/rules/IndexableDurationRule.js +1 -1
- package/dist/src/programmes/rules/IndexableEducationalFormRule.js +2 -2
- package/dist/src/programmes/rules/MBACountryAttendanceRule.d.ts +11 -0
- package/dist/src/programmes/rules/MBACountryAttendanceRule.js +40 -0
- package/dist/src/programmes/rules/MasterOfArtsDisciplineRule.d.ts +10 -0
- package/dist/src/programmes/rules/MasterOfArtsDisciplineRule.js +41 -0
- package/dist/src/programmes/rules/MasterOfEducationCountryDisciplineRule.d.ts +11 -0
- package/dist/src/programmes/rules/MasterOfEducationCountryDisciplineRule.js +69 -0
- package/dist/src/programmes/rules/MasterOfLawsCountryAttendanceRule.d.ts +12 -0
- package/dist/src/programmes/rules/MasterOfLawsCountryAttendanceRule.js +43 -0
- package/dist/src/programmes/rules/MasterOfLawsCountryTuitionFeeRule.d.ts +12 -0
- package/dist/src/programmes/rules/MasterOfLawsCountryTuitionFeeRule.js +46 -0
- package/dist/src/programmes/rules/MasterOfPhilosophyCountryAttendanceRule.d.ts +12 -0
- package/dist/src/programmes/rules/MasterOfPhilosophyCountryAttendanceRule.js +43 -0
- package/dist/src/programmes/rules/MasterOfScienceDisciplineRule.d.ts +10 -0
- package/dist/src/programmes/rules/MasterOfScienceDisciplineRule.js +41 -0
- package/dist/src/programmes/rules/MbaDegreeRule.js +2 -2
- package/dist/src/programmes/rules/MbaOrMscDegreeRule.js +2 -2
- package/dist/src/programmes/rules/OneYearDurationRule.js +2 -2
- package/dist/src/programmes/rules/OneYearOnlyRule.d.ts +11 -0
- package/dist/src/programmes/rules/OneYearOnlyRule.js +34 -0
- package/dist/src/programmes/rules/OnlineAttendanceRule.d.ts +6 -0
- package/dist/src/programmes/rules/OnlineAttendanceRule.js +15 -0
- package/dist/src/programmes/rules/PartTimeFormatRule.js +2 -2
- package/dist/src/programmes/types/IProgrammeSitemapUrlGenerator.d.ts +1 -1
- package/dist/src/scholarships/policies/Area.js +1 -1
- package/dist/src/scholarships/policies/Country.js +1 -1
- package/dist/src/scholarships/policies/Discipline.js +1 -1
- package/dist/src/scholarships/policies/DisciplineCountry.js +1 -1
- package/dist/src/scholarships/policies/UniversityCountry.js +2 -2
- package/dist/src/scholarships/rules/ExceptAustaliaAreasRule.js +1 -1
- package/dist/src/scholarships/rules/SearchVolumeAreasRule.js +1 -1
- package/dist/src/scholarships/rules/SearchVolumeCountriesDisciplinesRule.js +1 -1
- package/dist/src/scholarships/rules/SearchVolumeCountriesRule.js +1 -1
- package/dist/src/scholarships/rules/SearchVolumeDisciplinesRule.js +1 -1
- package/dist/src/sitemap-generator/BaseSitemapUrlGeneratorManager.d.ts +1 -1
- package/dist/src/sitemap-generator/IPageNumberProvider.d.ts +3 -0
- package/dist/src/sitemap-generator/IPageNumberProvider.js +1 -0
- package/dist/src/sitemap-generator/ISitemapUrlGeneratorManager.d.ts +1 -1
- package/dist/src/sitemap-generator/OrganisationsSitemapUrlGeneratorManager.d.ts +1 -1
- package/dist/src/sitemap-generator/OrganisationsSitemapUrlGeneratorManager.js +1 -1
- package/dist/src/sitemap-generator/ProgrammesSitemapUrlGeneratorManager.d.ts +1 -1
- package/dist/src/sitemap-generator/ProgrammesSitemapUrlGeneratorManager.js +28 -4
- package/package.json +105 -104
- package/dist/src/enums/AttendanceFilterOptionValue.d.ts +0 -5
- package/dist/src/enums/AttendanceFilterOptionValue.js +0 -6
- package/dist/src/enums/DegreeTypeFilterOptionValue.d.ts +0 -29
- package/dist/src/enums/DegreeTypeFilterOptionValue.js +0 -30
- package/dist/src/enums/DurationFilterOptionValue.d.ts +0 -16
- package/dist/src/enums/DurationFilterOptionValue.js +0 -17
- package/dist/src/enums/EducationalFormFilterOptionValue.d.ts +0 -8
- package/dist/src/enums/EducationalFormFilterOptionValue.js +0 -9
- package/dist/src/enums/FilterKey.d.ts +0 -21
- package/dist/src/enums/FilterKey.js +0 -22
- package/dist/src/enums/FormatFilterOptionValue.d.ts +0 -4
- package/dist/src/enums/FormatFilterOptionValue.js +0 -5
- package/dist/src/enums/SpecialProgrammesFilterOptionValue.d.ts +0 -5
- package/dist/src/enums/SpecialProgrammesFilterOptionValue.js +0 -6
- package/dist/src/enums/TuitionFeeFilterOptionValue.d.ts +0 -3
- package/dist/src/enums/TuitionFeeFilterOptionValue.js +0 -4
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { OnlineAttendanceRule } from '../../../common/rules/OnlineAttendanceRule';
|
|
2
2
|
import { FilterCombinations } from '../../../enums/FilterCombinations';
|
|
3
|
-
import { FilterKey } from
|
|
3
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
4
4
|
import { SingleValueSelectedForFilterRule } from '../../../common/rules/SingleValueSelectedForFilterRule';
|
|
5
5
|
import { OnlyFiltersSelectedRule } from '../../../common/rules/OnlyFiltersSelectedRule';
|
|
6
6
|
import { AttendancePresenter } from '../../../presenters/AttendancePresenter';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FilterCombinations } from '../../../enums/FilterCombinations';
|
|
2
|
-
import { FilterKey } from
|
|
2
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
3
3
|
import { SingleValueSelectedForFilterRule } from '../../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
4
|
import { OnlyFiltersSelectedRule } from '../../../common/rules/OnlyFiltersSelectedRule';
|
|
5
5
|
import { OnlineAttendanceRule } from '../../../common/rules/OnlineAttendanceRule';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FilterCombinations } from '../../../enums/FilterCombinations';
|
|
2
|
-
import { FilterKey } from
|
|
2
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
3
3
|
import { SingleValueSelectedForFilterRule } from '../../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
4
|
import { OnlyFiltersSelectedRule } from '../../../common/rules/OnlyFiltersSelectedRule';
|
|
5
5
|
import { ContinentPresenter } from '../../../presenters/ContinentPresenter';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FilterCombinations } from '../../../enums/FilterCombinations';
|
|
2
|
-
import { FilterKey } from
|
|
2
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
3
3
|
import { SingleValueSelectedForFilterRule } from '../../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
4
|
import { OnlyFiltersSelectedRule } from '../../../common/rules/OnlyFiltersSelectedRule';
|
|
5
5
|
import { OnlineAttendanceRule } from '../../../common/rules/OnlineAttendanceRule';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SingleValueSelectedForFilterRule } from '../../../common/rules/SingleValueSelectedForFilterRule';
|
|
2
2
|
import { FilterCombinations } from '../../../enums/FilterCombinations';
|
|
3
|
-
import { FilterKey } from
|
|
3
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
4
4
|
import { OnlyFiltersSelectedRule } from '../../../common/rules/OnlyFiltersSelectedRule';
|
|
5
5
|
import { CountryPresenter } from '../../../presenters/CountryPresenter';
|
|
6
6
|
import { RankedOrganisationsSeoIndexabilityPolicy } from '../RankedOrganisationsSeoIndexabilityPolicy';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FilterCombinations } from '../../../enums/FilterCombinations';
|
|
2
|
-
import { FilterKey } from
|
|
2
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
3
3
|
import { SingleValueSelectedForFilterRule } from '../../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
4
|
import { OnlyFiltersSelectedRule } from '../../../common/rules/OnlyFiltersSelectedRule';
|
|
5
5
|
import { OnlineAttendanceRule } from '../../../common/rules/OnlineAttendanceRule';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SingleValueSelectedForFilterRule } from '../../../common/rules/SingleValueSelectedForFilterRule';
|
|
2
2
|
import { FilterCombinations } from '../../../enums/FilterCombinations';
|
|
3
|
-
import { FilterKey } from
|
|
3
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
4
4
|
import { OnlyFiltersSelectedRule } from '../../../common/rules/OnlyFiltersSelectedRule';
|
|
5
5
|
import { CountryPresenter } from '../../../presenters/CountryPresenter';
|
|
6
6
|
import { DisciplinePresenter } from '../../../presenters/DisciplinePresenter';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SingleValueSelectedForFilterRule } from '../../../common/rules/SingleValueSelectedForFilterRule';
|
|
2
2
|
import { FilterCombinations } from '../../../enums/FilterCombinations';
|
|
3
|
-
import { FilterKey } from
|
|
3
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
4
4
|
import { OnlyFiltersSelectedRule } from '../../../common/rules/OnlyFiltersSelectedRule';
|
|
5
5
|
import { RankedOrganisationsSeoIndexabilityPolicy } from '../RankedOrganisationsSeoIndexabilityPolicy';
|
|
6
6
|
import { DisciplinePresenter } from '../../../presenters/DisciplinePresenter';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { FilterKeyValuesMap } from '../../common/FilterKeyValuesMap';
|
|
2
2
|
import { IRule } from '../../common/IRule';
|
|
3
3
|
import { ISearchDependencies } from '../../common/ISearchDependencies';
|
|
4
|
-
import { FilterKey } from
|
|
4
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
5
5
|
export declare abstract class BaseSearchVolumeOrganisationsRule implements IRule {
|
|
6
6
|
private readonly filterKey;
|
|
7
7
|
private readonly idsWithSearchVolume;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FilterKey } from
|
|
1
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
2
2
|
import { BaseFilterKeyValueRule } from '../../common/rules/BaseFilterKeyValueRule';
|
|
3
3
|
export class ContinentIsEuropeRule extends BaseFilterKeyValueRule {
|
|
4
4
|
constructor() {
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
+
import { BaseFilterKeyValueRule } from '../../common/rules/BaseFilterKeyValueRule';
|
|
3
|
+
export class OnlineAttendanceRule extends BaseFilterKeyValueRule {
|
|
4
|
+
constructor() {
|
|
5
|
+
const filterKeyValues = new Map([[FilterKey.DELIVERY_METHOD, ['online']]]);
|
|
6
|
+
super(filterKeyValues);
|
|
7
|
+
}
|
|
8
|
+
getName() {
|
|
9
|
+
return 'OnlineAttendanceRule';
|
|
10
|
+
}
|
|
11
|
+
getDescription() {
|
|
12
|
+
return 'Indexable if attendance is online';
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FilterKey } from
|
|
1
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
2
2
|
import { BaseSearchVolumeOrganisationsRule } from './BaseSearchVolumeOrganisationsRule';
|
|
3
3
|
export class SearchVolumeAreasAttendanceRule extends BaseSearchVolumeOrganisationsRule {
|
|
4
4
|
constructor() {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FilterKey } from
|
|
1
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
2
2
|
import { BaseSearchVolumeOrganisationsRule } from './BaseSearchVolumeOrganisationsRule';
|
|
3
3
|
export class SearchVolumeAreasDisciplineRule extends BaseSearchVolumeOrganisationsRule {
|
|
4
4
|
constructor() {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FilterKey } from
|
|
1
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
2
2
|
import { BaseSearchVolumeOrganisationsRule } from './BaseSearchVolumeOrganisationsRule';
|
|
3
3
|
export class SearchVolumeCountriesAttendanceRule extends BaseSearchVolumeOrganisationsRule {
|
|
4
4
|
constructor() {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IAreaFragment } from './fragments/IAreaFragment';
|
|
2
2
|
import { IPresenter } from '../common';
|
|
3
|
-
import { FilterKey } from
|
|
3
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
4
4
|
export declare class AreaPresenter implements IPresenter {
|
|
5
5
|
readonly filterKey: FilterKey;
|
|
6
6
|
private static instance;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { areasAll } from '@studyportals/static-domain-data/areas/areas';
|
|
2
2
|
import { areaGetPath } from '@studyportals/static-domain-data/areas/area-get-path';
|
|
3
|
-
import { FilterKey } from
|
|
3
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
4
4
|
export class AreaPresenter {
|
|
5
5
|
filterKey = FilterKey.AREA;
|
|
6
6
|
static instance;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IPresenter } from '../common';
|
|
2
2
|
import { IFragment } from './fragments/IFragment';
|
|
3
|
-
import { FilterKey } from
|
|
3
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
4
4
|
export declare class AttendancePresenter implements IPresenter {
|
|
5
5
|
readonly filterKey: FilterKey;
|
|
6
6
|
private static instance;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FilterKey } from
|
|
1
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
2
2
|
export class AttendancePresenter {
|
|
3
3
|
filterKey = FilterKey.DELIVERY_METHOD;
|
|
4
4
|
static instance;
|
|
@@ -8,6 +8,10 @@ export class AttendancePresenter {
|
|
|
8
8
|
{
|
|
9
9
|
id: 'online',
|
|
10
10
|
path: 'online'
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
id: 'blended',
|
|
14
|
+
path: 'blended'
|
|
11
15
|
}
|
|
12
16
|
];
|
|
13
17
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IFragment } from './fragments/IFragment';
|
|
2
2
|
import { IPresenter } from '../common';
|
|
3
|
-
import { FilterKey } from
|
|
3
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
4
4
|
export declare class ContinentPresenter implements IPresenter {
|
|
5
5
|
readonly filterKey: FilterKey;
|
|
6
6
|
private static instance;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { continentsAll } from '@studyportals/static-domain-data/continents/continents';
|
|
2
2
|
import { continentGetPath } from '@studyportals/static-domain-data/continents/continent-get-path';
|
|
3
|
-
import { FilterKey } from
|
|
3
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
4
4
|
export class ContinentPresenter {
|
|
5
5
|
filterKey = FilterKey.CONTINENT;
|
|
6
6
|
static instance;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ICountryFragment } from './fragments/ICountryFragment';
|
|
2
2
|
import { IPresenter } from '../common';
|
|
3
|
-
import { FilterKey } from
|
|
3
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
4
4
|
export declare class CountryPresenter implements IPresenter {
|
|
5
5
|
readonly filterKey: FilterKey;
|
|
6
6
|
private static instance;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { countriesExtendedAll } from '@studyportals/static-domain-data/countries/countries-extended';
|
|
2
2
|
import { countryGetIsoCodePath } from '@studyportals/static-domain-data/countries/country-get-iso-path';
|
|
3
|
-
import { FilterKey } from
|
|
3
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
4
4
|
export class CountryPresenter {
|
|
5
5
|
filterKey = FilterKey.COUNTRY;
|
|
6
6
|
static instance;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IPresenter } from '../common';
|
|
2
2
|
import { IFragment } from './fragments/IFragment';
|
|
3
|
-
import { FilterKey } from '
|
|
3
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
4
4
|
export declare class DegreePresenter implements IPresenter {
|
|
5
5
|
readonly filterKey: FilterKey;
|
|
6
6
|
private static instance;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { FilterKey } from '
|
|
2
|
-
import { DegreeTypeFilterOptionValue } from '../enums/DegreeTypeFilterOptionValue';
|
|
1
|
+
import { DegreeTypeFilterOptionValue, FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
3
2
|
export class DegreePresenter {
|
|
4
3
|
filterKey = FilterKey.DEGREE_TYPE;
|
|
5
4
|
static instance;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IFragment } from './fragments/IFragment';
|
|
2
2
|
import { IPresenter } from '../common';
|
|
3
|
-
import { FilterKey } from
|
|
3
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
4
4
|
export declare class DisciplinePresenter implements IPresenter {
|
|
5
5
|
readonly filterKey: FilterKey;
|
|
6
6
|
private static instance;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { disciplinesAll } from '@studyportals/static-domain-data/disciplines/disciplines';
|
|
2
2
|
import { subdisciplinesAll } from '@studyportals/static-domain-data/disciplines/subdisciplines';
|
|
3
3
|
import { disciplineGetVirtualPath } from '@studyportals/static-domain-data/disciplines/discipline-get-virtual-path';
|
|
4
|
-
import { FilterKey } from
|
|
4
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
5
5
|
export class DisciplinePresenter {
|
|
6
6
|
filterKey = FilterKey.DISCIPLINES;
|
|
7
7
|
static instance;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { IPresenter } from '../common';
|
|
2
2
|
import { IFragment } from './fragments/IFragment';
|
|
3
|
-
import { FilterKey } from '
|
|
4
|
-
import { DurationFilterOptionValue } from '../enums/DurationFilterOptionValue';
|
|
3
|
+
import { DurationFilterOptionValue, FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
5
4
|
export declare class DurationPresenter implements IPresenter {
|
|
6
5
|
readonly filterKey: FilterKey;
|
|
7
6
|
private static instance;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { FilterKey } from '
|
|
2
|
-
import { DurationFilterOptionValue } from '../enums/DurationFilterOptionValue';
|
|
1
|
+
import { DurationFilterOptionValue, FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
3
2
|
export class DurationPresenter {
|
|
4
3
|
filterKey = FilterKey.DURATION;
|
|
5
4
|
static instance;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IPresenter } from '../common';
|
|
2
2
|
import { IFragment } from './fragments/IFragment';
|
|
3
|
-
import { FilterKey } from '
|
|
3
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
4
4
|
export declare class EducationalFormPresenter implements IPresenter {
|
|
5
5
|
readonly filterKey: FilterKey;
|
|
6
6
|
private static instance;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { FilterKey } from '
|
|
2
|
-
import { EducationalFormFilterOptionValue } from '../enums/EducationalFormFilterOptionValue';
|
|
1
|
+
import { EducationalFormFilterOptionValue, FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
3
2
|
export class EducationalFormPresenter {
|
|
4
3
|
filterKey = FilterKey.EDUCATIONAL_FORM;
|
|
5
4
|
static instance;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IPresenter } from '../common';
|
|
2
2
|
import { IFragment } from './fragments/IFragment';
|
|
3
|
-
import { FilterKey } from '
|
|
3
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
4
4
|
export declare class FormatPresenter implements IPresenter {
|
|
5
5
|
readonly filterKey: FilterKey;
|
|
6
6
|
private static instance;
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import { FilterKey } from '
|
|
2
|
-
import { FormatFilterOptionValue } from '../enums/FormatFilterOptionValue';
|
|
1
|
+
import { FormatFilterOptionValue, FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
3
2
|
export class FormatPresenter {
|
|
4
3
|
filterKey = FilterKey.ATTENDANCE;
|
|
5
4
|
static instance;
|
|
6
5
|
fragments;
|
|
7
6
|
constructor() {
|
|
8
|
-
// Part-time is the only indexable format according to PartTimeFormatRule
|
|
9
7
|
this.fragments = [
|
|
10
8
|
{
|
|
11
9
|
id: FormatFilterOptionValue.PART_TIME,
|
|
12
10
|
path: 'part-time'
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
id: FormatFilterOptionValue.FULL_TIME,
|
|
14
|
+
path: 'full-time'
|
|
13
15
|
}
|
|
14
16
|
];
|
|
15
17
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IPresenter } from '../common';
|
|
2
2
|
import { IFragment } from './fragments/IFragment';
|
|
3
|
-
import { FilterKey } from '
|
|
3
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
4
4
|
export declare class SpecialProgrammesPresenter implements IPresenter {
|
|
5
5
|
readonly filterKey: FilterKey;
|
|
6
6
|
private static instance;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { FilterKey } from '
|
|
2
|
-
import { SpecialProgrammesFilterOptionValue } from '../enums/SpecialProgrammesFilterOptionValue';
|
|
1
|
+
import { SpecialProgrammesFilterOptionValue, FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
3
2
|
export class SpecialProgrammesPresenter {
|
|
4
3
|
filterKey = FilterKey.SPECIAL_PROGRAMMES;
|
|
5
4
|
static instance;
|
|
@@ -13,6 +12,10 @@ export class SpecialProgrammesPresenter {
|
|
|
13
12
|
{
|
|
14
13
|
id: SpecialProgrammesFilterOptionValue.ERASMUS_MUNDUS,
|
|
15
14
|
path: 'erasmus-mundus'
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
id: SpecialProgrammesFilterOptionValue.EXECUTIVE_PROGRAMMES,
|
|
18
|
+
path: 'executive-programmes'
|
|
16
19
|
}
|
|
17
20
|
];
|
|
18
21
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IPresenter } from '../common';
|
|
2
2
|
import { IFragment } from './fragments/IFragment';
|
|
3
|
-
import { FilterKey } from '
|
|
3
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
4
4
|
export declare class TuitionFeePresenter implements IPresenter {
|
|
5
5
|
readonly filterKey: FilterKey;
|
|
6
6
|
private static instance;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { FilterKey } from '
|
|
2
|
-
import { TuitionFeeFilterOptionValue } from '../enums/TuitionFeeFilterOptionValue';
|
|
1
|
+
import { TuitionFeeFilterOptionValue, FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
3
2
|
export class TuitionFeePresenter {
|
|
4
3
|
filterKey = FilterKey.TUITION_FEE;
|
|
5
4
|
static instance;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BaseSeoIndexabilityPolicy } from '../common/policies/BaseSeoIndexabilityPolicy';
|
|
2
2
|
import { IProgrammeSeoDependencies } from './types/IProgrammeSeoDependencies';
|
|
3
3
|
import { IProgrammeSitemapUrlGenerator } from './types/IProgrammeSitemapUrlGenerator';
|
|
4
|
-
import { FilterKey } from
|
|
4
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
5
5
|
import { FilterKeyValuesMap } from '../../sitemap-generator-seo';
|
|
6
6
|
import { IProgrammeRule } from './IProgrammeRule';
|
|
7
7
|
import { IRule } from '../common/IRule';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Area, Attendance, AttendanceDegree, Continent, ContinentTuitionFee, Country, CountryAttendance, CountryAttendanceDegree, CountryDegree, CountryDuration, CountryDurationDegree, CountryEducationalForm, CountryFormat, CountryTuitionFee, DegreeAttendanceDiscipline, DegreeCountryAttendance, DegreeCountryDiscipline, DegreeCountryTuitionFee, Discipline,
|
|
1
|
+
import { Area, Attendance, AttendanceDegree, Continent, ContinentTuitionFee, Country, CountryAttendance, CountryAttendanceDegree, CountryDegree, CountryDuration, CountryDurationDegree, CountryEducationalForm, CountryFormat, CountryTuitionFee, DegreeAttendanceDiscipline, DegreeCountryAttendance, DegreeCountryDiscipline, DegreeCountryTuitionFee, Discipline, DisciplineAttendance, DisciplineContinent, DisciplineCountry, DisciplineCountryEducationalForm, DisciplineDegree, DisciplineDuration, DisciplineEducationalForm, DisciplineFormat, DisciplineTuitionFee, DisciplineTuitionFeeAttendance, SpecialProgrammes, TuitionFee, Unfiltered, AttendanceArea, AttendanceContinent, AttendanceDuration, AttendanceFormat, AttendanceTuitionFee, ContinentDuration, ContinentFormat, ContinentSpecialProgrammes, CountrySpecialProgrammes, DegreeArea, DegreeAreaTuitionFee, DegreeAttendanceFormat, DegreeAttendanceTuitionFee, DegreeContinent, DegreeContinentTuitionFee, DegreeDuration, DegreeFormat, DegreeFormatTuitionFee, DegreeSpecialProgrammes, DegreeTuitionFee, DisciplineContinentAttendance, DisciplineCountryAttendance, DisciplineCountryFormat, Duration, Format } from './policies';
|
|
2
2
|
import { DependencyTypes } from '../enums/DependencyTypes';
|
|
3
3
|
import { Degree } from './policies/Degree';
|
|
4
4
|
export class SearchIndexabilityManager {
|
|
@@ -32,7 +32,6 @@ export class SearchIndexabilityManager {
|
|
|
32
32
|
new DegreeCountryDiscipline(dependencies),
|
|
33
33
|
new DegreeCountryTuitionFee(dependencies),
|
|
34
34
|
new Discipline(dependencies),
|
|
35
|
-
new DisciplineArea(dependencies),
|
|
36
35
|
new DisciplineAttendance(dependencies),
|
|
37
36
|
new DisciplineContinent(dependencies),
|
|
38
37
|
new DisciplineCountry(dependencies),
|
|
@@ -45,7 +44,32 @@ export class SearchIndexabilityManager {
|
|
|
45
44
|
new DisciplineTuitionFeeAttendance(dependencies),
|
|
46
45
|
new SpecialProgrammes(dependencies),
|
|
47
46
|
new TuitionFee(dependencies),
|
|
48
|
-
new Unfiltered(dependencies)
|
|
47
|
+
new Unfiltered(dependencies),
|
|
48
|
+
new CountrySpecialProgrammes(dependencies),
|
|
49
|
+
new DegreeArea(dependencies),
|
|
50
|
+
new DegreeAreaTuitionFee(dependencies),
|
|
51
|
+
new DegreeAttendanceFormat(dependencies),
|
|
52
|
+
new DegreeAttendanceTuitionFee(dependencies),
|
|
53
|
+
new DegreeContinent(dependencies),
|
|
54
|
+
new DegreeContinentTuitionFee(dependencies),
|
|
55
|
+
new DegreeDuration(dependencies),
|
|
56
|
+
new DegreeFormat(dependencies),
|
|
57
|
+
new DegreeFormatTuitionFee(dependencies),
|
|
58
|
+
new DegreeSpecialProgrammes(dependencies),
|
|
59
|
+
new DegreeTuitionFee(dependencies),
|
|
60
|
+
new DisciplineContinentAttendance(dependencies),
|
|
61
|
+
new DisciplineCountryAttendance(dependencies),
|
|
62
|
+
new DisciplineCountryFormat(dependencies),
|
|
63
|
+
new Duration(dependencies),
|
|
64
|
+
new Format(dependencies),
|
|
65
|
+
new AttendanceArea(dependencies),
|
|
66
|
+
new AttendanceContinent(dependencies),
|
|
67
|
+
new AttendanceDuration(dependencies),
|
|
68
|
+
new AttendanceFormat(dependencies),
|
|
69
|
+
new AttendanceTuitionFee(dependencies),
|
|
70
|
+
new ContinentDuration(dependencies),
|
|
71
|
+
new ContinentFormat(dependencies),
|
|
72
|
+
new ContinentSpecialProgrammes(dependencies),
|
|
49
73
|
];
|
|
50
74
|
}
|
|
51
75
|
getPolicies() {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FilterKey } from
|
|
1
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
2
2
|
import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
|
|
3
3
|
import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
4
|
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FilterKey } from
|
|
1
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
2
2
|
import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
|
|
3
3
|
import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
4
|
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FilterKey } from
|
|
1
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
2
2
|
import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
|
|
3
3
|
import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
4
|
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FilterKey } from
|
|
1
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
2
2
|
import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
|
|
3
3
|
import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
4
|
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
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
|
+
import { OnlineAttendanceRule } from '../../common/rules/OnlineAttendanceRule';
|
|
8
|
+
export declare class AttendanceArea 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
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
2
|
+
import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
|
|
3
|
+
import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
|
+
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
5
|
+
import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
|
|
6
|
+
import { AreaPresenter } from '../../presenters/AreaPresenter';
|
|
7
|
+
import { AttendancePresenter } from '../../presenters/AttendancePresenter';
|
|
8
|
+
import { OnlineAttendanceRule } from '../../common/rules/OnlineAttendanceRule';
|
|
9
|
+
export class AttendanceArea extends ProgrammesBaseIndexabilityPolicy {
|
|
10
|
+
name = 'Attendance Area Policy';
|
|
11
|
+
description = 'Controls indexing of pages filtered by geographic areas and attendance type. (Online)';
|
|
12
|
+
filterKeys = [FilterKey.DELIVERY_METHOD, FilterKey.AREA];
|
|
13
|
+
rules = [
|
|
14
|
+
new SingleValueSelectedForFilterRule(FilterKey.AREA),
|
|
15
|
+
new SingleValueSelectedForFilterRule(FilterKey.COUNTRY),
|
|
16
|
+
new SingleValueSelectedForFilterRule(FilterKey.DELIVERY_METHOD),
|
|
17
|
+
new OnlyFiltersSelectedRule([FilterKey.AREA, FilterKey.DELIVERY_METHOD]),
|
|
18
|
+
new OnlineAttendanceRule()
|
|
19
|
+
];
|
|
20
|
+
constructor(dependencies) {
|
|
21
|
+
super(dependencies);
|
|
22
|
+
this.initateBaseRules();
|
|
23
|
+
}
|
|
24
|
+
async generateUrls() {
|
|
25
|
+
const areaFragments = AreaPresenter.getInstance().getFragments();
|
|
26
|
+
const attendanceFragments = AttendancePresenter.getInstance().getFragments();
|
|
27
|
+
const paths = [];
|
|
28
|
+
for (const pageNumber of this.indexablePageNumbers) {
|
|
29
|
+
for (const attendance of attendanceFragments) {
|
|
30
|
+
for (const area of areaFragments) {
|
|
31
|
+
const filterKeyValues = new Map([
|
|
32
|
+
[FilterKey.AREA, [area.id]],
|
|
33
|
+
[FilterKey.COUNTRY, [area.countryId]],
|
|
34
|
+
[FilterKey.DELIVERY_METHOD, [attendance.id]]
|
|
35
|
+
]);
|
|
36
|
+
const result = await this.checkRulesForSitemapWithPageNumber(filterKeyValues, pageNumber);
|
|
37
|
+
if (result) {
|
|
38
|
+
paths.push(this.getPathWithPageNumber(`${attendance.path}/${area.path}`, pageNumber));
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return paths;
|
|
44
|
+
}
|
|
45
|
+
get filterCombination() {
|
|
46
|
+
return FilterCombinations.ATTENDANCE_AREA;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
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
|
+
import { OnlineAttendanceRule } from '../../common/rules/OnlineAttendanceRule';
|
|
8
|
+
export declare class AttendanceContinent 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
|
+
}
|