import { Injectable } from "@nestjs/common"; import { ConfigService } from "@nestjs/config"; import axios from "axios"; import { NotificationStrategy } from "./notification.strategy"; @Injectable() export class SmsNotificationStrategy implements NotificationStrategy { constructor(private readonly configService: ConfigService) {} async send(recipient: string, message: string): Promise { const url = this.configService.get("OZIKING_SMS_URL") ?? "https://notification-dev.license.aafda.gov.et/api/sms-services/ozeking/sms"; await axios.post( url, { to: recipient, sourceId: this.configService.get("OZIKING_SOURCE_ID") ?? "EDR", sourceName: this.configService.get("OZIKING_SOURCE_NAME") ?? "EDR Freight", appKey: this.configService.get("OZIKING_APP_KEY") ?? "", text: message, callbackUrl: "", }, { headers: { accept: "*/*", "Content-Type": "application/json", }, }, ); return true; } }