@studyportals/fawkes 9.0.0 → 9.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/dist/src/organisations/policies/our-picks/AreaAttendance.d.ts +1 -1
- package/dist/src/scholarships/SearchIndexabilityManager.d.ts +2 -1
- package/dist/src/scholarships/SearchIndexabilityManager.js +3 -2
- package/dist/src/scholarships/policies/Area.d.ts +4 -5
- package/dist/src/scholarships/policies/Area.js +14 -7
- package/dist/src/scholarships/policies/DisciplineCountry.d.ts +4 -4
- package/dist/src/scholarships/policies/DisciplineCountry.js +15 -6
- package/dist/src/scholarships/policies/ScholarshipSeoIndexabilityPolicy.d.ts +2 -0
- package/dist/src/scholarships/policies/ScholarshipSeoIndexabilityPolicy.js +4 -0
- package/dist/src/scholarships/policies/UniversityCountry.d.ts +5 -3
- package/dist/src/scholarships/policies/UniversityCountry.js +17 -5
- package/dist/src/scholarships/rules/NotOnPortalsRule.d.ts +12 -0
- package/dist/src/scholarships/rules/NotOnPortalsRule.js +24 -0
- package/dist/src/scholarships/rules/OnlyCountriesDisciplineCountryRule.d.ts +13 -0
- package/dist/src/scholarships/rules/OnlyCountriesDisciplineCountryRule.js +40 -0
- package/dist/src/scholarships/types/IScholarshipSearchDependencies.d.ts +5 -0
- package/dist/src/scholarships/types/IScholarshipSearchDependencies.js +1 -0
- package/dist/src/scholarships/types/IScholarshipSeoDependencies.d.ts +2 -2
- package/dist/src/scholarships/types/IScholarshipSitemapDependencies.d.ts +2 -0
- package/dist/src/sitemap-generator/ScholarshipsSitemapUrlGeneratorManager.d.ts +2 -1
- package/dist/src/sitemap-generator/ScholarshipsSitemapUrlGeneratorManager.js +3 -2
- package/package.json +1 -1
|
@@ -9,7 +9,7 @@ export declare class AreaAttendance extends OrganisationsSeoIndexabilityPolicy {
|
|
|
9
9
|
readonly name: string;
|
|
10
10
|
readonly description: string;
|
|
11
11
|
protected readonly sortingOption = SortingOptions.OUR_PICKS;
|
|
12
|
-
protected readonly baseRules: (SingleValueSelectedForFilterRule | OnlyFiltersSelectedRule |
|
|
12
|
+
protected readonly baseRules: (SingleValueSelectedForFilterRule | OnlyFiltersSelectedRule | SearchVolumeAreasAttendanceRule | OnlineAttendanceRule)[];
|
|
13
13
|
protected generateUrls(): Promise<string[]>;
|
|
14
14
|
get filterCombination(): FilterCombinations;
|
|
15
15
|
}
|
|
@@ -3,9 +3,10 @@ import { ISeoInfoBase } from '../common/ISeoInfoBase';
|
|
|
3
3
|
import { ISeoFilterState } from '../common/ISeoFilterState';
|
|
4
4
|
import { ISearchApplicationState } from '../common/ISearchApplicationState';
|
|
5
5
|
import { ISearchIndexabilityManager } from '../common/ISearchIndexabilityManager';
|
|
6
|
+
import { PortalType } from '@studyportals/domain-client';
|
|
6
7
|
export declare class SearchIndexabilityManager implements ISearchIndexabilityManager {
|
|
7
8
|
private policies;
|
|
8
|
-
constructor(seoInfoBase: ISeoInfoBase, filterState: ISeoFilterState, applicationState: ISearchApplicationState);
|
|
9
|
+
constructor(seoInfoBase: ISeoInfoBase, filterState: ISeoFilterState, applicationState: ISearchApplicationState, portalType?: PortalType);
|
|
9
10
|
shouldIndex(): Promise<boolean>;
|
|
10
11
|
getPolicies(): ISeoIndexabilityPolicy[];
|
|
11
12
|
}
|
|
@@ -7,12 +7,13 @@ import { Unfiltered } from './policies/Unfiltered';
|
|
|
7
7
|
import { DependencyTypes } from '../enums/DependencyTypes';
|
|
8
8
|
export class SearchIndexabilityManager {
|
|
9
9
|
policies;
|
|
10
|
-
constructor(seoInfoBase, filterState, applicationState) {
|
|
10
|
+
constructor(seoInfoBase, filterState, applicationState, portalType) {
|
|
11
11
|
const dependencies = {
|
|
12
12
|
dependencyType: DependencyTypes.SEARCH,
|
|
13
13
|
seoInfoBase,
|
|
14
14
|
filterState,
|
|
15
|
-
applicationState
|
|
15
|
+
applicationState,
|
|
16
|
+
portalType
|
|
16
17
|
};
|
|
17
18
|
this.policies = [
|
|
18
19
|
new Area(dependencies),
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
+
import { IRule } from '../../common/IRule';
|
|
2
|
+
import { IScholarshipSeoDependencies } from '../types/IScholarshipSeoDependencies';
|
|
1
3
|
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
2
|
-
import { ExceptAustraliaAreasRule } from '../rules/ExceptAustaliaAreasRule';
|
|
3
|
-
import { SearchVolumeAreasRule } from '../rules/SearchVolumeAreasRule';
|
|
4
4
|
import { ScholarshipSeoIndexabilityPolicy } from './ScholarshipSeoIndexabilityPolicy';
|
|
5
|
-
import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
|
|
6
|
-
import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
|
|
7
5
|
export declare class Area extends ScholarshipSeoIndexabilityPolicy {
|
|
8
6
|
readonly name: string;
|
|
9
7
|
readonly description: string;
|
|
10
|
-
protected readonly baseRules:
|
|
8
|
+
protected readonly baseRules: IRule[];
|
|
9
|
+
constructor(dependencies: IScholarshipSeoDependencies);
|
|
11
10
|
get filterCombination(): FilterCombinations;
|
|
12
11
|
protected generateUrls(): Promise<string[]>;
|
|
13
12
|
}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { NotOnPortalsRule } from '../rules/NotOnPortalsRule';
|
|
2
|
+
import { PortalType } from '@studyportals/domain-client';
|
|
1
3
|
import { FilterKey } from '@studyportals/search-filters/server-side';
|
|
2
4
|
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
3
5
|
import { ExceptAustraliaAreasRule } from '../rules/ExceptAustaliaAreasRule';
|
|
@@ -9,13 +11,18 @@ import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedR
|
|
|
9
11
|
export class Area extends ScholarshipSeoIndexabilityPolicy {
|
|
10
12
|
name = 'Area Policy';
|
|
11
13
|
description = 'Controls indexing of pages filtered by geographic areas, ensuring only SEO-valuable regional content with sufficient search volume is indexed while respecting country associations.';
|
|
12
|
-
baseRules
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
baseRules;
|
|
15
|
+
constructor(dependencies) {
|
|
16
|
+
super(dependencies);
|
|
17
|
+
this.baseRules = [
|
|
18
|
+
new NotOnPortalsRule([PortalType.BACHELOR, PortalType.PHD], this.portalType),
|
|
19
|
+
new SingleValueSelectedForFilterRule(FilterKey.AREA),
|
|
20
|
+
new SingleValueSelectedForFilterRule(FilterKey.COUNTRY),
|
|
21
|
+
new OnlyFiltersSelectedRule([FilterKey.AREA, FilterKey.COUNTRY]),
|
|
22
|
+
new ExceptAustraliaAreasRule(),
|
|
23
|
+
new SearchVolumeAreasRule()
|
|
24
|
+
];
|
|
25
|
+
}
|
|
19
26
|
get filterCombination() {
|
|
20
27
|
return FilterCombinations.AREA;
|
|
21
28
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
+
import { IRule } from '../../common/IRule';
|
|
2
|
+
import { IScholarshipSeoDependencies } from '../types/IScholarshipSeoDependencies';
|
|
1
3
|
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
2
|
-
import { SearchVolumeCountriesDisciplinesRule } from '../rules/SearchVolumeCountriesDisciplinesRule';
|
|
3
4
|
import { ScholarshipSeoIndexabilityPolicy } from './ScholarshipSeoIndexabilityPolicy';
|
|
4
|
-
import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
|
|
5
|
-
import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
|
|
6
5
|
export declare class DisciplineCountry extends ScholarshipSeoIndexabilityPolicy {
|
|
7
6
|
readonly name: string;
|
|
8
7
|
readonly description: string;
|
|
9
|
-
protected readonly baseRules:
|
|
8
|
+
protected readonly baseRules: IRule[];
|
|
9
|
+
constructor(dependencies: IScholarshipSeoDependencies);
|
|
10
10
|
get filterCombination(): FilterCombinations;
|
|
11
11
|
protected generateUrls(): Promise<string[]>;
|
|
12
12
|
}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { NotOnPortalsRule } from '../rules/NotOnPortalsRule';
|
|
2
|
+
import { PortalType } from '@studyportals/domain-client';
|
|
1
3
|
import { FilterKey } from '@studyportals/search-filters/server-side';
|
|
2
4
|
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
3
5
|
import { SearchVolumeCountriesDisciplinesRule } from '../rules/SearchVolumeCountriesDisciplinesRule';
|
|
@@ -6,15 +8,22 @@ import { DisciplinePresenter } from '../../presenters/DisciplinePresenter';
|
|
|
6
8
|
import { ScholarshipSeoIndexabilityPolicy } from './ScholarshipSeoIndexabilityPolicy';
|
|
7
9
|
import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
|
|
8
10
|
import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
|
|
11
|
+
import { OnlyCountriesDisciplineCountryRule } from '../rules/OnlyCountriesDisciplineCountryRule';
|
|
9
12
|
export class DisciplineCountry extends ScholarshipSeoIndexabilityPolicy {
|
|
10
13
|
name = 'Discipline Policy';
|
|
11
14
|
description = 'Determines which discipline-filtered pages qualify for indexing based on search volume thresholds and content availability within specific academic fields.';
|
|
12
|
-
baseRules
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
baseRules;
|
|
16
|
+
constructor(dependencies) {
|
|
17
|
+
super(dependencies);
|
|
18
|
+
this.baseRules = [
|
|
19
|
+
new NotOnPortalsRule([PortalType.BACHELOR, PortalType.PHD], this.portalType),
|
|
20
|
+
new SingleValueSelectedForFilterRule(FilterKey.DISCIPLINES),
|
|
21
|
+
new SingleValueSelectedForFilterRule(FilterKey.COUNTRY),
|
|
22
|
+
new OnlyFiltersSelectedRule([FilterKey.DISCIPLINES, FilterKey.COUNTRY]),
|
|
23
|
+
new SearchVolumeCountriesDisciplinesRule(),
|
|
24
|
+
new OnlyCountriesDisciplineCountryRule()
|
|
25
|
+
];
|
|
26
|
+
}
|
|
18
27
|
get filterCombination() {
|
|
19
28
|
return FilterCombinations.DISCIPLINE_COUNTRY;
|
|
20
29
|
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { BaseSeoIndexabilityPolicy } from '../../common/policies/BaseSeoIndexabilityPolicy';
|
|
2
2
|
import { IScholarshipSeoDependencies } from '../types/IScholarshipSeoDependencies';
|
|
3
3
|
import { IRule } from '../../common/IRule';
|
|
4
|
+
import { PortalType } from '@studyportals/domain-client';
|
|
4
5
|
export declare abstract class ScholarshipSeoIndexabilityPolicy extends BaseSeoIndexabilityPolicy<IScholarshipSeoDependencies> {
|
|
5
6
|
protected abstract readonly baseRules: IRule[];
|
|
7
|
+
protected get portalType(): PortalType;
|
|
6
8
|
protected get rules(): IRule[];
|
|
7
9
|
}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { BaseSeoIndexabilityPolicy } from '../../common/policies/BaseSeoIndexabilityPolicy';
|
|
2
2
|
import { IndexablePageNumberRule } from '../../common/rules/IndexablePageNumberRule';
|
|
3
|
+
import { PortalType } from '@studyportals/domain-client';
|
|
3
4
|
export class ScholarshipSeoIndexabilityPolicy extends BaseSeoIndexabilityPolicy {
|
|
5
|
+
get portalType() {
|
|
6
|
+
return this.dependencies.portalType ?? PortalType.MASTER;
|
|
7
|
+
}
|
|
4
8
|
get rules() {
|
|
5
9
|
return [...this.baseRules, new IndexablePageNumberRule()];
|
|
6
10
|
}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
+
import { IRule } from '../../common/IRule';
|
|
2
|
+
import { IScholarshipSeoDependencies } from '../types/IScholarshipSeoDependencies';
|
|
1
3
|
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
2
4
|
import { ScholarshipSeoIndexabilityPolicy } from './ScholarshipSeoIndexabilityPolicy';
|
|
3
|
-
import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
|
-
import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
|
|
5
5
|
export declare class UniversityCountry extends ScholarshipSeoIndexabilityPolicy {
|
|
6
6
|
readonly name: string;
|
|
7
7
|
readonly description: string;
|
|
8
|
-
protected readonly baseRules:
|
|
8
|
+
protected readonly baseRules: IRule[];
|
|
9
|
+
private readonly portalRule;
|
|
10
|
+
constructor(dependencies: IScholarshipSeoDependencies);
|
|
9
11
|
get filterCombination(): FilterCombinations;
|
|
10
12
|
protected generateUrls(): Promise<string[]>;
|
|
11
13
|
}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { NotOnPortalsRule } from '../rules/NotOnPortalsRule';
|
|
2
|
+
import { PortalType } from '@studyportals/domain-client';
|
|
1
3
|
import { FilterKey } from '@studyportals/search-filters/server-side';
|
|
2
4
|
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
3
5
|
import { CountryPresenter } from '../../presenters/CountryPresenter';
|
|
@@ -7,15 +9,25 @@ import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedR
|
|
|
7
9
|
export class UniversityCountry extends ScholarshipSeoIndexabilityPolicy {
|
|
8
10
|
name = 'University Country Policy';
|
|
9
11
|
description = 'Regulates indexing for pages filtered by both university and country, prioritizing institution-specific content within national boundaries that meets SEO criteria.';
|
|
10
|
-
baseRules
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
baseRules;
|
|
13
|
+
portalRule;
|
|
14
|
+
constructor(dependencies) {
|
|
15
|
+
super(dependencies);
|
|
16
|
+
this.portalRule = new NotOnPortalsRule([PortalType.BACHELOR], this.portalType);
|
|
17
|
+
this.baseRules = [
|
|
18
|
+
this.portalRule,
|
|
19
|
+
new SingleValueSelectedForFilterRule(FilterKey.ORGANISATIONS),
|
|
20
|
+
new SingleValueSelectedForFilterRule(FilterKey.COUNTRY),
|
|
21
|
+
new OnlyFiltersSelectedRule([FilterKey.ORGANISATIONS, FilterKey.COUNTRY])
|
|
22
|
+
];
|
|
23
|
+
}
|
|
15
24
|
get filterCombination() {
|
|
16
25
|
return FilterCombinations.UNIVERSITY_COUNTRY;
|
|
17
26
|
}
|
|
18
27
|
async generateUrls() {
|
|
28
|
+
if (!(await this.portalRule.forSitemapGenerator())) {
|
|
29
|
+
return [];
|
|
30
|
+
}
|
|
19
31
|
const { searchApiClient, organisationsClient } = this.dependencies;
|
|
20
32
|
try {
|
|
21
33
|
const organisationIds = await searchApiClient.getOrganisationIds();
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { IRule } from '../../common/IRule';
|
|
2
|
+
import { PortalType } from '@studyportals/domain-client';
|
|
3
|
+
export declare class NotOnPortalsRule implements IRule {
|
|
4
|
+
private readonly blockedPortals;
|
|
5
|
+
private readonly portalType;
|
|
6
|
+
constructor(blockedPortals: PortalType[], portalType?: PortalType);
|
|
7
|
+
getName(): string;
|
|
8
|
+
forSearch(): Promise<boolean>;
|
|
9
|
+
forSitemapGenerator(): Promise<boolean>;
|
|
10
|
+
private isAllowedOnPortal;
|
|
11
|
+
getDescription(): string;
|
|
12
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { PortalType } from '@studyportals/domain-client';
|
|
2
|
+
export class NotOnPortalsRule {
|
|
3
|
+
blockedPortals;
|
|
4
|
+
portalType;
|
|
5
|
+
constructor(blockedPortals, portalType = PortalType.MASTER) {
|
|
6
|
+
this.blockedPortals = blockedPortals;
|
|
7
|
+
this.portalType = portalType;
|
|
8
|
+
}
|
|
9
|
+
getName() {
|
|
10
|
+
return 'NotOnPortalsRule';
|
|
11
|
+
}
|
|
12
|
+
forSearch() {
|
|
13
|
+
return Promise.resolve(this.isAllowedOnPortal());
|
|
14
|
+
}
|
|
15
|
+
forSitemapGenerator() {
|
|
16
|
+
return Promise.resolve(this.isAllowedOnPortal());
|
|
17
|
+
}
|
|
18
|
+
isAllowedOnPortal() {
|
|
19
|
+
return !this.blockedPortals.includes(this.portalType);
|
|
20
|
+
}
|
|
21
|
+
getDescription() {
|
|
22
|
+
return `Is indexable if the portal type is not one of: ${this.blockedPortals.join(', ')}.`;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IRule } from "../../common/IRule";
|
|
2
|
+
import { ISearchDependencies } from "../../common/ISearchDependencies";
|
|
3
|
+
import { FilterKeyValuesMap } from "../../../sitemap-generator-seo";
|
|
4
|
+
export declare class OnlyCountriesDisciplineCountryRule implements IRule {
|
|
5
|
+
private readonly countryFilterKey;
|
|
6
|
+
private readonly allowedCountryIsos;
|
|
7
|
+
private allowedCountryIds?;
|
|
8
|
+
getName(): string;
|
|
9
|
+
forSearch(dependencies: ISearchDependencies): Promise<boolean>;
|
|
10
|
+
forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
|
|
11
|
+
private getAllowedCountryIds;
|
|
12
|
+
getDescription(): string;
|
|
13
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { FilterKey } from "@studyportals/search-filters/server-side";
|
|
2
|
+
import { CountryPresenter } from "../../presenters/CountryPresenter";
|
|
3
|
+
export class OnlyCountriesDisciplineCountryRule {
|
|
4
|
+
countryFilterKey = FilterKey.COUNTRY;
|
|
5
|
+
allowedCountryIsos = ['AU', 'CA', 'CN', 'FR', 'DE', 'IN', 'IE', 'IT', 'JP', 'MY', 'NL', 'NZ', 'SG', 'KR', 'CH', 'GB', 'US'];
|
|
6
|
+
allowedCountryIds;
|
|
7
|
+
getName() {
|
|
8
|
+
return 'OnlyCountriesDisciplineCountryRule';
|
|
9
|
+
}
|
|
10
|
+
forSearch(dependencies) {
|
|
11
|
+
const selectedCountry = dependencies.seoInfoBase.getFilterOptionValueBy(this.countryFilterKey, dependencies.filterState);
|
|
12
|
+
if (!selectedCountry) {
|
|
13
|
+
return Promise.resolve(false);
|
|
14
|
+
}
|
|
15
|
+
return Promise.resolve(this.getAllowedCountryIds().has(selectedCountry));
|
|
16
|
+
}
|
|
17
|
+
forSitemapGenerator(filterKeyValues) {
|
|
18
|
+
const selectedCountries = filterKeyValues.get(FilterKey.COUNTRY);
|
|
19
|
+
if (!selectedCountries || selectedCountries.length !== 1) {
|
|
20
|
+
return Promise.resolve(false);
|
|
21
|
+
}
|
|
22
|
+
const selectedCountry = selectedCountries[0];
|
|
23
|
+
if (!selectedCountry) {
|
|
24
|
+
return Promise.resolve(false);
|
|
25
|
+
}
|
|
26
|
+
return Promise.resolve(this.getAllowedCountryIds().has(selectedCountry));
|
|
27
|
+
}
|
|
28
|
+
getAllowedCountryIds() {
|
|
29
|
+
if (!this.allowedCountryIds) {
|
|
30
|
+
this.allowedCountryIds = new Set(CountryPresenter.getInstance()
|
|
31
|
+
.getFragments()
|
|
32
|
+
.filter((country) => this.allowedCountryIsos.includes(country.iso))
|
|
33
|
+
.map((country) => country.id));
|
|
34
|
+
}
|
|
35
|
+
return this.allowedCountryIds;
|
|
36
|
+
}
|
|
37
|
+
getDescription() {
|
|
38
|
+
return 'Country is one of the allowed countries for discipline and country pages';
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IScholarshipSearchDependencies } from './IScholarshipSearchDependencies';
|
|
2
2
|
import { IScholarshipSitemapDependencies } from './IScholarshipSitemapDependencies';
|
|
3
|
-
export type IScholarshipSeoDependencies =
|
|
3
|
+
export type IScholarshipSeoDependencies = IScholarshipSearchDependencies | IScholarshipSitemapDependencies;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { ISitemapDependencies } from '../../common/ISitemapDependencies';
|
|
2
2
|
import { IOrganisationsClient } from '../../sitemap-generator/IOrganisationsClient';
|
|
3
|
+
import { PortalType } from '@studyportals/domain-client';
|
|
3
4
|
export interface IScholarshipSitemapDependencies extends ISitemapDependencies {
|
|
4
5
|
organisationsClient: IOrganisationsClient;
|
|
6
|
+
portalType?: PortalType;
|
|
5
7
|
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { ISitemapUrlGenerator } from '../common/ISitemapUrlGenerator';
|
|
2
2
|
import { IOrganisationsClient } from '../sitemap-generator/IOrganisationsClient';
|
|
3
3
|
import { ISearchApiClient } from '../sitemap-generator/ISearchApiClient';
|
|
4
|
+
import { PortalType } from '@studyportals/domain-client';
|
|
4
5
|
import { BaseSitemapUrlGeneratorManager } from './BaseSitemapUrlGeneratorManager';
|
|
5
6
|
export declare class ScholarshipsSitemapUrlGeneratorManager extends BaseSitemapUrlGeneratorManager {
|
|
6
7
|
readonly policies: ISitemapUrlGenerator[];
|
|
7
8
|
readonly presenters: Map<any, any>;
|
|
8
|
-
constructor(searchApiClient: ISearchApiClient, organisationsClient: IOrganisationsClient);
|
|
9
|
+
constructor(searchApiClient: ISearchApiClient, organisationsClient: IOrganisationsClient, portalType?: PortalType);
|
|
9
10
|
}
|
|
@@ -9,12 +9,13 @@ import { BaseSitemapUrlGeneratorManager } from './BaseSitemapUrlGeneratorManager
|
|
|
9
9
|
export class ScholarshipsSitemapUrlGeneratorManager extends BaseSitemapUrlGeneratorManager {
|
|
10
10
|
policies;
|
|
11
11
|
presenters = new Map();
|
|
12
|
-
constructor(searchApiClient, organisationsClient) {
|
|
12
|
+
constructor(searchApiClient, organisationsClient, portalType) {
|
|
13
13
|
super();
|
|
14
14
|
const dependencies = {
|
|
15
15
|
dependencyType: DependencyTypes.SITEMAP_GENERATOR,
|
|
16
16
|
searchApiClient,
|
|
17
|
-
organisationsClient
|
|
17
|
+
organisationsClient,
|
|
18
|
+
portalType
|
|
18
19
|
};
|
|
19
20
|
this.policies = [
|
|
20
21
|
new Area(dependencies),
|