From 25ba4dd44ad0ea7e4f44a2ddcaca694da538cc21 Mon Sep 17 00:00:00 2001 From: aiswaryawalter Date: Thu, 20 Apr 2023 17:11:54 +0530 Subject: [PATCH] feat: caip conversion for subset recipients --- src/helpers/epnschannel.ts | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/helpers/epnschannel.ts b/src/helpers/epnschannel.ts index 71f2d1a..b0fdd81 100644 --- a/src/helpers/epnschannel.ts +++ b/src/helpers/epnschannel.ts @@ -10,6 +10,7 @@ import { AccountId } from 'caip'; import { IAnalyticsLog } from '../models/analytics'; import mongoose from 'mongoose'; import { ENV } from '@pushprotocol/restapi/src/lib/constants'; +import { forEach } from 'lodash'; export interface ChannelSettings { networkToMonitor: string; @@ -23,7 +24,7 @@ export interface ChannelSettings { } export interface ISendNotificationParams { - recipient: string; + recipient: string | Array; title: string; message: string; payloadTitle: string; @@ -204,10 +205,19 @@ export class EPNSChannel { env: config.showrunnersEnv, }; - if (params.notificationType != 1) { + if (params.notificationType == 3) { const caipRecipients = this.convertToCAIP(params.recipient); apiResponsePayload['recipients'] = caipRecipients; } + + if (params.notificationType === 4 && Array.isArray(params.recipient)) { + const caipRecipients = []; + params.recipient.forEach((recipient) => { + if(recipient) caipRecipients.push(this.getCAIPAddress(recipient)); + }); + apiResponsePayload['recipients'] = caipRecipients; + } + const payloadAPI: any = PushAPI.payloads; const apiResponse = await payloadAPI.sendNotification(apiResponsePayload); if (apiResponse?.status === 204) {