@studyportals/fawkes 7.2.2-18 → 7.2.2-20

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.
@@ -1,4 +1,4 @@
1
- import { Area, Attendance, Continent, ContinentTuitionFee, Country, CountryAttendance, CountryDuration, CountryEducationalForm, CountryFormat, CountryTuitionFee, DegreeAttendanceDiscipline, DegreeCountryAttendance, DegreeCountryDiscipline, DegreeCountryTuitionFee, Discipline, DisciplineArea, DisciplineAttendance, DisciplineContinent, DisciplineCountry, DisciplineCountryEducationalForm, DisciplineDegree, DisciplineDuration, DisciplineEducationalForm, DisciplineFormat, DisciplineTuitionFee, DisciplineTuitionFeeAttendance, SpecialProgrammes, TuitionFee, Unfiltered } from './policies';
1
+ import { Area, Attendance, AttendanceDegree, Continent, ContinentTuitionFee, Country, CountryAttendance, CountryAttendanceDegree, CountryDegree, CountryDuration, CountryDurationDegree, CountryEducationalForm, CountryFormat, CountryTuitionFee, DegreeAttendanceDiscipline, DegreeCountryAttendance, DegreeCountryDiscipline, DegreeCountryTuitionFee, Discipline, DisciplineArea, DisciplineAttendance, DisciplineContinent, DisciplineCountry, DisciplineCountryDegree, DisciplineCountryEducationalForm, DisciplineDegree, DisciplineDuration, DisciplineEducationalForm, DisciplineFormat, DisciplineTuitionFee, DisciplineTuitionFeeAttendance, SpecialProgrammes, TuitionFee, Unfiltered } from './policies';
2
2
  import { DependencyTypes } from '../enums/DependencyTypes';
