@studyportals/fawkes 4.0.2-1 → 4.0.2-11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/common/IPresenter.d.ts +6 -0
- package/dist/src/common/IPresenter.js +1 -0
- package/dist/src/common/index.d.ts +1 -0
- package/dist/src/common/index.js +1 -0
- package/dist/src/enums/FilterCombinations.d.ts +12 -1
- package/dist/src/enums/FilterCombinations.js +11 -0
- package/dist/src/organisations/policies/RankedOrganisationsSeoIndexabilityPolicy.d.ts +0 -2
- package/dist/src/organisations/policies/RankedOrganisationsSeoIndexabilityPolicy.js +0 -2
- package/dist/src/organisations/policies/ranked/RankedArea.js +1 -1
- package/dist/src/organisations/policies/ranked/RankedAreaDiscipline.js +1 -1
- package/dist/src/organisations/policies/ranked/RankedAttendance.js +1 -1
- package/dist/src/organisations/policies/ranked/RankedAttendanceDiscipline.js +1 -1
- package/dist/src/organisations/policies/ranked/RankedContinent.js +1 -1
- package/dist/src/organisations/policies/ranked/RankedContinentAttendance.js +1 -1
- package/dist/src/organisations/policies/ranked/RankedCountry.js +1 -1
- package/dist/src/organisations/policies/ranked/RankedCountryAttendance.js +1 -1
- package/dist/src/organisations/policies/ranked/RankedCountryDiscipline.js +1 -1
- package/dist/src/organisations/policies/ranked/RankedDiscipline.js +1 -1
- package/dist/src/organisations/policies/ranked/RankedUnfiltered.js +1 -1
- package/dist/src/presenters/AreaPresenter.d.ts +4 -1
- package/dist/src/presenters/AreaPresenter.js +2 -0
- package/dist/src/presenters/AttendancePresenter.d.ts +4 -1
- package/dist/src/presenters/AttendancePresenter.js +2 -0
- package/dist/src/presenters/ContinentPresenter.d.ts +4 -1
- package/dist/src/presenters/ContinentPresenter.js +2 -0
- package/dist/src/presenters/CountryPresenter.d.ts +4 -1
- package/dist/src/presenters/CountryPresenter.js +2 -0
- package/dist/src/presenters/DisciplinePresenter.d.ts +4 -1
- package/dist/src/presenters/DisciplinePresenter.js +2 -0
- package/dist/src/sitemap-generator/BaseSitemapUrlGeneratorManager.d.ts +6 -0
- package/dist/src/sitemap-generator/BaseSitemapUrlGeneratorManager.js +23 -2
- package/dist/src/sitemap-generator/ISitemapUrlGeneratorManager.d.ts +2 -0
- package/dist/src/sitemap-generator/OrganisationsSitemapUrlGeneratorManager.d.ts +6 -0
- package/dist/src/sitemap-generator/OrganisationsSitemapUrlGeneratorManager.js +25 -11
- package/dist/src/sitemap-generator/ScholarshipsSitemapUrlGeneratorManager.d.ts +1 -0
- package/dist/src/sitemap-generator/ScholarshipsSitemapUrlGeneratorManager.js +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/src/common/index.js
CHANGED
|
@@ -13,5 +13,16 @@ export declare enum FilterCombinations {
|
|
|
13
13
|
CONTINENT_ATTENDANCE = "continentAttendance",
|
|
14
14
|
COUNTRY_ATTENDANCE = "countryAttendance",
|
|
15
15
|
ATTENDANCE = "attendance",
|
|
16
|
-
CONTINENT = "continent"
|
|
16
|
+
CONTINENT = "continent",
|
|
17
|
+
RANKED_AREA = "rankedArea",
|
|
18
|
+
RANKED_AREA_DISCIPLINE = "rankedAreaDiscipline",
|
|
19
|
+
RANKED_ATTENDANCE = "rankedAttendance",
|
|
20
|
+
RANKED_ATTENDANCE_DISCIPLINE = "rankedAttendancedDiscipline",
|
|
21
|
+
RANKED_CONTINENT = "rankedContinent",
|
|
22
|
+
RANKED_CONTINENT_ATTENDANCE = "rankedContinentAttendance",
|
|
23
|
+
RANKED_COUNTRY = "rankedCountry",
|
|
24
|
+
RANKED_COUNTRY_ATTENDANCE = "rankedCountryAttendance",
|
|
25
|
+
RANKED_DISCIPLINE_COUNTRY = "rankedDisciplineCountry",
|
|
26
|
+
RANKED_DISCIPLINE = "rankedDiscipline",
|
|
27
|
+
RANKED_UNFILTERED = "rankedUnfiltered"
|
|
17
28
|
}
|
|
@@ -15,4 +15,15 @@ export var FilterCombinations;
|
|
|
15
15
|
FilterCombinations["COUNTRY_ATTENDANCE"] = "countryAttendance";
|
|
16
16
|
FilterCombinations["ATTENDANCE"] = "attendance";
|
|
17
17
|
FilterCombinations["CONTINENT"] = "continent";
|
|
18
|
+
FilterCombinations["RANKED_AREA"] = "rankedArea";
|
|
19
|
+
FilterCombinations["RANKED_AREA_DISCIPLINE"] = "rankedAreaDiscipline";
|
|
20
|
+
FilterCombinations["RANKED_ATTENDANCE"] = "rankedAttendance";
|
|
21
|
+
FilterCombinations["RANKED_ATTENDANCE_DISCIPLINE"] = "rankedAttendancedDiscipline";
|
|
22
|
+
FilterCombinations["RANKED_CONTINENT"] = "rankedContinent";
|
|
23
|
+
FilterCombinations["RANKED_CONTINENT_ATTENDANCE"] = "rankedContinentAttendance";
|
|
24
|
+
FilterCombinations["RANKED_COUNTRY"] = "rankedCountry";
|
|
25
|
+
FilterCombinations["RANKED_COUNTRY_ATTENDANCE"] = "rankedCountryAttendance";
|
|
26
|
+
FilterCombinations["RANKED_DISCIPLINE_COUNTRY"] = "rankedDisciplineCountry";
|
|
27
|
+
FilterCombinations["RANKED_DISCIPLINE"] = "rankedDiscipline";
|
|
28
|
+
FilterCombinations["RANKED_UNFILTERED"] = "rankedUnfiltered";
|
|
18
29
|
})(FilterCombinations || (FilterCombinations = {}));
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import { PortalType } from '@studyportals/domain-client';
|
|
2
1
|
import { SortingOptions } from '../../enums/SortingOptions';
|
|
3
2
|
import { OrganisationsSeoIndexabilityPolicy } from './OrganisationsSeoIndexabilityPolicy';
|
|
4
3
|
export declare abstract class RankedOrganisationsSeoIndexabilityPolicy extends OrganisationsSeoIndexabilityPolicy {
|
|
5
|
-
protected readonly indexablePortalTypes: PortalType[];
|
|
6
4
|
protected readonly sortingOption: SortingOptions;
|
|
7
5
|
protected addRankedResultsCountRule(): void;
|
|
8
6
|
}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import { PortalType } from '@studyportals/domain-client';
|
|
2
1
|
import { SortingOptions } from '../../enums/SortingOptions';
|
|
3
2
|
import { OrganisationsSeoIndexabilityPolicy } from './OrganisationsSeoIndexabilityPolicy';
|
|
4
3
|
import { AtLeastTwoRankedResultsRule } from '../rules/AtLeastTwoRankedResultsRule';
|
|
5
4
|
export class RankedOrganisationsSeoIndexabilityPolicy extends OrganisationsSeoIndexabilityPolicy {
|
|
6
|
-
indexablePortalTypes = [PortalType.MASTER];
|
|
7
5
|
sortingOption = SortingOptions.UNIVERSITY_META_RANKING;
|
|
8
6
|
addRankedResultsCountRule() {
|
|
9
7
|
let rankedResultsCountRule;
|
|
@@ -19,7 +19,7 @@ export class RankedAreaDiscipline extends RankedOrganisationsSeoIndexabilityPoli
|
|
|
19
19
|
this.addRankedResultsCountRule();
|
|
20
20
|
}
|
|
21
21
|
get filterCombination() {
|
|
22
|
-
return FilterCombinations.
|
|
22
|
+
return FilterCombinations.RANKED_AREA_DISCIPLINE;
|
|
23
23
|
}
|
|
24
24
|
async generateUrls() {
|
|
25
25
|
const areaFragments = AreaPresenter.getInstance().getFragments();
|
|
@@ -18,7 +18,7 @@ export class RankedAttendanceDiscipline extends RankedOrganisationsSeoIndexabili
|
|
|
18
18
|
this.addRankedResultsCountRule();
|
|
19
19
|
}
|
|
20
20
|
get filterCombination() {
|
|
21
|
-
return FilterCombinations.
|
|
21
|
+
return FilterCombinations.RANKED_ATTENDANCE_DISCIPLINE;
|
|
22
22
|
}
|
|
23
23
|
async generateUrls() {
|
|
24
24
|
const attendanceFragments = AttendancePresenter.getInstance().getFragments();
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { IAreaFragment } from './fragments/IAreaFragment';
|
|
2
|
-
|
|
2
|
+
import { IPresenter } from '../common';
|
|
3
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
4
|
+
export declare class AreaPresenter implements IPresenter {
|
|
5
|
+
readonly filterKey: FilterKey;
|
|
3
6
|
private static instance;
|
|
4
7
|
private readonly fragments;
|
|
5
8
|
private constructor();
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { areasAll } from '@studyportals/static-domain-data/areas/areas';
|
|
2
2
|
import { areaGetPath } from '@studyportals/static-domain-data/areas/area-get-path';
|
|
3
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
3
4
|
export class AreaPresenter {
|
|
5
|
+
filterKey = FilterKey.AREA;
|
|
4
6
|
static instance;
|
|
5
7
|
fragments;
|
|
6
8
|
constructor() {
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
import { IPresenter } from '../common';
|
|
1
2
|
import { IFragment } from './fragments/IFragment';
|
|
2
|
-
|
|
3
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
4
|
+
export declare class AttendancePresenter implements IPresenter {
|
|
5
|
+
readonly filterKey: FilterKey;
|
|
3
6
|
private static instance;
|
|
4
7
|
private readonly fragments;
|
|
5
8
|
private constructor();
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { IFragment } from './fragments/IFragment';
|
|
2
|
-
|
|
2
|
+
import { IPresenter } from '../common';
|
|
3
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
4
|
+
export declare class ContinentPresenter implements IPresenter {
|
|
5
|
+
readonly filterKey: FilterKey;
|
|
3
6
|
private static instance;
|
|
4
7
|
private readonly fragments;
|
|
5
8
|
private constructor();
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { continentsAll } from '@studyportals/static-domain-data/continents/continents';
|
|
2
2
|
import { continentGetPath } from '@studyportals/static-domain-data/continents/continent-get-path';
|
|
3
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
3
4
|
export class ContinentPresenter {
|
|
5
|
+
filterKey = FilterKey.CONTINENT;
|
|
4
6
|
static instance;
|
|
5
7
|
fragments;
|
|
6
8
|
constructor() {
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { ICountryFragment } from './fragments/ICountryFragment';
|
|
2
|
-
|
|
2
|
+
import { IPresenter } from '../common';
|
|
3
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
4
|
+
export declare class CountryPresenter implements IPresenter {
|
|
5
|
+
readonly filterKey: FilterKey;
|
|
3
6
|
private static instance;
|
|
4
7
|
private readonly fragments;
|
|
5
8
|
private constructor();
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { countriesExtendedAll } from '@studyportals/static-domain-data/countries/countries-extended';
|
|
2
2
|
import { countryGetIsoCodePath } from '@studyportals/static-domain-data/countries/country-get-iso-path';
|
|
3
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
3
4
|
export class CountryPresenter {
|
|
5
|
+
filterKey = FilterKey.COUNTRY;
|
|
4
6
|
static instance;
|
|
5
7
|
fragments;
|
|
6
8
|
constructor() {
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { IFragment } from './fragments/IFragment';
|
|
2
|
-
|
|
2
|
+
import { IPresenter } from '../common';
|
|
3
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
4
|
+
export declare class DisciplinePresenter implements IPresenter {
|
|
5
|
+
readonly filterKey: FilterKey;
|
|
3
6
|
private static instance;
|
|
4
7
|
private readonly fragments;
|
|
5
8
|
private constructor();
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { disciplinesAll } from '@studyportals/static-domain-data/disciplines/disciplines';
|
|
2
2
|
import { subdisciplinesAll } from '@studyportals/static-domain-data/disciplines/subdisciplines';
|
|
3
3
|
import { disciplineGetVirtualPath } from '@studyportals/static-domain-data/disciplines/discipline-get-virtual-path';
|
|
4
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
4
5
|
export class DisciplinePresenter {
|
|
6
|
+
filterKey = FilterKey.DISCIPLINES;
|
|
5
7
|
static instance;
|
|
6
8
|
fragments;
|
|
7
9
|
constructor() {
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import { ISitemapUrlGenerator } from '../common/ISitemapUrlGenerator';
|
|
2
2
|
import { ISitemapUrlGeneratorManager } from './ISitemapUrlGeneratorManager';
|
|
3
3
|
import { FilterCombinations } from '../enums/FilterCombinations';
|
|
4
|
+
import { IPresenter } from '../common';
|
|
5
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
4
6
|
export declare abstract class BaseSitemapUrlGeneratorManager implements ISitemapUrlGeneratorManager {
|
|
5
7
|
abstract readonly policies: ISitemapUrlGenerator[];
|
|
8
|
+
protected abstract readonly presenters: IPresenter[];
|
|
9
|
+
protected readonly filterKeyValueCounts: Map<FilterKey, number>;
|
|
6
10
|
generateUrls(): Promise<Map<FilterCombinations, string[]>>;
|
|
11
|
+
getFilterKeyValueCounts(): Map<FilterKey, number>;
|
|
12
|
+
protected setFilterKeyValueCounts(): void;
|
|
7
13
|
}
|
|
@@ -1,11 +1,32 @@
|
|
|
1
1
|
export class BaseSitemapUrlGeneratorManager {
|
|
2
|
+
filterKeyValueCounts = new Map();
|
|
2
3
|
async generateUrls() {
|
|
3
4
|
const map = new Map();
|
|
4
|
-
|
|
5
|
+
for (const policy of this.policies) {
|
|
6
|
+
console.debug(`Generating sitemap urls for policy: ${policy.filterCombination}`); // eslint-disable-line no-console
|
|
5
7
|
const filterCombination = policy.filterCombination;
|
|
6
8
|
const urls = await policy.generateSitemapUrls();
|
|
9
|
+
console.debug(`Generated ${urls.length} urls for policy: ${filterCombination}`); // eslint-disable-line no-console
|
|
7
10
|
map.set(filterCombination, urls);
|
|
8
|
-
}
|
|
11
|
+
}
|
|
12
|
+
// await Promise.all(
|
|
13
|
+
// this.policies.map(async (policy) => {
|
|
14
|
+
// console.debug(`Generating sitemap urls for policy: ${policy.filterCombination}`); // eslint-disable-line no-console
|
|
15
|
+
// const filterCombination = policy.filterCombination;
|
|
16
|
+
// const urls = await policy.generateSitemapUrls();
|
|
17
|
+
// console.debug(`Generated ${urls.length} urls for policy: ${filterCombination}`); // eslint-disable-line no-console
|
|
18
|
+
// map.set(filterCombination, urls);
|
|
19
|
+
// })
|
|
20
|
+
// );
|
|
9
21
|
return map;
|
|
10
22
|
}
|
|
23
|
+
getFilterKeyValueCounts() {
|
|
24
|
+
return this.filterKeyValueCounts;
|
|
25
|
+
}
|
|
26
|
+
setFilterKeyValueCounts() {
|
|
27
|
+
for (const presenter of this.presenters) {
|
|
28
|
+
const count = presenter.getFragments().length;
|
|
29
|
+
this.filterKeyValueCounts.set(presenter.filterKey, count);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
11
32
|
}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { FilterCombinations } from '../enums/FilterCombinations';
|
|
2
|
+
import { FilterKey } from '@studyportals/search-filters';
|
|
2
3
|
export interface ISitemapUrlGeneratorManager {
|
|
3
4
|
generateUrls(): Promise<Map<FilterCombinations, string[]>>;
|
|
5
|
+
getFilterKeyValueCounts(): Map<FilterKey, number>;
|
|
4
6
|
}
|
|
@@ -4,8 +4,14 @@ import { ISearchApiClient } from '../sitemap-generator/ISearchApiClient';
|
|
|
4
4
|
import { BaseSitemapUrlGeneratorManager } from './BaseSitemapUrlGeneratorManager';
|
|
5
5
|
import { PortalType } from '@studyportals/domain-client';
|
|
6
6
|
import { IRankingApiClient } from './IRankingApiClient';
|
|
7
|
+
import { AreaPresenter } from '../presenters/AreaPresenter';
|
|
8
|
+
import { AttendancePresenter } from '../presenters/AttendancePresenter';
|
|
9
|
+
import { ContinentPresenter } from '../presenters/ContinentPresenter';
|
|
10
|
+
import { CountryPresenter } from '../presenters/CountryPresenter';
|
|
11
|
+
import { DisciplinePresenter } from '../presenters/DisciplinePresenter';
|
|
7
12
|
export declare class OrganisationsSitemapUrlGeneratorManager extends BaseSitemapUrlGeneratorManager {
|
|
8
13
|
readonly portalType: PortalType;
|
|
9
14
|
readonly policies: ISitemapUrlGenerator[];
|
|
15
|
+
protected readonly presenters: (AreaPresenter | AttendancePresenter | ContinentPresenter | CountryPresenter | DisciplinePresenter)[];
|
|
10
16
|
constructor(portalType: PortalType, searchApiClient: ISearchApiClient, organisationsClient: IOrganisationsClient, rankingApiClient: IRankingApiClient);
|
|
11
17
|
}
|
|
@@ -1,9 +1,22 @@
|
|
|
1
1
|
import { DependencyTypes } from '../enums/DependencyTypes';
|
|
2
2
|
import { BaseSitemapUrlGeneratorManager } from './BaseSitemapUrlGeneratorManager';
|
|
3
|
-
import { Area, AreaAttendance, Attendance, Continent, Country, CountryAttendance, RankedArea, RankedAreaDiscipline, RankedAttendance, RankedAttendanceDiscipline, RankedContinent, RankedContinentAttendance, RankedCountry, RankedCountryAttendance, RankedCountryDiscipline, RankedDiscipline, RankedUnfiltered, Unfiltered } from '../organisations/policies';
|
|
3
|
+
// import { Area, AreaAttendance, Attendance, Continent, Country, CountryAttendance, RankedArea, RankedAreaDiscipline, RankedAttendance, RankedAttendanceDiscipline, RankedContinent, RankedContinentAttendance, RankedCountry, RankedCountryAttendance, RankedCountryDiscipline, RankedDiscipline, RankedUnfiltered, Unfiltered } from '../organisations/policies';
|
|
4
|
+
import { Area, AreaAttendance, Attendance, Continent, Country, CountryAttendance, RankedArea, Unfiltered } from '../organisations/policies';
|
|
5
|
+
import { AreaPresenter } from '../presenters/AreaPresenter';
|
|
6
|
+
import { AttendancePresenter } from '../presenters/AttendancePresenter';
|
|
7
|
+
import { ContinentPresenter } from '../presenters/ContinentPresenter';
|
|
8
|
+
import { CountryPresenter } from '../presenters/CountryPresenter';
|
|
9
|
+
import { DisciplinePresenter } from '../presenters/DisciplinePresenter';
|
|
4
10
|
export class OrganisationsSitemapUrlGeneratorManager extends BaseSitemapUrlGeneratorManager {
|
|
5
11
|
portalType;
|
|
6
12
|
policies;
|
|
13
|
+
presenters = [
|
|
14
|
+
AreaPresenter.getInstance(),
|
|
15
|
+
AttendancePresenter.getInstance(),
|
|
16
|
+
ContinentPresenter.getInstance(),
|
|
17
|
+
CountryPresenter.getInstance(),
|
|
18
|
+
DisciplinePresenter.getInstance()
|
|
19
|
+
];
|
|
7
20
|
constructor(portalType, searchApiClient, organisationsClient, rankingApiClient) {
|
|
8
21
|
super();
|
|
9
22
|
this.portalType = portalType;
|
|
@@ -23,16 +36,17 @@ export class OrganisationsSitemapUrlGeneratorManager extends BaseSitemapUrlGener
|
|
|
23
36
|
new CountryAttendance(dependencies),
|
|
24
37
|
new Unfiltered(dependencies),
|
|
25
38
|
new RankedArea(dependencies),
|
|
26
|
-
new RankedAreaDiscipline(dependencies),
|
|
27
|
-
new RankedAttendance(dependencies),
|
|
28
|
-
new RankedAttendanceDiscipline(dependencies),
|
|
29
|
-
new RankedContinent(dependencies),
|
|
30
|
-
new RankedContinentAttendance(dependencies),
|
|
31
|
-
new RankedCountry(dependencies),
|
|
32
|
-
new RankedCountryAttendance(dependencies),
|
|
33
|
-
new RankedCountryDiscipline(dependencies),
|
|
34
|
-
new RankedDiscipline(dependencies),
|
|
35
|
-
new RankedUnfiltered(dependencies)
|
|
39
|
+
// new RankedAreaDiscipline(dependencies),
|
|
40
|
+
// new RankedAttendance(dependencies),
|
|
41
|
+
// new RankedAttendanceDiscipline(dependencies),
|
|
42
|
+
// new RankedContinent(dependencies),
|
|
43
|
+
// new RankedContinentAttendance(dependencies),
|
|
44
|
+
// new RankedCountry(dependencies),
|
|
45
|
+
// new RankedCountryAttendance(dependencies),
|
|
46
|
+
// new RankedCountryDiscipline(dependencies),
|
|
47
|
+
// new RankedDiscipline(dependencies),
|
|
48
|
+
// new RankedUnfiltered(dependencies)
|
|
36
49
|
];
|
|
50
|
+
this.setFilterKeyValueCounts();
|
|
37
51
|
}
|
|
38
52
|
}
|
|
@@ -4,5 +4,6 @@ import { ISearchApiClient } from '../sitemap-generator/ISearchApiClient';
|
|
|
4
4
|
import { BaseSitemapUrlGeneratorManager } from './BaseSitemapUrlGeneratorManager';
|
|
5
5
|
export declare class ScholarshipsSitemapUrlGeneratorManager extends BaseSitemapUrlGeneratorManager {
|
|
6
6
|
readonly policies: ISitemapUrlGenerator[];
|
|
7
|
+
protected readonly presenters: never[];
|
|
7
8
|
constructor(searchApiClient: ISearchApiClient, organisationsClient: IOrganisationsClient);
|
|
8
9
|
}
|
|
@@ -8,6 +8,7 @@ import { Unfiltered } from '../scholarships/policies/Unfiltered';
|
|
|
8
8
|
import { BaseSitemapUrlGeneratorManager } from './BaseSitemapUrlGeneratorManager';
|
|
9
9
|
export class ScholarshipsSitemapUrlGeneratorManager extends BaseSitemapUrlGeneratorManager {
|
|
10
10
|
policies;
|
|
11
|
+
presenters = [];
|
|
11
12
|
constructor(searchApiClient, organisationsClient) {
|
|
12
13
|
super();
|
|
13
14
|
const dependencies = {
|