@docbrasil/api-systemmanager 1.1.72 → 1.1.74
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.
- package/api/user/task.js +220 -0
- package/dist/bundle.cjs +220 -0
- package/dist/bundle.mjs +1 -1
- package/doc/api.md +108 -0
- package/docs/Task.html +1889 -409
- package/docs/user_task.js.html +220 -0
- package/package.json +1 -1
package/docs/user_task.js.html
CHANGED
|
@@ -323,6 +323,226 @@ class Task {
|
|
|
323
323
|
throw ex;
|
|
324
324
|
}
|
|
325
325
|
}
|
|
326
|
+
|
|
327
|
+
/**
|
|
328
|
+
* @author Myndware <augusto.pissarra@myndware.com>
|
|
329
|
+
* @description Save task progress without completing it
|
|
330
|
+
* @param {object} params - Params to save task
|
|
331
|
+
* @param {string} params.processId - Process id (_id database)
|
|
332
|
+
* @param {string} params.taskId - Task id (_id database)
|
|
333
|
+
* @param {string} params.flowName - Flow name
|
|
334
|
+
* @param {string} params.orgId - Organization id (_id database)
|
|
335
|
+
* @param {array} params.formData - Form data to save
|
|
336
|
+
* @param {array=} params.selectedDocs - Selected documents
|
|
337
|
+
* @param {array=} params.selectedAssignees - Selected assignees
|
|
338
|
+
* @param {array=} params.selectedBoxes - Selected boxes
|
|
339
|
+
* @param {object=} params.advFormData - Advanced form data
|
|
340
|
+
* @param {object=} params.advFormSchema - Advanced form schema
|
|
341
|
+
* @param {string=} params.status - Task status (empty string for save)
|
|
342
|
+
* @param {number=} params.order - Task order
|
|
343
|
+
* @param {string=} params.title - Task title
|
|
344
|
+
* @param {array=} params.tags - Task tags
|
|
345
|
+
* @param {string=} params.dueDate - Due date ISO string
|
|
346
|
+
* @param {string} session - Session, token JWT
|
|
347
|
+
* @return {Promise}
|
|
348
|
+
* @public
|
|
349
|
+
* @async
|
|
350
|
+
* @example
|
|
351
|
+
*
|
|
352
|
+
* const API = require('@docbrasil/api-systemmanager');
|
|
353
|
+
* const api = new API();
|
|
354
|
+
* const params = {
|
|
355
|
+
* processId: '5dadd01dc4af3941d42f8c5c',
|
|
356
|
+
* taskId: '5df7f19618430c89a41a19d2',
|
|
357
|
+
* flowName: 'simpleTask',
|
|
358
|
+
* orgId: '55e4a3bd6be6b45210833fae',
|
|
359
|
+
* formData: [{ name: 'Group', fields: [...] }],
|
|
360
|
+
* selectedDocs: [],
|
|
361
|
+
* selectedAssignees: [],
|
|
362
|
+
* selectedBoxes: [],
|
|
363
|
+
* advFormData: {},
|
|
364
|
+
* advFormSchema: {},
|
|
365
|
+
* status: '',
|
|
366
|
+
* order: 0,
|
|
367
|
+
* title: 'My Task',
|
|
368
|
+
* tags: [],
|
|
369
|
+
* dueDate: '2024-01-15T00:00:00Z'
|
|
370
|
+
* };
|
|
371
|
+
* const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
|
|
372
|
+
* await api.user.task.saveTask(params, session);
|
|
373
|
+
*/
|
|
374
|
+
async saveTask(params, session) {
|
|
375
|
+
const self = this;
|
|
376
|
+
|
|
377
|
+
try {
|
|
378
|
+
Joi.assert(params, Joi.object().required());
|
|
379
|
+
Joi.assert(params.processId, Joi.string().required(), 'Process id (_id database)');
|
|
380
|
+
Joi.assert(params.taskId, Joi.string().required(), 'Task id (_id database)');
|
|
381
|
+
Joi.assert(params.flowName, Joi.string().required(), 'Flow name');
|
|
382
|
+
Joi.assert(params.orgId, Joi.string().required(), 'Organization id (_id database)');
|
|
383
|
+
Joi.assert(params.formData, Joi.array().required(), 'Form data to save');
|
|
384
|
+
Joi.assert(params.selectedDocs, Joi.array(), 'Selected documents');
|
|
385
|
+
Joi.assert(params.selectedAssignees, Joi.array(), 'Selected assignees');
|
|
386
|
+
Joi.assert(params.selectedBoxes, Joi.array(), 'Selected boxes');
|
|
387
|
+
Joi.assert(params.advFormData, Joi.object(), 'Advanced form data');
|
|
388
|
+
Joi.assert(params.advFormSchema, Joi.object(), 'Advanced form schema');
|
|
389
|
+
Joi.assert(params.status, Joi.string().allow(''), 'Task status');
|
|
390
|
+
Joi.assert(params.order, Joi.number(), 'Task order');
|
|
391
|
+
Joi.assert(params.title, Joi.string().allow(''), 'Task title');
|
|
392
|
+
Joi.assert(params.tags, Joi.array(), 'Task tags');
|
|
393
|
+
Joi.assert(params.dueDate, Joi.string(), 'Due date ISO string');
|
|
394
|
+
Joi.assert(session, Joi.string().required(), 'Session token JWT');
|
|
395
|
+
|
|
396
|
+
const {
|
|
397
|
+
processId,
|
|
398
|
+
taskId,
|
|
399
|
+
flowName,
|
|
400
|
+
orgId,
|
|
401
|
+
formData,
|
|
402
|
+
selectedDocs = [],
|
|
403
|
+
selectedAssignees = [],
|
|
404
|
+
selectedBoxes = [],
|
|
405
|
+
advFormData = {},
|
|
406
|
+
advFormSchema = {},
|
|
407
|
+
status = '',
|
|
408
|
+
order = 0,
|
|
409
|
+
title = '',
|
|
410
|
+
tags = [],
|
|
411
|
+
dueDate
|
|
412
|
+
} = params;
|
|
413
|
+
|
|
414
|
+
const body = {
|
|
415
|
+
formData,
|
|
416
|
+
selectedDocs,
|
|
417
|
+
selectedAssignees,
|
|
418
|
+
selectedBoxes,
|
|
419
|
+
advFormData,
|
|
420
|
+
advFormSchema,
|
|
421
|
+
status,
|
|
422
|
+
order,
|
|
423
|
+
title,
|
|
424
|
+
tags
|
|
425
|
+
};
|
|
426
|
+
if (dueDate) body.dueDate = dueDate;
|
|
427
|
+
|
|
428
|
+
const url = `organizations/${orgId}/adhoc/${processId}/save/${taskId}/${flowName}`;
|
|
429
|
+
const apiCall = self._client.put(url, body, self._setHeader(session));
|
|
430
|
+
|
|
431
|
+
return self._returnData(await apiCall);
|
|
432
|
+
} catch (ex) {
|
|
433
|
+
throw ex;
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
/**
|
|
438
|
+
* @author Myndware <augusto.pissarra@myndware.com>
|
|
439
|
+
* @description End/complete a task and advance the workflow
|
|
440
|
+
* @param {object} params - Params to end task
|
|
441
|
+
* @param {string} params.processId - Process id (_id database)
|
|
442
|
+
* @param {string} params.taskId - Task id (_id database)
|
|
443
|
+
* @param {string} params.flowName - Flow name
|
|
444
|
+
* @param {string} params.orgId - Organization id (_id database)
|
|
445
|
+
* @param {array} params.formData - Form data to submit
|
|
446
|
+
* @param {array=} params.selectedDocs - Selected documents
|
|
447
|
+
* @param {array=} params.selectedAssignees - Selected assignees
|
|
448
|
+
* @param {array=} params.selectedBoxes - Selected boxes
|
|
449
|
+
* @param {object=} params.advFormData - Advanced form data
|
|
450
|
+
* @param {object=} params.advFormSchema - Advanced form schema
|
|
451
|
+
* @param {string=} params.status - Task status
|
|
452
|
+
* @param {number=} params.order - Task order
|
|
453
|
+
* @param {string=} params.title - Task title
|
|
454
|
+
* @param {array=} params.tags - Task tags
|
|
455
|
+
* @param {string=} params.dueDate - Due date ISO string
|
|
456
|
+
* @param {string} session - Session, token JWT
|
|
457
|
+
* @return {Promise}
|
|
458
|
+
* @public
|
|
459
|
+
* @async
|
|
460
|
+
* @example
|
|
461
|
+
*
|
|
462
|
+
* const API = require('@docbrasil/api-systemmanager');
|
|
463
|
+
* const api = new API();
|
|
464
|
+
* const params = {
|
|
465
|
+
* processId: '5dadd01dc4af3941d42f8c5c',
|
|
466
|
+
* taskId: '5df7f19618430c89a41a19d2',
|
|
467
|
+
* flowName: 'simpleTask',
|
|
468
|
+
* orgId: '55e4a3bd6be6b45210833fae',
|
|
469
|
+
* formData: [{ name: 'Group', fields: [...] }],
|
|
470
|
+
* selectedDocs: [],
|
|
471
|
+
* selectedAssignees: [],
|
|
472
|
+
* selectedBoxes: [],
|
|
473
|
+
* advFormData: {},
|
|
474
|
+
* advFormSchema: {},
|
|
475
|
+
* status: '',
|
|
476
|
+
* order: 0,
|
|
477
|
+
* title: 'My Task',
|
|
478
|
+
* tags: [],
|
|
479
|
+
* dueDate: '2024-01-15T00:00:00Z'
|
|
480
|
+
* };
|
|
481
|
+
* const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
|
|
482
|
+
* await api.user.task.endTask(params, session);
|
|
483
|
+
*/
|
|
484
|
+
async endTask(params, session) {
|
|
485
|
+
const self = this;
|
|
486
|
+
|
|
487
|
+
try {
|
|
488
|
+
Joi.assert(params, Joi.object().required());
|
|
489
|
+
Joi.assert(params.processId, Joi.string().required(), 'Process id (_id database)');
|
|
490
|
+
Joi.assert(params.taskId, Joi.string().required(), 'Task id (_id database)');
|
|
491
|
+
Joi.assert(params.flowName, Joi.string().required(), 'Flow name');
|
|
492
|
+
Joi.assert(params.orgId, Joi.string().required(), 'Organization id (_id database)');
|
|
493
|
+
Joi.assert(params.formData, Joi.array().required(), 'Form data to submit');
|
|
494
|
+
Joi.assert(params.selectedDocs, Joi.array(), 'Selected documents');
|
|
495
|
+
Joi.assert(params.selectedAssignees, Joi.array(), 'Selected assignees');
|
|
496
|
+
Joi.assert(params.selectedBoxes, Joi.array(), 'Selected boxes');
|
|
497
|
+
Joi.assert(params.advFormData, Joi.object(), 'Advanced form data');
|
|
498
|
+
Joi.assert(params.advFormSchema, Joi.object(), 'Advanced form schema');
|
|
499
|
+
Joi.assert(params.status, Joi.string().allow(''), 'Task status');
|
|
500
|
+
Joi.assert(params.order, Joi.number(), 'Task order');
|
|
501
|
+
Joi.assert(params.title, Joi.string().allow(''), 'Task title');
|
|
502
|
+
Joi.assert(params.tags, Joi.array(), 'Task tags');
|
|
503
|
+
Joi.assert(params.dueDate, Joi.string(), 'Due date ISO string');
|
|
504
|
+
Joi.assert(session, Joi.string().required(), 'Session token JWT');
|
|
505
|
+
|
|
506
|
+
const {
|
|
507
|
+
processId,
|
|
508
|
+
taskId,
|
|
509
|
+
flowName,
|
|
510
|
+
orgId,
|
|
511
|
+
formData,
|
|
512
|
+
selectedDocs = [],
|
|
513
|
+
selectedAssignees = [],
|
|
514
|
+
selectedBoxes = [],
|
|
515
|
+
advFormData = {},
|
|
516
|
+
advFormSchema = {},
|
|
517
|
+
status = '',
|
|
518
|
+
order = 0,
|
|
519
|
+
title = '',
|
|
520
|
+
tags = [],
|
|
521
|
+
dueDate
|
|
522
|
+
} = params;
|
|
523
|
+
|
|
524
|
+
const body = {
|
|
525
|
+
formData,
|
|
526
|
+
selectedDocs,
|
|
527
|
+
selectedAssignees,
|
|
528
|
+
selectedBoxes,
|
|
529
|
+
advFormData,
|
|
530
|
+
advFormSchema,
|
|
531
|
+
status,
|
|
532
|
+
order,
|
|
533
|
+
title,
|
|
534
|
+
tags
|
|
535
|
+
};
|
|
536
|
+
if (dueDate) body.dueDate = dueDate;
|
|
537
|
+
|
|
538
|
+
const url = `organizations/${orgId}/adhoc/${processId}/endprocess/${taskId}/${flowName}`;
|
|
539
|
+
const apiCall = self._client.put(url, body, self._setHeader(session));
|
|
540
|
+
|
|
541
|
+
return self._returnData(await apiCall);
|
|
542
|
+
} catch (ex) {
|
|
543
|
+
throw ex;
|
|
544
|
+
}
|
|
545
|
+
}
|
|
326
546
|
}
|
|
327
547
|
|
|
328
548
|
export default Task;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@docbrasil/api-systemmanager",
|
|
3
3
|
"description": "Module API System Manager",
|
|
4
|
-
"version": "1.1.
|
|
4
|
+
"version": "1.1.74",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"htmldoc": "rm -rf docs && jsdoc api/** -d docs -t ./node_modules/better-docs",
|
|
7
7
|
"doc": "rm -rf doc && mkdir doc && jsdoc2md api/**/* api/* > doc/api.md",
|