@capillarytech/creatives-library 8.0.255-alpha.4 → 8.0.256

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/constants/unified.js +0 -1
  2. package/package.json +1 -1
  3. package/services/api.js +0 -5
  4. package/translations/en.json +3 -4
  5. package/utils/common.js +0 -6
  6. package/utils/tests/transformerUtils.test.js +0 -297
  7. package/utils/transformerUtils.js +0 -40
  8. package/v2Components/CapImageUpload/constants.js +0 -2
  9. package/v2Components/CapImageUpload/index.js +16 -65
  10. package/v2Components/CapImageUpload/index.scss +1 -4
  11. package/v2Components/CapImageUpload/messages.js +1 -5
  12. package/v2Components/CommonTestAndPreview/UnifiedPreview/InAppPreviewContent.js +3 -3
  13. package/v2Components/CommonTestAndPreview/UnifiedPreview/RcsPreviewContent.js +3 -3
  14. package/v2Components/CommonTestAndPreview/UnifiedPreview/SmsPreviewContent.js +3 -3
  15. package/v2Components/CommonTestAndPreview/UnifiedPreview/ViberPreviewContent.js +3 -3
  16. package/v2Components/CommonTestAndPreview/UnifiedPreview/WhatsAppPreviewContent.js +1 -1
  17. package/v2Components/CommonTestAndPreview/UnifiedPreview/_unifiedPreview.scss +37 -6
  18. package/v2Components/CommonTestAndPreview/_commonTestAndPreview.scss +0 -2
  19. package/v2Components/TemplatePreview/_templatePreview.scss +1 -2
  20. package/v2Components/TestAndPreviewSlidebox/_testAndPreviewSlidebox.scss +0 -1
  21. package/v2Containers/App/constants.js +0 -5
  22. package/v2Containers/Cap/tests/__snapshots__/index.test.js.snap +3 -4
  23. package/v2Containers/CreativesContainer/SlideBoxContent.js +2 -57
  24. package/v2Containers/CreativesContainer/SlideBoxHeader.js +0 -1
  25. package/v2Containers/CreativesContainer/constants.js +0 -3
  26. package/v2Containers/CreativesContainer/index.js +0 -168
  27. package/v2Containers/CreativesContainer/messages.js +0 -4
  28. package/v2Containers/CreativesContainer/tests/SlideBoxContent.test.js +0 -210
  29. package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +0 -304
  30. package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/content.test.js.snap +12 -36
  31. package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/index.test.js.snap +6 -8
  32. package/v2Containers/Line/Container/Wrapper/tests/__snapshots__/index.test.js.snap +75 -100
  33. package/v2Containers/Line/Container/tests/__snapshots__/index.test.js.snap +54 -72
  34. package/v2Containers/Rcs/tests/__snapshots__/index.test.js.snap +214 -286
  35. package/v2Containers/SmsTrai/Create/tests/__snapshots__/index.test.js.snap +12 -16
  36. package/v2Containers/SmsTrai/Edit/tests/__snapshots__/index.test.js.snap +48 -60
  37. package/v2Containers/Templates/ChannelTypeIllustration.js +1 -13
  38. package/v2Containers/Templates/_templates.scss +0 -205
  39. package/v2Containers/Templates/actions.js +1 -2
  40. package/v2Containers/Templates/constants.js +0 -1
  41. package/v2Containers/Templates/index.js +34 -274
  42. package/v2Containers/Templates/messages.js +0 -24
  43. package/v2Containers/Templates/reducer.js +0 -2
  44. package/v2Containers/Templates/tests/index.test.js +0 -10
  45. package/v2Containers/TemplatesV2/index.js +7 -15
  46. package/v2Containers/TemplatesV2/messages.js +0 -4
  47. package/v2Containers/Whatsapp/index.js +1 -1
  48. package/v2Containers/Whatsapp/tests/__snapshots__/index.test.js.snap +870 -1442
  49. package/utils/imageUrlUpload.js +0 -141
  50. package/v2Components/CapImageUrlUpload/constants.js +0 -26
  51. package/v2Components/CapImageUrlUpload/index.js +0 -365
  52. package/v2Components/CapImageUrlUpload/index.scss +0 -35
  53. package/v2Components/CapImageUrlUpload/messages.js +0 -47
  54. package/v2Containers/WebPush/Create/components/BrandIconSection.js +0 -108
  55. package/v2Containers/WebPush/Create/components/ButtonForm.js +0 -172
  56. package/v2Containers/WebPush/Create/components/ButtonItem.js +0 -101
  57. package/v2Containers/WebPush/Create/components/ButtonList.js +0 -145
  58. package/v2Containers/WebPush/Create/components/ButtonsLinksSection.js +0 -164
  59. package/v2Containers/WebPush/Create/components/ButtonsLinksSection.test.js +0 -463
  60. package/v2Containers/WebPush/Create/components/FormActions.js +0 -54
  61. package/v2Containers/WebPush/Create/components/FormActions.test.js +0 -163
  62. package/v2Containers/WebPush/Create/components/MediaSection.js +0 -142
  63. package/v2Containers/WebPush/Create/components/MediaSection.test.js +0 -341
  64. package/v2Containers/WebPush/Create/components/MessageSection.js +0 -103
  65. package/v2Containers/WebPush/Create/components/MessageSection.test.js +0 -268
  66. package/v2Containers/WebPush/Create/components/NotificationTitleSection.js +0 -87
  67. package/v2Containers/WebPush/Create/components/NotificationTitleSection.test.js +0 -210
  68. package/v2Containers/WebPush/Create/components/TemplateNameSection.js +0 -54
  69. package/v2Containers/WebPush/Create/components/TemplateNameSection.test.js +0 -143
  70. package/v2Containers/WebPush/Create/components/__snapshots__/ButtonsLinksSection.test.js.snap +0 -86
  71. package/v2Containers/WebPush/Create/components/__snapshots__/FormActions.test.js.snap +0 -16
  72. package/v2Containers/WebPush/Create/components/__snapshots__/MediaSection.test.js.snap +0 -41
  73. package/v2Containers/WebPush/Create/components/__snapshots__/MessageSection.test.js.snap +0 -54
  74. package/v2Containers/WebPush/Create/components/__snapshots__/NotificationTitleSection.test.js.snap +0 -37
  75. package/v2Containers/WebPush/Create/components/__snapshots__/TemplateNameSection.test.js.snap +0 -21
  76. package/v2Containers/WebPush/Create/components/_buttons.scss +0 -246
  77. package/v2Containers/WebPush/Create/components/tests/ButtonForm.test.js +0 -554
  78. package/v2Containers/WebPush/Create/components/tests/ButtonItem.test.js +0 -607
  79. package/v2Containers/WebPush/Create/components/tests/ButtonList.test.js +0 -633
  80. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonForm.test.js.snap +0 -666
  81. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonItem.test.js.snap +0 -74
  82. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonList.test.js.snap +0 -78
  83. package/v2Containers/WebPush/Create/hooks/useButtonManagement.js +0 -138
  84. package/v2Containers/WebPush/Create/hooks/useButtonManagement.test.js +0 -406
  85. package/v2Containers/WebPush/Create/hooks/useCharacterCount.js +0 -30
  86. package/v2Containers/WebPush/Create/hooks/useCharacterCount.test.js +0 -151
  87. package/v2Containers/WebPush/Create/hooks/useImageUpload.js +0 -104
  88. package/v2Containers/WebPush/Create/hooks/useImageUpload.test.js +0 -538
  89. package/v2Containers/WebPush/Create/hooks/useTagManagement.js +0 -122
  90. package/v2Containers/WebPush/Create/hooks/useTagManagement.test.js +0 -633
  91. package/v2Containers/WebPush/Create/index.js +0 -1148
  92. package/v2Containers/WebPush/Create/index.scss +0 -134
  93. package/v2Containers/WebPush/Create/messages.js +0 -203
  94. package/v2Containers/WebPush/Create/preview/DevicePreviewContent.js +0 -228
  95. package/v2Containers/WebPush/Create/preview/NotificationContainer.js +0 -294
  96. package/v2Containers/WebPush/Create/preview/PreviewContent.js +0 -90
  97. package/v2Containers/WebPush/Create/preview/PreviewControls.js +0 -305
  98. package/v2Containers/WebPush/Create/preview/PreviewDisclaimer.js +0 -23
  99. package/v2Containers/WebPush/Create/preview/WebPushPreview.js +0 -155
  100. package/v2Containers/WebPush/Create/preview/assets/Light.svg +0 -53
  101. package/v2Containers/WebPush/Create/preview/assets/Top.svg +0 -5
  102. package/v2Containers/WebPush/Create/preview/assets/android-arrow-down.svg +0 -9
  103. package/v2Containers/WebPush/Create/preview/assets/android-arrow-up.svg +0 -9
  104. package/v2Containers/WebPush/Create/preview/assets/chrome-icon.png +0 -0
  105. package/v2Containers/WebPush/Create/preview/assets/edge-icon.png +0 -0
  106. package/v2Containers/WebPush/Create/preview/assets/firefox-icon.svg +0 -106
  107. package/v2Containers/WebPush/Create/preview/assets/iOS.svg +0 -26
  108. package/v2Containers/WebPush/Create/preview/assets/macos-arrow-down-icon.svg +0 -9
  109. package/v2Containers/WebPush/Create/preview/assets/macos-triple-dot-icon.svg +0 -9
  110. package/v2Containers/WebPush/Create/preview/assets/opera-icon.svg +0 -18
  111. package/v2Containers/WebPush/Create/preview/assets/safari-icon.svg +0 -29
  112. package/v2Containers/WebPush/Create/preview/assets/windows-close-icon.svg +0 -9
  113. package/v2Containers/WebPush/Create/preview/assets/windows-triple-dot-icon.svg +0 -9
  114. package/v2Containers/WebPush/Create/preview/components/AndroidMobileChromeHeader.js +0 -47
  115. package/v2Containers/WebPush/Create/preview/components/AndroidMobileExpanded.js +0 -141
  116. package/v2Containers/WebPush/Create/preview/components/IOSHeader.js +0 -45
  117. package/v2Containers/WebPush/Create/preview/components/NotificationExpandedContent.js +0 -68
  118. package/v2Containers/WebPush/Create/preview/components/NotificationHeader.js +0 -61
  119. package/v2Containers/WebPush/Create/preview/components/WindowsChromeExpanded.js +0 -99
  120. package/v2Containers/WebPush/Create/preview/components/tests/AndroidMobileExpanded.test.js +0 -733
  121. package/v2Containers/WebPush/Create/preview/components/tests/WindowsChromeExpanded.test.js +0 -571
  122. package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/AndroidMobileExpanded.test.js.snap +0 -81
  123. package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/WindowsChromeExpanded.test.js.snap +0 -81
  124. package/v2Containers/WebPush/Create/preview/config/notificationMappings.js +0 -50
  125. package/v2Containers/WebPush/Create/preview/constants.js +0 -637
  126. package/v2Containers/WebPush/Create/preview/notification-container.scss +0 -79
  127. package/v2Containers/WebPush/Create/preview/preview.scss +0 -351
  128. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-chrome.scss +0 -370
  129. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-edge.scss +0 -12
  130. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-firefox.scss +0 -12
  131. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-opera.scss +0 -12
  132. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-chrome.scss +0 -47
  133. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-edge.scss +0 -11
  134. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-firefox.scss +0 -11
  135. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-opera.scss +0 -11
  136. package/v2Containers/WebPush/Create/preview/styles/_base.scss +0 -207
  137. package/v2Containers/WebPush/Create/preview/styles/_ios.scss +0 -153
  138. package/v2Containers/WebPush/Create/preview/styles/_ipados.scss +0 -107
  139. package/v2Containers/WebPush/Create/preview/styles/_macos-chrome.scss +0 -101
  140. package/v2Containers/WebPush/Create/preview/styles/_windows-chrome.scss +0 -229
  141. package/v2Containers/WebPush/Create/preview/tests/DevicePreviewContent.test.js +0 -909
  142. package/v2Containers/WebPush/Create/preview/tests/NotificationContainer.test.js +0 -1081
  143. package/v2Containers/WebPush/Create/preview/tests/PreviewControls.test.js +0 -723
  144. package/v2Containers/WebPush/Create/preview/tests/WebPushPreview.test.js +0 -1327
  145. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/DevicePreviewContent.test.js.snap +0 -131
  146. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/NotificationContainer.test.js.snap +0 -112
  147. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/PreviewControls.test.js.snap +0 -144
  148. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/WebPushPreview.test.js.snap +0 -129
  149. package/v2Containers/WebPush/Create/utils/payloadBuilder.js +0 -96
  150. package/v2Containers/WebPush/Create/utils/payloadBuilder.test.js +0 -396
  151. package/v2Containers/WebPush/Create/utils/previewUtils.js +0 -89
  152. package/v2Containers/WebPush/Create/utils/urlValidation.js +0 -115
  153. package/v2Containers/WebPush/Create/utils/urlValidation.test.js +0 -449
  154. package/v2Containers/WebPush/Create/utils/validation.js +0 -75
  155. package/v2Containers/WebPush/Create/utils/validation.test.js +0 -283
  156. package/v2Containers/WebPush/actions.js +0 -60
  157. package/v2Containers/WebPush/constants.js +0 -132
  158. package/v2Containers/WebPush/index.js +0 -2
  159. package/v2Containers/WebPush/reducer.js +0 -104
  160. package/v2Containers/WebPush/sagas.js +0 -119
  161. package/v2Containers/WebPush/selectors.js +0 -65
  162. package/v2Containers/WebPush/tests/reducer.test.js +0 -863
  163. package/v2Containers/WebPush/tests/sagas.test.js +0 -566
  164. package/v2Containers/WebPush/tests/selectors.test.js +0 -960
