@docbrasil/api-systemmanager 1.1.0 → 1.1.1

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.
Files changed (73) hide show
  1. package/api/user/application.js +87 -0
  2. package/api/user/index.js +2 -0
  3. package/api/user/page.js +93 -0
  4. package/dist/bundle.cjs +1 -0
  5. package/dist/bundle.mjs +1 -1
  6. package/doc/api.md +95 -0
  7. package/docs/Admin.html +1 -1
  8. package/docs/AdminDocuments.html +1 -1
  9. package/docs/AdminForm.html +1 -1
  10. package/docs/AdminLists.html +1 -1
  11. package/docs/AdminMessage.html +1 -1
  12. package/docs/AdminNotification.html +1 -1
  13. package/docs/AdminPlugin.html +1 -1
  14. package/docs/AdminPolicy.html +1 -1
  15. package/docs/AdminProcesses.html +1 -1
  16. package/docs/AdminTask.html +1 -1
  17. package/docs/AdminUser.html +224 -6
  18. package/docs/Application.html +505 -0
  19. package/docs/Datasource.html +1 -1
  20. package/docs/Dispatch.html +1 -1
  21. package/docs/Documents.html +1 -1
  22. package/docs/External.html +1 -1
  23. package/docs/GeoLocation.html +1 -1
  24. package/docs/Help.html +674 -0
  25. package/docs/Login.html +1 -1
  26. package/docs/Notification.html +831 -1
  27. package/docs/Organization.html +1 -1
  28. package/docs/Page.html +553 -0
  29. package/docs/Process.html +1 -1
  30. package/docs/Register.html +1 -1
  31. package/docs/Session.html +1 -1
  32. package/docs/Task.html +1 -1
  33. package/docs/TaskAvailable.html +1 -1
  34. package/docs/Updates.html +428 -0
  35. package/docs/User.html +1 -1
  36. package/docs/Users.html +2 -2
  37. package/docs/admin_doctypes.js.html +1 -1
  38. package/docs/admin_document.js.html +1 -1
  39. package/docs/admin_form.js.html +1 -1
  40. package/docs/admin_index.js.html +1 -1
  41. package/docs/admin_list.js.html +1 -1
  42. package/docs/admin_message.js.html +1 -1
  43. package/docs/admin_notification.js.html +1 -1
  44. package/docs/admin_organization.js.html +1 -1
  45. package/docs/admin_plugin.js.html +1 -1
  46. package/docs/admin_policy.js.html +1 -1
  47. package/docs/admin_processes.js.html +1 -1
  48. package/docs/admin_task.js.html +1 -1
  49. package/docs/admin_user.js.html +31 -1
  50. package/docs/dispatch.js.html +1 -1
  51. package/docs/external.js.html +1 -1
  52. package/docs/general_geoLocation.js.html +1 -1
  53. package/docs/general_index.js.html +1 -1
  54. package/docs/index.html +1 -1
  55. package/docs/login.js.html +1 -1
  56. package/docs/session.js.html +1 -1
  57. package/docs/user_application.js.html +204 -0
  58. package/docs/user_datasource.js.html +1 -1
  59. package/docs/user_document.js.html +1 -1
  60. package/docs/user_help.js.html +230 -0
  61. package/docs/user_index.js.html +7 -1
  62. package/docs/user_notification.js.html +125 -1
  63. package/docs/user_organization.js.html +1 -1
  64. package/docs/user_page.js.html +210 -0
  65. package/docs/user_process.js.html +1 -1
  66. package/docs/user_register.js.html +1 -1
  67. package/docs/user_task.js.html +1 -1
  68. package/docs/user_task_available.js.html +1 -1
  69. package/docs/user_updates.js.html +195 -0
  70. package/docs/user_user.js.html +1 -1
  71. package/docs/utils_promises.js.html +1 -1
  72. package/package.json +1 -1
  73. package/yarn-error.log +4554 -0
