{"version":3,"sources":["../../src/services/clients/azureSmsSender.client.ts"],"names":["AzureSMSSenderClient","constructor","client","USERNAME","PASSWORD","FROM","process","env","COMMUNICATION_SERVICES_CONNECTION_STRING","NotProvidedCredentialsError","connectionString","SmsClient","send","phones","message","result","sent","failed","smsResults","from","to","forEach","smsResult","errorMessage","push","phone","error"],"mappings":";;;AAMA,IAAqBA,qBAAAA,GAArB,MAAqBA,qBAAAA,CAAAA;EAEjBC,WAAAA,GAAc;AADdC,IAAAA,aAAAA,CAAAA,IAAAA,EAAAA,QAAAA,CAAAA;AAPJ,IAAA,IAAA,EAAA;AASQ,IAAA,IACI,EAAEC,QAAAA,IAAYC,QAAAA,IAAYC,IAAAA,CAAAA,IAC1B,CAACC,QAAQC,GAAAA,CAAIC,wCAAAA,EAEb,MAAM,IAAIC,2BAAAA,EAAAA;AACd,IAAA,MAAMC,gBAAAA,GAAAA,CACFJ,aAAQC,GAAAA,CAAIC,wCAAAA,KAAZF,YACA,CAAA,iBAAA,EAAoBH,QAAAA,uCAA+CC,QAAAA,CAAAA,CAAAA;AACvE,IAAA,IAAA,CAAKF,MAAAA,GAAS,IAAIS,SAAAA,CAAUD,gBAAAA,CAAAA;AAChC,EAAA;EAEA,MAAaE,IAAAA,CAAKC,QAAkBC,OAAAA,EAAsC;AACtE,IAAA,MAAMC,MAAAA,GAAqB;AACvBC,MAAAA,IAAAA,EAAM,EAAA;AACNC,MAAAA,MAAAA,EAAQ;AACZ,KAAA;AACA,IAAA,MAAMC,UAAAA,GAAa,MAAM,IAAA,CAAKhB,MAAAA,CAAOU,IAAAA,CAAK;MACtCO,IAAAA,EAAMd,IAAAA;MACNe,EAAAA,EAAIP,MAAAA;AACJC,MAAAA;KACJ,CAAA;AAEAI,IAAAA,UAAAA,CAAWG,OAAAA,CAAQ,CAACC,SAAAA,KAAAA;AAChB,MAAA,IAAIA,SAAAA,CAAUC,YAAAA,EACVR,MAAAA,CAAOE,MAAAA,CAAOO,IAAAA,CAAK;AACfC,QAAAA,KAAAA,EAAOH,SAAAA,CAAUF,EAAAA;AACjBM,QAAAA,KAAAA,EAAOJ,SAAAA,CAAUC;OACrB,CAAA;AACCR,WAAAA,MAAAA,CAAOC,KAAKQ,IAAAA,CAAK;AAAEC,QAAAA,KAAAA,EAAOH,SAAAA,CAAUF;OAAG,CAAA;IAChD,CAAA,CAAA;AAEA,IAAA,OAAOL,MAAAA;AACX,EAAA;AACJ,CAAA;AApCqBf,MAAAA,CAAAA,qBAAAA,EAAAA,sBAAAA,CAAAA;AAArB,IAAqBA,oBAAAA,GAArB","file":"azureSmsSender.client-Z3P5SL47.mjs","sourcesContent":["import { NotProvidedCredentialsError } from '../../errors';\nimport { ISMSSender } from '../../interfaces';\nimport { SendResult } from '../../types';\nimport { USERNAME, PASSWORD, FROM } from '../../utils/constants';\nimport { SmsClient } from '@azure/communication-sms';\n\nexport default class AzureSMSSenderClient implements ISMSSender {\n    client: SmsClient;\n    constructor() {\n        if (\n            !(USERNAME && PASSWORD && FROM) &&\n            !process.env.COMMUNICATION_SERVICES_CONNECTION_STRING\n        )\n            throw new NotProvidedCredentialsError();\n        const connectionString =\n            process.env.COMMUNICATION_SERVICES_CONNECTION_STRING ??\n            `endpoint=https://${USERNAME}.communication.azure.com/;accesskey=${PASSWORD}`;\n        this.client = new SmsClient(connectionString);\n    }\n\n    public async send(phones: string[], message: string): Promise<SendResult> {\n        const result: SendResult = {\n            sent: [],\n            failed: [],\n        };\n        const smsResults = await this.client.send({\n            from: FROM as string,\n            to: phones,\n            message: message,\n        });\n\n        smsResults.forEach((smsResult) => {\n            if (smsResult.errorMessage)\n                result.failed.push({\n                    phone: smsResult.to,\n                    error: smsResult.errorMessage,\n                });\n            else result.sent.push({ phone: smsResult.to });\n        });\n\n        return result;\n    }\n}\n"]}