@docbrasil/api-systemmanager 1.1.72 → 1.1.75
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/help.js +37 -0
- package/api/user/task.js +220 -0
- package/dist/bundle.cjs +257 -0
- package/dist/bundle.mjs +1 -1
- package/doc/api.md +141 -0
- package/docs/Help.html +205 -0
- package/docs/Task.html +1889 -409
- package/docs/user_help.js.html +37 -0
- package/docs/user_task.js.html +220 -0
- package/package.json +1 -1
package/docs/user_help.js.html
CHANGED
|
@@ -200,6 +200,43 @@ class Help {
|
|
|
200
200
|
}
|
|
201
201
|
}
|
|
202
202
|
|
|
203
|
+
/**
|
|
204
|
+
* @author Myndware <augusto.pissarra@myndware.com>
|
|
205
|
+
* @description Get list of external URL help pages available for the logged user.
|
|
206
|
+
* Returns help pages where the user has permission based on their groups or user ID.
|
|
207
|
+
* @param {string} session Session, token JWT
|
|
208
|
+
* @returns {promise<Array>} Array of external URL help pages with permissions
|
|
209
|
+
* @public
|
|
210
|
+
* @example
|
|
211
|
+
*
|
|
212
|
+
* const API = require('@docbrasil/api-systemmanager');
|
|
213
|
+
* const api = new API();
|
|
214
|
+
* const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
|
|
215
|
+
* const externalUrls = await api.user.help.listExternalUrls(session);
|
|
216
|
+
* // Returns:
|
|
217
|
+
* // [
|
|
218
|
+
* // {
|
|
219
|
+
* // _id: '...',
|
|
220
|
+
* // title: 'Help Page Title',
|
|
221
|
+
* // permissions: ['VIEW', 'CREATE_EXTERNAL_URL'],
|
|
222
|
+
* // showPoweredBy: true,
|
|
223
|
+
* // showCreatedBy: false
|
|
224
|
+
* // }
|
|
225
|
+
* // ]
|
|
226
|
+
*/
|
|
227
|
+
async listExternalUrls(session) {
|
|
228
|
+
const self = this;
|
|
229
|
+
|
|
230
|
+
try {
|
|
231
|
+
Joi.assert(session, Joi.string().required(), 'Session token JWT');
|
|
232
|
+
|
|
233
|
+
const apiCall = self._client.get('/help/external-urls', self._setHeader(session));
|
|
234
|
+
return self._returnData(await apiCall, []);
|
|
235
|
+
} catch (ex) {
|
|
236
|
+
throw ex;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
|
|
203
240
|
}
|
|
204
241
|
|
|
205
242
|
export default Help;
|
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.75",
|
|
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",
|