@studyportals/fawkes 7.4.2-4 → 8.0.1-1
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/dist/src/common/FilterKeyValuesMap.d.ts +1 -1
- 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 +1 -22
- package/dist/src/enums/FilterCombinations.js +1 -22
- package/dist/src/errors/InvalidFilterValueError.d.ts +1 -1
- package/dist/src/organisations/policies/OrganisationsSeoIndexabilityPolicy.d.ts +2 -0
- package/dist/src/organisations/policies/OrganisationsSeoIndexabilityPolicy.js +16 -0
- package/dist/src/organisations/policies/RankedOrganisationsSeoIndexabilityPolicy.d.ts +1 -1
- package/dist/src/organisations/policies/RankedOrganisationsSeoIndexabilityPolicy.js +1 -1
- 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 -2
- package/dist/src/organisations/policies/ranked/RankedAreaDiscipline.js +1 -2
- package/dist/src/organisations/policies/ranked/RankedAttendance.js +1 -2
- package/dist/src/organisations/policies/ranked/RankedAttendanceDiscipline.js +1 -2
- package/dist/src/organisations/policies/ranked/RankedContinent.js +1 -2
- package/dist/src/organisations/policies/ranked/RankedContinentAttendance.js +1 -2
- package/dist/src/organisations/policies/ranked/RankedCountry.js +1 -2
- package/dist/src/organisations/policies/ranked/RankedCountryAttendance.js +1 -2
- package/dist/src/organisations/policies/ranked/RankedCountryDiscipline.js +1 -2
- package/dist/src/organisations/policies/ranked/RankedDiscipline.js +1 -2
- package/dist/src/organisations/policies/ranked/RankedUnfiltered.js +0 -1
- package/dist/src/organisations/rules/AtLeastSevenResultsRule.d.ts +15 -0
- package/dist/src/organisations/rules/AtLeastSevenResultsRule.js +30 -0
- package/dist/src/organisations/rules/BaseSearchVolumeOrganisationsRule.d.ts +1 -1
- package/dist/src/organisations/rules/ContinentIsEuropeRule.js +1 -1
- 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 +1 -5
- 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 -1
- 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 -1
- package/dist/src/presenters/DurationPresenter.js +1 -1
- package/dist/src/presenters/EducationalFormPresenter.d.ts +1 -1
- package/dist/src/presenters/EducationalFormPresenter.js +1 -1
- package/dist/src/presenters/FormatPresenter.d.ts +1 -1
- package/dist/src/presenters/FormatPresenter.js +2 -5
- package/dist/src/presenters/SpecialProgrammesPresenter.d.ts +1 -1
- package/dist/src/presenters/SpecialProgrammesPresenter.js +1 -5
- package/dist/src/presenters/TuitionFeePresenter.d.ts +1 -1
- package/dist/src/presenters/TuitionFeePresenter.js +1 -1
- package/dist/src/programmes/ProgrammesBaseIndexabilityPolicy.d.ts +1 -1
- package/dist/src/programmes/SearchIndexabilityManager.js +3 -27
- 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/AttendanceDegree.d.ts +4 -3
- package/dist/src/programmes/policies/AttendanceDegree.js +7 -8
- package/dist/src/programmes/policies/Continent.d.ts +1 -1
- package/dist/src/programmes/policies/Continent.js +1 -1
- 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 +5 -7
- 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/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/DegreeAttendanceDiscipline.d.ts +2 -3
- package/dist/src/programmes/policies/DegreeAttendanceDiscipline.js +14 -14
- 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/Discipline.d.ts +1 -1
- package/dist/src/programmes/policies/Discipline.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/DisciplineCountry.d.ts +1 -1
- package/dist/src/programmes/policies/DisciplineCountry.js +1 -1
- package/dist/src/programmes/policies/DisciplineCountryEducationalForm.d.ts +1 -1
- package/dist/src/programmes/policies/DisciplineCountryEducationalForm.js +2 -2
- 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/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/SpecialProgrammes.d.ts +3 -2
- package/dist/src/programmes/policies/SpecialProgrammes.js +4 -2
- 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 +1 -26
- package/dist/src/programmes/policies/index.js +1 -26
- package/dist/src/programmes/rules/AffordableTuitionFeeRule.js +2 -2
- package/dist/src/programmes/rules/AtLeastSevenResultsRule.js +1 -1
- package/dist/src/programmes/rules/DegreeAttendanceDisciplineRule.js +2 -2
- package/dist/src/programmes/rules/DegreeAttendanceDisciplineSpecificRule.js +2 -2
- package/dist/src/programmes/rules/DegreeCountryAttendanceSpecificRule.js +2 -2
- package/dist/src/programmes/rules/DegreeCountryDisciplineSpecificRule.js +2 -2
- package/dist/src/programmes/rules/DegreeCountryTuitionFeeSpecificRule.js +3 -3
- package/dist/src/programmes/rules/DegreeDisciplineRule.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/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/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 +1 -1
- 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/ISearchApiClient.d.ts +1 -1
- 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 +4 -28
- package/package.json +105 -105
- package/dist/src/common/IPolicyMetaData.d.ts +0 -6
- package/dist/src/common/IPolicyMetaData.js +0 -1
- package/dist/src/organisations/OrganisationsRuleBasedIndexabilityPolicy.d.ts +0 -11
- package/dist/src/organisations/OrganisationsRuleBasedIndexabilityPolicy.js +0 -19
- package/dist/src/organisations/rules/OnlineAttendanceRule.d.ts +0 -6
- package/dist/src/organisations/rules/OnlineAttendanceRule.js +0 -14
- package/dist/src/programmes/IProgrammeSearchApplicationState.d.ts +0 -4
- package/dist/src/programmes/IProgrammeSearchApplicationState.js +0 -1
- package/dist/src/programmes/IProgrammeSearchDependencies.d.ts +0 -7
- package/dist/src/programmes/IProgrammeSearchDependencies.js +0 -1
- package/dist/src/programmes/IProgrammesSeoDependencies.d.ts +0 -2
- package/dist/src/programmes/IProgrammesSeoDependencies.js +0 -1
- package/dist/src/programmes/policies/AttendanceArea.d.ts +0 -16
- package/dist/src/programmes/policies/AttendanceArea.js +0 -48
- package/dist/src/programmes/policies/AttendanceContinent.d.ts +0 -16
- package/dist/src/programmes/policies/AttendanceContinent.js +0 -46
- package/dist/src/programmes/policies/AttendanceDuration.d.ts +0 -16
- package/dist/src/programmes/policies/AttendanceDuration.js +0 -48
- package/dist/src/programmes/policies/AttendanceFormat.d.ts +0 -16
- package/dist/src/programmes/policies/AttendanceFormat.js +0 -48
- package/dist/src/programmes/policies/AttendanceTuitionFee.d.ts +0 -16
- package/dist/src/programmes/policies/AttendanceTuitionFee.js +0 -49
- package/dist/src/programmes/policies/ContinentDuration.d.ts +0 -15
- package/dist/src/programmes/policies/ContinentDuration.js +0 -46
- package/dist/src/programmes/policies/ContinentFormat.d.ts +0 -15
- package/dist/src/programmes/policies/ContinentFormat.js +0 -46
- package/dist/src/programmes/policies/ContinentSpecialProgrammes.d.ts +0 -15
- package/dist/src/programmes/policies/ContinentSpecialProgrammes.js +0 -46
- package/dist/src/programmes/policies/CountrySpecialProgrammes.d.ts +0 -15
- package/dist/src/programmes/policies/CountrySpecialProgrammes.js +0 -46
- package/dist/src/programmes/policies/DegreeArea.d.ts +0 -15
- package/dist/src/programmes/policies/DegreeArea.js +0 -46
- package/dist/src/programmes/policies/DegreeAreaTuitionFee.d.ts +0 -15
- package/dist/src/programmes/policies/DegreeAreaTuitionFee.js +0 -52
- package/dist/src/programmes/policies/DegreeAttendanceFormat.d.ts +0 -15
- package/dist/src/programmes/policies/DegreeAttendanceFormat.js +0 -52
- package/dist/src/programmes/policies/DegreeAttendanceSpecialProgrammes.d.ts +0 -16
- package/dist/src/programmes/policies/DegreeAttendanceSpecialProgrammes.js +0 -56
- package/dist/src/programmes/policies/DegreeAttendanceTuitionFee.d.ts +0 -16
- package/dist/src/programmes/policies/DegreeAttendanceTuitionFee.js +0 -55
- package/dist/src/programmes/policies/DegreeContinent.d.ts +0 -16
- package/dist/src/programmes/policies/DegreeContinent.js +0 -46
- package/dist/src/programmes/policies/DegreeContinentTuitionFee.d.ts +0 -16
- package/dist/src/programmes/policies/DegreeContinentTuitionFee.js +0 -52
- package/dist/src/programmes/policies/DegreeDuration.d.ts +0 -16
- package/dist/src/programmes/policies/DegreeDuration.js +0 -48
- package/dist/src/programmes/policies/DegreeFormat.d.ts +0 -16
- package/dist/src/programmes/policies/DegreeFormat.js +0 -49
- package/dist/src/programmes/policies/DegreeFormatTuitionFee.d.ts +0 -16
- package/dist/src/programmes/policies/DegreeFormatTuitionFee.js +0 -52
- package/dist/src/programmes/policies/DegreeSpecialProgrammes.d.ts +0 -15
- package/dist/src/programmes/policies/DegreeSpecialProgrammes.js +0 -48
- package/dist/src/programmes/policies/DegreeTuitionFee.d.ts +0 -15
- package/dist/src/programmes/policies/DegreeTuitionFee.js +0 -47
- package/dist/src/programmes/policies/DisciplineContinentAttendance.d.ts +0 -16
- package/dist/src/programmes/policies/DisciplineContinentAttendance.js +0 -54
- package/dist/src/programmes/policies/DisciplineCountryAttendance.d.ts +0 -16
- package/dist/src/programmes/policies/DisciplineCountryAttendance.js +0 -54
- package/dist/src/programmes/policies/DisciplineCountryDegree.d.ts +0 -16
- package/dist/src/programmes/policies/DisciplineCountryDegree.js +0 -53
- package/dist/src/programmes/policies/DisciplineCountryFormat.d.ts +0 -15
- package/dist/src/programmes/policies/DisciplineCountryFormat.js +0 -52
- package/dist/src/programmes/policies/DisciplineSpecialProgrammes.d.ts +0 -15
- package/dist/src/programmes/policies/DisciplineSpecialProgrammes.js +0 -46
- package/dist/src/programmes/policies/Duration.d.ts +0 -15
- package/dist/src/programmes/policies/Duration.js +0 -35
- package/dist/src/programmes/policies/Format.d.ts +0 -15
- package/dist/src/programmes/policies/Format.js +0 -35
- package/dist/src/programmes/rules/DegreeAttendanceSpecificRule.d.ts +0 -10
- package/dist/src/programmes/rules/DegreeAttendanceSpecificRule.js +0 -42
- package/dist/src/programmes/rules/DegreeCountrySpecificRule.d.ts +0 -10
- package/dist/src/programmes/rules/DegreeCountrySpecificRule.js +0 -43
- package/dist/src/programmes/rules/DegreeCountryTuitionFeeRule.d.ts +0 -11
- package/dist/src/programmes/rules/DegreeCountryTuitionFeeRule.js +0 -40
- package/dist/src/programmes/rules/MBACountryAttendanceRule.d.ts +0 -11
- package/dist/src/programmes/rules/MBACountryAttendanceRule.js +0 -40
- package/dist/src/programmes/rules/MasterOfArtsDisciplineRule.d.ts +0 -10
- package/dist/src/programmes/rules/MasterOfArtsDisciplineRule.js +0 -41
- package/dist/src/programmes/rules/MasterOfEducationCountryDisciplineRule.d.ts +0 -11
- package/dist/src/programmes/rules/MasterOfEducationCountryDisciplineRule.js +0 -69
- package/dist/src/programmes/rules/MasterOfLawsCountryAttendanceRule.d.ts +0 -12
- package/dist/src/programmes/rules/MasterOfLawsCountryAttendanceRule.js +0 -43
- package/dist/src/programmes/rules/MasterOfLawsCountryTuitionFeeRule.d.ts +0 -12
- package/dist/src/programmes/rules/MasterOfLawsCountryTuitionFeeRule.js +0 -46
- package/dist/src/programmes/rules/MasterOfPhilosophyCountryAttendanceRule.d.ts +0 -12
- package/dist/src/programmes/rules/MasterOfPhilosophyCountryAttendanceRule.js +0 -43
- package/dist/src/programmes/rules/MasterOfScienceDisciplineRule.d.ts +0 -10
- package/dist/src/programmes/rules/MasterOfScienceDisciplineRule.js +0 -41
- package/dist/src/programmes/rules/OneYearOnlyRule.d.ts +0 -11
- package/dist/src/programmes/rules/OneYearOnlyRule.js +0 -34
- package/dist/src/programmes/rules/OnlineAttendanceRule.d.ts +0 -6
- package/dist/src/programmes/rules/OnlineAttendanceRule.js +0 -15
- package/dist/src/sitemap-generator/IPageNumberProvider.d.ts +0 -3
- package/dist/src/sitemap-generator/IPageNumberProvider.js +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters
|
|
1
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
2
2
|
export type FilterKeyValuesMap = Map<FilterKey, string[]>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IFragment } from '../presenters/fragments/IFragment';
|
|
2
|
-
import { FilterKey } from '@studyportals/search-filters
|
|
2
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
3
3
|
export interface IPresenter {
|
|
4
4
|
readonly filterKey: FilterKey;
|
|
5
5
|
getFragments(): IFragment[];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters
|
|
1
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
2
2
|
export interface ISeoFilterState {
|
|
3
3
|
getSelectedValuesFor(key: FilterKey): readonly string[];
|
|
4
4
|
getSelectedFilters(): readonly FilterKey[];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters
|
|
1
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
2
2
|
import { ISeoFilterState } from './ISeoFilterState';
|
|
3
3
|
export interface ISeoInfoBase {
|
|
4
4
|
selectionOnlyFor(filterKeys: FilterKey[], filterSelectionState: ISeoFilterState): Promise<boolean>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters
|
|
1
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
2
2
|
import { BaseFilterKeyValueRule } from '../../common/rules/BaseFilterKeyValueRule';
|
|
3
3
|
export class OnlineAttendanceRule extends BaseFilterKeyValueRule {
|
|
4
4
|
constructor() {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IRule } from '../../common/IRule';
|
|
2
|
-
import { FilterKey } from '@studyportals/search-filters
|
|
2
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
3
3
|
import { ISearchDependencies } from '../../common/ISearchDependencies';
|
|
4
4
|
import { FilterKeyValuesMap } from '../FilterKeyValuesMap';
|
|
5
5
|
export declare class OnlyFiltersSelectedRule implements IRule {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IRule } from '../../common/IRule';
|
|
2
|
-
import { FilterKey } from '@studyportals/search-filters
|
|
2
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
3
3
|
import { ISearchDependencies } from '../../common/ISearchDependencies';
|
|
4
4
|
import { FilterKeyValuesMap } from '../FilterKeyValuesMap';
|
|
5
5
|
export declare class SingleValueSelectedForFilterRule implements IRule {
|
|
@@ -4,7 +4,6 @@ export declare enum FilterCombinations {
|
|
|
4
4
|
AREA_DISCIPLINE = "areaDiscipline",
|
|
5
5
|
COUNTRY = "country",
|
|
6
6
|
DEGREE = "degree",
|
|
7
|
-
DURATION = "duration",
|
|
8
7
|
COUNTRY_DEGREE = "countryDegree",
|
|
9
8
|
COUNTRY_DURATION = "countryDuration",
|
|
10
9
|
COUNTRY_FORMAT = "countryFormat",
|
|
@@ -12,8 +11,6 @@ export declare enum FilterCombinations {
|
|
|
12
11
|
COUNTRY_EDUCATIONAL_FORM = "countryEducationalForm",
|
|
13
12
|
COUNTRY_ATTENDANCE_DEGREE = "countryAttendanceDegree",
|
|
14
13
|
COUNTRY_DURATION_DEGREE = "countryDurationDegree",
|
|
15
|
-
COUNTRY_SPECIAL_PROGRAMMES = "countrySpecialProgrammes",
|
|
16
|
-
CONTINENT_FORMAT = "continentFormat",
|
|
17
14
|
DISCIPLINE_AREA = "disciplineArea",
|
|
18
15
|
DISCIPLINE_ATTENDANCE = "disciplineAttendance",
|
|
19
16
|
DISCIPLINE_COUNTRY = "disciplineCountry",
|
|
@@ -25,34 +22,16 @@ export declare enum FilterCombinations {
|
|
|
25
22
|
DISCIPLINE_EDUCATIONAL_FORM = "disciplineEducationalForm",
|
|
26
23
|
DISCIPLINE_TUITION_FEE_ATTENDANCE = "disciplineTuitionFeeAttendance",
|
|
27
24
|
DISCIPLINE_COUNTRY_EDUCATIONAL_FORM = "disciplineCountryEducationalForm",
|
|
28
|
-
DISCIPLINE_CONTINENT_ATTENDANCE = "disciplineContinentAttendance",
|
|
29
|
-
DISCIPLINE_SPECIAL_PROGRAMMES = "disciplineSpecialProgrammes",
|
|
30
|
-
DISCIPLINE_COUNTRY_ATTENDANCE = "disciplineCountryAttendance",
|
|
31
25
|
DEGREE_COUNTRY_DISCIPLINE = "degreeCountryDiscipline",
|
|
32
26
|
DEGREE_ATTENDANCE_DISCIPLINE = "degreeAttendanceDiscipline",
|
|
33
27
|
DEGREE_COUNTRY_TUITION_FEE = "degreeCountryTuitionFee",
|
|
34
28
|
DEGREE_COUNTRY_ATTENDANCE = "degreeCountryAttendance",
|
|
35
|
-
DEGREE_TUITION_FEE = "degreeTuitionFee",
|
|
36
|
-
DEGREE_ATTENDANCE_TUITION_FEE = "degreeAttendanceTuitionFee",
|
|
37
|
-
DEGREE_ATTENDANCE_FORMAT = "degreeAttendanceFormat",
|
|
38
|
-
DEGREE_AREA = "degreeArea",
|
|
39
|
-
DEGREE_FORMAT = "degreeFormat",
|
|
40
|
-
DEGREE_CONTINENT = "degreeContinent",
|
|
41
|
-
DEGREE_AREA_TUITION_FEE = "degreeAreaTuitionFee",
|
|
42
|
-
DEGREE_CONTINENT_TUITION_FEE = "degreeContinentTuitionFee",
|
|
43
|
-
DEGREE_DURATION = "degreeDuration",
|
|
44
|
-
DEGREE_FORMAT_TUITION_FEE = "degreeFormatTuitionFee",
|
|
45
|
-
DEGREE_SPECIAL_PROGRAMMES = "degreeSpecialProgrammes",
|
|
46
29
|
DISCIPLINE = "discipline",
|
|
47
30
|
UNFILTERED = "unfiltered",
|
|
48
31
|
UNIVERSITY_COUNTRY = "universityCountry",
|
|
49
32
|
ATTENDANCE_DISCIPLINE = "attendancedDiscipline",
|
|
50
33
|
ATTENDANCE_DEGREE = "attendanceDegree",
|
|
51
|
-
|
|
52
|
-
ATTENDANCE_DURATION = "attendanceDuration",
|
|
53
|
-
ATTENDANCE_FORMAT = "attendanceFormat",
|
|
54
|
-
ATTENDANCE_AREA = "attendanceArea",
|
|
55
|
-
ATTENDANCE_CONTINENT = "attendanceContinent",
|
|
34
|
+
CONTINENT_ATTENDANCE = "continentAttendance",
|
|
56
35
|
COUNTRY_ATTENDANCE = "countryAttendance",
|
|
57
36
|
ATTENDANCE = "attendance",
|
|
58
37
|
CONTINENT = "continent",
|
|
@@ -5,7 +5,6 @@ export var FilterCombinations;
|
|
|
5
5
|
FilterCombinations["AREA_DISCIPLINE"] = "areaDiscipline";
|
|
6
6
|
FilterCombinations["COUNTRY"] = "country";
|
|
7
7
|
FilterCombinations["DEGREE"] = "degree";
|
|
8
|
-
FilterCombinations["DURATION"] = "duration";
|
|
9
8
|
FilterCombinations["COUNTRY_DEGREE"] = "countryDegree";
|
|
10
9
|
FilterCombinations["COUNTRY_DURATION"] = "countryDuration";
|
|
11
10
|
FilterCombinations["COUNTRY_FORMAT"] = "countryFormat";
|
|
@@ -13,8 +12,6 @@ export var FilterCombinations;
|
|
|
13
12
|
FilterCombinations["COUNTRY_EDUCATIONAL_FORM"] = "countryEducationalForm";
|
|
14
13
|
FilterCombinations["COUNTRY_ATTENDANCE_DEGREE"] = "countryAttendanceDegree";
|
|
15
14
|
FilterCombinations["COUNTRY_DURATION_DEGREE"] = "countryDurationDegree";
|
|
16
|
-
FilterCombinations["COUNTRY_SPECIAL_PROGRAMMES"] = "countrySpecialProgrammes";
|
|
17
|
-
FilterCombinations["CONTINENT_FORMAT"] = "continentFormat";
|
|
18
15
|
FilterCombinations["DISCIPLINE_AREA"] = "disciplineArea";
|
|
19
16
|
FilterCombinations["DISCIPLINE_ATTENDANCE"] = "disciplineAttendance";
|
|
20
17
|
FilterCombinations["DISCIPLINE_COUNTRY"] = "disciplineCountry";
|
|
@@ -26,34 +23,16 @@ export var FilterCombinations;
|
|
|
26
23
|
FilterCombinations["DISCIPLINE_EDUCATIONAL_FORM"] = "disciplineEducationalForm";
|
|
27
24
|
FilterCombinations["DISCIPLINE_TUITION_FEE_ATTENDANCE"] = "disciplineTuitionFeeAttendance";
|
|
28
25
|
FilterCombinations["DISCIPLINE_COUNTRY_EDUCATIONAL_FORM"] = "disciplineCountryEducationalForm";
|
|
29
|
-
FilterCombinations["DISCIPLINE_CONTINENT_ATTENDANCE"] = "disciplineContinentAttendance";
|
|
30
|
-
FilterCombinations["DISCIPLINE_SPECIAL_PROGRAMMES"] = "disciplineSpecialProgrammes";
|
|
31
|
-
FilterCombinations["DISCIPLINE_COUNTRY_ATTENDANCE"] = "disciplineCountryAttendance";
|
|
32
26
|
FilterCombinations["DEGREE_COUNTRY_DISCIPLINE"] = "degreeCountryDiscipline";
|
|
33
27
|
FilterCombinations["DEGREE_ATTENDANCE_DISCIPLINE"] = "degreeAttendanceDiscipline";
|
|
34
28
|
FilterCombinations["DEGREE_COUNTRY_TUITION_FEE"] = "degreeCountryTuitionFee";
|
|
35
29
|
FilterCombinations["DEGREE_COUNTRY_ATTENDANCE"] = "degreeCountryAttendance";
|
|
36
|
-
FilterCombinations["DEGREE_TUITION_FEE"] = "degreeTuitionFee";
|
|
37
|
-
FilterCombinations["DEGREE_ATTENDANCE_TUITION_FEE"] = "degreeAttendanceTuitionFee";
|
|
38
|
-
FilterCombinations["DEGREE_ATTENDANCE_FORMAT"] = "degreeAttendanceFormat";
|
|
39
|
-
FilterCombinations["DEGREE_AREA"] = "degreeArea";
|
|
40
|
-
FilterCombinations["DEGREE_FORMAT"] = "degreeFormat";
|
|
41
|
-
FilterCombinations["DEGREE_CONTINENT"] = "degreeContinent";
|
|
42
|
-
FilterCombinations["DEGREE_AREA_TUITION_FEE"] = "degreeAreaTuitionFee";
|
|
43
|
-
FilterCombinations["DEGREE_CONTINENT_TUITION_FEE"] = "degreeContinentTuitionFee";
|
|
44
|
-
FilterCombinations["DEGREE_DURATION"] = "degreeDuration";
|
|
45
|
-
FilterCombinations["DEGREE_FORMAT_TUITION_FEE"] = "degreeFormatTuitionFee";
|
|
46
|
-
FilterCombinations["DEGREE_SPECIAL_PROGRAMMES"] = "degreeSpecialProgrammes";
|
|
47
30
|
FilterCombinations["DISCIPLINE"] = "discipline";
|
|
48
31
|
FilterCombinations["UNFILTERED"] = "unfiltered";
|
|
49
32
|
FilterCombinations["UNIVERSITY_COUNTRY"] = "universityCountry";
|
|
50
33
|
FilterCombinations["ATTENDANCE_DISCIPLINE"] = "attendancedDiscipline";
|
|
51
34
|
FilterCombinations["ATTENDANCE_DEGREE"] = "attendanceDegree";
|
|
52
|
-
FilterCombinations["
|
|
53
|
-
FilterCombinations["ATTENDANCE_DURATION"] = "attendanceDuration";
|
|
54
|
-
FilterCombinations["ATTENDANCE_FORMAT"] = "attendanceFormat";
|
|
55
|
-
FilterCombinations["ATTENDANCE_AREA"] = "attendanceArea";
|
|
56
|
-
FilterCombinations["ATTENDANCE_CONTINENT"] = "attendanceContinent";
|
|
35
|
+
FilterCombinations["CONTINENT_ATTENDANCE"] = "continentAttendance";
|
|
57
36
|
FilterCombinations["COUNTRY_ATTENDANCE"] = "countryAttendance";
|
|
58
37
|
FilterCombinations["ATTENDANCE"] = "attendance";
|
|
59
38
|
FilterCombinations["CONTINENT"] = "continent";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters
|
|
1
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
2
2
|
export declare class InvalidFilterValueError extends Error {
|
|
3
3
|
constructor(filterKey: FilterKey, value: string | undefined);
|
|
4
4
|
}
|
|
@@ -8,10 +8,12 @@ export declare abstract class OrganisationsSeoIndexabilityPolicy extends BaseSeo
|
|
|
8
8
|
protected abstract readonly sortingOption: SortingOptions;
|
|
9
9
|
protected abstract readonly baseRules: IRule[];
|
|
10
10
|
private additionalRules;
|
|
11
|
+
constructor(dependencies: IOrganisationsSeoDependencies);
|
|
11
12
|
protected get rules(): IRule[];
|
|
12
13
|
protected addRule(rule: IRule): void;
|
|
13
14
|
generateSitemapUrls(): Promise<string[]>;
|
|
14
15
|
protected isIndexable(): Promise<boolean>;
|
|
16
|
+
protected addResultsCountRule(): void;
|
|
15
17
|
protected getPathWithSortingOption(path: string): string;
|
|
16
18
|
private matchesSortingOption;
|
|
17
19
|
}
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import { PortalType } from '@studyportals/domain-client';
|
|
2
2
|
import { BaseSeoIndexabilityPolicy } from '../../common/policies/BaseSeoIndexabilityPolicy';
|
|
3
3
|
import { IndexablePageNumberRule } from '../../common/rules/IndexablePageNumberRule';
|
|
4
|
+
import { AtLeastSevenResultsRule } from '../../organisations/rules/AtLeastSevenResultsRule';
|
|
4
5
|
export class OrganisationsSeoIndexabilityPolicy extends BaseSeoIndexabilityPolicy {
|
|
5
6
|
indexablePortalTypes = [PortalType.MASTER];
|
|
6
7
|
additionalRules = [];
|
|
8
|
+
constructor(dependencies) {
|
|
9
|
+
super(dependencies);
|
|
10
|
+
this.addResultsCountRule();
|
|
11
|
+
}
|
|
7
12
|
get rules() {
|
|
8
13
|
return [...this.baseRules, ...this.additionalRules, new IndexablePageNumberRule()];
|
|
9
14
|
}
|
|
@@ -23,6 +28,17 @@ export class OrganisationsSeoIndexabilityPolicy extends BaseSeoIndexabilityPolic
|
|
|
23
28
|
}
|
|
24
29
|
return this.indexablePortalTypes.includes(this.dependencies.portalType) && this.matchesSortingOption();
|
|
25
30
|
}
|
|
31
|
+
addResultsCountRule() {
|
|
32
|
+
let resultCountRUle;
|
|
33
|
+
if (super.isSitemapUrlGeneratorDependencies()) {
|
|
34
|
+
const dependencies = this.dependencies;
|
|
35
|
+
resultCountRUle = new AtLeastSevenResultsRule(dependencies.searchApiClient);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
resultCountRUle = new AtLeastSevenResultsRule();
|
|
39
|
+
}
|
|
40
|
+
this.addRule(resultCountRUle);
|
|
41
|
+
}
|
|
26
42
|
getPathWithSortingOption(path) {
|
|
27
43
|
return path;
|
|
28
44
|
}
|
|
@@ -4,6 +4,6 @@ import { OrganisationsSeoIndexabilityPolicy } from './OrganisationsSeoIndexabili
|
|
|
4
4
|
export declare abstract class RankedOrganisationsSeoIndexabilityPolicy extends OrganisationsSeoIndexabilityPolicy {
|
|
5
5
|
protected readonly indexablePortalTypes: PortalType[];
|
|
6
6
|
protected readonly sortingOption: SortingOptions;
|
|
7
|
-
protected
|
|
7
|
+
protected addResultsCountRule(): void;
|
|
8
8
|
protected getPathWithSortingOption(path: string): string;
|
|
9
9
|
}
|
|
@@ -5,7 +5,7 @@ import { AtLeastTwoRankedResultsRule } from '../rules/AtLeastTwoRankedResultsRul
|
|
|
5
5
|
export class RankedOrganisationsSeoIndexabilityPolicy extends OrganisationsSeoIndexabilityPolicy {
|
|
6
6
|
indexablePortalTypes = [PortalType.MASTER];
|
|
7
7
|
sortingOption = SortingOptions.UNIVERSITY_META_RANKING;
|
|
8
|
-
|
|
8
|
+
addResultsCountRule() {
|
|
9
9
|
let rankedResultsCountRule;
|
|
10
10
|
if (super.isSitemapUrlGeneratorDependencies()) {
|
|
11
11
|
const dependencies = this.dependencies;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FilterCombinations } from '../../../enums/FilterCombinations';
|
|
2
|
-
import { FilterKey } from '@studyportals/search-filters
|
|
2
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
3
3
|
import { SortingOptions } from '../../../enums/SortingOptions';
|
|
4
4
|
import { SingleValueSelectedForFilterRule } from '../../../common/rules/SingleValueSelectedForFilterRule';
|
|
5
5
|
import { OrganisationsSeoIndexabilityPolicy } from '../../../organisations/policies/OrganisationsSeoIndexabilityPolicy';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { OrganisationsSeoIndexabilityPolicy } from '../../../organisations/policies/OrganisationsSeoIndexabilityPolicy';
|
|
2
2
|
import { FilterCombinations } from '../../../enums/FilterCombinations';
|
|
3
|
-
import { FilterKey } from '@studyportals/search-filters
|
|
3
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
4
4
|
import { SearchVolumeAreasAttendanceRule } from '../../../organisations/rules/SearchVolumeAreasAttendanceRule';
|
|
5
5
|
import { SortingOptions } from '../../../enums/SortingOptions';
|
|
6
6
|
import { SingleValueSelectedForFilterRule } from '../../../common/rules/SingleValueSelectedForFilterRule';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FilterCombinations } from '../../../enums/FilterCombinations';
|
|
2
|
-
import { FilterKey } from '@studyportals/search-filters
|
|
2
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
3
3
|
import { SortingOptions } from '../../../enums/SortingOptions';
|
|
4
4
|
import { OrganisationsSeoIndexabilityPolicy } from '../../../organisations/policies/OrganisationsSeoIndexabilityPolicy';
|
|
5
5
|
import { SingleValueSelectedForFilterRule } from '../../../common/rules/SingleValueSelectedForFilterRule';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FilterCombinations } from '../../../enums/FilterCombinations';
|
|
2
|
-
import { FilterKey } from '@studyportals/search-filters
|
|
2
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
3
3
|
import { SortingOptions } from '../../../enums/SortingOptions';
|
|
4
4
|
import { OrganisationsSeoIndexabilityPolicy } from '../../../organisations/policies/OrganisationsSeoIndexabilityPolicy';
|
|
5
5
|
import { SingleValueSelectedForFilterRule } from '../../../common/rules/SingleValueSelectedForFilterRule';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FilterCombinations } from '../../../enums/FilterCombinations';
|
|
2
|
-
import { FilterKey } from '@studyportals/search-filters
|
|
2
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
3
3
|
import { SortingOptions } from '../../../enums/SortingOptions';
|
|
4
4
|
import { OrganisationsSeoIndexabilityPolicy } from '../../../organisations/policies/OrganisationsSeoIndexabilityPolicy';
|
|
5
5
|
import { SingleValueSelectedForFilterRule } from '../../../common/rules/SingleValueSelectedForFilterRule';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FilterCombinations } from '../../../enums/FilterCombinations';
|
|
2
|
-
import { FilterKey } from '@studyportals/search-filters
|
|
2
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
3
3
|
import { SortingOptions } from '../../../enums/SortingOptions';
|
|
4
4
|
import { OrganisationsSeoIndexabilityPolicy } from '../../../organisations/policies/OrganisationsSeoIndexabilityPolicy';
|
|
5
5
|
import { SingleValueSelectedForFilterRule } from '../../../common/rules/SingleValueSelectedForFilterRule';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FilterCombinations } from '../../../enums/FilterCombinations';
|
|
2
|
-
import { FilterKey } from '@studyportals/search-filters
|
|
2
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
3
3
|
import { SingleValueSelectedForFilterRule } from '../../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
4
|
import { OnlyFiltersSelectedRule } from '../../../common/rules/OnlyFiltersSelectedRule';
|
|
5
5
|
import { AreaPresenter } from '../../../presenters/AreaPresenter';
|
|
@@ -14,7 +14,6 @@ export class RankedArea extends RankedOrganisationsSeoIndexabilityPolicy {
|
|
|
14
14
|
];
|
|
15
15
|
constructor(dependencies) {
|
|
16
16
|
super(dependencies);
|
|
17
|
-
this.addRankedResultsCountRule();
|
|
18
17
|
}
|
|
19
18
|
async generateUrls() {
|
|
20
19
|
const areaFragments = AreaPresenter.getInstance().getFragments();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SearchVolumeAreasDisciplineRule } from '../../../organisations/rules/SearchVolumeAreasDisciplineRule';
|
|
2
2
|
import { FilterCombinations } from '../../../enums/FilterCombinations';
|
|
3
|
-
import { FilterKey } from '@studyportals/search-filters
|
|
3
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
4
4
|
import { SingleValueSelectedForFilterRule } from '../../../common/rules/SingleValueSelectedForFilterRule';
|
|
5
5
|
import { OnlyFiltersSelectedRule } from '../../../common/rules/OnlyFiltersSelectedRule';
|
|
6
6
|
import { AreaPresenter } from '../../../presenters/AreaPresenter';
|
|
@@ -18,7 +18,6 @@ export class RankedAreaDiscipline extends RankedOrganisationsSeoIndexabilityPoli
|
|
|
18
18
|
];
|
|
19
19
|
constructor(dependencies) {
|
|
20
20
|
super(dependencies);
|
|
21
|
-
this.addRankedResultsCountRule();
|
|
22
21
|
}
|
|
23
22
|
get filterCombination() {
|
|
24
23
|
return FilterCombinations.RANKED_AREA_DISCIPLINE;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { OnlineAttendanceRule } from '../../../common/rules/OnlineAttendanceRule';
|
|
2
2
|
import { FilterCombinations } from '../../../enums/FilterCombinations';
|
|
3
|
-
import { FilterKey } from '@studyportals/search-filters
|
|
3
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
4
4
|
import { SingleValueSelectedForFilterRule } from '../../../common/rules/SingleValueSelectedForFilterRule';
|
|
5
5
|
import { OnlyFiltersSelectedRule } from '../../../common/rules/OnlyFiltersSelectedRule';
|
|
6
6
|
import { AttendancePresenter } from '../../../presenters/AttendancePresenter';
|
|
@@ -15,7 +15,6 @@ export class RankedAttendance extends RankedOrganisationsSeoIndexabilityPolicy {
|
|
|
15
15
|
];
|
|
16
16
|
constructor(dependencies) {
|
|
17
17
|
super(dependencies);
|
|
18
|
-
this.addRankedResultsCountRule();
|
|
19
18
|
}
|
|
20
19
|
async generateUrls() {
|
|
21
20
|
const attendanceFragments = AttendancePresenter.getInstance().getFragments();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FilterCombinations } from '../../../enums/FilterCombinations';
|
|
2
|
-
import { FilterKey } from '@studyportals/search-filters
|
|
2
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
3
3
|
import { SingleValueSelectedForFilterRule } from '../../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
4
|
import { OnlyFiltersSelectedRule } from '../../../common/rules/OnlyFiltersSelectedRule';
|
|
5
5
|
import { OnlineAttendanceRule } from '../../../common/rules/OnlineAttendanceRule';
|
|
@@ -17,7 +17,6 @@ export class RankedAttendanceDiscipline extends RankedOrganisationsSeoIndexabili
|
|
|
17
17
|
];
|
|
18
18
|
constructor(dependencies) {
|
|
19
19
|
super(dependencies);
|
|
20
|
-
this.addRankedResultsCountRule();
|
|
21
20
|
}
|
|
22
21
|
get filterCombination() {
|
|
23
22
|
return FilterCombinations.RANKED_ATTENDANCE_DISCIPLINE;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FilterCombinations } from '../../../enums/FilterCombinations';
|
|
2
|
-
import { FilterKey } from '@studyportals/search-filters
|
|
2
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
3
3
|
import { SingleValueSelectedForFilterRule } from '../../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
4
|
import { OnlyFiltersSelectedRule } from '../../../common/rules/OnlyFiltersSelectedRule';
|
|
5
5
|
import { ContinentPresenter } from '../../../presenters/ContinentPresenter';
|
|
@@ -13,7 +13,6 @@ export class RankedContinent extends RankedOrganisationsSeoIndexabilityPolicy {
|
|
|
13
13
|
];
|
|
14
14
|
constructor(dependencies) {
|
|
15
15
|
super(dependencies);
|
|
16
|
-
this.addRankedResultsCountRule();
|
|
17
16
|
}
|
|
18
17
|
async generateUrls() {
|
|
19
18
|
const continentFragments = ContinentPresenter.getInstance().getFragments();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FilterCombinations } from '../../../enums/FilterCombinations';
|
|
2
|
-
import { FilterKey } from '@studyportals/search-filters
|
|
2
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
3
3
|
import { SingleValueSelectedForFilterRule } from '../../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
4
|
import { OnlyFiltersSelectedRule } from '../../../common/rules/OnlyFiltersSelectedRule';
|
|
5
5
|
import { OnlineAttendanceRule } from '../../../common/rules/OnlineAttendanceRule';
|
|
@@ -19,7 +19,6 @@ export class RankedContinentAttendance extends RankedOrganisationsSeoIndexabilit
|
|
|
19
19
|
];
|
|
20
20
|
constructor(dependencies) {
|
|
21
21
|
super(dependencies);
|
|
22
|
-
this.addRankedResultsCountRule();
|
|
23
22
|
}
|
|
24
23
|
async generateUrls() {
|
|
25
24
|
const continentFragments = ContinentPresenter.getInstance().getFragments();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SingleValueSelectedForFilterRule } from '../../../common/rules/SingleValueSelectedForFilterRule';
|
|
2
2
|
import { FilterCombinations } from '../../../enums/FilterCombinations';
|
|
3
|
-
import { FilterKey } from '@studyportals/search-filters
|
|
3
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
4
4
|
import { OnlyFiltersSelectedRule } from '../../../common/rules/OnlyFiltersSelectedRule';
|
|
5
5
|
import { CountryPresenter } from '../../../presenters/CountryPresenter';
|
|
6
6
|
import { RankedOrganisationsSeoIndexabilityPolicy } from '../RankedOrganisationsSeoIndexabilityPolicy';
|
|
@@ -10,7 +10,6 @@ export class RankedCountry extends RankedOrganisationsSeoIndexabilityPolicy {
|
|
|
10
10
|
baseRules = [new SingleValueSelectedForFilterRule(FilterKey.COUNTRY), new OnlyFiltersSelectedRule([FilterKey.COUNTRY])];
|
|
11
11
|
constructor(dependencies) {
|
|
12
12
|
super(dependencies);
|
|
13
|
-
this.addRankedResultsCountRule();
|
|
14
13
|
}
|
|
15
14
|
async generateUrls() {
|
|
16
15
|
const countryFragments = CountryPresenter.getInstance().getFragments();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FilterCombinations } from '../../../enums/FilterCombinations';
|
|
2
|
-
import { FilterKey } from '@studyportals/search-filters
|
|
2
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
3
3
|
import { SingleValueSelectedForFilterRule } from '../../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
4
|
import { OnlyFiltersSelectedRule } from '../../../common/rules/OnlyFiltersSelectedRule';
|
|
5
5
|
import { OnlineAttendanceRule } from '../../../common/rules/OnlineAttendanceRule';
|
|
@@ -17,7 +17,6 @@ export class RankedCountryAttendance extends RankedOrganisationsSeoIndexabilityP
|
|
|
17
17
|
];
|
|
18
18
|
constructor(dependencies) {
|
|
19
19
|
super(dependencies);
|
|
20
|
-
this.addRankedResultsCountRule();
|
|
21
20
|
}
|
|
22
21
|
async generateUrls() {
|
|
23
22
|
const countryFragments = CountryPresenter.getInstance().getFragments();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SingleValueSelectedForFilterRule } from '../../../common/rules/SingleValueSelectedForFilterRule';
|
|
2
2
|
import { FilterCombinations } from '../../../enums/FilterCombinations';
|
|
3
|
-
import { FilterKey } from '@studyportals/search-filters
|
|
3
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
4
4
|
import { OnlyFiltersSelectedRule } from '../../../common/rules/OnlyFiltersSelectedRule';
|
|
5
5
|
import { CountryPresenter } from '../../../presenters/CountryPresenter';
|
|
6
6
|
import { DisciplinePresenter } from '../../../presenters/DisciplinePresenter';
|
|
@@ -15,7 +15,6 @@ export class RankedCountryDiscipline extends RankedOrganisationsSeoIndexabilityP
|
|
|
15
15
|
];
|
|
16
16
|
constructor(dependencies) {
|
|
17
17
|
super(dependencies);
|
|
18
|
-
this.addRankedResultsCountRule();
|
|
19
18
|
}
|
|
20
19
|
async generateUrls() {
|
|
21
20
|
const countryFragments = CountryPresenter.getInstance().getFragments();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SingleValueSelectedForFilterRule } from '../../../common/rules/SingleValueSelectedForFilterRule';
|
|
2
2
|
import { FilterCombinations } from '../../../enums/FilterCombinations';
|
|
3
|
-
import { FilterKey } from '@studyportals/search-filters
|
|
3
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
4
4
|
import { OnlyFiltersSelectedRule } from '../../../common/rules/OnlyFiltersSelectedRule';
|
|
5
5
|
import { RankedOrganisationsSeoIndexabilityPolicy } from '../RankedOrganisationsSeoIndexabilityPolicy';
|
|
6
6
|
import { DisciplinePresenter } from '../../../presenters/DisciplinePresenter';
|
|
@@ -13,7 +13,6 @@ export class RankedDiscipline extends RankedOrganisationsSeoIndexabilityPolicy {
|
|
|
13
13
|
];
|
|
14
14
|
constructor(dependencies) {
|
|
15
15
|
super(dependencies);
|
|
16
|
-
this.addRankedResultsCountRule();
|
|
17
16
|
}
|
|
18
17
|
async generateUrls() {
|
|
19
18
|
const disciplineFragments = DisciplinePresenter.getInstance().getFragments();
|
|
@@ -7,7 +7,6 @@ export class RankedUnfiltered extends RankedOrganisationsSeoIndexabilityPolicy {
|
|
|
7
7
|
baseRules = [new NoFiltersSelectedRule()];
|
|
8
8
|
constructor(dependencies) {
|
|
9
9
|
super(dependencies);
|
|
10
|
-
this.addRankedResultsCountRule();
|
|
11
10
|
}
|
|
12
11
|
async generateUrls() {
|
|
13
12
|
const filterKeyValues = new Map([]);
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ISearchDependencies } from '../../common/ISearchDependencies';
|
|
2
|
+
import { FilterKeyValuesMap } from '../../common/FilterKeyValuesMap';
|
|
3
|
+
import { ISearchApiClient } from '../../sitemap-generator/ISearchApiClient';
|
|
4
|
+
import { IRule } from '../../common/IRule';
|
|
5
|
+
export declare class AtLeastSevenResultsRule implements IRule {
|
|
6
|
+
private readonly minimumResultsCount;
|
|
7
|
+
private readonly maximumPageSize;
|
|
8
|
+
private readonly searchApiClient?;
|
|
9
|
+
constructor(searchApiClient?: ISearchApiClient);
|
|
10
|
+
forSearch(dependencies: ISearchDependencies): Promise<boolean>;
|
|
11
|
+
forSitemapGeneratorWithPageNumber(filterKeyValues: FilterKeyValuesMap, pageNumber: number): Promise<boolean>;
|
|
12
|
+
forSitemapGenerator(): Promise<boolean>;
|
|
13
|
+
getName(): string;
|
|
14
|
+
getDescription(): string;
|
|
15
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { DependencyMissingError } from '../../errors/DependencyMissingError';
|
|
2
|
+
export class AtLeastSevenResultsRule {
|
|
3
|
+
minimumResultsCount = 7;
|
|
4
|
+
maximumPageSize = 20;
|
|
5
|
+
searchApiClient;
|
|
6
|
+
constructor(searchApiClient) {
|
|
7
|
+
this.searchApiClient = searchApiClient;
|
|
8
|
+
}
|
|
9
|
+
forSearch(dependencies) {
|
|
10
|
+
const { applicationState } = dependencies;
|
|
11
|
+
const resultCount = applicationState.getNumberOfResults();
|
|
12
|
+
return Promise.resolve(resultCount >= this.minimumResultsCount);
|
|
13
|
+
}
|
|
14
|
+
async forSitemapGeneratorWithPageNumber(filterKeyValues, pageNumber) {
|
|
15
|
+
if (!this.searchApiClient) {
|
|
16
|
+
throw new DependencyMissingError('SearchApiClient');
|
|
17
|
+
}
|
|
18
|
+
const count = await this.searchApiClient.getCount(filterKeyValues);
|
|
19
|
+
return count >= (pageNumber - 1) * this.maximumPageSize + this.minimumResultsCount;
|
|
20
|
+
}
|
|
21
|
+
forSitemapGenerator() {
|
|
22
|
+
throw new Error('Method not implemented.');
|
|
23
|
+
}
|
|
24
|
+
getName() {
|
|
25
|
+
return 'AtLeastSevenResultsRule';
|
|
26
|
+
}
|
|
27
|
+
getDescription() {
|
|
28
|
+
return 'Is indexable if there are at least 2 results.';
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -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 '@studyportals/search-filters
|
|
4
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
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 '@studyportals/search-filters
|
|
1
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
2
2
|
import { BaseFilterKeyValueRule } from '../../common/rules/BaseFilterKeyValueRule';
|
|
3
3
|
export class ContinentIsEuropeRule extends BaseFilterKeyValueRule {
|
|
4
4
|
constructor() {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters
|
|
1
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
2
2
|
import { BaseSearchVolumeOrganisationsRule } from './BaseSearchVolumeOrganisationsRule';
|
|
3
3
|
export class SearchVolumeAreasAttendanceRule extends BaseSearchVolumeOrganisationsRule {
|
|
4
4
|
constructor() {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters
|
|
1
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
2
2
|
import { BaseSearchVolumeOrganisationsRule } from './BaseSearchVolumeOrganisationsRule';
|
|
3
3
|
export class SearchVolumeAreasDisciplineRule extends BaseSearchVolumeOrganisationsRule {
|
|
4
4
|
constructor() {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters
|
|
1
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
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 '@studyportals/search-filters
|
|
3
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
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 '@studyportals/search-filters
|
|
3
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
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 '@studyportals/search-filters
|
|
3
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
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 '@studyportals/search-filters
|
|
1
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
2
2
|
export class AttendancePresenter {
|
|
3
3
|
filterKey = FilterKey.DELIVERY_METHOD;
|
|
4
4
|
static instance;
|
|
@@ -8,10 +8,6 @@ export class AttendancePresenter {
|
|
|
8
8
|
{
|
|
9
9
|
id: 'online',
|
|
10
10
|
path: 'online'
|
|
11
|
-
},
|
|
12
|
-
{
|
|
13
|
-
id: 'blended',
|
|
14
|
-
path: 'blended'
|
|
15
11
|
}
|
|
16
12
|
];
|
|
17
13
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IFragment } from './fragments/IFragment';
|
|
2
2
|
import { IPresenter } from '../common';
|
|
3
|
-
import { FilterKey } from '@studyportals/search-filters
|
|
3
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
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 '@studyportals/search-filters
|
|
3
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
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 '@studyportals/search-filters
|
|
3
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
4
4
|
export declare class CountryPresenter implements IPresenter {
|
|
5
5
|
readonly filterKey: FilterKey;
|
|
6
6
|
private static instance;
|