@acorex-platform/module-background-job-management-client 0.0.32 → 0.0.33

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 (24) hide show
  1. package/fesm2022/acorex-platform-module-background-job-management-client-contracts-entities-background-job-attempt.mjs +262 -0
  2. package/fesm2022/acorex-platform-module-background-job-management-client-contracts-entities-background-job-attempt.mjs.map +1 -0
  3. package/fesm2022/acorex-platform-module-background-job-management-client-contracts-entities-background-job-schedule.mjs +539 -0
  4. package/fesm2022/acorex-platform-module-background-job-management-client-contracts-entities-background-job-schedule.mjs.map +1 -0
  5. package/fesm2022/acorex-platform-module-background-job-management-client-contracts-entities-background-job.mjs +500 -0
  6. package/fesm2022/acorex-platform-module-background-job-management-client-contracts-entities-background-job.mjs.map +1 -0
  7. package/fesm2022/acorex-platform-module-background-job-management-client-contracts-entity-catalog-acorex-platform-module-background-job-management-client-contracts-entity-catalog-BXFhpRfS.mjs +67 -0
  8. package/fesm2022/acorex-platform-module-background-job-management-client-contracts-entity-catalog-acorex-platform-module-background-job-management-client-contracts-entity-catalog-BXFhpRfS.mjs.map +1 -0
  9. package/fesm2022/acorex-platform-module-background-job-management-client-contracts-entity-catalog-background-job-attempt.entity-di_KkFZV.mjs +216 -0
  10. package/fesm2022/acorex-platform-module-background-job-management-client-contracts-entity-catalog-background-job-attempt.entity-di_KkFZV.mjs.map +1 -0
  11. package/fesm2022/acorex-platform-module-background-job-management-client-contracts-entity-catalog-background-job-schedule.entity-q8VKiWJf.mjs +493 -0
  12. package/fesm2022/acorex-platform-module-background-job-management-client-contracts-entity-catalog-background-job-schedule.entity-q8VKiWJf.mjs.map +1 -0
  13. package/fesm2022/acorex-platform-module-background-job-management-client-contracts-entity-catalog-background-job.entity-Bz33gUlR.mjs +454 -0
  14. package/fesm2022/acorex-platform-module-background-job-management-client-contracts-entity-catalog-background-job.entity-Bz33gUlR.mjs.map +1 -0
  15. package/fesm2022/acorex-platform-module-background-job-management-client-contracts-entity-catalog.mjs +2 -0
  16. package/fesm2022/acorex-platform-module-background-job-management-client-contracts-entity-catalog.mjs.map +1 -0
  17. package/fesm2022/acorex-platform-module-background-job-management-client-local-entities.mjs +31 -0
  18. package/fesm2022/acorex-platform-module-background-job-management-client-local-entities.mjs.map +1 -0
  19. package/package.json +21 -1
  20. package/types/acorex-platform-module-background-job-management-client-contracts-entities-background-job-attempt.d.ts +5 -0
  21. package/types/acorex-platform-module-background-job-management-client-contracts-entities-background-job-schedule.d.ts +5 -0
  22. package/types/acorex-platform-module-background-job-management-client-contracts-entities-background-job.d.ts +5 -0
  23. package/types/acorex-platform-module-background-job-management-client-contracts-entity-catalog.d.ts +10 -0
  24. package/types/acorex-platform-module-background-job-management-client-local-entities.d.ts +12 -0
