diff --git a/scripts/wichtelbot/classes/exclusion.ts b/scripts/wichtelbot/classes/exclusion.ts new file mode 100644 index 0000000000000000000000000000000000000000..519287a0d4fe9be66bae5aa0586b3dc2862bf4a7 --- /dev/null +++ b/scripts/wichtelbot/classes/exclusion.ts @@ -0,0 +1,17 @@ +import { ExclusionReason } from "../types/exclusionReason"; + +export class Exclusion +{ + public wichtelEvent: string; + public giverId: string; + public takerId: string; + public reason: ExclusionReason; + + constructor (exclusion: Exclusion) + { + this.wichtelEvent = exclusion.wichtelEvent; + this.giverId = exclusion.giverId; + this.takerId = exclusion.takerId; + this.reason = exclusion.reason; + } +} diff --git a/scripts/wichtelbot/database.ts b/scripts/wichtelbot/database.ts index 8af8cc7e2d0f9cac1a643c17d2fa170d6c2e5795..a1a36af3be5f9e85341a263d2aeefbcf467563c3 100644 --- a/scripts/wichtelbot/database.ts +++ b/scripts/wichtelbot/database.ts @@ -2,6 +2,7 @@ import * as fs from 'fs'; import Contact, { ContactCoreData, ContactData } from './classes/contact'; import ContactType from './types/contactType'; +import { Exclusion } from './classes/exclusion'; import { InformationData } from './classes/information'; import Member from './classes/member'; import Utils from '../utility/utils'; @@ -431,6 +432,26 @@ export default class Database return contactCoreData; } } + + public getUserExclusions (): Exclusion[] + { + const statement = this.mainDatabase.prepare( + 'SELECT * FROM exclusion' + ); + + const rawExclusions = statement.all() as Exclusion[]; + + const exclusions: Exclusion[] = []; + + for (const rawExclusion of rawExclusions) + { + const exclusion = new Exclusion(rawExclusion); + + exclusions.push(exclusion); + } + + return exclusions; + } } /* diff --git a/scripts/wichtelbot/types/exclusionReason.ts b/scripts/wichtelbot/types/exclusionReason.ts new file mode 100644 index 0000000000000000000000000000000000000000..331520c5df7503006ef4077f9d655b34679a82d6 --- /dev/null +++ b/scripts/wichtelbot/types/exclusionReason.ts @@ -0,0 +1,5 @@ +export enum ExclusionReason +{ + WichtelFromThePast = 'wichtelFromThePast', + Wish = 'wish', +}