@docbrasil/api-systemmanager 1.1.1 → 1.1.4

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.
@@ -0,0 +1 @@
1
+ {}
@@ -1,6 +1,7 @@
1
1
  import _ from 'lodash';
2
2
  import Boom from '@hapi/boom';
3
3
  import Joi from 'joi';
4
+ import Page from './page.js';
4
5
 
5
6
  /**
6
7
  * Class for Applications, permission user
@@ -15,6 +16,7 @@ class Application {
15
16
  const self = this;
16
17
  self.parent = options.parent;
17
18
  self._client = self.parent.dispatch.getClient();
19
+ self.page = new Page(options);
18
20
  }
19
21
 
20
22
  /**
package/api/user/index.js CHANGED
@@ -11,7 +11,7 @@ import Notification from './notification.js';
11
11
  import Updates from './updates.js';
12
12
  import Help from './help.js';
13
13
  import Datasource from './datasource.js';
14
- import Application from './notification.js';
14
+ import Application from './application.js';
15
15
 
16
16
  /**
17
17
  * @class API request, user permission level
@@ -0,0 +1,95 @@
1
+ import _ from 'lodash';
2
+ import Boom from '@hapi/boom';
3
+ import Joi from 'joi';
4
+
5
+ /**
6
+ * Class for my tasks, permission user
7
+ * @class
8
+ */
9
+ class MyTasks {
10
+
11
+ constructor(options) {
12
+ Joi.assert(options, Joi.object().required());
13
+ Joi.assert(options.parent, Joi.object().required());
14
+
15
+ const self = this;
16
+ self.parent = options.parent;
17
+ self._client = self.parent.dispatch.getClient();
18
+ }
19
+
20
+ /**
21
+ * @author Augusto Pissarra <abernardo.br@gmail.com>
22
+ * @description Get the return data and check for errors
23
+ * @param {object} retData Response HTTP
24
+ * @return {*}
25
+ * @private
26
+ */
27
+ _returnData(retData, def = {}) {
28
+ if (retData.status !== 200) {
29
+ return Boom.badRequest(_.get(retData, 'message', 'No error message reported!'))
30
+ } else {
31
+ return _.get(retData, 'data', def);
32
+ }
33
+ }
34
+
35
+ /**
36
+ * @author CloudBrasil <abernardo.br@gmail.com>
37
+ * @description Set header with new session
38
+ * @param {string} session Session, token JWT
39
+ * @return {object} header with new session
40
+ * @private
41
+ */
42
+ _setHeader(session) {
43
+ return {
44
+ headers: {
45
+ authorization: session,
46
+ }
47
+ };
48
+ }
49
+
50
+ /**
51
+ * @author CloudBrasil <abernardo.br@gmail.com>
52
+ * @description Method to find my tasks for a user
53
+ * @param {object} params Params to get tasks
54
+ * @param {object} params.query Search my tasks query
55
+ * @param {object} params.orgId Organization id (_id database)
56
+ * @param {string} session Session, token JWT
57
+ * @returns {promise} returned data from the search
58
+ * @returns {number} count the count of items searched
59
+ * @returns {array<object>} items the items returned from search
60
+ * @returns {number} page the page of the search (on pagination), zero indexed
61
+ * @returns {number} perPage how many items per page
62
+ * @public
63
+ * @example
64
+ *
65
+ * const API = require('@docbrasil/api-systemmanager');
66
+ * const api = new API();
67
+ * const params = {
68
+ * query: {"s":[{"historyBegin":{"order":"desc"}}],"i":1,"p":20},
69
+ * orgId: '55e4a3bd6be6b45210833fae',
70
+ * };
71
+ * const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
72
+ * const retSearch = await api.user.task.mytasks.find(params, session);
73
+ */
74
+ async find(params, session) {
75
+ const self = this;
76
+
77
+ try {
78
+ Joi.assert(params, Joi.object().required(), 'Params to get my tasks');
79
+ Joi.assert(params.query, Joi.object().required(), 'The query for the search');
80
+ Joi.assert(params.orgId, Joi.string().required(), 'Organization id (_id database)');
81
+ Joi.assert(session, Joi.string().required(), 'Session token JWT');
82
+
83
+ const {query, orgId} = params;
84
+ const queryString = JSON.stringify(query);
85
+ const apiCall = self._client
86
+ .post(`/organizations/${orgId}/users/tasks/advsearch?query=${queryString}`, {}, self._setHeader(session));
87
+
88
+ return self._returnData(await apiCall);
89
+ } catch (ex) {
90
+ throw ex;
91
+ }
92
+ }
93
+ }
94
+
95
+ export default MyTasks;
package/api/user/task.js CHANGED
@@ -2,6 +2,7 @@ import _ from 'lodash';
2
2
  import Boom from '@hapi/boom';
