@docbrasil/api-systemmanager 1.0.70 → 1.0.72

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/doc/api.md CHANGED
@@ -37,12 +37,21 @@
37
37
  <dt><a href="#AdminUser">AdminUser</a></dt>
38
38
  <dd><p>Admin Class for user, permission admin</p>
39
39
  </dd>
40
+ <dt><a href="#Dispatch">Dispatch</a></dt>
41
+ <dd><p>Api dispatch manager</p>
42
+ </dd>
40
43
  <dt><a href="#GeoLocation">GeoLocation</a></dt>
41
44
  <dd><p>General Class for user, permission organization</p>
42
45
  </dd>
43
46
  <dt><a href="#Users">Users</a></dt>
44
47
  <dd><p>API request, user permission level</p>
45
48
  </dd>
49
+ <dt><a href="#Login">Login</a></dt>
50
+ <dd><p>Login manager</p>
51
+ </dd>
52
+ <dt><a href="#Session">Session</a></dt>
53
+ <dd><p>Session manager of the API</p>
54
+ </dd>
46
55
  <dt><a href="#Documents">Documents</a></dt>
47
56
  <dd><p>Class for documents, permission user</p>
48
57
  </dd>
@@ -1124,6 +1133,52 @@ const payload = {
1124
1133
  };
1125
1134
  const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
