refactor: add dynamic semester boostings

This commit is contained in:
Rainer Killinger
2022-02-02 13:31:33 +01:00
parent 9c5581af2c
commit 18c628a002
5 changed files with 58 additions and 90 deletions

View File

@@ -2,41 +2,11 @@
// tslint:disable:no-magic-numbers
import {SCConfigFile} from '@openstapps/core';
import {RecursivePartial} from '@openstapps/logger/lib/common';
import moment from 'moment';
import {inRangeInclusive} from './default';
const ssRange = [4, 9];
const wsRange = [10, 3];
const month = moment()
.month();
const year = moment()
.year();
const wsYearOffset = (month < wsRange[0] ? -1 : 0);
const wsAcronym = `WS ${(year + wsYearOffset).toString()
.slice(-2)}/${(year + 1 + wsYearOffset).toString()
.slice(-2)}`;
const ssAcronym = `SS ${(year + (month <= wsRange[1] ? -1 : 0)).toString()
.slice(-2)}`;
/**
* This is the default configuration for the university of Kassel
*/
const config: RecursivePartial<SCConfigFile> = {
internal: {
boostings: {
default: [
{
factor: 1,
fields: {
'academicTerms.acronym': {
[ssAcronym]: inRangeInclusive(month, ssRange) ? 1.1 : 1.05,
[wsAcronym]: inRangeInclusive(month, wsRange) ? 1.1 : 1.05,
},
},
},
],
},
},
};
export default config;