@studyportals/fawkes 2.0.1-24 → 2.0.1-25
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/ISearchDependencies.d.ts +8 -0
- package/dist/src/common/ISearchDependencies.js +1 -0
- package/dist/src/common/RuleBasedIndexabilityPolicy.d.ts +3 -4
- package/dist/src/common/RuleBasedIndexabilityPolicy.js +0 -6
- package/dist/src/scholarships/policies/AreaPolicy.d.ts +4 -2
- package/dist/src/scholarships/policies/AreaPolicy.js +24 -10
- package/dist/src/scholarships/policies/CountryPolicy.d.ts +4 -2
- package/dist/src/scholarships/policies/CountryPolicy.js +15 -8
- package/dist/src/scholarships/policies/DisciplineCountryPolicy.d.ts +4 -2
- package/dist/src/scholarships/policies/DisciplineCountryPolicy.js +17 -10
- package/dist/src/scholarships/policies/DisciplinePolicy.d.ts +4 -2
- package/dist/src/scholarships/policies/DisciplinePolicy.js +15 -9
- package/dist/src/sitemap-generator/ISitemapDependencies.d.ts +7 -0
- package/dist/src/sitemap-generator/ISitemapDependencies.js +1 -0
- package/dist/src/types/SeoDependencies.d.ts +3 -3
- package/package.json +1 -1
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ISeoInfoBase, ISeoFilterState, ISeoFilterOptions, ISeoSearchApplicationState } from "../common";
|
|
2
|
+
import { IDependencies } from "./IDependencies";
|
|
3
|
+
export interface ISearchDependencies extends IDependencies {
|
|
4
|
+
seoInfoBase: ISeoInfoBase;
|
|
5
|
+
filterState: ISeoFilterState;
|
|
6
|
+
filterOptions?: ISeoFilterOptions;
|
|
7
|
+
applicationState?: ISeoSearchApplicationState;
|
|
8
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { BaseSeoIndexabilityPolicy } from "./BaseSeoIndexabilityPolicy";
|
|
2
2
|
import { SeoDependencies } from "../types/SeoDependencies";
|
|
3
|
-
import {
|
|
3
|
+
import { ISearchDependencies } from "./ISearchDependencies";
|
|
4
4
|
import { IFilterKeyValues } from "./IFilterKeyValues";
|
|
5
5
|
export declare abstract class RuleBasedIndexabilityPolicy extends BaseSeoIndexabilityPolicy {
|
|
6
|
-
protected abstract rules: ICustomRule[];
|
|
7
6
|
constructor(dependencies: SeoDependencies);
|
|
8
|
-
protected
|
|
9
|
-
protected
|
|
7
|
+
protected abstract checksRulesForSearch(searchDependencies: ISearchDependencies): boolean;
|
|
8
|
+
protected abstract checksRulesForSitemap(filters?: IFilterKeyValues): boolean;
|
|
10
9
|
}
|
|
@@ -3,10 +3,4 @@ export class RuleBasedIndexabilityPolicy extends BaseSeoIndexabilityPolicy {
|
|
|
3
3
|
constructor(dependencies) {
|
|
4
4
|
super(dependencies);
|
|
5
5
|
}
|
|
6
|
-
checksEveryRuleForSearch(filterKeyValues) {
|
|
7
|
-
return this.rules.every(rule => rule.forSearch(filterKeyValues));
|
|
8
|
-
}
|
|
9
|
-
checksEveryRuleForSitemap(filterKeyValues) {
|
|
10
|
-
return this.rules.every(rule => rule.forSitemapGenerator(filterKeyValues));
|
|
11
|
-
}
|
|
12
6
|
}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
2
2
|
import { SeoDependencies } from '../../types/SeoDependencies';
|
|
3
|
+
import { ISearchDependencies } from '../../common/ISearchDependencies';
|
|
3
4
|
import { RuleBasedIndexabilityPolicy } from '../../common/RuleBasedIndexabilityPolicy';
|
|
4
|
-
import { ICustomRule } from '../../common/ICustomRule';
|
|
5
5
|
import { ISeoIndexabilityPolicy } from '../../common/ISeoIndexabilityPolicy';
|
|
6
|
+
import { IFilterKeyValues } from '../../common/IFilterKeyValues';
|
|
6
7
|
export declare class AreaPolicy extends RuleBasedIndexabilityPolicy implements ISeoIndexabilityPolicy {
|
|
7
|
-
protected rules: ICustomRule[];
|
|
8
8
|
constructor(dependencies: SeoDependencies);
|
|
9
9
|
protected matchesFilters(): Promise<boolean>;
|
|
10
10
|
generateUrls(): Promise<string[]>;
|
|
11
11
|
get filterCombination(): FilterCombinations;
|
|
12
|
+
protected checksRulesForSearch(dependencies: ISearchDependencies): boolean;
|
|
13
|
+
protected checksRulesForSitemap(filterKeyValues: IFilterKeyValues): boolean;
|
|
12
14
|
}
|
|
@@ -5,10 +5,6 @@ import { ExceptAustraliaAreasRule } from '../rules/ExceptAustaliaAreasRule';
|
|
|
5
5
|
import { SearchVolumeAreasRule } from '../rules/SearchVolumeAreasRule';
|
|
6
6
|
import { AreaPresenter } from '../../presenters/AreaPresenter';
|
|
7
7
|
export class AreaPolicy extends RuleBasedIndexabilityPolicy {
|
|
8
|
-
rules = [
|
|
9
|
-
SearchVolumeAreasRule.getInstance(),
|
|
10
|
-
ExceptAustraliaAreasRule.getInstance()
|
|
11
|
-
];
|
|
12
8
|
constructor(dependencies) {
|
|
13
9
|
super(dependencies);
|
|
14
10
|
}
|
|
@@ -23,10 +19,7 @@ export class AreaPolicy extends RuleBasedIndexabilityPolicy {
|
|
|
23
19
|
FilterKey.AREA,
|
|
24
20
|
FilterKey.COUNTRY
|
|
25
21
|
], filterState);
|
|
26
|
-
const
|
|
27
|
-
const hasSearchVolumeAndNotAustralia = this.checksEveryRuleForSearch({
|
|
28
|
-
[FilterKey.AREA]: areaSelected ?? undefined
|
|
29
|
-
});
|
|
22
|
+
const hasSearchVolumeAndNotAustralia = this.checksRulesForSearch(this.dependencies);
|
|
30
23
|
return singleAreaSelected
|
|
31
24
|
&& singleCountrySelected
|
|
32
25
|
&& onlyAreaAndCountrySelected
|
|
@@ -35,8 +28,9 @@ export class AreaPolicy extends RuleBasedIndexabilityPolicy {
|
|
|
35
28
|
async generateUrls() {
|
|
36
29
|
const areaFragments = AreaPresenter.getInstance().getFragments();
|
|
37
30
|
const paths = areaFragments
|
|
38
|
-
.filter(area => this.
|
|
39
|
-
[FilterKey.COUNTRY]: area.countryId
|
|
31
|
+
.filter(area => this.checksRulesForSitemap({
|
|
32
|
+
[FilterKey.COUNTRY]: area.countryId,
|
|
33
|
+
[FilterKey.AREA]: area.id
|
|
40
34
|
}))
|
|
41
35
|
.map(area => area.path);
|
|
42
36
|
return Promise.resolve(paths);
|
|
@@ -44,4 +38,24 @@ export class AreaPolicy extends RuleBasedIndexabilityPolicy {
|
|
|
44
38
|
get filterCombination() {
|
|
45
39
|
return FilterCombinations.AREA;
|
|
46
40
|
}
|
|
41
|
+
checksRulesForSearch(dependencies) {
|
|
42
|
+
const { seoInfoBase, filterState } = dependencies;
|
|
43
|
+
const exceptAustraliaAreasRule = ExceptAustraliaAreasRule.getInstance();
|
|
44
|
+
const areaSelected = seoInfoBase.getFilterOptionValueBy(FilterKey.AREA, filterState);
|
|
45
|
+
const notInAustralia = exceptAustraliaAreasRule.forSearch({
|
|
46
|
+
[FilterKey.AREA]: areaSelected ?? undefined
|
|
47
|
+
});
|
|
48
|
+
const searchVolumeAreasRule = SearchVolumeAreasRule.getInstance();
|
|
49
|
+
const hasSearchVolume = searchVolumeAreasRule.forSearch({
|
|
50
|
+
[FilterKey.AREA]: areaSelected ?? undefined
|
|
51
|
+
});
|
|
52
|
+
return notInAustralia && hasSearchVolume;
|
|
53
|
+
}
|
|
54
|
+
checksRulesForSitemap(filterKeyValues) {
|
|
55
|
+
const exceptAustraliaAreasRule = ExceptAustraliaAreasRule.getInstance();
|
|
56
|
+
const notInAustralia = exceptAustraliaAreasRule.forSitemapGenerator(filterKeyValues);
|
|
57
|
+
const searchVolumeAreasRule = SearchVolumeAreasRule.getInstance();
|
|
58
|
+
const hasSearchVolume = searchVolumeAreasRule.forSitemapGenerator(filterKeyValues);
|
|
59
|
+
return notInAustralia && hasSearchVolume;
|
|
60
|
+
}
|
|
47
61
|
}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
2
|
-
import {
|
|
2
|
+
import { ISearchDependencies } from '../../common/ISearchDependencies';
|
|
3
3
|
import { SeoDependencies } from '../../types/SeoDependencies';
|
|
4
4
|
import { RuleBasedIndexabilityPolicy } from '../../common/RuleBasedIndexabilityPolicy';
|
|
5
5
|
import { ISeoIndexabilityPolicy } from '../../common/ISeoIndexabilityPolicy';
|
|
6
|
+
import { IFilterKeyValues } from '../../common/IFilterKeyValues';
|
|
6
7
|
export declare class CountryPolicy extends RuleBasedIndexabilityPolicy implements ISeoIndexabilityPolicy {
|
|
7
|
-
protected rules: ICustomRule[];
|
|
8
8
|
constructor(dependencies: SeoDependencies);
|
|
9
9
|
protected matchesFilters(): Promise<boolean>;
|
|
10
10
|
generateUrls(): Promise<string[]>;
|
|
11
11
|
get filterCombination(): FilterCombinations;
|
|
12
|
+
protected checksRulesForSearch(dependencies: ISearchDependencies): boolean;
|
|
13
|
+
protected checksRulesForSitemap(filters: IFilterKeyValues): boolean;
|
|
12
14
|
}
|
|
@@ -4,9 +4,6 @@ import { SearchVolumeCountriesRule } from '../rules/SearchVolumeCountriesRule';
|
|
|
4
4
|
import { RuleBasedIndexabilityPolicy } from '../../common/RuleBasedIndexabilityPolicy';
|
|
5
5
|
import { CountryPresenter } from '../../presenters/CountryPresenter';
|
|
6
6
|
export class CountryPolicy extends RuleBasedIndexabilityPolicy {
|
|
7
|
-
rules = [
|
|
8
|
-
SearchVolumeCountriesRule.getInstance()
|
|
9
|
-
];
|
|
10
7
|
constructor(dependencies) {
|
|
11
8
|
super(dependencies);
|
|
12
9
|
}
|
|
@@ -16,10 +13,7 @@ export class CountryPolicy extends RuleBasedIndexabilityPolicy {
|
|
|
16
13
|
const onlyCountrySelected = await seoInfoBase.selectionOnlyFor([
|
|
17
14
|
FilterKey.COUNTRY
|
|
18
15
|
], filterState);
|
|
19
|
-
const
|
|
20
|
-
const hasSearchVolume = this.checksEveryRuleForSearch({
|
|
21
|
-
[FilterKey.COUNTRY]: countrySelected ?? undefined
|
|
22
|
-
});
|
|
16
|
+
const hasSearchVolume = this.checksRulesForSearch(this.dependencies);
|
|
23
17
|
return singleCountrySelected
|
|
24
18
|
&& onlyCountrySelected
|
|
25
19
|
&& hasSearchVolume;
|
|
@@ -27,7 +21,7 @@ export class CountryPolicy extends RuleBasedIndexabilityPolicy {
|
|
|
27
21
|
generateUrls() {
|
|
28
22
|
const countryFragments = CountryPresenter.getInstance().getFragments();
|
|
29
23
|
const paths = countryFragments
|
|
30
|
-
.filter(country => this.
|
|
24
|
+
.filter(country => this.checksRulesForSitemap({
|
|
31
25
|
[FilterKey.COUNTRY]: country.id
|
|
32
26
|
}))
|
|
33
27
|
.map(country => country.path);
|
|
@@ -36,4 +30,17 @@ export class CountryPolicy extends RuleBasedIndexabilityPolicy {
|
|
|
36
30
|
get filterCombination() {
|
|
37
31
|
return FilterCombinations.COUNTRY;
|
|
38
32
|
}
|
|
33
|
+
checksRulesForSearch(dependencies) {
|
|
34
|
+
const { seoInfoBase, filterState } = dependencies;
|
|
35
|
+
const hasSearchVolumeRule = SearchVolumeCountriesRule.getInstance();
|
|
36
|
+
const countrySelected = seoInfoBase.getFilterOptionValueBy(FilterKey.COUNTRY, filterState);
|
|
37
|
+
const hasSearchVolume = hasSearchVolumeRule.forSearch({
|
|
38
|
+
[FilterKey.COUNTRY]: countrySelected ?? undefined
|
|
39
|
+
});
|
|
40
|
+
return hasSearchVolume;
|
|
41
|
+
}
|
|
42
|
+
checksRulesForSitemap(filters) {
|
|
43
|
+
const hasSearchVolumeRule = SearchVolumeCountriesRule.getInstance();
|
|
44
|
+
return hasSearchVolumeRule.forSitemapGenerator(filters);
|
|
45
|
+
}
|
|
39
46
|
}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { ISeoIndexabilityPolicy } from '../../common/ISeoIndexabilityPolicy';
|
|
2
2
|
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
3
3
|
import { SeoDependencies } from '../../types/SeoDependencies';
|
|
4
|
+
import { ISearchDependencies } from '../../common/ISearchDependencies';
|
|
4
5
|
import { RuleBasedIndexabilityPolicy } from '../../common/RuleBasedIndexabilityPolicy';
|
|
5
|
-
import {
|
|
6
|
+
import { IFilterKeyValues } from '../../common/IFilterKeyValues';
|
|
6
7
|
export declare class DisciplineCountryPolicy extends RuleBasedIndexabilityPolicy implements ISeoIndexabilityPolicy {
|
|
7
|
-
protected rules: ICustomRule[];
|
|
8
8
|
constructor(dependencies: SeoDependencies);
|
|
9
9
|
protected matchesFilters(): Promise<boolean>;
|
|
10
10
|
generateUrls(): Promise<string[]>;
|
|
11
11
|
get filterCombination(): FilterCombinations;
|
|
12
|
+
protected checksRulesForSearch(dependencies: ISearchDependencies): boolean;
|
|
13
|
+
protected checksRulesForSitemap(filters: IFilterKeyValues): boolean;
|
|
12
14
|
}
|
|
@@ -4,9 +4,6 @@ import { RuleBasedIndexabilityPolicy } from '../../common/RuleBasedIndexabilityP
|
|
|
4
4
|
import { SearchVolumeCountriesDisciplinesRule } from '../rules/SearchVolumeCountryDisciplineRule';
|
|
5
5
|
import { CountryPresenter } from '../../presenters/CountryPresenter';
|
|
6
6
|
export class DisciplineCountryPolicy extends RuleBasedIndexabilityPolicy {
|
|
7
|
-
rules = [
|
|
8
|
-
SearchVolumeCountriesDisciplinesRule.getInstance()
|
|
9
|
-
];
|
|
10
7
|
constructor(dependencies) {
|
|
11
8
|
super(dependencies);
|
|
12
9
|
}
|
|
@@ -21,12 +18,7 @@ export class DisciplineCountryPolicy extends RuleBasedIndexabilityPolicy {
|
|
|
21
18
|
FilterKey.DISCIPLINES,
|
|
22
19
|
FilterKey.COUNTRY
|
|
23
20
|
], filterState);
|
|
24
|
-
const
|
|
25
|
-
const disciplineSelected = seoInfoBase.getFilterOptionValueBy(FilterKey.DISCIPLINES, filterState);
|
|
26
|
-
const hasSearchVolume = this.checksEveryRuleForSearch({
|
|
27
|
-
[FilterKey.COUNTRY]: countrySelected ?? undefined,
|
|
28
|
-
[FilterKey.DISCIPLINES]: disciplineSelected ?? undefined
|
|
29
|
-
});
|
|
21
|
+
const hasSearchVolume = this.checksRulesForSearch(this.dependencies);
|
|
30
22
|
return singleDisciplineSelected
|
|
31
23
|
&& singleCountrySelected
|
|
32
24
|
&& onlyDisciplineAndCountrySelected
|
|
@@ -38,7 +30,7 @@ export class DisciplineCountryPolicy extends RuleBasedIndexabilityPolicy {
|
|
|
38
30
|
const disciplineFragments = CountryPresenter.getInstance().getFragments();
|
|
39
31
|
countryFragments.forEach(country => {
|
|
40
32
|
disciplineFragments.forEach(discipline => {
|
|
41
|
-
if (this.
|
|
33
|
+
if (this.checksRulesForSitemap({
|
|
42
34
|
[FilterKey.COUNTRY]: country.id,
|
|
43
35
|
[FilterKey.DISCIPLINES]: discipline.id
|
|
44
36
|
})) {
|
|
@@ -51,4 +43,19 @@ export class DisciplineCountryPolicy extends RuleBasedIndexabilityPolicy {
|
|
|
51
43
|
get filterCombination() {
|
|
52
44
|
return FilterCombinations.DISCIPLINE_COUNTRY;
|
|
53
45
|
}
|
|
46
|
+
checksRulesForSearch(dependencies) {
|
|
47
|
+
const { seoInfoBase, filterState } = dependencies;
|
|
48
|
+
const countrySelected = seoInfoBase.getFilterOptionValueBy(FilterKey.COUNTRY, filterState);
|
|
49
|
+
const disciplineSelected = seoInfoBase.getFilterOptionValueBy(FilterKey.DISCIPLINES, filterState);
|
|
50
|
+
const searchVolumeRule = SearchVolumeCountriesDisciplinesRule.getInstance();
|
|
51
|
+
const hasSearchVolume = searchVolumeRule.forSearch({
|
|
52
|
+
[FilterKey.COUNTRY]: countrySelected ?? undefined,
|
|
53
|
+
[FilterKey.DISCIPLINES]: disciplineSelected ?? undefined
|
|
54
|
+
});
|
|
55
|
+
return hasSearchVolume;
|
|
56
|
+
}
|
|
57
|
+
checksRulesForSitemap(filters) {
|
|
58
|
+
const searchVolumeRule = SearchVolumeCountriesDisciplinesRule.getInstance();
|
|
59
|
+
return searchVolumeRule.forSitemapGenerator(filters);
|
|
60
|
+
}
|
|
54
61
|
}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { SeoDependencies } from '../../types/SeoDependencies';
|
|
2
|
-
import {
|
|
2
|
+
import { ISearchDependencies } from '../../common/ISearchDependencies';
|
|
3
3
|
import { ISeoIndexabilityPolicy } from '../../common/ISeoIndexabilityPolicy';
|
|
4
4
|
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
5
5
|
import { RuleBasedIndexabilityPolicy } from '../../common/RuleBasedIndexabilityPolicy';
|
|
6
|
+
import { IFilterKeyValues } from '../../common/IFilterKeyValues';
|
|
6
7
|
export declare class DisciplinePolicy extends RuleBasedIndexabilityPolicy implements ISeoIndexabilityPolicy {
|
|
7
|
-
protected rules: ICustomRule[];
|
|
8
8
|
constructor(dependencies: SeoDependencies);
|
|
9
9
|
protected matchesFilters(): Promise<boolean>;
|
|
10
10
|
generateUrls(): Promise<string[]>;
|
|
11
11
|
get filterCombination(): FilterCombinations;
|
|
12
|
+
protected checksRulesForSearch(dependencies: ISearchDependencies): boolean;
|
|
13
|
+
protected checksRulesForSitemap(filters: IFilterKeyValues): boolean;
|
|
12
14
|
}
|
|
@@ -4,12 +4,8 @@ import { SearchVolumeDisciplinesRule } from '../../scholarships/rules/SearchVolu
|
|
|
4
4
|
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
5
5
|
import { RuleBasedIndexabilityPolicy } from '../../common/RuleBasedIndexabilityPolicy';
|
|
6
6
|
export class DisciplinePolicy extends RuleBasedIndexabilityPolicy {
|
|
7
|
-
rules;
|
|
8
7
|
constructor(dependencies) {
|
|
9
8
|
super(dependencies);
|
|
10
|
-
this.rules = [
|
|
11
|
-
SearchVolumeDisciplinesRule.getInstance(),
|
|
12
|
-
];
|
|
13
9
|
}
|
|
14
10
|
async matchesFilters() {
|
|
15
11
|
const { seoInfoBase, filterState } = this.dependencies;
|
|
@@ -17,10 +13,7 @@ export class DisciplinePolicy extends RuleBasedIndexabilityPolicy {
|
|
|
17
13
|
const onlyDisciplineSelected = await seoInfoBase.selectionOnlyFor([
|
|
18
14
|
FilterKey.DISCIPLINES
|
|
19
15
|
], filterState);
|
|
20
|
-
const
|
|
21
|
-
const hasSearchVolume = this.checksEveryRuleForSearch({
|
|
22
|
-
[FilterKey.DISCIPLINES]: disciplineSelected ?? undefined
|
|
23
|
-
});
|
|
16
|
+
const hasSearchVolume = this.checksRulesForSearch(this.dependencies);
|
|
24
17
|
return singleDisciplineSelected
|
|
25
18
|
&& onlyDisciplineSelected
|
|
26
19
|
&& hasSearchVolume;
|
|
@@ -28,7 +21,7 @@ export class DisciplinePolicy extends RuleBasedIndexabilityPolicy {
|
|
|
28
21
|
generateUrls() {
|
|
29
22
|
const disciplineFragments = DisciplinePresenter.getInstance().getFragments();
|
|
30
23
|
const paths = disciplineFragments
|
|
31
|
-
.filter(discipline => this.
|
|
24
|
+
.filter(discipline => this.checksRulesForSitemap({
|
|
32
25
|
[FilterKey.DISCIPLINES]: discipline.id
|
|
33
26
|
}))
|
|
34
27
|
.map(discipline => discipline.path);
|
|
@@ -37,4 +30,17 @@ export class DisciplinePolicy extends RuleBasedIndexabilityPolicy {
|
|
|
37
30
|
get filterCombination() {
|
|
38
31
|
return FilterCombinations.DISCIPLINE;
|
|
39
32
|
}
|
|
33
|
+
checksRulesForSearch(dependencies) {
|
|
34
|
+
const { seoInfoBase, filterState } = dependencies;
|
|
35
|
+
const hasSearchVolumeRule = SearchVolumeDisciplinesRule.getInstance();
|
|
36
|
+
const disciplineSelected = seoInfoBase.getFilterOptionValueBy(FilterKey.DISCIPLINES, filterState);
|
|
37
|
+
const hasSearchVolume = hasSearchVolumeRule.forSearch({
|
|
38
|
+
[FilterKey.DISCIPLINES]: disciplineSelected ?? undefined
|
|
39
|
+
});
|
|
40
|
+
return hasSearchVolume;
|
|
41
|
+
}
|
|
42
|
+
checksRulesForSitemap(filters) {
|
|
43
|
+
const hasSearchVolumeRule = SearchVolumeDisciplinesRule.getInstance();
|
|
44
|
+
return hasSearchVolumeRule.forSitemapGenerator(filters);
|
|
45
|
+
}
|
|
40
46
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { IDependencies } from "../common/IDependencies";
|
|
2
|
+
import { ISearchApiClient } from "./ISearchApiClient";
|
|
3
|
+
import { IOrganisationsClient } from "./IOrganisationsClient";
|
|
4
|
+
export interface ISitemapDependencies extends IDependencies {
|
|
5
|
+
searchApiClient?: ISearchApiClient;
|
|
6
|
+
organisationsClient?: IOrganisationsClient;
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
export type SeoDependencies =
|
|
1
|
+
import { ISearchDependencies } from "../common/ISearchDependencies";
|
|
2
|
+
import { ISitemapDependencies } from "../sitemap-generator/ISitemapDependencies";
|
|
3
|
+
export type SeoDependencies = ISearchDependencies | ISitemapDependencies;
|