1126
1135
  ```
1136
+ <a name="Dispatch"></a>
1137
+
1138
+ ## Dispatch
1139
+ Api dispatch manager
1140
+
1141
+ **Kind**: global class
1142
+
1143
+ * [Dispatch](#Dispatch)
1144
+ * [.getContext(url, session)](#Dispatch+getContext) ⇒ <code>Promise.&lt;object&gt;</code>
1145
+ * [.getClient()](#Dispatch+getClient) ⇒ <code>promise</code>
1146
+
1147
+ <a name="Dispatch+getContext"></a>
1148
+
1149
+ ### dispatch.getContext(url, session) ⇒ <code>Promise.&lt;object&gt;</code>
1150
+ Get the URL context
1151
+
1152
+ **Kind**: instance method of [<code>Dispatch</code>](#Dispatch)
1153
+ **Returns**: <code>Promise.&lt;object&gt;</code> - The full data context of the URL
1154
+ **Access**: public
1155
+
1156
+ | Param | Type | Default | Description |
1157
+ | --- | --- | --- | --- |
1158
+ | url | <code>string</code> | | Full url |
1159
+ | session | <code>session</code> | <code></code> | Session, token JWT |
1160
+
1161
+ **Example**
1162
+ ```js
1163
+ const API = require('@docbrasil/api-systemmanager');
1164
+ const api = new API();
1165
+ const retContext = await api.dispatch.getContext('http://myndware.io/login/myorg);
1166
+ ```
1167
+ <a name="Dispatch+getClient"></a>
1168
+
1169
+ ### dispatch.getClient() ⇒ <code>promise</code>
1170
+ Get client Axios
1171
+
1172
+ **Kind**: instance method of [<code>Dispatch</code>](#Dispatch)
1173
+ **Returns**: <code>promise</code> - return client axios
1174
+ **Access**: public
1175
+ **Author**: CloudBrasil <abernardo.br@gmail.com>
1176
+ **Example**
1177
+ ```js
1178
+ const API = require('@docbrasil/api-systemmanager');
1179
+ const api = new API();
1180
+ await api.dispatch.getClient();
1181
+ ```
1127
1182
  <a name="GeoLocation"></a>
1128
1183
 
1129
1184
  ## GeoLocation
@@ -1185,6 +1240,203 @@ API request, user permission level
1185
1240
  | options | <code>object</code> | Params of the constructor |
1186
1241
  | options.parent | <code>object</code> | This of the pararent |
1187
1242
 
1243
+ <a name="Login"></a>
1244
+
1245
+ ## Login
1246
+ Login manager
1247
+
1248
+ **Kind**: global class
1249
+
1250
+ * [Login](#Login)
1251
+ * [.facebook(params)](#Login+facebook) ⇒ <code>promise.&lt;object&gt;</code> \| <code>object</code> \| <code>object</code>
1252
+ * [.google(params)](#Login+google) ⇒ <code>promise.&lt;object&gt;</code> \| <code>object</code> \| <code>object</code>
1253
+ * [.apiKey(apikey)](#Login+apiKey) ⇒ <code>promise.&lt;object&gt;</code> \| <code>object</code> \| <code>object</code>
1254
+ * [.userPass(params)](#Login+userPass) ⇒ <code>promise.&lt;object&gt;</code> \| <code>object</code> \| <code>object</code>
1255
+ * [.logout(session)](#Login+logout) ⇒ <code>promise.&lt;object&gt;</code> \| <code>boolean</code>
1256
+ * [.recover(username)](#Login+recover) ⇒ <code>promise.&lt;object&gt;</code> \| <code>boolean</code>
1257
+
1258
+ <a name="Login+facebook"></a>
1259
+
1260
+ ### login.facebook(params) ⇒ <code>promise.&lt;object&gt;</code> \| <code>object</code> \| <code>object</code>
1261
+ Login with social login Facebook
1262
+
1263
+ **Kind**: instance method of [<code>Login</code>](#Login)
1264
+ **Returns**: <code>promise.&lt;object&gt;</code> - data<code>object</code> - data.auth true or false if we have the user authenticaited correctly<code>object</code> - data.user the logged user
1265
+ **Access**: public
1266
+ **Author**: CloudBrasil <abernardo.br@gmail.com>
1267
+
1268
+ | Param | Type | Description |
1269
+ | --- | --- | --- |
1270
+ | params | <code>object</code> | Params to login Facebook |
1271
+ | params.accessToken | <code>string</code> | Access token of the system manager |
1272
+ | params.initialUserData | <code>object</code> | Object with roles default if sigin |
1273
+ | params.initialUserData.externalRoles | <code>array</code> | Array with permission of user |
1274
+
1275
+ **Example**
1276
+ ```js
1277
+ const API = require('@docbrasil/api-systemmanager');
1278
+
1279
+ // Params of the instance
1280
+ const params = {...}
1281
+ const api = new API(params);
1282
+ const params = { accessToken: 'eyJhbGciOiJIUzI1NiIsInR5cC...' };
1283
+ const { auth, user } = await api.login.facebook(params);
1284
+ ```
1285
+ <a name="Login+google"></a>
1286
+
1287
+ ### login.google(params) ⇒ <code>promise.&lt;object&gt;</code> \| <code>object</code> \| <code>object</code>
1288
+ Login with social login Google
1289
+
1290
+ **Kind**: instance method of [<code>Login</code>](#Login)
1291
+ **Returns**: <code>promise.&lt;object&gt;</code> - data<code>object</code> - data.auth true or false if we have the user authenticaited correctly<code>object</code> - data.user the logged user
1292
+ **Access**: public
1293
+ **Author**: CloudBrasil <abernardo.br@gmail.com>
1294
+
1295
+ | Param | Type | Description |
1296
+ | --- | --- | --- |
1297
+ | params | <code>object</code> | Params to login Google |
1298
+ | params.accessToken | <code>string</code> | Access token of the system manager |
1299
+ | params.initialUserData | <code>object</code> | Object with roles default if sigin |
1300
+ | params.initialUserData.externalRoles | <code>array</code> | Array with permission of user |
1301
+
1302
+ **Example**
1303
+ ```js
1304
+ const API = require('@docbrasil/api-systemmanager');
1305
+
1306
+ // Params of the instance
1307
+ const params = {...}
1308
+ const api = new API(params);
1309
+ const accessToken = 'eyJhbGciOiJIUzI1NiIsInR5cC...';
1310
+ const { auth, user } = await api.login.google(accessToken);
1311
+ ```
1312
+ <a name="Login+apiKey"></a>
1313
+
1314
+ ### login.apiKey(apikey) ⇒ <code>promise.&lt;object&gt;</code> \| <code>object</code> \| <code>object</code>
1315
+ Login with apikey
1316
+
1317
+ **Kind**: instance method of [<code>Login</code>](#Login)
1318
+ **Returns**: <code>promise.&lt;object&gt;</code> - data<code>object</code> - data.auth true or false if we have the user authenticaited correctly<code>object</code> - data.user the logged user
1319
+ **Access**: public
1320
+ **Author**: CloudBrasil <abernardo.br@gmail.com>
1321
+
1322
+ | Param | Type | Description |
1323
+ | --- | --- | --- |
1324
+ | apikey | <code>string</code> | Access key |
1325
+
1326
+ **Example**
1327
+ ```js
1328
+ const API = require('@docbrasil/api-systemmanager');
1329
+
1330
+ // Params of the instance
1331
+ const params = {...}
1332
+ const api = new API(params);
1333
+ const apiKey = '043a0eb2-f5c3-4900-b781-7f229d00d092';
1334
+ const { auth, user } = await api.login.apiKey(apiKey);
1335
+ ```
1336
+ <a name="Login+userPass"></a>
1337
+
1338
+ ### login.userPass(params) ⇒ <code>promise.&lt;object&gt;</code> \| <code>object</code> \| <code>object</code>
1339
+ Login with user and password
1340
+
1341
+ **Kind**: instance method of [<code>Login</code>](#Login)
1342
+ **Returns**: <code>promise.&lt;object&gt;</code> - data<code>object</code> - data.auth true or false if we have the user authenticaited correctly<code>object</code> - data.user the logged user
1343
+ **Access**: public
1344
+ **Author**: CloudBrasil <abernardo.br@gmail.com>
1345
+
1346
+ | Param | Type | Description |
1347
+ | --- | --- | --- |
1348
+ | params | <code>object</code> | Object with user and password |
1349
+ | params.username | <code>string</code> | Username or email of the user |
1350
+ | params.password | <code>string</code> | Password of the user |
1351
+ | params.orgname | <code>string</code> | The organame of the user |
1352
+
1353
+ **Example**
1354
+ ```js
1355
+ const API = require('@docbrasil/api-systemmanager');
1356
+
1357
+ // Params of the instance
1358
+ const params = {...}
1359
+ const api = new API(params);
1360
+ const params = {
1361
+ username: 'ana.silva@gmail.com',
1362
+ password: '123456'
1363
+ };
1364
+ const { auth, user } = await api.login.userPass(params);
1365
+ ```
1366
+ <a name="Login+logout"></a>
1367
+
1368
+ ### login.logout(session) ⇒ <code>promise.&lt;object&gt;</code> \| <code>boolean</code>
1369
+ Logout user system manager
1370
+
1371
+ **Kind**: instance method of [<code>Login</code>](#Login)
1372
+ **Returns**: <code>promise.&lt;object&gt;</code> - } data<code>boolean</code> - data.success true|false
1373
+ **Access**: public
1374
+ **Author**: CloudBrasil <abernardo.br@gmail.com>
1375
+
1376
+ | Param | Type | Description |
1377
+ | --- | --- | --- |
1378
+ | session | <code>string</code> | Session, token JWT |
1379
+
1380
+ **Example**
1381
+ ```js
1382
+ const API = require('@docbrasil/api-systemmanager');
1383
+
1384
+ // Params of the instance
1385
+ const params = {...}
1386
+ const api = new API(params);
1387
+ const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
1388
+ const { success } = await api.login.logout(session);
1389
+ ```
1390
+ <a name="Login+recover"></a>
1391
+
1392
+ ### login.recover(username) ⇒ <code>promise.&lt;object&gt;</code> \| <code>boolean</code>
1393
+ Recover the password
1394
+
1395
+ **Kind**: instance method of [<code>Login</code>](#Login)
1396
+ **Returns**: <code>promise.&lt;object&gt;</code> - } data<code>boolean</code> - data.success true|false
1397
+ **Access**: public
1398
+ **Author**: CloudBrasil <abernardo.br@gmail.com>
1399
+
1400
+ | Param | Type | Description |
1401
+ | --- | --- | --- |
1402
+ | username | <code>string</code> | The username or email |
1403
+
1404
+ **Example**
1405
+ ```js
1406
+ const API = require('@docbrasil/api-systemmanager');
1407
+
1408
+ // Params of the instance
1409
+ const params = {...}
1410
+ const api = new API(params);
1411
+ const { success } = await api.login.recover('myusername');
1412
+ ```
1413
+ <a name="Session"></a>
1414
+
1415
+ ## Session
1416
+ Session manager of the API
1417
+
1418
+ **Kind**: global class
1419
+ <a name="Session+information"></a>
1420
+
1421
+ ### session.information(sessionId, suSessionId) ⇒ <code>Promise</code>
1422
+ Show information for session, thus validating the session (Valid token JWT)
1423
+
1424
+ **Kind**: instance method of [<code>Session</code>](#Session)
1425
+ **Access**: public
1426
+
1427
+ | Param | Type | Default | Description |
1428
+ | --- | --- | --- | --- |
1429
+ | sessionId | <code>string</code> | | The user session (JWT Token) |
1430
+ | suSessionId | <code>string</code> | <code>&quot;sessionId&quot;</code> | Given a JWT Token of a SU (SuperAdmin), allow to check session for another user. |
1431
+
1432
+ **Example**
1433
+ ```js
1434
+ const API = require('@docbrasil/api-systemmanager');
1435
+ const api = new API();
1436
+ const sessionId = 'eyJhbFVBBiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
1437
+ const suSessionId = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
1438
+ await api.session.information(sessionId, suSessionId);
1439
+ ```
1188
1440
  <a name="Documents"></a>
1189
1441
 
1190
1442
  ## Documents
@@ -1198,6 +1450,7 @@ Class for documents, permission user
1198
1450
  * [.findByIdAndRemove(params, session)](#Documents+findByIdAndRemove) ⇒ <code>Promise.&lt;object&gt;</code> \| <code>number</code> \| <code>array.&lt;object&gt;</code> \| <code>string</code> \| <code>string</code> \| <code>string</code>
1199
1451
  * [.findByIdsAndRemove(params, session)](#Documents+findByIdsAndRemove) ⇒ <code>Promise.&lt;object&gt;</code> \| <code>number</code> \| <code>array.&lt;object&gt;</code> \| <code>string</code> \| <code>string</code> \| <code>string</code>
1200
1452
  * [.signedUrl(params, session)](#Documents+signedUrl) ⇒ <code>Promise.&lt;object&gt;</code> \| <code>string</code> \| <code>string</code> \| <code>string</code> \| <code>string</code> \| <code>string</code>
1453
+ * [.signedUrls(params, session)](#Documents+signedUrls) ⇒ <code>Promise.&lt;object&gt;</code> \| <code>string</code> \| <code>string</code> \| <code>string</code> \| <code>string</code> \| <code>string</code>
1201
1454
  * [.uploadSignedDocument(params)](#Documents+uploadSignedDocument) ⇒ <code>Promise.&lt;boolean&gt;</code>
1202
1455
 
1203
1456
  <a name="Documents+add"></a>
@@ -1256,7 +1509,7 @@ const params = {
1256
1509
  orgId: '5df7f19618430c89a41a19d2',
1257
1510
  };
1258
1511
  const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
1259
- await api.user.document.findByIdAndRemove(params, session);
1512
+ await api.user.document.add(params, session);
1260
1513
  ```
1261
1514
  <a name="Documents+find"></a>
1262
1515
 
@@ -1386,9 +1639,11 @@ const params - {
1386
1639
  docAreaId: '5df7f19618430c89a41a19d2',
1387
1640
  fileName: 'Foto',
1388
1641
  type: 'image/png'
1642
+ orgId: '5df7f19618430c89a41a19f8'
1389
1643
  };
1390
1644
  const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
1391
- const { doc: { docId, name, areaId, type, signedUrl } } = await api.user.document.signedUrl(params, session);
1645
+ // each doc: { docId, name, areaId, type, signedUrl }
1646
+ const { docs } = await api.user.document.signedUrl(params, session);
1392
1647
  ```
1393
1648
  **Example**
1394
1649
  ```js
@@ -1401,6 +1656,62 @@ const params - {
1401
1656
  const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
1402
1657
  const base64Data = await api.user.document.signedUrl(params, session);
1403
1658
  ```
1659
+ <a name="Documents+signedUrls"></a>
1660
+
1661
+ ### documents.signedUrls(params, session) ⇒ <code>Promise.&lt;object&gt;</code> \| <code>string</code> \| <code>string</code> \| <code>string</code> \| <code>string</code> \| <code>string</code>
1662
+ Request signed url url to put or get
1663
+
1664
+ **Kind**: instance method of [<code>Documents</code>](#Documents)
1665
+ **Returns**: <code>Promise.&lt;object&gt;</code> - doc Returned document data with the signed url<code>string</code> - doc.docId Document id<code>string</code> - doc.name The name of the document, which is the fileName<code>string</code> - doc.areaId docAreaId of the document<code>string</code> - doc.type the document mimi type<code>string</code> - doc.signedUrl the signed URL to upload
1666
+ **Access**: public
1667
+ **Author**: CloudBrasil <abernardo.br@gmail.com>
1668
+
1669
+ | Param | Type | Description |
1670
+ | --- | --- | --- |
1671
+ | params | <code>object</code> | Params to request signed url |
1672
+ | params.docs | <code>array</code> | the list of documents to get the signed urls |
1673
+ | params.docs.docId | <code>string</code> | Document id |
1674
+ | params.docs.name | <code>string</code> | File name |
1675
+ | params.docs.areaId | <code>string</code> | docAreaId of the document |
1676
+ | params.docs.type | <code>string</code> | mimeType image/png image/jpg others |
1677
+ | params.docs.document | <code>string</code> | Name document to request if method type is get |
1678
+ | params.methodType | <code>string</code> | Method type HTTP get or put |
1679
+ | params.orgId | <code>string</code> | Organization id (_id database) |
1680
+ | session | <code>string</code> | Session, token JWT |
1681
+
1682
+ **Example**
1683
+ ```js
1684
+ const API = require('@docbrasil/api-systemmanager');
1685
+ const api = new API();
1686
+ const params - {
1687
+ methodType: 'put',
1688
+ orgId: '5df7f19618430c89a41a19f8'
1689
+ docs: [
1690
+ {
1691
+ docId: '5dadd01dc4af3941d42f8c5c',
1692
+ areaId: '5df7f19618430c89a41a19d2',
1693
+ name: 'Foto.png',
1694
+ type: 'image/png'
1695
+ }
1696
+ ]
1697
+ };
1698
+ const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
1699
+ // each doc: { docId, name, areaId, type, signedUrl }
1700
+ const { docs } = await api.user.document.signedUrls(params, session);
1701
+ ```
1702
+ **Example**
1703
+ ```js
1704
+ const API = require('@docbrasil/api-systemmanager');
1705
+ const api = new API();
1706
+ const params - {
1707
+ methodType: 'get',
1708
+ docs: [
1709
+ { document: 'pinkandthebrain/5df7f19618430c89a41a19d2/5dadd01dc4af3941d42f8c5c/9dadd01dc4af3941d42f6dd4.pdf' }
1710
+ ],
1711
+ };
1712
+ const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
1713
+ const base64Data = await api.user.document.signedUrls(params, session);
1714
+ ```
1404
1715
  <a name="Documents+uploadSignedDocument"></a>
1405
1716
 
1406
1717
  ### documents.uploadSignedDocument(params) ⇒ <code>Promise.&lt;boolean&gt;</code>
@@ -1416,6 +1727,7 @@ Uploads the file
1416
1727
  | params.content | <code>buffer</code> | The content of the file (Buffer) |
1417
1728
  | params.signedUrl | <code>string</code> | The signed URL |
1418
1729
  | params.type | <code>string</code> | The file mime type |
1730
+ | params.onUploadProgress | <code>string</code> | A callback for the upload progress. It will return a progressEvent. |
1419
1731
 
1420
1732
  **Example**
1421
1733
  ```js
@@ -1429,6 +1741,11 @@ const params - {
1429
1741
  type: 'application/pdf'
1430
1742
  };
1431
1743
  const retData = await api.user.document.uploadSignedDocument(params);
1744
+
1745
+ onUploadProgress return the progressEvent
1746
+ - lengthComputable: A Boolean that indicates whether or not the total number of bytes is known.
1747
+ - loaded: The number of bytes of the file that have been uploaded.
1748
+ - total: The total number of bytes in the file.
1432
1749
  ```
1433
1750
  <a name="Users"></a>
1434
1751
 
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.0.70",
4
+ "version": "1.0.72",
5
5
  "scripts": {
6
6
  "doc": "rm -f doc/api.md && jsdoc2md api/**/** > doc/api.md",
7
7
  "build": "node bundleRollup.js"