@@ -0,0 +1,230 @@
1
+
2
+
3
+ <!DOCTYPE html>
4
+ <html lang="en">
5
+
6
+ <head>
7
+
8
+ <meta charset="utf-8">
9
+ <meta name="viewport" content="width=device-width, initial-scale=1">
10
+ <title> user/help.js</title>
11
+
12
+ <script src="https://cdn.jsdelivr.net/gh/google/code-prettify@master/loader/run_prettify.js"></script>
13
+ <script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
14
+ <script src="./build/entry.js"></script>
15
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
16
+ <!--[if lt IE 9]>
17
+ <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
18
+ <![endif]-->
19
+ <link href="https://fonts.googleapis.com/css?family=Roboto:100,400,700|Inconsolata,700" rel="stylesheet">
20
+ <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.3/css/all.css" integrity="sha384-UHRtZLI+pbxtHCWp1t77Bi1L4ZtiqrqD80Kn4Z8NTSRyMA2Fd33n5dQ8lWUE00s/" crossorigin="anonymous">
21
+ <link type="text/css" rel="stylesheet" href="https://jmblog.github.io/color-themes-for-google-code-prettify/themes/tomorrow-night.min.css">
22
+ <link type="text/css" rel="stylesheet" href="styles/app.min.css">
23
+ <link type="text/css" rel="stylesheet" href="styles/iframe.css">
24
+ <link type="text/css" rel="stylesheet" href="">
25
+ <script async defer src="https://buttons.github.io/buttons.js"></script>
26
+
27
+
28
+ </head>
29
+
30
+
31
+
32
+ <body class="layout small-header">
33
+ <div id="stickyNavbarOverlay"></div>
34
+
35
+
36
+ <div class="top-nav">
37
+ <div class="inner">
38
+ <a id="hamburger" role="button" class="navbar-burger" aria-label="menu" aria-expanded="false">
39
+ <span aria-hidden="true"></span>
40
+ <span aria-hidden="true"></span>
41
+ <span aria-hidden="true"></span>
42
+ </a>
43
+ <div class="logo">
44
+
45
+
46
+ </div>
47
+ <div class="menu">
48
+
49
+ <div class="navigation">
50
+ <a
51
+ href="index.html"
52
+ class="link"
53
+ >
54
+ Documentation
55
+ </a>
56
+
57
+
58
+
59
+ </div>
60
+ </div>
61
+ </div>
62
+ </div>
63
+ <div id="main">
64
+ <div
65
+ class="sidebar "
66
+ id="sidebarNav"
67
+ >
68
+
69
+ <nav>
70
+
71
+ <h2><a href="index.html">Documentation</a></h2><div class="category"><h3>Classes</h3><ul><li><a href="Admin.html">Admin</a></li><li><a href="AdminDocuments.html">AdminDocuments</a></li><li><a href="AdminForm.html">AdminForm</a></li><li><a href="AdminLists.html">AdminLists</a></li><li><a href="AdminMessage.html">AdminMessage</a></li><li><a href="AdminNotification.html">AdminNotification</a></li><li><a href="AdminPlugin.html">AdminPlugin</a></li><li><a href="AdminPolicy.html">AdminPolicy</a></li><li><a href="AdminProcesses.html">AdminProcesses</a></li><li><a href="AdminTask.html">AdminTask</a></li><li><a href="AdminUser.html">AdminUser</a></li><li><a href="Application.html">Application</a></li><li><a href="Datasource.html">Datasource</a></li><li><a href="Dispatch.html">Dispatch</a></li><li><a href="Documents.html">Documents</a></li><li><a href="External.html">External</a></li><li><a href="GeoLocation.html">GeoLocation</a></li><li><a href="Help.html">Help</a></li><li><a href="Login.html">Login</a></li><li><a href="Notification.html">Notification</a></li><li><a href="Organization.html">Organization</a></li><li><a href="Page.html">Page</a></li><li><a href="Process.html">Process</a></li><li><a href="Register.html">Register</a></li><li><a href="Session.html">Session</a></li><li><a href="Task.html">Task</a></li><li><a href="TaskAvailable.html">TaskAvailable</a></li><li><a href="Updates.html">Updates</a></li><li><a href="User.html">User</a></li><li><a href="Users.html">Users</a></li></ul></div>
72
+
73
+ </nav>
74
+ </div>
75
+ <div class="core" id="main-content-wrapper">
76
+ <div class="content">
77
+ <header class="page-title">
78
+ <p>Source</p>
79
+ <h1>user/help.js</h1>
80
+ </header>
81
+
82
+
83
+
84
+
85
+
86
+ <section>
87
+ <article>
88
+ <pre class="prettyprint source linenums"><code>import _ from 'lodash';
89
+ import Boom from '@hapi/boom';
90
+ import Joi from 'joi';
91
+
92
+ /**
93
+ * Class for user registration in a user
94
+ * @class
95
+ */
96
+ class Help {
97
+
98
+ constructor(options) {
99
+ Joi.assert(options, Joi.object().required());
100
+ Joi.assert(options.parent, Joi.object().required());
101
+
102
+ const self = this;
103
+ self.parent = options.parent;
104
+ self._client = self.parent.dispatch.getClient();
105
+ }
106
+
107
+ /**
108
+ * @author Augusto Pissarra &lt;abernardo.br@gmail.com>
109
+ * @description Get the return data and check for errors
110
+ * @param {object} retData Response HTTP
111
+ * @return {*}
112
+ * @private
113
+ */
114
+ _returnData(retData, def = {}) {
115
+ if (retData.status !== 200) {
116
+ return Boom.badRequest(_.get(retData, 'message', 'No error message reported!'))
117
+ } else {
118
+ return _.get(retData, 'data', def);
119
+ }
120
+ }
121
+
122
+ /**
123
+ * @author CloudBrasil &lt;abernardo.br@gmail.com>
124
+ * @description Set header with new session
125
+ * @param {string} session Session, token JWT
126
+ * @return {object} header with new session
127
+ * @private
128
+ */
129
+ _setHeader(session) {
130
+ return {
131
+ headers: {
132
+ authorization: session,
133
+ }
134
+ };
135
+ }
136
+
137
+ /**
138
+ * @author Augusto Pissarra &lt;abernardo.br@gmail.com>
139
+ * @description get heps topics
140
+ * @param {string} session JWT token
141
+ * @public
142
+ * @async
143
+ * @example
144
+ *
145
+ * const API = require('@docbrasil/api-systemmanager');
146
+ * const api = new API();
147
+ * const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
148
+ * await api.user.help.getTopics(session);
149
+ */
150
+ async getTopics(session) {
151
+ const self = this;
152
+
153
+ try {
154
+ Joi.assert(session, Joi.string().required(), 'SM session (JWT) to call API');
155
+
156
+ const apiCall = self._client.get('/help/topics', self._setHeader(session));
157
+ return self._returnData(await apiCall);
158
+ } catch (ex) {
159
+ throw ex;
160
+ }
161
+ }
162
+
163
+ /**
164
+ * @author CloudBrasil &lt;abernardo.br@gmail.com>
165
+ * @description Method to find helps from a topic
166
+ * @param {object} params Params to get helps from topic
167
+ * @param {object} params.id Topic id (_id database)
168
+ * @param {string} session Session, token JWT
169
+ * @returns {promise}
170
+ * @public
171
+ * @example
172
+ *
173
+ * const API = require('@docbrasil/api-systemmanager');
174
+ * const api = new API();
175
+ * const params = {
176
+ * id: '5dadd01dc4af3941d42f8c5c'
177
+ * };
178
+ * const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
179
+ * await api.user.help.get(params, session);
180
+ */
181
+ async get(params, session) {
182
+ const self = this;
183
+
184
+ try {
185
+ Joi.assert(params, Joi.object().required(), 'Params to helps from a topic');
186
+ Joi.assert(params.id, Joi.string().required(), 'Topic id (_id database)');
187
+ Joi.assert(session, Joi.string().required(), 'Session token JWT');
188
+
189
+ const {id} = params;
190
+ const apiCall = self._client.get(`/help/topic/${id}`, self._setHeader(session));
191
+
192
+ return self._returnData(await apiCall);
193
+ } catch (ex) {
194
+ throw ex;
195
+ }
196
+ }
197
+
198
+ }
199
+
200
+ export default Help;
201
+ </code></pre>
202
+ </article>
203
+ </section>
204
+
205
+
206
+
207
+
208
+ </div>
209
+
210
+ <footer class="footer">
211
+ <div class="content has-text-centered">
212
+ <p>Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a></p>
213
+ <p class="sidebar-created-by">
214
+ <a href="https://github.com/SoftwareBrothers/better-docs" target="_blank">BetterDocs theme</a> provided with <i class="fas fa-heart"></i> by
215
+ <a href="http://softwarebrothers.co" target="_blank">SoftwareBrothers - JavaScript Development Agency</a>
216
+ </p>
217
+ </div>
218
+ </footer>
219
+
220
+ </div>
221
+ <div id="side-nav" class="side-nav">
222
+ </div>
223
+ </div>
224
+ <script src="scripts/app.min.js"></script>
225
+ <script>PR.prettyPrint();</script>
226
+ <script src="scripts/linenumber.js"> </script>
227
+
228
+
229
+ </body>
230
+ </html>
@@ -68,7 +68,7 @@
68
68
 
