@acorex/modules 18.1.3 → 18.1.5

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 (111) hide show
  1. package/backend/lib/data/api/comment.mock.service.d.ts +62 -0
  2. package/backend/lib/data/api/notification.mock.service.d.ts +34 -0
  3. package/backend/lib/data/index.d.ts +1 -0
  4. package/esm2022/application-management/lib/application-management.service.mjs +3 -3
  5. package/esm2022/application-management/lib/module-designer/module-designer.component.mjs +1 -1
  6. package/esm2022/auth/lib/account/profile/profile-slot.component.mjs +3 -3
  7. package/esm2022/backend/lib/backend.module.mjs +11 -1
  8. package/esm2022/backend/lib/data/api/comment.mock.service.mjs +142 -0
  9. package/esm2022/backend/lib/data/api/notification.mock.service.mjs +71 -0
  10. package/esm2022/backend/lib/data/index.mjs +2 -1
  11. package/esm2022/form-management/lib/form-management.module.mjs +5 -4
  12. package/esm2022/language-management/acorex-modules-language-management.mjs +5 -0
  13. package/esm2022/language-management/index.mjs +2 -0
  14. package/esm2022/language-management/lib/entities/language.entity.mjs +242 -0
  15. package/esm2022/language-management/lib/language-management.module.mjs +39 -0
  16. package/esm2022/language-management/lib/notification-management.service.mjs +23 -0
  17. package/esm2022/notification-management/acorex-modules-notification-management.mjs +5 -0
  18. package/esm2022/notification-management/index.mjs +7 -0
  19. package/esm2022/notification-management/lib/admin-notification-slot/admin-notification-item/admin-notification-item.component.mjs +47 -0
  20. package/esm2022/notification-management/lib/admin-notification-slot/admin-notification-panel/admin-notification-panel.component.mjs +131 -0
  21. package/esm2022/notification-management/lib/admin-notification-slot/admin-notification-slot/admin-notification-slot.component.mjs +36 -0
  22. package/esm2022/notification-management/lib/entities/notification-channel.entity.mjs +345 -0
  23. package/esm2022/notification-management/lib/entities/notification-template.entity.mjs +298 -0
  24. package/esm2022/notification-management/lib/entities/notification.entity.mjs +207 -0
  25. package/esm2022/notification-management/lib/notification-management-mock-data.mjs +55 -0
  26. package/esm2022/notification-management/lib/notification-management.module.mjs +66 -0
  27. package/esm2022/notification-management/lib/notification-management.service.mjs +39 -0
  28. package/esm2022/notification-management/lib/notification-management.type.mjs +2 -0
  29. package/esm2022/notification-management/lib/notification.service.mjs +3 -0
  30. package/esm2022/template-management/acorex-modules-template-management.mjs +5 -0
  31. package/esm2022/template-management/index.mjs +4 -0
  32. package/esm2022/template-management/lib/entities/global-template.entity.mjs +298 -0
  33. package/esm2022/template-management/lib/entities/template-variable.entity.mjs +304 -0
  34. package/esm2022/template-management/lib/template-management-mock-data.mjs +11 -0
  35. package/esm2022/template-management/lib/template-management.module.mjs +45 -0
  36. package/esm2022/template-management/lib/template-management.service.mjs +24 -0
  37. package/fesm2022/{acorex-modules-application-management-module-designer.component-C-lY0Apl.mjs → acorex-modules-application-management-module-designer.component-CFLXuP2G.mjs} +2 -2
  38. package/fesm2022/{acorex-modules-application-management-module-designer.component-C-lY0Apl.mjs.map → acorex-modules-application-management-module-designer.component-CFLXuP2G.mjs.map} +1 -1
  39. package/fesm2022/acorex-modules-application-management.mjs +3 -3
  40. package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
  41. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-4OzzidjS.mjs → acorex-modules-auth-acorex-modules-auth-iGiPFEeb.mjs} +10 -10
  42. package/fesm2022/acorex-modules-auth-acorex-modules-auth-iGiPFEeb.mjs.map +1 -0
  43. package/fesm2022/{acorex-modules-auth-app-chooser.component-CHTEeWgx.mjs → acorex-modules-auth-app-chooser.component-BB3SIzCP.mjs} +2 -2
  44. package/fesm2022/{acorex-modules-auth-app-chooser.component-CHTEeWgx.mjs.map → acorex-modules-auth-app-chooser.component-BB3SIzCP.mjs.map} +1 -1
  45. package/fesm2022/acorex-modules-auth-blank.layout-Bq822Iz4.mjs.map +1 -1
  46. package/fesm2022/{acorex-modules-auth-login.module-DMit4yw0.mjs → acorex-modules-auth-login.module-ChEv9c5I.mjs} +4 -4
  47. package/fesm2022/acorex-modules-auth-login.module-ChEv9c5I.mjs.map +1 -0
  48. package/fesm2022/{acorex-modules-auth-master.layout-BCYIjTB0.mjs → acorex-modules-auth-master.layout-CZv3BD5c.mjs} +2 -2
  49. package/fesm2022/{acorex-modules-auth-master.layout-BCYIjTB0.mjs.map → acorex-modules-auth-master.layout-CZv3BD5c.mjs.map} +1 -1
  50. package/fesm2022/{acorex-modules-auth-password.component-WA-CA0Ln.mjs → acorex-modules-auth-password.component-CPWiBXdG.mjs} +2 -2
  51. package/fesm2022/{acorex-modules-auth-password.component-WA-CA0Ln.mjs.map → acorex-modules-auth-password.component-CPWiBXdG.mjs.map} +1 -1
  52. package/fesm2022/{acorex-modules-auth-password.component-D16ms36y.mjs → acorex-modules-auth-password.component-CxZ1weks.mjs} +2 -2
  53. package/fesm2022/{acorex-modules-auth-password.component-D16ms36y.mjs.map → acorex-modules-auth-password.component-CxZ1weks.mjs.map} +1 -1
  54. package/fesm2022/{acorex-modules-auth-routes-C3ye31RS.mjs → acorex-modules-auth-routes-C7r2Jm6s.mjs} +2 -2
  55. package/fesm2022/{acorex-modules-auth-routes-C3ye31RS.mjs.map → acorex-modules-auth-routes-C7r2Jm6s.mjs.map} +1 -1
  56. package/fesm2022/acorex-modules-auth-tenant-chooser.component-CHr5_kh7.mjs.map +1 -1
  57. package/fesm2022/acorex-modules-auth-two-factor-code.component-B_7l39pX.mjs.map +1 -1
  58. package/fesm2022/{acorex-modules-auth-two-factor.module-CkZCBo0B.mjs → acorex-modules-auth-two-factor.module-BgkJYe7T.mjs} +2 -2
  59. package/fesm2022/acorex-modules-auth-two-factor.module-BgkJYe7T.mjs.map +1 -0
  60. package/fesm2022/acorex-modules-auth.mjs +1 -1
  61. package/fesm2022/acorex-modules-backend.mjs +218 -2
  62. package/fesm2022/acorex-modules-backend.mjs.map +1 -1
  63. package/fesm2022/acorex-modules-form-management-designer.page-SoPH2V7i.mjs.map +1 -1
  64. package/fesm2022/acorex-modules-form-management.mjs +4 -3
  65. package/fesm2022/acorex-modules-form-management.mjs.map +1 -1
  66. package/fesm2022/acorex-modules-language-management-language.entity-CwD5FHGc.mjs +266 -0
  67. package/fesm2022/acorex-modules-language-management-language.entity-CwD5FHGc.mjs.map +1 -0
  68. package/fesm2022/acorex-modules-language-management.mjs +46 -0
  69. package/fesm2022/acorex-modules-language-management.mjs.map +1 -0
  70. package/fesm2022/acorex-modules-notification-management.mjs +1203 -0
  71. package/fesm2022/acorex-modules-notification-management.mjs.map +1 -0
  72. package/fesm2022/acorex-modules-template-management.mjs +690 -0
  73. package/fesm2022/acorex-modules-template-management.mjs.map +1 -0
  74. package/form-management/lib/form-management.module.d.ts +2 -1
  75. package/language-management/README.md +3 -0
  76. package/language-management/index.d.ts +1 -0
  77. package/language-management/lib/entities/language.entity.d.ts +3 -0
  78. package/language-management/lib/language-management.module.d.ts +12 -0
  79. package/language-management/lib/notification-management.service.d.ts +9 -0
  80. package/notification-management/README.md +3 -0
  81. package/notification-management/index.d.ts +6 -0
  82. package/notification-management/lib/admin-notification-slot/admin-notification-item/admin-notification-item.component.d.ts +14 -0
  83. package/notification-management/lib/admin-notification-slot/admin-notification-panel/admin-notification-panel.component.d.ts +30 -0
  84. package/notification-management/lib/admin-notification-slot/admin-notification-slot/admin-notification-slot.component.d.ts +7 -0
  85. package/notification-management/lib/entities/notification-channel.entity.d.ts +3 -0
  86. package/notification-management/lib/entities/notification-template.entity.d.ts +3 -0
  87. package/notification-management/lib/entities/notification.entity.d.ts +3 -0
  88. package/notification-management/lib/notification-management-mock-data.d.ts +41 -0
  89. package/notification-management/lib/notification-management.module.d.ts +13 -0
  90. package/notification-management/lib/notification-management.service.d.ts +15 -0
  91. package/notification-management/lib/notification-management.type.d.ts +42 -0
  92. package/notification-management/lib/notification.service.d.ts +7 -0
  93. package/package.json +23 -11
  94. package/template-management/README.md +3 -0
  95. package/template-management/index.d.ts +3 -0
  96. package/template-management/lib/entities/global-template.entity.d.ts +3 -0
  97. package/template-management/lib/entities/template-variable.entity.d.ts +3 -0
  98. package/template-management/lib/template-management-mock-data.d.ts +7 -0
  99. package/template-management/lib/template-management.module.d.ts +12 -0
  100. package/template-management/lib/template-management.service.d.ts +9 -0
  101. package/esm2022/notification/acorex-modules-notification.mjs +0 -5
  102. package/esm2022/notification/index.mjs +0 -4
  103. package/esm2022/notification/lib/notification.module.mjs +0 -16
  104. package/fesm2022/acorex-modules-auth-acorex-modules-auth-4OzzidjS.mjs.map +0 -1
  105. package/fesm2022/acorex-modules-auth-login.module-DMit4yw0.mjs.map +0 -1
  106. package/fesm2022/acorex-modules-auth-two-factor.module-CkZCBo0B.mjs.map +0 -1
  107. package/fesm2022/acorex-modules-notification.mjs +0 -26
  108. package/fesm2022/acorex-modules-notification.mjs.map +0 -1
  109. package/notification/README.md +0 -4
  110. package/notification/index.d.ts +0 -1
  111. package/notification/lib/notification.module.d.ts +0 -6