@@ -51,7 +51,6 @@ export const EXTENDED_TAG = 'ExtendedTagMessage';
51
51
  export const BADGES_UI_ENABLED = 'BADGES_UI_ENABLED';
52
52
  export const JP_LOCALE_HIDE_FEATURE = 'JP_LOCALE_HIDE_FEATURE';
53
53
  export const ENABLE_WECHAT = 'ENABLE_WECHAT';
54
- export const ENABLE_WEBPUSH = 'ENABLE_WEBPUSH';
55
54
  export const ENABLE_CUSTOMER_BARCODE_TAG = 'ENABLE_CUSTOMER_BARCODE_TAG';
56
55
  export const EMAIL_UNSUBSCRIBE_TAG_MANDATORY = 'EMAIL_UNSUBSCRIBE_TAG_MANDATORY';
57
56
  export const ENABLE_AI_SUGGESTIONS = 'ENABLE_AI_SUGGESTIONS';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@capillarytech/creatives-library",
3
3
  "author": "meharaj",
4
- "version": "8.0.255-alpha.4",
4
+ "version": "8.0.256",
5
5
  "description": "Capillary creatives ui",
6
6
  "main": "./index.js",
7
7
  "module": "./index.es.js",
package/services/api.js CHANGED
@@ -287,11 +287,6 @@ export const createMobilePushTemplateV2 = (template) => {
287
287
  return request(url, getAPICallObject('POST', template));
288
288
  };