3
3
  import Joi from 'joi';
4
4
  import TaskAvailable from './task_available.js';
5
+ import MyTasks from './my_tasks.js';
5
6
 
6
7
  /**
7
8
  * Class for task, permission user
@@ -17,6 +18,7 @@ class Task {
17
18
  self.parent = options.parent;
18
19
  self._client = self.parent.dispatch.getClient();
19
20
  self.available = new TaskAvailable(options);
21
+ self.mytasks = new MyTasks(options);
20
22
  }
21
23
 
22
24
  /**
package/dist/bundle.cjs CHANGED
@@ -2071,6 +2071,96 @@ class TaskAvailable {
2071
2071
  }
2072
2072
  }
2073
2073
 
2074
+ /**
2075
+ * Class for my tasks, permission user
2076
+ * @class
2077
+ */
2078
+ class MyTasks {
2079
+
2080
+ constructor(options) {
2081
+ Joi__default["default"].assert(options, Joi__default["default"].object().required());
2082
+ Joi__default["default"].assert(options.parent, Joi__default["default"].object().required());
2083
+
2084
+ const self = this;
2085
+ self.parent = options.parent;
2086
+ self._client = self.parent.dispatch.getClient();
2087
+ }
2088
+
2089
+ /**
2090
+ * @author Augusto Pissarra <abernardo.br@gmail.com>
2091
+ * @description Get the return data and check for errors
2092
+ * @param {object} retData Response HTTP
2093
+ * @return {*}
2094
+ * @private
2095
+ */
2096
+ _returnData(retData, def = {}) {
2097
+ if (retData.status !== 200) {
2098
+ return Boom__default["default"].badRequest(___default["default"].get(retData, 'message', 'No error message reported!'))
2099
+ } else {
2100
+ return ___default["default"].get(retData, 'data', def);
2101
+ }
2102
+ }
2103
+
2104
+ /**
2105
+ * @author CloudBrasil <abernardo.br@gmail.com>
2106
+ * @description Set header with new session
2107
+ * @param {string} session Session, token JWT
2108
+ * @return {object} header with new session
2109
+ * @private
2110
+ */
2111
+ _setHeader(session) {
2112
+ return {
2113
+ headers: {
2114
+ authorization: session,
2115
+ }
2116
+ };
2117
+ }
2118
+
2119
+ /**
2120
+ * @author CloudBrasil <abernardo.br@gmail.com>
2121
+ * @description Method to find my tasks for a user
2122
+ * @param {object} params Params to get tasks
2123
+ * @param {object} params.query Search my tasks query
2124
+ * @param {object} params.orgId Organization id (_id database)
2125
+ * @param {string} session Session, token JWT
2126
+ * @returns {promise} returned data from the search
2127
+ * @returns {number} count the count of items searched
2128
+ * @returns {array<object>} items the items returned from search
2129
+ * @returns {number} page the page of the search (on pagination), zero indexed
2130
+ * @returns {number} perPage how many items per page
2131
+ * @public
2132
+ * @example
2133
+ *
2134
+ * const API = require('@docbrasil/api-systemmanager');
2135
+ * const api = new API();
2136
+ * const params = {
2137
+ * query: {"s":[{"historyBegin":{"order":"desc"}}],"i":1,"p":20},
2138
+ * orgId: '55e4a3bd6be6b45210833fae',
2139
+ * };
2140
+ * const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
2141
+ * const retSearch = await api.user.task.mytasks.find(params, session);
2142
+ */
2143
+ async find(params, session) {
2144
+ const self = this;
2145
+
2146
+ try {
2147
+ Joi__default["default"].assert(params, Joi__default["default"].object().required(), 'Params to get my tasks');
2148
+ Joi__default["default"].assert(params.query, Joi__default["default"].object().required(), 'The query for the search');
2149
+ Joi__default["default"].assert(params.orgId, Joi__default["default"].string().required(), 'Organization id (_id database)');
2150
+ Joi__default["default"].assert(session, Joi__default["default"].string().required(), 'Session token JWT');
2151
+
2152
+ const {query, orgId} = params;
2153
+ const queryString = JSON.stringify(query);
2154
+ const apiCall = self._client
2155
+ .post(`/organizations/${orgId}/users/tasks/advsearch?query=${queryString}`, {}, self._setHeader(session));
2156
+
2157
+ return self._returnData(await apiCall);
2158
+ } catch (ex) {
2159
+ throw ex;
2160
+ }
2161
+ }
2162
+ }
2163
+
2074
2164
  /**
2075
2165
  * Class for task, permission user
2076
2166
  * @class
@@ -2085,6 +2175,7 @@ class Task {
2085
2175
  self.parent = options.parent;
2086
2176
  self._client = self.parent.dispatch.getClient();
2087
2177
  self.available = new TaskAvailable(options);
2178
+ self.mytasks = new MyTasks(options);
2088
2179
  }
2089
2180
 
2090
2181
  /**
@@ -10024,6 +10115,177 @@ class Datasource {
10024
10115
  }
10025
10116
  }
10026
10117
 
10118
+ /**
10119
+ * Class for Pages, permission user
10120
+ * @class
10121
+ */
10122
+ class Page {
10123
+
10124
+ constructor(options) {
10125
+ Joi__default["default"].assert(options, Joi__default["default"].object().required());
10126
+ Joi__default["default"].assert(options.parent, Joi__default["default"].object().required());
10127
+
10128
+ const self = this;
10129
+ self.parent = options.parent;
10130
+ self._client = self.parent.dispatch.getClient();
10131
+ }
10132
+
10133
+ /**
10134
+ * @author Augusto Pissarra <abernardo.br@gmail.com>
10135
+ * @description Get the return data and check for errors
10136
+ * @param {object} retData Response HTTP
10137
+ * @return {*}
10138
+ * @private
10139
+ */
10140
+ _returnData(retData, def = {}) {
10141
+ if (retData.status !== 200) {
10142
+ return Boom__default["default"].badRequest(___default["default"].get(retData, 'message', 'No error message reported!'))
10143
+ } else {
10144
+ return ___default["default"].get(retData, 'data', def);
10145
+ }
10146
+ }
10147
+
10148
+ /**
10149
+ * @author CloudBrasil <abernardo.br@gmail.com>
10150
+ * @description Set header with new session
10151
+ * @param {string} session Session, token JWT
10152
+ * @return {object} header with new session
10153
+ * @private
10154
+ */
10155
+ _setHeader(session) {
10156
+ return {
10157
+ headers: {
10158
+ authorization: session,
10159
+ }
10160
+ };
10161
+ }
10162
+
10163
+ /**
10164
+ * @author CloudBrasil <abernardo.br@gmail.com>
10165
+ * @description Get the available page for an application inside an organization
10166
+ * @param {object} params Params to get task
10167
+ * @param {object} params.orgId Organization id (_id database)
10168
+ * @param {object} params.appId application id (_id database)
10169
+ * @param {object} params.pageId page id (_id database)
10170
+ * @param {string} session Session, token JWT
10171
+ * @returns {promise}
10172
+ * @public
10173
+ * @example
10174
+ *
10175
+ * const API = require('@docbrasil/api-systemmanager');
10176
+ * const api = new API();
10177
+ * const params = {
10178
+ * orgId: '55e4a3bd6be6b45210833fae',
10179
+ * appId: '57e4a3bd6be6b45210833fa7',
10180
+ * pageId: '57e4a3bd6be6b45210833fab'
10181
+ * };
10182
+ * const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
10183
+ * await api.user.application.page.get(params, session);
10184
+ */
10185
+ async get(params, session) {
10186
+ const self = this;
10187
+
10188
+ try {
10189
+ Joi__default["default"].assert(params, Joi__default["default"].object().required(), 'Params to get task');
10190
+ Joi__default["default"].assert(params.orgId, Joi__default["default"].string().required(), 'Organization id (_id database)');
10191
+ Joi__default["default"].assert(params.appId, Joi__default["default"].string().required(), 'Organization id (_id database)');
10192
+ Joi__default["default"].assert(params.pageId, Joi__default["default"].string().required(), 'Organization id (_id database)');
10193
+ Joi__default["default"].assert(session, Joi__default["default"].string().required(), 'Session token JWT');
10194
+
10195
+ const { orgId, appId, pageId} = params;
10196
+ const apiCall = self._client
10197
+ .get(`/organizations/${orgId}/applications/${appId}/page/${pageId}`, self._setHeader(session));
10198
+
10199
+ return self._returnData(await apiCall);
10200
+ } catch (ex) {
10201
+ throw ex;
10202
+ }
10203
+ }
10204
+ }
10205
+
10206
+ /**
10207
+ * Class for Applications, permission user
10208
+ * @class
10209
+ */
10210
+ class Application {
10211
+
10212
+ constructor(options) {
10213
+ Joi__default["default"].assert(options, Joi__default["default"].object().required());
10214
+ Joi__default["default"].assert(options.parent, Joi__default["default"].object().required());
10215
+
10216
+ const self = this;
10217
+ self.parent = options.parent;
10218
+ self._client = self.parent.dispatch.getClient();
10219
+ self.page = new Page(options);
10220
+ }
10221
+
10222
+ /**
10223
+ * @author Augusto Pissarra <abernardo.br@gmail.com>
10224
+ * @description Get the return data and check for errors
10225
+ * @param {object} retData Response HTTP
10226
+ * @return {*}
10227
+ * @private
10228
+ */
10229
+ _returnData(retData, def = {}) {
10230
+ if (retData.status !== 200) {
10231
+ return Boom__default["default"].badRequest(___default["default"].get(retData, 'message', 'No error message reported!'))
10232
+ } else {
10233
+ return ___default["default"].get(retData, 'data', def);
10234
+ }
10235
+ }
10236
+
10237
+ /**
10238
+ * @author CloudBrasil <abernardo.br@gmail.com>
10239
+ * @description Set header with new session
10240
+ * @param {string} session Session, token JWT
10241
+ * @return {object} header with new session
10242
+ * @private
10243
+ */
10244
+ _setHeader(session) {
10245
+ return {
10246
+ headers: {
10247
+ authorization: session,
10248
+ }
10249
+ };
10250
+ }
10251
+
10252
+ /**
10253
+ * @author CloudBrasil <abernardo.br@gmail.com>
10254
+ * @description Get the available applications for this user in this organizations
10255
+ * @param {object} params Params to get task
10256
+ * @param {object} params.orgId Organization id (_id database)
10257
+ * @param {string} session Session, token JWT
10258
+ * @returns {promise}
10259
+ * @public
10260
+ * @example
10261
+ *
10262
+ * const API = require('@docbrasil/api-systemmanager');
10263
+ * const api = new API();
10264
+ * const params = {
10265
+ * orgId: '55e4a3bd6be6b45210833fae',
10266
+ * };
10267
+ * const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
10268
+ * await api.user.application.list(params, session);
10269
+ */
10270
+ async list(params, session) {
10271
+ const self = this;
10272
+
10273
+ try {
10274
+ Joi__default["default"].assert(params, Joi__default["default"].object().required(), 'Params to get task');
10275
+ Joi__default["default"].assert(params.orgId, Joi__default["default"].string().required(), 'Organization id (_id database)');
10276
+ Joi__default["default"].assert(session, Joi__default["default"].string().required(), 'Session token JWT');
10277
+
10278
+ const { orgId} = params;
10279
+ const apiCall = self._client
10280
+ .get(`/organizations/${orgId}/applications`, self._setHeader(session));
10281
+
10282
+ return self._returnData(await apiCall);
10283
+ } catch (ex) {
10284
+ throw ex;
10285
+ }
10286
+ }
10287
+ }
10288
+
10027
10289
  /**
10028
10290
  * @class API request, user permission level
10029
10291
  */
@@ -10049,7 +10311,7 @@ class Users {
10049
10311
  self.notification = new Notification(options);
10050
10312
  self.updates = new Updates(options);
10051
10313
  self.help = new Help(options);
10052
- self.application = new Notification(options);
10314
+ self.application = new Application(options);
10053
10315
  }
10054
10316
  }
10055
10317