@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/api/user/help.js
CHANGED
|
@@ -113,6 +113,43 @@ class Help {
|
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
115
|
|
|
116
|
+
/**
|
|
117
|
+
* @author Myndware <augusto.pissarra@myndware.com>
|
|
118
|
+
* @description Get list of external URL help pages available for the logged user.
|
|
119
|
+
* Returns help pages where the user has permission based on their groups or user ID.
|
|
120
|
+
* @param {string} session Session, token JWT
|
|
121
|
+
* @returns {promise<Array>} Array of external URL help pages with permissions
|
|
122
|
+
* @public
|
|
123
|
+
* @example
|
|
124
|
+
*
|
|
125
|
+
* const API = require('@docbrasil/api-systemmanager');
|
|
126
|
+
* const api = new API();
|
|
127
|
+
* const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
|
|
128
|
+
* const externalUrls = await api.user.help.listExternalUrls(session);
|
|
129
|
+
* // Returns:
|
|
130
|
+
* // [
|
|
131
|
+
* // {
|
|
132
|
+
* // _id: '...',
|
|
133
|
+
* // title: 'Help Page Title',
|
|
134
|
+
* // permissions: ['VIEW', 'CREATE_EXTERNAL_URL'],
|
|
135
|
+
* // showPoweredBy: true,
|
|
136
|
+
* // showCreatedBy: false
|
|
137
|
+
* // }
|
|
138
|
+
* // ]
|
|
139
|
+
*/
|
|
140
|
+
async listExternalUrls(session) {
|
|
141
|
+
const self = this;
|
|
142
|
+
|
|
143
|
+
try {
|
|
144
|
+
Joi.assert(session, Joi.string().required(), 'Session token JWT');
|
|
145
|
+
|
|
146
|
+
const apiCall = self._client.get('/help/external-urls', self._setHeader(session));
|
|
147
|
+
return self._returnData(await apiCall, []);
|
|
148
|
+
} catch (ex) {
|
|
149
|
+
throw ex;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
116
153
|
}
|
|
117
154
|
|
|
118
155
|
export default Help;
|
package/api/user/task.js
CHANGED
|
@@ -236,6 +236,226 @@ class Task {
|
|
|
236
236
|
throw ex;
|
|
237
237
|
}
|
|
238
238
|
}
|
|
239
|
+
|
|
240
|
+
/**
|
|
241
|
+
* @author Myndware <augusto.pissarra@myndware.com>
|
|
242
|
+
* @description Save task progress without completing it
|
|
243
|
+
* @param {object} params - Params to save task
|
|
244
|
+
* @param {string} params.processId - Process id (_id database)
|
|
245
|
+
* @param {string} params.taskId - Task id (_id database)
|
|
246
|
+
* @param {string} params.flowName - Flow name
|
|
247
|
+
* @param {string} params.orgId - Organization id (_id database)
|
|
248
|
+
* @param {array} params.formData - Form data to save
|
|
249
|
+
* @param {array=} params.selectedDocs - Selected documents
|
|
250
|
+
* @param {array=} params.selectedAssignees - Selected assignees
|
|
251
|
+
* @param {array=} params.selectedBoxes - Selected boxes
|
|
252
|
+
* @param {object=} params.advFormData - Advanced form data
|
|
253
|
+
* @param {object=} params.advFormSchema - Advanced form schema
|
|
254
|
+
* @param {string=} params.status - Task status (empty string for save)
|
|
255
|
+
* @param {number=} params.order - Task order
|
|
256
|
+
* @param {string=} params.title - Task title
|
|
257
|
+
* @param {array=} params.tags - Task tags
|
|
258
|
+
* @param {string=} params.dueDate - Due date ISO string
|
|
259
|
+
* @param {string} session - Session, token JWT
|
|
260
|
+
* @return {Promise}
|
|
261
|
+
* @public
|
|
262
|
+
* @async
|
|
263
|
+
* @example
|
|
264
|
+
*
|
|
265
|
+
* const API = require('@docbrasil/api-systemmanager');
|
|
266
|
+
* const api = new API();
|
|
267
|
+
* const params = {
|
|
268
|
+
* processId: '5dadd01dc4af3941d42f8c5c',
|
|
269
|
+
* taskId: '5df7f19618430c89a41a19d2',
|
|
270
|
+
* flowName: 'simpleTask',
|
|
271
|
+
* orgId: '55e4a3bd6be6b45210833fae',
|
|
272
|
+
* formData: [{ name: 'Group', fields: [...] }],
|
|
273
|
+
* selectedDocs: [],
|
|
274
|
+
* selectedAssignees: [],
|
|
275
|
+
* selectedBoxes: [],
|
|
276
|
+
* advFormData: {},
|
|
277
|
+
* advFormSchema: {},
|
|
278
|
+
* status: '',
|
|
279
|
+
* order: 0,
|
|
280
|
+
* title: 'My Task',
|
|
281
|
+
* tags: [],
|
|
282
|
+
* dueDate: '2024-01-15T00:00:00Z'
|
|
283
|
+
* };
|
|
284
|
+
* const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
|
|
285
|
+
* await api.user.task.saveTask(params, session);
|
|
286
|
+
*/
|
|
287
|
+
async saveTask(params, session) {
|
|
288
|
+
const self = this;
|
|
289
|
+
|
|
290
|
+
try {
|
|
291
|
+
Joi.assert(params, Joi.object().required());
|
|
292
|
+
Joi.assert(params.processId, Joi.string().required(), 'Process id (_id database)');
|
|
293
|
+
Joi.assert(params.taskId, Joi.string().required(), 'Task id (_id database)');
|
|
294
|
+
Joi.assert(params.flowName, Joi.string().required(), 'Flow name');
|
|
295
|
+
Joi.assert(params.orgId, Joi.string().required(), 'Organization id (_id database)');
|
|
296
|
+
Joi.assert(params.formData, Joi.array().required(), 'Form data to save');
|
|
297
|
+
Joi.assert(params.selectedDocs, Joi.array(), 'Selected documents');
|
|
298
|
+
Joi.assert(params.selectedAssignees, Joi.array(), 'Selected assignees');
|
|
299
|
+
Joi.assert(params.selectedBoxes, Joi.array(), 'Selected boxes');
|
|
300
|
+
Joi.assert(params.advFormData, Joi.object(), 'Advanced form data');
|
|
301
|
+
Joi.assert(params.advFormSchema, Joi.object(), 'Advanced form schema');
|
|
302
|
+
Joi.assert(params.status, Joi.string().allow(''), 'Task status');
|
|
303
|
+
Joi.assert(params.order, Joi.number(), 'Task order');
|
|
304
|
+
Joi.assert(params.title, Joi.string().allow(''), 'Task title');
|
|
305
|
+
Joi.assert(params.tags, Joi.array(), 'Task tags');
|
|
306
|
+
Joi.assert(params.dueDate, Joi.string(), 'Due date ISO string');
|
|
307
|
+
Joi.assert(session, Joi.string().required(), 'Session token JWT');
|
|
308
|
+
|
|
309
|
+
const {
|
|
310
|
+
processId,
|
|
311
|
+
taskId,
|
|
312
|
+
flowName,
|
|
313
|
+
orgId,
|
|
314
|
+
formData,
|
|
315
|
+
selectedDocs = [],
|
|
316
|
+
selectedAssignees = [],
|
|
317
|
+
selectedBoxes = [],
|
|
318
|
+
advFormData = {},
|
|
319
|
+
advFormSchema = {},
|
|
320
|
+
status = '',
|
|
321
|
+
order = 0,
|
|
322
|
+
title = '',
|
|
323
|
+
tags = [],
|
|
324
|
+
dueDate
|
|
325
|
+
} = params;
|
|
326
|
+
|
|
327
|
+
const body = {
|
|
328
|
+
formData,
|
|
329
|
+
selectedDocs,
|
|
330
|
+
selectedAssignees,
|
|
331
|
+
selectedBoxes,
|
|
332
|
+
advFormData,
|
|
333
|
+
advFormSchema,
|
|
334
|
+
status,
|
|
335
|
+
order,
|
|
336
|
+
title,
|
|
337
|
+
tags
|
|
338
|
+
};
|
|
339
|
+
if (dueDate) body.dueDate = dueDate;
|
|
340
|
+
|
|
341
|
+
const url = `organizations/${orgId}/adhoc/${processId}/save/${taskId}/${flowName}`;
|
|
342
|
+
const apiCall = self._client.put(url, body, self._setHeader(session));
|
|
343
|
+
|
|
344
|
+
return self._returnData(await apiCall);
|
|
345
|
+
} catch (ex) {
|
|
346
|
+
throw ex;
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
/**
|
|
351
|
+
* @author Myndware <augusto.pissarra@myndware.com>
|
|
352
|
+
* @description End/complete a task and advance the workflow
|
|
353
|
+
* @param {object} params - Params to end task
|
|
354
|
+
* @param {string} params.processId - Process id (_id database)
|
|
355
|
+
* @param {string} params.taskId - Task id (_id database)
|
|
356
|
+
* @param {string} params.flowName - Flow name
|
|
357
|
+
* @param {string} params.orgId - Organization id (_id database)
|
|
358
|
+
* @param {array} params.formData - Form data to submit
|
|
359
|
+
* @param {array=} params.selectedDocs - Selected documents
|
|
360
|
+
* @param {array=} params.selectedAssignees - Selected assignees
|
|
361
|
+
* @param {array=} params.selectedBoxes - Selected boxes
|
|
362
|
+
* @param {object=} params.advFormData - Advanced form data
|
|
363
|
+
* @param {object=} params.advFormSchema - Advanced form schema
|
|
364
|
+
* @param {string=} params.status - Task status
|
|
365
|
+
* @param {number=} params.order - Task order
|
|
366
|
+
* @param {string=} params.title - Task title
|
|
367
|
+
* @param {array=} params.tags - Task tags
|
|
368
|
+
* @param {string=} params.dueDate - Due date ISO string
|
|
369
|
+
* @param {string} session - Session, token JWT
|
|
370
|
+
* @return {Promise}
|
|
371
|
+
* @public
|
|
372
|
+
* @async
|
|
373
|
+
* @example
|
|
374
|
+
*
|
|
375
|
+
* const API = require('@docbrasil/api-systemmanager');
|
|
376
|
+
* const api = new API();
|
|
377
|
+
* const params = {
|
|
378
|
+
* processId: '5dadd01dc4af3941d42f8c5c',
|
|
379
|
+
* taskId: '5df7f19618430c89a41a19d2',
|
|
380
|
+
* flowName: 'simpleTask',
|
|
381
|
+
* orgId: '55e4a3bd6be6b45210833fae',
|
|
382
|
+
* formData: [{ name: 'Group', fields: [...] }],
|
|
383
|
+
* selectedDocs: [],
|
|
384
|
+
* selectedAssignees: [],
|
|
385
|
+
* selectedBoxes: [],
|
|
386
|
+
* advFormData: {},
|
|
387
|
+
* advFormSchema: {},
|
|
388
|
+
* status: '',
|
|
389
|
+
* order: 0,
|
|
390
|
+
* title: 'My Task',
|
|
391
|
+
* tags: [],
|
|
392
|
+
* dueDate: '2024-01-15T00:00:00Z'
|
|
393
|
+
* };
|
|
394
|
+
* const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
|
|
395
|
+
* await api.user.task.endTask(params, session);
|
|
396
|
+
*/
|
|
397
|
+
async endTask(params, session) {
|
|
398
|
+
const self = this;
|
|
399
|
+
|
|
400
|
+
try {
|
|
401
|
+
Joi.assert(params, Joi.object().required());
|
|
402
|
+
Joi.assert(params.processId, Joi.string().required(), 'Process id (_id database)');
|
|
403
|
+
Joi.assert(params.taskId, Joi.string().required(), 'Task id (_id database)');
|
|
404
|
+
Joi.assert(params.flowName, Joi.string().required(), 'Flow name');
|
|
405
|
+
Joi.assert(params.orgId, Joi.string().required(), 'Organization id (_id database)');
|
|
406
|
+
Joi.assert(params.formData, Joi.array().required(), 'Form data to submit');
|
|
407
|
+
Joi.assert(params.selectedDocs, Joi.array(), 'Selected documents');
|
|
408
|
+
Joi.assert(params.selectedAssignees, Joi.array(), 'Selected assignees');
|
|
409
|
+
Joi.assert(params.selectedBoxes, Joi.array(), 'Selected boxes');
|
|
410
|
+
Joi.assert(params.advFormData, Joi.object(), 'Advanced form data');
|
|
411
|
+
Joi.assert(params.advFormSchema, Joi.object(), 'Advanced form schema');
|
|
412
|
+
Joi.assert(params.status, Joi.string().allow(''), 'Task status');
|
|
413
|
+
Joi.assert(params.order, Joi.number(), 'Task order');
|
|
414
|
+
Joi.assert(params.title, Joi.string().allow(''), 'Task title');
|
|
415
|
+
Joi.assert(params.tags, Joi.array(), 'Task tags');
|
|
416
|
+
Joi.assert(params.dueDate, Joi.string(), 'Due date ISO string');
|
|
417
|
+
Joi.assert(session, Joi.string().required(), 'Session token JWT');
|
|
418
|
+
|
|
419
|
+
const {
|
|
420
|
+
processId,
|
|
421
|
+
taskId,
|
|
422
|
+
flowName,
|
|
423
|
+
orgId,
|
|
424
|
+
formData,
|
|
425
|
+
selectedDocs = [],
|
|
426
|
+
selectedAssignees = [],
|
|
427
|
+
selectedBoxes = [],
|
|
428
|
+
advFormData = {},
|
|
429
|
+
advFormSchema = {},
|
|
430
|
+
status = '',
|
|
431
|
+
order = 0,
|
|
432
|
+
title = '',
|
|
433
|
+
tags = [],
|
|
434
|
+
dueDate
|
|
435
|
+
} = params;
|
|
436
|
+
|
|
437
|
+
const body = {
|
|
438
|
+
formData,
|
|
439
|
+
selectedDocs,
|
|
440
|
+
selectedAssignees,
|
|
441
|
+
selectedBoxes,
|
|
442
|
+
advFormData,
|
|
443
|
+
advFormSchema,
|
|
444
|
+
status,
|
|
445
|
+
order,
|
|
446
|
+
title,
|
|
447
|
+
tags
|
|
448
|
+
};
|
|
449
|
+
if (dueDate) body.dueDate = dueDate;
|
|
450
|
+
|
|
451
|
+
const url = `organizations/${orgId}/adhoc/${processId}/endprocess/${taskId}/${flowName}`;
|
|
452
|
+
const apiCall = self._client.put(url, body, self._setHeader(session));
|
|
453
|
+
|
|
454
|
+
return self._returnData(await apiCall);
|
|
455
|
+
} catch (ex) {
|
|
456
|
+
throw ex;
|
|
457
|
+
}
|
|
458
|
+
}
|
|
239
459
|
}
|
|
240
460
|
|
|
241
461
|
export default Task;
|
package/dist/bundle.cjs
CHANGED
|
@@ -3436,6 +3436,226 @@ class Task {
|
|
|
3436
3436
|
throw ex;
|
|
3437
3437
|
}
|
|
3438
3438
|
}
|
|
3439
|
+
|
|
3440
|
+
/**
|
|
3441
|
+
* @author Myndware <augusto.pissarra@myndware.com>
|
|
3442
|
+
* @description Save task progress without completing it
|
|
3443
|
+
* @param {object} params - Params to save task
|
|
3444
|
+
* @param {string} params.processId - Process id (_id database)
|
|
3445
|
+
* @param {string} params.taskId - Task id (_id database)
|
|
3446
|
+
* @param {string} params.flowName - Flow name
|
|
3447
|
+
* @param {string} params.orgId - Organization id (_id database)
|
|
3448
|
+
* @param {array} params.formData - Form data to save
|
|
3449
|
+
* @param {array=} params.selectedDocs - Selected documents
|
|
3450
|
+
* @param {array=} params.selectedAssignees - Selected assignees
|
|
3451
|
+
* @param {array=} params.selectedBoxes - Selected boxes
|
|
3452
|
+
* @param {object=} params.advFormData - Advanced form data
|
|
3453
|
+
* @param {object=} params.advFormSchema - Advanced form schema
|
|
3454
|
+
* @param {string=} params.status - Task status (empty string for save)
|
|
3455
|
+
* @param {number=} params.order - Task order
|
|
3456
|
+
* @param {string=} params.title - Task title
|
|
3457
|
+
* @param {array=} params.tags - Task tags
|
|
3458
|
+
* @param {string=} params.dueDate - Due date ISO string
|
|
3459
|
+
* @param {string} session - Session, token JWT
|
|
3460
|
+
* @return {Promise}
|
|
3461
|
+
* @public
|
|
3462
|
+
* @async
|
|
3463
|
+
* @example
|
|
3464
|
+
*
|
|
3465
|
+
* const API = require('@docbrasil/api-systemmanager');
|
|
3466
|
+
* const api = new API();
|
|
3467
|
+
* const params = {
|
|
3468
|
+
* processId: '5dadd01dc4af3941d42f8c5c',
|
|
3469
|
+
* taskId: '5df7f19618430c89a41a19d2',
|
|
3470
|
+
* flowName: 'simpleTask',
|
|
3471
|
+
* orgId: '55e4a3bd6be6b45210833fae',
|
|
3472
|
+
* formData: [{ name: 'Group', fields: [...] }],
|
|
3473
|
+
* selectedDocs: [],
|
|
3474
|
+
* selectedAssignees: [],
|
|
3475
|
+
* selectedBoxes: [],
|
|
3476
|
+
* advFormData: {},
|
|
3477
|
+
* advFormSchema: {},
|
|
3478
|
+
* status: '',
|
|
3479
|
+
* order: 0,
|
|
3480
|
+
* title: 'My Task',
|
|
3481
|
+
* tags: [],
|
|
3482
|
+
* dueDate: '2024-01-15T00:00:00Z'
|
|
3483
|
+
* };
|
|
3484
|
+
* const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
|
|
3485
|
+
* await api.user.task.saveTask(params, session);
|
|
3486
|
+
*/
|
|
3487
|
+
async saveTask(params, session) {
|
|
3488
|
+
const self = this;
|
|
3489
|
+
|
|
3490
|
+
try {
|
|
3491
|
+
Joi__default["default"].assert(params, Joi__default["default"].object().required());
|
|
3492
|
+
Joi__default["default"].assert(params.processId, Joi__default["default"].string().required(), 'Process id (_id database)');
|
|
3493
|
+
Joi__default["default"].assert(params.taskId, Joi__default["default"].string().required(), 'Task id (_id database)');
|
|
3494
|
+
Joi__default["default"].assert(params.flowName, Joi__default["default"].string().required(), 'Flow name');
|
|
3495
|
+
Joi__default["default"].assert(params.orgId, Joi__default["default"].string().required(), 'Organization id (_id database)');
|
|
3496
|
+
Joi__default["default"].assert(params.formData, Joi__default["default"].array().required(), 'Form data to save');
|
|
3497
|
+
Joi__default["default"].assert(params.selectedDocs, Joi__default["default"].array(), 'Selected documents');
|
|
3498
|
+
Joi__default["default"].assert(params.selectedAssignees, Joi__default["default"].array(), 'Selected assignees');
|
|
3499
|
+
Joi__default["default"].assert(params.selectedBoxes, Joi__default["default"].array(), 'Selected boxes');
|
|
3500
|
+
Joi__default["default"].assert(params.advFormData, Joi__default["default"].object(), 'Advanced form data');
|
|
3501
|
+
Joi__default["default"].assert(params.advFormSchema, Joi__default["default"].object(), 'Advanced form schema');
|
|
3502
|
+
Joi__default["default"].assert(params.status, Joi__default["default"].string().allow(''), 'Task status');
|
|
3503
|
+
Joi__default["default"].assert(params.order, Joi__default["default"].number(), 'Task order');
|
|
3504
|
+
Joi__default["default"].assert(params.title, Joi__default["default"].string().allow(''), 'Task title');
|
|
3505
|
+
Joi__default["default"].assert(params.tags, Joi__default["default"].array(), 'Task tags');
|
|
3506
|
+
Joi__default["default"].assert(params.dueDate, Joi__default["default"].string(), 'Due date ISO string');
|
|
3507
|
+
Joi__default["default"].assert(session, Joi__default["default"].string().required(), 'Session token JWT');
|
|
3508
|
+
|
|
3509
|
+
const {
|
|
3510
|
+
processId,
|
|
3511
|
+
taskId,
|
|
3512
|
+
flowName,
|
|
3513
|
+
orgId,
|
|
3514
|
+
formData,
|
|
3515
|
+
selectedDocs = [],
|
|
3516
|
+
selectedAssignees = [],
|
|
3517
|
+
selectedBoxes = [],
|
|
3518
|
+
advFormData = {},
|
|
3519
|
+
advFormSchema = {},
|
|
3520
|
+
status = '',
|
|
3521
|
+
order = 0,
|
|
3522
|
+
title = '',
|
|
3523
|
+
tags = [],
|
|
3524
|
+
dueDate
|
|
3525
|
+
} = params;
|
|
3526
|
+
|
|
3527
|
+
const body = {
|
|
3528
|
+
formData,
|
|
3529
|
+
selectedDocs,
|
|
3530
|
+
selectedAssignees,
|
|
3531
|
+
selectedBoxes,
|
|
3532
|
+
advFormData,
|
|
3533
|
+
advFormSchema,
|
|
3534
|
+
status,
|
|
3535
|
+
order,
|
|
3536
|
+
title,
|
|
3537
|
+
tags
|
|
3538
|
+
};
|
|
3539
|
+
if (dueDate) body.dueDate = dueDate;
|
|
3540
|
+
|
|
3541
|
+
const url = `organizations/${orgId}/adhoc/${processId}/save/${taskId}/${flowName}`;
|
|
3542
|
+
const apiCall = self._client.put(url, body, self._setHeader(session));
|
|
3543
|
+
|
|
3544
|
+
return self._returnData(await apiCall);
|
|
3545
|
+
} catch (ex) {
|
|
3546
|
+
throw ex;
|
|
3547
|
+
}
|
|
3548
|
+
}
|
|
3549
|
+
|
|
3550
|
+
/**
|
|
3551
|
+
* @author Myndware <augusto.pissarra@myndware.com>
|
|
3552
|
+
* @description End/complete a task and advance the workflow
|
|
3553
|
+
* @param {object} params - Params to end task
|
|
3554
|
+
* @param {string} params.processId - Process id (_id database)
|
|
3555
|
+
* @param {string} params.taskId - Task id (_id database)
|
|
3556
|
+
* @param {string} params.flowName - Flow name
|
|
3557
|
+
* @param {string} params.orgId - Organization id (_id database)
|
|
3558
|
+
* @param {array} params.formData - Form data to submit
|
|
3559
|
+
* @param {array=} params.selectedDocs - Selected documents
|
|
3560
|
+
* @param {array=} params.selectedAssignees - Selected assignees
|
|
3561
|
+
* @param {array=} params.selectedBoxes - Selected boxes
|
|
3562
|
+
* @param {object=} params.advFormData - Advanced form data
|
|
3563
|
+
* @param {object=} params.advFormSchema - Advanced form schema
|
|
3564
|
+
* @param {string=} params.status - Task status
|
|
3565
|
+
* @param {number=} params.order - Task order
|
|
3566
|
+
* @param {string=} params.title - Task title
|
|
3567
|
+
* @param {array=} params.tags - Task tags
|
|
3568
|
+
* @param {string=} params.dueDate - Due date ISO string
|
|
3569
|
+
* @param {string} session - Session, token JWT
|
|
3570
|
+
* @return {Promise}
|
|
3571
|
+
* @public
|
|
3572
|
+
* @async
|
|
3573
|
+
* @example
|
|
3574
|
+
*
|
|
3575
|
+
* const API = require('@docbrasil/api-systemmanager');
|
|
3576
|
+
* const api = new API();
|
|
3577
|
+
* const params = {
|
|
3578
|
+
* processId: '5dadd01dc4af3941d42f8c5c',
|
|
3579
|
+
* taskId: '5df7f19618430c89a41a19d2',
|
|
3580
|
+
* flowName: 'simpleTask',
|
|
3581
|
+
* orgId: '55e4a3bd6be6b45210833fae',
|
|
3582
|
+
* formData: [{ name: 'Group', fields: [...] }],
|
|
3583
|
+
* selectedDocs: [],
|
|
3584
|
+
* selectedAssignees: [],
|
|
3585
|
+
* selectedBoxes: [],
|
|
3586
|
+
* advFormData: {},
|
|
3587
|
+
* advFormSchema: {},
|
|
3588
|
+
* status: '',
|
|
3589
|
+
* order: 0,
|
|
3590
|
+
* title: 'My Task',
|
|
3591
|
+
* tags: [],
|
|
3592
|
+
* dueDate: '2024-01-15T00:00:00Z'
|
|
3593
|
+
* };
|
|
3594
|
+
* const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
|
|
3595
|
+
* await api.user.task.endTask(params, session);
|
|
3596
|
+
*/
|
|
3597
|
+
async endTask(params, session) {
|
|
3598
|
+
const self = this;
|
|
3599
|
+
|
|
3600
|
+
try {
|
|
3601
|
+
Joi__default["default"].assert(params, Joi__default["default"].object().required());
|
|
3602
|
+
Joi__default["default"].assert(params.processId, Joi__default["default"].string().required(), 'Process id (_id database)');
|
|
3603
|
+
Joi__default["default"].assert(params.taskId, Joi__default["default"].string().required(), 'Task id (_id database)');
|
|
3604
|
+
Joi__default["default"].assert(params.flowName, Joi__default["default"].string().required(), 'Flow name');
|
|
3605
|
+
Joi__default["default"].assert(params.orgId, Joi__default["default"].string().required(), 'Organization id (_id database)');
|
|
3606
|
+
Joi__default["default"].assert(params.formData, Joi__default["default"].array().required(), 'Form data to submit');
|
|
3607
|
+
Joi__default["default"].assert(params.selectedDocs, Joi__default["default"].array(), 'Selected documents');
|
|
3608
|
+
Joi__default["default"].assert(params.selectedAssignees, Joi__default["default"].array(), 'Selected assignees');
|
|
3609
|
+
Joi__default["default"].assert(params.selectedBoxes, Joi__default["default"].array(), 'Selected boxes');
|
|
3610
|
+
Joi__default["default"].assert(params.advFormData, Joi__default["default"].object(), 'Advanced form data');
|
|
3611
|
+
Joi__default["default"].assert(params.advFormSchema, Joi__default["default"].object(), 'Advanced form schema');
|
|
3612
|
+
Joi__default["default"].assert(params.status, Joi__default["default"].string().allow(''), 'Task status');
|
|
3613
|
+
Joi__default["default"].assert(params.order, Joi__default["default"].number(), 'Task order');
|
|
3614
|
+
Joi__default["default"].assert(params.title, Joi__default["default"].string().allow(''), 'Task title');
|
|
3615
|
+
Joi__default["default"].assert(params.tags, Joi__default["default"].array(), 'Task tags');
|
|
3616
|
+
Joi__default["default"].assert(params.dueDate, Joi__default["default"].string(), 'Due date ISO string');
|
|
3617
|
+
Joi__default["default"].assert(session, Joi__default["default"].string().required(), 'Session token JWT');
|
|
3618
|
+
|
|
3619
|
+
const {
|
|
3620
|
+
processId,
|
|
3621
|
+
taskId,
|
|
3622
|
+
flowName,
|
|
3623
|
+
orgId,
|
|
3624
|
+
formData,
|
|
3625
|
+
selectedDocs = [],
|
|
3626
|
+
selectedAssignees = [],
|
|
3627
|
+
selectedBoxes = [],
|
|
3628
|
+
advFormData = {},
|
|
3629
|
+
advFormSchema = {},
|
|
3630
|
+
status = '',
|
|
3631
|
+
order = 0,
|
|
3632
|
+
title = '',
|
|
3633
|
+
tags = [],
|
|
3634
|
+
dueDate
|
|
3635
|
+
} = params;
|
|
3636
|
+
|
|
3637
|
+
const body = {
|
|
3638
|
+
formData,
|
|
3639
|
+
selectedDocs,
|
|
3640
|
+
selectedAssignees,
|
|
3641
|
+
selectedBoxes,
|
|
3642
|
+
advFormData,
|
|
3643
|
+
advFormSchema,
|
|
3644
|
+
status,
|
|
3645
|
+
order,
|
|
3646
|
+
title,
|
|
3647
|
+
tags
|
|
3648
|
+
};
|
|
3649
|
+
if (dueDate) body.dueDate = dueDate;
|
|
3650
|
+
|
|
3651
|
+
const url = `organizations/${orgId}/adhoc/${processId}/endprocess/${taskId}/${flowName}`;
|
|
3652
|
+
const apiCall = self._client.put(url, body, self._setHeader(session));
|
|
3653
|
+
|
|
3654
|
+
return self._returnData(await apiCall);
|
|
3655
|
+
} catch (ex) {
|
|
3656
|
+
throw ex;
|
|
3657
|
+
}
|
|
3658
|
+
}
|
|
3439
3659
|
}
|
|
3440
3660
|
|
|
3441
3661
|
/**
|
|
@@ -11224,6 +11444,43 @@ class Help {
|
|
|
11224
11444
|
}
|
|
11225
11445
|
}
|
|
11226
11446
|
|
|
11447
|
+
/**
|
|
11448
|
+
* @author Myndware <augusto.pissarra@myndware.com>
|
|
11449
|
+
* @description Get list of external URL help pages available for the logged user.
|
|
11450
|
+
* Returns help pages where the user has permission based on their groups or user ID.
|
|
11451
|
+
* @param {string} session Session, token JWT
|
|
11452
|
+
* @returns {promise<Array>} Array of external URL help pages with permissions
|
|
11453
|
+
* @public
|
|
11454
|
+
* @example
|
|
11455
|
+
*
|
|
11456
|
+
* const API = require('@docbrasil/api-systemmanager');
|
|
11457
|
+
* const api = new API();
|
|
11458
|
+
* const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
|
|
11459
|
+
* const externalUrls = await api.user.help.listExternalUrls(session);
|
|
11460
|
+
* // Returns:
|
|
11461
|
+
* // [
|
|
11462
|
+
* // {
|
|
11463
|
+
* // _id: '...',
|
|
11464
|
+
* // title: 'Help Page Title',
|
|
11465
|
+
* // permissions: ['VIEW', 'CREATE_EXTERNAL_URL'],
|
|
11466
|
+
* // showPoweredBy: true,
|
|
11467
|
+
* // showCreatedBy: false
|
|
11468
|
+
* // }
|
|
11469
|
+
* // ]
|
|
11470
|
+
*/
|
|
11471
|
+
async listExternalUrls(session) {
|
|
11472
|
+
const self = this;
|
|
11473
|
+
|
|
11474
|
+
try {
|
|
11475
|
+
Joi__default["default"].assert(session, Joi__default["default"].string().required(), 'Session token JWT');
|
|
11476
|
+
|
|
11477
|
+
const apiCall = self._client.get('/help/external-urls', self._setHeader(session));
|
|
11478
|
+
return self._returnData(await apiCall, []);
|
|
11479
|
+
} catch (ex) {
|
|
11480
|
+
throw ex;
|
|
11481
|
+
}
|
|
11482
|
+
}
|
|
11483
|
+
|
|
11227
11484
|
}
|
|
11228
11485
|
|
|
11229
11486
|
/**
|