diff --git a/src/Subscription.ts b/src/Subscription.ts index 27bf173..6582514 100644 --- a/src/Subscription.ts +++ b/src/Subscription.ts @@ -14,4 +14,7 @@ export class Subscription { @Column() keys_auth: string; + + @Column() + muted: boolean = false; } diff --git a/src/db.ts b/src/db.ts index dfe5b65..cc28188 100644 --- a/src/db.ts +++ b/src/db.ts @@ -58,12 +58,40 @@ class DBService { } + async removeSubscription(endpoint: string): Promise { + let result = true; + if (this.isReady) { + await this.dataSource.manager.delete(Subscription, { endpoint: endpoint }); + + } else { + result = false; + + } + return result; + } + + + async toggleMuteSubscription(endpoint: string): Promise { + let result = true; + if (this.isReady) { + const subscription = await this.dataSource.manager.findOne(Subscription, { where : {endpoint: endpoint} }); + subscription.muted = !subscription.muted; + await this.dataSource.manager.save(subscription) + } else { + result = false; + + } + return result; + } + + async getVapidKeys(): Promise { console.log(__filename, "getVapidKeys", this.isReady); let result = [ new VapidKeys() ]; if ( this.isReady ) { result = await this.dataSource.manager.find(VapidKeys); console.log(__filename, "results of find: ", result); + } else { console.log(__filename, "Database is not ready");