69
69
  <nav>
70
70
 
71
- <h2><a href="index.html">Documentation</a></h2><div class="category"><h3>Classes</h3><ul><li><a href="Admin.html">Admin</a></li><li><a href="AdminDocuments.html">AdminDocuments</a></li><li><a href="AdminForm.html">AdminForm</a></li><li><a href="AdminLists.html">AdminLists</a></li><li><a href="AdminMessage.html">AdminMessage</a></li><li><a href="AdminNotification.html">AdminNotification</a></li><li><a href="AdminPlugin.html">AdminPlugin</a></li><li><a href="AdminPolicy.html">AdminPolicy</a></li><li><a href="AdminProcesses.html">AdminProcesses</a></li><li><a href="AdminTask.html">AdminTask</a></li><li><a href="AdminUser.html">AdminUser</a></li><li><a href="Datasource.html">Datasource</a></li><li><a href="Dispatch.html">Dispatch</a></li><li><a href="Documents.html">Documents</a></li><li><a href="External.html">External</a></li><li><a href="GeoLocation.html">GeoLocation</a></li><li><a href="Login.html">Login</a></li><li><a href="Notification.html">Notification</a></li><li><a href="Organization.html">Organization</a></li><li><a href="Process.html">Process</a></li><li><a href="Register.html">Register</a></li><li><a href="Session.html">Session</a></li><li><a href="Task.html">Task</a></li><li><a href="TaskAvailable.html">TaskAvailable</a></li><li><a href="User.html">User</a></li><li><a href="Users.html">Users</a></li></ul></div>
71
+ <h2><a href="index.html">Documentation</a></h2><div class="category"><h3>Classes</h3><ul><li><a href="Admin.html">Admin</a></li><li><a href="AdminDocuments.html">AdminDocuments</a></li><li><a href="AdminForm.html">AdminForm</a></li><li><a href="AdminLists.html">AdminLists</a></li><li><a href="AdminMessage.html">AdminMessage</a></li><li><a href="AdminNotification.html">AdminNotification</a></li><li><a href="AdminPlugin.html">AdminPlugin</a></li><li><a href="AdminPolicy.html">AdminPolicy</a></li><li><a href="AdminProcesses.html">AdminProcesses</a></li><li><a href="AdminTask.html">AdminTask</a></li><li><a href="AdminUser.html">AdminUser</a></li><li><a href="Application.html">Application</a></li><li><a href="Datasource.html">Datasource</a></li><li><a href="Dispatch.html">Dispatch</a></li><li><a href="Documents.html">Documents</a></li><li><a href="External.html">External</a></li><li><a href="GeoLocation.html">GeoLocation</a></li><li><a href="Help.html">Help</a></li><li><a href="Login.html">Login</a></li><li><a href="Notification.html">Notification</a></li><li><a href="Organization.html">Organization</a></li><li><a href="Page.html">Page</a></li><li><a href="Process.html">Process</a></li><li><a href="Register.html">Register</a></li><li><a href="Session.html">Session</a></li><li><a href="Task.html">Task</a></li><li><a href="TaskAvailable.html">TaskAvailable</a></li><li><a href="Updates.html">Updates</a></li><li><a href="User.html">User</a></li><li><a href="Users.html">Users</a></li></ul></div>
72
72
 