@@ -0,0 +1,298 @@
1
+ import { AXPDataGenerator, AXPEntityCommandScope, AXPEntityQueryType } from '@acorex/platform/common';
2
+ import { applyFilterArray, applySortArray } from '@acorex/platform/core';
3
+ import { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';
4
+ import { NotificationManagementService } from '../notification-management.service';
5
+ export async function notificationTemplateEntityFactory(injector) {
6
+ const dataService = injector.get(NotificationManagementService);
7
+ const entityDef = {
8
+ module: 'notification-management',
9
+ name: 'notificationTemplate',
10
+ source: 'notification-management.notificationTemplate',
11
+ title: 'Templates',
12
+ formats: {
13
+ individual: 'NotificationTemplate',
14
+ plural: 'NotificationTemplates',
15
+ },
16
+ relatedEntities: [
17
+ {
18
+ entity: 'notification-management.notificationChannel',
19
+ columns: ['title', 'body', 'channel'],
20
+ conditions: [
21
+ {
22
+ name: 'notificationId',
23
+ operator: {
24
+ type: 'equal',
25
+ },
26
+ value: 'id',
27
+ },
28
+ ],
29
+ },
30
+ ],
31
+ groups: [
32
+ {
33
+ id: 'notification',
34
+ title: 'Notification',
35
+ },
36
+ ],
37
+ properties: [
38
+ {
39
+ name: 'name',
40
+ title: 'Name',
41
+ groupId: 'notification',
42
+ schema: {
43
+ dataType: 'string',
44
+ interface: {
45
+ type: AXPWidgetsCatalog.text,
46
+ },
47
+ },
48
+ },
49
+ {
50
+ name: 'title',
51
+ title: 'Title',
52
+ groupId: 'notification',
53
+ schema: {
54
+ dataType: 'string',
55
+ interface: {
56
+ type: AXPWidgetsCatalog.text,
57
+ },
58
+ },
59
+ },
60
+ {
61
+ name: 'description',
62
+ title: 'Description',
63
+ groupId: 'notification',
64
+ schema: {
65
+ dataType: 'string',
66
+ interface: {
67
+ type: AXPWidgetsCatalog.text,
68
+ },
69
+ },
70
+ },
71
+ ],
72
+ columns: [{ name: 'name' }, { name: 'title' }],
73
+ commands: {
74
+ create: {
75
+ execute: async (data) => {
76
+ const entity = Object.assign(data, { id: AXPDataGenerator.uuid() });
77
+ dataService.notificationTemplateDataProvider.insertOne(entity);
78
+ return Promise.resolve(entity);
79
+ },
80
+ },
81
+ delete: {
82
+ execute: async (id) => {
83
+ await await dataService.notificationTemplateDataProvider.deleteOne(id);
84
+ return Promise.resolve();
85
+ },
86
+ },
87
+ update: {
88
+ execute: async (data) => {
89
+ return new Promise((resolve) => {
90
+ setTimeout(async () => {
91
+ await dataService.notificationTemplateDataProvider.updateOne(data.id, data);
92
+ resolve(data);
93
+ }, 1000);
94
+ });
95
+ },
96
+ },
97
+ },
98
+ queries: {
99
+ byKey: {
100
+ execute: async (id) => {
101
+ return new Promise((resolve) => {
102
+ setTimeout(async () => {
103
+ const entity = await dataService.notificationTemplateDataProvider.getOne(id);
104
+ resolve(entity);
105
+ }, 500);
106
+ });
107
+ },
108
+ type: AXPEntityQueryType.Single,
109
+ },
110
+ list: {
111
+ execute: async (e) => {
112
+ const list = await dataService.notificationTemplateDataProvider.getAll();
113
+ const sortedItems = applySortArray(list, e.sort);
114
+ const filteredItems = applyFilterArray(sortedItems, e.filter ? [e.filter] : []);
115
+ return Promise.resolve({
116
+ total: filteredItems.length,
117
+ items: filteredItems.slice(e.skip, (e.skip ?? 0) + (e.take ?? 0)),
118
+ });
119
+ },
120
+ type: AXPEntityQueryType.List,
121
+ },
122
+ },
123
+ interfaces: {
124
+ master: {
125
+ create: {
126
+ sections: [
127
+ {
128
+ id: 'notification',
129
+ },
130
+ ],
131
+ properties: [
132
+ {
133
+ name: 'name',
134
+ layout: {
135
+ positions: {
136
+ lg: {
137
+ colSpan: 6,
138
+ },
139
+ },
140
+ },
141
+ },
142
+ {
143
+ name: 'title',
144
+ layout: {
145
+ positions: {
146
+ lg: {
147
+ colSpan: 6,
148
+ },
149
+ },
150
+ },
151
+ },
152
+ {
153
+ name: 'description',
154
+ layout: {
155
+ positions: {
156
+ lg: {
157
+ colSpan: 12,
158
+ },
159
+ },
160
+ },
161
+ },
162
+ ],
163
+ },
164
+ update: {
165
+ sections: [
166
+ {
167
+ id: 'notification',
168
+ },
169
+ ],
170
+ properties: [
171
+ {
172
+ name: 'name',
173
+ layout: {
174
+ positions: {
175
+ lg: {
176
+ colSpan: 6,
177
+ },
178
+ },
179
+ },
180
+ },
181
+ {
182
+ name: 'title',
183
+ layout: {
184
+ positions: {
185
+ lg: {
186
+ colSpan: 6,
187
+ },
188
+ },
189
+ },
190
+ },
191
+ {
192
+ name: 'description',
193
+ layout: {
194
+ positions: {
195
+ lg: {
196
+ colSpan: 12,
197
+ },
198
+ },
199
+ },
200
+ },
201
+ ],
202
+ },
203
+ single: {
204
+ title: '{{title}}',
205
+ sections: [
206
+ {
207
+ id: 'notification',
208
+ layout: {
209
+ positions: {
210
+ lg: {
211
+ colSpan: 12,
212
+ },
213
+ },
214
+ },
215
+ },
216
+ ],
217
+ properties: [
218
+ {
219
+ name: 'name',
220
+ layout: {
221
+ positions: {
222
+ lg: {
223
+ colSpan: 6,
224
+ },
225
+ },
226
+ },
227
+ },
228
+ {
229
+ name: 'title',
230
+ layout: {
231
+ positions: {
232
+ lg: {
233
+ colSpan: 6,
234
+ },
235
+ },
236
+ },
237
+ },
238
+ {
239
+ name: 'description',
240
+ layout: {
241
+ positions: {
242
+ lg: {
243
+ colSpan: 12,
244
+ },
245
+ },
246
+ },
247
+ },
248
+ ],
249
+ actions: [],
250
+ },
251
+ list: {
252
+ actions: [
253
+ {
254
+ title: 'Create New',
255
+ command: 'create-entity',
256
+ priority: 'primary',
257
+ type: 'create',
258
+ scope: AXPEntityCommandScope.TypeLevel,
259
+ },
260
+ {
261
+ title: 'Delete Items',
262
+ command: 'delete-entity',
263
+ priority: 'primary',
264
+ type: 'delete',
265
+ scope: AXPEntityCommandScope.Selected,
266
+ },
267
+ {
268
+ title: 'Details',
269
+ command: 'open-entity',
270
+ priority: 'primary',
271
+ type: 'view',
272
+ scope: AXPEntityCommandScope.Individual,
273
+ },
274
+ {
275
+ title: 'Delete',
276
+ command: 'delete-entity',
277
+ priority: 'primary',
278
+ type: 'delete',
279
+ scope: AXPEntityCommandScope.Individual,
280
+ },
281
+ ],
282
+ views: [
283
+ {
284
+ name: 'all',
285
+ title: 'All Items',
286
+ fixed: true,
287
+ columns: [],
288
+ conditions: [],
289
+ sorts: [],
290
+ },
291
+ ],
292
+ },
293
+ },
294
+ },
295
+ };
296
+ return entityDef;
297
+ }
298
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLXRlbXBsYXRlLmVudGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9ub3RpZmljYXRpb24tbWFuYWdlbWVudC9zcmMvbGliL2VudGl0aWVzL25vdGlmaWNhdGlvbi10ZW1wbGF0ZS5lbnRpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFhLHFCQUFxQixFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXBFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRW5GLE1BQU0sQ0FBQyxLQUFLLFVBQVUsaUNBQWlDLENBQUMsUUFBa0I7SUFDeEUsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBRWhFLE1BQU0sU0FBUyxHQUFjO1FBQzNCLE1BQU0sRUFBRSx5QkFBeUI7UUFDakMsSUFBSSxFQUFFLHNCQUFzQjtRQUM1QixNQUFNLEVBQUUsOENBQThDO1FBQ3RELEtBQUssRUFBRSxXQUFXO1FBQ2xCLE9BQU8sRUFBRTtZQUNQLFVBQVUsRUFBRSxzQkFBc0I7WUFDbEMsTUFBTSxFQUFFLHVCQUF1QjtTQUNoQztRQUNELGVBQWUsRUFBRTtZQUNmO2dCQUNFLE1BQU0sRUFBRSw2Q0FBNkM7Z0JBQ3JELE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDO2dCQUNyQyxVQUFVLEVBQUU7b0JBQ1Y7d0JBQ0UsSUFBSSxFQUFFLGdCQUFnQjt3QkFDdEIsUUFBUSxFQUFFOzRCQUNSLElBQUksRUFBRSxPQUFPO3lCQUNkO3dCQUNELEtB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QVEsRUFBRSxTQUFTOzRCQUNuQixJQUFJLEVBQUUsUUFBUTs0QkFDZCxLQUFLLEVBQUUscUJBQXFCLENBQUMsVUFBVTt5QkFDeEM7cUJBQ0Y7b0JBQ0QsS0FBSyxFQUFFO3dCQUNMOzRCQUNFLElBQUksRUFBRSxLQUFLOzRCQUNYLEtBQUssRUFBRSxXQUFXOzRCQUNsQixLQUFLLEVBQUUsSUFBSTs0QkFDWCxPQUFPLEVBQUUsRUFBRTs0QkFDWCxVQUFVLEVBQUUsRUFBRTs0QkFDZCxLQUFLLEVBQUUsRUFBRTt5QkFDVjtxQkFDRjtpQkFDRjthQUNGO1NBQ0Y7S0FDRixDQUFDO0lBRUYsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUERhdGFHZW5lcmF0b3IsIEFYUEVudGl0eSwgQVhQRW50aXR5Q29tbWFuZFNjb3BlLCBBWFBFbnRpdHlRdWVyeVR5cGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBhcHBseUZpbHRlckFycmF5LCBhcHBseVNvcnRBcnJheSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBBWFBXaWRnZXRzQ2F0YWxvZyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInO1xuaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbk1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vbm90aWZpY2F0aW9uLW1hbmFnZW1lbnQuc2VydmljZSc7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBub3RpZmljYXRpb25UZW1wbGF0ZUVudGl0eUZhY3RvcnkoaW5qZWN0b3I6IEluamVjdG9yKTogUHJvbWlzZTxBWFBFbnRpdHkgfCBudWxsPiB7XG4gIGNvbnN0IGRhdGFTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KE5vdGlmaWNhdGlvbk1hbmFnZW1lbnRTZXJ2aWNlKTtcblxuICBjb25zdCBlbnRpdHlEZWY6IEFYUEVudGl0eSA9IHtcbiAgICBtb2R1bGU6ICdub3RpZmljYXRpb24tbWFuYWdlbWVudCcsXG4gICAgbmFtZTogJ25vdGlmaWNhdGlvblRlbXBsYXRlJyxcbiAgICBzb3VyY2U6ICdub3RpZmljYXRpb24tbWFuYWdlbWVudC5ub3RpZmljYXRpb25UZW1wbGF0ZScsXG4gICAgdGl0bGU6ICdUZW1wbGF0ZXMnLFxuICAgIGZvcm1hdHM6IHtcbiAgICAgIGluZGl2aWR1YWw6ICdOb3RpZmljYXRpb25UZW1wbGF0ZScsXG4gICAgICBwbHVyYWw6ICdOb3RpZmljYXRpb25UZW1wbGF0ZXMnLFxuICAgIH0sXG4gICAgcmVsYXRlZEVudGl0aWVzOiBbXG4gICAgICB7XG4gICAgICAgIGVudGl0eTogJ25vdGlmaWNhdGlvbi1tYW5hZ2VtZW50Lm5vdGlmaWNhdGlvbkNoYW5uZWwnLFxuICAgICAgICBjb2x1bW5zOiBbJ3RpdGxlJywgJ2JvZHknLCAnY2hhbm5lbCddLFxuICAgICAgICBjb25kaXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ25vdGlmaWNhdGlvbklkJyxcbiAgICAgICAgICAgIG9wZXJhdG9yOiB7XG4gICAgICAgICAgICAgIHR5cGU6ICdlcXVhbCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdmFsdWU6ICdpZCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBncm91cHM6IFtcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdub3RpZmljYXRpb24nLFxuICAgICAgICB0aXRsZTogJ05vdGlmaWNhdGlvbicsXG4gICAgICB9LFxuICAgIF0sXG4gICAgcHJvcGVydGllczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnbmFtZScsXG4gICAgICAgIHRpdGxlOiAnTmFtZScsXG4gICAgICAgIGdyb3VwSWQ6ICdub3RpZmljYXRpb24nLFxuICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy50ZXh0LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAndGl0bGUnLFxuICAgICAgICB0aXRsZTogJ1RpdGxlJyxcbiAgICAgICAgZ3JvdXBJZDogJ25vdGlmaWNhdGlvbicsXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIGRhdGFUeXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnRleHQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdkZXNjcmlwdGlvbicsXG4gICAgICAgIHRpdGxlOiAnRGVzY3JpcHRpb24nLFxuICAgICAgICBncm91cElkOiAnbm90aWZpY2F0aW9uJyxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudGV4dCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdLFxuICAgIGNvbHVtbnM6IFt7IG5hbWU6ICduYW1lJyB9LCB7IG5hbWU6ICd0aXRsZScgfV0sXG4gICAgY29tbWFuZHM6IHtcbiAgICAgIGNyZWF0ZToge1xuICAgICAgICBleGVjdXRlOiBhc3luYyAoZGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgY29uc3QgZW50aXR5ID0gT2JqZWN0LmFzc2lnbihkYXRhLCB7IGlkOiBBWFBEYXRhR2VuZXJhdG9yLnV1aWQoKSB9KTtcblxuICAgICAgICAgIGRhdGFTZXJ2aWNlLm5vdGlmaWNhdGlvblRlbXBsYXRlRGF0YVByb3ZpZGVyLmluc2VydE9uZShlbnRpdHkpO1xuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoZW50aXR5KTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBkZWxldGU6IHtcbiAgICAgICAgZXhlY3V0ZTogYXN5bmMgKGlkOiBhbnkpID0+IHtcbiAgICAgICAgICBhd2FpdCBhd2FpdCBkYXRhU2VydmljZS5ub3RpZmljYXRpb25UZW1wbGF0ZURhdGFQcm92aWRlci5kZWxldGVPbmUoaWQpO1xuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB1cGRhdGU6IHtcbiAgICAgICAgZXhlY3V0ZTogYXN5bmMgKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgIGF3YWl0IGRhdGFTZXJ2aWNlLm5vdGlmaWNhdGlvblRlbXBsYXRlRGF0YVByb3ZpZGVyLnVwZGF0ZU9uZShkYXRhLmlkLCBkYXRhKTtcbiAgICAgICAgICAgICAgcmVzb2x2ZShkYXRhKTtcbiAgICAgICAgICAgIH0sIDEwMDApO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9LFxuICAgIHF1ZXJpZXM6IHtcbiAgICAgIGJ5S2V5OiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChpZDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgZW50aXR5ID0gYXdhaXQgZGF0YVNlcnZpY2Uubm90aWZpY2F0aW9uVGVtcGxhdGVEYXRhUHJvdmlkZXIuZ2V0T25lKGlkKTtcbiAgICAgICAgICAgICAgcmVzb2x2ZShlbnRpdHkpO1xuICAgICAgICAgICAgfSwgNTAwKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZTogQVhQRW50aXR5UXVlcnlUeXBlLlNpbmdsZSxcbiAgICAgIH0sXG4gICAgICBsaXN0OiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChlOiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCBsaXN0ID0gYXdhaXQgZGF0YVNlcnZpY2Uubm90aWZpY2F0aW9uVGVtcGxhdGVEYXRhUHJvdmlkZXIuZ2V0QWxsKCk7XG4gICAgICAgICAgY29uc3Qgc29ydGVkSXRlbXMgPSBhcHBseVNvcnRBcnJheShsaXN0LCBlLnNvcnQpO1xuICAgICAgICAgIGNvbnN0IGZpbHRlcmVkSXRlbXMgPSBhcHBseUZpbHRlckFycmF5KHNvcnRlZEl0ZW1zLCBlLmZpbHRlciA/IFtlLmZpbHRlcl0gOiBbXSk7XG4gICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7XG4gICAgICAgICAgICB0b3RhbDogZmlsdGVyZWRJdGVtcy5sZW5ndGgsXG4gICAgICAgICAgICBpdGVtczogZmlsdGVyZWRJdGVtcy5zbGljZShlLnNraXAsIChlLnNraXAgPz8gMCkgKyAoZS50YWtlID8/IDApKSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZTogQVhQRW50aXR5UXVlcnlUeXBlLkxpc3QsXG4gICAgICB9LFxuICAgIH0sXG4gICAgaW50ZXJmYWNlczoge1xuICAgICAgbWFzdGVyOiB7XG4gICAgICAgIGNyZWF0ZToge1xuICAgICAgICAgIHNlY3Rpb25zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAnbm90aWZpY2F0aW9uJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICduYW1lJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ3RpdGxlJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ2Rlc2NyaXB0aW9uJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiAxMixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgdXBkYXRlOiB7XG4gICAgICAgICAgc2VjdGlvbnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWQ6ICdub3RpZmljYXRpb24nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHByb3BlcnRpZXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ25hbWUnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAndGl0bGUnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnZGVzY3JpcHRpb24nLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDEyLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICBzaW5nbGU6IHtcbiAgICAgICAgICB0aXRsZTogJ3t7dGl0bGV9fScsXG4gICAgICAgICAgc2VjdGlvbnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWQ6ICdub3RpZmljYXRpb24nLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDEyLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHByb3BlcnRpZXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ25hbWUnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAndGl0bGUnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnZGVzY3JpcHRpb24nLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDEyLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGFjdGlvbnM6IFtdLFxuICAgICAgICB9LFxuICAgICAgICBsaXN0OiB7XG4gICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0aXRsZTogJ0NyZWF0ZSBOZXcnLFxuICAgICAgICAgICAgICBjb21tYW5kOiAnY3JlYXRlLWVudGl0eScsXG4gICAgICAgICAgICAgIHByaW9yaXR5OiAncHJpbWFyeScsXG4gICAgICAgICAgICAgIHR5cGU6ICdjcmVhdGUnLFxuICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLlR5cGVMZXZlbCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnRGVsZXRlIEl0ZW1zJyxcbiAgICAgICAgICAgICAgY29tbWFuZDogJ2RlbGV0ZS1lbnRpdHknLFxuICAgICAgICAgICAgICBwcmlvcml0eTogJ3ByaW1hcnknLFxuICAgICAgICAgICAgICB0eXBlOiAnZGVsZXRlJyxcbiAgICAgICAgICAgICAgc2NvcGU6IEFYUEVudGl0eUNvbW1hbmRTY29wZS5TZWxlY3RlZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnRGV0YWlscycsXG4gICAgICAgICAgICAgIGNvbW1hbmQ6ICdvcGVuLWVudGl0eScsXG4gICAgICAgICAgICAgIHByaW9yaXR5OiAncHJpbWFyeScsXG4gICAgICAgICAgICAgIHR5cGU6ICd2aWV3JyxcbiAgICAgICAgICAgICAgc2NvcGU6IEFYUEVudGl0eUNvbW1hbmRTY29wZS5JbmRpdmlkdWFsLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGl0bGU6ICdEZWxldGUnLFxuICAgICAgICAgICAgICBjb21tYW5kOiAnZGVsZXRlLWVudGl0eScsXG4gICAgICAgICAgICAgIHByaW9yaXR5OiAncHJpbWFyeScsXG4gICAgICAgICAgICAgIHR5cGU6ICdkZWxldGUnLFxuICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWwsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgdmlld3M6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ2FsbCcsXG4gICAgICAgICAgICAgIHRpdGxlOiAnQWxsIEl0ZW1zJyxcbiAgICAgICAgICAgICAgZml4ZWQ6IHRydWUsXG4gICAgICAgICAgICAgIGNvbHVtbnM6IFtdLFxuICAgICAgICAgICAgICBjb25kaXRpb25zOiBbXSxcbiAgICAgICAgICAgICAgc29ydHM6IFtdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9LFxuICB9O1xuXG4gIHJldHVybiBlbnRpdHlEZWY7XG59XG4iXX0=
@@ -0,0 +1,207 @@
1
+ import { AXPEntityCommandScope, AXPEntityQueryType } from '@acorex/platform/common';
2
+ import { applyFilterArray, applySortArray } from '@acorex/platform/core';
3
+ import { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';
4
+ import { NotificationManagementService } from '../notification-management.service';
5
+ export async function notificationEntityFactory(injector) {
6
+ const dataService = injector.get(NotificationManagementService);
7
+ const entityDef = {
8
+ module: 'notification-management',
9
+ name: 'notification',
10
+ source: 'notification-management.notification',
11
+ title: 'Notification',
12
+ formats: {
13
+ individual: 'Notification',
14
+ plural: 'Notifications',
15
+ },
16
+ relatedEntities: [
17
+ {
18
+ entity: 'notification-management.notificationLog',
19
+ columns: ['title', 'status'],
20
+ },
21
+ ],
22
+ groups: [
23
+ {
24
+ id: 'notification',
25
+ title: 'Notification',
26
+ },
27
+ ],
28
+ properties: [
29
+ {
30
+ name: 'name',
31
+ title: 'Name',
32
+ groupId: 'notification',
33
+ schema: {
34
+ dataType: 'string',
35
+ interface: {
36
+ type: AXPWidgetsCatalog.text,
37
+ },
38
+ },
39
+ },
40
+ {
41
+ name: 'title',
42
+ title: 'Title',
43
+ groupId: 'notification',
44
+ schema: {
45
+ dataType: 'string',
46
+ interface: {
47
+ type: AXPWidgetsCatalog.text,
48
+ },
49
+ },
50
+ },
51
+ {
52
+ name: 'body',
53
+ title: 'Body',
54
+ groupId: 'notification',
55
+ schema: {
56
+ dataType: 'string',
57
+ interface: {
58
+ type: AXPWidgetsCatalog.richText,
59
+ },
60
+ },
61
+ },
62
+ {
63
+ name: 'channel',
64
+ title: 'Channel',
65
+ groupId: 'notification',
66
+ schema: {
67
+ dataType: 'string',
68
+ interface: {
69
+ type: AXPWidgetsCatalog.text,
70
+ },
71
+ },
72
+ },
73
+ {
74
+ name: 'user.name',
75
+ title: 'User Name',
76
+ groupId: 'notification',
77
+ schema: {
78
+ dataType: 'string',
79
+ interface: {
80
+ type: AXPWidgetsCatalog.text,
81
+ },
82
+ },
83
+ },
84
+ ],
85
+ columns: [{ name: 'title' }, { name: 'body' }, { name: 'user.name' }, { name: 'channel' }],
86
+ queries: {
87
+ byKey: {
88
+ execute: async (id) => {
89
+ return new Promise((resolve) => {
90
+ setTimeout(async () => {
91
+ const entity = await dataService.notificationDataProvider.getOne(id);
92
+ resolve(entity);
93
+ }, 500);
94
+ });
95
+ },
96
+ type: AXPEntityQueryType.Single,
97
+ },
98
+ list: {
99
+ execute: async (e) => {
100
+ const list = await dataService.notificationDataProvider.getAll();
101
+ const sortedItems = applySortArray(list, e.sort);
102
+ const filteredItems = applyFilterArray(sortedItems, e.filter ? [e.filter] : []);
103
+ return Promise.resolve({
104
+ total: filteredItems.length,
105
+ items: filteredItems.slice(e.skip, (e.skip ?? 0) + (e.take ?? 0)),
106
+ });
107
+ },
108
+ type: AXPEntityQueryType.List,
109
+ },
110
+ },
111
+ interfaces: {
112
+ master: {
113
+ single: {
114
+ title: '{{title}}',
115
+ sections: [
116
+ {
117
+ id: 'notification',
118
+ layout: {
119
+ positions: {
120
+ lg: {
121
+ colSpan: 12,
122
+ },
123
+ },
124
+ },
125
+ },
126
+ ],
127
+ properties: [
128
+ {
129
+ name: 'name',
130
+ layout: {
131
+ positions: {
132
+ lg: {
133
+ colSpan: 6,
134
+ },
135
+ },
136
+ },
137
+ },
138
+ {
139
+ name: 'user.name',
140
+ layout: {
141
+ positions: {
142
+ lg: {
143
+ colSpan: 6,
144
+ },
145
+ },
146
+ },
147
+ },
148
+ {
149
+ name: 'title',
150
+ layout: {
151
+ positions: {
152
+ lg: {
153
+ colSpan: 12,
154
+ },
155
+ },
156
+ },
157
+ },
158
+ {
159
+ name: 'body',
160
+ layout: {
161
+ positions: {
162
+ lg: {
163
+ colSpan: 12,
164
+ },
165
+ },
166
+ },
167
+ },
168
+ {
169
+ name: 'channel',
170
+ layout: {
171
+ positions: {
172
+ lg: {
173
+ colSpan: 6,
174
+ },
175
+ },
176
+ },
177
+ },
178
+ ],
179
+ actions: [],
180
+ },
181
+ list: {
182
+ actions: [
183
+ {
184
+ title: 'Details',
185
+ command: 'open-entity',
186
+ priority: 'primary',
187
+ type: 'view',
188
+ scope: AXPEntityCommandScope.Individual,
189
+ },
190
+ ],
191
+ views: [
192
+ {
193
+ name: 'all',
194
+ title: 'All Items',
195
+ fixed: true,
196
+ columns: [],
197
+ conditions: [],
198
+ sorts: [],
199
+ },
200
+ ],
201
+ },
202
+ },
203
+ },
204
+ };
205
+ return entityDef;
206
+ }
207
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmVudGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9ub3RpZmljYXRpb24tbWFuYWdlbWVudC9zcmMvbGliL2VudGl0aWVzL25vdGlmaWNhdGlvbi5lbnRpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFhLHFCQUFxQixFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXBFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRW5GLE1BQU0sQ0FBQyxLQUFLLFVBQVUseUJBQXlCLENBQUMsUUFBa0I7SUFDaEUsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBRWhFLE1BQU0sU0FBUyxHQUFjO1FBQzNCLE1BQU0sRUFBRSx5QkFBeUI7UUFDakMsSUFBSSxFQUFFLGNBQWM7UUFDcEIsTUFBTSxFQUFFLHNDQUFzQztRQUM5QyxLQUFLLEVBQUUsY0FBYztRQUNyQixPQUFPLEVBQUU7WUFDUCxVQUFVLEVBQUUsY0FBYztZQUMxQixNQUFNLEVBQUUsZUFBZTtTQUN4QjtRQUNELGVBQWUsRUFBRTtZQUNmO2dCQUNFLE1BQU0sRUFBRSx5Q0FBeUM7Z0JBQ2pELE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUM7YUFDN0I7U0FDRjtRQUNELE1BQU0sRUFBRTtZQUNOO2dCQUNFLEVBQUUsRUFBRSxjQUFjO2dCQUNsQixLQUFLLEVBQUUsY0FBYzthQUN0QjtTQUNGO1FBQ0QsVUFBVSxFQUFFO1lBQ1Y7Z0JBQ0UsSUFBSSxFQUFFLE1BQU07Z0JBQ1osS0FBSyxFQUFFLE1B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LEVBQUU7d0NBQ0YsT0FBTyxFQUFFLENBQUM7cUNBQ1g7aUNBQ0Y7NkJBQ0Y7eUJBQ0Y7cUJBQ0Y7b0JBQ0QsT0FBTyxFQUFFLEVBQUU7aUJBQ1o7Z0JBQ0QsSUFBSSxFQUFFO29CQUNKLE9BQU8sRUFBRTt3QkFDUDs0QkFDRSxLQUFLLEVBQUUsU0FBUzs0QkFDaEIsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFFBQVEsRUFBRSxTQUFTOzRCQUNuQixJQUFJLEVBQUUsTUFBTTs0QkFDWixLQUFLLEVBQUUscUJBQXFCLENBQUMsVUFBVTt5QkFDeEM7cUJBQ0Y7b0JBQ0QsS0FBSyxFQUFFO3dCQUNMOzRCQUNFLElBQUksRUFBRSxLQUFLOzRCQUNYLEtBQUssRUFBRSxXQUFXOzRCQUNsQixLQUFLLEVBQUUsSUFBSTs0QkFDWCxPQUFPLEVBQUUsRUFBRTs0QkFDWCxVQUFVLEVBQUUsRUFBRTs0QkFDZCxLQUFLLEVBQUUsRUFBRTt5QkFDVjtxQkFDRjtpQkFDRjthQUNGO1NBQ0Y7S0FDRixDQUFDO0lBRUYsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUEVudGl0eSwgQVhQRW50aXR5Q29tbWFuZFNjb3BlLCBBWFBFbnRpdHlRdWVyeVR5cGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBhcHBseUZpbHRlckFycmF5LCBhcHBseVNvcnRBcnJheSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBBWFBXaWRnZXRzQ2F0YWxvZyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInO1xuaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbk1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vbm90aWZpY2F0aW9uLW1hbmFnZW1lbnQuc2VydmljZSc7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBub3RpZmljYXRpb25FbnRpdHlGYWN0b3J5KGluamVjdG9yOiBJbmplY3Rvcik6IFByb21pc2U8QVhQRW50aXR5IHwgbnVsbD4ge1xuICBjb25zdCBkYXRhU2VydmljZSA9IGluamVjdG9yLmdldChOb3RpZmljYXRpb25NYW5hZ2VtZW50U2VydmljZSk7XG5cbiAgY29uc3QgZW50aXR5RGVmOiBBWFBFbnRpdHkgPSB7XG4gICAgbW9kdWxlOiAnbm90aWZpY2F0aW9uLW1hbmFnZW1lbnQnLFxuICAgIG5hbWU6ICdub3RpZmljYXRpb24nLFxuICAgIHNvdXJjZTogJ25vdGlmaWNhdGlvbi1tYW5hZ2VtZW50Lm5vdGlmaWNhdGlvbicsXG4gICAgdGl0bGU6ICdOb3RpZmljYXRpb24nLFxuICAgIGZvcm1hdHM6IHtcbiAgICAgIGluZGl2aWR1YWw6ICdOb3RpZmljYXRpb24nLFxuICAgICAgcGx1cmFsOiAnTm90aWZpY2F0aW9ucycsXG4gICAgfSxcbiAgICByZWxhdGVkRW50aXRpZXM6IFtcbiAgICAgIHtcbiAgICAgICAgZW50aXR5OiAnbm90aWZpY2F0aW9uLW1hbmFnZW1lbnQubm90aWZpY2F0aW9uTG9nJyxcbiAgICAgICAgY29sdW1uczogWyd0aXRsZScsICdzdGF0dXMnXSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBncm91cHM6IFtcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdub3RpZmljYXRpb24nLFxuICAgICAgICB0aXRsZTogJ05vdGlmaWNhdGlvbicsXG4gICAgICB9LFxuICAgIF0sXG4gICAgcHJvcGVydGllczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnbmFtZScsXG4gICAgICAgIHRpdGxlOiAnTmFtZScsXG4gICAgICAgIGdyb3VwSWQ6ICdub3RpZmljYXRpb24nLFxuICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy50ZXh0LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAndGl0bGUnLFxuICAgICAgICB0aXRsZTogJ1RpdGxlJyxcbiAgICAgICAgZ3JvdXBJZDogJ25vdGlmaWNhdGlvbicsXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIGRhdGFUeXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnRleHQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdib2R5JyxcbiAgICAgICAgdGl0bGU6ICdCb2R5JyxcbiAgICAgICAgZ3JvdXBJZDogJ25vdGlmaWNhdGlvbicsXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIGRhdGFUeXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnJpY2hUZXh0LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnY2hhbm5lbCcsXG4gICAgICAgIHRpdGxlOiAnQ2hhbm5lbCcsXG4gICAgICAgIGdyb3VwSWQ6ICdub3RpZmljYXRpb24nLFxuICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy50ZXh0LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAndXNlci5uYW1lJyxcbiAgICAgICAgdGl0bGU6ICdVc2VyIE5hbWUnLFxuICAgICAgICBncm91cElkOiAnbm90aWZpY2F0aW9uJyxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudGV4dCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdLFxuICAgIGNvbHVtbnM6IFt7IG5hbWU6ICd0aXRsZScgfSwgeyBuYW1lOiAnYm9keScgfSwgeyBuYW1lOiAndXNlci5uYW1lJyB9LCB7IG5hbWU6ICdjaGFubmVsJyB9XSxcbiAgICBxdWVyaWVzOiB7XG4gICAgICBieUtleToge1xuICAgICAgICBleGVjdXRlOiBhc3luYyAoaWQ6IHN0cmluZykgPT4ge1xuICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGVudGl0eSA9IGF3YWl0IGRhdGFTZXJ2aWNlLm5vdGlmaWNhdGlvbkRhdGFQcm92aWRlci5nZXRPbmUoaWQpO1xuICAgICAgICAgICAgICByZXNvbHZlKGVudGl0eSk7XG4gICAgICAgICAgICB9LCA1MDApO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICB0eXBlOiBBWFBFbnRpdHlRdWVyeVR5cGUuU2luZ2xlLFxuICAgICAgfSxcbiAgICAgIGxpc3Q6IHtcbiAgICAgICAgZXhlY3V0ZTogYXN5bmMgKGU6IGFueSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGxpc3QgPSBhd2FpdCBkYXRhU2VydmljZS5ub3RpZmljYXRpb25EYXRhUHJvdmlkZXIuZ2V0QWxsKCk7XG4gICAgICAgICAgY29uc3Qgc29ydGVkSXRlbXMgPSBhcHBseVNvcnRBcnJheShsaXN0LCBlLnNvcnQpO1xuICAgICAgICAgIGNvbnN0IGZpbHRlcmVkSXRlbXMgPSBhcHBseUZpbHRlckFycmF5KHNvcnRlZEl0ZW1zLCBlLmZpbHRlciA/IFtlLmZpbHRlcl0gOiBbXSk7XG4gICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7XG4gICAgICAgICAgICB0b3RhbDogZmlsdGVyZWRJdGVtcy5sZW5ndGgsXG4gICAgICAgICAgICBpdGVtczogZmlsdGVyZWRJdGVtcy5zbGljZShlLnNraXAsIChlLnNraXAgPz8gMCkgKyAoZS50YWtlID8/IDApKSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZTogQVhQRW50aXR5UXVlcnlUeXBlLkxpc3QsXG4gICAgICB9LFxuICAgIH0sXG4gICAgaW50ZXJmYWNlczoge1xuICAgICAgbWFzdGVyOiB7XG4gICAgICAgIHNpbmdsZToge1xuICAgICAgICAgIHRpdGxlOiAne3t0aXRsZX19JyxcbiAgICAgICAgICBzZWN0aW9uczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZDogJ25vdGlmaWNhdGlvbicsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogMTIsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcHJvcGVydGllczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnbmFtZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICd1c2VyLm5hbWUnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAndGl0bGUnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDEyLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ2JvZHknLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDEyLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ2NoYW5uZWwnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgYWN0aW9uczogW10sXG4gICAgICAgIH0sXG4gICAgICAgIGxpc3Q6IHtcbiAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnRGV0YWlscycsXG4gICAgICAgICAgICAgIGNvbW1hbmQ6ICdvcGVuLWVudGl0eScsXG4gICAgICAgICAgICAgIHByaW9yaXR5OiAncHJpbWFyeScsXG4gICAgICAgICAgICAgIHR5cGU6ICd2aWV3JyxcbiAgICAgICAgICAgICAgc2NvcGU6IEFYUEVudGl0eUNvbW1hbmRTY29wZS5JbmRpdmlkdWFsLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHZpZXdzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdhbGwnLFxuICAgICAgICAgICAgICB0aXRsZTogJ0FsbCBJdGVtcycsXG4gICAgICAgICAgICAgIGZpeGVkOiB0cnVlLFxuICAgICAgICAgICAgICBjb2x1bW5zOiBbXSxcbiAgICAgICAgICAgICAgY29uZGl0aW9uczogW10sXG4gICAgICAgICAgICAgIHNvcnRzOiBbXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcblxuICByZXR1cm4gZW50aXR5RGVmO1xufVxuIl19
@@ -0,0 +1,55 @@
1
+ import { AXPDataGenerator } from '@acorex/platform/common';
2
+ const CHANNELS = ['InApp', 'Email', 'SMS'];
3
+ const TITLES = ['Buy Me!', 'Black Friday', 'New Message'];
4
+ const BODIES = ['Buy New Glass From Shop', 'New Offers For Black Friday!', 'Saeed Send New File Message'];
5
+ const CATEGORIES = ['Inbox', 'Archive', 'Role'];
6
+ const TYPES = ['File', 'Person', 'Notification'];
7
+ const PRORITIES = ['Warning', 'Danger', 'Notice'];
8
+ export const NOTIFICATION_TEMPLATES = Array.from({ length: 5 }).map((_, i) => {
9
+ const name = AXPDataGenerator.string;
10
+ return {
11
+ id: AXPDataGenerator.uuid(),
12
+ name: name,
13
+ title: name,
14
+ description: AXPDataGenerator.string(200),
15
+ };
16
+ });
17
+ export const NOTIFICATION_CHANNELS = Array.from({ length: 3 }).map((_, i) => {
18
+ return {
19
+ body: BODIES[i],
20
+ title: TITLES[i],
21
+ channel: CHANNELS[i],
22
+ inApp: {
23
+ category: AXPDataGenerator.pick(CATEGORIES),
24
+ level: AXPDataGenerator.pick(PRORITIES),
25
+ type: AXPDataGenerator.pick(TYPES),
26
+ },
27
+ };
28
+ });
29
+ export const NOTIFICATIONS = Array.from({ length: 5 }).map((_, i) => {
30
+ return {
31
+ id: AXPDataGenerator.uuid(),
32
+ title: AXPDataGenerator.pick(TITLES),
33
+ body: AXPDataGenerator.pick(BODIES),
34
+ channel: AXPDataGenerator.pick(CHANNELS),
35
+ data: {},
36
+ RelativeType: 'demo.sample',
37
+ RelativeId: '535c8c8a-5e64-4079-929d-752394669b51',
38
+ user: {
39
+ id: AXPDataGenerator.uuid(),
40
+ name: AXPDataGenerator.firstName() + ' ' + AXPDataGenerator.lastName(),
41
+ image: 'https://i.pravatar.cc/300',
42
+ },
43
+ template: {
44
+ category: AXPDataGenerator.pick(CATEGORIES),
45
+ prority: AXPDataGenerator.pick(PRORITIES),
46
+ type: AXPDataGenerator.pick(TYPES),
47
+ icon: 'fa-image',
48
+ isPinned: AXPDataGenerator.boolean(),
49
+ },
50
+ readAt: AXPDataGenerator.pick([AXPDataGenerator.date(), null]),
51
+ createAt: AXPDataGenerator.date(),
52
+ entityName: 'notifications',
53
+ };
54
+ });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLW1hbmFnZW1lbnQtbW9jay1kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL25vdGlmaWNhdGlvbi1tYW5hZ2VtZW50L3NyYy9saWIvbm90aWZpY2F0aW9uLW1hbmFnZW1lbnQtbW9jay1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTNELE1BQU0sUUFBUSxHQUFHLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztBQUUzQyxNQUFNLE1BQU0sR0FBRyxDQUFDLFNBQVMsRUFBRSxjQUFjLEVBQUUsYUFBYSxDQUFDLENBQUM7QUFFMUQsTUFBTSxNQUFNLEdBQUcsQ0FBQyx5QkFBeUIsRUFBRSw4QkFBOEIsRUFBRSw2QkFBNkIsQ0FBQyxDQUFDO0FBRTFHLE1BQU0sVUFBVSxHQUFHLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUVoRCxNQUFNLEtBQUssR0FBRyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsY0FBYyxDQUFDLENBQUM7QUFFakQsTUFBTSxTQUFTLEdBQUcsQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBRWxELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7SUFDM0UsTUFBTSxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDO0lBQ3JDLE9BQU87UUFDTCxFQUFFLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxFQUFFO1FBQzNCLElBQUksRUFBRSxJQUFJO1FBQ1YsS0FBSyxFQUFFLElBQUk7UUFDWCxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztLQUMxQyxDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO0lBQzFFLE9BQU87UUFDTCxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNmLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ2hCLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3BCLEtBQUssRUFBRTtZQUNMLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQzNDLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ3ZDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQ25DO0tBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7SUFDbEUsT0FBTztRQUNMLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUU7UUFDM0IsS0FBSyxFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDcEMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDbkMsT0FBTyxFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDeEMsSUFBSSxFQUFFLEVBQUU7UUFDUixZQUFZLEVBQUUsYUFBYTtRQUMzQixVQUFVLEVBQUUsc0NBQXNDO1FBQ2xELElBQUksRUFBRTtZQUNKLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUU7WUFDM0IsSUFBSSxFQUFFLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxHQUFHLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUU7WUFDdEUsS0FBSyxFQUFFLDJCQUEyQjtTQUNuQztRQUNELFFBQVEsRUFBRTtZQUNSLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ3pDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ2xDLElBQUksRUFBRSxVQUFVO1lBQ2hCLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7U0FDckM7UUFDRCxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDOUQsUUFBUSxFQUFFLGdCQUFnQixDQUFDLElBQUksRUFBRTtRQUNqQyxVQUFVLEVBQUUsZUFBZTtLQUM1QixDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBEYXRhR2VuZXJhdG9yIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuXG5jb25zdCBDSEFOTkVMUyA9IFsnSW5BcHAnLCAnRW1haWwnLCAnU01TJ107XG5cbmNvbnN0IFRJVExFUyA9IFsnQnV5IE1lIScsICdCbGFjayBGcmlkYXknLCAnTmV3IE1lc3NhZ2UnXTtcblxuY29uc3QgQk9ESUVTID0gWydCdXkgTmV3IEdsYXNzIEZyb20gU2hvcCcsICdOZXcgT2ZmZXJzIEZvciBCbGFjayBGcmlkYXkhJywgJ1NhZWVkIFNlbmQgTmV3IEZpbGUgTWVzc2FnZSddO1xuXG5jb25zdCBDQVRFR09SSUVTID0gWydJbmJveCcsICdBcmNoaXZlJywgJ1JvbGUnXTtcblxuY29uc3QgVFlQRVMgPSBbJ0ZpbGUnLCAnUGVyc29uJywgJ05vdGlmaWNhdGlvbiddO1xuXG5jb25zdCBQUk9SSVRJRVMgPSBbJ1dhcm5pbmcnLCAnRGFuZ2VyJywgJ05vdGljZSddO1xuXG5leHBvcnQgY29uc3QgTk9USUZJQ0FUSU9OX1RFTVBMQVRFUyA9IEFycmF5LmZyb20oeyBsZW5ndGg6IDUgfSkubWFwKChfLCBpKSA9PiB7XG4gIGNvbnN0IG5hbWUgPSBBWFBEYXRhR2VuZXJhdG9yLnN0cmluZztcbiAgcmV0dXJuIHtcbiAgICBpZDogQVhQRGF0YUdlbmVyYXRvci51dWlkKCksXG4gICAgbmFtZTogbmFtZSxcbiAgICB0aXRsZTogbmFtZSxcbiAgICBkZXNjcmlwdGlvbjogQVhQRGF0YUdlbmVyYXRvci5zdHJpbmcoMjAwKSxcbiAgfTtcbn0pO1xuXG5leHBvcnQgY29uc3QgTk9USUZJQ0FUSU9OX0NIQU5ORUxTID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogMyB9KS5tYXAoKF8sIGkpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBib2R5OiBCT0RJRVNbaV0sXG4gICAgdGl0bGU6IFRJVExFU1tpXSxcbiAgICBjaGFubmVsOiBDSEFOTkVMU1tpXSxcbiAgICBpbkFwcDoge1xuICAgICAgY2F0ZWdvcnk6IEFYUERhdGFHZW5lcmF0b3IucGljayhDQVRFR09SSUVTKSxcbiAgICAgIGxldmVsOiBBWFBEYXRhR2VuZXJhdG9yLnBpY2soUFJPUklUSUVTKSxcbiAgICAgIHR5cGU6IEFYUERhdGFHZW5lcmF0b3IucGljayhUWVBFUyksXG4gICAgfSxcbiAgfTtcbn0pO1xuXG5leHBvcnQgY29uc3QgTk9USUZJQ0FUSU9OUyA9IEFycmF5LmZyb20oeyBsZW5ndGg6IDUgfSkubWFwKChfLCBpKSA9PiB7XG4gIHJldHVybiB7XG4gICAgaWQ6IEFYUERhdGFHZW5lcmF0b3IudXVpZCgpLFxuICAgIHRpdGxlOiBBWFBEYXRhR2VuZXJhdG9yLnBpY2soVElUTEVTKSxcbiAgICBib2R5OiBBWFBEYXRhR2VuZXJhdG9yLnBpY2soQk9ESUVTKSxcbiAgICBjaGFubmVsOiBBWFBEYXRhR2VuZXJhdG9yLnBpY2soQ0hBTk5FTFMpLFxuICAgIGRhdGE6IHt9LFxuICAgIFJlbGF0aXZlVHlwZTogJ2RlbW8uc2FtcGxlJyxcbiAgICBSZWxhdGl2ZUlkOiAnNTM1YzhjOGEtNWU2NC00MDc5LTkyOWQtNzUyMzk0NjY5YjUxJyxcbiAgICB1c2VyOiB7XG4gICAgICBpZDogQVhQRGF0YUdlbmVyYXRvci51dWlkKCksXG4gICAgICBuYW1lOiBBWFBEYXRhR2VuZXJhdG9yLmZpcnN0TmFtZSgpICsgJyAnICsgQVhQRGF0YUdlbmVyYXRvci5sYXN0TmFtZSgpLFxuICAgICAgaW1hZ2U6ICdodHRwczovL2kucHJhdmF0YXIuY2MvMzAwJyxcbiAgICB9LFxuICAgIHRlbXBsYXRlOiB7XG4gICAgICBjYXRlZ29yeTogQVhQRGF0YUdlbmVyYXRvci5waWNrKENBVEVHT1JJRVMpLFxuICAgICAgcHJvcml0eTogQVhQRGF0YUdlbmVyYXRvci5waWNrKFBST1JJVElFUyksXG4gICAgICB0eXBlOiBBWFBEYXRhR2VuZXJhdG9yLnBpY2soVFlQRVMpLFxuICAgICAgaWNvbjogJ2ZhLWltYWdlJyxcbiAgICAgIGlzUGlubmVkOiBBWFBEYXRhR2VuZXJhdG9yLmJvb2xlYW4oKSxcbiAgICB9LFxuICAgIHJlYWRBdDogQVhQRGF0YUdlbmVyYXRvci5waWNrKFtBWFBEYXRhR2VuZXJhdG9yLmRhdGUoKSwgbnVsbF0pLFxuICAgIGNyZWF0ZUF0OiBBWFBEYXRhR2VuZXJhdG9yLmRhdGUoKSxcbiAgICBlbnRpdHlOYW1lOiAnbm90aWZpY2F0aW9ucycsXG4gIH07XG59KTtcbiJdfQ==