import DBService from './db.js'; import { Subscription } from './Subscription.js'; export interface SubscriptionData { endpoint: string; keys: { p256dh: string; auth: string; }; } class SubscriptionService { private static instance: SubscriptionService; private dbService: DBService = DBService.getInstance(); private constructor() { } public static getInstance(): SubscriptionService { if (!SubscriptionService.instance) { SubscriptionService.instance = new SubscriptionService(); } return SubscriptionService.instance; } async addSubscription(subscription: SubscriptionData): Promise { await this.dbService.saveSubscription( subscription.endpoint, subscription.keys.p256dh, subscription.keys.auth ); } async fetchSubscriptions(): Promise { return this.dbService.getSubscriptions(); } } export default SubscriptionService;