@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,69 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
-
import { DegreeTypeFilterOptionValue } from '@studyportals/search-filters';
|
|
3
|
-
import { BaseProgrammeRule } from '../BaseProgrammeRule';
|
|
4
|
-
export class MasterOfEducationCountryDisciplineRule extends BaseProgrammeRule {
|
|
5
|
-
educationDisciplineIds = [
|
|
6
|
-
'289', // Education & Training (main discipline)
|
|
7
|
-
'290', // Adult Education
|
|
8
|
-
'360', // Art Education
|
|
9
|
-
'291', // Coaching
|
|
10
|
-
'292', // School Counselling
|
|
11
|
-
'333', // Early Childhood Education
|
|
12
|
-
'8', // Education
|
|
13
|
-
'349', // Educational Leadership
|
|
14
|
-
'293', // Educational Psychology
|
|
15
|
-
'98', // Educational Research
|
|
16
|
-
'371', // Health Education
|
|
17
|
-
'363', // Higher Education
|
|
18
|
-
'355', // Instructional Design
|
|
19
|
-
'370', // Literacy Education
|
|
20
|
-
'348', // Primary Education
|
|
21
|
-
'97', // Special Education
|
|
22
|
-
'359', // Secondary Education
|
|
23
|
-
'345', // STEM Education
|
|
24
|
-
'295', // Teaching
|
|
25
|
-
'358' // Teaching English as a Foreign Language
|
|
26
|
-
];
|
|
27
|
-
// Australia (202), Canada (32)
|
|
28
|
-
allowedCountryIds = ['202', '32'];
|
|
29
|
-
getName() {
|
|
30
|
-
return 'MasterOfEducationCountryDisciplineRule';
|
|
31
|
-
}
|
|
32
|
-
getDescription() {
|
|
33
|
-
return 'Indexes: master-of-education (Australia, Canada) + education disciplines only';
|
|
34
|
-
}
|
|
35
|
-
forSearch(dependencies) {
|
|
36
|
-
const { seoInfoBase, filterState } = dependencies;
|
|
37
|
-
const degreeTypeValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DEGREE_TYPE, filterState);
|
|
38
|
-
const countryValue = seoInfoBase.getFilterOptionValueBy(FilterKey.COUNTRY, filterState);
|
|
39
|
-
const disciplineValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DISCIPLINES, filterState);
|
|
40
|
-
if (degreeTypeValue !== DegreeTypeFilterOptionValue.MED) {
|
|
41
|
-
return Promise.resolve(true);
|
|
42
|
-
}
|
|
43
|
-
if (!countryValue || !disciplineValue) {
|
|
44
|
-
return Promise.resolve(false);
|
|
45
|
-
}
|
|
46
|
-
if (!this.allowedCountryIds.includes(countryValue)) {
|
|
47
|
-
return Promise.resolve(false);
|
|
48
|
-
}
|
|
49
|
-
return Promise.resolve(this.educationDisciplineIds.includes(disciplineValue));
|
|
50
|
-
}
|
|
51
|
-
forSitemapGenerator(filterKeyValues) {
|
|
52
|
-
const degreeTypeValues = filterKeyValues.get(FilterKey.DEGREE_TYPE);
|
|
53
|
-
const countryValues = filterKeyValues.get(FilterKey.COUNTRY);
|
|
54
|
-
const disciplineValues = filterKeyValues.get(FilterKey.DISCIPLINES);
|
|
55
|
-
if (!degreeTypeValues?.length || !countryValues?.length || !disciplineValues?.length) {
|
|
56
|
-
return Promise.resolve(false);
|
|
57
|
-
}
|
|
58
|
-
const degreeTypeValue = degreeTypeValues[0];
|
|
59
|
-
const countryValue = countryValues[0];
|
|
60
|
-
const disciplineValue = disciplineValues[0];
|
|
61
|
-
if (degreeTypeValue !== DegreeTypeFilterOptionValue.MED.valueOf()) {
|
|
62
|
-
return Promise.resolve(true);
|
|
63
|
-
}
|
|
64
|
-
if (!this.allowedCountryIds.includes(countryValue)) {
|
|
65
|
-
return Promise.resolve(false);
|
|
66
|
-
}
|
|
67
|
-
return Promise.resolve(this.educationDisciplineIds.includes(disciplineValue));
|
|
68
|
-
}
|
|
69
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { ISearchDependencies } from '../../common/ISearchDependencies';
|
|
2
|
-
import { FilterKeyValuesMap } from '../../common/FilterKeyValuesMap';
|
|
3
|
-
import { BaseProgrammeRule } from '../BaseProgrammeRule';
|
|
4
|
-
export declare class MasterOfLawsCountryAttendanceRule extends BaseProgrammeRule {
|
|
5
|
-
private readonly degreeValue;
|
|
6
|
-
private readonly attendanceValue;
|
|
7
|
-
private readonly allowedCountryIds;
|
|
8
|
-
getName(): string;
|
|
9
|
-
getDescription(): string;
|
|
10
|
-
forSearch(dependencies: ISearchDependencies): Promise<boolean>;
|
|
11
|
-
forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
|
|
12
|
-
}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
-
import { BaseProgrammeRule } from '../BaseProgrammeRule';
|
|
3
|
-
export class MasterOfLawsCountryAttendanceRule extends BaseProgrammeRule {
|
|
4
|
-
degreeValue = 'master-of-laws';
|
|
5
|
-
attendanceValue = 'online';
|
|
6
|
-
allowedCountryIds = ['82', '30', '32', '108'];
|
|
7
|
-
getName() {
|
|
8
|
-
return 'MasterOfLawsCountryAttendanceRule';
|
|
9
|
-
}
|
|
10
|
-
getDescription() {
|
|
11
|
-
return 'Indexes: master-of-laws (USA, UK, Canada, India) + online attendance';
|
|
12
|
-
}
|
|
13
|
-
forSearch(dependencies) {
|
|
14
|
-
const { seoInfoBase, filterState } = dependencies;
|
|
15
|
-
const degreeTypeValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DEGREE_TYPE, filterState);
|
|
16
|
-
const countryValue = seoInfoBase.getFilterOptionValueBy(FilterKey.COUNTRY, filterState);
|
|
17
|
-
const attendanceValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DELIVERY_METHOD, filterState);
|
|
18
|
-
if (degreeTypeValue !== this.degreeValue) {
|
|
19
|
-
return Promise.resolve(true);
|
|
20
|
-
}
|
|
21
|
-
if (!countryValue || !attendanceValue) {
|
|
22
|
-
return Promise.resolve(false);
|
|
23
|
-
}
|
|
24
|
-
return Promise.resolve(this.allowedCountryIds.includes(countryValue) &&
|
|
25
|
-
attendanceValue === this.attendanceValue);
|
|
26
|
-
}
|
|
27
|
-
forSitemapGenerator(filterKeyValues) {
|
|
28
|
-
const degreeTypeValues = filterKeyValues.get(FilterKey.DEGREE_TYPE);
|
|
29
|
-
const countryValues = filterKeyValues.get(FilterKey.COUNTRY);
|
|
30
|
-
const attendanceValues = filterKeyValues.get(FilterKey.DELIVERY_METHOD);
|
|
31
|
-
if (!degreeTypeValues?.length || !countryValues?.length || !attendanceValues?.length) {
|
|
32
|
-
return Promise.resolve(false);
|
|
33
|
-
}
|
|
34
|
-
const degreeTypeValue = degreeTypeValues[0];
|
|
35
|
-
const countryValue = countryValues[0];
|
|
36
|
-
const attendanceValue = attendanceValues[0];
|
|
37
|
-
if (degreeTypeValue !== this.degreeValue) {
|
|
38
|
-
return Promise.resolve(true);
|
|
39
|
-
}
|
|
40
|
-
return Promise.resolve(this.allowedCountryIds.includes(countryValue) &&
|
|
41
|
-
attendanceValue === this.attendanceValue);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { ISearchDependencies } from '../../common/ISearchDependencies';
|
|
2
|
-
import { FilterKeyValuesMap } from '../../common/FilterKeyValuesMap';
|
|
3
|
-
import { BaseProgrammeRule } from '../BaseProgrammeRule';
|
|
4
|
-
export declare class MasterOfLawsCountryTuitionFeeRule extends BaseProgrammeRule {
|
|
5
|
-
private readonly degreeValue;
|
|
6
|
-
private readonly allowedCountryIds;
|
|
7
|
-
private readonly tuitionFeeValue;
|
|
8
|
-
getName(): string;
|
|
9
|
-
getDescription(): string;
|
|
10
|
-
forSearch(dependencies: ISearchDependencies): Promise<boolean>;
|
|
11
|
-
forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
|
|
12
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
-
import { TuitionFeeFilterOptionValue } from '@studyportals/search-filters';
|
|
3
|
-
import { BaseProgrammeRule } from '../BaseProgrammeRule';
|
|
4
|
-
export class MasterOfLawsCountryTuitionFeeRule extends BaseProgrammeRule {
|
|
5
|
-
degreeValue = 'master-of-laws';
|
|
6
|
-
allowedCountryIds = ['82', '30', '32', '108']; // USA, UK, Canada, India
|
|
7
|
-
tuitionFeeValue = TuitionFeeFilterOptionValue.ZERO_TO_TWO_THOUSAND_FIVE_HUNDRED;
|
|
8
|
-
getName() {
|
|
9
|
-
return 'MasterOfLawsCountryTuitionFeeRule';
|
|
10
|
-
}
|
|
11
|
-
getDescription() {
|
|
12
|
-
return 'Indexes: master-of-laws (USA, UK, Canada, India) + affordable tuition (0-2500)';
|
|
13
|
-
}
|
|
14
|
-
forSearch(dependencies) {
|
|
15
|
-
const { seoInfoBase, filterState } = dependencies;
|
|
16
|
-
const degreeTypeValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DEGREE_TYPE, filterState);
|
|
17
|
-
const countryValue = seoInfoBase.getFilterOptionValueBy(FilterKey.COUNTRY, filterState);
|
|
18
|
-
const tuitionFeeValue = seoInfoBase.getFilterOptionValueBy(FilterKey.TUITION_FEE, filterState);
|
|
19
|
-
if (degreeTypeValue !== this.degreeValue) {
|
|
20
|
-
return Promise.resolve(true);
|
|
21
|
-
}
|
|
22
|
-
if (!countryValue || !tuitionFeeValue) {
|
|
23
|
-
return Promise.resolve(false);
|
|
24
|
-
}
|
|
25
|
-
return Promise.resolve(this.allowedCountryIds.includes(countryValue) &&
|
|
26
|
-
tuitionFeeValue === this.tuitionFeeValue);
|
|
27
|
-
}
|
|
28
|
-
forSitemapGenerator(filterKeyValues) {
|
|
29
|
-
const degreeTypeValues = filterKeyValues.get(FilterKey.DEGREE_TYPE);
|
|
30
|
-
const countryValues = filterKeyValues.get(FilterKey.COUNTRY);
|
|
31
|
-
const tuitionFeeValues = filterKeyValues.get(FilterKey.TUITION_FEE);
|
|
32
|
-
if (!degreeTypeValues?.length || !countryValues?.length || !tuitionFeeValues?.length) {
|
|
33
|
-
return Promise.resolve(false);
|
|
34
|
-
}
|
|
35
|
-
const degreeTypeValue = degreeTypeValues[0];
|
|
36
|
-
const countryValue = countryValues[0];
|
|
37
|
-
const tuitionFeeValue = tuitionFeeValues[0];
|
|
38
|
-
// This rule only applies to Master of Laws
|
|
39
|
-
if (degreeTypeValue !== this.degreeValue) {
|
|
40
|
-
return Promise.resolve(true); // Rule doesn't apply to other degrees
|
|
41
|
-
}
|
|
42
|
-
// Must be in allowed countries and have affordable tuition
|
|
43
|
-
return Promise.resolve(this.allowedCountryIds.includes(countryValue) &&
|
|
44
|
-
tuitionFeeValue === this.tuitionFeeValue);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { ISearchDependencies } from '../../common/ISearchDependencies';
|
|
2
|
-
import { FilterKeyValuesMap } from '../../common/FilterKeyValuesMap';
|
|
3
|
-
import { BaseProgrammeRule } from '../BaseProgrammeRule';
|
|
4
|
-
export declare class MasterOfPhilosophyCountryAttendanceRule extends BaseProgrammeRule {
|
|
5
|
-
private readonly degreeValue;
|
|
6
|
-
private readonly attendanceValue;
|
|
7
|
-
private readonly allowedCountryIds;
|
|
8
|
-
getName(): string;
|
|
9
|
-
getDescription(): string;
|
|
10
|
-
forSearch(dependencies: ISearchDependencies): Promise<boolean>;
|
|
11
|
-
forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
|
|
12
|
-
}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
-
import { BaseProgrammeRule } from '../BaseProgrammeRule';
|
|
3
|
-
export class MasterOfPhilosophyCountryAttendanceRule extends BaseProgrammeRule {
|
|
4
|
-
degreeValue = 'master-of-philosophy';
|
|
5
|
-
attendanceValue = 'online';
|
|
6
|
-
allowedCountryIds = ['82', '30', '108']; // USA, UK, India
|
|
7
|
-
getName() {
|
|
8
|
-
return 'MasterOfPhilosophyCountryAttendanceRule';
|
|
9
|
-
}
|
|
10
|
-
getDescription() {
|
|
11
|
-
return 'Indexes: master-of-philosophy (USA, UK, India) + online attendance';
|
|
12
|
-
}
|
|
13
|
-
forSearch(dependencies) {
|
|
14
|
-
const { seoInfoBase, filterState } = dependencies;
|
|
15
|
-
const degreeTypeValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DEGREE_TYPE, filterState);
|
|
16
|
-
const countryValue = seoInfoBase.getFilterOptionValueBy(FilterKey.COUNTRY, filterState);
|
|
17
|
-
const attendanceValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DELIVERY_METHOD, filterState);
|
|
18
|
-
if (degreeTypeValue !== this.degreeValue) {
|
|
19
|
-
return Promise.resolve(true);
|
|
20
|
-
}
|
|
21
|
-
if (!countryValue || !attendanceValue) {
|
|
22
|
-
return Promise.resolve(false);
|
|
23
|
-
}
|
|
24
|
-
return Promise.resolve(this.allowedCountryIds.includes(countryValue) &&
|
|
25
|
-
attendanceValue === this.attendanceValue);
|
|
26
|
-
}
|
|
27
|
-
forSitemapGenerator(filterKeyValues) {
|
|
28
|
-
const degreeTypeValues = filterKeyValues.get(FilterKey.DEGREE_TYPE);
|
|
29
|
-
const countryValues = filterKeyValues.get(FilterKey.COUNTRY);
|
|
30
|
-
const attendanceValues = filterKeyValues.get(FilterKey.DELIVERY_METHOD);
|
|
31
|
-
if (!degreeTypeValues?.length || !countryValues?.length || !attendanceValues?.length) {
|
|
32
|
-
return Promise.resolve(false);
|
|
33
|
-
}
|
|
34
|
-
const degreeTypeValue = degreeTypeValues[0];
|
|
35
|
-
const countryValue = countryValues[0];
|
|
36
|
-
const attendanceValue = attendanceValues[0];
|
|
37
|
-
if (degreeTypeValue !== this.degreeValue) {
|
|
38
|
-
return Promise.resolve(true);
|
|
39
|
-
}
|
|
40
|
-
return Promise.resolve(this.allowedCountryIds.includes(countryValue) &&
|
|
41
|
-
attendanceValue === this.attendanceValue);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { ISearchDependencies } from '../../common/ISearchDependencies';
|
|
2
|
-
import { FilterKeyValuesMap } from '../../common/FilterKeyValuesMap';
|
|
3
|
-
import { BaseProgrammeRule } from '../BaseProgrammeRule';
|
|
4
|
-
export declare class MasterOfScienceDisciplineRule extends BaseProgrammeRule {
|
|
5
|
-
private readonly degreeValue;
|
|
6
|
-
getName(): string;
|
|
7
|
-
getDescription(): string;
|
|
8
|
-
forSearch(dependencies: ISearchDependencies): Promise<boolean>;
|
|
9
|
-
forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
|
|
10
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
-
import { BaseProgrammeRule } from '../BaseProgrammeRule';
|
|
3
|
-
export class MasterOfScienceDisciplineRule extends BaseProgrammeRule {
|
|
4
|
-
// Master of Science accepts all disciplines
|
|
5
|
-
degreeValue = 'master-of-science';
|
|
6
|
-
getName() {
|
|
7
|
-
return 'MasterOfScienceDisciplineRule';
|
|
8
|
-
}
|
|
9
|
-
getDescription() {
|
|
10
|
-
return 'Indexes: master-of-science + all disciplines';
|
|
11
|
-
}
|
|
12
|
-
forSearch(dependencies) {
|
|
13
|
-
const { seoInfoBase, filterState } = dependencies;
|
|
14
|
-
const degreeTypeValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DEGREE_TYPE, filterState);
|
|
15
|
-
const disciplineValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DISCIPLINES, filterState);
|
|
16
|
-
// This rule only applies to Master of Science
|
|
17
|
-
if (degreeTypeValue !== this.degreeValue) {
|
|
18
|
-
return Promise.resolve(true); // Rule doesn't apply to other degrees
|
|
19
|
-
}
|
|
20
|
-
// Must have a discipline selected
|
|
21
|
-
if (!disciplineValue) {
|
|
22
|
-
return Promise.resolve(false);
|
|
23
|
-
}
|
|
24
|
-
// Master of Science accepts all disciplines
|
|
25
|
-
return Promise.resolve(true);
|
|
26
|
-
}
|
|
27
|
-
forSitemapGenerator(filterKeyValues) {
|
|
28
|
-
const degreeTypeValues = filterKeyValues.get(FilterKey.DEGREE_TYPE);
|
|
29
|
-
const disciplineValues = filterKeyValues.get(FilterKey.DISCIPLINES);
|
|
30
|
-
if (!degreeTypeValues?.length || !disciplineValues?.length) {
|
|
31
|
-
return Promise.resolve(false);
|
|
32
|
-
}
|
|
33
|
-
const degreeTypeValue = degreeTypeValues[0];
|
|
34
|
-
// This rule only applies to Master of Science
|
|
35
|
-
if (degreeTypeValue !== this.degreeValue) {
|
|
36
|
-
return Promise.resolve(true); // Rule doesn't apply to other degrees
|
|
37
|
-
}
|
|
38
|
-
// Master of Science accepts all disciplines
|
|
39
|
-
return Promise.resolve(true);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
-
import { DegreeTypeFilterOptionValue } from '@studyportals/search-filters';
|
|
3
|
-
import { BaseProgrammeFilterKeyValueRule } from '../BaseProgrammeFilterKeyValueRule';
|
|
4
|
-
export class MbaDegreeRule extends BaseProgrammeFilterKeyValueRule {
|
|
5
|
-
constructor() {
|
|
6
|
-
const filterKeyValues = new Map([[FilterKey.DEGREE_TYPE, [DegreeTypeFilterOptionValue.MBA]]]);
|
|
7
|
-
super(filterKeyValues);
|
|
8
|
-
}
|
|
9
|
-
getName() {
|
|
10
|
-
return 'MbaDegreeRule';
|
|
11
|
-
}
|
|
12
|
-
getDescription() {
|
|
13
|
-
return 'Is indexable if the selected degree type is MBA.';
|
|
14
|
-
}
|
|
15
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { ISearchDependencies } from '../../common/ISearchDependencies';
|
|
2
|
-
import { FilterKeyValuesMap } from '../../common/FilterKeyValuesMap';
|
|
3
|
-
import { BaseProgrammeRule } from '../BaseProgrammeRule';
|
|
4
|
-
export declare class MbaOrMscDegreeRule extends BaseProgrammeRule {
|
|
5
|
-
forSearch(dependencies: ISearchDependencies): Promise<boolean>;
|
|
6
|
-
forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
|
|
7
|
-
getName(): string;
|
|
8
|
-
getDescription(): string;
|
|
9
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
-
import { DegreeTypeFilterOptionValue } from '@studyportals/search-filters';
|
|
3
|
-
import { BaseProgrammeRule } from '../BaseProgrammeRule';
|
|
4
|
-
export class MbaOrMscDegreeRule extends BaseProgrammeRule {
|
|
5
|
-
forSearch(dependencies) {
|
|
6
|
-
const { seoInfoBase, filterState } = dependencies;
|
|
7
|
-
const selectedDegree = seoInfoBase.getFilterOptionValueBy(FilterKey.DEGREE_TYPE, filterState);
|
|
8
|
-
if (!selectedDegree) {
|
|
9
|
-
return Promise.resolve(false);
|
|
10
|
-
}
|
|
11
|
-
return Promise.resolve(selectedDegree === DegreeTypeFilterOptionValue.MSC || selectedDegree === DegreeTypeFilterOptionValue.MBA);
|
|
12
|
-
}
|
|
13
|
-
forSitemapGenerator(filterKeyValues) {
|
|
14
|
-
const [selectedDegree] = filterKeyValues.get(FilterKey.DEGREE_TYPE);
|
|
15
|
-
if (!selectedDegree) {
|
|
16
|
-
return Promise.resolve(false);
|
|
17
|
-
}
|
|
18
|
-
return Promise.resolve(selectedDegree === DegreeTypeFilterOptionValue.MSC || selectedDegree === DegreeTypeFilterOptionValue.MBA);
|
|
19
|
-
}
|
|
20
|
-
getName() {
|
|
21
|
-
return 'MbaOrMscDegreeRule';
|
|
22
|
-
}
|
|
23
|
-
getDescription() {
|
|
24
|
-
return 'Is indexable if the selected degree type is MBA or MSc.';
|
|
25
|
-
}
|
|
26
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { IProgrammeSearchDependencies } from '../types/IProgrammeSearchDependencies';
|
|
2
|
-
import { PortalType } from '@studyportals/domain-client';
|
|
3
|
-
import { BaseProgrammeRule } from '../BaseProgrammeRule';
|
|
4
|
-
export declare class NotDistanceLearningPortalRule extends BaseProgrammeRule {
|
|
5
|
-
private readonly portalType;
|
|
6
|
-
constructor(portalType?: PortalType);
|
|
7
|
-
forSearch(dependencies: IProgrammeSearchDependencies): Promise<boolean>;
|
|
8
|
-
forSitemapGenerator(): Promise<boolean>;
|
|
9
|
-
getName(): string;
|
|
10
|
-
getDescription(): string;
|
|
11
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { PortalType } from '@studyportals/domain-client';
|
|
2
|
-
import { DependencyMissingError } from '../../errors/DependencyMissingError';
|
|
3
|
-
import { BaseProgrammeRule } from '../BaseProgrammeRule';
|
|
4
|
-
export class NotDistanceLearningPortalRule extends BaseProgrammeRule {
|
|
5
|
-
portalType;
|
|
6
|
-
constructor(portalType) {
|
|
7
|
-
super();
|
|
8
|
-
this.portalType = portalType;
|
|
9
|
-
}
|
|
10
|
-
forSearch(dependencies) {
|
|
11
|
-
const { portalType } = dependencies;
|
|
12
|
-
const isDistanceLearning = portalType === PortalType.DISTANCE_LEARNING;
|
|
13
|
-
return Promise.resolve(!isDistanceLearning);
|
|
14
|
-
}
|
|
15
|
-
forSitemapGenerator() {
|
|
16
|
-
if (!this.portalType) {
|
|
17
|
-
throw new DependencyMissingError('PortalType');
|
|
18
|
-
}
|
|
19
|
-
const isDistanceLearning = this.portalType === PortalType.DISTANCE_LEARNING;
|
|
20
|
-
return Promise.resolve(!isDistanceLearning);
|
|
21
|
-
}
|
|
22
|
-
getName() {
|
|
23
|
-
return 'NotDistanceLearningPortalRule';
|
|
24
|
-
}
|
|
25
|
-
getDescription() {
|
|
26
|
-
return 'Is indexable if the portal type is not distance learning.';
|
|
27
|
-
}
|
|
28
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
-
import { DurationFilterOptionValue } from '@studyportals/search-filters';
|
|
3
|
-
import { BaseProgrammeFilterKeyValueRule } from '../BaseProgrammeFilterKeyValueRule';
|
|
4
|
-
export class OneYearDurationRule extends BaseProgrammeFilterKeyValueRule {
|
|
5
|
-
constructor() {
|
|
6
|
-
const filterKeyValues = new Map([[FilterKey.DURATION, [DurationFilterOptionValue.ONE_YEAR]]]);
|
|
7
|
-
super(filterKeyValues);
|
|
8
|
-
}
|
|
9
|
-
getName() {
|
|
10
|
-
return 'OneYearDurationRule';
|
|
11
|
-
}
|
|
12
|
-
getDescription() {
|
|
13
|
-
return 'Is indexable if the selected duration is 1 year.';
|
|
14
|
-
}
|
|
15
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { ISearchDependencies } from '../../common/ISearchDependencies';
|
|
2
|
-
import { FilterKeyValuesMap } from '../../common/FilterKeyValuesMap';
|
|
3
|
-
import { BaseProgrammeRule } from '../BaseProgrammeRule';
|
|
4
|
-
export declare class OneYearOnlyRule extends BaseProgrammeRule {
|
|
5
|
-
constructor();
|
|
6
|
-
forSearch(dependencies: ISearchDependencies): Promise<boolean>;
|
|
7
|
-
forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
|
|
8
|
-
getName(): string;
|
|
9
|
-
getDescription(): string;
|
|
10
|
-
private isOneYear;
|
|
11
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
-
import { DurationFilterOptionValue } from '@studyportals/search-filters';
|
|
3
|
-
import { BaseProgrammeRule } from '../BaseProgrammeRule';
|
|
4
|
-
export class OneYearOnlyRule extends BaseProgrammeRule {
|
|
5
|
-
constructor() {
|
|
6
|
-
super();
|
|
7
|
-
}
|
|
8
|
-
forSearch(dependencies) {
|
|
9
|
-
const { seoInfoBase, filterState } = dependencies;
|
|
10
|
-
const selectedDuration = seoInfoBase.getFilterOptionValueBy(FilterKey.DURATION, filterState);
|
|
11
|
-
if (!selectedDuration) {
|
|
12
|
-
return Promise.resolve(false);
|
|
13
|
-
}
|
|
14
|
-
const isOneYear = this.isOneYear(selectedDuration);
|
|
15
|
-
return Promise.resolve(isOneYear);
|
|
16
|
-
}
|
|
17
|
-
forSitemapGenerator(filterKeyValues) {
|
|
18
|
-
const [selectedDuration] = filterKeyValues.get(FilterKey.DURATION);
|
|
19
|
-
if (!selectedDuration) {
|
|
20
|
-
return Promise.resolve(false);
|
|
21
|
-
}
|
|
22
|
-
const isOneYear = this.isOneYear(selectedDuration);
|
|
23
|
-
return Promise.resolve(isOneYear);
|
|
24
|
-
}
|
|
25
|
-
getName() {
|
|
26
|
-
return 'OneYearOnlyRule';
|
|
27
|
-
}
|
|
28
|
-
getDescription() {
|
|
29
|
-
return 'Indexable only if duration is exactly 1 year ([360,360]).';
|
|
30
|
-
}
|
|
31
|
-
isOneYear(value) {
|
|
32
|
-
return value === DurationFilterOptionValue.ONE_YEAR;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
-
import { AttendanceFilterOptionValue } from '@studyportals/search-filters';
|
|
3
|
-
import { BaseProgrammeFilterKeyValueRule } from '../BaseProgrammeFilterKeyValueRule';
|
|
4
|
-
export class OnlineAttendanceRule extends BaseProgrammeFilterKeyValueRule {
|
|
5
|
-
constructor() {
|
|
6
|
-
const filterKeyValues = new Map([[FilterKey.DELIVERY_METHOD, [AttendanceFilterOptionValue.ONLINE]]]);
|
|
7
|
-
super(filterKeyValues);
|
|
8
|
-
}
|
|
9
|
-
getName() {
|
|
10
|
-
return 'OnlineAttendanceRule';
|
|
11
|
-
}
|
|
12
|
-
getDescription() {
|
|
13
|
-
return 'Is indexable if the selected attendance is online.';
|
|
14
|
-
}
|
|
15
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
-
import { FormatFilterOptionValue } from '@studyportals/search-filters';
|
|
3
|
-
import { BaseProgrammeFilterKeyValueRule } from '../BaseProgrammeFilterKeyValueRule';
|
|
4
|
-
export class PartTimeFormatRule extends BaseProgrammeFilterKeyValueRule {
|
|
5
|
-
constructor() {
|
|
6
|
-
const filterKeyValues = new Map([[FilterKey.ATTENDANCE, [FormatFilterOptionValue.PART_TIME]]]);
|
|
7
|
-
super(filterKeyValues);
|
|
8
|
-
}
|
|
9
|
-
getName() {
|
|
10
|
-
return 'PartTimeFormatRule';
|
|
11
|
-
}
|
|
12
|
-
getDescription() {
|
|
13
|
-
return 'Is indexable if the selected format is part-time.';
|
|
14
|
-
}
|
|
15
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { ISearchDependencies } from '../../common/ISearchDependencies';
|
|
2
|
-
import { IProgrammeSearchApplicationState } from './IProgrammeSearchApplicationState';
|
|
3
|
-
import { PortalType } from '@studyportals/domain-client';
|
|
4
|
-
export interface IProgrammeSearchDependencies extends ISearchDependencies {
|
|
5
|
-
portalType: PortalType;
|
|
6
|
-
applicationState: IProgrammeSearchApplicationState;
|
|
7
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { ISitemapDependencies } from '../../common/ISitemapDependencies';
|
|
2
|
-
import { PortalType } from '@studyportals/domain-client';
|
|
3
|
-
import { ISearchApiClient } from '../../../sitemap-generator-seo';
|
|
4
|
-
export interface IProgrammeSitemapDependencies extends ISitemapDependencies {
|
|
5
|
-
portalType: PortalType;
|
|
6
|
-
searchApiClient: ISearchApiClient;
|
|
7
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { ISeoIndexabilityPolicy } from '../common/ISeoIndexabilityPolicy';
|
|
2
|
-
import { ISeoInfoBase } from '../common/ISeoInfoBase';
|
|
3
|
-
import { ISeoFilterState } from '../common/ISeoFilterState';
|
|
4
|
-
import { ISearchApplicationState } from '../common/ISearchApplicationState';
|
|
5
|
-
import { ISearchIndexabilityManager } from '../common/ISearchIndexabilityManager';
|
|
6
|
-
export declare class SearchIndexabilityManager implements ISearchIndexabilityManager {
|
|
7
|
-
private policies;
|
|
8
|
-
constructor(seoInfoBase: ISeoInfoBase, filterState: ISeoFilterState, applicationState: ISearchApplicationState);
|
|
9
|
-
shouldIndex(): Promise<boolean>;
|
|
10
|
-
getPolicies(): ISeoIndexabilityPolicy[];
|
|
11
|
-
}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { Area } from './policies/Area';
|
|
2
|
-
import { Country } from './policies/Country';
|
|
3
|
-
import { DisciplineCountry } from './policies/DisciplineCountry';
|
|
4
|
-
import { Discipline } from './policies/Discipline';
|
|
5
|
-
import { UniversityCountry } from './policies/UniversityCountry';
|
|
6
|
-
import { Unfiltered } from './policies/Unfiltered';
|
|
7
|
-
import { DependencyTypes } from '../enums/DependencyTypes';
|
|
8
|
-
export class SearchIndexabilityManager {
|
|
9
|
-
policies;
|
|
10
|
-
constructor(seoInfoBase, filterState, applicationState) {
|
|
11
|
-
const dependencies = {
|
|
12
|
-
dependencyType: DependencyTypes.SEARCH,
|
|
13
|
-
seoInfoBase,
|
|
14
|
-
filterState,
|
|
15
|
-
applicationState
|
|
16
|
-
};
|
|
17
|
-
this.policies = [
|
|
18
|
-
new Area(dependencies),
|
|
19
|
-
new Country(dependencies),
|
|
20
|
-
new DisciplineCountry(dependencies),
|
|
21
|
-
new Discipline(dependencies),
|
|
22
|
-
new UniversityCountry(dependencies),
|
|
23
|
-
new Unfiltered(dependencies)
|
|
24
|
-
];
|
|
25
|
-
}
|
|
26
|
-
async shouldIndex() {
|
|
27
|
-
const results = await Promise.all(this.policies.map((policy) => policy.shouldIndex()));
|
|
28
|
-
return results.some((result) => result);
|
|
29
|
-
}
|
|
30
|
-
getPolicies() {
|
|
31
|
-
return this.policies;
|
|
32
|
-
}
|
|
33
|
-
}
|