@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,59 +0,0 @@
|
|
|
1
|
-
export * from './Area';
|
|
2
|
-
export * from './Attendance';
|
|
3
|
-
export * from './AttendanceDegree';
|
|
4
|
-
export * from './Continent';
|
|
5
|
-
export * from './ContinentTuitionFee';
|
|
6
|
-
export * from './Country';
|
|
7
|
-
export * from './CountryAttendance';
|
|
8
|
-
export * from './CountryAttendanceDegree';
|
|
9
|
-
export * from './CountryDegree';
|
|
10
|
-
export * from './CountryDuration';
|
|
11
|
-
export * from './CountryDurationDegree';
|
|
12
|
-
export * from './CountryEducationalForm';
|
|
13
|
-
export * from './CountryFormat';
|
|
14
|
-
export * from './CountryTuitionFee';
|
|
15
|
-
export * from './DegreeAttendanceDiscipline';
|
|
16
|
-
export * from './DegreeCountryAttendance';
|
|
17
|
-
export * from './DegreeCountryDiscipline';
|
|
18
|
-
export * from './DegreeCountryTuitionFee';
|
|
19
|
-
export * from './DisciplineDegree';
|
|
20
|
-
export * from './Discipline';
|
|
21
|
-
export * from './DisciplineAttendance';
|
|
22
|
-
export * from './DisciplineContinent';
|
|
23
|
-
export * from './DisciplineCountry';
|
|
24
|
-
export * from './DisciplineCountryEducationalForm';
|
|
25
|
-
export * from './DisciplineDegree';
|
|
26
|
-
export * from './DisciplineDuration';
|
|
27
|
-
export * from './DisciplineEducationalForm';
|
|
28
|
-
export * from './DisciplineFormat';
|
|
29
|
-
export * from './DisciplineTuitionFee';
|
|
30
|
-
export * from './DisciplineTuitionFeeAttendance';
|
|
31
|
-
export * from './SpecialProgrammes';
|
|
32
|
-
export * from './TuitionFee';
|
|
33
|
-
export * from './Unfiltered';
|
|
34
|
-
export * from './Format';
|
|
35
|
-
export * from './DegreeFormat';
|
|
36
|
-
export * from './DegreeAttendanceTuitionFee';
|
|
37
|
-
export * from './DegreeArea';
|
|
38
|
-
export * from './DegreeTuitionFee';
|
|
39
|
-
export * from './DegreeAttendanceTuitionFee';
|
|
40
|
-
export * from './DegreeContinent';
|
|
41
|
-
export * from './AttendanceTuitionFee';
|
|
42
|
-
export * from './Duration';
|
|
43
|
-
export * from './AttendanceDuration';
|
|
44
|
-
export * from './DegreeAreaTuitionFee';
|
|
45
|
-
export * from './DisciplineContinentAttendance';
|
|
46
|
-
export * from './DegreeContinentTuitionFee';
|
|
47
|
-
export * from './AttendanceFormat';
|
|
48
|
-
export * from './ContinentFormat';
|
|
49
|
-
export * from './AttendanceContinent';
|
|
50
|
-
export * from './DegreeDuration';
|
|
51
|
-
export * from './ContinentSpecialProgrammes';
|
|
52
|
-
export * from './CountrySpecialProgrammes';
|
|
53
|
-
export * from './AttendanceArea';
|
|
54
|
-
export * from './DegreeFormatTuitionFee';
|
|
55
|
-
export * from './ContinentDuration';
|
|
56
|
-
export * from './DegreeAttendanceFormat';
|
|
57
|
-
export * from './DisciplineCountryAttendance';
|
|
58
|
-
export * from './DisciplineCountryFormat';
|
|
59
|
-
export * from './DegreeSpecialProgrammes';
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
-
import { TuitionFeeFilterOptionValue } from '@studyportals/search-filters';
|
|
3
|
-
import { BaseProgrammeFilterKeyValueRule } from '../BaseProgrammeFilterKeyValueRule';
|
|
4
|
-
export class AffordableTuitionFeeRule extends BaseProgrammeFilterKeyValueRule {
|
|
5
|
-
constructor() {
|
|
6
|
-
const filterKeyValues = new Map([
|
|
7
|
-
[FilterKey.TUITION_FEE, [TuitionFeeFilterOptionValue.ZERO_TO_TWO_THOUSAND_FIVE_HUNDRED]]
|
|
8
|
-
]);
|
|
9
|
-
super(filterKeyValues);
|
|
10
|
-
}
|
|
11
|
-
getName() {
|
|
12
|
-
return 'AffordableTuitionFeeRule';
|
|
13
|
-
}
|
|
14
|
-
getDescription() {
|
|
15
|
-
return 'Is indexable if the selected tuition fee is affordable (between 0 and 2500).';
|
|
16
|
-
}
|
|
17
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { ISearchDependencies } from '../../common/ISearchDependencies';
|
|
2
|
-
import { FilterKeyValuesMap } from '../../common/FilterKeyValuesMap';
|
|
3
|
-
import { ISearchApiClient } from '../../sitemap-generator/ISearchApiClient';
|
|
4
|
-
import { IProgrammeRule } from '../IProgrammeRule';
|
|
5
|
-
export declare class AtLeastSevenResultsRule implements IProgrammeRule {
|
|
6
|
-
private readonly minimumResultsCount;
|
|
7
|
-
private readonly maximumPageSize;
|
|
8
|
-
private readonly searchApiClient?;
|
|
9
|
-
constructor(searchApiClient?: ISearchApiClient);
|
|
10
|
-
forSearch(dependencies: ISearchDependencies): Promise<boolean>;
|
|
11
|
-
forSitemapGeneratorWithPageNumber(filterKeyValues: FilterKeyValuesMap, pageNumber: number): Promise<boolean>;
|
|
12
|
-
forSitemapGenerator(): Promise<boolean>;
|
|
13
|
-
getName(): string;
|
|
14
|
-
getDescription(): string;
|
|
15
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { DependencyMissingError } from '../../errors/DependencyMissingError';
|
|
2
|
-
export class AtLeastSevenResultsRule {
|
|
3
|
-
minimumResultsCount = 7;
|
|
4
|
-
maximumPageSize = 20;
|
|
5
|
-
searchApiClient;
|
|
6
|
-
constructor(searchApiClient) {
|
|
7
|
-
this.searchApiClient = searchApiClient;
|
|
8
|
-
}
|
|
9
|
-
forSearch(dependencies) {
|
|
10
|
-
const { applicationState } = dependencies;
|
|
11
|
-
const resultCount = applicationState.getNumberOfResults();
|
|
12
|
-
return Promise.resolve(resultCount >= this.minimumResultsCount);
|
|
13
|
-
}
|
|
14
|
-
async forSitemapGeneratorWithPageNumber(filterKeyValues, pageNumber) {
|
|
15
|
-
if (!this.searchApiClient) {
|
|
16
|
-
throw new DependencyMissingError('SearchApiClient');
|
|
17
|
-
}
|
|
18
|
-
const count = await this.searchApiClient.getProgrammeCount(filterKeyValues);
|
|
19
|
-
return count >= (pageNumber - 1) * this.maximumPageSize + this.minimumResultsCount;
|
|
20
|
-
}
|
|
21
|
-
forSitemapGenerator() {
|
|
22
|
-
throw new Error('Method not implemented.');
|
|
23
|
-
}
|
|
24
|
-
getName() {
|
|
25
|
-
return 'AtLeastSevenResultsRule';
|
|
26
|
-
}
|
|
27
|
-
getDescription() {
|
|
28
|
-
return 'Is indexable if there are at least 7 results.';
|
|
29
|
-
}
|
|
30
|
-
}
|
|
@@ -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 DegreeAttendanceDisciplineRule extends BaseProgrammeRule {
|
|
5
|
-
private readonly allowedDegrees;
|
|
6
|
-
private readonly attendanceValue;
|
|
7
|
-
getName(): string;
|
|
8
|
-
getDescription(): string;
|
|
9
|
-
forSearch(dependencies: ISearchDependencies): Promise<boolean>;
|
|
10
|
-
forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
|
|
11
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
-
import { DegreeTypeFilterOptionValue } from '@studyportals/search-filters';
|
|
3
|
-
import { BaseProgrammeRule } from '../BaseProgrammeRule';
|
|
4
|
-
export class DegreeAttendanceDisciplineRule extends BaseProgrammeRule {
|
|
5
|
-
allowedDegrees = [
|
|
6
|
-
DegreeTypeFilterOptionValue.MA,
|
|
7
|
-
DegreeTypeFilterOptionValue.MSC,
|
|
8
|
-
DegreeTypeFilterOptionValue.MBA
|
|
9
|
-
].map(id => id.valueOf());
|
|
10
|
-
attendanceValue = 'online';
|
|
11
|
-
getName() {
|
|
12
|
-
return 'DegreeAttendanceDisciplineRule';
|
|
13
|
-
}
|
|
14
|
-
getDescription() {
|
|
15
|
-
return 'Indexes: master-of-arts (online) + all disciplines; master-of-science (online) + all disciplines; master-of-business-administration (online) + all disciplines';
|
|
16
|
-
}
|
|
17
|
-
forSearch(dependencies) {
|
|
18
|
-
const { seoInfoBase, filterState } = dependencies;
|
|
19
|
-
const degreeTypeValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DEGREE_TYPE, filterState);
|
|
20
|
-
const attendanceValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DELIVERY_METHOD, filterState);
|
|
21
|
-
const disciplineValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DISCIPLINES, filterState);
|
|
22
|
-
if (!degreeTypeValue || !attendanceValue || !this.allowedDegrees.includes(degreeTypeValue) || attendanceValue !== this.attendanceValue) {
|
|
23
|
-
return Promise.resolve(true);
|
|
24
|
-
}
|
|
25
|
-
if (!disciplineValue) {
|
|
26
|
-
return Promise.resolve(false);
|
|
27
|
-
}
|
|
28
|
-
return Promise.resolve(true);
|
|
29
|
-
}
|
|
30
|
-
forSitemapGenerator(filterKeyValues) {
|
|
31
|
-
const degreeTypeValues = filterKeyValues.get(FilterKey.DEGREE_TYPE);
|
|
32
|
-
const attendanceValues = filterKeyValues.get(FilterKey.DELIVERY_METHOD);
|
|
33
|
-
const disciplineValues = filterKeyValues.get(FilterKey.DISCIPLINES);
|
|
34
|
-
if (!degreeTypeValues?.length || !attendanceValues?.length || !disciplineValues?.length) {
|
|
35
|
-
return Promise.resolve(false);
|
|
36
|
-
}
|
|
37
|
-
const degreeTypeValue = degreeTypeValues[0];
|
|
38
|
-
const attendanceValue = attendanceValues[0];
|
|
39
|
-
if (!degreeTypeValue || !attendanceValue || !this.allowedDegrees.includes(degreeTypeValue) || attendanceValue !== this.attendanceValue) {
|
|
40
|
-
return Promise.resolve(true);
|
|
41
|
-
}
|
|
42
|
-
return Promise.resolve(true);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
@@ -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 DegreeAttendanceDisciplineSpecificRule extends BaseProgrammeRule {
|
|
5
|
-
private readonly allowedDegrees;
|
|
6
|
-
private readonly allowedAttendance;
|
|
7
|
-
getName(): string;
|
|
8
|
-
getDescription(): string;
|
|
9
|
-
forSearch(dependencies: ISearchDependencies): Promise<boolean>;
|
|
10
|
-
forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
|
|
11
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
-
import { DegreeTypeFilterOptionValue } from '@studyportals/search-filters';
|
|
3
|
-
import { BaseProgrammeRule } from '../BaseProgrammeRule';
|
|
4
|
-
export class DegreeAttendanceDisciplineSpecificRule extends BaseProgrammeRule {
|
|
5
|
-
allowedDegrees = [
|
|
6
|
-
DegreeTypeFilterOptionValue.MSC,
|
|
7
|
-
DegreeTypeFilterOptionValue.MA,
|
|
8
|
-
DegreeTypeFilterOptionValue.MBA
|
|
9
|
-
];
|
|
10
|
-
allowedAttendance = 'online';
|
|
11
|
-
getName() {
|
|
12
|
-
return 'DegreeAttendanceDisciplineSpecificRule';
|
|
13
|
-
}
|
|
14
|
-
getDescription() {
|
|
15
|
-
return 'Only allows MSc, MA, and MBA degrees with online attendance for attendance+discipline combinations';
|
|
16
|
-
}
|
|
17
|
-
forSearch(dependencies) {
|
|
18
|
-
const { seoInfoBase, filterState } = dependencies;
|
|
19
|
-
const degreeTypeValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DEGREE_TYPE, filterState);
|
|
20
|
-
const attendanceValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DELIVERY_METHOD, filterState);
|
|
21
|
-
const disciplineValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DISCIPLINES, filterState);
|
|
22
|
-
if (!degreeTypeValue || !attendanceValue || !disciplineValue) {
|
|
23
|
-
return Promise.resolve(false);
|
|
24
|
-
}
|
|
25
|
-
return Promise.resolve(this.allowedDegrees.includes(degreeTypeValue) &&
|
|
26
|
-
attendanceValue === this.allowedAttendance);
|
|
27
|
-
}
|
|
28
|
-
forSitemapGenerator(filterKeyValues) {
|
|
29
|
-
const degreeTypeValues = filterKeyValues.get(FilterKey.DEGREE_TYPE);
|
|
30
|
-
const attendanceValues = filterKeyValues.get(FilterKey.DELIVERY_METHOD);
|
|
31
|
-
if (!degreeTypeValues?.length || !attendanceValues?.length) {
|
|
32
|
-
return Promise.resolve(false);
|
|
33
|
-
}
|
|
34
|
-
const degreeTypeValue = degreeTypeValues[0];
|
|
35
|
-
const attendanceValue = attendanceValues[0];
|
|
36
|
-
return Promise.resolve(this.allowedDegrees.includes(degreeTypeValue) &&
|
|
37
|
-
attendanceValue === this.allowedAttendance);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
@@ -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 DegreeAttendanceSpecificRule extends BaseProgrammeRule {
|
|
5
|
-
private readonly validCombinations;
|
|
6
|
-
getName(): string;
|
|
7
|
-
getDescription(): string;
|
|
8
|
-
forSearch(dependencies: ISearchDependencies): Promise<boolean>;
|
|
9
|
-
forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
|
|
10
|
-
}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
-
import { BaseProgrammeRule } from '../BaseProgrammeRule';
|
|
3
|
-
export class DegreeAttendanceSpecificRule extends BaseProgrammeRule {
|
|
4
|
-
validCombinations = {
|
|
5
|
-
'master-of-science': ['online'], // MSc with online attendance
|
|
6
|
-
'master-of-arts': ['online'], // MA with online attendance
|
|
7
|
-
'master-of-business-administration': ['online'] // MBA with online attendance
|
|
8
|
-
};
|
|
9
|
-
getName() {
|
|
10
|
-
return 'DegreeAttendanceSpecificRule';
|
|
11
|
-
}
|
|
12
|
-
getDescription() {
|
|
13
|
-
return 'Indexes: master-of-science (online); master-of-arts (online); master-of-business-administration (online)';
|
|
14
|
-
}
|
|
15
|
-
forSearch(dependencies) {
|
|
16
|
-
const { seoInfoBase, filterState } = dependencies;
|
|
17
|
-
const degreeTypeValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DEGREE_TYPE, filterState);
|
|
18
|
-
const attendanceValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DELIVERY_METHOD, filterState);
|
|
19
|
-
if (!degreeTypeValue || !attendanceValue) {
|
|
20
|
-
return Promise.resolve(false);
|
|
21
|
-
}
|
|
22
|
-
const allowedAttendance = this.validCombinations[degreeTypeValue];
|
|
23
|
-
if (!allowedAttendance) {
|
|
24
|
-
return Promise.resolve(false);
|
|
25
|
-
}
|
|
26
|
-
return Promise.resolve(allowedAttendance.includes(attendanceValue));
|
|
27
|
-
}
|
|
28
|
-
forSitemapGenerator(filterKeyValues) {
|
|
29
|
-
const degreeTypeValues = filterKeyValues.get(FilterKey.DEGREE_TYPE);
|
|
30
|
-
const attendanceValues = filterKeyValues.get(FilterKey.DELIVERY_METHOD);
|
|
31
|
-
if (!degreeTypeValues?.length || !attendanceValues?.length) {
|
|
32
|
-
return Promise.resolve(false);
|
|
33
|
-
}
|
|
34
|
-
const degreeTypeValue = degreeTypeValues[0];
|
|
35
|
-
const attendanceValue = attendanceValues[0];
|
|
36
|
-
const allowedAttendance = this.validCombinations[degreeTypeValue];
|
|
37
|
-
if (!allowedAttendance) {
|
|
38
|
-
return Promise.resolve(false);
|
|
39
|
-
}
|
|
40
|
-
return Promise.resolve(allowedAttendance.includes(attendanceValue));
|
|
41
|
-
}
|
|
42
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { ISearchDependencies } from '../../common/ISearchDependencies';
|
|
2
|
-
import { FilterKeyValuesMap } from '../../common/FilterKeyValuesMap';
|
|
3
|
-
import { BaseProgrammeRule } from '../BaseProgrammeRule';
|
|
4
|
-
export declare class DegreeCountryAttendanceSpecificRule extends BaseProgrammeRule {
|
|
5
|
-
private mba;
|
|
6
|
-
private readonly countryIdsByDegree;
|
|
7
|
-
getName(): string;
|
|
8
|
-
getDescription(): string;
|
|
9
|
-
forSearch(dependencies: ISearchDependencies): Promise<boolean>;
|
|
10
|
-
forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
|
|
11
|
-
private isValidForMbaDegree;
|
|
12
|
-
private isValidForMphilDegree;
|
|
13
|
-
private isValidForLlmDegree;
|
|
14
|
-
}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { AttendanceFilterOptionValue, FilterKey } from '@studyportals/search-filters';
|
|
2
|
-
import { DegreeTypeFilterOptionValue } from '@studyportals/search-filters';
|
|
3
|
-
import { BaseProgrammeRule } from '../BaseProgrammeRule';
|
|
4
|
-
export class DegreeCountryAttendanceSpecificRule extends BaseProgrammeRule {
|
|
5
|
-
mba = DegreeTypeFilterOptionValue.MBA.valueOf();
|
|
6
|
-
countryIdsByDegree = {
|
|
7
|
-
[DegreeTypeFilterOptionValue.LLM.valueOf()]: ['82', '30', '56', '108'],
|
|
8
|
-
[DegreeTypeFilterOptionValue.MPHIL.valueOf()]: ['82', '30', '108'],
|
|
9
|
-
};
|
|
10
|
-
getName() {
|
|
11
|
-
return 'DegreeCountryAttendanceSpecificRule';
|
|
12
|
-
}
|
|
13
|
-
getDescription() {
|
|
14
|
-
return 'Only allows MBA, LLM, and MPhil degrees for country+attendance combinations';
|
|
15
|
-
}
|
|
16
|
-
forSearch(dependencies) {
|
|
17
|
-
const { seoInfoBase, filterState } = dependencies;
|
|
18
|
-
const degreeTypeValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DEGREE_TYPE, filterState);
|
|
19
|
-
const countryValue = seoInfoBase.getFilterOptionValueBy(FilterKey.COUNTRY, filterState);
|
|
20
|
-
const attendanceValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DELIVERY_METHOD, filterState);
|
|
21
|
-
if (!degreeTypeValue || !countryValue || !attendanceValue) {
|
|
22
|
-
return Promise.resolve(false);
|
|
23
|
-
}
|
|
24
|
-
if (attendanceValue !== AttendanceFilterOptionValue.ONLINE) {
|
|
25
|
-
return Promise.resolve(false);
|
|
26
|
-
}
|
|
27
|
-
if (this.isValidForMbaDegree(degreeTypeValue)) {
|
|
28
|
-
return Promise.resolve(true);
|
|
29
|
-
}
|
|
30
|
-
if (this.isValidForMphilDegree(degreeTypeValue, countryValue)) {
|
|
31
|
-
return Promise.resolve(true);
|
|
32
|
-
}
|
|
33
|
-
if (this.isValidForLlmDegree(degreeTypeValue, countryValue)) {
|
|
34
|
-
return Promise.resolve(true);
|
|
35
|
-
}
|
|
36
|
-
return Promise.resolve(false);
|
|
37
|
-
}
|
|
38
|
-
forSitemapGenerator(filterKeyValues) {
|
|
39
|
-
const degreeTypeValues = filterKeyValues.get(FilterKey.DEGREE_TYPE);
|
|
40
|
-
const countryValues = filterKeyValues.get(FilterKey.COUNTRY);
|
|
41
|
-
const attendanceValues = filterKeyValues.get(FilterKey.DELIVERY_METHOD);
|
|
42
|
-
if (!degreeTypeValues?.length || !countryValues?.length || !attendanceValues?.length) {
|
|
43
|
-
return Promise.resolve(false);
|
|
44
|
-
}
|
|
45
|
-
const degreeTypeValue = degreeTypeValues[0];
|
|
46
|
-
const countryValue = countryValues[0];
|
|
47
|
-
const attendanceValue = attendanceValues[0];
|
|
48
|
-
if (!degreeTypeValue || !countryValue || !attendanceValue) {
|
|
49
|
-
return Promise.resolve(false);
|
|
50
|
-
}
|
|
51
|
-
if (attendanceValue !== AttendanceFilterOptionValue.ONLINE) {
|
|
52
|
-
return Promise.resolve(false);
|
|
53
|
-
}
|
|
54
|
-
if (this.isValidForMbaDegree(degreeTypeValue)) {
|
|
55
|
-
return Promise.resolve(true);
|
|
56
|
-
}
|
|
57
|
-
if (this.isValidForMphilDegree(degreeTypeValue, countryValue)) {
|
|
58
|
-
return Promise.resolve(true);
|
|
59
|
-
}
|
|
60
|
-
if (this.isValidForLlmDegree(degreeTypeValue, countryValue)) {
|
|
61
|
-
return Promise.resolve(true);
|
|
62
|
-
}
|
|
63
|
-
return Promise.resolve(false);
|
|
64
|
-
}
|
|
65
|
-
isValidForMbaDegree(degreeTypeValue) {
|
|
66
|
-
return degreeTypeValue === this.mba;
|
|
67
|
-
}
|
|
68
|
-
isValidForMphilDegree(degreeTypeValue, countryValue) {
|
|
69
|
-
return degreeTypeValue === DegreeTypeFilterOptionValue.MPHIL.valueOf() &&
|
|
70
|
-
this.countryIdsByDegree[DegreeTypeFilterOptionValue.MPHIL.valueOf()].includes(countryValue);
|
|
71
|
-
}
|
|
72
|
-
isValidForLlmDegree(degreeTypeValue, countryValue) {
|
|
73
|
-
return degreeTypeValue === DegreeTypeFilterOptionValue.LLM.valueOf() &&
|
|
74
|
-
this.countryIdsByDegree[DegreeTypeFilterOptionValue.LLM.valueOf()].includes(countryValue);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
@@ -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 DegreeCountryDisciplineSpecificRule extends BaseProgrammeRule {
|
|
5
|
-
private readonly educationDisciplineIds;
|
|
6
|
-
private readonly validCombinations;
|
|
7
|
-
getName(): string;
|
|
8
|
-
getDescription(): string;
|
|
9
|
-
forSearch(dependencies: ISearchDependencies): Promise<boolean>;
|
|
10
|
-
forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
|
|
11
|
-
}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
-
import { DegreeTypeFilterOptionValue } from '@studyportals/search-filters';
|
|
3
|
-
import { BaseProgrammeRule } from '../BaseProgrammeRule';
|
|
4
|
-
export class DegreeCountryDisciplineSpecificRule 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
|
-
validCombinations = {
|
|
28
|
-
[DegreeTypeFilterOptionValue.MSC]: ['82', '56', '11', '30'],
|
|
29
|
-
[DegreeTypeFilterOptionValue.MBA]: ['82', '30'],
|
|
30
|
-
[DegreeTypeFilterOptionValue.MED]: ['202', '56']
|
|
31
|
-
};
|
|
32
|
-
getName() {
|
|
33
|
-
return 'DegreeCountrySpecificRule';
|
|
34
|
-
}
|
|
35
|
-
getDescription() {
|
|
36
|
-
return 'Indexes: master-of-science (USA, Canada, Germany, UK); master-of-business-administration (USA, UK); master-of-education (Australia, Canada)';
|
|
37
|
-
}
|
|
38
|
-
forSearch(dependencies) {
|
|
39
|
-
const { seoInfoBase, filterState } = dependencies;
|
|
40
|
-
const degreeTypeValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DEGREE_TYPE, filterState);
|
|
41
|
-
const countryValue = seoInfoBase.getFilterOptionValueBy(FilterKey.COUNTRY, filterState);
|
|
42
|
-
const disciplineValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DISCIPLINES, filterState);
|
|
43
|
-
if (!degreeTypeValue || !countryValue || !disciplineValue) {
|
|
44
|
-
return Promise.resolve(false);
|
|
45
|
-
}
|
|
46
|
-
const allowedCountries = this.validCombinations[degreeTypeValue];
|
|
47
|
-
if (!allowedCountries) {
|
|
48
|
-
return Promise.resolve(false);
|
|
49
|
-
}
|
|
50
|
-
if (degreeTypeValue === DegreeTypeFilterOptionValue.MED) {
|
|
51
|
-
return Promise.resolve(allowedCountries.includes(countryValue) &&
|
|
52
|
-
this.educationDisciplineIds.includes(disciplineValue));
|
|
53
|
-
}
|
|
54
|
-
return Promise.resolve(allowedCountries.includes(countryValue));
|
|
55
|
-
}
|
|
56
|
-
forSitemapGenerator(filterKeyValues) {
|
|
57
|
-
const degreeTypeValues = filterKeyValues.get(FilterKey.DEGREE_TYPE);
|
|
58
|
-
const countryValues = filterKeyValues.get(FilterKey.COUNTRY);
|
|
59
|
-
const disciplineValues = filterKeyValues.get(FilterKey.DISCIPLINES);
|
|
60
|
-
if (!degreeTypeValues?.length || !countryValues?.length || !disciplineValues?.length) {
|
|
61
|
-
return Promise.resolve(false);
|
|
62
|
-
}
|
|
63
|
-
const degreeTypeValue = degreeTypeValues[0];
|
|
64
|
-
const countryValue = countryValues[0];
|
|
65
|
-
const disciplineValue = disciplineValues[0];
|
|
66
|
-
const allowedCountries = this.validCombinations[degreeTypeValue];
|
|
67
|
-
if (!allowedCountries) {
|
|
68
|
-
return Promise.resolve(false);
|
|
69
|
-
}
|
|
70
|
-
if (degreeTypeValue === DegreeTypeFilterOptionValue.MED) {
|
|
71
|
-
return Promise.resolve(allowedCountries.includes(countryValue) &&
|
|
72
|
-
this.educationDisciplineIds.includes(disciplineValue));
|
|
73
|
-
}
|
|
74
|
-
return Promise.resolve(allowedCountries.includes(countryValue));
|
|
75
|
-
}
|
|
76
|
-
}
|
|
@@ -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 DegreeCountrySpecificRule extends BaseProgrammeRule {
|
|
5
|
-
private readonly validCombinations;
|
|
6
|
-
getName(): string;
|
|
7
|
-
getDescription(): string;
|
|
8
|
-
forSearch(dependencies: ISearchDependencies): Promise<boolean>;
|
|
9
|
-
forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
|
|
10
|
-
}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
-
import { DegreeTypeFilterOptionValue } from '@studyportals/search-filters';
|
|
3
|
-
import { BaseProgrammeRule } from '../BaseProgrammeRule';
|
|
4
|
-
export class DegreeCountrySpecificRule extends BaseProgrammeRule {
|
|
5
|
-
validCombinations = {
|
|
6
|
-
[DegreeTypeFilterOptionValue.MSC]: ['82', '56', '11', '30'],
|
|
7
|
-
[DegreeTypeFilterOptionValue.MBA]: ['82', '30'],
|
|
8
|
-
[DegreeTypeFilterOptionValue.MED]: ['202', '56']
|
|
9
|
-
};
|
|
10
|
-
getName() {
|
|
11
|
-
return 'DegreeCountrySpecificRule';
|
|
12
|
-
}
|
|
13
|
-
getDescription() {
|
|
14
|
-
return 'Indexes: master-of-science (USA, Canada, Germany, UK); master-of-business-administration (USA, UK); master-of-education (Australia, Canada)';
|
|
15
|
-
}
|
|
16
|
-
forSearch(dependencies) {
|
|
17
|
-
const { seoInfoBase, filterState } = dependencies;
|
|
18
|
-
const degreeTypeValue = seoInfoBase.getFilterOptionValueBy(FilterKey.DEGREE_TYPE, filterState);
|
|
19
|
-
const countryValue = seoInfoBase.getFilterOptionValueBy(FilterKey.COUNTRY, filterState);
|
|
20
|
-
if (!degreeTypeValue || !countryValue) {
|
|
21
|
-
return Promise.resolve(false);
|
|
22
|
-
}
|
|
23
|
-
const allowedCountries = this.validCombinations[degreeTypeValue];
|
|
24
|
-
if (!allowedCountries) {
|
|
25
|
-
return Promise.resolve(false);
|
|
26
|
-
}
|
|
27
|
-
return Promise.resolve(allowedCountries.includes(countryValue));
|
|
28
|
-
}
|
|
29
|
-
forSitemapGenerator(filterKeyValues) {
|
|
30
|
-
const degreeTypeValues = filterKeyValues.get(FilterKey.DEGREE_TYPE);
|
|
31
|
-
const countryValues = filterKeyValues.get(FilterKey.COUNTRY);
|
|
32
|
-
if (!degreeTypeValues?.length || !countryValues?.length) {
|
|
33
|
-
return Promise.resolve(false);
|
|
34
|
-
}
|
|
35
|
-
const degreeTypeValue = degreeTypeValues[0];
|
|
36
|
-
const countryValue = countryValues[0];
|
|
37
|
-
const allowedCountries = this.validCombinations[degreeTypeValue];
|
|
38
|
-
if (!allowedCountries) {
|
|
39
|
-
return Promise.resolve(false);
|
|
40
|
-
}
|
|
41
|
-
return Promise.resolve(allowedCountries.includes(countryValue));
|
|
42
|
-
}
|
|
43
|
-
}
|
|
@@ -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 DegreeCountryTuitionFeeRule extends BaseProgrammeRule {
|
|
5
|
-
private readonly degreeValue;
|
|
6
|
-
private readonly tuitionFeeValue;
|
|
7
|
-
getName(): string;
|
|
8
|
-
getDescription(): string;
|
|
9
|
-
forSearch(dependencies: ISearchDependencies): Promise<boolean>;
|
|
10
|
-
forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
|
|
11
|
-
}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters';
|
|
2
|
-
import { TuitionFeeFilterOptionValue } from '@studyportals/search-filters';
|
|
3
|
-
import { BaseProgrammeRule } from '../BaseProgrammeRule';
|
|
4
|
-
export class DegreeCountryTuitionFeeRule extends BaseProgrammeRule {
|
|
5
|
-
degreeValue = 'master-of-business-administration';
|
|
6
|
-
tuitionFeeValue = TuitionFeeFilterOptionValue.ZERO_TO_TWO_THOUSAND_FIVE_HUNDRED;
|
|
7
|
-
getName() {
|
|
8
|
-
return 'DegreeCountryTuitionFeeRule';
|
|
9
|
-
}
|
|
10
|
-
getDescription() {
|
|
11
|
-
return 'Indexes: master-of-business-administration + all countries + affordable tuition (0-2500)';
|
|
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 tuitionFeeValue = seoInfoBase.getFilterOptionValueBy(FilterKey.TUITION_FEE, filterState);
|
|
18
|
-
if (degreeTypeValue !== this.degreeValue) {
|
|
19
|
-
return Promise.resolve(true);
|
|
20
|
-
}
|
|
21
|
-
if (!countryValue || !tuitionFeeValue) {
|
|
22
|
-
return Promise.resolve(false);
|
|
23
|
-
}
|
|
24
|
-
return Promise.resolve(tuitionFeeValue === this.tuitionFeeValue);
|
|
25
|
-
}
|
|
26
|
-
forSitemapGenerator(filterKeyValues) {
|
|
27
|
-
const degreeTypeValues = filterKeyValues.get(FilterKey.DEGREE_TYPE);
|
|
28
|
-
const countryValues = filterKeyValues.get(FilterKey.COUNTRY);
|
|
29
|
-
const tuitionFeeValues = filterKeyValues.get(FilterKey.TUITION_FEE);
|
|
30
|
-
if (!degreeTypeValues?.length || !countryValues?.length || !tuitionFeeValues?.length) {
|
|
31
|
-
return Promise.resolve(false);
|
|
32
|
-
}
|
|
33
|
-
const degreeTypeValue = degreeTypeValues[0];
|
|
34
|
-
const tuitionFeeValue = tuitionFeeValues[0];
|
|
35
|
-
if (degreeTypeValue !== this.degreeValue) {
|
|
36
|
-
return Promise.resolve(true);
|
|
37
|
-
}
|
|
38
|
-
return Promise.resolve(tuitionFeeValue === this.tuitionFeeValue);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
@@ -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 DegreeCountryTuitionFeeSpecificRule extends BaseProgrammeRule {
|
|
5
|
-
private readonly validDegreeValues;
|
|
6
|
-
private readonly tuitionFeeValue;
|
|
7
|
-
private readonly validCombinations;
|
|
8
|
-
getName(): string;
|
|
9
|
-
getDescription(): string;
|
|
10
|
-
forSearch(dependencies: ISearchDependencies): Promise<boolean>;
|
|
11
|
-
forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
|
|
12
|
-
}
|