@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,539 @@
1
+ import { AXPWidgetsCatalog, AXPWidgetsList, AXPRegionalSetting, AXPSystemActionType } from '@acorex-platform/framework-shared/core';
2
+ import { AXPBackgroundJobCommandKeys, AXP_BACKGROUND_JOB_SCHEDULE_STATUS_DEFINITION_KEY } from '@acorex-platform/framework-shared/background-job';
3
+ import { createAllQueryView, AXPEntityCommandScope, entityMasterCrudActions, entityMasterRecordActions, entityDetailsSimpleCondition } from '@acorex-platform/framework-shared/entity';
4
+
5
+ const config = {
6
+ i18n: 'background-job-management',
7
+ module: 'BackgroundJobManagement',
8
+ };
9
+ const RootConfig = {
10
+ config,
11
+ module: {
12
+ route: 'background-job-management',
13
+ name: config.module,
14
+ title: '@background-job-management:module.title',
15
+ icon: 'fa-light fa-gears',
16
+ },
17
+ entities: {
18
+ backgroundJob: {
19
+ name: 'BackgroundJob',
20
+ fullName: `${config.module}.BackgroundJob`,
21
+ title: '@background-job-management:jobs.entities.background-job.title',
22
+ titlePlural: '@background-job-management:jobs.entities.background-job.plural',
23
+ icon: 'fa-light fa-list-check',
24
+ },
25
+ backgroundJobAttempt: {
26
+ name: 'BackgroundJobAttempt',
27
+ fullName: `${config.module}.BackgroundJobAttempt`,
28
+ title: '@background-job-management:attempts.entities.background-job-attempt.title',
29
+ titlePlural: '@background-job-management:attempts.entities.background-job-attempt.plural',
30
+ icon: 'fa-light fa-rotate',
31
+ },
32
+ backgroundJobSchedule: {
33
+ name: 'BackgroundJobSchedule',
34
+ fullName: `${config.module}.BackgroundJobSchedule`,
35
+ title: '@background-job-management:schedules.entities.background-job-schedule.title',
36
+ titlePlural: '@background-job-management:schedules.entities.background-job-schedule.plural',
37
+ icon: 'fa-light fa-calendar-clock',
38
+ },
39
+ },
40
+ queries: {
41
+ dashboard: {
42
+ jobsByStatusBar: `${config.module}:Dashboard:JobsByStatusBar`,
43
+ jobSchedulesByStatusBar: `${config.module}:Dashboard:JobSchedulesByStatusBar`,
44
+ },
45
+ },
46
+ };
47
+
48
+ const I18N = '@background-job-management:schedules.entities.background-job-schedule';
49
+ const CONCURRENCY_ITEMS = [
50
+ { name: 'skip-if-running', title: `${I18N}.options.concurrency.skip-if-running` },
51
+ { name: 'queue', title: `${I18N}.options.concurrency.queue` },
52
+ ];
53
+ const MISSED_RUN_ITEMS = [
54
+ { name: 'skip', title: `${I18N}.options.missed-run.skip` },
55
+ { name: 'catch-up-one', title: `${I18N}.options.missed-run.catch-up-one` },
56
+ ];
57
+ const SOURCE_ITEMS = [
58
+ { name: 'system', title: `${I18N}.options.source.system` },
59
+ { name: 'integration', title: `${I18N}.options.source.integration` },
60
+ { name: 'user', title: `${I18N}.options.source.user` },
61
+ ];
62
+ const VISIBILITY_ITEMS = [
63
+ { name: 'initiator', title: `${I18N}.options.visibility.initiator` },
64
+ { name: 'tenant-admin', title: `${I18N}.options.visibility.tenant-admin` },
65
+ { name: 'silent', title: `${I18N}.options.visibility.silent` },
66
+ ];
67
+ const FAILURE_ACTION_ITEMS = [
68
+ { name: 'pause', title: `${I18N}.options.failure-action.pause` },
69
+ { name: 'disable', title: `${I18N}.options.failure-action.disable` },
70
+ { name: 'alert-only', title: `${I18N}.options.failure-action.alert` },
71
+ ];
72
+ async function factoryBackgroundJobSchedule() {
73
+ const entityDef = {
74
+ module: RootConfig.module.name,
75
+ name: RootConfig.entities.backgroundJobSchedule.name,
76
+ title: RootConfig.entities.backgroundJobSchedule.title,
77
+ icon: RootConfig.entities.backgroundJobSchedule.icon,
78
+ plugins: [
79
+ { name: 'history' },
80
+ {
81
+ name: 'status',
82
+ options: {
83
+ field: 'status',
84
+ definition: AXP_BACKGROUND_JOB_SCHEDULE_STATUS_DEFINITION_KEY,
85
+ showInCreate: false,
86
+ generate: { views: { enabled: true } },
87
+ },
88
+ },
89
+ ],
90
+ formats: {
91
+ individual: RootConfig.entities.backgroundJobSchedule.title,
92
+ plural: RootConfig.entities.backgroundJobSchedule.titlePlural,
93
+ searchResult: {
94
+ title: '{{ title || command.key }}',
95
+ description: '{{ description || cron }}',
96
+ },
97
+ },
98
+ relatedEntities: [
99
+ {
100
+ entity: RootConfig.entities.backgroundJob.fullName,
101
+ title: `${I18N}.related-entities.jobs.title`,
102
+ icon: RootConfig.entities.backgroundJob.icon,
103
+ columns: [
104
+ 'title',
105
+ 'command',
106
+ 'executedAt',
107
+ 'completedAt',
108
+ 'totalDurationMs',
109
+ 'progress',
110
+ 'trigger',
111
+ 'result',
112
+ ],
113
+ conditions: [entityDetailsSimpleCondition('scheduleId')],
114
+ layout: { type: 'page-list', position: 'after', order: 1 },
115
+ actions: [
116
+ {
117
+ title: '@general:actions.view.title',
118
+ command: { name: 'Entity:View' },
119
+ priority: 'primary',
120
+ default: true,
121
+ type: AXPSystemActionType.View,
122
+ scope: AXPEntityCommandScope.Individual,
123
+ },
124
+ ],
125
+ },
126
+ ],
127
+ groups: [
128
+ { id: 'basicInfo', title: `${I18N}.groups.basic-info` },
129
+ { id: 'command', title: `${I18N}.groups.command` },
130
+ { id: 'recurrence', title: `${I18N}.groups.recurrence` },
131
+ { id: 'policies', title: `${I18N}.groups.policies` },
132
+ { id: 'runtime', title: `${I18N}.groups.runtime` },
133
+ ],
134
+ properties: [
135
+ {
136
+ name: 'id',
137
+ title: 'ID',
138
+ groupId: 'basicInfo',
139
+ schema: {
140
+ dataType: 'uuid',
141
+ visible: false,
142
+ nullable: false,
143
+ readonly: true,
144
+ unique: { enabled: true },
145
+ },
146
+ },
147
+ {
148
+ name: 'title',
149
+ title: `${I18N}.fields.title.title`,
150
+ groupId: 'basicInfo',
151
+ schema: {
152
+ dataType: 'string',
153
+ interface: { type: AXPWidgetsCatalog.text, options: { multiLanguage: true } },
154
+ },
155
+ options: { filter: { advance: { enabled: true }, inline: { enabled: false } }, sort: { enabled: true } },
156
+ validations: [{ rule: 'required' }],
157
+ },
158
+ {
159
+ name: 'description',
160
+ title: `${I18N}.fields.description.title`,
161
+ groupId: 'basicInfo',
162
+ schema: {
163
+ dataType: 'string',
164
+ interface: { type: AXPWidgetsCatalog.largeText, options: { rows: 3 } },
165
+ },
166
+ options: { filter: { advance: { enabled: true }, inline: { enabled: false } }, sort: { enabled: false } },
167
+ },
168
+ {
169
+ name: 'command',
170
+ title: `${I18N}.fields.command.title`,
171
+ groupId: 'command',
172
+ schema: {
173
+ dataType: 'object',
174
+ interface: {
175
+ type: AXPWidgetsList.Editors.ActivityCommandConfigurator,
176
+ options: {
177
+ loadStrategy: 'command-registry',
178
+ executionModeFilter: 'backend',
179
+ capabilitiesFilter: ['background-job'],
180
+ },
181
+ },
182
+ },
183
+ options: { filter: { advance: { enabled: false }, inline: { enabled: false } }, sort: { enabled: false } },
184
+ validations: [{ rule: 'required' }],
185
+ },
186
+ {
187
+ name: 'source',
188
+ title: `${I18N}.fields.source.title`,
189
+ groupId: 'basicInfo',
190
+ schema: {
191
+ dataType: 'string',
192
+ defaultValue: 'user',
193
+ readonly: true,
194
+ interface: {
195
+ type: AXPWidgetsCatalog.select,
196
+ options: {
197
+ readonly: true,
198
+ valueField: 'name',
199
+ textField: 'title',
200
+ multiple: false,
201
+ dataSource: SOURCE_ITEMS,
202
+ },
203
+ },
204
+ },
205
+ options: { filter: { advance: { enabled: true }, inline: { enabled: false } }, sort: { enabled: true } },
206
+ },
207
+ {
208
+ name: 'cron',
209
+ title: `${I18N}.fields.cron.title`,
210
+ groupId: 'recurrence',
211
+ schema: {
212
+ dataType: 'string',
213
+ interface: { type: AXPWidgetsCatalog.text },
214
+ },
215
+ options: { filter: { advance: { enabled: false }, inline: { enabled: false } }, sort: { enabled: false } },
216
+ validations: [{ rule: 'required' }],
217
+ },
218
+ {
219
+ name: 'timezone',
220
+ title: `${I18N}.fields.timezone.title`,
221
+ groupId: 'recurrence',
222
+ schema: {
223
+ dataType: 'string',
224
+ defaultValue: `{{ settings.get('${AXPRegionalSetting.TimeZone}') }}`,
225
+ interface: {
226
+ type: AXPWidgetsCatalog.lookup,
227
+ options: {
228
+ entity: 'LocaleManagement.Timezones',
229
+ look: 'select',
230
+ allowSearch: true,
231
+ valueField: 'code',
232
+ textField: 'title',
233
+ filter: {
234
+ logic: 'and',
235
+ filters: [{ field: 'isActive', operator: { type: 'equal' }, value: true }],
236
+ },
237
+ },
238
+ },
239
+ },
240
+ options: { filter: { advance: { enabled: true }, inline: { enabled: false } }, sort: { enabled: true } },
241
+ validations: [{ rule: 'required' }],
242
+ },
243
+ {
244
+ name: 'concurrencyPolicy',
245
+ title: `${I18N}.fields.concurrency-policy.title`,
246
+ groupId: 'policies',
247
+ schema: {
248
+ dataType: 'string',
249
+ defaultValue: 'skip-if-running',
250
+ interface: {
251
+ type: AXPWidgetsCatalog.select,
252
+ options: {
253
+ valueField: 'name',
254
+ textField: 'title',
255
+ multiple: false,
256
+ dataSource: CONCURRENCY_ITEMS,
257
+ },
258
+ },
259
+ },
260
+ options: { filter: { advance: { enabled: false }, inline: { enabled: false } }, sort: { enabled: false } },
261
+ },
262
+ {
263
+ name: 'missedRunPolicy',
264
+ title: `${I18N}.fields.missed-run-policy.title`,
265
+ groupId: 'policies',
266
+ schema: {
267
+ dataType: 'string',
268
+ defaultValue: 'skip',
269
+ interface: {
270
+ type: AXPWidgetsCatalog.select,
271
+ options: {
272
+ valueField: 'name',
273
+ textField: 'title',
274
+ multiple: false,
275
+ dataSource: MISSED_RUN_ITEMS,
276
+ },
277
+ },
278
+ },
279
+ options: { filter: { advance: { enabled: false }, inline: { enabled: false } }, sort: { enabled: false } },
280
+ },
281
+ {
282
+ name: 'defaultVisibility',
283
+ title: `${I18N}.fields.default-visibility.title`,
284
+ groupId: 'policies',
285
+ schema: {
286
+ dataType: 'string',
287
+ defaultValue: 'tenant-admin',
288
+ interface: {
289
+ type: AXPWidgetsCatalog.select,
290
+ options: {
291
+ valueField: 'name',
292
+ textField: 'title',
293
+ multiple: false,
294
+ dataSource: VISIBILITY_ITEMS,
295
+ },
296
+ },
297
+ },
298
+ options: { filter: { advance: { enabled: false }, inline: { enabled: false } }, sort: { enabled: false } },
299
+ },
300
+ {
301
+ name: 'failurePolicy.consecutiveFailureThreshold',
302
+ title: `${I18N}.fields.failure-threshold.title`,
303
+ groupId: 'policies',
304
+ schema: {
305
+ dataType: 'number',
306
+ defaultValue: 5,
307
+ interface: { type: AXPWidgetsCatalog.number, options: { minValue: 1 } },
308
+ },
309
+ options: { filter: { advance: { enabled: false }, inline: { enabled: false } }, sort: { enabled: false } },
310
+ validations: [{ rule: 'required' }],
311
+ },
312
+ {
313
+ name: 'failurePolicy.onThresholdExceeded',
314
+ title: `${I18N}.fields.failure-action.title`,
315
+ groupId: 'policies',
316
+ schema: {
317
+ dataType: 'string',
318
+ defaultValue: 'pause',
319
+ interface: {
320
+ type: AXPWidgetsCatalog.select,
321
+ options: {
322
+ valueField: 'name',
323
+ textField: 'title',
324
+ multiple: false,
325
+ dataSource: FAILURE_ACTION_ITEMS,
326
+ },
327
+ },
328
+ },
329
+ options: { filter: { advance: { enabled: false }, inline: { enabled: false } }, sort: { enabled: false } },
330
+ validations: [{ rule: 'required' }],
331
+ },
332
+ {
333
+ name: 'failurePolicy.resetAfterSuccess',
334
+ title: `${I18N}.fields.reset-failures-after-success.title`,
335
+ groupId: 'policies',
336
+ schema: {
337
+ dataType: 'boolean',
338
+ defaultValue: true,
339
+ interface: { type: AXPWidgetsCatalog.toggle },
340
+ },
341
+ options: { filter: { advance: { enabled: false }, inline: { enabled: false } }, sort: { enabled: false } },
342
+ },
343
+ {
344
+ name: 'nextRunAt',
345
+ title: `${I18N}.fields.next-run-at.title`,
346
+ groupId: 'runtime',
347
+ schema: {
348
+ dataType: 'datetime',
349
+ interface: { type: AXPWidgetsCatalog.dateTime, options: { format: 'datetime' } },
350
+ readonly: true,
351
+ },
352
+ options: { filter: { advance: { enabled: true }, inline: { enabled: false } }, sort: { enabled: true } },
353
+ },
354
+ {
355
+ name: 'lastTriggeredAt',
356
+ title: `${I18N}.fields.last-triggered-at.title`,
357
+ groupId: 'runtime',
358
+ schema: {
359
+ dataType: 'datetime',
360
+ interface: { type: AXPWidgetsCatalog.dateTime, options: { format: 'datetime' } },
361
+ readonly: true,
362
+ },
363
+ options: { filter: { advance: { enabled: true }, inline: { enabled: false } }, sort: { enabled: true } },
364
+ },
365
+ {
366
+ name: 'consecutiveFailures',
367
+ title: `${I18N}.fields.consecutive-failures.title`,
368
+ groupId: 'runtime',
369
+ schema: {
370
+ dataType: 'number',
371
+ interface: { type: AXPWidgetsCatalog.number },
372
+ readonly: true,
373
+ },
374
+ options: { filter: { advance: { enabled: false }, inline: { enabled: false } }, sort: { enabled: true } },
375
+ },
376
+ ],
377
+ columns: [
378
+ { name: 'title' },
379
+ { name: 'command' },
380
+ { name: 'cron' },
381
+ { name: 'lastTriggeredAt' },
382
+ { name: 'nextRunAt' },
383
+ { name: 'consecutiveFailures' },
384
+ ],
385
+ interfaces: {
386
+ master: {
387
+ create: {
388
+ sections: [
389
+ { id: 'basicInfo', order: 1, layout: { positions: { lg: { colSpan: 12 } } } },
390
+ { id: 'command', order: 2, layout: { positions: { lg: { colSpan: 12 } } } },
391
+ { id: 'recurrence', order: 3, layout: { positions: { lg: { colSpan: 12 } } } },
392
+ { id: 'policies', order: 4, layout: { positions: { lg: { colSpan: 12 } } } },
393
+ ],
394
+ properties: [
395
+ { name: 'title', layout: { positions: { lg: { colSpan: 12 } } } },
396
+ { name: 'description', layout: { positions: { lg: { colSpan: 12 } } } },
397
+ {
398
+ name: 'command',
399
+ layout: {
400
+ label: { visible: false },
401
+ positions: { lg: { colSpan: 12 } },
402
+ },
403
+ },
404
+ { name: 'cron', layout: { positions: { lg: { colSpan: 6 } } } },
405
+ { name: 'timezone', layout: { positions: { lg: { colSpan: 6 } } } },
406
+ { name: 'concurrencyPolicy', layout: { positions: { lg: { colSpan: 6 } } } },
407
+ { name: 'missedRunPolicy', layout: { positions: { lg: { colSpan: 6 } } } },
408
+ { name: 'defaultVisibility', layout: { positions: { lg: { colSpan: 6 } } } },
409
+ {
410
+ name: 'failurePolicy.consecutiveFailureThreshold',
411
+ layout: { positions: { lg: { colSpan: 4 } } },
412
+ },
413
+ { name: 'failurePolicy.onThresholdExceeded', layout: { positions: { lg: { colSpan: 4 } } } },
414
+ { name: 'failurePolicy.resetAfterSuccess', layout: { positions: { lg: { colSpan: 4 } } } },
415
+ ],
416
+ },
417
+ update: {
418
+ sections: [
419
+ { id: 'basicInfo', order: 1, layout: { positions: { lg: { colSpan: 12 } } } },
420
+ { id: 'command', order: 2, layout: { positions: { lg: { colSpan: 12 } } } },
421
+ { id: 'recurrence', order: 3, layout: { positions: { lg: { colSpan: 12 } } } },
422
+ { id: 'policies', order: 4, layout: { positions: { lg: { colSpan: 12 } } } },
423
+ ],
424
+ properties: [
425
+ { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },
426
+ { name: 'source', layout: { positions: { lg: { colSpan: 6 } } } },
427
+ { name: 'description', layout: { positions: { lg: { colSpan: 12 } } } },
428
+ {
429
+ name: 'command',
430
+ layout: {
431
+ label: { visible: false },
432
+ positions: { lg: { colSpan: 12 } },
433
+ },
434
+ },
435
+ { name: 'cron', layout: { positions: { lg: { colSpan: 6 } } } },
436
+ { name: 'timezone', layout: { positions: { lg: { colSpan: 6 } } } },
437
+ { name: 'concurrencyPolicy', layout: { positions: { lg: { colSpan: 6 } } } },
438
+ { name: 'missedRunPolicy', layout: { positions: { lg: { colSpan: 6 } } } },
439
+ { name: 'defaultVisibility', layout: { positions: { lg: { colSpan: 6 } } } },
440
+ {
441
+ name: 'failurePolicy.consecutiveFailureThreshold',
442
+ layout: { positions: { lg: { colSpan: 4 } } },
443
+ },
444
+ { name: 'failurePolicy.onThresholdExceeded', layout: { positions: { lg: { colSpan: 4 } } } },
445
+ { name: 'failurePolicy.resetAfterSuccess', layout: { positions: { lg: { colSpan: 4 } } } },
446
+ ],
447
+ },
448
+ single: {
449
+ title: '{{ title || command.key }}',
450
+ sections: [
451
+ { id: 'basicInfo', order: 1, layout: { positions: { lg: { colSpan: 12 } } } },
452
+ { id: 'command', order: 2, layout: { positions: { lg: { colSpan: 12 } } } },
453
+ { id: 'recurrence', order: 3, layout: { positions: { lg: { colSpan: 12 } } } },
454
+ { id: 'policies', order: 4, layout: { positions: { lg: { colSpan: 12 } } } },
455
+ { id: 'runtime', order: 5, layout: { positions: { lg: { colSpan: 12 } } } },
456
+ ],
457
+ properties: [
458
+ { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },
459
+ { name: 'source', layout: { positions: { lg: { colSpan: 6 } } } },
460
+ { name: 'description', layout: { positions: { lg: { colSpan: 12 } } } },
461
+ {
462
+ name: 'command',
463
+ layout: {
464
+ label: { visible: false },
465
+ positions: { lg: { colSpan: 12 } },
466
+ },
467
+ },
468
+ { name: 'cron', layout: { positions: { lg: { colSpan: 6 } } } },
469
+ { name: 'timezone', layout: { positions: { lg: { colSpan: 6 } } } },
470
+ { name: 'concurrencyPolicy', layout: { positions: { lg: { colSpan: 6 } } } },
471
+ { name: 'missedRunPolicy', layout: { positions: { lg: { colSpan: 6 } } } },
472
+ { name: 'defaultVisibility', layout: { positions: { lg: { colSpan: 6 } } } },
473
+ {
474
+ name: 'failurePolicy.consecutiveFailureThreshold',
475
+ layout: { positions: { lg: { colSpan: 4 } } },
476
+ },
477
+ { name: 'failurePolicy.onThresholdExceeded', layout: { positions: { lg: { colSpan: 4 } } } },
478
+ { name: 'failurePolicy.resetAfterSuccess', layout: { positions: { lg: { colSpan: 4 } } } },
479
+ { name: 'nextRunAt', layout: { positions: { lg: { colSpan: 4 } } } },
480
+ { name: 'lastTriggeredAt', layout: { positions: { lg: { colSpan: 4 } } } },
481
+ { name: 'consecutiveFailures', layout: { positions: { lg: { colSpan: 4 } } } },
482
+ ],
483
+ actions: [...entityMasterRecordActions()],
484
+ },
485
+ list: {
486
+ actions: [
487
+ ...entityMasterCrudActions(),
488
+ {
489
+ title: '@background-job-management:schedules.actions.run-now.title',
490
+ name: 'run-schedule-now',
491
+ command: {
492
+ name: AXPBackgroundJobCommandKeys.ScheduleRunNow,
493
+ options: {
494
+ scheduleId: '{{ context.eval("id") }}',
495
+ },
496
+ },
497
+ icon: 'fa-light fa-play',
498
+ color: 'success',
499
+ priority: 'secondary',
500
+ type: 'execute',
501
+ scope: AXPEntityCommandScope.Individual,
502
+ },
503
+ {
504
+ title: '@background-job-management:schedules.actions.bulk-run-now.title',
505
+ name: 'bulk-run-schedule-now',
506
+ command: {
507
+ name: 'Entity:Bulk',
508
+ options: {
509
+ command: AXPBackgroundJobCommandKeys.ScheduleRunNow,
510
+ entity: RootConfig.entities.backgroundJobSchedule.fullName,
511
+ idField: 'scheduleId',
512
+ confirm: {
513
+ title: '@background-job-management:schedules.actions.bulk-run-now.confirm.title',
514
+ message: '@background-job-management:schedules.actions.bulk-run-now.confirm.message',
515
+ },
516
+ },
517
+ },
518
+ icon: 'fa-light fa-play',
519
+ color: 'success',
520
+ priority: 'primary',
521
+ type: 'execute',
522
+ scope: AXPEntityCommandScope.Selected,
523
+ order: 10,
524
+ },
525
+ ],
526
+ views: [createAllQueryView({ sorts: [{ name: 'auditInfo.created.at', dir: 'desc' }] })],
527
+ },
528
+ },
529
+ },
530
+ };
531
+ return entityDef;
532
+ }
533
+
534
+ /**
535
+ * Generated bundle index. Do not edit.
536
+ */
537
+
538
+ export { factoryBackgroundJobSchedule };
539
+ //# sourceMappingURL=acorex-platform-module-background-job-management-client-contracts-entities-background-job-schedule.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-background-job-management-client-contracts-entities-background-job-schedule.mjs","sources":["../../../../libs/modules/background-job-management/contracts/src/root-config.ts","../../../../libs/modules/background-job-management/contracts/src/entities/background-job-schedule/background-job-schedule.entity.ts","../../../../libs/modules/background-job-management/contracts/src/acorex-platform-module-background-job-management-client-contracts-entities-background-job-schedule.ts"],"sourcesContent":["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 { AXPRegionalSetting, AXPSystemActionType, AXPWidgetsCatalog, AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport { AXPBackgroundJobCommandKeys, AXP_BACKGROUND_JOB_SCHEDULE_STATUS_DEFINITION_KEY } from '@acorex-platform/framework-shared/background-job';\nimport {\n AXPEntity,\n AXPEntityCommandScope,\n createAllQueryView,\n entityDetailsSimpleCondition,\n entityMasterCrudActions,\n entityMasterRecordActions,\n} from '@acorex-platform/framework-shared/entity';\nimport { RootConfig } from '../../root-config';\n\nconst I18N = '@background-job-management:schedules.entities.background-job-schedule';\n\nconst CONCURRENCY_ITEMS = [\n { name: 'skip-if-running', title: `${I18N}.options.concurrency.skip-if-running` },\n { name: 'queue', title: `${I18N}.options.concurrency.queue` },\n];\n\nconst MISSED_RUN_ITEMS = [\n { name: 'skip', title: `${I18N}.options.missed-run.skip` },\n { name: 'catch-up-one', title: `${I18N}.options.missed-run.catch-up-one` },\n];\n\nconst SOURCE_ITEMS = [\n { name: 'system', title: `${I18N}.options.source.system` },\n { name: 'integration', title: `${I18N}.options.source.integration` },\n { name: 'user', title: `${I18N}.options.source.user` },\n];\n\nconst VISIBILITY_ITEMS = [\n { name: 'initiator', title: `${I18N}.options.visibility.initiator` },\n { name: 'tenant-admin', title: `${I18N}.options.visibility.tenant-admin` },\n { name: 'silent', title: `${I18N}.options.visibility.silent` },\n];\n\nconst FAILURE_ACTION_ITEMS = [\n { name: 'pause', title: `${I18N}.options.failure-action.pause` },\n { name: 'disable', title: `${I18N}.options.failure-action.disable` },\n { name: 'alert-only', title: `${I18N}.options.failure-action.alert` },\n];\n\nexport async function factoryBackgroundJobSchedule(): Promise<AXPEntity | null> {\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.backgroundJobSchedule.name,\n title: RootConfig.entities.backgroundJobSchedule.title,\n icon: RootConfig.entities.backgroundJobSchedule.icon,\n plugins: [\n { name: 'history' },\n {\n name: 'status',\n options: {\n field: 'status',\n definition: AXP_BACKGROUND_JOB_SCHEDULE_STATUS_DEFINITION_KEY,\n showInCreate: false,\n generate: { views: { enabled: true } },\n },\n },\n ],\n formats: {\n individual: RootConfig.entities.backgroundJobSchedule.title,\n plural: RootConfig.entities.backgroundJobSchedule.titlePlural,\n searchResult: {\n title: '{{ title || command.key }}',\n description: '{{ description || cron }}',\n },\n },\n relatedEntities: [\n {\n entity: RootConfig.entities.backgroundJob.fullName,\n title: `${I18N}.related-entities.jobs.title`,\n icon: RootConfig.entities.backgroundJob.icon,\n columns: [\n 'title',\n 'command',\n 'executedAt',\n 'completedAt',\n 'totalDurationMs',\n 'progress',\n 'trigger',\n 'result',\n ],\n conditions: [entityDetailsSimpleCondition('scheduleId')],\n layout: { type: 'page-list', position: 'after', order: 1 },\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 groups: [\n { id: 'basicInfo', title: `${I18N}.groups.basic-info` },\n { id: 'command', title: `${I18N}.groups.command` },\n { id: 'recurrence', title: `${I18N}.groups.recurrence` },\n { id: 'policies', title: `${I18N}.groups.policies` },\n { id: 'runtime', title: `${I18N}.groups.runtime` },\n ],\n properties: [\n {\n name: 'id',\n title: 'ID',\n groupId: 'basicInfo',\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: 'basicInfo',\n schema: {\n dataType: 'string',\n interface: { type: AXPWidgetsCatalog.text, options: { multiLanguage: true } },\n },\n options: { filter: { advance: { enabled: true }, inline: { enabled: false } }, sort: { enabled: true } },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'description',\n title: `${I18N}.fields.description.title`,\n groupId: 'basicInfo',\n schema: {\n dataType: 'string',\n interface: { type: AXPWidgetsCatalog.largeText, options: { rows: 3 } },\n },\n options: { filter: { advance: { enabled: true }, inline: { enabled: false } }, sort: { enabled: false } },\n },\n {\n name: 'command',\n title: `${I18N}.fields.command.title`,\n groupId: 'command',\n schema: {\n dataType: 'object',\n interface: {\n type: AXPWidgetsList.Editors.ActivityCommandConfigurator,\n options: {\n loadStrategy: 'command-registry',\n executionModeFilter: 'backend',\n capabilitiesFilter: ['background-job'],\n },\n },\n },\n options: { filter: { advance: { enabled: false }, inline: { enabled: false } }, sort: { enabled: false } },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'source',\n title: `${I18N}.fields.source.title`,\n groupId: 'basicInfo',\n schema: {\n dataType: 'string',\n defaultValue: 'user',\n readonly: true,\n interface: {\n type: AXPWidgetsCatalog.select,\n options: {\n readonly: true,\n valueField: 'name',\n textField: 'title',\n multiple: false,\n dataSource: SOURCE_ITEMS,\n },\n },\n },\n options: { filter: { advance: { enabled: true }, inline: { enabled: false } }, sort: { enabled: true } },\n },\n {\n name: 'cron',\n title: `${I18N}.fields.cron.title`,\n groupId: 'recurrence',\n schema: {\n dataType: 'string',\n interface: { type: AXPWidgetsCatalog.text },\n },\n options: { filter: { advance: { enabled: false }, inline: { enabled: false } }, sort: { enabled: false } },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'timezone',\n title: `${I18N}.fields.timezone.title`,\n groupId: 'recurrence',\n schema: {\n dataType: 'string',\n defaultValue: `{{ settings.get('${AXPRegionalSetting.TimeZone}') }}`,\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: 'LocaleManagement.Timezones',\n look: 'select',\n allowSearch: true,\n valueField: 'code',\n textField: 'title',\n filter: {\n logic: 'and',\n filters: [{ field: 'isActive', operator: { type: 'equal' }, value: true }],\n },\n },\n },\n },\n options: { filter: { advance: { enabled: true }, inline: { enabled: false } }, sort: { enabled: true } },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'concurrencyPolicy',\n title: `${I18N}.fields.concurrency-policy.title`,\n groupId: 'policies',\n schema: {\n dataType: 'string',\n defaultValue: 'skip-if-running',\n interface: {\n type: AXPWidgetsCatalog.select,\n options: {\n valueField: 'name',\n textField: 'title',\n multiple: false,\n dataSource: CONCURRENCY_ITEMS,\n },\n },\n },\n options: { filter: { advance: { enabled: false }, inline: { enabled: false } }, sort: { enabled: false } },\n },\n {\n name: 'missedRunPolicy',\n title: `${I18N}.fields.missed-run-policy.title`,\n groupId: 'policies',\n schema: {\n dataType: 'string',\n defaultValue: 'skip',\n interface: {\n type: AXPWidgetsCatalog.select,\n options: {\n valueField: 'name',\n textField: 'title',\n multiple: false,\n dataSource: MISSED_RUN_ITEMS,\n },\n },\n },\n options: { filter: { advance: { enabled: false }, inline: { enabled: false } }, sort: { enabled: false } },\n },\n {\n name: 'defaultVisibility',\n title: `${I18N}.fields.default-visibility.title`,\n groupId: 'policies',\n schema: {\n dataType: 'string',\n defaultValue: 'tenant-admin',\n interface: {\n type: AXPWidgetsCatalog.select,\n options: {\n valueField: 'name',\n textField: 'title',\n multiple: false,\n dataSource: VISIBILITY_ITEMS,\n },\n },\n },\n options: { filter: { advance: { enabled: false }, inline: { enabled: false } }, sort: { enabled: false } },\n },\n {\n name: 'failurePolicy.consecutiveFailureThreshold',\n title: `${I18N}.fields.failure-threshold.title`,\n groupId: 'policies',\n schema: {\n dataType: 'number',\n defaultValue: 5,\n interface: { type: AXPWidgetsCatalog.number, options: { minValue: 1 } },\n },\n options: { filter: { advance: { enabled: false }, inline: { enabled: false } }, sort: { enabled: false } },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'failurePolicy.onThresholdExceeded',\n title: `${I18N}.fields.failure-action.title`,\n groupId: 'policies',\n schema: {\n dataType: 'string',\n defaultValue: 'pause',\n interface: {\n type: AXPWidgetsCatalog.select,\n options: {\n valueField: 'name',\n textField: 'title',\n multiple: false,\n dataSource: FAILURE_ACTION_ITEMS,\n },\n },\n },\n options: { filter: { advance: { enabled: false }, inline: { enabled: false } }, sort: { enabled: false } },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'failurePolicy.resetAfterSuccess',\n title: `${I18N}.fields.reset-failures-after-success.title`,\n groupId: 'policies',\n schema: {\n dataType: 'boolean',\n defaultValue: true,\n interface: { type: AXPWidgetsCatalog.toggle },\n },\n options: { filter: { advance: { enabled: false }, inline: { enabled: false } }, sort: { enabled: false } },\n },\n {\n name: 'nextRunAt',\n title: `${I18N}.fields.next-run-at.title`,\n groupId: 'runtime',\n schema: {\n dataType: 'datetime',\n interface: { type: AXPWidgetsCatalog.dateTime, options: { format: 'datetime' } },\n readonly: true,\n },\n options: { filter: { advance: { enabled: true }, inline: { enabled: false } }, sort: { enabled: true } },\n },\n {\n name: 'lastTriggeredAt',\n title: `${I18N}.fields.last-triggered-at.title`,\n groupId: 'runtime',\n schema: {\n dataType: 'datetime',\n interface: { type: AXPWidgetsCatalog.dateTime, options: { format: 'datetime' } },\n readonly: true,\n },\n options: { filter: { advance: { enabled: true }, inline: { enabled: false } }, sort: { enabled: true } },\n },\n {\n name: 'consecutiveFailures',\n title: `${I18N}.fields.consecutive-failures.title`,\n groupId: 'runtime',\n schema: {\n dataType: 'number',\n interface: { type: AXPWidgetsCatalog.number },\n readonly: true,\n },\n options: { filter: { advance: { enabled: false }, inline: { enabled: false } }, sort: { enabled: true } },\n },\n ],\n columns: [\n { name: 'title' },\n { name: 'command' },\n { name: 'cron' },\n { name: 'lastTriggeredAt' },\n { name: 'nextRunAt' },\n { name: 'consecutiveFailures' },\n ],\n interfaces: {\n master: {\n create: {\n sections: [\n { id: 'basicInfo', order: 1, layout: { positions: { lg: { colSpan: 12 } } } },\n { id: 'command', order: 2, layout: { positions: { lg: { colSpan: 12 } } } },\n { id: 'recurrence', order: 3, layout: { positions: { lg: { colSpan: 12 } } } },\n { id: 'policies', order: 4, layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n properties: [\n { name: 'title', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12 } } } },\n {\n name: 'command',\n layout: {\n label: { visible: false },\n positions: { lg: { colSpan: 12 } },\n },\n },\n { name: 'cron', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'timezone', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'concurrencyPolicy', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'missedRunPolicy', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'defaultVisibility', layout: { positions: { lg: { colSpan: 6 } } } },\n {\n name: 'failurePolicy.consecutiveFailureThreshold',\n layout: { positions: { lg: { colSpan: 4 } } },\n },\n { name: 'failurePolicy.onThresholdExceeded', layout: { positions: { lg: { colSpan: 4 } } } },\n { name: 'failurePolicy.resetAfterSuccess', layout: { positions: { lg: { colSpan: 4 } } } },\n ],\n },\n update: {\n sections: [\n { id: 'basicInfo', order: 1, layout: { positions: { lg: { colSpan: 12 } } } },\n { id: 'command', order: 2, layout: { positions: { lg: { colSpan: 12 } } } },\n { id: 'recurrence', order: 3, layout: { positions: { lg: { colSpan: 12 } } } },\n { id: 'policies', order: 4, layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n properties: [\n { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'source', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12 } } } },\n {\n name: 'command',\n layout: {\n label: { visible: false },\n positions: { lg: { colSpan: 12 } },\n },\n },\n { name: 'cron', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'timezone', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'concurrencyPolicy', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'missedRunPolicy', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'defaultVisibility', layout: { positions: { lg: { colSpan: 6 } } } },\n {\n name: 'failurePolicy.consecutiveFailureThreshold',\n layout: { positions: { lg: { colSpan: 4 } } },\n },\n { name: 'failurePolicy.onThresholdExceeded', layout: { positions: { lg: { colSpan: 4 } } } },\n { name: 'failurePolicy.resetAfterSuccess', layout: { positions: { lg: { colSpan: 4 } } } },\n ],\n },\n single: {\n title: '{{ title || command.key }}',\n sections: [\n { id: 'basicInfo', order: 1, layout: { positions: { lg: { colSpan: 12 } } } },\n { id: 'command', order: 2, layout: { positions: { lg: { colSpan: 12 } } } },\n { id: 'recurrence', order: 3, layout: { positions: { lg: { colSpan: 12 } } } },\n { id: 'policies', order: 4, layout: { positions: { lg: { colSpan: 12 } } } },\n { id: 'runtime', order: 5, layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n properties: [\n { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'source', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12 } } } },\n {\n name: 'command',\n layout: {\n label: { visible: false },\n positions: { lg: { colSpan: 12 } },\n },\n },\n { name: 'cron', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'timezone', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'concurrencyPolicy', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'missedRunPolicy', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'defaultVisibility', layout: { positions: { lg: { colSpan: 6 } } } },\n {\n name: 'failurePolicy.consecutiveFailureThreshold',\n layout: { positions: { lg: { colSpan: 4 } } },\n },\n { name: 'failurePolicy.onThresholdExceeded', layout: { positions: { lg: { colSpan: 4 } } } },\n { name: 'failurePolicy.resetAfterSuccess', layout: { positions: { lg: { colSpan: 4 } } } },\n { name: 'nextRunAt', layout: { positions: { lg: { colSpan: 4 } } } },\n { name: 'lastTriggeredAt', layout: { positions: { lg: { colSpan: 4 } } } },\n { name: 'consecutiveFailures', layout: { positions: { lg: { colSpan: 4 } } } },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [\n ...entityMasterCrudActions(),\n {\n title: '@background-job-management:schedules.actions.run-now.title',\n name: 'run-schedule-now',\n command: {\n name: AXPBackgroundJobCommandKeys.ScheduleRunNow,\n options: {\n scheduleId: '{{ context.eval(\"id\") }}',\n },\n },\n icon: 'fa-light fa-play',\n color: 'success',\n priority: 'secondary',\n type: 'execute',\n scope: AXPEntityCommandScope.Individual,\n },\n {\n title: '@background-job-management:schedules.actions.bulk-run-now.title',\n name: 'bulk-run-schedule-now',\n command: {\n name: 'Entity:Bulk',\n options: {\n command: AXPBackgroundJobCommandKeys.ScheduleRunNow,\n entity: RootConfig.entities.backgroundJobSchedule.fullName,\n idField: 'scheduleId',\n confirm: {\n title: '@background-job-management:schedules.actions.bulk-run-now.confirm.title',\n message: '@background-job-management:schedules.actions.bulk-run-now.confirm.message',\n },\n },\n },\n icon: 'fa-light fa-play',\n color: 'success',\n priority: 'primary',\n type: 'execute',\n scope: AXPEntityCommandScope.Selected,\n order: 10,\n },\n ],\n views: [createAllQueryView({ sorts: [{ name: 'auditInfo.created.at', dir: 'desc' }] })],\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-schedule';\n"],"names":[],"mappings":"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"}