3
3
  export class SearchIndexabilityManager {
4
4
  policies;
@@ -13,11 +13,15 @@ export class SearchIndexabilityManager {
13
13
  this.policies = [
14
14
  new Area(dependencies),
15
15
  new Attendance(dependencies),
16
+ new AttendanceDegree(dependencies),
16
17
  new Continent(dependencies),
17
18
  new ContinentTuitionFee(dependencies),
18
19
  new Country(dependencies),
19
20
  new CountryAttendance(dependencies),
21
+ new CountryAttendanceDegree(dependencies),
22
+ new CountryDegree(dependencies),
20
23
  new CountryDuration(dependencies),
24
+ new CountryDurationDegree(dependencies),
21
25
  new CountryEducationalForm(dependencies),
22
26
  new CountryFormat(dependencies),
23
27
  new CountryTuitionFee(dependencies),
@@ -30,6 +34,7 @@ export class SearchIndexabilityManager {
30
34
  new DisciplineAttendance(dependencies),
31
35
  new DisciplineContinent(dependencies),
32
36
  new DisciplineCountry(dependencies),
37
+ new DisciplineCountryDegree(dependencies),
33
38
  new DisciplineCountryEducationalForm(dependencies),
34
39
  new DisciplineDegree(dependencies),
35
40
  new DisciplineDuration(dependencies),
@@ -29,9 +29,9 @@ export class DegreeCountryDiscipline extends ProgrammesBaseIndexabilityPolicy {
29
29
  const disciplineFragments = DisciplinePresenter.getInstance().getFragments();
30
30
  const paths = [];
31
31
  const degreeCountryMap = {
32
- [DegreeTypeFilterOptionValue.MSC]: ['82', '32', '11', '30'],
32
+ [DegreeTypeFilterOptionValue.MSC]: ['82', '56', '11', '30'],
33
33
  [DegreeTypeFilterOptionValue.MBA]: ['82', '30'],
34
- [DegreeTypeFilterOptionValue.MED]: ['202', '32']
34
+ [DegreeTypeFilterOptionValue.MED]: ['202', '56']
35
35
  };
36
36
  const educationDisciplineIds = [
37
37
  '289', '290', '360', '291', '292', '333', '8', '349',
@@ -22,11 +22,6 @@ export class DegreeAttendanceDisciplineSpecificRule extends BaseProgrammeRule {
22
22
  if (!degreeTypeValue || !attendanceValue || !disciplineValue) {
23
23
  return Promise.resolve(false);
24
24
  }
25
- console.log("Degree type: ", degreeTypeValue); // eslint-disable-line no-console
26
- console.log("Allowed degree types: ", this.allowedDegrees); // eslint-disable-line no-console
27
- console.log("Attendance value: ", attendanceValue); // eslint-disable-line no-console
28
- console.log("Discipline value: ", disciplineValue); // eslint-disable-line no-console
29
- console.log("Is indexed: ", this.allowedDegrees.includes(degreeTypeValue) && attendanceValue === this.allowedAttendance); // eslint-disable-line no-console
30
25
  return Promise.resolve(this.allowedDegrees.includes(degreeTypeValue) &&
31
26
  attendanceValue === this.allowedAttendance);
32
27
  }
@@ -56,15 +56,21 @@ export class DegreeCountryDisciplineSpecificRule extends BaseProgrammeRule {
56
56
  forSitemapGenerator(filterKeyValues) {
57
57
  const degreeTypeValues = filterKeyValues.get(FilterKey.DEGREE_TYPE);
58
58
  const countryValues = filterKeyValues.get(FilterKey.COUNTRY);
59
- if (!degreeTypeValues?.length || !countryValues?.length) {
59
+ const disciplineValues = filterKeyValues.get(FilterKey.DISCIPLINES);
60
+ if (!degreeTypeValues?.length || !countryValues?.length || !disciplineValues?.length) {
60
61
  return Promise.resolve(false);
61
62
  }
62
63
  const degreeTypeValue = degreeTypeValues[0];
63
64
  const countryValue = countryValues[0];
65
+ const disciplineValue = disciplineValues[0];
64
66
  const allowedCountries = this.validCombinations[degreeTypeValue];
65
67
  if (!allowedCountries) {
66
68
  return Promise.resolve(false);
67
69
  }
70
+ if (degreeTypeValue === DegreeTypeFilterOptionValue.MED) {
71
+ return Promise.resolve(allowedCountries.includes(countryValue) &&
72
+ this.educationDisciplineIds.includes(disciplineValue));
73
+ }
68
74
  return Promise.resolve(allowedCountries.includes(countryValue));
69
75
  }
70
76
  }
@@ -1,6 +1,6 @@
1
1
  import { DependencyTypes } from '../enums/DependencyTypes';
2
2
  import { BaseSitemapUrlGeneratorManager } from './BaseSitemapUrlGeneratorManager';
3
- import { Area, Attendance, AttendanceDegree, Continent, ContinentTuitionFee, Country, CountryAttendance, Discipline, SpecialProgrammes, TuitionFee, Unfiltered, CountryAttendanceDegree, CountryDegree, CountryDuration, CountryDurationDegree, CountryEducationalForm, CountryFormat, CountryTuitionFee, DisciplineArea, DisciplineAttendance, DisciplineContinent, DisciplineCountry, DisciplineCountryDegree, DisciplineCountryEducationalForm, DisciplineDegree, DisciplineDuration, DisciplineEducationalForm, DisciplineFormat, DisciplineTuitionFee, DisciplineTuitionFeeAttendance } from '../programmes/policies';
3
+ import { Area, Attendance, AttendanceDegree, Continent, ContinentTuitionFee, Country, CountryAttendance, Discipline, SpecialProgrammes, TuitionFee, Unfiltered, CountryAttendanceDegree, CountryDegree, CountryDuration, CountryDurationDegree, CountryEducationalForm, CountryFormat, CountryTuitionFee, DegreeAttendanceDiscipline, DegreeCountryAttendance, DegreeCountryDiscipline, DegreeCountryTuitionFee, DisciplineArea, DisciplineAttendance, DisciplineContinent, DisciplineCountry, DisciplineCountryDegree, DisciplineCountryEducationalForm, DisciplineDegree, DisciplineDuration, DisciplineEducationalForm, DisciplineFormat, DisciplineTuitionFee, DisciplineTuitionFeeAttendance } from '../programmes/policies';
4
4
  import { FilterKey } from '@studyportals/search-filters';
5
5
  import { AreaPresenter } from '../presenters/AreaPresenter';
6
6
  import { AttendancePresenter } from '../presenters/AttendancePresenter';
@@ -44,6 +44,10 @@ export class ProgrammesSitemapUrlGeneratorManager extends BaseSitemapUrlGenerato
44
44
  new CountryEducationalForm(dependencies),
45
45
  new CountryFormat(dependencies),
46
46
  new CountryTuitionFee(dependencies),
47
+ new DegreeAttendanceDiscipline(dependencies),
48
+ new DegreeCountryAttendance(dependencies),
49
+ new DegreeCountryDiscipline(dependencies),
50
+ new DegreeCountryTuitionFee(dependencies),
47
51
  new DisciplineArea(dependencies),
48
52
  new DisciplineAttendance(dependencies),
49
53
  new DisciplineContinent(dependencies),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@studyportals/fawkes",
3
- "version": "7.2.2-18",
3
+ "version": "7.2.2-20",
4
4
  "description": "A package to centralize SEO related logic for SBLP and Sitemap Generator.",
5
5
  "files": [
6
6
  "./dist"