summaryrefslogtreecommitdiff
path: root/src/sinks/IcalSink.ts
diff options
context:
space:
mode:
authorschneefux <schneefux+commit@schneefux.xyz>2018-09-16 15:04:33 +0200
committerschneefux <schneefux+commit@schneefux.xyz>2018-09-16 15:04:33 +0200
commit3f90f2f626b6fec3c5564c7b0c7aa8914b8ef9a2 (patch)
tree8862076231786d13110d9650069178a86669c420 /src/sinks/IcalSink.ts
parent818ed0d5e2ff69bfb97074ea57b554bbc7bfcfe3 (diff)
downloadsplus-3f90f2f626b6fec3c5564c7b0c7aa8914b8ef9a2.tar.gz
splus-3f90f2f626b6fec3c5564c7b0c7aa8914b8ef9a2.zip
Hardwire ICS and fix disappearing lectures
Diffstat (limited to 'src/sinks/IcalSink.ts')
-rw-r--r--src/sinks/IcalSink.ts46
1 files changed, 0 insertions, 46 deletions
diff --git a/src/sinks/IcalSink.ts b/src/sinks/IcalSink.ts
deleted file mode 100644
index efb94ac..0000000
--- a/src/sinks/IcalSink.ts
+++ /dev/null
@@ -1,46 +0,0 @@
-import {createHash} from 'crypto';
-import {writeFile} from 'fs';
-
-import * as ical from 'ical-generator';
-
-import {ISink} from './ISink';
-import {IEvent} from '../core/IEvent';
-
-
-const sha256 = (x) => createHash('sha256').update(x, 'utf8').digest('hex');
-
-
-// ref. https://www.npmjs.com/package/ical-generator
-export class IcalSink implements ISink {
- private _cal = ical();
- private _targetFile: string;
-
- constructor(targetFile: string) {
- this._targetFile = targetFile;
- }
-
- createEvent(event: IEvent): Promise<void> {
- // TODO better duplicate detection and resolve conflicts lol
- const eventId = sha256(JSON.stringify(event)).substr(0, 16);
-
- const icalEvent = this._cal.createEvent({
- uid: eventId,
- start: event.start.toISOString(),
- end: event.end.toISOString(),
- timestamp: new Date(),
- summary: event.summary,
- description: event.description,
- });
-
- return Promise.resolve();
- }
-
- commit(): Promise<void> {
- return new Promise<void>((resolve, reject) => {
- writeFile(this._targetFile, this._cal.toString(), err => {
- if (err) return reject(err);
- resolve();
- });
- });
- }
-}