@docbrasil/api-systemmanager 1.1.76 → 1.1.77

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/api/admin/list.js CHANGED
@@ -128,6 +128,220 @@ class AdminLists {
128
128
  throw ex;
129
129
  }
130
130
  }
131
+
132
+ /**
133
+ * @author Myndware <augusto.pissarra@myndware.com>
134
+ * @description Filter organization lists by name
135
+ * @param {object} params Parameters
136
+ * @param {string} params.orgId Organization ID (required)
137
+ * @param {array} [params.names=[]] Array of list names to filter (empty = all)
138
+ * @param {string} session JWT session token
139
+ * @return {Promise<array>} Array of matching org lists sorted by name
140
+ * @public
141
+ * @async
142
+ * @example
143
+ *
144
+ * const API = require('@docbrasil/api-systemmanager');
145
+ * const api = new API();
146
+ * const params = { orgId: '5edd11c46b6ce9729c2c297c', names: ['Tags', 'Categorias'] };
147
+ * const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
148
+ * const lists = await api.admin.list.filterByName(params, session);
149
+ */
150
+ async filterByName(params = {}, session) {
151
+ const self = this;
152
+
153
+ try {
154
+ Joi.assert(params, Joi.object().required());
155
+ Joi.assert(params.orgId, Joi.string().required());
156
+ Joi.assert(session, Joi.string().required());
157
+
158
+ const { orgId, names = [] } = params;
159
+ const payload = { names };
160
+
161
+ const apiCall = self._client.post(
162
+ `/admin/organizations/${orgId}/orgtags/filter`,
163
+ payload,
164
+ self._setHeader(session)
165
+ );
166
+
167
+ return self._returnData(await apiCall);
168
+ } catch (ex) {
169
+ throw ex;
170
+ }
171
+ }
172
+
173
+ /**
174
+ * @author Myndware <augusto.pissarra@myndware.com>
175
+ * @description Create a new organization list
176
+ * @param {object} params Parameters
177
+ * @param {string} params.orgId Organization ID (required)
178
+ * @param {string} params.name List name (required)
179
+ * @param {array} [params.list=[]] Initial list items
180
+ * @param {string} session JWT session token
181
+ * @return {Promise<object>} Created list document
182
+ * @public
183
+ * @async
184
+ * @example
185
+ *
186
+ * const API = require('@docbrasil/api-systemmanager');
187
+ * const api = new API();
188
+ * const params = { orgId: '5edd11c46b6ce9729c2c297c', name: 'My List', list: [] };
189
+ * const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
190
+ * const list = await api.admin.list.create(params, session);
191
+ */
192
+ async create(params = {}, session) {
193
+ const self = this;
194
+
195
+ try {
196
+ Joi.assert(params, Joi.object().required());
197
+ Joi.assert(params.orgId, Joi.string().required());
198
+ Joi.assert(params.name, Joi.string().required());
199
+ Joi.assert(session, Joi.string().required());
200
+
201
+ const { orgId, name, list = [] } = params;
202
+ const payload = { orgId, name, list };
203
+
204
+ const apiCall = self._client.put(
205
+ `/admin/organizations/${orgId}/orgtags`,
206
+ payload,
207
+ self._setHeader(session)
208
+ );
209
+
210
+ return self._returnData(await apiCall);
211
+ } catch (ex) {
212
+ throw ex;
213
+ }
214
+ }
215
+
216
+ /**
217
+ * @author Myndware <augusto.pissarra@myndware.com>
218
+ * @description Update an organization list
219
+ * @param {object} params Parameters
220
+ * @param {string} params.orgId Organization ID (required)
221
+ * @param {string} params.id List ID (required)
222
+ * @param {object} params.data Fields to update (name, list, etc.)
223
+ * @param {string} session JWT session token
224
+ * @return {Promise<object>} Updated list document
225
+ * @public
226
+ * @async
227
+ * @example
228
+ *
229
+ * const API = require('@docbrasil/api-systemmanager');
230
+ * const api = new API();
231
+ * const params = { orgId: '5edd11c46b6ce9729c2c297c', id: '55e4a3bd6be6b45210833fae', data: { name: 'Renamed' } };
232
+ * const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
233
+ * const list = await api.admin.list.update(params, session);
234
+ */
235
+ async update(params = {}, session) {
236
+ const self = this;
237
+
238
+ try {
239
+ Joi.assert(params, Joi.object().required());
240
+ Joi.assert(params.orgId, Joi.string().required());
241
+ Joi.assert(params.id, Joi.string().required());
242
+ Joi.assert(params.data, Joi.object().required());
243
+ Joi.assert(session, Joi.string().required());
244
+
245
+ const { orgId, id, data } = params;
246
+
247
+ const apiCall = self._client.put(
248
+ `/admin/organizations/${orgId}/orgtags/${id}`,
249
+ data,
250
+ self._setHeader(session)
251
+ );
252
+
253
+ return self._returnData(await apiCall);
254
+ } catch (ex) {
255
+ throw ex;
256
+ }
257
+ }
258
+
259
+ /**
260
+ * @author Myndware <augusto.pissarra@myndware.com>
261
+ * @description Remove an organization list
262
+ * @param {object} params Parameters
263
+ * @param {string} params.orgId Organization ID (required)
264
+ * @param {string} params.id List ID to remove (required)
265
+ * @param {string} session JWT session token
266
+ * @return {Promise<object>} Removal confirmation
267
+ * @public
268
+ * @async
269
+ * @example
270
+ *
271
+ * const API = require('@docbrasil/api-systemmanager');
272
+ * const api = new API();
273
+ * const params = { orgId: '5edd11c46b6ce9729c2c297c', id: '55e4a3bd6be6b45210833fae' };
274
+ * const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
275
+ * await api.admin.list.remove(params, session);
276
+ */
277
+ async remove(params = {}, session) {
278
+ const self = this;
279
+
280
+ try {
281
+ Joi.assert(params, Joi.object().required());
282
+ Joi.assert(params.orgId, Joi.string().required());
283
+ Joi.assert(params.id, Joi.string().required());
284
+ Joi.assert(session, Joi.string().required());
285
+
286
+ const { orgId, id } = params;
287
+
288
+ const apiCall = self._client.delete(
289
+ `/admin/organizations/${orgId}/orgtags/${id}`,
290
+ self._setHeader(session)
291
+ );
292
+
293
+ return self._returnData(await apiCall);
294
+ } catch (ex) {
295
+ throw ex;
296
+ }
297
+ }
298
+
299
+ /**
300
+ * @author Myndware <augusto.pissarra@myndware.com>
301
+ * @description Update list items of an organization list
302
+ * @param {object} params Parameters
303
+ * @param {string} params.orgId Organization ID (required)
304
+ * @param {string} params.id List ID (required)
305
+ * @param {array} params.list Updated list items array (required)
306
+ * @param {string} session JWT session token
307
+ * @return {Promise<object>} Updated list document
308
+ * @public
309
+ * @async
310
+ * @example
311
+ *
312
+ * const API = require('@docbrasil/api-systemmanager');
313
+ * const api = new API();
314
+ * const params = {
315
+ * orgId: '5edd11c46b6ce9729c2c297c',
316
+ * id: '55e4a3bd6be6b45210833fae',
317
+ * list: [{ _id: '1', value: 'Item 1', filter: '', order: 0 }]
318
+ * };
319
+ * const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
320
+ * const list = await api.admin.list.updateListItems(params, session);
321
+ */
322
+ async updateListItems(params = {}, session) {
323
+ const self = this;
324
+
325
+ try {
326
+ Joi.assert(params, Joi.object().required());
327
+ Joi.assert(params.orgId, Joi.string().required());
328
+ Joi.assert(params.id, Joi.string().required());
329
+ Joi.assert(params.list, Joi.array().required());
330
+ Joi.assert(session, Joi.string().required());
331
+
332
+ const { orgId, id, list } = params;
333
+
334
+ const apiCall = self._client.put(
335
+ `/admin/organizations/${orgId}/orgtags/${id}`,
336
+ { list },
337
+ self._setHeader(session)
338
+ );
339
+
340
+ return self._returnData(await apiCall);
341
+ } catch (ex) {
342
+ throw ex;
343
+ }
344
+ }
131
345
  }
