@studyportals/fawkes 8.7.0 → 8.7.1-1
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/programmes/SearchIndexabilityManager.js +7 -3
- package/dist/src/programmes/policies/{DisciplineTuitionFee.d.ts → DegreeTuitionFeeArea.d.ts} +2 -2
- package/dist/src/programmes/policies/{DegreeAreaTuitionFee.js → DegreeTuitionFeeArea.js} +1 -1
- package/dist/src/programmes/policies/{DegreeFormatTuitionFee.d.ts → DegreeTuitionFeeFormat.d.ts} +1 -1
- package/dist/src/programmes/policies/{DegreeFormatTuitionFee.js → DegreeTuitionFeeFormat.js} +3 -3
- package/dist/src/programmes/policies/index.d.ts +4 -5
- package/dist/src/programmes/policies/index.js +4 -5
- package/dist/src/sitemap-generator/ProgrammesSitemapUrlGeneratorManager.js +3 -3
- package/package.json +1 -1
- package/dist/src/programmes/policies/AttendanceTuitionFee.d.ts +0 -17
- package/dist/src/programmes/policies/AttendanceTuitionFee.js +0 -51
- package/dist/src/programmes/policies/ContinentTuitionFee.d.ts +0 -16
- package/dist/src/programmes/policies/ContinentTuitionFee.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/DegreeAreaTuitionFee.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/{DegreeAttendanceTuitionFee.d.ts → DegreeTuitionFeeAttendance.d.ts} +0 -0
- /package/dist/src/programmes/policies/{DegreeAttendanceTuitionFee.js → DegreeTuitionFeeAttendance.js} +0 -0
- /package/dist/src/programmes/policies/{DegreeContinentTuitionFee.d.ts → DegreeTuitionFeeContinent.d.ts} +0 -0
- /package/dist/src/programmes/policies/{DegreeContinentTuitionFee.js → DegreeTuitionFeeContinent.js} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Area, Attendance, AttendanceDegree, Continent, Country, CountryAttendance, CountryAttendanceDegree, CountryDegree, CountryDuration, CountryDurationDegree, CountryEducationalForm, CountryFormat, DegreeAttendanceDiscipline, DegreeCountryAttendance, DegreeCountryDiscipline, DegreeCountryTuitionFee, Discipline, DisciplineAttendance, DisciplineContinent, DisciplineCountry, DisciplineCountryEducationalForm, DisciplineDegree, DisciplineDuration, DisciplineEducationalForm, DisciplineFormat, SpecialProgrammes, TuitionFee, Unfiltered, AttendanceArea, AttendanceContinent, AttendanceDuration, AttendanceFormat, ContinentDuration, ContinentFormat, ContinentSpecialProgrammes, CountrySpecialProgrammes, DegreeArea,
|
|
1
|
+
import { Area, Attendance, AttendanceDegree, Continent, Country, CountryAttendance, CountryAttendanceDegree, CountryDegree, CountryDuration, CountryDurationDegree, CountryEducationalForm, CountryFormat, DegreeAttendanceDiscipline, DegreeCountryAttendance, DegreeCountryDiscipline, DegreeCountryTuitionFee, Discipline, DisciplineAttendance, DisciplineContinent, DisciplineCountry, DisciplineCountryEducationalForm, DisciplineDegree, DisciplineDuration, DisciplineEducationalForm, DisciplineFormat, SpecialProgrammes, TuitionFee, Unfiltered, AttendanceArea, AttendanceContinent, AttendanceDuration, AttendanceFormat, ContinentDuration, ContinentFormat, ContinentSpecialProgrammes, CountrySpecialProgrammes, DegreeArea, DegreeAttendanceFormat, DegreeContinent, DegreeDuration, DegreeFormat, DegreeSpecialProgrammes, DegreeTuitionFeeArea, DegreeTuitionFeeFormat, DisciplineContinentAttendance, DisciplineCountryAttendance, DisciplineCountryFormat, Duration, Format, TuitionFeeDiscipline, TuitionFeeCountry, TuitionFeeContinent, DegreeTuitionFee } from './policies';
|
|
2
2
|
import { DependencyTypes } from '../enums/DependencyTypes';
|
|
3
3
|
import { Degree } from './policies/Degree';
|
|
4
4
|
import { DisciplineSpecialProgrammes } from './policies/DisciplineSpecialProgrammes';
|
|
@@ -47,12 +47,12 @@ export class SearchIndexabilityManager {
|
|
|
47
47
|
new Unfiltered(dependencies),
|
|
48
48
|
new CountrySpecialProgrammes(dependencies),
|
|
49
49
|
new DegreeArea(dependencies),
|
|
50
|
-
new
|
|
50
|
+
new DegreeTuitionFeeArea(dependencies),
|
|
51
51
|
new DegreeAttendanceFormat(dependencies),
|
|
52
52
|
new DegreeContinent(dependencies),
|
|
53
53
|
new DegreeDuration(dependencies),
|
|
54
54
|
new DegreeFormat(dependencies),
|
|
55
|
-
new
|
|
55
|
+
new DegreeTuitionFeeFormat(dependencies),
|
|
56
56
|
new DegreeSpecialProgrammes(dependencies),
|
|
57
57
|
new DisciplineContinentAttendance(dependencies),
|
|
58
58
|
new DisciplineCountryAttendance(dependencies),
|
|
@@ -66,6 +66,10 @@ export class SearchIndexabilityManager {
|
|
|
66
66
|
new ContinentDuration(dependencies),
|
|
67
67
|
new ContinentFormat(dependencies),
|
|
68
68
|
new ContinentSpecialProgrammes(dependencies),
|
|
69
|
+
new TuitionFeeDiscipline(dependencies),
|
|
70
|
+
new TuitionFeeCountry(dependencies),
|
|
71
|
+
new TuitionFeeContinent(dependencies),
|
|
72
|
+
new DegreeTuitionFee(dependencies)
|
|
69
73
|
];
|
|
70
74
|
}
|
|
71
75
|
getPolicies() {
|
package/dist/src/programmes/policies/{DisciplineTuitionFee.d.ts → DegreeTuitionFeeArea.d.ts}
RENAMED
|
@@ -2,10 +2,10 @@ import { FilterKey } from '@studyportals/search-filters/server-side';
|
|
|
2
2
|
import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
|
|
3
3
|
import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
4
|
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
5
|
-
import { AffordableTuitionFeeRule } from '../rules/AffordableTuitionFeeRule';
|
|
6
5
|
import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
|
|
7
6
|
import { IProgrammeSeoDependencies } from '../types/IProgrammeSeoDependencies';
|
|
8
|
-
|
|
7
|
+
import { AffordableTuitionFeeRule } from '../rules/AffordableTuitionFeeRule';
|
|
8
|
+
export declare class DegreeTuitionFeeArea extends ProgrammesBaseIndexabilityPolicy {
|
|
9
9
|
readonly name: string;
|
|
10
10
|
readonly description: string;
|
|
11
11
|
readonly filterKeys: FilterKey[];
|
|
@@ -7,7 +7,7 @@ import { AreaPresenter } from '../../presenters/AreaPresenter';
|
|
|
7
7
|
import { DegreePresenter } from '../../presenters/DegreePresenter';
|
|
8
8
|
import { TuitionFeePresenter } from '../../presenters/TuitionFeePresenter';
|
|
9
9
|
import { AffordableTuitionFeeRule } from '../rules/AffordableTuitionFeeRule';
|
|
10
|
-
export class
|
|
10
|
+
export class DegreeTuitionFeeArea extends ProgrammesBaseIndexabilityPolicy {
|
|
11
11
|
name = 'Degree Area Tuition fee Policy';
|
|
12
12
|
description = 'Controls indexing of pages filtered by geographic areas and tuition fees.';
|
|
13
13
|
filterKeys = [FilterKey.AREA, FilterKey.DEGREE_TYPE, FilterKey.TUITION_FEE, FilterKey.COUNTRY];
|
package/dist/src/programmes/policies/{DegreeFormatTuitionFee.d.ts → DegreeTuitionFeeFormat.d.ts}
RENAMED
|
@@ -3,7 +3,7 @@ import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
|
3
3
|
import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
|
|
4
4
|
import { IProgrammeSeoDependencies } from '../types/IProgrammeSeoDependencies';
|
|
5
5
|
import { IRule } from '../../common/IRule';
|
|
6
|
-
export declare class
|
|
6
|
+
export declare class DegreeTuitionFeeFormat extends ProgrammesBaseIndexabilityPolicy {
|
|
7
7
|
readonly name: string;
|
|
8
8
|
readonly description: string;
|
|
9
9
|
readonly filterKeys: FilterKey[];
|
package/dist/src/programmes/policies/{DegreeFormatTuitionFee.js → DegreeTuitionFeeFormat.js}
RENAMED
|
@@ -9,9 +9,9 @@ import { FormatPresenter } from '../../presenters/FormatPresenter';
|
|
|
9
9
|
import { TuitionFeePresenter } from '../../presenters/TuitionFeePresenter';
|
|
10
10
|
import { AffordableTuitionFeeRule } from '../rules/AffordableTuitionFeeRule';
|
|
11
11
|
import { PartTimeFormatRule } from '../rules/PartTimeFormatRule';
|
|
12
|
-
export class
|
|
13
|
-
name = 'Degree
|
|
14
|
-
description = 'Determines indexing rules for pages filtered by degree type,
|
|
12
|
+
export class DegreeTuitionFeeFormat extends ProgrammesBaseIndexabilityPolicy {
|
|
13
|
+
name = 'Degree Tuition Fee Format Policy';
|
|
14
|
+
description = 'Determines indexing rules for pages filtered by degree type, tuition fee and format.';
|
|
15
15
|
filterKeys = [FilterKey.DEGREE_TYPE, FilterKey.TUITION_FEE, FilterKey.ATTENDANCE];
|
|
16
16
|
rules;
|
|
17
17
|
constructor(dependencies) {
|
|
@@ -33,17 +33,16 @@ export * from './TuitionFee';
|
|
|
33
33
|
export * from './Unfiltered';
|
|
34
34
|
export * from './Format';
|
|
35
35
|
export * from './DegreeFormat';
|
|
36
|
-
export * from './
|
|
36
|
+
export * from './DegreeTuitionFeeAttendance';
|
|
37
37
|
export * from './DegreeArea';
|
|
38
38
|
export * from './DegreeTuitionFee';
|
|
39
|
-
export * from './DegreeAttendanceTuitionFee';
|
|
40
39
|
export * from './DegreeContinent';
|
|
41
40
|
export * from './TuitionFeeAttendance';
|
|
42
41
|
export * from './Duration';
|
|
43
42
|
export * from './AttendanceDuration';
|
|
44
|
-
export * from './
|
|
43
|
+
export * from './DegreeTuitionFeeArea';
|
|
45
44
|
export * from './DisciplineContinentAttendance';
|
|
46
|
-
export * from './
|
|
45
|
+
export * from './DegreeTuitionFeeContinent';
|
|
47
46
|
export * from './AttendanceFormat';
|
|
48
47
|
export * from './ContinentFormat';
|
|
49
48
|
export * from './AttendanceContinent';
|
|
@@ -51,7 +50,7 @@ export * from './DegreeDuration';
|
|
|
51
50
|
export * from './ContinentSpecialProgrammes';
|
|
52
51
|
export * from './CountrySpecialProgrammes';
|
|
53
52
|
export * from './AttendanceArea';
|
|
54
|
-
export * from './
|
|
53
|
+
export * from './DegreeTuitionFeeFormat';
|
|
55
54
|
export * from './ContinentDuration';
|
|
56
55
|
export * from './DegreeAttendanceFormat';
|
|
57
56
|
export * from './DisciplineCountryAttendance';
|
|
@@ -33,17 +33,16 @@ export * from './TuitionFee';
|
|
|
33
33
|
export * from './Unfiltered';
|
|
34
34
|
export * from './Format';
|
|
35
35
|
export * from './DegreeFormat';
|
|
36
|
-
export * from './
|
|
36
|
+
export * from './DegreeTuitionFeeAttendance';
|
|
37
37
|
export * from './DegreeArea';
|
|
38
38
|
export * from './DegreeTuitionFee';
|
|
39
|
-
export * from './DegreeAttendanceTuitionFee';
|
|
40
39
|
export * from './DegreeContinent';
|
|
41
40
|
export * from './TuitionFeeAttendance';
|
|
42
41
|
export * from './Duration';
|
|
43
42
|
export * from './AttendanceDuration';
|
|
44
|
-
export * from './
|
|
43
|
+
export * from './DegreeTuitionFeeArea';
|
|
45
44
|
export * from './DisciplineContinentAttendance';
|
|
46
|
-
export * from './
|
|
45
|
+
export * from './DegreeTuitionFeeContinent';
|
|
47
46
|
export * from './AttendanceFormat';
|
|
48
47
|
export * from './ContinentFormat';
|
|
49
48
|
export * from './AttendanceContinent';
|
|
@@ -51,7 +50,7 @@ export * from './DegreeDuration';
|
|
|
51
50
|
export * from './ContinentSpecialProgrammes';
|
|
52
51
|
export * from './CountrySpecialProgrammes';
|
|
53
52
|
export * from './AttendanceArea';
|
|
54
|
-
export * from './
|
|
53
|
+
export * from './DegreeTuitionFeeFormat';
|
|
55
54
|
export * from './ContinentDuration';
|
|
56
55
|
export * from './DegreeAttendanceFormat';
|
|
57
56
|
export * from './DisciplineCountryAttendance';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DependencyTypes } from '../enums/DependencyTypes';
|
|
2
2
|
import { BaseSitemapUrlGeneratorManager } from './BaseSitemapUrlGeneratorManager';
|
|
3
|
-
import { Area, Attendance, AttendanceDegree, Continent, TuitionFeeContinent, Country, CountryAttendance, Discipline, SpecialProgrammes, TuitionFee, Unfiltered, CountryAttendanceDegree, CountryDuration, CountryDurationDegree, CountryEducationalForm, CountryFormat, TuitionFeeCountry, DegreeAttendanceDiscipline, DegreeCountryAttendance, DegreeCountryDiscipline, DegreeCountryTuitionFee, Format, DisciplineAttendance, DisciplineContinent, DisciplineCountry, DisciplineCountryEducationalForm, DisciplineDegree, DisciplineDuration, DisciplineEducationalForm, DisciplineFormat, TuitionFeeDiscipline, TuitionFeeAttendanceDiscipline, CountryDegree, DegreeFormat, DegreeContinent, DegreeTuitionFeeAttendance, DegreeArea, DegreeTuitionFee, TuitionFeeAttendance, Duration, AttendanceDuration,
|
|
3
|
+
import { Area, Attendance, AttendanceDegree, Continent, TuitionFeeContinent, Country, CountryAttendance, Discipline, SpecialProgrammes, TuitionFee, Unfiltered, CountryAttendanceDegree, CountryDuration, CountryDurationDegree, CountryEducationalForm, CountryFormat, TuitionFeeCountry, DegreeAttendanceDiscipline, DegreeCountryAttendance, DegreeCountryDiscipline, DegreeCountryTuitionFee, Format, DisciplineAttendance, DisciplineContinent, DisciplineCountry, DisciplineCountryEducationalForm, DisciplineDegree, DisciplineDuration, DisciplineEducationalForm, DisciplineFormat, TuitionFeeDiscipline, TuitionFeeAttendanceDiscipline, CountryDegree, DegreeFormat, DegreeContinent, DegreeTuitionFeeAttendance, DegreeArea, DegreeTuitionFee, TuitionFeeAttendance, Duration, AttendanceDuration, DegreeTuitionFeeArea, DisciplineContinentAttendance, DegreeTuitionFeeContinent, AttendanceFormat, ContinentFormat, AttendanceContinent, DegreeDuration, ContinentSpecialProgrammes, CountrySpecialProgrammes, AttendanceArea, DegreeTuitionFeeFormat, ContinentDuration, DegreeAttendanceFormat, DisciplineCountryAttendance, DisciplineCountryFormat, DegreeSpecialProgrammes, Degree, DisciplineSpecialProgrammes, DegreeAttendanceSpecialProgrammes } from '../programmes/policies';
|
|
4
4
|
import { FilterKey } from '@studyportals/search-filters/server-side';
|
|
5
5
|
import { AreaPresenter } from '../presenters/AreaPresenter';
|
|
6
6
|
import { AttendancePresenter } from '../presenters/AttendancePresenter';
|
|
@@ -61,10 +61,10 @@ export class ProgrammesSitemapUrlGeneratorManager extends BaseSitemapUrlGenerato
|
|
|
61
61
|
new DegreeTuitionFeeAttendance(dependencies),
|
|
62
62
|
new DegreeArea(dependencies),
|
|
63
63
|
new DegreeTuitionFee(dependencies),
|
|
64
|
-
new
|
|
64
|
+
new DegreeTuitionFeeArea(dependencies),
|
|
65
65
|
new DegreeTuitionFeeContinent(dependencies),
|
|
66
66
|
new DegreeDuration(dependencies),
|
|
67
|
-
new
|
|
67
|
+
new DegreeTuitionFeeFormat(dependencies),
|
|
68
68
|
new DegreeAttendanceFormat(dependencies),
|
|
69
69
|
new DegreeSpecialProgrammes(dependencies),
|
|
70
70
|
new DegreeAttendanceSpecialProgrammes(dependencies),
|
package/package.json
CHANGED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters/server-side';
|
|
2
|
-
import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
|
|
3
|
-
import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
|
-
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
5
|
-
import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
|
|
6
|
-
import { IProgrammeSeoDependencies } from '../types/IProgrammeSeoDependencies';
|
|
7
|
-
import { OnlineAttendanceRule } from '../../common/rules/OnlineAttendanceRule';
|
|
8
|
-
import { AffordableTuitionFeeRule } from '../rules/AffordableTuitionFeeRule';
|
|
9
|
-
export declare class AttendanceTuitionFee extends ProgrammesBaseIndexabilityPolicy {
|
|
10
|
-
readonly name: string;
|
|
11
|
-
readonly description: string;
|
|
12
|
-
readonly filterKeys: FilterKey[];
|
|
13
|
-
protected readonly rules: (SingleValueSelectedForFilterRule | OnlyFiltersSelectedRule | OnlineAttendanceRule | AffordableTuitionFeeRule)[];
|
|
14
|
-
constructor(dependencies: IProgrammeSeoDependencies);
|
|
15
|
-
protected generateUrls(): Promise<string[]>;
|
|
16
|
-
get filterCombination(): FilterCombinations;
|
|
17
|
-
}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters/server-side';
|
|
2
|
-
import { TuitionFeeFilterOptionValue } from '@studyportals/search-filters/server-side';
|
|
3
|
-
import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
|
|
4
|
-
import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
|
|
5
|
-
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
6
|
-
import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
|
|
7
|
-
import { TuitionFeePresenter } from '../../presenters/TuitionFeePresenter';
|
|
8
|
-
import { AttendancePresenter } from '../../presenters/AttendancePresenter';
|
|
9
|
-
import { OnlineAttendanceRule } from '../../common/rules/OnlineAttendanceRule';
|
|
10
|
-
import { AffordableTuitionFeeRule } from '../rules/AffordableTuitionFeeRule';
|
|
11
|
-
export class AttendanceTuitionFee extends ProgrammesBaseIndexabilityPolicy {
|
|
12
|
-
name = 'Tuition Fee Attendance Policy';
|
|
13
|
-
description = 'Determines indexing rules for pages filtered by tuition fee and attendance.';
|
|
14
|
-
filterKeys = [FilterKey.TUITION_FEE, FilterKey.DELIVERY_METHOD];
|
|
15
|
-
rules = [
|
|
16
|
-
new SingleValueSelectedForFilterRule(FilterKey.DELIVERY_METHOD),
|
|
17
|
-
new SingleValueSelectedForFilterRule(FilterKey.TUITION_FEE),
|
|
18
|
-
new OnlyFiltersSelectedRule([FilterKey.DELIVERY_METHOD, FilterKey.TUITION_FEE]),
|
|
19
|
-
new OnlineAttendanceRule(),
|
|
20
|
-
new AffordableTuitionFeeRule()
|
|
21
|
-
];
|
|
22
|
-
constructor(dependencies) {
|
|
23
|
-
super(dependencies);
|
|
24
|
-
this.initateBaseRules();
|
|
25
|
-
}
|
|
26
|
-
async generateUrls() {
|
|
27
|
-
const attendanceFragments = AttendancePresenter.getInstance().getFragments();
|
|
28
|
-
const tuitionFeeFragments = TuitionFeePresenter.getInstance().getFragments();
|
|
29
|
-
const paths = [];
|
|
30
|
-
const affordableTuition = tuitionFeeFragments.find(t => t.id === TuitionFeeFilterOptionValue.ZERO_TO_TWO_THOUSAND_FIVE_HUNDRED);
|
|
31
|
-
if (!affordableTuition) {
|
|
32
|
-
return paths;
|
|
33
|
-
}
|
|
34
|
-
for (const pageNumber of this.indexablePageNumbers) {
|
|
35
|
-
for (const attendance of attendanceFragments) {
|
|
36
|
-
const filterKeyValues = new Map([
|
|
37
|
-
[FilterKey.DELIVERY_METHOD, [attendance.id]],
|
|
38
|
-
[FilterKey.TUITION_FEE, [affordableTuition.id]]
|
|
39
|
-
]);
|
|
40
|
-
const result = await this.checkRulesForSitemapWithPageNumber(filterKeyValues, pageNumber);
|
|
41
|
-
if (result) {
|
|
42
|
-
paths.push(this.getPathWithPageNumber(`${affordableTuition.path}/${attendance.path}`, pageNumber));
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
return paths;
|
|
47
|
-
}
|
|
48
|
-
get filterCombination() {
|
|
49
|
-
return FilterCombinations.ATTENDANCE_TUITION_FEE;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters/server-side';
|
|
2
|
-
import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
|
|
3
|
-
import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
|
-
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
5
|
-
import { AffordableTuitionFeeRule } from '../rules/AffordableTuitionFeeRule';
|
|
6
|
-
import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
|
|
7
|
-
import { IProgrammeSeoDependencies } from '../types/IProgrammeSeoDependencies';
|
|
8
|
-
export declare class ContinentTuitionFee extends ProgrammesBaseIndexabilityPolicy {
|
|
9
|
-
readonly name: string;
|
|
10
|
-
readonly description: string;
|
|
11
|
-
readonly filterKeys: FilterKey[];
|
|
12
|
-
protected readonly rules: (SingleValueSelectedForFilterRule | OnlyFiltersSelectedRule | AffordableTuitionFeeRule)[];
|
|
13
|
-
constructor(dependencies: IProgrammeSeoDependencies);
|
|
14
|
-
protected generateUrls(): Promise<string[]>;
|
|
15
|
-
get filterCombination(): FilterCombinations;
|
|
16
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters/server-side';
|
|
2
|
-
import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
|
|
3
|
-
import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
|
-
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
5
|
-
import { AffordableTuitionFeeRule } from '../rules/AffordableTuitionFeeRule';
|
|
6
|
-
import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
|
|
7
|
-
import { ContinentPresenter } from '../../presenters/ContinentPresenter';
|
|
8
|
-
import { TuitionFeePresenter } from '../../presenters/TuitionFeePresenter';
|
|
9
|
-
export class ContinentTuitionFee extends ProgrammesBaseIndexabilityPolicy {
|
|
10
|
-
name = 'Continent Tuition Fee Policy';
|
|
11
|
-
description = 'Determines indexing rules for pages filtered by both continent, and tuition fee, priotizing combinations with affordable tuition fees.';
|
|
12
|
-
filterKeys = [FilterKey.CONTINENT, FilterKey.TUITION_FEE];
|
|
13
|
-
rules = [
|
|
14
|
-
new SingleValueSelectedForFilterRule(FilterKey.CONTINENT),
|
|
15
|
-
new SingleValueSelectedForFilterRule(FilterKey.TUITION_FEE),
|
|
16
|
-
new OnlyFiltersSelectedRule([FilterKey.CONTINENT, FilterKey.TUITION_FEE]),
|
|
17
|
-
new AffordableTuitionFeeRule()
|
|
18
|
-
];
|
|
19
|
-
constructor(dependencies) {
|
|
20
|
-
super(dependencies);
|
|
21
|
-
this.initateBaseRules();
|
|
22
|
-
}
|
|
23
|
-
async generateUrls() {
|
|
24
|
-
const continentFragments = ContinentPresenter.getInstance().getFragments();
|
|
25
|
-
const tuitionFeeFragments = TuitionFeePresenter.getInstance().getFragments();
|
|
26
|
-
const paths = [];
|
|
27
|
-
for (const pageNumber of this.indexablePageNumbers) {
|
|
28
|
-
for (const continent of continentFragments) {
|
|
29
|
-
for (const tuitionFee of tuitionFeeFragments) {
|
|
30
|
-
const filterKeyValues = new Map([
|
|
31
|
-
[FilterKey.CONTINENT, [continent.id]],
|
|
32
|
-
[FilterKey.TUITION_FEE, [tuitionFee.id]]
|
|
33
|
-
]);
|
|
34
|
-
const result = await this.checkRulesForSitemapWithPageNumber(filterKeyValues, pageNumber);
|
|
35
|
-
if (result) {
|
|
36
|
-
paths.push(this.getPathWithPageNumber(`${tuitionFee.path}/${continent.path}`, pageNumber));
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
return paths;
|
|
42
|
-
}
|
|
43
|
-
get filterCombination() {
|
|
44
|
-
return FilterCombinations.CONTINENT_TUITION_FEE;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters/server-side';
|
|
2
|
-
import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
|
|
3
|
-
import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
|
-
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
5
|
-
import { AffordableTuitionFeeRule } from '../rules/AffordableTuitionFeeRule';
|
|
6
|
-
import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
|
|
7
|
-
import { IProgrammeSeoDependencies } from '../types/IProgrammeSeoDependencies';
|
|
8
|
-
export declare class CountryTuitionFee extends ProgrammesBaseIndexabilityPolicy {
|
|
9
|
-
readonly name: string;
|
|
10
|
-
readonly description: string;
|
|
11
|
-
readonly filterKeys: FilterKey[];
|
|
12
|
-
protected readonly rules: (SingleValueSelectedForFilterRule | OnlyFiltersSelectedRule | AffordableTuitionFeeRule)[];
|
|
13
|
-
constructor(dependencies: IProgrammeSeoDependencies);
|
|
14
|
-
protected generateUrls(): Promise<string[]>;
|
|
15
|
-
get filterCombination(): FilterCombinations;
|
|
16
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters/server-side';
|
|
2
|
-
import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
|
|
3
|
-
import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
|
-
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
5
|
-
import { AffordableTuitionFeeRule } from '../rules/AffordableTuitionFeeRule';
|
|
6
|
-
import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
|
|
7
|
-
import { CountryPresenter } from '../../presenters/CountryPresenter';
|
|
8
|
-
import { TuitionFeePresenter } from '../../presenters/TuitionFeePresenter';
|
|
9
|
-
export class CountryTuitionFee extends ProgrammesBaseIndexabilityPolicy {
|
|
10
|
-
name = 'Country Tuition Fee Policy';
|
|
11
|
-
description = 'Determines indexing rules for pages filtered by both country, and tuition fee.';
|
|
12
|
-
filterKeys = [FilterKey.COUNTRY, FilterKey.TUITION_FEE];
|
|
13
|
-
rules = [
|
|
14
|
-
new SingleValueSelectedForFilterRule(FilterKey.COUNTRY),
|
|
15
|
-
new SingleValueSelectedForFilterRule(FilterKey.TUITION_FEE),
|
|
16
|
-
new OnlyFiltersSelectedRule([FilterKey.COUNTRY, FilterKey.TUITION_FEE]),
|
|
17
|
-
new AffordableTuitionFeeRule()
|
|
18
|
-
];
|
|
19
|
-
constructor(dependencies) {
|
|
20
|
-
super(dependencies);
|
|
21
|
-
this.initateBaseRules();
|
|
22
|
-
}
|
|
23
|
-
async generateUrls() {
|
|
24
|
-
const countryFragments = CountryPresenter.getInstance().getFragments();
|
|
25
|
-
const tuitionFeeFragments = TuitionFeePresenter.getInstance().getFragments();
|
|
26
|
-
const paths = [];
|
|
27
|
-
for (const pageNumber of this.indexablePageNumbers) {
|
|
28
|
-
for (const country of countryFragments) {
|
|
29
|
-
for (const tuitionFee of tuitionFeeFragments) {
|
|
30
|
-
const filterKeyValues = new Map([
|
|
31
|
-
[FilterKey.COUNTRY, [country.id]],
|
|
32
|
-
[FilterKey.TUITION_FEE, [tuitionFee.id]]
|
|
33
|
-
]);
|
|
34
|
-
const result = await this.checkRulesForSitemapWithPageNumber(filterKeyValues, pageNumber);
|
|
35
|
-
if (result) {
|
|
36
|
-
paths.push(this.getPathWithPageNumber(`${tuitionFee.path}/${country.path}`, pageNumber));
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
return paths;
|
|
42
|
-
}
|
|
43
|
-
get filterCombination() {
|
|
44
|
-
return FilterCombinations.COUNTRY_TUITION_FEE;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters/server-side';
|
|
2
|
-
import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
|
|
3
|
-
import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
|
-
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
5
|
-
import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
|
|
6
|
-
import { IProgrammeSeoDependencies } from '../types/IProgrammeSeoDependencies';
|
|
7
|
-
import { AffordableTuitionFeeRule } from '../rules/AffordableTuitionFeeRule';
|
|
8
|
-
export declare class DegreeAreaTuitionFee extends ProgrammesBaseIndexabilityPolicy {
|
|
9
|
-
readonly name: string;
|
|
10
|
-
readonly description: string;
|
|
11
|
-
readonly filterKeys: FilterKey[];
|
|
12
|
-
protected readonly rules: (SingleValueSelectedForFilterRule | OnlyFiltersSelectedRule | AffordableTuitionFeeRule)[];
|
|
13
|
-
constructor(dependencies: IProgrammeSeoDependencies);
|
|
14
|
-
protected generateUrls(): Promise<string[]>;
|
|
15
|
-
get filterCombination(): FilterCombinations;
|
|
16
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters/server-side';
|
|
2
|
-
import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
|
|
3
|
-
import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
|
-
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
5
|
-
import { AffordableTuitionFeeRule } from '../rules/AffordableTuitionFeeRule';
|
|
6
|
-
import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
|
|
7
|
-
import { DisciplinePresenter } from '../../presenters/DisciplinePresenter';
|
|
8
|
-
import { TuitionFeePresenter } from '../../presenters/TuitionFeePresenter';
|
|
9
|
-
export class DisciplineTuitionFee extends ProgrammesBaseIndexabilityPolicy {
|
|
10
|
-
name = 'Discipline Tuition Fee Policy';
|
|
11
|
-
description = 'Determines indexing rules for pages filtered by both discipline, and tuition fee.';
|
|
12
|
-
filterKeys = [FilterKey.DISCIPLINES, FilterKey.TUITION_FEE];
|
|
13
|
-
rules = [
|
|
14
|
-
new SingleValueSelectedForFilterRule(FilterKey.DISCIPLINES),
|
|
15
|
-
new SingleValueSelectedForFilterRule(FilterKey.TUITION_FEE),
|
|
16
|
-
new OnlyFiltersSelectedRule([FilterKey.DISCIPLINES, FilterKey.TUITION_FEE]),
|
|
17
|
-
new AffordableTuitionFeeRule()
|
|
18
|
-
];
|
|
19
|
-
constructor(dependencies) {
|
|
20
|
-
super(dependencies);
|
|
21
|
-
this.initateBaseRules();
|
|
22
|
-
}
|
|
23
|
-
async generateUrls() {
|
|
24
|
-
const disciplineFragments = DisciplinePresenter.getInstance().getFragments();
|
|
25
|
-
const tuitionFeeFragments = TuitionFeePresenter.getInstance().getFragments();
|
|
26
|
-
const paths = [];
|
|
27
|
-
for (const pageNumber of this.indexablePageNumbers) {
|
|
28
|
-
for (const discipline of disciplineFragments) {
|
|
29
|
-
for (const tuitionFee of tuitionFeeFragments) {
|
|
30
|
-
const filterKeyValues = new Map([
|
|
31
|
-
[FilterKey.DISCIPLINES, [discipline.id]],
|
|
32
|
-
[FilterKey.TUITION_FEE, [tuitionFee.id]]
|
|
33
|
-
]);
|
|
34
|
-
const result = await this.checkRulesForSitemapWithPageNumber(filterKeyValues, pageNumber);
|
|
35
|
-
if (result) {
|
|
36
|
-
paths.push(this.getPathWithPageNumber(`${discipline.path}/${tuitionFee.path}`, pageNumber));
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
return paths;
|
|
42
|
-
}
|
|
43
|
-
get filterCombination() {
|
|
44
|
-
return FilterCombinations.DISCIPLINE_TUITION_FEE;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters/server-side';
|
|
2
|
-
import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
|
|
3
|
-
import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
|
-
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
5
|
-
import { AffordableTuitionFeeRule } from '../rules/AffordableTuitionFeeRule';
|
|
6
|
-
import { OnlineAttendanceRule } from '../../common/rules/OnlineAttendanceRule';
|
|
7
|
-
import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
|
|
8
|
-
import { IProgrammeSeoDependencies } from '../types/IProgrammeSeoDependencies';
|
|
9
|
-
export declare class DisciplineTuitionFeeAttendance extends ProgrammesBaseIndexabilityPolicy {
|
|
10
|
-
readonly name: string;
|
|
11
|
-
readonly description: string;
|
|
12
|
-
readonly filterKeys: FilterKey[];
|
|
13
|
-
protected readonly rules: (SingleValueSelectedForFilterRule | OnlyFiltersSelectedRule | OnlineAttendanceRule | AffordableTuitionFeeRule)[];
|
|
14
|
-
constructor(dependencies: IProgrammeSeoDependencies);
|
|
15
|
-
protected generateUrls(): Promise<string[]>;
|
|
16
|
-
get filterCombination(): FilterCombinations;
|
|
17
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { FilterKey } from '@studyportals/search-filters/server-side';
|
|
2
|
-
import { OnlyFiltersSelectedRule } from '../../common/rules/OnlyFiltersSelectedRule';
|
|
3
|
-
import { SingleValueSelectedForFilterRule } from '../../common/rules/SingleValueSelectedForFilterRule';
|
|
4
|
-
import { FilterCombinations } from '../../enums/FilterCombinations';
|
|
5
|
-
import { AffordableTuitionFeeRule } from '../rules/AffordableTuitionFeeRule';
|
|
6
|
-
import { OnlineAttendanceRule } from '../../common/rules/OnlineAttendanceRule';
|
|
7
|
-
import { ProgrammesBaseIndexabilityPolicy } from '../ProgrammesBaseIndexabilityPolicy';
|
|
8
|
-
import { DisciplinePresenter } from '../../presenters/DisciplinePresenter';
|
|
9
|
-
import { AttendancePresenter } from '../../presenters/AttendancePresenter';
|
|
10
|
-
import { TuitionFeePresenter } from '../../presenters/TuitionFeePresenter';
|
|
11
|
-
export class DisciplineTuitionFeeAttendance extends ProgrammesBaseIndexabilityPolicy {
|
|
12
|
-
name = 'Discipline Tuition Fee Attendance Policy';
|
|
13
|
-
description = 'Determines indexing rules for pages filtered by discipline, tuition fee and study format (online, on-campus, etc.).';
|
|
14
|
-
filterKeys = [FilterKey.DISCIPLINES, FilterKey.TUITION_FEE, FilterKey.DELIVERY_METHOD];
|
|
15
|
-
rules = [
|
|
16
|
-
new SingleValueSelectedForFilterRule(FilterKey.DISCIPLINES),
|
|
17
|
-
new SingleValueSelectedForFilterRule(FilterKey.TUITION_FEE),
|
|
18
|
-
new SingleValueSelectedForFilterRule(FilterKey.DELIVERY_METHOD),
|
|
19
|
-
new OnlyFiltersSelectedRule([FilterKey.DISCIPLINES, FilterKey.TUITION_FEE, FilterKey.DELIVERY_METHOD]),
|
|
20
|
-
new AffordableTuitionFeeRule(),
|
|
21
|
-
new OnlineAttendanceRule()
|
|
22
|
-
];
|
|
23
|
-
constructor(dependencies) {
|
|
24
|
-
super(dependencies);
|
|
25
|
-
this.initateBaseRules();
|
|
26
|
-
}
|
|
27
|
-
async generateUrls() {
|
|
28
|
-
const disciplineFragments = DisciplinePresenter.getInstance().getFragments();
|
|
29
|
-
const attendanceFragments = AttendancePresenter.getInstance().getFragments();
|
|
30
|
-
const tuitionFeeFragments = TuitionFeePresenter.getInstance().getFragments();
|
|
31
|
-
const paths = [];
|
|
32
|
-
for (const pageNumber of this.indexablePageNumbers) {
|
|
33
|
-
for (const discipline of disciplineFragments) {
|
|
34
|
-
for (const attendance of attendanceFragments) {
|
|
35
|
-
for (const tuitionFee of tuitionFeeFragments) {
|
|
36
|
-
const filterKeyValues = new Map([
|
|
37
|
-
[FilterKey.DISCIPLINES, [discipline.id]],
|
|
38
|
-
[FilterKey.DELIVERY_METHOD, [attendance.id]],
|
|
39
|
-
[FilterKey.TUITION_FEE, [tuitionFee.id]]
|
|
40
|
-
]);
|
|
41
|
-
const result = await this.checkRulesForSitemapWithPageNumber(filterKeyValues, pageNumber);
|
|
42
|
-
if (result) {
|
|
43
|
-
paths.push(this.getPathWithPageNumber(`${tuitionFee.path}/${attendance.path}/${discipline.path}`, pageNumber));
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
return paths;
|
|
50
|
-
}
|
|
51
|
-
get filterCombination() {
|
|
52
|
-
return FilterCombinations.DISCIPLINE_TUITION_FEE_ATTENDANCE;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/dist/src/programmes/policies/{DegreeContinentTuitionFee.js → DegreeTuitionFeeContinent.js}
RENAMED
|
File without changes
|