@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
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
+
import { TuitionFeeFilterOptionValue } from '@studyportals/search-filters';
|
|
3
|
+
import { BaseProgrammeRule } from '../BaseProgrammeRule';
|
|
4
|
+
export class MasterOfLawsCountryTuitionFeeRule extends BaseProgrammeRule {
|
|
5
|
+
degreeValue = 'master-of-laws';
|
|
6
|
+
allowedCountryIds = ['82', '30', '32', '108']; // USA, UK, Canada, India
|
|
7
|
+
tuitionFeeValue = TuitionFeeFilterOptionValue.ZERO_TO_TWO_THOUSAND_FIVE_HUNDRED;
|
|
8
|
+
getName() {
|
|
9
|
+
return 'MasterOfLawsCountryTuitionFeeRule';
|
|
10
|
+
}
|
|
11
|
+
getDescription() {
|
|
12
|
+
return 'Indexes: master-of-laws (USA, UK, Canada, India) + affordable tuition (0-2500)';
|
|
13
|
+
}
|
|
14
|
+
forSearch(dependencies) {
|
|
15
|
+
const { seoInfoBase, filterState } = dependencies;
|
|
16
|
+
const degreeTypeValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DEGREE_TYPE, filterState);
|
|
17
|
+
const countryValue = seoInfoBase.getFilterOptionValueBy(FilterKey.COUNTRY, filterState);
|
|
18
|
+
const tuitionFeeValue = seoInfoBase.getFilterOptionValueBy(FilterKey.TUITION_FEE, filterState);
|
|
19
|
+
if (degreeTypeValue !== this.degreeValue) {
|
|
20
|
+
return Promise.resolve(true);
|
|
21
|
+
}
|
|
22
|
+
if (!countryValue || !tuitionFeeValue) {
|
|
23
|
+
return Promise.resolve(false);
|
|
24
|
+
}
|
|
25
|
+
return Promise.resolve(this.allowedCountryIds.includes(countryValue) &&
|
|
26
|
+
tuitionFeeValue === this.tuitionFeeValue);
|
|
27
|
+
}
|
|
28
|
+
forSitemapGenerator(filterKeyValues) {
|
|
29
|
+
const degreeTypeValues = filterKeyValues.get(FilterKey.DEGREE_TYPE);
|
|
30
|
+
const countryValues = filterKeyValues.get(FilterKey.COUNTRY);
|
|
31
|
+
const tuitionFeeValues = filterKeyValues.get(FilterKey.TUITION_FEE);
|
|
32
|
+
if (!degreeTypeValues?.length || !countryValues?.length || !tuitionFeeValues?.length) {
|
|
33
|
+
return Promise.resolve(false);
|
|
34
|
+
}
|
|
35
|
+
const degreeTypeValue = degreeTypeValues[0];
|
|
36
|
+
const countryValue = countryValues[0];
|
|
37
|
+
const tuitionFeeValue = tuitionFeeValues[0];
|
|
38
|
+
// This rule only applies to Master of Laws
|
|
39
|
+
if (degreeTypeValue !== this.degreeValue) {
|
|
40
|
+
return Promise.resolve(true); // Rule doesn't apply to other degrees
|
|
41
|
+
}
|
|
42
|
+
// Must be in allowed countries and have affordable tuition
|
|
43
|
+
return Promise.resolve(this.allowedCountryIds.includes(countryValue) &&
|
|
44
|
+
tuitionFeeValue === this.tuitionFeeValue);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ISearchDependencies } from '../../common/ISearchDependencies';
|
|
2
|
+
import { FilterKeyValuesMap } from '../../common/FilterKeyValuesMap';
|
|
3
|
+
import { BaseProgrammeRule } from '../BaseProgrammeRule';
|
|
4
|
+
export declare class MasterOfPhilosophyCountryAttendanceRule extends BaseProgrammeRule {
|
|
5
|
+
private readonly degreeValue;
|
|
6
|
+
private readonly attendanceValue;
|
|
7
|
+
private readonly allowedCountryIds;
|
|
8
|
+
getName(): string;
|
|
9
|
+
getDescription(): string;
|
|
10
|
+
forSearch(dependencies: ISearchDependencies): Promise<boolean>;
|
|
11
|
+
forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
+
import { BaseProgrammeRule } from '../BaseProgrammeRule';
|
|
3
|
+
export class MasterOfPhilosophyCountryAttendanceRule extends BaseProgrammeRule {
|
|
4
|
+
degreeValue = 'master-of-philosophy';
|
|
5
|
+
attendanceValue = 'online';
|
|
6
|
+
allowedCountryIds = ['82', '30', '108']; // USA, UK, India
|
|
7
|
+
getName() {
|
|
8
|
+
return 'MasterOfPhilosophyCountryAttendanceRule';
|
|
9
|
+
}
|
|
10
|
+
getDescription() {
|
|
11
|
+
return 'Indexes: master-of-philosophy (USA, UK, India) + online attendance';
|
|
12
|
+
}
|
|
13
|
+
forSearch(dependencies) {
|
|
14
|
+
const { seoInfoBase, filterState } = dependencies;
|
|
15
|
+
const degreeTypeValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DEGREE_TYPE, filterState);
|
|
16
|
+
const countryValue = seoInfoBase.getFilterOptionValueBy(FilterKey.COUNTRY, filterState);
|
|
17
|
+
const attendanceValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DELIVERY_METHOD, filterState);
|
|
18
|
+
if (degreeTypeValue !== this.degreeValue) {
|
|
19
|
+
return Promise.resolve(true);
|
|
20
|
+
}
|
|
21
|
+
if (!countryValue || !attendanceValue) {
|
|
22
|
+
return Promise.resolve(false);
|
|
23
|
+
}
|
|
24
|
+
return Promise.resolve(this.allowedCountryIds.includes(countryValue) &&
|
|
25
|
+
attendanceValue === this.attendanceValue);
|
|
26
|
+
}
|
|
27
|
+
forSitemapGenerator(filterKeyValues) {
|
|
28
|
+
const degreeTypeValues = filterKeyValues.get(FilterKey.DEGREE_TYPE);
|
|
29
|
+
const countryValues = filterKeyValues.get(FilterKey.COUNTRY);
|
|
30
|
+
const attendanceValues = filterKeyValues.get(FilterKey.DELIVERY_METHOD);
|
|
31
|
+
if (!degreeTypeValues?.length || !countryValues?.length || !attendanceValues?.length) {
|
|
32
|
+
return Promise.resolve(false);
|
|
33
|
+
}
|
|
34
|
+
const degreeTypeValue = degreeTypeValues[0];
|
|
35
|
+
const countryValue = countryValues[0];
|
|
36
|
+
const attendanceValue = attendanceValues[0];
|
|
37
|
+
if (degreeTypeValue !== this.degreeValue) {
|
|
38
|
+
return Promise.resolve(true);
|
|
39
|
+
}
|
|
40
|
+
return Promise.resolve(this.allowedCountryIds.includes(countryValue) &&
|
|
41
|
+
attendanceValue === this.attendanceValue);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ISearchDependencies } from '../../common/ISearchDependencies';
|
|
2
|
+
import { FilterKeyValuesMap } from '../../common/FilterKeyValuesMap';
|
|
3
|
+
import { BaseProgrammeRule } from '../BaseProgrammeRule';
|
|
4
|
+
export declare class MasterOfScienceDisciplineRule extends BaseProgrammeRule {
|
|
5
|
+
private readonly degreeValue;
|
|
6
|
+
getName(): string;
|
|
7
|
+
getDescription(): string;
|
|
8
|
+
forSearch(dependencies: ISearchDependencies): Promise<boolean>;
|
|
9
|
+
forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
+
import { BaseProgrammeRule } from '../BaseProgrammeRule';
|
|
3
|
+
export class MasterOfScienceDisciplineRule extends BaseProgrammeRule {
|
|
4
|
+
// Master of Science accepts all disciplines
|
|
5
|
+
degreeValue = 'master-of-science';
|
|
6
|
+
getName() {
|
|
7
|
+
return 'MasterOfScienceDisciplineRule';
|
|
8
|
+
}
|
|
9
|
+
getDescription() {
|
|
10
|
+
return 'Indexes: master-of-science + all disciplines';
|
|
11
|
+
}
|
|
12
|
+
forSearch(dependencies) {
|
|
13
|
+
const { seoInfoBase, filterState } = dependencies;
|
|
14
|
+
const degreeTypeValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DEGREE_TYPE, filterState);
|
|
15
|
+
const disciplineValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DISCIPLINES, filterState);
|
|
16
|
+
// This rule only applies to Master of Science
|
|
17
|
+
if (degreeTypeValue !== this.degreeValue) {
|
|
18
|
+
return Promise.resolve(true); // Rule doesn't apply to other degrees
|
|
19
|
+
}
|
|
20
|
+
// Must have a discipline selected
|
|
21
|
+
if (!disciplineValue) {
|
|
22
|
+
return Promise.resolve(false);
|
|
23
|
+
}
|
|
24
|
+
// Master of Science accepts all disciplines
|
|
25
|
+
return Promise.resolve(true);
|
|
26
|
+
}
|
|
27
|
+
forSitemapGenerator(filterKeyValues) {
|
|
28
|
+
const degreeTypeValues = filterKeyValues.get(FilterKey.DEGREE_TYPE);
|
|
29
|
+
const disciplineValues = filterKeyValues.get(FilterKey.DISCIPLINES);
|
|
30
|
+
if (!degreeTypeValues?.length || !disciplineValues?.length) {
|
|
31
|
+
return Promise.resolve(false);
|
|
32
|
+
}
|
|
33
|
+
const degreeTypeValue = degreeTypeValues[0];
|
|
34
|
+
// This rule only applies to Master of Science
|
|
35
|
+
if (degreeTypeValue !== this.degreeValue) {
|
|
36
|
+
return Promise.resolve(true); // Rule doesn't apply to other degrees
|
|
37
|
+
}
|
|
38
|
+
// Master of Science accepts all disciplines
|
|
39
|
+
return Promise.resolve(true);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { FilterKey } from
|
|
1
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
2
|
+
import { DegreeTypeFilterOptionValue } from '@studyportals/search-filters/search_filters_interfaces';
|
|
2
3
|
import { BaseProgrammeFilterKeyValueRule } from '../BaseProgrammeFilterKeyValueRule';
|
|
3
|
-
import { DegreeTypeFilterOptionValue } from "../../enums/DegreeTypeFilterOptionValue";
|
|
4
4
|
export class MbaDegreeRule extends BaseProgrammeFilterKeyValueRule {
|
|
5
5
|
constructor() {
|
|
6
6
|
const filterKeyValues = new Map([[FilterKey.DEGREE_TYPE, [DegreeTypeFilterOptionValue.MBA]]]);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { FilterKey } from
|
|
1
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
2
|
+
import { DegreeTypeFilterOptionValue } from '@studyportals/search-filters/search_filters_interfaces';
|
|
2
3
|
import { BaseProgrammeRule } from '../BaseProgrammeRule';
|
|
3
|
-
import { DegreeTypeFilterOptionValue } from "../../enums/DegreeTypeFilterOptionValue";
|
|
4
4
|
export class MbaOrMscDegreeRule extends BaseProgrammeRule {
|
|
5
5
|
forSearch(dependencies) {
|
|
6
6
|
const { seoInfoBase, filterState } = dependencies;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { FilterKey } from
|
|
1
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
2
|
+
import { DurationFilterOptionValue } from '@studyportals/search-filters/search_filters_interfaces';
|
|
2
3
|
import { BaseProgrammeFilterKeyValueRule } from '../BaseProgrammeFilterKeyValueRule';
|
|
3
|
-
import { DurationFilterOptionValue } from "../../enums/DurationFilterOptionValue";
|
|
4
4
|
export class OneYearDurationRule extends BaseProgrammeFilterKeyValueRule {
|
|
5
5
|
constructor() {
|
|
6
6
|
const filterKeyValues = new Map([[FilterKey.DURATION, [DurationFilterOptionValue.ONE_YEAR]]]);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ISearchDependencies } from '../../common/ISearchDependencies';
|
|
2
|
+
import { FilterKeyValuesMap } from '../../common/FilterKeyValuesMap';
|
|
3
|
+
import { BaseProgrammeRule } from '../BaseProgrammeRule';
|
|
4
|
+
export declare class OneYearOnlyRule extends BaseProgrammeRule {
|
|
5
|
+
constructor();
|
|
6
|
+
forSearch(dependencies: ISearchDependencies): Promise<boolean>;
|
|
7
|
+
forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
|
|
8
|
+
getName(): string;
|
|
9
|
+
getDescription(): string;
|
|
10
|
+
private isOneYear;
|
|
11
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
2
|
+
import { DurationFilterOptionValue } from '@studyportals/search-filters/search_filters_interfaces';
|
|
3
|
+
import { BaseProgrammeRule } from '../BaseProgrammeRule';
|
|
4
|
+
export class OneYearOnlyRule extends BaseProgrammeRule {
|
|
5
|
+
constructor() {
|
|
6
|
+
super();
|
|
7
|
+
}
|
|
8
|
+
forSearch(dependencies) {
|
|
9
|
+
const { seoInfoBase, filterState } = dependencies;
|
|
10
|
+
const selectedDuration = seoInfoBase.getFilterOptionValueBy(FilterKey.DURATION, filterState);
|
|
11
|
+
if (!selectedDuration) {
|
|
12
|
+
return Promise.resolve(false);
|
|
13
|
+
}
|
|
14
|
+
const isOneYear = this.isOneYear(selectedDuration);
|
|
15
|
+
return Promise.resolve(isOneYear);
|
|
16
|
+
}
|
|
17
|
+
forSitemapGenerator(filterKeyValues) {
|
|
18
|
+
const [selectedDuration] = filterKeyValues.get(FilterKey.DURATION);
|
|
19
|
+
if (!selectedDuration) {
|
|
20
|
+
return Promise.resolve(false);
|
|
21
|
+
}
|
|
22
|
+
const isOneYear = this.isOneYear(selectedDuration);
|
|
23
|
+
return Promise.resolve(isOneYear);
|
|
24
|
+
}
|
|
25
|
+
getName() {
|
|
26
|
+
return 'OneYearOnlyRule';
|
|
27
|
+
}
|
|
28
|
+
getDescription() {
|
|
29
|
+
return 'Indexable only if duration is exactly 1 year ([360,360]).';
|
|
30
|
+
}
|
|
31
|
+
isOneYear(value) {
|
|
32
|
+
return value === DurationFilterOptionValue.ONE_YEAR;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
2
|
+
import { AttendanceFilterOptionValue } from '@studyportals/search-filters/search_filters_interfaces';
|
|
3
|
+
import { BaseProgrammeFilterKeyValueRule } from '../BaseProgrammeFilterKeyValueRule';
|
|
4
|
+
export class OnlineAttendanceRule extends BaseProgrammeFilterKeyValueRule {
|
|
5
|
+
constructor() {
|
|
6
|
+
const filterKeyValues = new Map([[FilterKey.DELIVERY_METHOD, [AttendanceFilterOptionValue.ONLINE]]]);
|
|
7
|
+
super(filterKeyValues);
|
|
8
|
+
}
|
|
9
|
+
getName() {
|
|
10
|
+
return 'OnlineAttendanceRule';
|
|
11
|
+
}
|
|
12
|
+
getDescription() {
|
|
13
|
+
return 'Is indexable if the selected attendance is online.';
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { FilterKey } from
|
|
1
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
2
|
+
import { FormatFilterOptionValue } from '@studyportals/search-filters/search_filters_interfaces';
|
|
2
3
|
import { BaseProgrammeFilterKeyValueRule } from '../BaseProgrammeFilterKeyValueRule';
|
|
3
|
-
import { FormatFilterOptionValue } from "../../enums/FormatFilterOptionValue";
|
|
4
4
|
export class PartTimeFormatRule extends BaseProgrammeFilterKeyValueRule {
|
|
5
5
|
constructor() {
|
|
6
6
|
const filterKeyValues = new Map([[FilterKey.ATTENDANCE, [FormatFilterOptionValue.PART_TIME]]]);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ISitemapUrlGenerator } from '../../common/ISitemapUrlGenerator';
|
|
2
|
-
import { FilterKey } from
|
|
2
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
3
3
|
export interface IProgrammeSitemapUrlGenerator extends ISitemapUrlGenerator {
|
|
4
4
|
readonly filterKeys: FilterKey[];
|
|
5
5
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FilterKey } from
|
|
1
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
2
2
|
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
3
3
|
import { ExceptAustraliaAreasRule } from '../rules/ExceptAustaliaAreasRule';
|
|
4
4
|
import { SearchVolumeAreasRule } from '../rules/SearchVolumeAreasRule';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FilterKey } from
|
|
1
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
2
2
|
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
3
3
|
import { SearchVolumeCountriesRule } from '../rules/SearchVolumeCountriesRule';
|
|
4
4
|
import { CountryPresenter } from '../../presenters/CountryPresenter';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FilterKey } from
|
|
1
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
2
2
|
import { DisciplinePresenter } from '../../presenters/DisciplinePresenter';
|
|
3
3
|
import { SearchVolumeDisciplinesRule } from '../../scholarships/rules/SearchVolumeDisciplinesRule';
|
|
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 { FilterCombinations } from '../../enums/FilterCombinations';
|
|
3
3
|
import { SearchVolumeCountriesDisciplinesRule } from '../rules/SearchVolumeCountriesDisciplinesRule';
|
|
4
4
|
import { CountryPresenter } from '../../presenters/CountryPresenter';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FilterKey } from
|
|
1
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
2
2
|
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
3
3
|
import { CountryPresenter } from '../../presenters/CountryPresenter';
|
|
4
4
|
import { ScholarshipSeoIndexabilityPolicy } from './ScholarshipSeoIndexabilityPolicy';
|
|
@@ -27,7 +27,7 @@ export class UniversityCountry extends ScholarshipSeoIndexabilityPolicy {
|
|
|
27
27
|
for (const iso of org.countryIsoCodes) {
|
|
28
28
|
const countryVirtualPath = isoToPath.get(iso.toUpperCase());
|
|
29
29
|
if (countryVirtualPath) {
|
|
30
|
-
paths.push(`${countryVirtualPath}/${org.virtualPath}`);
|
|
30
|
+
paths.push(`${countryVirtualPath}/${org.virtualPath}/${org.id}`);
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AreaPresenter } from '../../presenters/AreaPresenter';
|
|
2
|
-
import { FilterKey } from
|
|
2
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
3
3
|
export class ExceptAustraliaAreasRule {
|
|
4
4
|
australiaCountryId = 202;
|
|
5
5
|
areaFilterKey = FilterKey.AREA;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import searchVolume from './files/search-volume.json';
|
|
2
|
-
import { FilterKey } from
|
|
2
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
3
3
|
export class SearchVolumeCountriesDisciplinesRule {
|
|
4
4
|
countryFilterKey = FilterKey.COUNTRY;
|
|
5
5
|
disciplineFilterKey = FilterKey.DISCIPLINES;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FilterKey } from
|
|
1
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
2
2
|
export class SearchVolumeDisciplinesRule {
|
|
3
3
|
disciplineFilterKey = FilterKey.DISCIPLINES;
|
|
4
4
|
disciplinesWithNoSearchVolume = [243, 415, 405, 379, 269, 413, 408, 274, 411, 401, 381, 390, 410, 412, 130];
|
|
@@ -2,7 +2,7 @@ import { ISitemapUrlGenerator } from '../common/ISitemapUrlGenerator';
|
|
|
2
2
|
import { ISitemapUrlGeneratorManager } from './ISitemapUrlGeneratorManager';
|
|
3
3
|
import { FilterCombinations } from '../enums/FilterCombinations';
|
|
4
4
|
import { IPresenter } from '../common';
|
|
5
|
-
import { FilterKey } from
|
|
5
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
6
6
|
export declare abstract class BaseSitemapUrlGeneratorManager implements ISitemapUrlGeneratorManager {
|
|
7
7
|
abstract readonly policies: ISitemapUrlGenerator[];
|
|
8
8
|
abstract readonly presenters: Map<FilterKey, IPresenter>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { IDocumentationManager } from '../common/IDocumentationManager';
|
|
2
2
|
import { FilterCombinations } from '../enums/FilterCombinations';
|
|
3
3
|
import { IPresenter } from '../common';
|
|
4
|
-
import { FilterKey } from
|
|
4
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
5
5
|
export interface ISitemapUrlGeneratorManager extends IDocumentationManager {
|
|
6
6
|
readonly presenters: Map<FilterKey, IPresenter>;
|
|
7
7
|
generateUrls(): Promise<Map<FilterCombinations, string[]>>;
|
|
@@ -4,7 +4,7 @@ import { ISearchApiClient } from '../sitemap-generator/ISearchApiClient';
|
|
|
4
4
|
import { BaseSitemapUrlGeneratorManager } from './BaseSitemapUrlGeneratorManager';
|
|
5
5
|
import { PortalType } from '@studyportals/domain-client';
|
|
6
6
|
import { IRankingApiClient } from './IRankingApiClient';
|
|
7
|
-
import { FilterKey } from
|
|
7
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
8
8
|
import { IPresenter } from '../common';
|
|
9
9
|
export declare class OrganisationsSitemapUrlGeneratorManager extends BaseSitemapUrlGeneratorManager {
|
|
10
10
|
readonly portalType: PortalType;
|
|
@@ -6,7 +6,7 @@ import { AttendancePresenter } from '../presenters/AttendancePresenter';
|
|
|
6
6
|
import { ContinentPresenter } from '../presenters/ContinentPresenter';
|
|
7
7
|
import { CountryPresenter } from '../presenters/CountryPresenter';
|
|
8
8
|
import { DisciplinePresenter } from '../presenters/DisciplinePresenter';
|
|
9
|
-
import { FilterKey } from
|
|
9
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
10
10
|
export class OrganisationsSitemapUrlGeneratorManager extends BaseSitemapUrlGeneratorManager {
|
|
11
11
|
portalType;
|
|
12
12
|
policies;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ISearchApiClient } from '../sitemap-generator/ISearchApiClient';
|
|
2
2
|
import { BaseSitemapUrlGeneratorManager } from './BaseSitemapUrlGeneratorManager';
|
|
3
3
|
import { PortalType } from '@studyportals/domain-client';
|
|
4
|
-
import { FilterKey } from
|
|
4
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
5
5
|
import { IPresenter } from '../common';
|
|
6
6
|
import { IProgrammeSitemapUrlGenerator } from '../programmes/types/IProgrammeSitemapUrlGenerator';
|
|
7
7
|
export declare class ProgrammesSitemapUrlGeneratorManager extends BaseSitemapUrlGeneratorManager {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DependencyTypes } from '../enums/DependencyTypes';
|
|
2
2
|
import { BaseSitemapUrlGeneratorManager } from './BaseSitemapUrlGeneratorManager';
|
|
3
|
-
import { Area, Attendance, AttendanceDegree, Continent, ContinentTuitionFee, Country, CountryAttendance, Discipline, SpecialProgrammes, TuitionFee, Unfiltered, CountryAttendanceDegree, CountryDuration, CountryDurationDegree, CountryEducationalForm, CountryFormat, CountryTuitionFee, DegreeAttendanceDiscipline, DegreeCountryAttendance, DegreeCountryDiscipline, DegreeCountryTuitionFee,
|
|
4
|
-
import { FilterKey } from
|
|
3
|
+
import { Area, Attendance, AttendanceDegree, Continent, ContinentTuitionFee, Country, CountryAttendance, Discipline, SpecialProgrammes, TuitionFee, Unfiltered, CountryAttendanceDegree, CountryDuration, CountryDurationDegree, CountryEducationalForm, CountryFormat, CountryTuitionFee, DegreeAttendanceDiscipline, DegreeCountryAttendance, DegreeCountryDiscipline, DegreeCountryTuitionFee, Format, DisciplineAttendance, DisciplineContinent, DisciplineCountry, DisciplineCountryEducationalForm, DisciplineDegree, DisciplineDuration, DisciplineEducationalForm, DisciplineFormat, DisciplineTuitionFee, DisciplineTuitionFeeAttendance, CountryDegree, DegreeFormat, DegreeContinent, DegreeAttendanceTuitionFee, DegreeArea, DegreeTuitionFee, AttendanceTuitionFee, Duration, AttendanceDuration, DegreeAreaTuitionFee, DisciplineContinentAttendance, DegreeContinentTuitionFee, AttendanceFormat, ContinentFormat, AttendanceContinent, DegreeDuration, ContinentSpecialProgrammes, CountrySpecialProgrammes, AttendanceArea, DegreeFormatTuitionFee, ContinentDuration, DegreeAttendanceFormat, DisciplineCountryAttendance, DisciplineCountryFormat, DegreeSpecialProgrammes } from '../programmes/policies';
|
|
4
|
+
import { FilterKey } from '@studyportals/search-filters/search_filters_interfaces';
|
|
5
5
|
import { AreaPresenter } from '../presenters/AreaPresenter';
|
|
6
6
|
import { AttendancePresenter } from '../presenters/AttendancePresenter';
|
|
7
7
|
import { DegreePresenter } from '../presenters/DegreePresenter';
|
|
@@ -30,6 +30,8 @@ export class ProgrammesSitemapUrlGeneratorManager extends BaseSitemapUrlGenerato
|
|
|
30
30
|
new Area(dependencies),
|
|
31
31
|
new Attendance(dependencies),
|
|
32
32
|
new AttendanceDegree(dependencies),
|
|
33
|
+
new AttendanceDuration(dependencies),
|
|
34
|
+
new AttendanceContinent(dependencies),
|
|
33
35
|
new Continent(dependencies),
|
|
34
36
|
new ContinentTuitionFee(dependencies),
|
|
35
37
|
new Country(dependencies),
|
|
@@ -39,6 +41,7 @@ export class ProgrammesSitemapUrlGeneratorManager extends BaseSitemapUrlGenerato
|
|
|
39
41
|
new SpecialProgrammes(dependencies),
|
|
40
42
|
new TuitionFee(dependencies),
|
|
41
43
|
new Unfiltered(dependencies),
|
|
44
|
+
new Duration(dependencies),
|
|
42
45
|
new CountryAttendanceDegree(dependencies),
|
|
43
46
|
new CountryDegree(dependencies),
|
|
44
47
|
new CountryDuration(dependencies),
|
|
@@ -46,11 +49,26 @@ export class ProgrammesSitemapUrlGeneratorManager extends BaseSitemapUrlGenerato
|
|
|
46
49
|
new CountryEducationalForm(dependencies),
|
|
47
50
|
new CountryFormat(dependencies),
|
|
48
51
|
new CountryTuitionFee(dependencies),
|
|
52
|
+
new CountrySpecialProgrammes(dependencies),
|
|
53
|
+
new ContinentFormat(dependencies),
|
|
54
|
+
new ContinentSpecialProgrammes(dependencies),
|
|
55
|
+
new ContinentDuration(dependencies),
|
|
49
56
|
new DegreeAttendanceDiscipline(dependencies),
|
|
50
57
|
new DegreeCountryAttendance(dependencies),
|
|
51
58
|
new DegreeCountryDiscipline(dependencies),
|
|
52
59
|
new DegreeCountryTuitionFee(dependencies),
|
|
53
|
-
new
|
|
60
|
+
new DegreeFormat(dependencies),
|
|
61
|
+
new DegreeContinent(dependencies),
|
|
62
|
+
new DegreeAttendanceTuitionFee(dependencies),
|
|
63
|
+
new DegreeArea(dependencies),
|
|
64
|
+
new DegreeTuitionFee(dependencies),
|
|
65
|
+
new DegreeAreaTuitionFee(dependencies),
|
|
66
|
+
new DegreeContinentTuitionFee(dependencies),
|
|
67
|
+
new DegreeDuration(dependencies),
|
|
68
|
+
new DegreeFormatTuitionFee(dependencies),
|
|
69
|
+
new DegreeAttendanceFormat(dependencies),
|
|
70
|
+
new DegreeSpecialProgrammes(dependencies),
|
|
71
|
+
new Format(dependencies),
|
|
54
72
|
new DisciplineAttendance(dependencies),
|
|
55
73
|
new DisciplineContinent(dependencies),
|
|
56
74
|
new DisciplineCountry(dependencies),
|
|
@@ -60,7 +78,13 @@ export class ProgrammesSitemapUrlGeneratorManager extends BaseSitemapUrlGenerato
|
|
|
60
78
|
new DisciplineEducationalForm(dependencies),
|
|
61
79
|
new DisciplineFormat(dependencies),
|
|
62
80
|
new DisciplineTuitionFee(dependencies),
|
|
63
|
-
new DisciplineTuitionFeeAttendance(dependencies)
|
|
81
|
+
new DisciplineTuitionFeeAttendance(dependencies),
|
|
82
|
+
new DisciplineContinentAttendance(dependencies),
|
|
83
|
+
new DisciplineCountryAttendance(dependencies),
|
|
84
|
+
new DisciplineCountryFormat(dependencies),
|
|
85
|
+
new AttendanceTuitionFee(dependencies),
|
|
86
|
+
new AttendanceFormat(dependencies),
|
|
87
|
+
new AttendanceArea(dependencies)
|
|
64
88
|
];
|
|
65
89
|
this.presenters.set(FilterKey.AREA, AreaPresenter.getInstance());
|
|
66
90
|
this.presenters.set(FilterKey.DELIVERY_METHOD, AttendancePresenter.getInstance());
|