@docbrasil/api-systemmanager 1.1.12 → 1.1.14

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.
@@ -177,6 +177,209 @@ class MyTasks {
177
177
  throw ex;
178
178
  }
179
179
  }
180
+
181
+ /**
182
+ * @author CloudBrasil <abernardo.br@gmail.com>
183
+ * @description Update task dueDate
184
+ * @param {object} params The Date to save
185
+ * @param {string} params.dueDate DueDate
186
+ * @param {string} params.orgId Organization id
187
+ * @param {string} params.taskId Task Id
188
+ * @param {string} session Is token JWT of user
189
+ * @return {Promise}
190
+ * @public
191
+ * @async
192
+ * @example
193
+ *
194
+ * const API = require('@docbrasil/api-systemmanager');
195
+ * const api = new API();
196
+ * const params = {
197
+ * dueDate: '2011-10-05T14:48:00.000Z',
198
+ * orgId: '646386c9583e04a131adc894',
199
+ * taskId: '646386c9583e04a131adc895'
200
+ * };
201
+ * const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
202
+ * await api.user.task.mytasks.saveDueDate(params, session);
203
+ */
204
+ async saveDueDate(params, session) {
205
+ const self = this;
206
+
207
+ try {
208
+ Joi.assert(params, Joi.object().required());
209
+ Joi.assert(params.dueDate, Joi.string().required());
210
+ Joi.assert(params.orgId, Joi.string().required());
211
+ Joi.assert(params.taskId, Joi.string().required());
212
+ Joi.assert(session, Joi.string().required());
213
+
214
+ const {taskId, orgId} = params;
215
+
216
+ const apiCall = self._client.put(`/organizations/${orgId}/users/tasks/${taskId}/duedate`, params, self._setHeader(session));
217
+ return self._returnData(await apiCall);
218
+ } catch (ex) {
219
+ throw ex;
220
+ }
221
+ }
222
+
223
+ /**
224
+ * @author CloudBrasil <abernardo.br@gmail.com>
225
+ * @description Update task dueDate
226
+ * @param {string} data.orgId Organization id
227
+ * @param {string} data.taskId Task Id
228
+ * @param {string} session Is token JWT of user NOT allow SU
229
+ * @return {Promise}
230
+ * @public
231
+ * @async
232
+ * @example
233
+ *
234
+ * const API = require('@docbrasil/api-systemmanager');
235
+ * const api = new API();
236
+ * const params = {
237
+ * orgId: '646386c9583e04a131adc894',
238
+ * taskId: '646386c9583e04a131adc895'
239
+ * };
240
+ * const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
241
+ * await api.user.task.mytasks.removeDueDate(params, session);
242
+ */
243
+ async removeDueDate(params, session) {
244
+ const self = this;
245
+
246
+ try {
247
+ Joi.assert(params, Joi.object().required());
248
+ Joi.assert(params.orgId, Joi.string().required());
249
+ Joi.assert(params.taskId, Joi.string().required());
250
+ Joi.assert(session, Joi.string().required());
251
+
252
+ const {taskId, orgId} = params;
253
+
254
+ const apiCall = self._client.delete(`/organizations/${orgId}/users/tasks/${taskId}/duedate`, self._setHeader(session));
255
+ return self._returnData(await apiCall);
256
+ } catch (ex) {
257
+ throw ex;
258
+ }
259
+ }
260
+
261
+ /**
262
+ * @author CloudBrasil <abernardo.br@gmail.com>
263
+ * @description Method to get task multi users
264
+ * @param {object} params Params to get task
265
+ * @param {object} params.taskId Task id (_id database)
266
+ * @param {object} params.orgId Organization id (_id database)
267
+ * @param {string} session Session, token JWT
268
+ * @returns {promise}
269
+ * @public
270
+ * @example
271
+ *
272
+ * const API = require('@docbrasil/api-systemmanager');
273
+ * const api = new API();
274
+ * const params = {
275
+ * taskId: '5df7f19618430c89a41a19d2',
276
+ * orgId: '55e4a3bd6be6b45210833fae',
277
+ * };
278
+ * const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
279
+ * await api.user.task.mytasks.getTaskMultiUsers(params, session);
280
+ */
281
+ async getTaskMultiUsers(params, session) {
282
+ const self = this;
283
+
284
+ try {
285
+ Joi.assert(params, Joi.object().required(), 'Params to get task multi users');
286
+ Joi.assert(params.taskId, Joi.string().required(), ' Task id (_id database)');
287
+ Joi.assert(params.orgId, Joi.string().required(), 'Organization id (_id database)');
288
+ Joi.assert(session, Joi.string().required(), 'Session token JWT');
289
+
290
+ const {taskId, orgId} = params;
291
+ const apiCall = self._client
292
+ .get(`/organizations/${orgId}/users/tasks/${taskId}/multi/assign`, self._setHeader(session));
293
+
294
+ return self._returnData(await apiCall);
295
+ } catch (ex) {
296
+ throw ex;
297
+ }
298
+ }
299
+
300
+ /**
301
+ * @author CloudBrasil <abernardo.br@gmail.com>
302
+ * @description remove multi task user
303
+ * @param {object} params Params of the user to be removed
304
+ * @param {string} params.userId User id
305
+ * @param {string} params.orgId Organization id
306
+ * @param {string} params.taskId Task Id
307
+ * @param {string} session Is token JWT of user
308
+ * @return {Promise}
309
+ * @public
310
+ * @async
311
+ * @example
312
+ *
313
+ * const API = require('@docbrasil/api-systemmanager');
314
+ * const api = new API();
315
+ * const params = {
316
+ * userId: '646386c9583e04a131adc896',
317
+ * orgId: '646386c9583e04a131adc894',
318
+ * taskId: '646386c9583e04a131adc895'
319
+ * };
320
+ * const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
321
+ * await api.user.task.mytasks.removeMultiTaskUser(params, session);
322
+ */
323
+ async removeMultiTaskUser(params, session) {
324
+ const self = this;
325
+
326
+ try {
327
+ Joi.assert(params, Joi.object().required());
328
+ Joi.assert(params.userId, Joi.string().required());
329
+ Joi.assert(params.orgId, Joi.string().required());
330
+ Joi.assert(params.taskId, Joi.string().required());
331
+ Joi.assert(session, Joi.string().required());
332
+
333
+ const {taskId, orgId, userId} = params;
334
+
335
+ const apiCall = self._client.delete(`/organizations/${orgId}/tasks/${taskId}/users/${userId}`, self._setHeader(session));
336
+ return self._returnData(await apiCall);
337
+ } catch (ex) {
338
+ throw ex;
339
+ }
340
+ }
341
+
342
+ /**
343
+ * @author CloudBrasil <abernardo.br@gmail.com>
344
+ * @description Add Multi Task User
345
+ * @param {object} params Params for adding multi task user
346
+ * @param {string} params.userId User id
347
+ * @param {string} params.orgId Organization id
348
+ * @param {string} params.taskId Task Id
349
+ * @param {string} session Is token JWT of user
350
+ * @return {Promise}
351
+ * @public
352
+ * @async
353
+ * @example
354
+ *
355
+ * const API = require('@docbrasil/api-systemmanager');
356
+ * const api = new API();
357
+ * const params = {
358
+ * userId: '646386c9583e04a131adc8946',
359
+ * orgId: '646386c9583e04a131adc894',
360
+ * taskId: '646386c9583e04a131adc895'
361
+ * };
362
+ * const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
363
+ * await api.user.task.mytasks.addMultiTaskUser(params, session);
364
+ */
365
+ async addMultiTaskUser(params, session) {
366
+ const self = this;
367
+
368
+ try {
369
+ Joi.assert(params, Joi.object().required());
370
+ Joi.assert(params.userId, Joi.string().required());
371
+ Joi.assert(params.orgId, Joi.string().required());
372
+ Joi.assert(params.taskId, Joi.string().required());
373
+ Joi.assert(session, Joi.string().required());
374
+
375
+ const {taskId, orgId, userId} = params;
376
+
377
+ const apiCall = self._client.put(`/organizations/${orgId}/tasks/${taskId}/users`, { userIdToAdd: userId }, self._setHeader(session));
378
+ return self._returnData(await apiCall);
379
+ } catch (ex) {
380
+ throw ex;
381
+ }
382
+ }
180
383
  }
181
384
 
182
385
  export default MyTasks;
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.12",
4
+ "version": "1.1.14",
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",