132
346
 
133
347
  export default AdminLists;
package/dist/bundle.cjs CHANGED
@@ -13883,6 +13883,220 @@ class AdminLists {
13883
13883
  throw ex;
13884
13884
  }
13885
13885
  }
13886
+
13887
+ /**
13888
+ * @author Myndware <augusto.pissarra@myndware.com>
13889
+ * @description Filter organization lists by name
13890
+ * @param {object} params Parameters
13891
+ * @param {string} params.orgId Organization ID (required)
13892
+ * @param {array} [params.names=[]] Array of list names to filter (empty = all)
13893
+ * @param {string} session JWT session token
13894
+ * @return {Promise<array>} Array of matching org lists sorted by name
13895
+ * @public
13896
+ * @async
13897
+ * @example
13898
+ *
13899
+ * const API = require('@docbrasil/api-systemmanager');
13900
+ * const api = new API();
13901
+ * const params = { orgId: '5edd11c46b6ce9729c2c297c', names: ['Tags', 'Categorias'] };
13902
+ * const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
13903
+ * const lists = await api.admin.list.filterByName(params, session);
13904
+ */
13905
+ async filterByName(params = {}, session) {
13906
+ const self = this;
13907
+
13908
+ try {
13909
+ Joi__default["default"].assert(params, Joi__default["default"].object().required());
13910
+ Joi__default["default"].assert(params.orgId, Joi__default["default"].string().required());
13911
+ Joi__default["default"].assert(session, Joi__default["default"].string().required());
13912
+
13913
+ const { orgId, names = [] } = params;
13914
+ const payload = { names };
13915
+
13916
+ const apiCall = self._client.post(
13917
+ `/admin/organizations/${orgId}/orgtags/filter`,
13918
+ payload,
13919
+ self._setHeader(session)
13920
+ );
13921
+
13922
+ return self._returnData(await apiCall);
13923
+ } catch (ex) {
13924
+ throw ex;
13925
+ }
13926
+ }
13927
+
13928
+ /**
13929
+ * @author Myndware <augusto.pissarra@myndware.com>
13930
+ * @description Create a new organization list
13931
+ * @param {object} params Parameters
13932
+ * @param {string} params.orgId Organization ID (required)
13933
+ * @param {string} params.name List name (required)
13934
+ * @param {array} [params.list=[]] Initial list items
13935
+ * @param {string} session JWT session token
13936
+ * @return {Promise<object>} Created list document
13937
+ * @public
13938
+ * @async
13939
+ * @example
13940
+ *
13941
+ * const API = require('@docbrasil/api-systemmanager');
13942
+ * const api = new API();
13943
+ * const params = { orgId: '5edd11c46b6ce9729c2c297c', name: 'My List', list: [] };
13944
+ * const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
13945
+ * const list = await api.admin.list.create(params, session);
13946
+ */
13947
+ async create(params = {}, session) {
13948
+ const self = this;
13949
+
13950
+ try {
13951
+ Joi__default["default"].assert(params, Joi__default["default"].object().required());
13952
+ Joi__default["default"].assert(params.orgId, Joi__default["default"].string().required());
13953
+ Joi__default["default"].assert(params.name, Joi__default["default"].string().required());
13954
+ Joi__default["default"].assert(session, Joi__default["default"].string().required());
13955
+
13956
+ const { orgId, name, list = [] } = params;
13957
+ const payload = { orgId, name, list };
13958
+
13959
+ const apiCall = self._client.put(
13960
+ `/admin/organizations/${orgId}/orgtags`,
13961
+ payload,
13962
+ self._setHeader(session)
13963
+ );
13964
+
13965
+ return self._returnData(await apiCall);
13966
+ } catch (ex) {
13967
+ throw ex;
13968
+ }
13969
+ }
13970
+
13971
+ /**
13972
+ * @author Myndware <augusto.pissarra@myndware.com>
13973
+ * @description Update an organization list
13974
+ * @param {object} params Parameters
13975
+ * @param {string} params.orgId Organization ID (required)
13976
+ * @param {string} params.id List ID (required)
13977
+ * @param {object} params.data Fields to update (name, list, etc.)
13978
+ * @param {string} session JWT session token
13979
+ * @return {Promise<object>} Updated list document
13980
+ * @public
13981
+ * @async
13982
+ * @example
13983
+ *
13984
+ * const API = require('@docbrasil/api-systemmanager');
13985
+ * const api = new API();
13986
+ * const params = { orgId: '5edd11c46b6ce9729c2c297c', id: '55e4a3bd6be6b45210833fae', data: { name: 'Renamed' } };
13987
+ * const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
13988
+ * const list = await api.admin.list.update(params, session);
13989
+ */
13990
+ async update(params = {}, session) {
13991
+ const self = this;
13992
+
13993
+ try {
13994
+ Joi__default["default"].assert(params, Joi__default["default"].object().required());
13995
+ Joi__default["default"].assert(params.orgId, Joi__default["default"].string().required());
13996
+ Joi__default["default"].assert(params.id, Joi__default["default"].string().required());
13997
+ Joi__default["default"].assert(params.data, Joi__default["default"].object().required());
13998
+ Joi__default["default"].assert(session, Joi__default["default"].string().required());
13999
+
14000
+ const { orgId, id, data } = params;
14001
+
14002
+ const apiCall = self._client.put(
14003
+ `/admin/organizations/${orgId}/orgtags/${id}`,
14004
+ data,
14005
+ self._setHeader(session)
14006
+ );
14007
+
14008
+ return self._returnData(await apiCall);
14009
+ } catch (ex) {
14010
+ throw ex;
14011
+ }
14012
+ }
14013
+
14014
+ /**
14015
+ * @author Myndware <augusto.pissarra@myndware.com>
14016
+ * @description Remove an organization list
14017
+ * @param {object} params Parameters
14018
+ * @param {string} params.orgId Organization ID (required)
14019
+ * @param {string} params.id List ID to remove (required)
14020
+ * @param {string} session JWT session token
14021
+ * @return {Promise<object>} Removal confirmation
14022
+ * @public
14023
+ * @async
14024
+ * @example
14025
+ *
14026
+ * const API = require('@docbrasil/api-systemmanager');
14027
+ * const api = new API();
14028
+ * const params = { orgId: '5edd11c46b6ce9729c2c297c', id: '55e4a3bd6be6b45210833fae' };
14029
+ * const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
14030
+ * await api.admin.list.remove(params, session);
14031
+ */
14032
+ async remove(params = {}, session) {
14033
+ const self = this;
14034
+
14035
+ try {
14036
+ Joi__default["default"].assert(params, Joi__default["default"].object().required());
14037
+ Joi__default["default"].assert(params.orgId, Joi__default["default"].string().required());
14038
+ Joi__default["default"].assert(params.id, Joi__default["default"].string().required());
14039
+ Joi__default["default"].assert(session, Joi__default["default"].string().required());
14040
+
14041
+ const { orgId, id } = params;
14042
+
14043
+ const apiCall = self._client.delete(
14044
+ `/admin/organizations/${orgId}/orgtags/${id}`,
14045
+ self._setHeader(session)
14046
+ );
14047
+
14048
+ return self._returnData(await apiCall);
14049
+ } catch (ex) {
14050
+ throw ex;
14051
+ }
14052
+ }
14053
+
14054
+ /**
14055
+ * @author Myndware <augusto.pissarra@myndware.com>
14056
+ * @description Update list items of an organization list
14057
+ * @param {object} params Parameters
14058
+ * @param {string} params.orgId Organization ID (required)
14059
+ * @param {string} params.id List ID (required)
14060
+ * @param {array} params.list Updated list items array (required)
14061
+ * @param {string} session JWT session token
14062
+ * @return {Promise<object>} Updated list document
14063
+ * @public
14064
+ * @async
14065
+ * @example
14066
+ *
14067
+ * const API = require('@docbrasil/api-systemmanager');
14068
+ * const api = new API();
14069
+ * const params = {
14070
+ * orgId: '5edd11c46b6ce9729c2c297c',
14071
+ * id: '55e4a3bd6be6b45210833fae',
14072
+ * list: [{ _id: '1', value: 'Item 1', filter: '', order: 0 }]
14073
+ * };
14074
+ * const session = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
14075
+ * const list = await api.admin.list.updateListItems(params, session);
14076
+ */
14077
+ async updateListItems(params = {}, session) {
14078
+ const self = this;
14079
+
14080
+ try {
14081
+ Joi__default["default"].assert(params, Joi__default["default"].object().required());
14082
+ Joi__default["default"].assert(params.orgId, Joi__default["default"].string().required());
14083
+ Joi__default["default"].assert(params.id, Joi__default["default"].string().required());
14084
+ Joi__default["default"].assert(params.list, Joi__default["default"].array().required());
14085
+ Joi__default["default"].assert(session, Joi__default["default"].string().required());
14086
+
14087
+ const { orgId, id, list } = params;
14088
+
14089
+ const apiCall = self._client.put(
14090
+ `/admin/organizations/${orgId}/orgtags/${id}`,
14091
+ { list },
14092
+ self._setHeader(session)
14093
+ );
14094
+
14095
+ return self._returnData(await apiCall);
14096
+ } catch (ex) {
14097
+ throw ex;
14098
+ }
14099
+ }
13886
14100
  }
13887
14101
 
13888
14102
  /**