react-native-netmera 2.0.0-beta02 → 2.0.0

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 (47) hide show
  1. package/README.md +56 -37
  2. package/RNNetmera.podspec +1 -1
  3. package/android/build.gradle +1 -1
  4. package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraPushActionCallbacks.kt +13 -17
  5. package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraUtil.kt +39 -8
  6. package/ios/RNNetmera.swift +3 -5
  7. package/ios/RNNetmeraPushLifecycleDelegate.swift +14 -18
  8. package/ios/RNNetmeraPushObject.swift +77 -88
  9. package/lib/module/Netmera.js +33 -15
  10. package/lib/module/Netmera.js.map +1 -1
  11. package/lib/module/index.js +4 -2
  12. package/lib/module/index.js.map +1 -1
  13. package/lib/module/models/NetmeraCarouselObject.js +18 -0
  14. package/lib/module/models/NetmeraCarouselObject.js.map +1 -0
  15. package/lib/module/models/NetmeraInteractiveAction.js +5 -5
  16. package/lib/module/models/NetmeraInteractiveAction.js.map +1 -1
  17. package/lib/module/models/NetmeraPushAction.js +27 -0
  18. package/lib/module/models/NetmeraPushAction.js.map +1 -0
  19. package/lib/module/models/NetmeraPushObject.js +58 -0
  20. package/lib/module/models/NetmeraPushObject.js.map +1 -0
  21. package/lib/typescript/src/Netmera.d.ts +8 -4
  22. package/lib/typescript/src/Netmera.d.ts.map +1 -1
  23. package/lib/typescript/src/index.d.ts +4 -2
  24. package/lib/typescript/src/index.d.ts.map +1 -1
  25. package/lib/typescript/src/models/NetmeraCarouselObject.d.ts +8 -0
  26. package/lib/typescript/src/models/NetmeraCarouselObject.d.ts.map +1 -0
  27. package/lib/typescript/src/models/NetmeraCategory.d.ts +2 -2
  28. package/lib/typescript/src/models/NetmeraCategory.d.ts.map +1 -1
  29. package/lib/typescript/src/models/NetmeraInteractiveAction.d.ts +2 -2
  30. package/lib/typescript/src/models/NetmeraInteractiveAction.d.ts.map +1 -1
  31. package/lib/typescript/src/models/NetmeraPushAction.d.ts +17 -0
  32. package/lib/typescript/src/models/NetmeraPushAction.d.ts.map +1 -0
  33. package/lib/typescript/src/models/NetmeraPushObject.d.ts +40 -0
  34. package/lib/typescript/src/models/NetmeraPushObject.d.ts.map +1 -0
  35. package/package.json +1 -1
  36. package/src/Netmera.ts +52 -35
  37. package/src/index.ts +10 -2
  38. package/src/models/NetmeraCarouselObject.ts +21 -0
  39. package/src/models/NetmeraCategory.ts +2 -2
  40. package/src/models/NetmeraInteractiveAction.ts +7 -7
  41. package/src/models/NetmeraPushAction.ts +28 -0
  42. package/src/models/NetmeraPushObject.ts +90 -0
  43. package/lib/module/models/NetmeraInbox.js +0 -37
  44. package/lib/module/models/NetmeraInbox.js.map +0 -1
  45. package/lib/typescript/src/models/NetmeraInbox.d.ts +0 -24
  46. package/lib/typescript/src/models/NetmeraInbox.d.ts.map +0 -1
  47. package/src/models/NetmeraInbox.ts +0 -60
package/src/Netmera.ts CHANGED
@@ -6,7 +6,9 @@ import { AppRegistry, DeviceEventEmitter } from 'react-native';
6
6
  import NetmeraEvent from './events/NetmeraEvent';
7
7
  import NetmeraUser from './models/NetmeraUser';
8
8
  import NetmeraInboxFilter from './models/NetmeraInboxFilter';
9
- import NetmeraPushInbox from './models/NetmeraInbox';
9
+ import NetmeraPushObject from './models/NetmeraPushObject';
10
+ import NetmeraInteractiveAction from './models/NetmeraInteractiveAction';
11
+ import NetmeraCarouselObject from './models/NetmeraCarouselObject';
10
12
  import NetmeraCategoryFilter from './models/NetmeraCategoryFilter';