73
73
  </nav>
74
74
  </div>
@@ -95,7 +95,10 @@ import Task from './task.js';
95
95
  import User from './user.js';
96
96
  import Register from './register.js';
97
97
  import Notification from './notification.js';
98
+ import Updates from './updates.js';
99
+ import Help from './help.js';
98
100
  import Datasource from './datasource.js';
101
+ import Application from './notification.js';
99
102
 
100
103
  /**
101
104
  * @class API request, user permission level
@@ -120,6 +123,9 @@ class Users {
120
123
  self.user = self.profile = new User(options);
121
124
  self.register = new Register(options);
122
125
  self.notification = new Notification(options);
126
+ self.updates = new Updates(options);
127
+ self.help = new Help(options);
128
+ self.application = new Application(options);
123
129
  }
124
130
  }
125
131
 
@@ -68,7 +68,7 @@
68
68
 
69
69
  <nav>
70
70
 
71
- <h2><a href="index.html">Documentation</a></h2><div class="category"><h3>Classes</h3><ul><li><a href="Admin.html">Admin</a></li><li><a href="AdminDocuments.html">AdminDocuments</a></li><li><a href="AdminForm.html">AdminForm</a></li><li><a href="AdminLists.html">AdminLists</a></li><li><a href="AdminMessage.html">AdminMessage</a></li><li><a href="AdminNotification.html">AdminNotification</a></li><li><a href="AdminPlugin.html">AdminPlugin</a></li><li><a href="AdminPolicy.html">AdminPolicy</a></li><li><a href="AdminProcesses.html">AdminProcesses</a></li><li><a href="AdminTask.html">AdminTask</a></li><li><a href="AdminUser.html">AdminUser</a></li><li><a href="Datasource.html">Datasource</a></li><li><a href="Dispatch.html">Dispatch</a></li><li><a href="Documents.html">Documents</a></li><li><a href="External.html">External</a></li><li><a href="GeoLocation.html">GeoLocation</a></li><li><a href="Login.html">Login</a></li><li><a href="Notification.html">Notification</a></li><li><a href="Organization.html">Organization</a></li><li><a href="Process.html">Process</a></li><li><a href="Register.html">Register</a></li><li><a href="Session.html">Session</a></li><li><a href="Task.html">Task</a></li><li><a href="TaskAvailable.html">TaskAvailable</a></li><li><a href="User.html">User</a></li><li><a href="Users.html">Users</a></li></ul></div>
71
+ <h2><a href="index.html">Documentation</a></h2><div class="category"><h3>Classes</h3><ul><li><a href="Admin.html">Admin</a></li><li><a href="AdminDocuments.html">AdminDocuments</a></li><li><a href="AdminForm.html">AdminForm</a></li><li><a href="AdminLists.html">AdminLists</a></li><li><a href="AdminMessage.html">AdminMessage</a></li><li><a href="AdminNotification.html">AdminNotification</a></li><li><a href="AdminPlugin.html">AdminPlugin</a></li><li><a href="AdminPolicy.html">AdminPolicy</a></li><li><a href="AdminProcesses.html">AdminProcesses</a></li><li><a href="AdminTask.html">AdminTask</a></li><li><a href="AdminUser.html">AdminUser</a></li><li><a href="Application.html">Application</a></li><li><a href="Datasource.html">Datasource</a></li><li><a href="Dispatch.html">Dispatch</a></li><li><a href="Documents.html">Documents</a></li><li><a href="External.html">External</a></li><li><a href="GeoLocation.html">GeoLocation</a></li><li><a href="Help.html">Help</a></li><li><a href="Login.html">Login</a></li><li><a href="Notification.html">Notification</a></li><li><a href="Organization.html">Organization</a></li><li><a href="Page.html">Page</a></li><li><a href="Process.html">Process</a></li><li><a href="Register.html">Register</a></li><li><a href="Session.html">Session</a></li><li><a href="Task.html">Task</a></li><li><a href="TaskAvailable.html">TaskAvailable</a></li><li><a href="Updates.html">Updates</a></li><li><a href="User.html">User</a></li><li><a href="Users.html">Users</a></li></ul></div>
72
72
 
73
73
  </nav>
74
74
  </div>
@@ -183,6 +183,130 @@ class Notification {
183
183
  throw ex;
184
184
  }
185
185
  }
186
+
187
+ /**
188
+ * @author Augusto Pissarra &lt;abernardo.br@gmail.com>
189
+ * @description get new notifications
190
+ * @param {string} session JWT token
191
+ * @public
192
+ * @async
193
+ * @example
194
+ *
195
+ * const API = require('@docbrasil/api-systemmanager');
196
+ * const api = new API();
197
+ * const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
198
+ * await api.user.notification.getNew(session);
199
+ */
200
+ async getNew(session) {
201
+ const self = this;
202
+
203
+ try {
204
+ Joi.assert(session, Joi.string().required(), 'SM session (JWT) to call API');
205
+
206
+ const apiCall = self._client.get('/organizations/notifications/new', self._setHeader(session));
207
+ return self._returnData(await apiCall);
208
+ } catch (ex) {
209
+ throw ex;
210
+ }
211
+ }
212
+
213
+ /**
214
+ * @author Augusto Pissarra &lt;abernardo.br@gmail.com>
215
+ * @description get old notifications
216
+ * @param {string} session JWT token
217
+ * @public
218
+ * @async
219
+ * @example
220
+ *
221
+ * const API = require('@docbrasil/api-systemmanager');
222
+ * const api = new API();
223
+ * const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
224
+ * await api.user.notification.getOld(session);
225
+ */
226
+ async getOld(session) {
227
+ const self = this;
228
+
229
+ try {
230
+ Joi.assert(session, Joi.string().required(), 'SM session (JWT) to call API');
231
+
232
+ const apiCall = self._client.get('/organizations/notifications/old', self._setHeader(session));
233
+ return self._returnData(await apiCall);
234
+ } catch (ex) {
235
+ throw ex;
236
+ }
237
+ }
238
+
239
+ /**
240
+ * @author CloudBrasil &lt;abernardo.br@gmail.com>
241
+ * @description Set notification as readed
242
+ * @param {object} params Params to update the notification
243
+ * @param {string} params.id Notification Id
244
+ * @param {string} session JWT Token
245
+ * @return {Promise}
246
+ * @public
247
+ * @async
248
+ * @example
249
+ *
250
+ * const API = require('@docbrasil/api-systemmanager');
251
+ * const api = new API();
252
+ * const params = {
253
+ * id: '34c344c43c34c344c43c'
254
+ * };
255
+ * const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
256
+ * await api.user.notification.setRead(params, session);
257
+ */
258
+ async setRead(params = {}, session) {
259
+ const self = this;
260
+
261
+ try {
262
+ Joi.assert(params, Joi.object().required());
263
+ Joi.assert(params.id, Joi.string().required());
264
+ Joi.assert(session, Joi.string().required());
265
+
266
+ const {id} = params;
267
+
268
+ const apiCall = self._client.put(`/organizations/notifications/${id}/read`, {}, self._setHeader(session));
269
+ return self._returnData(await apiCall);
270
+ } catch (ex) {
271
+ throw ex;
272
+ }
273
+ }
274
+
275
+ /**
276
+ * @author CloudBrasil &lt;abernardo.br@gmail.com>
277
+ * @description Set notification as unreaded
278
+ * @param {object} params Params to update the notification
279
+ * @param {string} params.id Notification Id
280
+ * @param {string} session JWT Token
281
+ * @return {Promise}
282
+ * @public
283
+ * @async
284
+ * @example
285
+ *
286
+ * const API = require('@docbrasil/api-systemmanager');
287
+ * const api = new API();
288
+ * const params = {
289
+ * id: '34c344c43c34c344c43c'
290
+ * };
291
+ * const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
292
+ * await api.user.notification.setUnread(params, session);
293
+ */
294
+ async setUnread(params = {}, session) {
295
+ const self = this;
296
+
297
+ try {
298
+ Joi.assert(params, Joi.object().required());
299
+ Joi.assert(params.id, Joi.string().required());
300
+ Joi.assert(session, Joi.string().required());
301
+
302
+ const {id} = params;
303
+
304
+ const apiCall = self._client.put(`/organizations/notifications/${id}/unread`, {}, self._setHeader(session));
305
+ return self._returnData(await apiCall);
306
+ } catch (ex) {
307
+ throw ex;
308
+ }
309
+ }
186
310
  }