@@ -0,0 +1,500 @@
1
+ import { AXPWidgetsList, AXPSystemActionType, AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';
2
+ import { AXPBackgroundJobCommandKeys, AXP_BACKGROUND_JOB_STATUS_DEFINITION_KEY } from '@acorex-platform/framework-shared/background-job';
3
+ import { createAllQueryView, createQueryView, AXPEntityCommandScope, entityMasterBulkDeleteAction, entityMasterDeleteAction, entityMasterRecordActions } from '@acorex-platform/framework-shared/entity';
4
+
5
+ const BACKGROUND_JOB_SOURCE_COLUMN_WIDGET = 'background-job-source';
6
+
7
+ const config = {
8
+ i18n: 'background-job-management',
9
+ module: 'BackgroundJobManagement',
10
+ };
11
+ const RootConfig = {
12
+ config,
13
+ module: {
14
+ route: 'background-job-management',
15
+ name: config.module,
16
+ title: '@background-job-management:module.title',
17
+ icon: 'fa-light fa-gears',
18
+ },
19
+ entities: {
20
+ backgroundJob: {
21
+ name: 'BackgroundJob',
22
+ fullName: `${config.module}.BackgroundJob`,
23
+ title: '@background-job-management:jobs.entities.background-job.title',
24
+ titlePlural: '@background-job-management:jobs.entities.background-job.plural',
25
+ icon: 'fa-light fa-list-check',
26
+ },
27
+ backgroundJobAttempt: {
28
+ name: 'BackgroundJobAttempt',
29
+ fullName: `${config.module}.BackgroundJobAttempt`,
30
+ title: '@background-job-management:attempts.entities.background-job-attempt.title',
31
+ titlePlural: '@background-job-management:attempts.entities.background-job-attempt.plural',
32
+ icon: 'fa-light fa-rotate',
33
+ },
34
+ backgroundJobSchedule: {
35
+ name: 'BackgroundJobSchedule',
36
+ fullName: `${config.module}.BackgroundJobSchedule`,
37
+ title: '@background-job-management:schedules.entities.background-job-schedule.title',
38
+ titlePlural: '@background-job-management:schedules.entities.background-job-schedule.plural',
39
+ icon: 'fa-light fa-calendar-clock',
40
+ },
41
+ },
42
+ queries: {
43
+ dashboard: {
44
+ jobsByStatusBar: `${config.module}:Dashboard:JobsByStatusBar`,
45
+ jobSchedulesByStatusBar: `${config.module}:Dashboard:JobSchedulesByStatusBar`,
46
+ },
47
+ },
48
+ };
49
+
50
+ const I18N = '@background-job-management:jobs.entities.background-job';
51
+ const TRIGGER_ITEMS = [
52
+ { name: 'manual', title: `${I18N}.triggers.manual`, cssClass: 'primary-lighter-surface' },
53
+ { name: 'schedule', title: `${I18N}.triggers.schedule`, cssClass: 'info-lighter-surface' },
54
+ { name: 'event', title: `${I18N}.triggers.event`, cssClass: 'secondary-lighter-surface' },
55
+ { name: 'system', title: `${I18N}.triggers.system`, cssClass: 'lighter-surface' },
56
+ ];
57
+ const READONLY_FIELD = {
58
+ filter: { advance: { enabled: true }, inline: { enabled: false } },
59
+ sort: { enabled: true },
60
+ };
61
+ const READONLY_LIST_FIELD = {
62
+ filter: { advance: { enabled: false }, inline: { enabled: false } },
63
+ sort: { enabled: false },
64
+ };
65
+ const JSON_VIEWER = {
66
+ dataType: 'object',
67
+ readonly: true,
68
+ interface: {
69
+ type: AXPWidgetsList.Advanced.JsonViewer,
70
+ options: { disabled: true },
71
+ },
72
+ };
73
+ const DURATION_SHOW_AS = {
74
+ type: AXPWidgetsList.Editors.TimeDuration,
75
+ options: {
76
+ from: { id: 'minute', title: 'minute' },
77
+ to: { id: 'second', title: 'second' },
78
+ label: false,
79
+ },
80
+ };
81
+ async function factoryBackgroundJob() {
82
+ const entityDef = {
83
+ module: RootConfig.module.name,
84
+ name: RootConfig.entities.backgroundJob.name,
85
+ title: RootConfig.entities.backgroundJob.title,
86
+ icon: RootConfig.entities.backgroundJob.icon,
87
+ parentKey: 'parentJobId',
88
+ plugins: [
89
+ {
90
+ name: 'status',
91
+ options: {
92
+ field: 'status',
93
+ definition: AXP_BACKGROUND_JOB_STATUS_DEFINITION_KEY,
94
+ showInCreate: false,
95
+ readonly: true,
96
+ generate: { views: { enabled: false } },
97
+ },
98
+ },
99
+ ],
100
+ formats: {
101
+ individual: RootConfig.entities.backgroundJob.title,
102
+ plural: RootConfig.entities.backgroundJob.titlePlural,
103
+ searchResult: {
104
+ title: '{{ title }}',
105
+ description: '{{ status }}',
106
+ },
107
+ },
108
+ groups: [
109
+ { id: 'overview', title: `${I18N}.groups.overview` },
110
+ { id: 'execution', title: `${I18N}.groups.execution` },
111
+ { id: 'data', title: `${I18N}.groups.data` },
112
+ ],
113
+ relatedEntities: [
114
+ {
115
+ entity: `${RootConfig.module.name}.${RootConfig.entities.backgroundJobAttempt.name}`,
116
+ title: `${I18N}.related-entities.attempts.title`,
117
+ columns: ['attemptNumber', 'trigger', 'status', 'startedAt', 'durationMs'],
118
+ conditions: [{ name: 'jobId', operator: { type: 'equal' }, value: '{{ context.eval("id") }}' }],
119
+ actions: [
120
+ {
121
+ title: '@general:actions.view.title',
122
+ command: { name: 'Entity:View' },
123
+ priority: 'primary',
124
+ default: true,
125
+ type: AXPSystemActionType.View,
126
+ scope: AXPEntityCommandScope.Individual,
127
+ },
128
+ ],
129
+ },
130
+ {
131
+ entity: `${RootConfig.module.name}.${RootConfig.entities.backgroundJob.name}`,
132
+ title: `${I18N}.related-entities.child-jobs.title`,
133
+ columns: ['title', 'command', 'trigger', 'status', 'executedAt', 'completedAt', 'result'],
134
+ conditions: [{ name: 'parentJobId', operator: { type: 'equal' }, value: '{{ context.eval("id") }}' }],
135
+ actions: [
136
+ {
137
+ title: '@general:actions.view.title',
138
+ command: { name: 'Entity:View' },
139
+ priority: 'primary',
140
+ default: true,
141
+ type: AXPSystemActionType.View,
142
+ scope: AXPEntityCommandScope.Individual,
143
+ },
144
+ ],
145
+ },
146
+ ],
147
+ properties: [
148
+ {
149
+ name: 'id',
150
+ title: 'ID',
151
+ groupId: 'overview',
152
+ schema: {
153
+ dataType: 'uuid',
154
+ visible: false,
155
+ nullable: false,
156
+ readonly: true,
157
+ unique: { enabled: true },
158
+ },
159
+ },
160
+ {
161
+ name: 'title',
162
+ title: `${I18N}.fields.title.title`,
163
+ groupId: 'overview',
164
+ schema: { dataType: 'string', interface: { type: AXPWidgetsCatalog.text }, readonly: true },
165
+ options: READONLY_FIELD,
166
+ },
167
+ {
168
+ name: 'parentJobId',
169
+ title: `${I18N}.fields.parent-job-id.title`,
170
+ groupId: 'overview',
171
+ schema: {
172
+ dataType: 'uuid',
173
+ visible: false,
174
+ nullable: true,
175
+ readonly: true,
176
+ },
177
+ options: READONLY_FIELD,
178
+ },
179
+ {
180
+ name: 'scheduleId',
181
+ title: `${I18N}.fields.schedule-id.title`,
182
+ groupId: 'overview',
183
+ schema: {
184
+ dataType: 'uuid',
185
+ visible: false,
186
+ nullable: true,
187
+ readonly: true,
188
+ },
189
+ options: READONLY_FIELD,
190
+ },
191
+ {
192
+ name: 'command',
193
+ title: `${I18N}.fields.command.title`,
194
+ groupId: 'overview',
195
+ schema: {
196
+ dataType: 'object',
197
+ readonly: true,
198
+ interface: {
199
+ type: AXPWidgetsList.Editors.ActivityCommandConfigurator,
200
+ options: {
201
+ readonly: true,
202
+ loadStrategy: 'command-registry',
203
+ executionModeFilter: 'backend',
204
+ capabilitiesFilter: ['background-job'],
205
+ },
206
+ },
207
+ },
208
+ options: READONLY_FIELD,
209
+ },
210
+ {
211
+ name: 'trigger',
212
+ title: `${I18N}.fields.trigger.title`,
213
+ groupId: 'overview',
214
+ schema: {
215
+ dataType: 'string',
216
+ readonly: true,
217
+ interface: {
218
+ type: AXPWidgetsCatalog.select,
219
+ options: {
220
+ valueField: 'name',
221
+ textField: 'title',
222
+ cssClassField: 'cssClass',
223
+ multiple: false,
224
+ dataSource: TRIGGER_ITEMS,
225
+ },
226
+ },
227
+ },
228
+ options: { ...READONLY_FIELD, filter: { advance: { enabled: true }, inline: { enabled: true } } },
229
+ },
230
+ {
231
+ name: 'userId',
232
+ title: `${I18N}.fields.started-by.title`,
233
+ groupId: 'overview',
234
+ schema: {
235
+ dataType: 'string',
236
+ nullable: true,
237
+ readonly: true,
238
+ interface: {
239
+ type: AXPWidgetsList.Editors.LookupBox,
240
+ options: {
241
+ entity: 'SecurityManagement.User',
242
+ textField: 'displayName',
243
+ valueField: 'id',
244
+ look: 'select',
245
+ readonly: true,
246
+ disabled: true,
247
+ expose: [
248
+ { source: 'id', target: 'user.id' },
249
+ { source: 'displayName', target: 'user.displayName' },
250
+ ],
251
+ },
252
+ },
253
+ },
254
+ options: READONLY_FIELD,
255
+ },
256
+ {
257
+ name: 'progress',
258
+ title: `${I18N}.fields.progress.title`,
259
+ groupId: 'execution',
260
+ schema: {
261
+ dataType: 'number',
262
+ readonly: true,
263
+ interface: {
264
+ type: AXPWidgetsList.Editors.ProgressBox,
265
+ options: { total: 100, showText: true, textFormat: 'percentage' },
266
+ },
267
+ },
268
+ options: READONLY_LIST_FIELD,
269
+ },
270
+ {
271
+ name: 'currentAttempt',
272
+ title: `${I18N}.fields.current-attempt.title`,
273
+ groupId: 'execution',
274
+ schema: { dataType: 'number', interface: { type: AXPWidgetsCatalog.number }, readonly: true },
275
+ options: READONLY_LIST_FIELD,
276
+ },
277
+ {
278
+ name: 'maxAttempts',
279
+ title: `${I18N}.fields.max-attempts.title`,
280
+ groupId: 'execution',
281
+ schema: { dataType: 'number', interface: { type: AXPWidgetsCatalog.number }, readonly: true },
282
+ options: READONLY_LIST_FIELD,
283
+ },
284
+ {
285
+ name: 'executedAt',
286
+ title: `${I18N}.fields.executed-at.title`,
287
+ groupId: 'execution',
288
+ schema: {
289
+ dataType: 'datetime',
290
+ interface: { type: AXPWidgetsCatalog.dateTime, options: { format: 'datetime' } },
291
+ readonly: true,
292
+ },
293
+ options: READONLY_FIELD,
294
+ },
295
+ {
296
+ name: 'completedAt',
297
+ title: `${I18N}.fields.finished-at.title`,
298
+ groupId: 'execution',
299
+ schema: {
300
+ dataType: 'datetime',
301
+ interface: { type: AXPWidgetsCatalog.dateTime, options: { format: 'datetime' } },
302
+ readonly: true,
303
+ },
304
+ options: READONLY_FIELD,
305
+ },
306
+ {
307
+ name: 'trayDismissedAt',
308
+ title: `${I18N}.fields.tray-dismissed-at.title`,
309
+ groupId: 'execution',
310
+ schema: {
311
+ dataType: 'datetime',
312
+ visible: false,
313
+ nullable: true,
314
+ readonly: true,
315
+ interface: { type: AXPWidgetsCatalog.dateTime, options: { format: 'datetime' } },
316
+ },
317
+ options: READONLY_LIST_FIELD,
318
+ },
319
+ {
320
+ name: 'totalDurationMs',
321
+ title: `${I18N}.fields.duration.title`,
322
+ groupId: 'execution',
323
+ schema: {
324
+ dataType: 'number',
325
+ readonly: true,
326
+ interface: { type: DURATION_SHOW_AS.type, options: DURATION_SHOW_AS.options },
327
+ },
328
+ options: { ...READONLY_LIST_FIELD, sort: { enabled: true } },
329
+ },
330
+ {
331
+ name: 'result',
332
+ title: `${I18N}.fields.result.title`,
333
+ groupId: 'data',
334
+ schema: JSON_VIEWER,
335
+ options: READONLY_LIST_FIELD,
336
+ },
337
+ ],
338
+ columns: [
339
+ { name: 'title', options: { width: '220px' } },
340
+ { name: 'command', options: { width: '200px' } },
341
+ { name: 'executedAt', options: { width: '170px' } },
342
+ { name: 'completedAt', title: `${I18N}.fields.finished-at.title`, options: { width: '170px' } },
343
+ {
344
+ name: 'totalDurationMs',
345
+ title: `${I18N}.fields.duration.title`,
346
+ showAs: DURATION_SHOW_AS,
347
+ options: { width: '120px' },
348
+ },
349
+ { name: 'progress', options: { width: '140px' } },
350
+ { name: 'trigger', options: { width: '140px' } },
351
+ {
352
+ name: 'userId',
353
+ title: `${I18N}.fields.source.title`,
354
+ showAs: {
355
+ type: BACKGROUND_JOB_SOURCE_COLUMN_WIDGET,
356
+ },
357
+ options: { width: '220px' },
358
+ },
359
+ {
360
+ name: 'result',
361
+ title: `${I18N}.fields.result-message.title`,
362
+ showAs: { type: AXPWidgetsCatalog.text },
363
+ options: { dataPath: 'result.message', width: '280px' },
364
+ },
365
+ ],
366
+ interfaces: {
367
+ master: {
368
+ single: {
369
+ title: '{{ title }}',
370
+ sections: [
371
+ { id: 'overview', order: 1, layout: { positions: { lg: { colSpan: 12 } } } },
372
+ { id: 'execution', order: 2, layout: { positions: { lg: { colSpan: 12 } } } },
373
+ { id: 'data', order: 3, layout: { positions: { lg: { colSpan: 12 } } } },
374
+ ],
375
+ properties: [
376
+ { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },
377
+ {
378
+ name: 'command',
379
+ layout: {
380
+ label: { visible: false },
381
+ positions: { lg: { colSpan: 12 } },
382
+ },
383
+ },
384
+ { name: 'trigger', layout: { positions: { lg: { colSpan: 6 } } } },
385
+ { name: 'userId', layout: { positions: { lg: { colSpan: 6 } } } },
386
+ { name: 'progress', layout: { positions: { lg: { colSpan: 6 } } } },
387
+ { name: 'currentAttempt', layout: { positions: { lg: { colSpan: 6 } } } },
388
+ { name: 'maxAttempts', layout: { positions: { lg: { colSpan: 6 } } } },
389
+ { name: 'executedAt', layout: { positions: { lg: { colSpan: 6 } } } },
390
+ { name: 'completedAt', layout: { positions: { lg: { colSpan: 6 } } } },
391
+ { name: 'totalDurationMs', layout: { positions: { lg: { colSpan: 6 } } } },
392
+ { name: 'result', layout: { positions: { lg: { colSpan: 12 } } } },
393
+ ],
394
+ actions: [...entityMasterRecordActions()],
395
+ },
396
+ list: {
397
+ actions: [
398
+ {
399
+ title: '@general:actions.detail.title',
400
+ icon: 'fa-light fa-eye',
401
+ command: 'Entity:View',
402
+ priority: 'primary',
403
+ type: AXPSystemActionType.View,
404
+ scope: AXPEntityCommandScope.Individual,
405
+ default: true,
406
+ },
407
+ entityMasterBulkDeleteAction(),
408
+ entityMasterDeleteAction(),
409
+ {
410
+ title: '@background-job-management:jobs.actions.cancel.title',
411
+ name: 'cancel-background-job',
412
+ command: {
413
+ name: AXPBackgroundJobCommandKeys.JobCancel,
414
+ options: { jobId: '{{ context.eval("id") }}' },
415
+ },
416
+ icon: 'fa-light fa-ban',
417
+ color: 'danger',
418
+ priority: 'secondary',
419
+ type: 'execute',
420
+ scope: AXPEntityCommandScope.Individual,
421
+ hidden: '{{ context.eval("status") === "completed" || context.eval("status") === "failed" || context.eval("status") === "cancelled" || context.eval("status") === "dead-lettered" }}',
422
+ },
423
+ {
424
+ title: '@background-job-management:jobs.actions.retry.title',
425
+ name: 'retry-background-job',
426
+ command: {
427
+ name: AXPBackgroundJobCommandKeys.JobRetry,
428
+ options: { jobId: '{{ context.eval("id") }}' },
429
+ },
430
+ icon: 'fa-light fa-rotate-right',
431
+ color: 'primary',
432
+ priority: 'secondary',
433
+ type: 'execute',
434
+ scope: AXPEntityCommandScope.Individual,
435
+ hidden: '{{ context.eval("status") === "created" || context.eval("status") === "scheduled" || context.eval("status") === "running" || context.eval("status") === "paused" || context.eval("status") === "completed" || context.eval("status") === "dead-lettered" }}',
436
+ },
437
+ {
438
+ title: '@background-job-management:jobs.actions.replay-dead-letter.title',
439
+ name: 'replay-dead-letter-background-job',
440
+ command: {
441
+ name: AXPBackgroundJobCommandKeys.JobReplayDeadLetter,
442
+ options: { jobId: '{{ context.eval("id") }}' },
443
+ },
444
+ icon: 'fa-light fa-inbox-out',
445
+ color: 'primary',
446
+ priority: 'secondary',
447
+ type: 'execute',
448
+ scope: AXPEntityCommandScope.Individual,
449
+ hidden: '{{ context.eval("status") !== "dead-lettered" }}',
450
+ },
451
+ {
452
+ title: '@background-job-management:jobs.actions.bulk-dismiss.title',
453
+ name: 'bulk-dismiss-background-job',
454
+ command: {
455
+ name: 'Entity:Bulk',
456
+ options: {
457
+ command: AXPBackgroundJobCommandKeys.JobDismiss,
458
+ entity: RootConfig.entities.backgroundJob.fullName,
459
+ idField: 'jobId',
460
+ confirm: {
461
+ title: '@background-job-management:jobs.actions.bulk-dismiss.confirm.title',
462
+ message: '@background-job-management:jobs.actions.bulk-dismiss.confirm.message',
463
+ },
464
+ },
465
+ },
466
+ icon: 'fa-light fa-eye-slash',
467
+ color: 'secondary',
468
+ priority: 'secondary',
469
+ type: 'execute',
470
+ scope: AXPEntityCommandScope.Selected,
471
+ order: 20,
472
+ },
473
+ ],
474
+ views: [
475
+ createAllQueryView({ sorts: [{ name: 'executedAt', dir: 'desc' }] }),
476
+ createQueryView('dead-lettered', '@background-job-management:jobs.menus.dead-lettered.title', true, {
477
+ conditions: [
478
+ {
479
+ name: 'status',
480
+ operator: { type: 'equal' },
481
+ value: 'dead-lettered',
482
+ visible: false,
483
+ },
484
+ ],
485
+ sorts: [{ name: 'createdAt', dir: 'desc' }],
486
+ }),
487
+ ],
488
+ },
489
+ },
490
+ },
491
+ };
492
+ return entityDef;
493
+ }
494
+
495
+ /**
496
+ * Generated bundle index. Do not edit.
497
+ */
498
+
499
+ export { factoryBackgroundJob };
500
+ //# sourceMappingURL=acorex-platform-module-background-job-management-client-contracts-entities-background-job.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-background-job-management-client-contracts-entities-background-job.mjs","sources":["../../../../libs/modules/background-job-management/contracts/src/widget.keys.ts","../../../../libs/modules/background-job-management/contracts/src/root-config.ts","../../../../libs/modules/background-job-management/contracts/src/entities/background-job/background-job.entity.ts","../../../../libs/modules/background-job-management/contracts/src/acorex-platform-module-background-job-management-client-contracts-entities-background-job.ts"],"sourcesContent":["export const BACKGROUND_JOB_SOURCE_COLUMN_WIDGET = 'background-job-source';\n","const config = {\n i18n: 'background-job-management',\n module: 'BackgroundJobManagement',\n};\n\nexport const RootConfig = {\n config,\n module: {\n route: 'background-job-management',\n name: config.module,\n title: '@background-job-management:module.title',\n icon: 'fa-light fa-gears',\n },\n entities: {\n backgroundJob: {\n name: 'BackgroundJob',\n fullName: `${config.module}.BackgroundJob`,\n title: '@background-job-management:jobs.entities.background-job.title',\n titlePlural: '@background-job-management:jobs.entities.background-job.plural',\n icon: 'fa-light fa-list-check',\n },\n backgroundJobAttempt: {\n name: 'BackgroundJobAttempt',\n fullName: `${config.module}.BackgroundJobAttempt`,\n title: '@background-job-management:attempts.entities.background-job-attempt.title',\n titlePlural: '@background-job-management:attempts.entities.background-job-attempt.plural',\n icon: 'fa-light fa-rotate',\n },\n backgroundJobSchedule: {\n name: 'BackgroundJobSchedule',\n fullName: `${config.module}.BackgroundJobSchedule`,\n title: '@background-job-management:schedules.entities.background-job-schedule.title',\n titlePlural: '@background-job-management:schedules.entities.background-job-schedule.plural',\n icon: 'fa-light fa-calendar-clock',\n },\n },\n queries: {\n dashboard: {\n jobsByStatusBar: `${config.module}:Dashboard:JobsByStatusBar`,\n jobSchedulesByStatusBar: `${config.module}:Dashboard:JobSchedulesByStatusBar`,\n },\n },\n} as const;\n","import { AXPWidgetsCatalog, AXPWidgetsList, AXPSystemActionType } from '@acorex-platform/framework-shared/core';\nimport {\n AXPBackgroundJobCommandKeys,\n AXP_BACKGROUND_JOB_STATUS_DEFINITION_KEY,\n} from '@acorex-platform/framework-shared/background-job';\nimport {\n AXPEntity,\n AXPEntityCommandScope,\n createAllQueryView,\n createQueryView,\n entityMasterBulkDeleteAction,\n entityMasterDeleteAction,\n entityMasterRecordActions,\n} from '@acorex-platform/framework-shared/entity';\nimport { BACKGROUND_JOB_SOURCE_COLUMN_WIDGET } from '../../widget.keys';\nimport { RootConfig } from '../../root-config';\n\nconst I18N = '@background-job-management:jobs.entities.background-job';\n\nconst TRIGGER_ITEMS = [\n { name: 'manual', title: `${I18N}.triggers.manual`, cssClass: 'primary-lighter-surface' },\n { name: 'schedule', title: `${I18N}.triggers.schedule`, cssClass: 'info-lighter-surface' },\n { name: 'event', title: `${I18N}.triggers.event`, cssClass: 'secondary-lighter-surface' },\n { name: 'system', title: `${I18N}.triggers.system`, cssClass: 'lighter-surface' },\n];\n\nconst READONLY_FIELD = {\n filter: { advance: { enabled: true }, inline: { enabled: false } },\n sort: { enabled: true },\n} as const;\n\nconst READONLY_LIST_FIELD = {\n filter: { advance: { enabled: false }, inline: { enabled: false } },\n sort: { enabled: false },\n} as const;\n\nconst JSON_VIEWER = {\n dataType: 'object' as const,\n readonly: true,\n interface: {\n type: AXPWidgetsList.Advanced.JsonViewer,\n options: { disabled: true },\n },\n};\n\nconst DURATION_SHOW_AS = {\n type: AXPWidgetsList.Editors.TimeDuration,\n options: {\n from: { id: 'minute', title: 'minute' },\n to: { id: 'second', title: 'second' },\n label: false,\n },\n};\n\nexport async function factoryBackgroundJob(): Promise<AXPEntity | null> {\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.backgroundJob.name,\n title: RootConfig.entities.backgroundJob.title,\n icon: RootConfig.entities.backgroundJob.icon,\n parentKey: 'parentJobId',\n plugins: [\n {\n name: 'status',\n options: {\n field: 'status',\n definition: AXP_BACKGROUND_JOB_STATUS_DEFINITION_KEY,\n showInCreate: false,\n readonly: true,\n generate: { views: { enabled: false } },\n },\n },\n ],\n formats: {\n individual: RootConfig.entities.backgroundJob.title,\n plural: RootConfig.entities.backgroundJob.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: '{{ status }}',\n },\n },\n groups: [\n { id: 'overview', title: `${I18N}.groups.overview` },\n { id: 'execution', title: `${I18N}.groups.execution` },\n { id: 'data', title: `${I18N}.groups.data` },\n ],\n relatedEntities: [\n {\n entity: `${RootConfig.module.name}.${RootConfig.entities.backgroundJobAttempt.name}`,\n title: `${I18N}.related-entities.attempts.title`,\n columns: ['attemptNumber', 'trigger', 'status', 'startedAt', 'durationMs'],\n conditions: [{ name: 'jobId', operator: { type: 'equal' }, value: '{{ context.eval(\"id\") }}' }],\n actions: [\n {\n title: '@general:actions.view.title',\n command: { name: 'Entity:View' },\n priority: 'primary',\n default: true,\n type: AXPSystemActionType.View,\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n },\n {\n entity: `${RootConfig.module.name}.${RootConfig.entities.backgroundJob.name}`,\n title: `${I18N}.related-entities.child-jobs.title`,\n columns: ['title', 'command', 'trigger', 'status', 'executedAt', 'completedAt', 'result'],\n conditions: [{ name: 'parentJobId', operator: { type: 'equal' }, value: '{{ context.eval(\"id\") }}' }],\n actions: [\n {\n title: '@general:actions.view.title',\n command: { name: 'Entity:View' },\n priority: 'primary',\n default: true,\n type: AXPSystemActionType.View,\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n },\n ],\n properties: [\n {\n name: 'id',\n title: 'ID',\n groupId: 'overview',\n schema: {\n dataType: 'uuid',\n visible: false,\n nullable: false,\n readonly: true,\n unique: { enabled: true },\n },\n },\n {\n name: 'title',\n title: `${I18N}.fields.title.title`,\n groupId: 'overview',\n schema: { dataType: 'string', interface: { type: AXPWidgetsCatalog.text }, readonly: true },\n options: READONLY_FIELD,\n },\n {\n name: 'parentJobId',\n title: `${I18N}.fields.parent-job-id.title`,\n groupId: 'overview',\n schema: {\n dataType: 'uuid',\n visible: false,\n nullable: true,\n readonly: true,\n },\n options: READONLY_FIELD,\n },\n {\n name: 'scheduleId',\n title: `${I18N}.fields.schedule-id.title`,\n groupId: 'overview',\n schema: {\n dataType: 'uuid',\n visible: false,\n nullable: true,\n readonly: true,\n },\n options: READONLY_FIELD,\n },\n {\n name: 'command',\n title: `${I18N}.fields.command.title`,\n groupId: 'overview',\n schema: {\n dataType: 'object',\n readonly: true,\n interface: {\n type: AXPWidgetsList.Editors.ActivityCommandConfigurator,\n options: {\n readonly: true,\n loadStrategy: 'command-registry',\n executionModeFilter: 'backend',\n capabilitiesFilter: ['background-job'],\n },\n },\n },\n options: READONLY_FIELD,\n },\n {\n name: 'trigger',\n title: `${I18N}.fields.trigger.title`,\n groupId: 'overview',\n schema: {\n dataType: 'string',\n readonly: true,\n interface: {\n type: AXPWidgetsCatalog.select,\n options: {\n valueField: 'name',\n textField: 'title',\n cssClassField: 'cssClass',\n multiple: false,\n dataSource: TRIGGER_ITEMS,\n },\n },\n },\n options: { ...READONLY_FIELD, filter: { advance: { enabled: true }, inline: { enabled: true } } },\n },\n {\n name: 'userId',\n title: `${I18N}.fields.started-by.title`,\n groupId: 'overview',\n schema: {\n dataType: 'string',\n nullable: true,\n readonly: true,\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: 'SecurityManagement.User',\n textField: 'displayName',\n valueField: 'id',\n look: 'select',\n readonly: true,\n disabled: true,\n expose: [\n { source: 'id', target: 'user.id' },\n { source: 'displayName', target: 'user.displayName' },\n ],\n },\n },\n },\n options: READONLY_FIELD,\n },\n {\n name: 'progress',\n title: `${I18N}.fields.progress.title`,\n groupId: 'execution',\n schema: {\n dataType: 'number',\n readonly: true,\n interface: {\n type: AXPWidgetsList.Editors.ProgressBox,\n options: { total: 100, showText: true, textFormat: 'percentage' },\n },\n },\n options: READONLY_LIST_FIELD,\n },\n {\n name: 'currentAttempt',\n title: `${I18N}.fields.current-attempt.title`,\n groupId: 'execution',\n schema: { dataType: 'number', interface: { type: AXPWidgetsCatalog.number }, readonly: true },\n options: READONLY_LIST_FIELD,\n },\n {\n name: 'maxAttempts',\n title: `${I18N}.fields.max-attempts.title`,\n groupId: 'execution',\n schema: { dataType: 'number', interface: { type: AXPWidgetsCatalog.number }, readonly: true },\n options: READONLY_LIST_FIELD,\n },\n {\n name: 'executedAt',\n title: `${I18N}.fields.executed-at.title`,\n groupId: 'execution',\n schema: {\n dataType: 'datetime',\n interface: { type: AXPWidgetsCatalog.dateTime, options: { format: 'datetime' } },\n readonly: true,\n },\n options: READONLY_FIELD,\n },\n {\n name: 'completedAt',\n title: `${I18N}.fields.finished-at.title`,\n groupId: 'execution',\n schema: {\n dataType: 'datetime',\n interface: { type: AXPWidgetsCatalog.dateTime, options: { format: 'datetime' } },\n readonly: true,\n },\n options: READONLY_FIELD,\n },\n {\n name: 'trayDismissedAt',\n title: `${I18N}.fields.tray-dismissed-at.title`,\n groupId: 'execution',\n schema: {\n dataType: 'datetime',\n visible: false,\n nullable: true,\n readonly: true,\n interface: { type: AXPWidgetsCatalog.dateTime, options: { format: 'datetime' } },\n },\n options: READONLY_LIST_FIELD,\n },\n {\n name: 'totalDurationMs',\n title: `${I18N}.fields.duration.title`,\n groupId: 'execution',\n schema: {\n dataType: 'number',\n readonly: true,\n interface: { type: DURATION_SHOW_AS.type, options: DURATION_SHOW_AS.options },\n },\n options: { ...READONLY_LIST_FIELD, sort: { enabled: true } },\n },\n {\n name: 'result',\n title: `${I18N}.fields.result.title`,\n groupId: 'data',\n schema: JSON_VIEWER,\n options: READONLY_LIST_FIELD,\n },\n ],\n columns: [\n { name: 'title', options: { width: '220px' } },\n { name: 'command', options: { width: '200px' } },\n { name: 'executedAt', options: { width: '170px' } },\n { name: 'completedAt', title: `${I18N}.fields.finished-at.title`, options: { width: '170px' } },\n {\n name: 'totalDurationMs',\n title: `${I18N}.fields.duration.title`,\n showAs: DURATION_SHOW_AS,\n options: { width: '120px' },\n },\n { name: 'progress', options: { width: '140px' } },\n { name: 'trigger', options: { width: '140px' } },\n {\n name: 'userId',\n title: `${I18N}.fields.source.title`,\n showAs: {\n type: BACKGROUND_JOB_SOURCE_COLUMN_WIDGET,\n },\n options: { width: '220px' },\n },\n {\n name: 'result',\n title: `${I18N}.fields.result-message.title`,\n showAs: { type: AXPWidgetsCatalog.text },\n options: { dataPath: 'result.message', width: '280px' },\n },\n ],\n interfaces: {\n master: {\n single: {\n title: '{{ title }}',\n sections: [\n { id: 'overview', order: 1, layout: { positions: { lg: { colSpan: 12 } } } },\n { id: 'execution', order: 2, layout: { positions: { lg: { colSpan: 12 } } } },\n { id: 'data', order: 3, layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n properties: [\n { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },\n {\n name: 'command',\n layout: {\n label: { visible: false },\n positions: { lg: { colSpan: 12 } },\n },\n },\n { name: 'trigger', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'userId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'progress', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'currentAttempt', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'maxAttempts', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'executedAt', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'completedAt', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'totalDurationMs', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'result', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [\n {\n title: '@general:actions.detail.title',\n icon: 'fa-light fa-eye',\n command: 'Entity:View',\n priority: 'primary',\n type: AXPSystemActionType.View,\n scope: AXPEntityCommandScope.Individual,\n default: true,\n },\n entityMasterBulkDeleteAction(),\n entityMasterDeleteAction(),\n {\n title: '@background-job-management:jobs.actions.cancel.title',\n name: 'cancel-background-job',\n command: {\n name: AXPBackgroundJobCommandKeys.JobCancel,\n options: { jobId: '{{ context.eval(\"id\") }}' },\n },\n icon: 'fa-light fa-ban',\n color: 'danger',\n priority: 'secondary',\n type: 'execute',\n scope: AXPEntityCommandScope.Individual,\n hidden:\n '{{ context.eval(\"status\") === \"completed\" || context.eval(\"status\") === \"failed\" || context.eval(\"status\") === \"cancelled\" || context.eval(\"status\") === \"dead-lettered\" }}',\n },\n {\n title: '@background-job-management:jobs.actions.retry.title',\n name: 'retry-background-job',\n command: {\n name: AXPBackgroundJobCommandKeys.JobRetry,\n options: { jobId: '{{ context.eval(\"id\") }}' },\n },\n icon: 'fa-light fa-rotate-right',\n color: 'primary',\n priority: 'secondary',\n type: 'execute',\n scope: AXPEntityCommandScope.Individual,\n hidden:\n '{{ context.eval(\"status\") === \"created\" || context.eval(\"status\") === \"scheduled\" || context.eval(\"status\") === \"running\" || context.eval(\"status\") === \"paused\" || context.eval(\"status\") === \"completed\" || context.eval(\"status\") === \"dead-lettered\" }}',\n },\n {\n title: '@background-job-management:jobs.actions.replay-dead-letter.title',\n name: 'replay-dead-letter-background-job',\n command: {\n name: AXPBackgroundJobCommandKeys.JobReplayDeadLetter,\n options: { jobId: '{{ context.eval(\"id\") }}' },\n },\n icon: 'fa-light fa-inbox-out',\n color: 'primary',\n priority: 'secondary',\n type: 'execute',\n scope: AXPEntityCommandScope.Individual,\n hidden: '{{ context.eval(\"status\") !== \"dead-lettered\" }}',\n },\n {\n title: '@background-job-management:jobs.actions.bulk-dismiss.title',\n name: 'bulk-dismiss-background-job',\n command: {\n name: 'Entity:Bulk',\n options: {\n command: AXPBackgroundJobCommandKeys.JobDismiss,\n entity: RootConfig.entities.backgroundJob.fullName,\n idField: 'jobId',\n confirm: {\n title: '@background-job-management:jobs.actions.bulk-dismiss.confirm.title',\n message: '@background-job-management:jobs.actions.bulk-dismiss.confirm.message',\n },\n },\n },\n icon: 'fa-light fa-eye-slash',\n color: 'secondary',\n priority: 'secondary',\n type: 'execute',\n scope: AXPEntityCommandScope.Selected,\n order: 20,\n },\n ],\n views: [\n createAllQueryView({ sorts: [{ name: 'executedAt', dir: 'desc' }] }),\n createQueryView(\n 'dead-lettered',\n '@background-job-management:jobs.menus.dead-lettered.title',\n true,\n {\n conditions: [\n {\n name: 'status',\n operator: { type: 'equal' },\n value: 'dead-lettered',\n visible: false,\n },\n ],\n sorts: [{ name: 'createdAt', dir: 'desc' }],\n },\n ),\n ],\n },\n },\n },\n };\n\n return entityDef;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './entity-entry.background-job';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ const config = {
2
+ i18n: 'background-job-management',
3
+ module: 'BackgroundJobManagement',
4
+ };
5
+ const RootConfig = {
6
+ config,
7
+ module: {
8
+ route: 'background-job-management',
9
+ name: config.module,
10
+ title: '@background-job-management:module.title',
11
+ icon: 'fa-light fa-gears',
12
+ },
13
+ entities: {
14
+ backgroundJob: {
15
+ name: 'BackgroundJob',
16
+ fullName: `${config.module}.BackgroundJob`,
17
+ title: '@background-job-management:jobs.entities.background-job.title',
18
+ titlePlural: '@background-job-management:jobs.entities.background-job.plural',
19
+ icon: 'fa-light fa-list-check',
20
+ },
21
+ backgroundJobAttempt: {
22
+ name: 'BackgroundJobAttempt',
23
+ fullName: `${config.module}.BackgroundJobAttempt`,
24
+ title: '@background-job-management:attempts.entities.background-job-attempt.title',
25
+ titlePlural: '@background-job-management:attempts.entities.background-job-attempt.plural',
26
+ icon: 'fa-light fa-rotate',
27
+ },
28
+ backgroundJobSchedule: {
29
+ name: 'BackgroundJobSchedule',
30
+ fullName: `${config.module}.BackgroundJobSchedule`,
31
+ title: '@background-job-management:schedules.entities.background-job-schedule.title',
32
+ titlePlural: '@background-job-management:schedules.entities.background-job-schedule.plural',
33
+ icon: 'fa-light fa-calendar-clock',
34
+ },
35
+ },
36
+ queries: {
37
+ dashboard: {
38
+ jobsByStatusBar: `${config.module}:Dashboard:JobsByStatusBar`,
39
+ jobSchedulesByStatusBar: `${config.module}:Dashboard:JobSchedulesByStatusBar`,
40
+ },
41
+ },
42
+ };
43
+
44
+ //#region ----- Imports -----
45
+ //#endregion
46
+ //#region ----- Local entity catalog -----
47
+ /**
48
+ * Lazy per-entity layout factories. Do not re-export from the contracts barrel
49
+ * so RootConfig imports stay light. Server seed and client `local-entities`
50
+ * consume this catalog explicitly.
51
+ */
52
+ const backgroundJobManagementLocalEntityCatalog = {
53
+ moduleName: RootConfig.module.name,
54
+ loaders: {
55
+ [RootConfig.entities.backgroundJob.name]: () => import('./acorex-platform-module-background-job-management-client-contracts-entity-catalog-background-job.entity-Bz33gUlR.mjs').then((m) => m.factoryBackgroundJob()),
56
+ [RootConfig.entities.backgroundJobAttempt.name]: () => import('./acorex-platform-module-background-job-management-client-contracts-entity-catalog-background-job-attempt.entity-di_KkFZV.mjs').then((m) => m.factoryBackgroundJobAttempt()),
57
+ [RootConfig.entities.backgroundJobSchedule.name]: () => import('./acorex-platform-module-background-job-management-client-contracts-entity-catalog-background-job-schedule.entity-q8VKiWJf.mjs').then((m) => m.factoryBackgroundJobSchedule()),
58
+ },
59
+ };
60
+ //#endregion
61
+
62
+ /**
63
+ * Generated bundle index. Do not edit.
64
+ */
65
+
66
+ export { RootConfig as R, backgroundJobManagementLocalEntityCatalog as b };
67
+ //# sourceMappingURL=acorex-platform-module-background-job-management-client-contracts-entity-catalog-acorex-platform-module-background-job-management-client-contracts-entity-catalog-BXFhpRfS.mjs.map