11
13
  import NetmeraCategory from './models/NetmeraCategory';
12
14
  import NMInboxStatusCountFilter from './models/NMInboxStatusCountFilter';
@@ -19,67 +21,82 @@ import { netmeraRCTEventEmitter, RNNetmera } from './utils/RNNetmera';
19
21
  import type { NetmeraUserProfile } from './models/NetmeraUserProfile';
20
22
 
21
23
  export default class Netmera {
22
- static initBroadcastReceiver = (
23
- onPushRegister?: (message: string) => Promise<void>,
24
- onPushReceive?: (message: string) => Promise<void>,
25
- onPushOpen?: (message: string) => Promise<void>,
26
- onPushDismiss?: (message: string) => Promise<void>,
27
- onPushButtonClicked?: (message: string) => Promise<void>,
28
- onCarouselObjectSelected?: (message: string) => Promise<void>
24
+ static setPushLifecycleCallbacks = (
25
+ onPushRegister?: (data: { pushToken: string }) => Promise<void>,
26
+ onPushReceive?: (push: NetmeraPushObject) => Promise<void>,
27
+ onPushOpen?: (push: NetmeraPushObject) => Promise<void>,
28
+ onPushDismiss?: (push: NetmeraPushObject) => Promise<void>,
29
+ onPushButtonClicked?: (
30
+ push: NetmeraPushObject,
31
+ action?: NetmeraInteractiveAction
32
+ ) => Promise<void>,
33
+ onCarouselObjectSelected?: (
34
+ push: NetmeraPushObject,
35
+ carouselItem?: NetmeraCarouselObject
36
+ ) => Promise<void>
29
37
  ) => {
30
38
  if (onPushRegister) {
39
+ const wrapped = (raw: any) =>
40
+ onPushRegister({ pushToken: raw?.pushToken });
31
41
  if (isAndroid()) {
32
- AppRegistry.registerHeadlessTask(
33
- 'onPushRegister',
34
- () => onPushRegister
35
- );
42
+ AppRegistry.registerHeadlessTask('onPushRegister', () => wrapped);
36
43
  } else {
37
- netmeraRCTEventEmitter.addListener('onPushRegister', onPushRegister);
44
+ netmeraRCTEventEmitter.addListener('onPushRegister', wrapped);
38
45
  }
39
46
  }
40
47
  if (onPushReceive) {
48
+ const wrapped = (raw: any) =>
49
+ onPushReceive(NetmeraPushObject.fromJson(raw));
41
50
  if (isAndroid()) {
42
- AppRegistry.registerHeadlessTask('onPushReceive', () => onPushReceive);
51
+ AppRegistry.registerHeadlessTask('onPushReceive', () => wrapped);
43
52
  } else {
44
- netmeraRCTEventEmitter.addListener('onPushReceive', onPushReceive);
53
+ netmeraRCTEventEmitter.addListener('onPushReceive', wrapped);
45
54
  }
46
55
  }
47
56
  if (onPushOpen) {
57
+ const wrapped = (raw: any) => onPushOpen(NetmeraPushObject.fromJson(raw));
48
58
  if (isAndroid()) {
49
- AppRegistry.registerHeadlessTask('onPushOpen', () => onPushOpen);
59
+ AppRegistry.registerHeadlessTask('onPushOpen', () => wrapped);
50
60
  } else {
51
- netmeraRCTEventEmitter.addListener('onPushOpen', onPushOpen);
61
+ netmeraRCTEventEmitter.addListener('onPushOpen', wrapped);
52
62
  }
53
63
  }
54
64
  if (onPushDismiss) {
65
+ const wrapped = (raw: any) =>
66
+ onPushDismiss(NetmeraPushObject.fromJson(raw));
55
67
  if (isAndroid()) {
56
- AppRegistry.registerHeadlessTask('onPushDismiss', () => onPushDismiss);
68
+ AppRegistry.registerHeadlessTask('onPushDismiss', () => wrapped);
57
69
  }
58
70
  }
59
71
  if (onPushButtonClicked) {
72
+ const wrapped = (raw: any) => {
73
+ const push = NetmeraPushObject.fromJson(raw);
74
+ const action = raw?.clickedAction
75
+ ? NetmeraInteractiveAction.fromJson(raw.clickedAction)
76
+ : undefined;
77
+ return onPushButtonClicked(push, action);
78
+ };
60
79
  if (isAndroid()) {
61
- AppRegistry.registerHeadlessTask(
62
- 'onPushButtonClicked',
63
- () => onPushButtonClicked
64
- );
80
+ AppRegistry.registerHeadlessTask('onPushButtonClicked', () => wrapped);
65
81
  } else {
66
- netmeraRCTEventEmitter.addListener(
67
- 'onPushButtonClicked',
68
- onPushButtonClicked
69
- );
82
+ netmeraRCTEventEmitter.addListener('onPushButtonClicked', wrapped);
70
83
  }
71
84
  }
72
85
  if (onCarouselObjectSelected) {
86
+ const wrapped = (raw: any) => {
87
+ const push = NetmeraPushObject.fromJson(raw);
88
+ const carouselItem = raw?.carouselItem
89
+ ? NetmeraCarouselObject.fromJson(raw.carouselItem)
90
+ : undefined;
91
+ return onCarouselObjectSelected(push, carouselItem);
92
+ };
73
93
  if (isAndroid()) {
74
94
  AppRegistry.registerHeadlessTask(
75
95
  'onCarouselObjectSelected',
76
- () => onCarouselObjectSelected
96
+ () => wrapped
77
97
  );
78
98
  } else {
79
- netmeraRCTEventEmitter.addListener(
80
- 'onCarouselItemClicked',
81
- onCarouselObjectSelected
82
- );
99
+ netmeraRCTEventEmitter.addListener('onCarouselItemClicked', wrapped);
83
100
  }
84
101
  }
85
102
  };
@@ -178,15 +195,15 @@ export default class Netmera {
178
195
 
179
196
  static fetchInbox = async (
180
197
  netmeraInboxFilter: NetmeraInboxFilter
181
- ): Promise<Array<NetmeraPushInbox>> => {
198
+ ): Promise<Array<NetmeraPushObject>> => {
182
199
  const items: Record<string, any>[] =
183
200
  await RNNetmera.fetchInbox(netmeraInboxFilter);
184
- return items.map(NetmeraPushInbox.fromJson);
201
+ return items.map(NetmeraPushObject.fromJson);
185
202
  };
186
203
 
187
- static fetchNextPage = async (): Promise<Array<NetmeraPushInbox>> => {
204
+ static fetchNextPage = async (): Promise<Array<NetmeraPushObject>> => {
188
205
  const items: Record<string, any>[] = await RNNetmera.fetchNextPage();
189
- return items.map(NetmeraPushInbox.fromJson);
206
+ return items.map(NetmeraPushObject.fromJson);
190
207
  };
191
208
 
192
209
  static countForStatus = (status: number = NMInboxStatus.STATUS_UNREAD) => {
package/src/index.ts CHANGED
@@ -11,7 +11,11 @@ import {
11
11
  } from './models/NetmeraProfileAttribute';
12
12
  import NetmeraCategory from './models/NetmeraCategory';
13
13
  import NetmeraCategoryFilter from './models/NetmeraCategoryFilter';
14
- import NetmeraPushInbox from './models/NetmeraInbox';
14
+ import NetmeraPushObject, { NetmeraPushType } from './models/NetmeraPushObject';
15
+ import NetmeraPushAction, {
16
+ NetmeraPushActionType,
17
+ } from './models/NetmeraPushAction';
18
+ import NetmeraCarouselObject from './models/NetmeraCarouselObject';
15
19
  import NetmeraInteractiveAction from './models/NetmeraInteractiveAction';
16
20
  import NetmeraInboxFilter from './models/NetmeraInboxFilter';
17
21
  import NMInboxStatusCountFilter from './models/NMInboxStatusCountFilter';
@@ -46,7 +50,11 @@ export {
46
50
  Netmera,
47
51
  NetmeraCouponObject,
48
52
  NetmeraUser,
49
- NetmeraPushInbox,
53
+ NetmeraPushObject,
54
+ NetmeraPushType,
55
+ NetmeraPushAction,
56
+ NetmeraPushActionType,
57
+ NetmeraCarouselObject,
50
58
  NetmeraInteractiveAction,
51
59
  NetmeraInboxFilter,
52
60
  NMInboxStatus,
@@ -0,0 +1,21 @@
1
+ /*
2
+ * Copyright (c) 2026 Netmera Research.
3
+ */
4
+
5
+ import NetmeraPushAction from './NetmeraPushAction';
6
+
7
+ export default class NetmeraCarouselObject {
8
+ id?: string;
9
+ picturePath?: string;
10
+ action?: NetmeraPushAction;
11
+
12
+ static fromJson(json: Record<string, any>): NetmeraCarouselObject {
13
+ const obj = new NetmeraCarouselObject();
14
+ obj.id = json.id;
15
+ obj.picturePath = json.picturePath;
16
+ const rawAction =
17
+ typeof json.action === 'string' ? JSON.parse(json.action) : json.action;
18
+ if (rawAction) obj.action = NetmeraPushAction.fromJson(rawAction);
19
+ return obj;
20
+ }
21
+ }
@@ -2,12 +2,12 @@
2
2
  * Copyright (c) 2026 Netmera Research.
3
3
  */
4
4
 
5
- import NetmeraPushInbox from './NetmeraInbox';
5
+ import NetmeraPushObject from './NetmeraPushObject';
6
6
 
7
7
  export default class NetmeraCategory {
8
8
  categoryName?: string;
9
9
  categoryStatus?: string;
10
- lastMessage?: NetmeraPushInbox;
10
+ lastMessage?: NetmeraPushObject;
11
11
  readCount?: number;
12
12
  deletedCount?: number;
13
13
  unreadCount?: number;
@@ -2,20 +2,20 @@
2
2
  * Copyright (c) 2026 Netmera Research.
3
3
  */
4
4
 
5
+ import NetmeraPushAction from './NetmeraPushAction';
6
+
5
7
  export default class NetmeraInteractiveAction {
6
8
  id?: string;
7
- actionIconName?: string;
8
9
  actionTitle?: string;
9
- action?: Record<string, any>;
10
+ action?: NetmeraPushAction;
10
11
  customJson?: Record<string, any>;
11
12
 
12
13
  static fromJson(json: Record<string, any>): NetmeraInteractiveAction {
13
14
  const item = new NetmeraInteractiveAction();
14
- item.id = json['id'];
15
- item.actionIconName = json['ain'];
16
- item.actionTitle = json['text'];
17
- item.action = json['act'];
18
- item.customJson = json['prms'];
15
+ item.id = json.id;
16
+ item.actionTitle = json.title;
17
+ item.action = json.act ? NetmeraPushAction.fromJson(json.act) : undefined;
18
+ item.customJson = json.prms;
19
19
  return item;
20
20
  }
21
21
  }
@@ -0,0 +1,28 @@
1
+ /*
2
+ * Copyright (c) 2026 Netmera Research.
3
+ */
4
+
5
+ export enum NetmeraPushActionType {
6
+ openApp = 0,
7
+ openDeeplink = 1,
8
+ showWebView = 2,
9
+ nothing = 3,
10
+ sendEvent = 4,
11
+ share = 5,
12
+ review = 6,
13
+ showWidget = 7,
14
+ }
15
+
16
+ export default class NetmeraPushAction {
17
+ actionType?: NetmeraPushActionType;
18
+ url?: string;
19
+ close?: boolean;
20
+
21
+ static fromJson(json: Record<string, any>): NetmeraPushAction {
22
+ const obj = new NetmeraPushAction();
23
+ obj.actionType = json.at;
24
+ obj.url = json.url;
25
+ obj.close = json.close;
26
+ return obj;
27
+ }
28
+ }
@@ -0,0 +1,90 @@
1
+ /*
2
+ * Copyright (c) 2026 Netmera Research.
3
+ */
4
+
5
+ import NetmeraPushAction from './NetmeraPushAction';
6
+ import NetmeraInteractiveAction from './NetmeraInteractiveAction';
7
+ import NetmeraCarouselObject from './NetmeraCarouselObject';
8
+
9
+ export enum NetmeraPushType {
10
+ undefined = 0,
11
+ standard = 1,
12
+ interactive = 2,
13
+ popup = 3,
14
+ silent = 6,
15
+ ping = 7,
16
+ configUpdate = 8,
17
+ inAppMessage = 10,
18
+ recall = 11,
19
+ review = 12,
20
+ forceUpdate = 13,
21
+ widget = 14,
22
+ }
23
+
24
+ export default class NetmeraPushObject {
25
+ pushId?: string;
26
+ pushInstanceId?: string;
27
+ pushType?: NetmeraPushType;
28
+ category?: string;
29
+ categories?: number[];
30
+ customJson?: Record<string, any>;
31
+ pushAction?: NetmeraPushAction;
32
+ interactiveActions?: NetmeraInteractiveAction[];
33
+ carousel?: NetmeraCarouselObject[];
34
+ title?: string;
35
+ subtitle?: string;
36
+ body?: string;
37
+ mediaAttachmentURL?: string;
38
+ externalId?: string;
39
+ sendDate?: string;
40
+ expireTime?: string;
41
+ deepLink?: string;
42
+ webPage?: string;
43
+ inboxStatus?: number;
44
+
45
+ static fromJson(json: Record<string, any>): NetmeraPushObject {
46
+ const obj = new NetmeraPushObject();
47
+ obj.pushId = json.pushId;
48
+ obj.pushInstanceId = json.pushInstanceId;
49
+ obj.pushType = json.pushType;
50
+ obj.category = json.category;
51
+ obj.categories = json.categories;
52
+ obj.customJson = json.customJson;
53
+ obj.title = json.title;
54
+ obj.subtitle = json.subtitle;
55
+ obj.body = json.body;
56
+ obj.mediaAttachmentURL = json.mediaAttachmentURL;
57
+ obj.externalId = json.externalId;
58
+ obj.sendDate = json.sendDate;
59
+ obj.expireTime = json.expireTime;
60
+ obj.deepLink = json.deepLink;
61
+ obj.webPage = json.webPage;
62
+ obj.inboxStatus = json.inboxStatus;
63
+
64
+ if (json.pushAction) {
65
+ obj.pushAction = NetmeraPushAction.fromJson(json.pushAction);
66
+ }
67
+
68
+ if (json.interactiveActions != null) {
69
+ const raw =
70
+ typeof json.interactiveActions === 'string'
71
+ ? JSON.parse(json.interactiveActions)
72
+ : json.interactiveActions;
73
+ obj.interactiveActions = Array.isArray(raw)
74
+ ? raw.map(NetmeraInteractiveAction.fromJson)
75
+ : [];
76
+ }
77
+
78
+ if (json.carousel != null) {
79
+ const raw =
80
+ typeof json.carousel === 'string'
81
+ ? JSON.parse(json.carousel)
82
+ : json.carousel;
83
+ obj.carousel = Array.isArray(raw)
84
+ ? raw.map(NetmeraCarouselObject.fromJson)
85
+ : [];
86
+ }
87
+
88
+ return obj;
89
+ }
90
+ }
@@ -1,37 +0,0 @@
1
- "use strict";
2
-
3
- /*
4
- * Copyright (c) 2026 Netmera Research.
5
- */
6
-
7
- import NetmeraInteractiveAction from "./NetmeraInteractiveAction.js";
8
- export default class NetmeraPushInbox {
9
- static fromJson(json) {
10
- const inbox = new NetmeraPushInbox();
11
- inbox.title = json['title'];
12
- inbox.subtitle = json['subtitle'];
13
- inbox.body = json['body'];
14
- inbox.pushType = json['pushType'];
15
- inbox.pushId = json['pushId'];
16
- inbox.pushInstanceId = json['pushInstanceId'];
17
- inbox.sendDate = json['sendDate'];
18
- inbox.inboxStatus = json['inboxStatus'];
19
- inbox.deepLink = json['action_deeplink_url'];
20
- inbox.webPage = json['action_webpage_url'];
21
- inbox.externalId = json['externalId'];
22
- inbox.customJson = json['customJson'];
23
- inbox.pushAction = json['pushAction'];
24
- inbox.carousel = json['carousel'];
25
- inbox.mediaAttachmentURL = json['mediaAttachmentURL'];
26
- inbox.category = json['category'];
27
- inbox.categories = json['categories'];
28
- inbox.expireTime = json['expireTime'];
29
- const rawActions = json['interactiveActions'];
30
- if (rawActions != null) {
31
- const actionsArray = typeof rawActions === 'string' ? JSON.parse(rawActions) : rawActions;
32
- inbox.interactiveActions = actionsArray.map(NetmeraInteractiveAction.fromJson);
33
- }
34
- return inbox;
35
- }
36
- }
37
- //# sourceMappingURL=NetmeraInbox.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["NetmeraInteractiveAction","NetmeraPushInbox","fromJson","json","inbox","title","subtitle","body","pushType","pushId","pushInstanceId","sendDate","inboxStatus","deepLink","webPage","externalId","customJson","pushAction","carousel","mediaAttachmentURL","category","categories","expireTime","rawActions","actionsArray","JSON","parse","interactiveActions","map"],"sourceRoot":"../../../src","sources":["models/NetmeraInbox.ts"],"mappings":";;AAAA;AACA;AACA;;AAEA,OAAOA,wBAAwB,MAAM,+BAA4B;AAEjE,eAAe,MAAMC,gBAAgB,CAAC;EAqBpC,OAAOC,QAAQA,CAACC,IAAyB,EAAoB;IAC3D,MAAMC,KAAK,GAAG,IAAIH,gBAAgB,CAAC,CAAC;IACpCG,KAAK,CAACC,KAAK,GAAGF,IAAI,CAAC,OAAO,CAAC;IAC3BC,KAAK,CAACE,QAAQ,GAAGH,IAAI,CAAC,UAAU,CAAC;IACjCC,KAAK,CAACG,IAAI,GAAGJ,IAAI,CAAC,MAAM,CAAC;IACzBC,KAAK,CAACI,QAAQ,GAAGL,IAAI,CAAC,UAAU,CAAC;IACjCC,KAAK,CAACK,MAAM,GAAGN,IAAI,CAAC,QAAQ,CAAC;IAC7BC,KAAK,CAACM,cAAc,GAAGP,IAAI,CAAC,gBAAgB,CAAC;IAC7CC,KAAK,CAACO,QAAQ,GAAGR,IAAI,CAAC,UAAU,CAAC;IACjCC,KAAK,CAACQ,WAAW,GAAGT,IAAI,CAAC,aAAa,CAAC;IACvCC,KAAK,CAACS,QAAQ,GAAGV,IAAI,CAAC,qBAAqB,CAAC;IAC5CC,KAAK,CAACU,OAAO,GAAGX,IAAI,CAAC,oBAAoB,CAAC;IAC1CC,KAAK,CAACW,UAAU,GAAGZ,IAAI,CAAC,YAAY,CAAC;IACrCC,KAAK,CAACY,UAAU,GAAGb,IAAI,CAAC,YAAY,CAAC;IACrCC,KAAK,CAACa,UAAU,GAAGd,IAAI,CAAC,YAAY,CAAC;IACrCC,KAAK,CAACc,QAAQ,GAAGf,IAAI,CAAC,UAAU,CAAC;IACjCC,KAAK,CAACe,kBAAkB,GAAGhB,IAAI,CAAC,oBAAoB,CAAC;IACrDC,KAAK,CAACgB,QAAQ,GAAGjB,IAAI,CAAC,UAAU,CAAC;IACjCC,KAAK,CAACiB,UAAU,GAAGlB,IAAI,CAAC,YAAY,CAAC;IACrCC,KAAK,CAACkB,UAAU,GAAGnB,IAAI,CAAC,YAAY,CAAC;IAErC,MAAMoB,UAAU,GAAGpB,IAAI,CAAC,oBAAoB,CAAC;IAC7C,IAAIoB,UAAU,IAAI,IAAI,EAAE;MACtB,MAAMC,YAAmC,GACvC,OAAOD,UAAU,KAAK,QAAQ,GAAGE,IAAI,CAACC,KAAK,CAACH,UAAU,CAAC,GAAGA,UAAU;MACtEnB,KAAK,CAACuB,kBAAkB,GAAGH,YAAY,CAACI,GAAG,CACzC5B,wBAAwB,CAACE,QAC3B,CAAC;IACH;IAEA,OAAOE,KAAK;EACd;AACF","ignoreList":[]}
@@ -1,24 +0,0 @@
1
- import NetmeraInteractiveAction from './NetmeraInteractiveAction';
2
- export default class NetmeraPushInbox {
3
- title?: string;
4
- subtitle?: string;
5
- body?: string;
6
- pushType?: number;
7
- pushId?: string;
8
- pushInstanceId?: string;
9
- sendDate?: string;
10
- inboxStatus?: number;
11
- deepLink?: string;
12
- webPage?: string;
13
- externalId?: string;
14
- customJson?: Record<string, any>;
15
- pushAction?: Record<string, any>;
16
- carousel?: any[];
17
- mediaAttachmentURL?: string;
18
- category?: string;
19
- categories?: any[];
20
- interactiveActions?: NetmeraInteractiveAction[];
21
- expireTime?: string;
22
- static fromJson(json: Record<string, any>): NetmeraPushInbox;
23
- }
24
- //# sourceMappingURL=NetmeraInbox.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NetmeraInbox.d.ts","sourceRoot":"","sources":["../../../../src/models/NetmeraInbox.ts"],"names":[],"mappings":"AAIA,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAElE,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC;IACnB,kBAAkB,CAAC,EAAE,wBAAwB,EAAE,CAAC;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,gBAAgB;CAgC7D"}
@@ -1,60 +0,0 @@
1
- /*
2
- * Copyright (c) 2026 Netmera Research.
3
- */
4
-
5
- import NetmeraInteractiveAction from './NetmeraInteractiveAction';
6
-
7
- export default class NetmeraPushInbox {
8
- title?: string;
9
- subtitle?: string;
10
- body?: string;
11
- pushType?: number;
12
- pushId?: string;
13
- pushInstanceId?: string;
14
- sendDate?: string;
15
- inboxStatus?: number;
16
- deepLink?: string;
17
- webPage?: string;
18
- externalId?: string;
19
- customJson?: Record<string, any>;
20
- pushAction?: Record<string, any>;
21
- carousel?: any[];
22
- mediaAttachmentURL?: string;
23
- category?: string;
24
- categories?: any[];
25
- interactiveActions?: NetmeraInteractiveAction[];
26
- expireTime?: string;
27
-
28
- static fromJson(json: Record<string, any>): NetmeraPushInbox {
29
- const inbox = new NetmeraPushInbox();
30
- inbox.title = json['title'];
31
- inbox.subtitle = json['subtitle'];
32
- inbox.body = json['body'];
33
- inbox.pushType = json['pushType'];
34
- inbox.pushId = json['pushId'];
35
- inbox.pushInstanceId = json['pushInstanceId'];
36
- inbox.sendDate = json['sendDate'];
37
- inbox.inboxStatus = json['inboxStatus'];
38
- inbox.deepLink = json['action_deeplink_url'];
39
- inbox.webPage = json['action_webpage_url'];
40
- inbox.externalId = json['externalId'];
41
- inbox.customJson = json['customJson'];
42
- inbox.pushAction = json['pushAction'];
43
- inbox.carousel = json['carousel'];
44
- inbox.mediaAttachmentURL = json['mediaAttachmentURL'];
45
- inbox.category = json['category'];
46
- inbox.categories = json['categories'];
47
- inbox.expireTime = json['expireTime'];
48
-
49
- const rawActions = json['interactiveActions'];
50
- if (rawActions != null) {
51
- const actionsArray: Record<string, any>[] =
52
- typeof rawActions === 'string' ? JSON.parse(rawActions) : rawActions;
53
- inbox.interactiveActions = actionsArray.map(
54
- NetmeraInteractiveAction.fromJson
55
- );
56
- }
57
-
58
- return inbox;
59
- }
60
- }