289
289
 
290
- export const createWebPushTemplate = (template) => {
291
- const url = `${API_ENDPOINT}/templates/WEBPUSH`;
292
- return request(url, getAPICallObject('POST', template));
293
- };
294
-
295
290
  export const duplicateTemplate = ({id, channel}) => {
296
291
  const url = `${API_ENDPOINT}/templates/duplicate/${id}/${channel}`;
297
292
  return request(url, getAPICallObject('GET'));
@@ -165,7 +165,7 @@
165
165
  "creatives.componentsV2.CapDocumentUpload.imageDimenstionDescription": "Dimensions upto: {width}px x {height}px",
166
166
  "creatives.componentsV2.CapDocumentUpload.or": "OR",
167
167
  "creatives.componentsV2.CapDocumentUpload.uploadComputer": "Select from computer",
168
- "creatives.componentsV2.CapDocumentUpload.whatsappDocSize": "Size up to: {size}",
168
+ "creatives.componentsV2.CapDocumentUpload.whatsappDocSize": "Size upto: {size}",
169
169
  "creatives.componentsV2.CapImageUpload.aspectRatio": "Aspect ratio: 1:1",
170
170
  "creatives.componentsV2.CapImageUpload.dragAndDrop": "Drag and drop image here",
171
171
  "creatives.componentsV2.CapImageUpload.format": "Format: JPEG, JPG, PNG",
@@ -173,13 +173,13 @@
173
173
  "creatives.componentsV2.CapImageUpload.imageErrorDesc": "Please upload the image with allowed file extension, size, dimension and aspect ratio",
174
174
  "creatives.componentsV2.CapImageUpload.imageGallery": "Gallery",
175
175
  "creatives.componentsV2.CapImageUpload.imageReUpload": "Reupload",
176
- "creatives.componentsV2.CapImageUpload.imageSize": "Size up to: 2MB",
176
+ "creatives.componentsV2.CapImageUpload.imageSize": "Size upto: 2MB",
177
177
  "creatives.componentsV2.CapImageUpload.or": "OR",
178
178
  "creatives.componentsV2.CapImageUpload.uploadComputer": "Select from computer",
179
179
  "creatives.componentsV2.CapImageUpload.uploadGallery": "Gallery",
180
180
  "creatives.componentsV2.CapImageUpload.uploadImageDescription": "The relevant image that complements the message context.",
181
181
  "creatives.componentsV2.CapImageUpload.whatsappAspectRatio": "Max aspect ratio: 1.91:1",
182
- "creatives.componentsV2.CapImageUpload.whatsappImageSize": "Size up to: 5MB",
182
+ "creatives.componentsV2.CapImageUpload.whatsappImageSize": "Size upto: 5MB",
183
183
  "creatives.componentsV2.CapTagList.Cancel": "Cancel",
184
184
  "creatives.componentsV2.CapTagList.Ok": "Ok",
185
185
  "creatives.componentsV2.CapTagList.all": "All",
@@ -2022,7 +2022,6 @@
2022
2022
  "creatives.containersV2.Whatsapp.vietnamese": "Vietnamese",
2023
2023
  "creatives.containersV2.Whatsapp.whatsappCreateNotification": "{name} has been sent for approval",
2024
2024
  "creatives.containersV2.Whatsapp.zulu": "Zulu",
2025
- "creatives.containersV2.WebPush.addLabels": "Add labels",
2026
2025
  "creatives.containersV2.addLabels": "Add labels",
2027
2026
  "creatives.containersV2.appName": "App Name",
2028
2027
  "creatives.containersV2.applyNow": "Apply now",
package/utils/common.js CHANGED
@@ -21,7 +21,6 @@ import {
21
21
  EMAIL_UNSUBSCRIBE_TAG_MANDATORY,
22
22
  BADGES_ISSUE,
23
23
  ENABLE_WECHAT,
24
- ENABLE_WEBPUSH,
25
24
  LIQUID_SUPPORT,
26
25
  ENABLE_NEW_MPUSH
27
26
  } from '../constants/unified';
@@ -117,11 +116,6 @@ export const hasWechatFeatureEnabled = Auth.hasFeatureAccess.bind(
117
116
  ENABLE_WECHAT,
118
117
  );
119
118
 
120
- export const hasWebPushFeatureEnabled = Auth.hasFeatureAccess.bind(
121
- null,
122
- ENABLE_WEBPUSH,
123
- );
124
-
125
119
  export const hasCustomerBarcodeFeatureEnabled = Auth.hasFeatureAccess.bind(
126
120
  null,
127
121
  ENABLE_CUSTOMER_BARCODE_TAG,
@@ -15,7 +15,6 @@ import {
15
15
  RCS,
16
16
  LINE,
17
17
  VIBER,
18
- WEBPUSH,
19
18
  } from "../../v2Containers/CreativesContainer/constants";
20
19
 
21
20
  describe("transformerUtils", () => {
@@ -1183,302 +1182,6 @@ describe("transformerUtils", () => {
1183
1182
  });
1184
1183
  });
1185
1184
 
1186
- describe("WebPush payload transformation", () => {
1187
- it("should transform WebPush data correctly with minimal data", () => {
1188
- const mockData = {
1189
- channel: WEBPUSH,
1190
- messageSubject: "test webpush notification"
1191
- };
1192
-
1193
- const result = transformChannelPayload(mockData);
1194
-
1195
- expect(result.centralCommsPayload).toBeDefined();
1196
- expect(result.centralCommsPayload.channel).toEqual(WEBPUSH);
1197
- expect(result.centralCommsPayload.webpushMessageContent.messageSubject).toEqual(
1198
- "test webpush notification"
1199
- );
1200
- expect(result.centralCommsPayload.clientName).toEqual("VENENO");
1201
- });
1202
-
1203
- it("should transform WebPush data with all options", () => {
1204
- const mockData = {
1205
- channel: WEBPUSH,
1206
- messageSubject: "test webpush notification",
1207
- messageContent: {
1208
- content: {
1209
- accountId: 12345,
1210
- content: {
1211
- title: "WebPush Title",
1212
- message: "WebPush Message",
1213
- iconImageUrl: "https://example.com/icon.png",
1214
- cta: {
1215
- actionLink: "https://example.com/action",
1216
- actionText: "Click Here"
1217
- },
1218
- expandableDetails: {
1219
- style: "BIG_TEXT",
1220
- message: "Expanded Message"
1221
- }
1222
- },
1223
- offers: [
1224
- { id: "offer-1", title: "Offer 1" },
1225
- { id: "offer-2", title: "Offer 2" }
1226
- ]
1227
- }
1228
- }
1229
- };
1230
-
1231
- const options = {
1232
- loyaltyMetaData: {
1233
- actionId: "action-123",
1234
- ouId: 456,
1235
- clientName: "TestClient",
1236
- module: "TestModule",
1237
- transformedMessageDetails: {
1238
- webpushDeliverySettings: {
1239
- sendDate: "2023-01-01",
1240
- priority: "HIGH"
1241
- }
1242
- }
1243
- }
1244
- };
1245
-
1246
- const result = transformChannelPayload(mockData, options);
1247
-
1248
- // Check base payload
1249
- expect(result.centralCommsPayload.sourceEntityId).toEqual("action-123");
1250
- expect(result.centralCommsPayload.ouId).toEqual(456);
1251
- expect(result.centralCommsPayload.clientName).toEqual("TestClient");
1252
- expect(result.centralCommsPayload.module).toEqual("TestModule");
1253
-
1254
- // Check WebPush-specific content
1255
- expect(result.centralCommsPayload.webpushMessageContent.channel).toEqual(WEBPUSH);
1256
- expect(result.centralCommsPayload.webpushMessageContent.accountId).toEqual(12345);
1257
- expect(result.centralCommsPayload.webpushMessageContent.messageSubject).toEqual(
1258
- "test webpush notification"
1259
- );
1260
- expect(result.centralCommsPayload.webpushMessageContent.content.title).toEqual(
1261
- "WebPush Title"
1262
- );
1263
- expect(result.centralCommsPayload.webpushMessageContent.content.message).toEqual(
1264
- "WebPush Message"
1265
- );
1266
- expect(result.centralCommsPayload.webpushMessageContent.content.iconImageUrl).toEqual(
1267
- "https://example.com/icon.png"
1268
- );
1269
- expect(result.centralCommsPayload.webpushMessageContent.content.cta).toEqual({
1270
- actionLink: "https://example.com/action",
1271
- actionText: "Click Here"
1272
- });
1273
- expect(result.centralCommsPayload.webpushMessageContent.content.expandableDetails).toEqual({
1274
- style: "BIG_TEXT",
1275
- message: "Expanded Message"
1276
- });
1277
- expect(result.centralCommsPayload.webpushMessageContent.offers).toEqual([
1278
- { id: "offer-1", title: "Offer 1" },
1279
- { id: "offer-2", title: "Offer 2" }
1280
- ]);
1281
-
1282
- // Check delivery settings
1283
- expect(result.centralCommsPayload.webpushDeliverySettings).toEqual({
1284
- sendDate: "2023-01-01",
1285
- priority: "HIGH"
1286
- });
1287
- });
1288
-
1289
- it("should handle missing messageContent structure", () => {
1290
- const mockData = {
1291
- channel: WEBPUSH,
1292
- messageSubject: "test webpush notification"
1293
- };
1294
-
1295
- const result = transformChannelPayload(mockData);
1296
-
1297
- expect(result.centralCommsPayload.webpushMessageContent.accountId).toEqual(0);
1298
- expect(result.centralCommsPayload.webpushMessageContent.content.title).toEqual("");
1299
- expect(result.centralCommsPayload.webpushMessageContent.content.message).toEqual("");
1300
- expect(result.centralCommsPayload.webpushMessageContent.offers).toEqual([]);
1301
- });
1302
-
1303
- it("should handle missing content properties", () => {
1304
- const mockData = {
1305
- channel: WEBPUSH,
1306
- messageSubject: "test webpush notification",
1307
- messageContent: {
1308
- content: {
1309
- accountId: 12345,
1310
- content: {}
1311
- }
1312
- }
1313
- };
1314
-
1315
- const result = transformChannelPayload(mockData);
1316
-
1317
- expect(result.centralCommsPayload.webpushMessageContent.accountId).toEqual(12345);
1318
- expect(result.centralCommsPayload.webpushMessageContent.content.title).toEqual("");
1319
- expect(result.centralCommsPayload.webpushMessageContent.content.message).toEqual("");
1320
- expect(result.centralCommsPayload.webpushMessageContent.content.iconImageUrl).toBeUndefined();
1321
- expect(result.centralCommsPayload.webpushMessageContent.content.cta).toBeUndefined();
1322
- expect(result.centralCommsPayload.webpushMessageContent.content.expandableDetails).toBeUndefined();
1323
- });
1324
-
1325
- it("should conditionally include iconImageUrl only when present", () => {
1326
- const mockDataWithoutIcon = {
1327
- channel: WEBPUSH,
1328
- messageSubject: "test",
1329
- messageContent: {
1330
- content: {
1331
- content: {
1332
- title: "Title",
1333
- message: "Message"
1334
- }
1335
- }
1336
- }
1337
- };
1338
-
1339
- const resultWithoutIcon = transformChannelPayload(mockDataWithoutIcon);
1340
- expect(resultWithoutIcon.centralCommsPayload.webpushMessageContent.content.iconImageUrl).toBeUndefined();
1341
-
1342
- const mockDataWithIcon = {
1343
- channel: WEBPUSH,
1344
- messageSubject: "test",
1345
- messageContent: {
1346
- content: {
1347
- content: {
1348
- title: "Title",
1349
- message: "Message",
1350
- iconImageUrl: "https://example.com/icon.png"
1351
- }
1352
- }
1353
- }
1354
- };
1355
-
1356
- const resultWithIcon = transformChannelPayload(mockDataWithIcon);
1357
- expect(resultWithIcon.centralCommsPayload.webpushMessageContent.content.iconImageUrl).toEqual(
1358
- "https://example.com/icon.png"
1359
- );
1360
- });
1361
-
1362
- it("should conditionally include cta only when present", () => {
1363
- const mockDataWithoutCta = {
1364
- channel: WEBPUSH,
1365
- messageSubject: "test",
1366
- messageContent: {
1367
- content: {
1368
- content: {
1369
- title: "Title",
1370
- message: "Message"
1371
- }
1372
- }
1373
- }
1374
- };
1375
-
1376
- const resultWithoutCta = transformChannelPayload(mockDataWithoutCta);
1377
- expect(resultWithoutCta.centralCommsPayload.webpushMessageContent.content.cta).toBeUndefined();
1378
-
1379
- const mockDataWithCta = {
1380
- channel: WEBPUSH,
1381
- messageSubject: "test",
1382
- messageContent: {
1383
- content: {
1384
- content: {
1385
- title: "Title",
1386
- message: "Message",
1387
- cta: {
1388
- actionLink: "https://example.com",
1389
- actionText: "Click"
1390
- }
1391
- }
1392
- }
1393
- }
1394
- };
1395
-
1396
- const resultWithCta = transformChannelPayload(mockDataWithCta);
1397
- expect(resultWithCta.centralCommsPayload.webpushMessageContent.content.cta).toEqual({
1398
- actionLink: "https://example.com",
1399
- actionText: "Click"
1400
- });
1401
- });
1402
-
1403
- it("should conditionally include expandableDetails only when present", () => {
1404
- const mockDataWithoutExpandable = {
1405
- channel: WEBPUSH,
1406
- messageSubject: "test",
1407
- messageContent: {
1408
- content: {
1409
- content: {
1410
- title: "Title",
1411
- message: "Message"
1412
- }
1413
- }
1414
- }
1415
- };
1416
-
1417
- const resultWithoutExpandable = transformChannelPayload(mockDataWithoutExpandable);
1418
- expect(resultWithoutExpandable.centralCommsPayload.webpushMessageContent.content.expandableDetails).toBeUndefined();
1419
-
1420
- const mockDataWithExpandable = {
1421
- channel: WEBPUSH,
1422
- messageSubject: "test",
1423
- messageContent: {
1424
- content: {
1425
- content: {
1426
- title: "Title",
1427
- message: "Message",
1428
- expandableDetails: {
1429
- style: "BIG_TEXT",
1430
- message: "Expanded"
1431
- }
1432
- }
1433
- }
1434
- }
1435
- };
1436
-
1437
- const resultWithExpandable = transformChannelPayload(mockDataWithExpandable);
1438
- expect(resultWithExpandable.centralCommsPayload.webpushMessageContent.content.expandableDetails).toEqual({
1439
- style: "BIG_TEXT",
1440
- message: "Expanded"
1441
- });
1442
- });
1443
-
1444
- it("should handle undefined webpushDeliverySettings", () => {
1445
- const mockData = {
1446
- channel: WEBPUSH,
1447
- messageSubject: "test webpush notification"
1448
- };
1449
-
1450
- const options = {
1451
- loyaltyMetaData: {
1452
- transformedMessageDetails: {}
1453
- }
1454
- };
1455
-
1456
- const result = transformChannelPayload(mockData, options);
1457
-
1458
- expect(result.centralCommsPayload.webpushDeliverySettings).toEqual({});
1459
- });
1460
-
1461
- it("should handle empty offers array", () => {
1462
- const mockData = {
1463
- channel: WEBPUSH,
1464
- messageSubject: "test",
1465
- messageContent: {
1466
- content: {
1467
- content: {
1468
- title: "Title",
1469
- message: "Message"
1470
- },
1471
- offers: []
1472
- }
1473
- }
1474
- };
1475
-
1476
- const result = transformChannelPayload(mockData);
1477
-
1478
- expect(result.centralCommsPayload.webpushMessageContent.offers).toEqual([]);
1479
- });
1480
- });
1481
-
1482
1185
  describe("getTemplateDiffState", () => {
1483
1186
  it("should return false for unsupported channel", () => {
1484
1187
  const result = getTemplateDiffState("UNSUPPORTED_CHANNEL", {}, {});
@@ -10,7 +10,6 @@ import {
10
10
  RCS,
11
11
  LINE,
12
12
  VIBER,
13
- WEBPUSH,
14
13
  EMF,
15
14
  VENENO,
16
15
  TEXT,
@@ -64,8 +63,6 @@ export const transformChannelPayload = (data, options = {}) => {
64
63
  return transformLinePayload(data, options);
65
64
  case VIBER:
66
65
  return transformViberPayload(data, options);
67
- case WEBPUSH:
68
- return transformWebpushPayload(data, options);
69
66
  default:
70
67
  return data; // Return unchanged for unsupported channels
71
68
  }
@@ -320,43 +317,6 @@ const transformViberPayload = (viberData, options = {}) => {
320
317
  return payload;
321
318
  };
322
319
 
323
- /**
324
- * Transforms WebPush data to the required payload format
325
- * @param {Object} webpushData - Current WebPush data
326
- * @param {Object} options - Additional options (ouId, sourceEntityId, etc.)
327
- * @returns {Object} - Transformed WebPush payload
328
- */
329
- const transformWebpushPayload = (webpushData, options = {}) => {
330
- const { loyaltyMetaData = {} } = options;
331
- const { transformedMessageDetails = {} } = loyaltyMetaData;
332
- const { webpushDeliverySettings = {} } = transformedMessageDetails || {};
333
-
334
- // Get base payload structure
335
- const payload = createBasePayload(WEBPUSH, loyaltyMetaData);
336
-
337
- // Extract webpush content from messageContent.content.content structure
338
- const webpushContent = webpushData?.messageContent?.content?.content || {};
339
- const accountId = webpushData?.messageContent?.content?.accountId || 0;
340
-
341
- // Add WebPush-specific properties
342
- payload.centralCommsPayload.webpushMessageContent = {
343
- channel: WEBPUSH,
344
- accountId,
345
- content: {
346
- title: webpushContent?.title || '',
347
- message: webpushContent?.message || '',
348
- ...(webpushContent?.iconImageUrl && { iconImageUrl: webpushContent.iconImageUrl }),
349
- ...(webpushContent?.cta && { cta: webpushContent.cta }),
350
- ...(webpushContent?.expandableDetails && { expandableDetails: webpushContent.expandableDetails }),
351
- },
352
- messageSubject: webpushData?.messageSubject || "",
353
- offers: webpushData?.messageContent?.content?.offers || [],
354
- };
355
- payload.centralCommsPayload.webpushDeliverySettings = webpushDeliverySettings;
356
-
357
- return payload;
358
- };
359
-
360
320
  // Checks if the template has changed
361
321
  export const getTemplateDiffState = (channel, oldData, newData) => {
362
322
  switch (channel.toUpperCase()) {
@@ -4,6 +4,4 @@ export const MAX_SUPPORTED_IMAGE_SIZE = {
4
4
  INAPP: 5,
5
5
  WHATSAPP: 5,
6
6
  MOBILEPUSH: 2,
7
- WEBPUSH: 5,
8
- WEBPUSH_BRAND_ICON: 1
9
7
  };