@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.
- package/.vscode/settings.json +1 -0
- package/api/user/application.js +2 -0
- package/api/user/index.js +1 -1
- package/api/user/my_tasks.js +95 -0
- package/api/user/task.js +2 -0
- package/dist/bundle.cjs +263 -1
- package/dist/bundle.mjs +1 -1
- package/doc/api.md +540 -1233
- package/package.json +1 -1
- package/yarn-error.log +0 -4554
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|
package/api/user/application.js
CHANGED
|
@@ -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 './
|
|
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
|
|
10314
|
+
self.application = new Application(options);
|
|
10053
10315
|
}
|
|
10054
10316
|
}
|
|
10055
10317
|
|