187
311
 
188
312
  export default Notification;
@@ -68,7 +68,7 @@
68
68
 
69
69
  <nav>
70
70
 
71
- <h2><a href="index.html">Documentation</a></h2><div class="category"><h3>Classes</h3><ul><li><a href="Admin.html">Admin</a></li><li><a href="AdminDocuments.html">AdminDocuments</a></li><li><a href="AdminForm.html">AdminForm</a></li><li><a href="AdminLists.html">AdminLists</a></li><li><a href="AdminMessage.html">AdminMessage</a></li><li><a href="AdminNotification.html">AdminNotification</a></li><li><a href="AdminPlugin.html">AdminPlugin</a></li><li><a href="AdminPolicy.html">AdminPolicy</a></li><li><a href="AdminProcesses.html">AdminProcesses</a></li><li><a href="AdminTask.html">AdminTask</a></li><li><a href="AdminUser.html">AdminUser</a></li><li><a href="Datasource.html">Datasource</a></li><li><a href="Dispatch.html">Dispatch</a></li><li><a href="Documents.html">Documents</a></li><li><a href="External.html">External</a></li><li><a href="GeoLocation.html">GeoLocation</a></li><li><a href="Login.html">Login</a></li><li><a href="Notification.html">Notification</a></li><li><a href="Organization.html">Organization</a></li><li><a href="Process.html">Process</a></li><li><a href="Register.html">Register</a></li><li><a href="Session.html">Session</a></li><li><a href="Task.html">Task</a></li><li><a href="TaskAvailable.html">TaskAvailable</a></li><li><a href="User.html">User</a></li><li><a href="Users.html">Users</a></li></ul></div>
71
+ <h2><a href="index.html">Documentation</a></h2><div class="category"><h3>Classes</h3><ul><li><a href="Admin.html">Admin</a></li><li><a href="AdminDocuments.html">AdminDocuments</a></li><li><a href="AdminForm.html">AdminForm</a></li><li><a href="AdminLists.html">AdminLists</a></li><li><a href="AdminMessage.html">AdminMessage</a></li><li><a href="AdminNotification.html">AdminNotification</a></li><li><a href="AdminPlugin.html">AdminPlugin</a></li><li><a href="AdminPolicy.html">AdminPolicy</a></li><li><a href="AdminProcesses.html">AdminProcesses</a></li><li><a href="AdminTask.html">AdminTask</a></li><li><a href="AdminUser.html">AdminUser</a></li><li><a href="Application.html">Application</a></li><li><a href="Datasource.html">Datasource</a></li><li><a href="Dispatch.html">Dispatch</a></li><li><a href="Documents.html">Documents</a></li><li><a href="External.html">External</a></li><li><a href="GeoLocation.html">GeoLocation</a></li><li><a href="Help.html">Help</a></li><li><a href="Login.html">Login</a></li><li><a href="Notification.html">Notification</a></li><li><a href="Organization.html">Organization</a></li><li><a href="Page.html">Page</a></li><li><a href="Process.html">Process</a></li><li><a href="Register.html">Register</a></li><li><a href="Session.html">Session</a></li><li><a href="Task.html">Task</a></li><li><a href="TaskAvailable.html">TaskAvailable</a></li><li><a href="Updates.html">Updates</a></li><li><a href="User.html">User</a></li><li><a href="Users.html">Users</a></li></ul></div>
72
72
 
