import { Injectable } from '@nestjs/common'; import { ConfigService } from '@nestjs/config'; import * as OneSignal from 'onesignal-node'; @Injectable() export class OneSignalService { private client: any; constructor(private readonly configService: ConfigService) { // Initialize OneSignal client here this.client = new OneSignal.Client( this.configService.get('onesignal-config.ONESIGNAL_APP_ID'), this.configService.get('onesignal-config.ONESIGNAL_API_KEY'), ); } async sendNotification( content: string, title: string, subscriptionIds: string[], ): Promise { const notification = { contents: { en: content, }, headings: { en: title, }, include_subscription_ids: subscriptionIds, }; try { const response = await this.client.createNotification(notification); return response; } catch (err) { console.error('Error:', err); throw new Error('Error sending notification'); } } }