@studyportals/fawkes 7.4.2-3 → 8.0.1-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +105 -105
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/organisations-seo/index.d.ts +0 -4
- package/dist/organisations-seo/index.js +0 -2
- package/dist/programmes-seo/index.d.ts +0 -6
- package/dist/programmes-seo/index.js +0 -2
- package/dist/scholarships-seo/index.d.ts +0 -5
- package/dist/scholarships-seo/index.js +0 -3
- package/dist/sitemap-generator-seo/index.d.ts +0 -13
- package/dist/sitemap-generator-seo/index.js +0 -4
- package/dist/src/common/FilterKeyValuesMap.d.ts +0 -2
- package/dist/src/common/FilterKeyValuesMap.js +0 -1
- package/dist/src/common/IDependencies.d.ts +0 -4
- package/dist/src/common/IDependencies.js +0 -1
- package/dist/src/common/IDocumentationManager.d.ts +0 -5
- package/dist/src/common/IDocumentationManager.js +0 -1
- package/dist/src/common/IPolicyMetaData.d.ts +0 -6
- package/dist/src/common/IPolicyMetaData.js +0 -1
- package/dist/src/common/IPresenter.d.ts +0 -6
- package/dist/src/common/IPresenter.js +0 -1
- package/dist/src/common/IRule.d.ts +0 -8
- package/dist/src/common/IRule.js +0 -1
- package/dist/src/common/ISearchApplicationState.d.ts +0 -4
- package/dist/src/common/ISearchApplicationState.js +0 -1
- package/dist/src/common/ISearchDependencies.d.ts +0 -7
- package/dist/src/common/ISearchDependencies.js +0 -1
- package/dist/src/common/ISearchIndexabilityManager.d.ts +0 -4
- package/dist/src/common/ISearchIndexabilityManager.js +0 -1
- package/dist/src/common/ISeoDependencies.d.ts +0 -3
- package/dist/src/common/ISeoDependencies.js +0 -1
- package/dist/src/common/ISeoFilterState.d.ts +0 -5
- package/dist/src/common/ISeoFilterState.js +0 -1
- package/dist/src/common/ISeoIndexabilityPolicy.d.ts +0 -7
- package/dist/src/common/ISeoIndexabilityPolicy.js +0 -1
- package/dist/src/common/ISeoInfoBase.d.ts +0 -8
- package/dist/src/common/ISeoInfoBase.js +0 -1
- package/dist/src/common/ISitemapDependencies.d.ts +0 -5
- package/dist/src/common/ISitemapDependencies.js +0 -1
- package/dist/src/common/ISitemapUrlGenerator.d.ts +0 -7
- package/dist/src/common/ISitemapUrlGenerator.js +0 -1
- package/dist/src/common/index.d.ts +0 -5
- package/dist/src/common/index.js +0 -5
- package/dist/src/common/policies/BaseSeoIndexabilityPolicy.d.ts +0 -26
- package/dist/src/common/policies/BaseSeoIndexabilityPolicy.js +0 -56
- package/dist/src/common/rules/BaseFilterKeyValueRule.d.ts +0 -11
- package/dist/src/common/rules/BaseFilterKeyValueRule.js +0 -28
- package/dist/src/common/rules/IndexablePageNumberRule.d.ts +0 -9
- package/dist/src/common/rules/IndexablePageNumberRule.js +0 -17
- package/dist/src/common/rules/NoFiltersSelectedRule.d.ts +0 -9
- package/dist/src/common/rules/NoFiltersSelectedRule.js +0 -17
- package/dist/src/common/rules/OnlineAttendanceRule.d.ts +0 -6
- package/dist/src/common/rules/OnlineAttendanceRule.js +0 -14
- package/dist/src/common/rules/OnlyFiltersSelectedRule.d.ts +0 -12
- package/dist/src/common/rules/OnlyFiltersSelectedRule.js +0 -30
- package/dist/src/common/rules/SingleValueSelectedForFilterRule.d.ts +0 -12
- package/dist/src/common/rules/SingleValueSelectedForFilterRule.js +0 -24
- package/dist/src/enums/DependencyTypes.d.ts +0 -4
- package/dist/src/enums/DependencyTypes.js +0 -5
- package/dist/src/enums/FilterCombinations.d.ts +0 -73
- package/dist/src/enums/FilterCombinations.js +0 -74
- package/dist/src/enums/SortingOptions.d.ts +0 -4
- package/dist/src/enums/SortingOptions.js +0 -5
- package/dist/src/errors/DependencyMissingError.d.ts +0 -3
- package/dist/src/errors/DependencyMissingError.js +0 -5
- package/dist/src/errors/InvalidDependencyTypeError.d.ts +0 -3
- package/dist/src/errors/InvalidDependencyTypeError.js +0 -5
- package/dist/src/errors/InvalidFilterValueError.d.ts +0 -4
- package/dist/src/errors/InvalidFilterValueError.js +0 -5
- package/dist/src/organisations/IOrganisationSearchApplicationState.d.ts +0 -5
- package/dist/src/organisations/IOrganisationSearchApplicationState.js +0 -1
- package/dist/src/organisations/ISeoSortingState.d.ts +0 -4
- package/dist/src/organisations/ISeoSortingState.js +0 -1
- package/dist/src/organisations/OrganisationsRuleBasedIndexabilityPolicy.d.ts +0 -11
- package/dist/src/organisations/OrganisationsRuleBasedIndexabilityPolicy.js +0 -19
- package/dist/src/organisations/SearchIndexabilityManager.d.ts +0 -12
- package/dist/src/organisations/SearchIndexabilityManager.js +0 -42
- package/dist/src/organisations/index.d.ts +0 -4
- package/dist/src/organisations/index.js +0 -4
- package/dist/src/organisations/policies/OrganisationsSeoIndexabilityPolicy.d.ts +0 -17
- package/dist/src/organisations/policies/OrganisationsSeoIndexabilityPolicy.js +0 -33
- package/dist/src/organisations/policies/RankedOrganisationsSeoIndexabilityPolicy.d.ts +0 -9
- package/dist/src/organisations/policies/RankedOrganisationsSeoIndexabilityPolicy.js +0 -22
- package/dist/src/organisations/policies/index.d.ts +0 -18
- package/dist/src/organisations/policies/index.js +0 -18
- package/dist/src/organisations/policies/our-picks/Area.d.ts +0 -13
- package/dist/src/organisations/policies/our-picks/Area.js +0 -35
- package/dist/src/organisations/policies/our-picks/AreaAttendance.d.ts +0 -15
- package/dist/src/organisations/policies/our-picks/AreaAttendance.js +0 -45
- package/dist/src/organisations/policies/our-picks/Attendance.d.ts +0 -14
- package/dist/src/organisations/policies/our-picks/Attendance.js +0 -33
- package/dist/src/organisations/policies/our-picks/Continent.d.ts +0 -13
- package/dist/src/organisations/policies/our-picks/Continent.js +0 -31
- package/dist/src/organisations/policies/our-picks/Country.d.ts +0 -13
- package/dist/src/organisations/policies/our-picks/Country.js +0 -28
- package/dist/src/organisations/policies/our-picks/CountryAttendance.d.ts +0 -15
- package/dist/src/organisations/policies/our-picks/CountryAttendance.js +0 -43
- package/dist/src/organisations/policies/our-picks/Unfiltered.d.ts +0 -12
- package/dist/src/organisations/policies/our-picks/Unfiltered.js +0 -16
- package/dist/src/organisations/policies/ranked/RankedArea.d.ts +0 -13
- package/dist/src/organisations/policies/ranked/RankedArea.js +0 -37
- package/dist/src/organisations/policies/ranked/RankedAreaDiscipline.d.ts +0 -14
- package/dist/src/organisations/policies/ranked/RankedAreaDiscipline.js +0 -45
- package/dist/src/organisations/policies/ranked/RankedAttendance.d.ts +0 -14
- package/dist/src/organisations/policies/ranked/RankedAttendance.js +0 -35
- package/dist/src/organisations/policies/ranked/RankedAttendanceDiscipline.d.ts +0 -14
- package/dist/src/organisations/policies/ranked/RankedAttendanceDiscipline.js +0 -43
- package/dist/src/organisations/policies/ranked/RankedContinent.d.ts +0 -13
- package/dist/src/organisations/policies/ranked/RankedContinent.js +0 -33
- package/dist/src/organisations/policies/ranked/RankedContinentAttendance.d.ts +0 -15
- package/dist/src/organisations/policies/ranked/RankedContinentAttendance.js +0 -45
- package/dist/src/organisations/policies/ranked/RankedCountry.d.ts +0 -13
- package/dist/src/organisations/policies/ranked/RankedCountry.js +0 -30
- package/dist/src/organisations/policies/ranked/RankedCountryAttendance.d.ts +0 -14
- package/dist/src/organisations/policies/ranked/RankedCountryAttendance.js +0 -43
- package/dist/src/organisations/policies/ranked/RankedCountryDiscipline.d.ts +0 -13
- package/dist/src/organisations/policies/ranked/RankedCountryDiscipline.js +0 -41
- package/dist/src/organisations/policies/ranked/RankedDiscipline.d.ts +0 -13
- package/dist/src/organisations/policies/ranked/RankedDiscipline.js +0 -33
- package/dist/src/organisations/policies/ranked/RankedUnfiltered.d.ts +0 -12
- package/dist/src/organisations/policies/ranked/RankedUnfiltered.js +0 -22
- package/dist/src/organisations/rules/AtLeastTwoRankedResultsRule.d.ts +0 -13
- package/dist/src/organisations/rules/AtLeastTwoRankedResultsRule.js +0 -26
- package/dist/src/organisations/rules/BaseSearchVolumeOrganisationsRule.d.ts +0 -14
- package/dist/src/organisations/rules/BaseSearchVolumeOrganisationsRule.js +0 -33
- package/dist/src/organisations/rules/ContinentIsEuropeRule.d.ts +0 -6
- package/dist/src/organisations/rules/ContinentIsEuropeRule.js +0 -15
- package/dist/src/organisations/rules/NoFiltersSelectedRule.d.ts +0 -9
- package/dist/src/organisations/rules/NoFiltersSelectedRule.js +0 -17
- package/dist/src/organisations/rules/OnlineAttendanceRule.d.ts +0 -6
- package/dist/src/organisations/rules/OnlineAttendanceRule.js +0 -14
- package/dist/src/organisations/rules/SearchVolumeAreasAttendanceRule.d.ts +0 -6
- package/dist/src/organisations/rules/SearchVolumeAreasAttendanceRule.js +0 -17
- package/dist/src/organisations/rules/SearchVolumeAreasDisciplineRule.d.ts +0 -6
- package/dist/src/organisations/rules/SearchVolumeAreasDisciplineRule.js +0 -18
- package/dist/src/organisations/rules/SearchVolumeCountriesAttendanceRule.d.ts +0 -6
- package/dist/src/organisations/rules/SearchVolumeCountriesAttendanceRule.js +0 -17
- package/dist/src/organisations/types/IOrganisationSearchDependencies.d.ts +0 -9
- package/dist/src/organisations/types/IOrganisationSearchDependencies.js +0 -1
- package/dist/src/organisations/types/IOrganisationsSeoDependencies.d.ts +0 -3
- package/dist/src/organisations/types/IOrganisationsSeoDependencies.js +0 -1
- package/dist/src/organisations/types/IOrganisationsSitemapDependencies.d.ts +0 -9
- package/dist/src/organisations/types/IOrganisationsSitemapDependencies.js +0 -1
- package/dist/src/organisations/types.d.ts +0 -6
- package/dist/src/organisations/types.js +0 -6
- package/dist/src/presenters/AreaPresenter.d.ts +0 -12
- package/dist/src/presenters/AreaPresenter.js +0 -35
- package/dist/src/presenters/AttendancePresenter.d.ts +0 -11
- package/dist/src/presenters/AttendancePresenter.js +0 -27
- package/dist/src/presenters/ContinentPresenter.d.ts +0 -12
- package/dist/src/presenters/ContinentPresenter.js +0 -33
- package/dist/src/presenters/CountryPresenter.d.ts +0 -12
- package/dist/src/presenters/CountryPresenter.js +0 -38
- package/dist/src/presenters/DegreePresenter.d.ts +0 -12
- package/dist/src/presenters/DegreePresenter.js +0 -50
- package/dist/src/presenters/DisciplinePresenter.d.ts +0 -12
- package/dist/src/presenters/DisciplinePresenter.js +0 -33
- package/dist/src/presenters/DurationPresenter.d.ts +0 -15
- package/dist/src/presenters/DurationPresenter.js +0 -47
- package/dist/src/presenters/EducationalFormPresenter.d.ts +0 -12
- package/dist/src/presenters/EducationalFormPresenter.js +0 -45
- package/dist/src/presenters/FormatPresenter.d.ts +0 -11
- package/dist/src/presenters/FormatPresenter.js +0 -27
- package/dist/src/presenters/SpecialProgrammesPresenter.d.ts +0 -11
- package/dist/src/presenters/SpecialProgrammesPresenter.js +0 -31
- package/dist/src/presenters/TuitionFeePresenter.d.ts +0 -11
- package/dist/src/presenters/TuitionFeePresenter.js +0 -23
- package/dist/src/presenters/fragments/IAreaFragment.d.ts +0 -4
- package/dist/src/presenters/fragments/IAreaFragment.js +0 -1
- package/dist/src/presenters/fragments/ICountryFragment.d.ts +0 -4
- package/dist/src/presenters/fragments/ICountryFragment.js +0 -1
- package/dist/src/presenters/fragments/IFragment.d.ts +0 -4
- package/dist/src/presenters/fragments/IFragment.js +0 -1
- package/dist/src/programmes/BaseProgrammeFilterKeyValueRule.d.ts +0 -6
- package/dist/src/programmes/BaseProgrammeFilterKeyValueRule.js +0 -6
- package/dist/src/programmes/BaseProgrammeRule.d.ts +0 -10
- package/dist/src/programmes/BaseProgrammeRule.js +0 -5
- package/dist/src/programmes/IProgrammeRule.d.ts +0 -5
- package/dist/src/programmes/IProgrammeRule.js +0 -1
- 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/ProgrammesBaseIndexabilityPolicy.d.ts +0 -15
- package/dist/src/programmes/ProgrammesBaseIndexabilityPolicy.js +0 -42
- package/dist/src/programmes/SearchIndexabilityManager.d.ts +0 -12
- package/dist/src/programmes/SearchIndexabilityManager.js +0 -82
- package/dist/src/programmes/policies/Area.d.ts +0 -15
- package/dist/src/programmes/policies/Area.js +0 -40
- package/dist/src/programmes/policies/Attendance.d.ts +0 -16
- package/dist/src/programmes/policies/Attendance.js +0 -38
- 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/AttendanceDegree.d.ts +0 -16
- package/dist/src/programmes/policies/AttendanceDegree.js +0 -49
- 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/Continent.d.ts +0 -15
- package/dist/src/programmes/policies/Continent.js +0 -36
- 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/ContinentTuitionFee.d.ts +0 -16
- package/dist/src/programmes/policies/ContinentTuitionFee.js +0 -46
- package/dist/src/programmes/policies/Country.d.ts +0 -15
- package/dist/src/programmes/policies/Country.js +0 -33
- package/dist/src/programmes/policies/CountryAttendance.d.ts +0 -16
- package/dist/src/programmes/policies/CountryAttendance.js +0 -46
- package/dist/src/programmes/policies/CountryAttendanceDegree.d.ts +0 -17
- package/dist/src/programmes/policies/CountryAttendanceDegree.js +0 -55
- package/dist/src/programmes/policies/CountryDegree.d.ts +0 -16
- package/dist/src/programmes/policies/CountryDegree.js +0 -46
- package/dist/src/programmes/policies/CountryDuration.d.ts +0 -16
- package/dist/src/programmes/policies/CountryDuration.js +0 -48
- package/dist/src/programmes/policies/CountryDurationDegree.d.ts +0 -17
- package/dist/src/programmes/policies/CountryDurationDegree.js +0 -55
- package/dist/src/programmes/policies/CountryEducationalForm.d.ts +0 -16
- package/dist/src/programmes/policies/CountryEducationalForm.js +0 -47
- package/dist/src/programmes/policies/CountryFormat.d.ts +0 -16
- package/dist/src/programmes/policies/CountryFormat.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/CountryTuitionFee.d.ts +0 -16
- package/dist/src/programmes/policies/CountryTuitionFee.js +0 -46
- package/dist/src/programmes/policies/Degree.d.ts +0 -15
- package/dist/src/programmes/policies/Degree.js +0 -38
- 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/DegreeAttendanceDiscipline.d.ts +0 -17
- package/dist/src/programmes/policies/DegreeAttendanceDiscipline.js +0 -63
- 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/DegreeCountryAttendance.d.ts +0 -16
- package/dist/src/programmes/policies/DegreeCountryAttendance.js +0 -88
- package/dist/src/programmes/policies/DegreeCountryDiscipline.d.ts +0 -16
- package/dist/src/programmes/policies/DegreeCountryDiscipline.js +0 -71
- package/dist/src/programmes/policies/DegreeCountryTuitionFee.d.ts +0 -16
- package/dist/src/programmes/policies/DegreeCountryTuitionFee.js +0 -73
- 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/Discipline.d.ts +0 -15
- package/dist/src/programmes/policies/Discipline.js +0 -36
- package/dist/src/programmes/policies/DisciplineArea.d.ts +0 -15
- package/dist/src/programmes/policies/DisciplineArea.js +0 -46
- package/dist/src/programmes/policies/DisciplineAttendance.d.ts +0 -16
- package/dist/src/programmes/policies/DisciplineAttendance.js +0 -46
- package/dist/src/programmes/policies/DisciplineContinent.d.ts +0 -15
- package/dist/src/programmes/policies/DisciplineContinent.js +0 -44
- package/dist/src/programmes/policies/DisciplineContinentAttendance.d.ts +0 -16
- package/dist/src/programmes/policies/DisciplineContinentAttendance.js +0 -54
- package/dist/src/programmes/policies/DisciplineCountry.d.ts +0 -15
- package/dist/src/programmes/policies/DisciplineCountry.js +0 -44
- 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/DisciplineCountryEducationalForm.d.ts +0 -16
- package/dist/src/programmes/policies/DisciplineCountryEducationalForm.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/DisciplineDegree.d.ts +0 -16
- package/dist/src/programmes/policies/DisciplineDegree.js +0 -46
- package/dist/src/programmes/policies/DisciplineDuration.d.ts +0 -16
- package/dist/src/programmes/policies/DisciplineDuration.js +0 -46
- package/dist/src/programmes/policies/DisciplineEducationalForm.d.ts +0 -16
- package/dist/src/programmes/policies/DisciplineEducationalForm.js +0 -47
- package/dist/src/programmes/policies/DisciplineFormat.d.ts +0 -16
- package/dist/src/programmes/policies/DisciplineFormat.js +0 -46
- package/dist/src/programmes/policies/DisciplineSpecialProgrammes.d.ts +0 -15
- package/dist/src/programmes/policies/DisciplineSpecialProgrammes.js +0 -46
- package/dist/src/programmes/policies/DisciplineTuitionFee.d.ts +0 -16
- package/dist/src/programmes/policies/DisciplineTuitionFee.js +0 -46
- package/dist/src/programmes/policies/DisciplineTuitionFeeAttendance.d.ts +0 -17
- package/dist/src/programmes/policies/DisciplineTuitionFeeAttendance.js +0 -54
- 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/policies/SpecialProgrammes.d.ts +0 -15
- package/dist/src/programmes/policies/SpecialProgrammes.js +0 -36
- package/dist/src/programmes/policies/TuitionFee.d.ts +0 -15
- package/dist/src/programmes/policies/TuitionFee.js +0 -32
- package/dist/src/programmes/policies/Unfiltered.d.ts +0 -13
- package/dist/src/programmes/policies/Unfiltered.js +0 -19
- package/dist/src/programmes/policies/index.d.ts +0 -59
- package/dist/src/programmes/policies/index.js +0 -59
- package/dist/src/programmes/rules/AffordableTuitionFeeRule.d.ts +0 -6
- package/dist/src/programmes/rules/AffordableTuitionFeeRule.js +0 -17
- package/dist/src/programmes/rules/AtLeastSevenResultsRule.d.ts +0 -15
- package/dist/src/programmes/rules/AtLeastSevenResultsRule.js +0 -30
- package/dist/src/programmes/rules/DegreeAttendanceDisciplineRule.d.ts +0 -11
- package/dist/src/programmes/rules/DegreeAttendanceDisciplineRule.js +0 -44
- package/dist/src/programmes/rules/DegreeAttendanceDisciplineSpecificRule.d.ts +0 -11
- package/dist/src/programmes/rules/DegreeAttendanceDisciplineSpecificRule.js +0 -39
- package/dist/src/programmes/rules/DegreeAttendanceSpecificRule.d.ts +0 -10
- package/dist/src/programmes/rules/DegreeAttendanceSpecificRule.js +0 -42
- package/dist/src/programmes/rules/DegreeCountryAttendanceSpecificRule.d.ts +0 -14
- package/dist/src/programmes/rules/DegreeCountryAttendanceSpecificRule.js +0 -76
- package/dist/src/programmes/rules/DegreeCountryDisciplineSpecificRule.d.ts +0 -11
- package/dist/src/programmes/rules/DegreeCountryDisciplineSpecificRule.js +0 -76
- 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/DegreeCountryTuitionFeeSpecificRule.d.ts +0 -12
- package/dist/src/programmes/rules/DegreeCountryTuitionFeeSpecificRule.js +0 -62
- package/dist/src/programmes/rules/DegreeDisciplineRule.d.ts +0 -16
- package/dist/src/programmes/rules/DegreeDisciplineRule.js +0 -189
- package/dist/src/programmes/rules/ErasmusOrJointSpecialProgrammesRule.d.ts +0 -9
- package/dist/src/programmes/rules/ErasmusOrJointSpecialProgrammesRule.js +0 -28
- package/dist/src/programmes/rules/IndexableDegreeRule.d.ts +0 -10
- package/dist/src/programmes/rules/IndexableDegreeRule.js +0 -53
- package/dist/src/programmes/rules/IndexableDurationRule.d.ts +0 -12
- package/dist/src/programmes/rules/IndexableDurationRule.js +0 -37
- package/dist/src/programmes/rules/IndexableEducationalFormRule.d.ts +0 -10
- package/dist/src/programmes/rules/IndexableEducationalFormRule.js +0 -34
- package/dist/src/programmes/rules/IndexablePageNumberRule.d.ts +0 -9
- package/dist/src/programmes/rules/IndexablePageNumberRule.js +0 -17
- 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/MbaDegreeRule.d.ts +0 -6
- package/dist/src/programmes/rules/MbaDegreeRule.js +0 -15
- package/dist/src/programmes/rules/MbaOrMscDegreeRule.d.ts +0 -9
- package/dist/src/programmes/rules/MbaOrMscDegreeRule.js +0 -26
- package/dist/src/programmes/rules/NotDistanceLearningPortalRule.d.ts +0 -11
- package/dist/src/programmes/rules/NotDistanceLearningPortalRule.js +0 -28
- package/dist/src/programmes/rules/OneYearDurationRule.d.ts +0 -6
- package/dist/src/programmes/rules/OneYearDurationRule.js +0 -15
- 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/programmes/rules/PartTimeFormatRule.d.ts +0 -6
- package/dist/src/programmes/rules/PartTimeFormatRule.js +0 -15
- package/dist/src/programmes/types/IProgrammeSearchApplicationState.d.ts +0 -4
- package/dist/src/programmes/types/IProgrammeSearchApplicationState.js +0 -1
- package/dist/src/programmes/types/IProgrammeSearchDependencies.d.ts +0 -7
- package/dist/src/programmes/types/IProgrammeSearchDependencies.js +0 -1
- package/dist/src/programmes/types/IProgrammeSearchSitemapDependencies.d.ts +0 -5
- package/dist/src/programmes/types/IProgrammeSearchSitemapDependencies.js +0 -1
- package/dist/src/programmes/types/IProgrammeSeoDependencies.d.ts +0 -3
- package/dist/src/programmes/types/IProgrammeSeoDependencies.js +0 -1
- package/dist/src/programmes/types/IProgrammeSitemapDependencies.d.ts +0 -7
- package/dist/src/programmes/types/IProgrammeSitemapDependencies.js +0 -1
- package/dist/src/programmes/types/IProgrammeSitemapUrlGenerator.d.ts +0 -5
- package/dist/src/programmes/types/IProgrammeSitemapUrlGenerator.js +0 -1
- package/dist/src/scholarships/SearchIndexabilityManager.d.ts +0 -11
- package/dist/src/scholarships/SearchIndexabilityManager.js +0 -33
- package/dist/src/scholarships/index.d.ts +0 -3
- package/dist/src/scholarships/index.js +0 -3
- package/dist/src/scholarships/policies/Area.d.ts +0 -13
- package/dist/src/scholarships/policies/Area.js +0 -37
- package/dist/src/scholarships/policies/Country.d.ts +0 -12
- package/dist/src/scholarships/policies/Country.js +0 -31
- package/dist/src/scholarships/policies/Discipline.d.ts +0 -12
- package/dist/src/scholarships/policies/Discipline.js +0 -31
- package/dist/src/scholarships/policies/DisciplineCountry.d.ts +0 -12
- package/dist/src/scholarships/policies/DisciplineCountry.js +0 -39
- package/dist/src/scholarships/policies/ScholarshipSeoIndexabilityPolicy.d.ts +0 -7
- package/dist/src/scholarships/policies/ScholarshipSeoIndexabilityPolicy.js +0 -7
- package/dist/src/scholarships/policies/Unfiltered.d.ts +0 -10
- package/dist/src/scholarships/policies/Unfiltered.js +0 -16
- package/dist/src/scholarships/policies/UniversityCountry.d.ts +0 -11
- package/dist/src/scholarships/policies/UniversityCountry.js +0 -41
- package/dist/src/scholarships/rules/ExceptAustaliaAreasRule.d.ts +0 -14
- package/dist/src/scholarships/rules/ExceptAustaliaAreasRule.js +0 -42
- package/dist/src/scholarships/rules/SearchVolumeAreasRule.d.ts +0 -12
- package/dist/src/scholarships/rules/SearchVolumeAreasRule.js +0 -32
- package/dist/src/scholarships/rules/SearchVolumeCountriesDisciplinesRule.d.ts +0 -14
- package/dist/src/scholarships/rules/SearchVolumeCountriesDisciplinesRule.js +0 -43
- package/dist/src/scholarships/rules/SearchVolumeCountriesRule.d.ts +0 -12
- package/dist/src/scholarships/rules/SearchVolumeCountriesRule.js +0 -32
- package/dist/src/scholarships/rules/SearchVolumeDisciplinesRule.d.ts +0 -12
- package/dist/src/scholarships/rules/SearchVolumeDisciplinesRule.js +0 -32
- package/dist/src/scholarships/rules/files/search-volume.json +0 -39334
- package/dist/src/scholarships/types/IScholarshipSeoDependencies.d.ts +0 -3
- package/dist/src/scholarships/types/IScholarshipSeoDependencies.js +0 -1
- package/dist/src/scholarships/types/IScholarshipSitemapDependencies.d.ts +0 -5
- package/dist/src/scholarships/types/IScholarshipSitemapDependencies.js +0 -1
- package/dist/src/scholarships/types.d.ts +0 -5
- package/dist/src/scholarships/types.js +0 -5
- package/dist/src/sitemap-generator/BaseSitemapUrlGeneratorManager.d.ts +0 -14
- package/dist/src/sitemap-generator/BaseSitemapUrlGeneratorManager.js +0 -26
- package/dist/src/sitemap-generator/IOrganisation.d.ts +0 -6
- package/dist/src/sitemap-generator/IOrganisation.js +0 -1
- package/dist/src/sitemap-generator/IOrganisationsClient.d.ts +0 -4
- package/dist/src/sitemap-generator/IOrganisationsClient.js +0 -1
- package/dist/src/sitemap-generator/IPageNumberProvider.d.ts +0 -3
- package/dist/src/sitemap-generator/IPageNumberProvider.js +0 -1
- package/dist/src/sitemap-generator/IRankingApiClient.d.ts +0 -4
- package/dist/src/sitemap-generator/IRankingApiClient.js +0 -1
- package/dist/src/sitemap-generator/ISearchApiClient.d.ts +0 -5
- package/dist/src/sitemap-generator/ISearchApiClient.js +0 -1
- package/dist/src/sitemap-generator/ISitemapUrlGeneratorManager.d.ts +0 -9
- package/dist/src/sitemap-generator/ISitemapUrlGeneratorManager.js +0 -1
- package/dist/src/sitemap-generator/OrganisationsSitemapUrlGeneratorManager.d.ts +0 -14
- package/dist/src/sitemap-generator/OrganisationsSitemapUrlGeneratorManager.js +0 -51
- package/dist/src/sitemap-generator/ProgrammesSitemapUrlGeneratorManager.d.ts +0 -12
- package/dist/src/sitemap-generator/ProgrammesSitemapUrlGeneratorManager.js +0 -101
- package/dist/src/sitemap-generator/ScholarshipsSitemapUrlGeneratorManager.d.ts +0 -9
- package/dist/src/sitemap-generator/ScholarshipsSitemapUrlGeneratorManager.js +0 -28
- package/dist/src/sitemap-generator/index.d.ts +0 -0
- package/dist/src/sitemap-generator/index.js +0 -1
- package/dist/src/structured-data/ProgrammeStructuredDataFactory.d.ts +0 -18
- package/dist/src/structured-data/ProgrammeStructuredDataFactory.js +0 -91
- package/dist/src/structured-data/SearchStructuredDataFactory.d.ts +0 -34
- package/dist/src/structured-data/SearchStructuredDataFactory.js +0 -144
- package/dist/src/structured-data/dto/BreadcrumbDTO.d.ts +0 -5
- package/dist/src/structured-data/dto/BreadcrumbDTO.js +0 -1
- package/dist/src/structured-data/dto/EntityDTO.d.ts +0 -7
- package/dist/src/structured-data/dto/EntityDTO.js +0 -1
- package/dist/src/structured-data/dto/FAQItemDto.d.ts +0 -4
- package/dist/src/structured-data/dto/FAQItemDto.js +0 -1
- package/dist/src/structured-data/dto/OfferDTO.d.ts +0 -5
- package/dist/src/structured-data/dto/OfferDTO.js +0 -1
- package/dist/src/structured-data/dto/ReviewRatingDTO.d.ts +0 -4
- package/dist/src/structured-data/dto/ReviewRatingDTO.js +0 -1
- package/dist/src/structured-data/dto/index.d.ts +0 -5
- package/dist/src/structured-data/dto/index.js +0 -5
- package/dist/src/structured-data/index.d.ts +0 -2
- package/dist/src/structured-data/index.js +0 -2
- package/dist/src/structured-data/interface/StructuredDataCurrencyConversionService.d.ts +0 -3
- package/dist/src/structured-data/interface/StructuredDataCurrencyConversionService.js +0 -1
- package/dist/structured-data-seo/index.d.ts +0 -1
- package/dist/structured-data-seo/index.js +0 -1
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
-
import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
|
|
3
|
-
import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
|
-
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
5
|
-
import { OneYearOnlyRule } from '../rules/OneYearOnlyRule';
|
|
6
|
-
import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
|
|
7
|
-
import { CountryPresenter } from '../../presenters/CountryPresenter';
|
|
8
|
-
import { DurationPresenter } from '../../presenters/DurationPresenter';
|
|
9
|
-
export class CountryDuration extends ProgrammesBaseIndexabilityPolicy {
|
|
10
|
-
name = 'Country Duration Policy';
|
|
11
|
-
description = 'Determines indexing rules for pages filtered by both country, and duration (1 year only).';
|
|
12
|
-
filterKeys = [FilterKey.COUNTRY, FilterKey.DURATION];
|
|
13
|
-
rules = [
|
|
14
|
-
new SingleValueSelectedForFilterRule(FilterKey.COUNTRY),
|
|
15
|
-
new SingleValueSelectedForFilterRule(FilterKey.DURATION),
|
|
16
|
-
new OnlyFiltersSelectedRule([FilterKey.COUNTRY, FilterKey.DURATION]),
|
|
17
|
-
new OneYearOnlyRule()
|
|
18
|
-
];
|
|
19
|
-
constructor(dependencies) {
|
|
20
|
-
super(dependencies);
|
|
21
|
-
this.initateBaseRules();
|
|
22
|
-
}
|
|
23
|
-
async generateUrls() {
|
|
24
|
-
const countryFragments = CountryPresenter.getInstance().getFragments();
|
|
25
|
-
const durationFragments = DurationPresenter.getInstance().getFragments();
|
|
26
|
-
const allowedDurationIds = ["[360,360]"];
|
|
27
|
-
const allowedDurations = durationFragments.filter(duration => allowedDurationIds.includes(duration.id));
|
|
28
|
-
const paths = [];
|
|
29
|
-
for (const pageNumber of this.indexablePageNumbers) {
|
|
30
|
-
for (const country of countryFragments) {
|
|
31
|
-
for (const duration of allowedDurations) {
|
|
32
|
-
const filterKeyValues = new Map([
|
|
33
|
-
[FilterKey.COUNTRY, [country.id]],
|
|
34
|
-
[FilterKey.DURATION, [duration.id]]
|
|
35
|
-
]);
|
|
36
|
-
const result = await this.checkRulesForSitemapWithPageNumber(filterKeyValues, pageNumber);
|
|
37
|
-
if (result) {
|
|
38
|
-
paths.push(this.getPathWithPageNumber(`${duration.path}/${country.path}`, pageNumber));
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
return paths;
|
|
44
|
-
}
|
|
45
|
-
get filterCombination() {
|
|
46
|
-
return FilterCombinations.COUNTRY_DURATION;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
-
import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
|
|
3
|
-
import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
|
-
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
5
|
-
import { OneYearDurationRule } from '../rules/OneYearDurationRule';
|
|
6
|
-
import { MbaOrMscDegreeRule } from '../rules/MbaOrMscDegreeRule';
|
|
7
|
-
import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
|
|
8
|
-
import { IProgrammeSeoDependencies } from '../types/IProgrammeSeoDependencies';
|
|
9
|
-
export declare class CountryDurationDegree extends ProgrammesBaseIndexabilityPolicy {
|
|
10
|
-
readonly name: string;
|
|
11
|
-
readonly description: string;
|
|
12
|
-
readonly filterKeys: FilterKey[];
|
|
13
|
-
protected readonly rules: (SingleValueSelectedForFilterRule | OnlyFiltersSelectedRule | OneYearDurationRule | MbaOrMscDegreeRule)[];
|
|
14
|
-
constructor(dependencies: IProgrammeSeoDependencies);
|
|
15
|
-
protected generateUrls(): Promise<string[]>;
|
|
16
|
-
get filterCombination(): FilterCombinations;
|
|
17
|
-
}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
-
import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
|
|
3
|
-
import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
|
-
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
5
|
-
import { OneYearDurationRule } from '../rules/OneYearDurationRule';
|
|
6
|
-
import { MbaOrMscDegreeRule } from '../rules/MbaOrMscDegreeRule';
|
|
7
|
-
import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
|
|
8
|
-
import { CountryPresenter } from '../../presenters/CountryPresenter';
|
|
9
|
-
import { DegreePresenter } from '../../presenters/DegreePresenter';
|
|
10
|
-
import { DurationPresenter } from '../../presenters/DurationPresenter';
|
|
11
|
-
export class CountryDurationDegree extends ProgrammesBaseIndexabilityPolicy {
|
|
12
|
-
name = 'Country Duration Degree Policy';
|
|
13
|
-
description = `Determines indexing rules for pages filtered by country,
|
|
14
|
-
duration (1 year, 2 years, etc.), and degree type.`;
|
|
15
|
-
filterKeys = [FilterKey.COUNTRY, FilterKey.DURATION, FilterKey.DEGREE_TYPE];
|
|
16
|
-
rules = [
|
|
17
|
-
new SingleValueSelectedForFilterRule(FilterKey.COUNTRY),
|
|
18
|
-
new SingleValueSelectedForFilterRule(FilterKey.DURATION),
|
|
19
|
-
new SingleValueSelectedForFilterRule(FilterKey.DEGREE_TYPE),
|
|
20
|
-
new OnlyFiltersSelectedRule([FilterKey.COUNTRY, FilterKey.DURATION, FilterKey.DEGREE_TYPE]),
|
|
21
|
-
new MbaOrMscDegreeRule(),
|
|
22
|
-
new OneYearDurationRule()
|
|
23
|
-
];
|
|
24
|
-
constructor(dependencies) {
|
|
25
|
-
super(dependencies);
|
|
26
|
-
this.initateBaseRules();
|
|
27
|
-
}
|
|
28
|
-
async generateUrls() {
|
|
29
|
-
const countryFragments = CountryPresenter.getInstance().getFragments();
|
|
30
|
-
const degreeFragments = DegreePresenter.getInstance().getFragments();
|
|
31
|
-
const durationFragments = DurationPresenter.getInstance().getFragments();
|
|
32
|
-
const paths = [];
|
|
33
|
-
for (const pageNumber of this.indexablePageNumbers) {
|
|
34
|
-
for (const country of countryFragments) {
|
|
35
|
-
for (const duration of durationFragments) {
|
|
36
|
-
for (const degree of degreeFragments) {
|
|
37
|
-
const filterKeyValues = new Map([
|
|
38
|
-
[FilterKey.COUNTRY, [country.id]],
|
|
39
|
-
[FilterKey.DURATION, [duration.id]],
|
|
40
|
-
[FilterKey.DEGREE_TYPE, [degree.id]]
|
|
41
|
-
]);
|
|
42
|
-
const result = await this.checkRulesForSitemapWithPageNumber(filterKeyValues, pageNumber);
|
|
43
|
-
if (result) {
|
|
44
|
-
paths.push(this.getPathWithPageNumber(`${degree.path}/${duration.path}/${country.path}`, pageNumber));
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
return paths;
|
|
51
|
-
}
|
|
52
|
-
get filterCombination() {
|
|
53
|
-
return FilterCombinations.COUNTRY_DURATION_DEGREE;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
-
import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
|
|
3
|
-
import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
|
-
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
5
|
-
import { IndexableEducationalFormRule } from '../rules/IndexableEducationalFormRule';
|
|
6
|
-
import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
|
|
7
|
-
import { IProgrammeSeoDependencies } from '../types/IProgrammeSeoDependencies';
|
|
8
|
-
export declare class CountryEducationalForm extends ProgrammesBaseIndexabilityPolicy {
|
|
9
|
-
readonly name: string;
|
|
10
|
-
readonly description: string;
|
|
11
|
-
readonly filterKeys: FilterKey[];
|
|
12
|
-
protected readonly rules: (SingleValueSelectedForFilterRule | OnlyFiltersSelectedRule | IndexableEducationalFormRule)[];
|
|
13
|
-
constructor(dependencies: IProgrammeSeoDependencies);
|
|
14
|
-
protected generateUrls(): Promise<string[]>;
|
|
15
|
-
get filterCombination(): FilterCombinations;
|
|
16
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
-
import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
|
|
3
|
-
import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
|
-
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
5
|
-
import { IndexableEducationalFormRule } from '../rules/IndexableEducationalFormRule';
|
|
6
|
-
import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
|
|
7
|
-
import { CountryPresenter } from '../../presenters/CountryPresenter';
|
|
8
|
-
import { EducationalFormPresenter } from '../../presenters/EducationalFormPresenter';
|
|
9
|
-
export class CountryEducationalForm extends ProgrammesBaseIndexabilityPolicy {
|
|
10
|
-
name = 'Country Educational Form Policy';
|
|
11
|
-
description = `Determines indexing rules for pages filtered by both country,
|
|
12
|
-
and educational form (academic, semester, summer school, etc.).`;
|
|
13
|
-
filterKeys = [FilterKey.COUNTRY, FilterKey.EDUCATIONAL_FORM];
|
|
14
|
-
rules = [
|
|
15
|
-
new SingleValueSelectedForFilterRule(FilterKey.COUNTRY),
|
|
16
|
-
new SingleValueSelectedForFilterRule(FilterKey.EDUCATIONAL_FORM),
|
|
17
|
-
new OnlyFiltersSelectedRule([FilterKey.COUNTRY, FilterKey.EDUCATIONAL_FORM]),
|
|
18
|
-
new IndexableEducationalFormRule()
|
|
19
|
-
];
|
|
20
|
-
constructor(dependencies) {
|
|
21
|
-
super(dependencies);
|
|
22
|
-
this.initateBaseRules();
|
|
23
|
-
}
|
|
24
|
-
async generateUrls() {
|
|
25
|
-
const countryFragments = CountryPresenter.getInstance().getFragments();
|
|
26
|
-
const educationalFormFragments = EducationalFormPresenter.getInstance().getFragments();
|
|
27
|
-
const paths = [];
|
|
28
|
-
for (const pageNumber of this.indexablePageNumbers) {
|
|
29
|
-
for (const country of countryFragments) {
|
|
30
|
-
for (const form of educationalFormFragments) {
|
|
31
|
-
const filterKeyValues = new Map([
|
|
32
|
-
[FilterKey.COUNTRY, [country.id]],
|
|
33
|
-
[FilterKey.EDUCATIONAL_FORM, [form.id]]
|
|
34
|
-
]);
|
|
35
|
-
const result = await this.checkRulesForSitemapWithPageNumber(filterKeyValues, pageNumber);
|
|
36
|
-
if (result) {
|
|
37
|
-
paths.push(this.getPathWithPageNumber(`${country.path}/${form.path}`, pageNumber));
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
return paths;
|
|
43
|
-
}
|
|
44
|
-
get filterCombination() {
|
|
45
|
-
return FilterCombinations.COUNTRY_EDUCATIONAL_FORM;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
-
import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
|
|
3
|
-
import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
|
-
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
5
|
-
import { PartTimeFormatRule } from '../rules/PartTimeFormatRule';
|
|
6
|
-
import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
|
|
7
|
-
import { IProgrammeSeoDependencies } from '../types/IProgrammeSeoDependencies';
|
|
8
|
-
export declare class CountryFormat extends ProgrammesBaseIndexabilityPolicy {
|
|
9
|
-
readonly name: string;
|
|
10
|
-
readonly description: string;
|
|
11
|
-
readonly filterKeys: FilterKey[];
|
|
12
|
-
protected readonly rules: (SingleValueSelectedForFilterRule | OnlyFiltersSelectedRule | PartTimeFormatRule)[];
|
|
13
|
-
constructor(dependencies: IProgrammeSeoDependencies);
|
|
14
|
-
protected generateUrls(): Promise<string[]>;
|
|
15
|
-
get filterCombination(): FilterCombinations;
|
|
16
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
-
import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
|
|
3
|
-
import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
|
-
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
5
|
-
import { PartTimeFormatRule } from '../rules/PartTimeFormatRule';
|
|
6
|
-
import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
|
|
7
|
-
import { CountryPresenter } from '../../presenters/CountryPresenter';
|
|
8
|
-
import { FormatPresenter } from '../../presenters/FormatPresenter';
|
|
9
|
-
export class CountryFormat extends ProgrammesBaseIndexabilityPolicy {
|
|
10
|
-
name = 'Country Format Policy';
|
|
11
|
-
description = 'Determines indexing rules for pages filtered by both country, and attendance type (part-time or fulltime).';
|
|
12
|
-
filterKeys = [FilterKey.COUNTRY, FilterKey.ATTENDANCE];
|
|
13
|
-
rules = [
|
|
14
|
-
new SingleValueSelectedForFilterRule(FilterKey.COUNTRY),
|
|
15
|
-
new SingleValueSelectedForFilterRule(FilterKey.ATTENDANCE),
|
|
16
|
-
new OnlyFiltersSelectedRule([FilterKey.COUNTRY, FilterKey.ATTENDANCE]),
|
|
17
|
-
new PartTimeFormatRule()
|
|
18
|
-
];
|
|
19
|
-
constructor(dependencies) {
|
|
20
|
-
super(dependencies);
|
|
21
|
-
this.initateBaseRules();
|
|
22
|
-
}
|
|
23
|
-
async generateUrls() {
|
|
24
|
-
const countryFragments = CountryPresenter.getInstance().getFragments();
|
|
25
|
-
const formatFragments = FormatPresenter.getInstance().getFragments();
|
|
26
|
-
const paths = [];
|
|
27
|
-
for (const pageNumber of this.indexablePageNumbers) {
|
|
28
|
-
for (const country of countryFragments) {
|
|
29
|
-
for (const format of formatFragments) {
|
|
30
|
-
const filterKeyValues = new Map([
|
|
31
|
-
[FilterKey.COUNTRY, [country.id]],
|
|
32
|
-
[FilterKey.ATTENDANCE, [format.id]]
|
|
33
|
-
]);
|
|
34
|
-
const result = await this.checkRulesForSitemapWithPageNumber(filterKeyValues, pageNumber);
|
|
35
|
-
if (result) {
|
|
36
|
-
paths.push(this.getPathWithPageNumber(`${country.path}/${format.path}`, pageNumber));
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
return paths;
|
|
42
|
-
}
|
|
43
|
-
get filterCombination() {
|
|
44
|
-
return FilterCombinations.COUNTRY_FORMAT;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
-
import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
|
|
3
|
-
import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
|
-
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
5
|
-
import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
|
|
6
|
-
import { IProgrammeSeoDependencies } from '../types/IProgrammeSeoDependencies';
|
|
7
|
-
export declare class CountrySpecialProgrammes extends ProgrammesBaseIndexabilityPolicy {
|
|
8
|
-
readonly name: string;
|
|
9
|
-
readonly description: string;
|
|
10
|
-
readonly filterKeys: FilterKey[];
|
|
11
|
-
protected readonly rules: (SingleValueSelectedForFilterRule | OnlyFiltersSelectedRule)[];
|
|
12
|
-
constructor(dependencies: IProgrammeSeoDependencies);
|
|
13
|
-
protected generateUrls(): Promise<string[]>;
|
|
14
|
-
get filterCombination(): FilterCombinations;
|
|
15
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
-
import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
|
|
3
|
-
import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
|
-
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
5
|
-
import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
|
|
6
|
-
import { CountryPresenter } from '../../presenters/CountryPresenter';
|
|
7
|
-
import { SpecialProgrammesPresenter } from '../../presenters/SpecialProgrammesPresenter';
|
|
8
|
-
export class CountrySpecialProgrammes extends ProgrammesBaseIndexabilityPolicy {
|
|
9
|
-
name = 'Country Special Programmes Policy';
|
|
10
|
-
description = 'Determines indexing rules for pages filtered by country and special programmes (Joint).';
|
|
11
|
-
filterKeys = [FilterKey.COUNTRY, FilterKey.SPECIAL_PROGRAMMES];
|
|
12
|
-
rules = [
|
|
13
|
-
new SingleValueSelectedForFilterRule(FilterKey.SPECIAL_PROGRAMMES),
|
|
14
|
-
new SingleValueSelectedForFilterRule(FilterKey.COUNTRY),
|
|
15
|
-
new OnlyFiltersSelectedRule([FilterKey.SPECIAL_PROGRAMMES, FilterKey.COUNTRY]),
|
|
16
|
-
];
|
|
17
|
-
constructor(dependencies) {
|
|
18
|
-
super(dependencies);
|
|
19
|
-
this.initateBaseRules();
|
|
20
|
-
}
|
|
21
|
-
async generateUrls() {
|
|
22
|
-
const specialProgrammesFragments = SpecialProgrammesPresenter.getInstance().getFragments();
|
|
23
|
-
const countryFragments = CountryPresenter.getInstance().getFragments();
|
|
24
|
-
const paths = [];
|
|
25
|
-
const validSpecialProgrammesIds = ['joint'];
|
|
26
|
-
const validSpecialProgrammes = specialProgrammesFragments.filter(specialProgramme => validSpecialProgrammesIds.includes(specialProgramme.id));
|
|
27
|
-
for (const pageNumber of this.indexablePageNumbers) {
|
|
28
|
-
for (const specialProgramme of validSpecialProgrammes) {
|
|
29
|
-
for (const country of countryFragments) {
|
|
30
|
-
const filterKeyValues = new Map([
|
|
31
|
-
[FilterKey.SPECIAL_PROGRAMMES, [specialProgramme.id]],
|
|
32
|
-
[FilterKey.COUNTRY, [country.id]]
|
|
33
|
-
]);
|
|
34
|
-
const result = await this.checkRulesForSitemapWithPageNumber(filterKeyValues, pageNumber);
|
|
35
|
-
if (result) {
|
|
36
|
-
paths.push(this.getPathWithPageNumber(`${country.path}/${specialProgramme.path}`, pageNumber));
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
return paths;
|
|
42
|
-
}
|
|
43
|
-
get filterCombination() {
|
|
44
|
-
return FilterCombinations.COUNTRY_SPECIAL_PROGRAMMES;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
-
import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
|
|
3
|
-
import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
|
-
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
5
|
-
import { AffordableTuitionFeeRule } from '../rules/AffordableTuitionFeeRule';
|
|
6
|
-
import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
|
|
7
|
-
import { IProgrammeSeoDependencies } from '../types/IProgrammeSeoDependencies';
|
|
8
|
-
export declare class CountryTuitionFee extends ProgrammesBaseIndexabilityPolicy {
|
|
9
|
-
readonly name: string;
|
|
10
|
-
readonly description: string;
|
|
11
|
-
readonly filterKeys: FilterKey[];
|
|
12
|
-
protected readonly rules: (SingleValueSelectedForFilterRule | OnlyFiltersSelectedRule | AffordableTuitionFeeRule)[];
|
|
13
|
-
constructor(dependencies: IProgrammeSeoDependencies);
|
|
14
|
-
protected generateUrls(): Promise<string[]>;
|
|
15
|
-
get filterCombination(): FilterCombinations;
|
|
16
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
-
import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
|
|
3
|
-
import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
|
-
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
5
|
-
import { AffordableTuitionFeeRule } from '../rules/AffordableTuitionFeeRule';
|
|
6
|
-
import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
|
|
7
|
-
import { CountryPresenter } from '../../presenters/CountryPresenter';
|
|
8
|
-
import { TuitionFeePresenter } from '../../presenters/TuitionFeePresenter';
|
|
9
|
-
export class CountryTuitionFee extends ProgrammesBaseIndexabilityPolicy {
|
|
10
|
-
name = 'Country Tuition Fee Policy';
|
|
11
|
-
description = 'Determines indexing rules for pages filtered by both country, and tuition fee.';
|
|
12
|
-
filterKeys = [FilterKey.COUNTRY, FilterKey.TUITION_FEE];
|
|
13
|
-
rules = [
|
|
14
|
-
new SingleValueSelectedForFilterRule(FilterKey.COUNTRY),
|
|
15
|
-
new SingleValueSelectedForFilterRule(FilterKey.TUITION_FEE),
|
|
16
|
-
new OnlyFiltersSelectedRule([FilterKey.COUNTRY, FilterKey.TUITION_FEE]),
|
|
17
|
-
new AffordableTuitionFeeRule()
|
|
18
|
-
];
|
|
19
|
-
constructor(dependencies) {
|
|
20
|
-
super(dependencies);
|
|
21
|
-
this.initateBaseRules();
|
|
22
|
-
}
|
|
23
|
-
async generateUrls() {
|
|
24
|
-
const countryFragments = CountryPresenter.getInstance().getFragments();
|
|
25
|
-
const tuitionFeeFragments = TuitionFeePresenter.getInstance().getFragments();
|
|
26
|
-
const paths = [];
|
|
27
|
-
for (const pageNumber of this.indexablePageNumbers) {
|
|
28
|
-
for (const country of countryFragments) {
|
|
29
|
-
for (const tuitionFee of tuitionFeeFragments) {
|
|
30
|
-
const filterKeyValues = new Map([
|
|
31
|
-
[FilterKey.COUNTRY, [country.id]],
|
|
32
|
-
[FilterKey.TUITION_FEE, [tuitionFee.id]]
|
|
33
|
-
]);
|
|
34
|
-
const result = await this.checkRulesForSitemapWithPageNumber(filterKeyValues, pageNumber);
|
|
35
|
-
if (result) {
|
|
36
|
-
paths.push(this.getPathWithPageNumber(`${tuitionFee.path}/${country.path}`, pageNumber));
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
return paths;
|
|
42
|
-
}
|
|
43
|
-
get filterCombination() {
|
|
44
|
-
return FilterCombinations.COUNTRY_TUITION_FEE;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
-
import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
|
|
3
|
-
import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
|
-
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
5
|
-
import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
|
|
6
|
-
import { IProgrammeSeoDependencies } from '../types/IProgrammeSeoDependencies';
|
|
7
|
-
export declare class Degree extends ProgrammesBaseIndexabilityPolicy {
|
|
8
|
-
readonly name: string;
|
|
9
|
-
readonly description: string;
|
|
10
|
-
readonly filterKeys: FilterKey[];
|
|
11
|
-
protected readonly rules: (SingleValueSelectedForFilterRule | OnlyFiltersSelectedRule)[];
|
|
12
|
-
constructor(dependencies: IProgrammeSeoDependencies);
|
|
13
|
-
protected generateUrls(): Promise<string[]>;
|
|
14
|
-
get filterCombination(): FilterCombinations;
|
|
15
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
-
import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
|
|
3
|
-
import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
|
-
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
5
|
-
import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
|
|
6
|
-
import { DegreePresenter } from '../../presenters/DegreePresenter';
|
|
7
|
-
export class Degree extends ProgrammesBaseIndexabilityPolicy {
|
|
8
|
-
name = 'Degree Policy';
|
|
9
|
-
description = 'Controls indexing of pages filtered by degree.';
|
|
10
|
-
filterKeys = [FilterKey.DEGREE_TYPE];
|
|
11
|
-
rules = [
|
|
12
|
-
new SingleValueSelectedForFilterRule(FilterKey.DEGREE_TYPE),
|
|
13
|
-
new OnlyFiltersSelectedRule([FilterKey.DEGREE_TYPE])
|
|
14
|
-
];
|
|
15
|
-
constructor(dependencies) {
|
|
16
|
-
super(dependencies);
|
|
17
|
-
this.initateBaseRules();
|
|
18
|
-
}
|
|
19
|
-
async generateUrls() {
|
|
20
|
-
const degreeFragments = DegreePresenter.getInstance().getFragments();
|
|
21
|
-
const paths = [];
|
|
22
|
-
for (const pageNumber of this.indexablePageNumbers) {
|
|
23
|
-
for (const degree of degreeFragments) {
|
|
24
|
-
const filterKeyValues = new Map([
|
|
25
|
-
[FilterKey.DEGREE_TYPE, [degree.id]],
|
|
26
|
-
]);
|
|
27
|
-
const result = await this.checkRulesForSitemapWithPageNumber(filterKeyValues, pageNumber);
|
|
28
|
-
if (result) {
|
|
29
|
-
paths.push(this.getPathWithPageNumber(degree.path, pageNumber));
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
return paths;
|
|
34
|
-
}
|
|
35
|
-
get filterCombination() {
|
|
36
|
-
return FilterCombinations.DEGREE;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
-
import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
|
|
3
|
-
import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
|
-
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
5
|
-
import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
|
|
6
|
-
import { IProgrammeSeoDependencies } from '../types/IProgrammeSeoDependencies';
|
|
7
|
-
export declare class DegreeArea extends ProgrammesBaseIndexabilityPolicy {
|
|
8
|
-
readonly name: string;
|
|
9
|
-
readonly description: string;
|
|
10
|
-
readonly filterKeys: FilterKey[];
|
|
11
|
-
protected readonly rules: (SingleValueSelectedForFilterRule | OnlyFiltersSelectedRule)[];
|
|
12
|
-
constructor(dependencies: IProgrammeSeoDependencies);
|
|
13
|
-
protected generateUrls(): Promise<string[]>;
|
|
14
|
-
get filterCombination(): FilterCombinations;
|
|
15
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
-
import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
|
|
3
|
-
import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
|
-
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
5
|
-
import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
|
|
6
|
-
import { AreaPresenter } from '../../presenters/AreaPresenter';
|
|
7
|
-
import { DegreePresenter } from '../../presenters/DegreePresenter';
|
|
8
|
-
export class DegreeArea extends ProgrammesBaseIndexabilityPolicy {
|
|
9
|
-
name = 'Degree Area Policy';
|
|
10
|
-
description = 'Controls indexing of pages filtered by geographic areas and degree type.';
|
|
11
|
-
filterKeys = [FilterKey.DEGREE_TYPE, FilterKey.AREA];
|
|
12
|
-
rules = [
|
|
13
|
-
new SingleValueSelectedForFilterRule(FilterKey.AREA),
|
|
14
|
-
new SingleValueSelectedForFilterRule(FilterKey.COUNTRY),
|
|
15
|
-
new SingleValueSelectedForFilterRule(FilterKey.DEGREE_TYPE),
|
|
16
|
-
new OnlyFiltersSelectedRule([FilterKey.AREA, FilterKey.DEGREE_TYPE])
|
|
17
|
-
];
|
|
18
|
-
constructor(dependencies) {
|
|
19
|
-
super(dependencies);
|
|
20
|
-
this.initateBaseRules();
|
|
21
|
-
}
|
|
22
|
-
async generateUrls() {
|
|
23
|
-
const areaFragments = AreaPresenter.getInstance().getFragments();
|
|
24
|
-
const degreeFragments = DegreePresenter.getInstance().getFragments();
|
|
25
|
-
const paths = [];
|
|
26
|
-
for (const pageNumber of this.indexablePageNumbers) {
|
|
27
|
-
for (const degree of degreeFragments) {
|
|
28
|
-
for (const area of areaFragments) {
|
|
29
|
-
const filterKeyValues = new Map([
|
|
30
|
-
[FilterKey.AREA, [area.id]],
|
|
31
|
-
[FilterKey.COUNTRY, [area.countryId]],
|
|
32
|
-
[FilterKey.DEGREE_TYPE, [degree.id]]
|
|
33
|
-
]);
|
|
34
|
-
const result = await this.checkRulesForSitemapWithPageNumber(filterKeyValues, pageNumber);
|
|
35
|
-
if (result) {
|
|
36
|
-
paths.push(this.getPathWithPageNumber(`${degree.path}/${area.path}`, pageNumber));
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
return paths;
|
|
42
|
-
}
|
|
43
|
-
get filterCombination() {
|
|
44
|
-
return FilterCombinations.DEGREE_AREA;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
-
import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
|
|
3
|
-
import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
|
-
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
5
|
-
import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
|
|
6
|
-
import { IProgrammeSeoDependencies } from '../types/IProgrammeSeoDependencies';
|
|
7
|
-
export declare class DegreeAreaTuitionFee extends ProgrammesBaseIndexabilityPolicy {
|
|
8
|
-
readonly name: string;
|
|
9
|
-
readonly description: string;
|
|
10
|
-
readonly filterKeys: FilterKey[];
|
|
11
|
-
protected readonly rules: (SingleValueSelectedForFilterRule | OnlyFiltersSelectedRule)[];
|
|
12
|
-
constructor(dependencies: IProgrammeSeoDependencies);
|
|
13
|
-
protected generateUrls(): Promise<string[]>;
|
|
14
|
-
get filterCombination(): FilterCombinations;
|
|
15
|
-
}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
-
import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
|
|
3
|
-
import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
|
-
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
5
|
-
import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
|
|
6
|
-
import { AreaPresenter } from '../../presenters/AreaPresenter';
|
|
7
|
-
import { DegreePresenter } from '../../presenters/DegreePresenter';
|
|
8
|
-
import { TuitionFeePresenter } from '../../presenters/TuitionFeePresenter';
|
|
9
|
-
export class DegreeAreaTuitionFee extends ProgrammesBaseIndexabilityPolicy {
|
|
10
|
-
name = 'Degree Area Tuition fee Policy';
|
|
11
|
-
description = 'Controls indexing of pages filtered by geographic areas and tuition fees.';
|
|
12
|
-
filterKeys = [FilterKey.AREA, FilterKey.TUITION_FEE];
|
|
13
|
-
rules = [
|
|
14
|
-
new SingleValueSelectedForFilterRule(FilterKey.AREA),
|
|
15
|
-
new SingleValueSelectedForFilterRule(FilterKey.COUNTRY),
|
|
16
|
-
new SingleValueSelectedForFilterRule(FilterKey.DEGREE_TYPE),
|
|
17
|
-
new SingleValueSelectedForFilterRule(FilterKey.TUITION_FEE),
|
|
18
|
-
new OnlyFiltersSelectedRule([FilterKey.AREA, FilterKey.DEGREE_TYPE, FilterKey.TUITION_FEE])
|
|
19
|
-
];
|
|
20
|
-
constructor(dependencies) {
|
|
21
|
-
super(dependencies);
|
|
22
|
-
this.initateBaseRules();
|
|
23
|
-
}
|
|
24
|
-
async generateUrls() {
|
|
25
|
-
const areaFragments = AreaPresenter.getInstance().getFragments();
|
|
26
|
-
const degreeFragments = DegreePresenter.getInstance().getFragments();
|
|
27
|
-
const tuitionFeeFragments = TuitionFeePresenter.getInstance().getFragments();
|
|
28
|
-
const paths = [];
|
|
29
|
-
for (const pageNumber of this.indexablePageNumbers) {
|
|
30
|
-
for (const degree of degreeFragments) {
|
|
31
|
-
for (const area of areaFragments) {
|
|
32
|
-
for (const tuitionFee of tuitionFeeFragments) {
|
|
33
|
-
const filterKeyValues = new Map([
|
|
34
|
-
[FilterKey.AREA, [area.id]],
|
|
35
|
-
[FilterKey.COUNTRY, [area.countryId]],
|
|
36
|
-
[FilterKey.DEGREE_TYPE, [degree.id]],
|
|
37
|
-
[FilterKey.TUITION_FEE, [tuitionFee.id]]
|
|
38
|
-
]);
|
|
39
|
-
const result = await this.checkRulesForSitemapWithPageNumber(filterKeyValues, pageNumber);
|
|
40
|
-
if (result) {
|
|
41
|
-
paths.push(this.getPathWithPageNumber(`${degree.path}/${area.path}/${tuitionFee.path}`, pageNumber));
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
return paths;
|
|
48
|
-
}
|
|
49
|
-
get filterCombination() {
|
|
50
|
-
return FilterCombinations.DEGREE_AREA_TUITION_FEE;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
-
import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
|
|
3
|
-
import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
|
-
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
5
|
-
import { DegreeAttendanceDisciplineSpecificRule } from '../rules/DegreeAttendanceDisciplineSpecificRule';
|
|
6
|
-
import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
|
|
7
|
-
import { IProgrammeSeoDependencies } from '../types/IProgrammeSeoDependencies';
|
|
8
|
-
import { OnlineAttendanceRule } from '../../common/rules/OnlineAttendanceRule';
|
|
9
|
-
export declare class DegreeAttendanceDiscipline extends ProgrammesBaseIndexabilityPolicy {
|
|
10
|
-
readonly name: string;
|
|
11
|
-
readonly description: string;
|
|
12
|
-
readonly filterKeys: FilterKey[];
|
|
13
|
-
protected readonly rules: (SingleValueSelectedForFilterRule | OnlyFiltersSelectedRule | OnlineAttendanceRule | DegreeAttendanceDisciplineSpecificRule)[];
|
|
14
|
-
constructor(dependencies: IProgrammeSeoDependencies);
|
|
15
|
-
protected generateUrls(): Promise<string[]>;
|
|
16
|
-
get filterCombination(): FilterCombinations;
|
|
17
|
-
}
|