73
73
  </nav>
74
74
  </div>
@@ -0,0 +1,210 @@
1
+
2
+
3
+ <!DOCTYPE html>
4
+ <html lang="en">
5
+
6
+ <head>
7
+
8
+ <meta charset="utf-8">
9
+ <meta name="viewport" content="width=device-width, initial-scale=1">
10
+ <title> user/page.js</title>
11
+
12
+ <script src="https://cdn.jsdelivr.net/gh/google/code-prettify@master/loader/run_prettify.js"></script>
13
+ <script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
14
+ <script src="./build/entry.js"></script>
15
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
16
+ <!--[if lt IE 9]>
17
+ <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
18
+ <![endif]-->
19
+ <link href="https://fonts.googleapis.com/css?family=Roboto:100,400,700|Inconsolata,700" rel="stylesheet">
20
+ <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.3/css/all.css" integrity="sha384-UHRtZLI+pbxtHCWp1t77Bi1L4ZtiqrqD80Kn4Z8NTSRyMA2Fd33n5dQ8lWUE00s/" crossorigin="anonymous">
21
+ <link type="text/css" rel="stylesheet" href="https://jmblog.github.io/color-themes-for-google-code-prettify/themes/tomorrow-night.min.css">
22
+ <link type="text/css" rel="stylesheet" href="styles/app.min.css">
23
+ <link type="text/css" rel="stylesheet" href="styles/iframe.css">
24
+ <link type="text/css" rel="stylesheet" href="">
25
+ <script async defer src="https://buttons.github.io/buttons.js"></script>
26
+
27
+
28
+ </head>
29
+
30
+
31
+
32
+ <body class="layout small-header">
33
+ <div id="stickyNavbarOverlay"></div>
34
+
35
+
36
+ <div class="top-nav">
37
+ <div class="inner">
38
+ <a id="hamburger" role="button" class="navbar-burger" aria-label="menu" aria-expanded="false">
39
+ <span aria-hidden="true"></span>
40
+ <span aria-hidden="true"></span>
41
+ <span aria-hidden="true"></span>
42
+ </a>
43
+ <div class="logo">
44
+
45
+
46
+ </div>
47
+ <div class="menu">
48
+
49
+ <div class="navigation">
50
+ <a
51
+ href="index.html"
52
+ class="link"
53
+ >
54
+ Documentation
55
+ </a>
56
+
57
+
58
+
59
+ </div>
60
+ </div>
61
+ </div>
62
+ </div>
63
+ <div id="main">
64
+ <div
65
+ class="sidebar "
66
+ id="sidebarNav"
67
+ >
68
+
69
+ <nav>
70
+
71
+ <h2><a href="index.html">Documentation</a></h2><div class="category"><h3>Classes</h3><ul><li><a href="Admin.html">Admin</a></li><li><a href="AdminDocuments.html">AdminDocuments</a></li><li><a href="AdminForm.html">AdminForm</a></li><li><a href="AdminLists.html">AdminLists</a></li><li><a href="AdminMessage.html">AdminMessage</a></li><li><a href="AdminNotification.html">AdminNotification</a></li><li><a href="AdminPlugin.html">AdminPlugin</a></li><li><a href="AdminPolicy.html">AdminPolicy</a></li><li><a href="AdminProcesses.html">AdminProcesses</a></li><li><a href="AdminTask.html">AdminTask</a></li><li><a href="AdminUser.html">AdminUser</a></li><li><a href="Application.html">Application</a></li><li><a href="Datasource.html">Datasource</a></li><li><a href="Dispatch.html">Dispatch</a></li><li><a href="Documents.html">Documents</a></li><li><a href="External.html">External</a></li><li><a href="GeoLocation.html">GeoLocation</a></li><li><a href="Help.html">Help</a></li><li><a href="Login.html">Login</a></li><li><a href="Notification.html">Notification</a></li><li><a href="Organization.html">Organization</a></li><li><a href="Page.html">Page</a></li><li><a href="Process.html">Process</a></li><li><a href="Register.html">Register</a></li><li><a href="Session.html">Session</a></li><li><a href="Task.html">Task</a></li><li><a href="TaskAvailable.html">TaskAvailable</a></li><li><a href="Updates.html">Updates</a></li><li><a href="User.html">User</a></li><li><a href="Users.html">Users</a></li></ul></div>
72
+
73
+ </nav>
74
+ </div>
75
+ <div class="core" id="main-content-wrapper">
76
+ <div class="content">
77
+ <header class="page-title">
78
+ <p>Source</p>
79
+ <h1>user/page.js</h1>
80
+ </header>
81
+
82
+
83
+
84
+
85
+
86
+ <section>
87
+ <article>
88
+ <pre class="prettyprint source linenums"><code>import _ from 'lodash';
89
+ import Boom from '@hapi/boom';
90
+ import Joi from 'joi';
91
+
92
+ /**
93
+ * Class for Pages, permission user
94
+ * @class
95
+ */
96
+ class Page {
97
+
98
+ constructor(options) {
99
+ Joi.assert(options, Joi.object().required());
100
+ Joi.assert(options.parent, Joi.object().required());
101
+
102
+ const self = this;
103
+ self.parent = options.parent;
104
+ self._client = self.parent.dispatch.getClient();
105
+ }
106
+
107
+ /**
108
+ * @author Augusto Pissarra &lt;abernardo.br@gmail.com>
109
+ * @description Get the return data and check for errors
110
+ * @param {object} retData Response HTTP
111
+ * @return {*}
112
+ * @private
113
+ */
114
+ _returnData(retData, def = {}) {
115
+ if (retData.status !== 200) {
116
+ return Boom.badRequest(_.get(retData, 'message', 'No error message reported!'))
117
+ } else {
118
+ return _.get(retData, 'data', def);
119
+ }
120
+ }
121
+
122
+ /**
123
+ * @author CloudBrasil &lt;abernardo.br@gmail.com>
124
+ * @description Set header with new session
125
+ * @param {string} session Session, token JWT
126
+ * @return {object} header with new session
127
+ * @private
128
+ */
129
+ _setHeader(session) {
130
+ return {
131
+ headers: {
132
+ authorization: session,
133
+ }
134
+ };
135
+ }
136
+
137
+ /**
138
+ * @author CloudBrasil &lt;abernardo.br@gmail.com>
139
+ * @description Get the available page for an application inside an organization
140
+ * @param {object} params Params to get task
141
+ * @param {object} params.orgId Organization id (_id database)
142
+ * @param {object} params.appId application id (_id database)
143
+ * @param {object} params.pageId page id (_id database)
144
+ * @param {string} session Session, token JWT
145
+ * @returns {promise}
146
+ * @public
147
+ * @example
148
+ *
149
+ * const API = require('@docbrasil/api-systemmanager');
150
+ * const api = new API();
151
+ * const params = {
152
+ * orgId: '55e4a3bd6be6b45210833fae',
153
+ * appId: '57e4a3bd6be6b45210833fa7',
154
+ * pageId: '57e4a3bd6be6b45210833fab'
155
+ * };
156
+ * const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
157
+ * await api.user.application.page.get(params, session);
158
+ */
159
+ async get(params, session) {
160
+ const self = this;
161
+
162
+ try {
163
+ Joi.assert(params, Joi.object().required(), 'Params to get task');
164
+ Joi.assert(params.orgId, Joi.string().required(), 'Organization id (_id database)');
165
+ Joi.assert(params.appId, Joi.string().required(), 'Organization id (_id database)');
166
+ Joi.assert(params.pageId, Joi.string().required(), 'Organization id (_id database)');
167
+ Joi.assert(session, Joi.string().required(), 'Session token JWT');
168
+
169
+ const { orgId, appId, pageId} = params;
170
+ const apiCall = self._client
171
+ .get(`/organizations/${orgId}/applications/${appId}/page/${pageId}`, self._setHeader(session));
172
+
173
+ return self._returnData(await apiCall);
174
+ } catch (ex) {
175
+ throw ex;
176
+ }
177
+ }
178
+ }
179
+
180
+ export default Page;
181
+ </code></pre>
182
+ </article>
183
+ </section>
184
+
185
+
186
+
187
+
188
+ </div>
189
+
190
+ <footer class="footer">
191
+ <div class="content has-text-centered">
192
+ <p>Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a></p>
193
+ <p class="sidebar-created-by">
194
+ <a href="https://github.com/SoftwareBrothers/better-docs" target="_blank">BetterDocs theme</a> provided with <i class="fas fa-heart"></i> by
195
+ <a href="http://softwarebrothers.co" target="_blank">SoftwareBrothers - JavaScript Development Agency</a>
196
+ </p>
197
+ </div>
198
+ </footer>
199
+
200
+ </div>
201
+ <div id="side-nav" class="side-nav">
202
+ </div>
203
+ </div>
204
+ <script src="scripts/app.min.js"></script>
205
+ <script>PR.prettyPrint();</script>
206
+ <script src="scripts/linenumber.js"> </script>
207
+
208
+
209
+ </body>
210
+ </html>
@@ -68,7 +68,7 @@
68
68
 
