From 5cb003e51b7388a6acc50b8fd9acb0c69c119eb4 Mon Sep 17 00:00:00 2001 From: schneefux Date: Wed, 2 May 2018 09:15:09 +0200 Subject: rm ISource & FileSource, combine request & parsing, split filter from parser --- src/core/SplusApi.ts | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 src/core/SplusApi.ts (limited to 'src/core/SplusApi.ts') diff --git a/src/core/SplusApi.ts b/src/core/SplusApi.ts new file mode 100644 index 0000000..47b5a70 --- /dev/null +++ b/src/core/SplusApi.ts @@ -0,0 +1,26 @@ +import * as request from 'request-promise-native'; +import {SplusParser} from './SplusParser'; +import {ILecture} from './ILecture'; + +export class SplusApi { + private static _base_uri = 'http://splus.ostfalia.de/semesterplan123.php'; + + private static splusRequest(course: string, weekOfYear: number): PromiseLike { + return request({ + method: 'POST', + uri: this._base_uri, + qs: { + identifier: course, + }, + formData: { + weeks: weekOfYear.toString(), + }, + }); + } + + static async getData(course: string, weekOfYear: number): Promise { + const data = await this.splusRequest(course, weekOfYear); + const lectures = new SplusParser(data).getLectures(); + return lectures; + } +} -- cgit v1.3.1