69
69
  <nav>
70
70
 
71
- <h2><a href="index.html">Documentation</a></h2><div class="category"><h3>Classes</h3><ul><li><a href="Admin.html">Admin</a></li><li><a href="AdminDocuments.html">AdminDocuments</a></li><li><a href="AdminForm.html">AdminForm</a></li><li><a href="AdminLists.html">AdminLists</a></li><li><a href="AdminMessage.html">AdminMessage</a></li><li><a href="AdminNotification.html">AdminNotification</a></li><li><a href="AdminPlugin.html">AdminPlugin</a></li><li><a href="AdminPolicy.html">AdminPolicy</a></li><li><a href="AdminProcesses.html">AdminProcesses</a></li><li><a href="AdminTask.html">AdminTask</a></li><li><a href="AdminUser.html">AdminUser</a></li><li><a href="Datasource.html">Datasource</a></li><li><a href="Dispatch.html">Dispatch</a></li><li><a href="Documents.html">Documents</a></li><li><a href="External.html">External</a></li><li><a href="GeoLocation.html">GeoLocation</a></li><li><a href="Login.html">Login</a></li><li><a href="Notification.html">Notification</a></li><li><a href="Organization.html">Organization</a></li><li><a href="Process.html">Process</a></li><li><a href="Register.html">Register</a></li><li><a href="Session.html">Session</a></li><li><a href="Task.html">Task</a></li><li><a href="TaskAvailable.html">TaskAvailable</a></li><li><a href="User.html">User</a></li><li><a href="Users.html">Users</a></li></ul></div>
71
+ <h2><a href="index.html">Documentation</a></h2><div class="category"><h3>Classes</h3><ul><li><a href="Admin.html">Admin</a></li><li><a href="AdminDocuments.html">AdminDocuments</a></li><li><a href="AdminForm.html">AdminForm</a></li><li><a href="AdminLists.html">AdminLists</a></li><li><a href="AdminMessage.html">AdminMessage</a></li><li><a href="AdminNotification.html">AdminNotification</a></li><li><a href="AdminPlugin.html">AdminPlugin</a></li><li><a href="AdminPolicy.html">AdminPolicy</a></li><li><a href="AdminProcesses.html">AdminProcesses</a></li><li><a href="AdminTask.html">AdminTask</a></li><li><a href="AdminUser.html">AdminUser</a></li><li><a href="Application.html">Application</a></li><li><a href="Datasource.html">Datasource</a></li><li><a href="Dispatch.html">Dispatch</a></li><li><a href="Documents.html">Documents</a></li><li><a href="External.html">External</a></li><li><a href="GeoLocation.html">GeoLocation</a></li><li><a href="Help.html">Help</a></li><li><a href="Login.html">Login</a></li><li><a href="Notification.html">Notification</a></li><li><a href="Organization.html">Organization</a></li><li><a href="Page.html">Page</a></li><li><a href="Process.html">Process</a></li><li><a href="Register.html">Register</a></li><li><a href="Session.html">Session</a></li><li><a href="Task.html">Task</a></li><li><a href="TaskAvailable.html">TaskAvailable</a></li><li><a href="Updates.html">Updates</a></li><li><a href="User.html">User</a></li><li><a href="Users.html">Users</a></li></ul></div>
72
72
 
73
73
  </nav>
74
74
  </div>