aloux-iam 0.0.129 → 0.0.131

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.
@@ -2,7 +2,7 @@ const self = module.exports
2
2
 
3
3
  self.responseError = async (res, error) => {
4
4
  let obj = error
5
- if(!error.code){
5
+ if (!error.code) {
6
6
  obj = {
7
7
  code: 400,
8
8
  title: 'Error',
@@ -11,4 +11,12 @@ self.responseError = async (res, error) => {
11
11
  }
12
12
  }
13
13
  res.status(obj.code).send(obj)
14
+ }
15
+
16
+ self.generatePaginationResponse = async (count, page, itemsPerPage, items) => {
17
+ const totalPages = Math.ceil(count / itemsPerPage)
18
+ const currentPage = Math.max(1, Math.min(Number(page), totalPages))
19
+ const finalCurrentPage = totalPages === 0 ? 1 : currentPage
20
+ const remainingPages = Math.max(0, totalPages - finalCurrentPage)
21
+ return { currentPage: finalCurrentPage, totalPages, perPage: Number(itemsPerPage), count, remainingPages, items }
14
22
  }
@@ -1,4 +1,5 @@
1
1
  const Business = require("../models/Business");
2
+ const utils = require("../config/utils");
2
3
  const AlouxAWS = require("./operationsAWS");
3
4
  const errorController = require("../config/utils");
4
5
 
@@ -37,6 +38,37 @@ self.retrieve = async (req, res) => {
37
38
  }
38
39
  };
39
40
 
41
+
42
+ self.retrievePages = async (req, res) => {
43
+ try {
44
+ let { page = 1, itemsPerPage = 10, sort = { createdAt: -1 } } = req.body.config || {}
45
+ let query = {}
46
+ let attributes = { pwd: 0, tokens: 0 }
47
+
48
+ const count = await Business.countDocuments(query, attributes)
49
+ let items
50
+
51
+ if (Number(page) === 0 && Number(itemsPerPage) === 0) {
52
+ items = await Business.find(query, attributes)
53
+ .sort(sort)
54
+ .lean()
55
+ page = 1
56
+ itemsPerPage = count > 0 ? count : 1
57
+ } else {
58
+ items = await Business.find(query, attributes)
59
+ .skip(Number(itemsPerPage) * (Number(page) - 1))
60
+ .limit(Number(itemsPerPage))
61
+ .sort(sort)
62
+ .lean()
63
+ }
64
+
65
+ const response = await utils.generatePaginationResponse(count, page, itemsPerPage, items)
66
+ res.status(200).send(response);
67
+ } catch (error) {
68
+ res.status(400).send({ error: error.message });
69
+ }
70
+ }
71
+
40
72
  self.retrieveByCompany = async (req, res) => {
41
73
  try {
42
74
  const retrieve = await Business.find(
@@ -1,5 +1,5 @@
1
1
  const Functions = require('../models/Functions')
2
- const user = require('./user')
2
+ const utils = require("../config/utils");
3
3
  const self = module.exports
4
4
 
5
5
  self.create = async (req, res) => {
@@ -11,77 +11,107 @@ self.create = async (req, res) => {
11
11
  res.status(201).send(functions)
12
12
  } catch (error) {
13
13
  console.log(error)
14
- res.status(400).send({error:error.message})
14
+ res.status(400).send({ error: error.message })
15
15
  }
16
16
  }
17
17
 
18
18
  self.update = async (req, resp) => {
19
19
  try {
20
20
  await (new Functions(req.body)).validate()
21
- const count = await Functions.findOne({_id:req.params.FUNCTION_ID}).countDocuments()
22
- if(!count)
21
+ const count = await Functions.findOne({ _id: req.params.FUNCTION_ID }).countDocuments()
22
+ if (!count)
23
23
  throw new Error('Upss! No se encontró el registro')
24
- req.body.lastUpdate = (new Date()).getTime()
25
- const result = await Functions.updateOne({_id:req.params.FUNCTION_ID}, req.body)
24
+ req.body.lastUpdate = (new Date()).getTime()
25
+ const result = await Functions.updateOne({ _id: req.params.FUNCTION_ID }, req.body)
26
26
  resp.status(200).send(req.body)
27
27
  } catch (error) {
28
- resp.status(400).send({error:error.message})
28
+ resp.status(400).send({ error: error.message })
29
29
  }
30
30
  }
31
31
  self.status = async (req, resp) => {
32
32
  try {
33
33
  const _id = req.params.FUNCTION_ID
34
34
  const functions = await Functions.findOne({ _id })
35
- if(!functions)
35
+ if (!functions)
36
36
  throw new Error('Upss! No se encontró el Elemento')
37
- functions.status = req.body.status
38
- functions.lastUpdate = (new Date()).getTime()
37
+ functions.status = req.body.status
38
+ functions.lastUpdate = (new Date()).getTime()
39
39
  const result = await functions.save()
40
40
  resp.status(200).send(result)
41
41
  } catch (error) {
42
- resp.status(400).send({error:error.message})
42
+ resp.status(400).send({ error: error.message })
43
43
  }
44
44
  }
45
- self.retrieve = async(req, res) => {
45
+ self.retrieve = async (req, res) => {
46
46
  try {
47
- const response = await Functions.find({}).sort({ createdAt:-1 })
47
+ const response = await Functions.find({}).sort({ createdAt: -1 })
48
48
  res.status(200).send(response)
49
49
  } catch (error) {
50
50
  res.status(400).send(error)
51
51
  }
52
52
  }
53
53
 
54
- self.get = async(req, res) => {
54
+ self.retrievePages = async (req, res) => {
55
+ try {
56
+ let { page = 1, itemsPerPage = 10, sort = { createdAt: -1 } } = req.body.config || {}
57
+ let query = {}
58
+ let attributes = { pwd: 0, tokens: 0 }
59
+
60
+ const count = await Functions.countDocuments(query, attributes)
61
+ let items
62
+
63
+ if (Number(page) === 0 && Number(itemsPerPage) === 0) {
64
+ items = await Functions.find(query, attributes)
65
+ .sort(sort)
66
+ .lean()
67
+ page = 1
68
+ itemsPerPage = count > 0 ? count : 1
69
+ } else {
70
+ items = await Functions.find(query, attributes)
71
+ .skip(Number(itemsPerPage) * (Number(page) - 1))
72
+ .limit(Number(itemsPerPage))
73
+ .sort(sort)
74
+ .lean()
75
+ }
76
+
77
+ const response = await utils.generatePaginationResponse(count, page, itemsPerPage, items)
78
+ res.status(200).send(response);
79
+ } catch (error) {
80
+ res.status(400).send({ error: error.message });
81
+ }
82
+ }
83
+
84
+ self.get = async (req, res) => {
55
85
  try {
56
86
  const _id = req.params.FUNCTION_ID
57
- const functions = await Functions.findOne({ _id }).populate([{ path: "_permissions" },{ path: "_menus" }]).lean()
58
- if(!functions)
59
- res.status(404).send()
87
+ const functions = await Functions.findOne({ _id }).populate([{ path: "_permissions" }, { path: "_menus" }]).lean()
88
+ if (!functions)
89
+ res.status(404).send()
60
90
  res.status(200).send(functions)
61
91
  } catch (error) {
62
92
  res.status(400).send(error)
63
93
  }
64
94
  }
65
95
 
66
- self.delete = async(req, res) => {
96
+ self.delete = async (req, res) => {
67
97
  try {
68
98
 
69
99
  const _id = req.params.FUNCTION_ID
70
100
  const response = await Functions.deleteOne({ _id })
71
- if(!response.deletedCount)
72
- res.status(404).send({ error : "El registro no existe"})
101
+ if (!response.deletedCount)
102
+ res.status(404).send({ error: "El registro no existe" })
73
103
  else
74
104
  res.status(200).send({})
75
105
  } catch (error) {
76
- res.status(400).send({error:error.message})
106
+ res.status(400).send({ error: error.message })
77
107
  }
78
108
  }
79
109
 
80
- self.count = async(req, res) => {
110
+ self.count = async (req, res) => {
81
111
  try {
82
112
  let result = await Functions.find({}).countDocuments()
83
113
  res.status(200).send({ count: result })
84
114
  } catch (error) {
85
- res.status(400).send({error:error.message})
115
+ res.status(400).send({ error: error.message })
86
116
  }
87
117
  }
@@ -1,4 +1,5 @@
1
1
  const Menu = require('../models/Menu')
2
+ const utils = require("../config/utils");
2
3
  const self = module.exports
3
4
 
4
5
  self.create = async (req, res) => {
@@ -9,7 +10,7 @@ self.create = async (req, res) => {
9
10
  await menu.save()
10
11
  res.status(201).send(menu)
11
12
  } catch (error) {
12
- res.status(400).send({error:error.message})
13
+ res.status(400).send({ error: error.message })
13
14
  }
14
15
  }
15
16
 
@@ -17,86 +18,117 @@ self.update = async (req, resp) => {
17
18
  try {
18
19
  await (new Menu(req.body)).validate()
19
20
  const _id = req.params.MENU_ID
20
- const count = await Menu.findOne({_id}).countDocuments()
21
- if(!count)
21
+ const count = await Menu.findOne({ _id }).countDocuments()
22
+ if (!count)
22
23
  throw new Error('Upss! No se encontró el registro')
23
- req.body.lastUpdate = (new Date()).getTime()
24
- const result = await Menu.updateOne({_id}, req.body)
24
+ req.body.lastUpdate = (new Date()).getTime()
25
+ const result = await Menu.updateOne({ _id }, req.body)
25
26
  resp.status(200).send(req.body)
26
27
  } catch (error) {
27
- resp.status(400).send({error:error.message})
28
+ resp.status(400).send({ error: error.message })
28
29
  }
29
30
  }
30
31
  self.status = async (req, resp) => {
31
32
  try {
32
33
  const _id = req.params.MENU_ID
33
34
  const user = await Menu.findOne({ _id })
34
- if(!user)
35
+ if (!user)
35
36
  throw new Error('Upss! No se encontró el Elemento')
36
37
  user.status = req.body.status
37
38
  user.lastUpdate = (new Date()).getTime()
38
39
  const result = await user.save()
39
40
  resp.status(200).send(result)
40
41
  } catch (error) {
41
- resp.status(400).send({error:error.message})
42
+ resp.status(400).send({ error: error.message })
42
43
  }
43
44
  }
44
- self.retrieve = async(req, res) => {
45
+ self.retrieve = async (req, res) => {
45
46
  try {
46
- const consulta = await Menu.find({}).sort({index:1})
47
- if(!consulta)
48
- res.status(404).send()
47
+ const consulta = await Menu.find({}).sort({ index: 1 })
48
+ if (!consulta)
49
+ res.status(404).send()
49
50
  res.status(200).send(consulta)
50
51
  } catch (error) {
51
52
  res.status(400).send(error)
52
53
  }
53
54
  }
54
55
 
55
- self.get = async(req, res) => {
56
+
57
+ self.retrievePages = async (req, res) => {
58
+ try {
59
+ let { page = 1, itemsPerPage = 10, sort = { createdAt: -1 } } = req.body.config || {}
60
+ let query = {}
61
+ let attributes = { pwd: 0, tokens: 0 }
62
+
63
+ const count = await Menu.countDocuments(query, attributes)
64
+ let items
65
+
66
+ if (Number(page) === 0 && Number(itemsPerPage) === 0) {
67
+ items = await Menu.find(query, attributes)
68
+ .sort(sort)
69
+ .lean()
70
+ page = 1
71
+ itemsPerPage = count > 0 ? count : 1
72
+ } else {
73
+ items = await Menu.find(query, attributes)
74
+ .skip(Number(itemsPerPage) * (Number(page) - 1))
75
+ .limit(Number(itemsPerPage))
76
+ .sort(sort)
77
+ .lean()
78
+ }
79
+
80
+ const response = await utils.generatePaginationResponse(count, page, itemsPerPage, items)
81
+ res.status(200).send(response);
82
+ } catch (error) {
83
+ res.status(400).send({ error: error.message });
84
+ }
85
+ }
86
+
87
+ self.get = async (req, res) => {
56
88
  try {
57
89
  const _id = req.params.MENU_ID
58
- const menu = await Menu.findOne({_id})
59
- if(!menu)
60
- res.status(404).send()
90
+ const menu = await Menu.findOne({ _id })
91
+ if (!menu)
92
+ res.status(404).send()
61
93
  res.status(200).send(menu)
62
94
  } catch (error) {
63
95
  res.status(400).send(error)
64
96
  }
65
97
  }
66
98
 
67
- self.delete = async(req, res) => {
99
+ self.delete = async (req, res) => {
68
100
  try {
69
101
  const _id = req.params.MENU_ID
70
102
  const response = await Menu.deleteOne({ _id })
71
- if(!response.deletedCount)
72
- res.status(404).send({ error : "El registro no existe"})
103
+ if (!response.deletedCount)
104
+ res.status(404).send({ error: "El registro no existe" })
73
105
  else
74
106
  res.status(200).send({})
75
107
  } catch (error) {
76
- res.status(400).send({error:error.message})
108
+ res.status(400).send({ error: error.message })
77
109
  }
78
110
  }
79
111
 
80
112
  self.order = async (req, resp) => {
81
113
  try {
82
- if(!req.body.length)
114
+ if (!req.body.length)
83
115
  throw new Error('Upss! No se encontró el registro')
84
116
 
85
- for(let i in req.body){
117
+ for (let i in req.body) {
86
118
  const item = req.body[i]
87
- await Menu.updateOne({ _id:item._id }, { $set: { index: item.index } })
119
+ await Menu.updateOne({ _id: item._id }, { $set: { index: item.index } })
88
120
  }
89
121
  resp.status(200).send({})
90
122
  } catch (error) {
91
- resp.status(400).send({error:error.message})
123
+ resp.status(400).send({ error: error.message })
92
124
  }
93
125
  }
94
126
 
95
- self.count = async(req, res) => {
127
+ self.count = async (req, res) => {
96
128
  try {
97
129
  let result = await Menu.find({}).countDocuments()
98
130
  res.status(200).send({ count: result })
99
131
  } catch (error) {
100
- res.status(400).send({error:error.message})
132
+ res.status(400).send({ error: error.message })
101
133
  }
102
134
  }
@@ -1,4 +1,5 @@
1
1
  const Permission = require('../models/Permission')
2
+ const utils = require("../config/utils");
2
3
  const self = module.exports
3
4
 
4
5
  self.create = async (req, res) => {
@@ -9,7 +10,7 @@ self.create = async (req, res) => {
9
10
  await permission.save()
10
11
  res.status(201).send(permission)
11
12
  } catch (error) {
12
- switch(error.code){
13
+ switch (error.code) {
13
14
  case 11000: obj = { error: 'El campo ' + JSON.stringify(error.keyValue) + ' ya se encuentra dado de alta', suggestion: 'Revisa la información e intenta nuevamente.' }; break
14
15
  default: obj = error
15
16
  }
@@ -22,20 +23,20 @@ self.update = async (req, resp) => {
22
23
  await (new Permission(req.body)).validate()
23
24
  const _id = req.params.PERMISSION_ID
24
25
  const count = await Permission.findOne({ _id }).countDocuments()
25
- if(!count)
26
+ if (!count)
26
27
  throw new Error('Upss! No se encontró el registro')
27
28
  req.body.lastUpdate = (new Date()).getTime()
28
29
  const result = await Permission.updateOne({ _id }, req.body)
29
30
  resp.status(200).send(req.body)
30
31
  } catch (error) {
31
- resp.status(400).send({error:error.message})
32
+ resp.status(400).send({ error: error.message })
32
33
  }
33
34
  }
34
35
  self.status = async (req, resp) => {
35
36
  try {
36
37
  const _id = req.params.PERMISSION_ID
37
38
  const user = await Permission.findOne({ _id })
38
- if(!user)
39
+ if (!user)
39
40
  throw new Error('Upss! No se encontró el Elemento')
40
41
  user.status = req.body.status
41
42
  user.lastUpdate = (new Date()).getTime()
@@ -43,24 +44,54 @@ self.status = async (req, resp) => {
43
44
 
44
45
  resp.status(200).send(result)
45
46
  } catch (error) {
46
- resp.status(400).send({error:error.message})
47
+ resp.status(400).send({ error: error.message })
47
48
  }
48
49
  }
49
- self.retrieve = async(req, res) => {
50
+ self.retrieve = async (req, res) => {
50
51
  try {
51
- const consulta = await Permission.find({}).sort({createdAt:-1})
52
+ const consulta = await Permission.find({}).sort({ createdAt: -1 })
52
53
  res.status(200).send(consulta)
53
54
  } catch (error) {
54
55
  res.status(400).send(error)
55
56
  }
56
57
  }
57
58
 
58
- self.get = async(req, res) => {
59
+ self.retrievePages = async (req, res) => {
60
+ try {
61
+ let { page = 1, itemsPerPage = 10, sort = { createdAt: -1 } } = req.body.config || {}
62
+ let query = {}
63
+ let attributes = { pwd: 0, tokens: 0 }
64
+
65
+ const count = await Permission.countDocuments(query, attributes)
66
+ let items
67
+
68
+ if (Number(page) === 0 && Number(itemsPerPage) === 0) {
69
+ items = await Permission.find(query, attributes)
70
+ .sort(sort)
71
+ .lean()
72
+ page = 1
73
+ itemsPerPage = count > 0 ? count : 1
74
+ } else {
75
+ items = await Permission.find(query, attributes)
76
+ .skip(Number(itemsPerPage) * (Number(page) - 1))
77
+ .limit(Number(itemsPerPage))
78
+ .sort(sort)
79
+ .lean()
80
+ }
81
+
82
+ const response = await utils.generatePaginationResponse(count, page, itemsPerPage, items)
83
+ res.status(200).send(response);
84
+ } catch (error) {
85
+ res.status(400).send({ error: error.message });
86
+ }
87
+ }
88
+
89
+ self.get = async (req, res) => {
59
90
  try {
60
91
  const _id = req.params.PERMISSION_ID
61
- const permission = await Permission.findOne({_id})
62
- if(!permission)
63
- res.status(404).send()
92
+ const permission = await Permission.findOne({ _id })
93
+ if (!permission)
94
+ res.status(404).send()
64
95
  res.status(200).send(permission)
65
96
  } catch (error) {
66
97
  console.log(error)
@@ -68,24 +99,24 @@ self.get = async(req, res) => {
68
99
  }
69
100
  }
70
101
 
71
- self.delete = async(req, res) => {
102
+ self.delete = async (req, res) => {
72
103
  try {
73
104
  const _id = req.params.PERMISSION_ID
74
105
  const response = await Permission.deleteOne({ _id })
75
- if(!response.deletedCount)
76
- res.status(404).send({ error : "El registro no existe"})
106
+ if (!response.deletedCount)
107
+ res.status(404).send({ error: "El registro no existe" })
77
108
  else
78
109
  res.status(200).send({})
79
110
  } catch (error) {
80
- res.status(400).send({error:error.message})
111
+ res.status(400).send({ error: error.message })
81
112
  }
82
113
  }
83
114
 
84
- self.count = async(req, res) => {
115
+ self.count = async (req, res) => {
85
116
  try {
86
117
  let result = await Permission.find({}).countDocuments()
87
118
  res.status(200).send({ count: result })
88
119
  } catch (error) {
89
- res.status(400).send({error:error.message})
120
+ res.status(400).send({ error: error.message })
90
121
  }
91
122
  }
@@ -149,6 +149,37 @@ self.retrieve = async (req, res) => {
149
149
  }
150
150
  };
151
151
 
152
+ self.retrievePages = async (req, res) => {
153
+ try {
154
+
155
+ let { page = 1, itemsPerPage = 10, sort = { createdAt: -1 } } = req.body.config || {}
156
+ let query = {}
157
+ let attributes = { pwd: 0, tokens: 0 }
158
+
159
+ const count = await User.countDocuments(query, attributes)
160
+ let items
161
+
162
+ if (Number(page) === 0 && Number(itemsPerPage) === 0) {
163
+ items = await User.find(query, attributes)
164
+ .sort(sort)
165
+ .lean()
166
+ page = 1
167
+ itemsPerPage = count > 0 ? count : 1
168
+ } else {
169
+ items = await User.find(query, attributes)
170
+ .skip(Number(itemsPerPage) * (Number(page) - 1))
171
+ .limit(Number(itemsPerPage))
172
+ .sort(sort)
173
+ .lean()
174
+ }
175
+
176
+ const response = await utils.generatePaginationResponse(count, page, itemsPerPage, items)
177
+ res.status(200).send(response);
178
+ } catch (error) {
179
+ res.status(400).send({ error: error.message });
180
+ }
181
+ }
182
+
152
183
  self.retrieveByBusiness = async (req, res) => {
153
184
  try {
154
185
  const businessId = req.header("Business") || null;
package/lib/router.js CHANGED
@@ -41,6 +41,7 @@ router.post("/iam/auth/validate/mail", middleware, auth.validatEmailChange);
41
41
  // IAM / User
42
42
  router.post("/iam/user", middleware, user.create);
43
43
  router.get("/iam/user", middleware, user.retrieve);
44
+ router.post("/iam/user/pages", middleware, user.retrievePages);
44
45
  router.get("/iam/business/user", middleware, user.retrieveByBusiness);
45
46
  router.get("/iam/user/by/my/companies", middleware, user.retrieveByMyCompanies);
46
47
  router.get("/iam/user/:USER_ID", middleware, user.get);
@@ -55,6 +56,7 @@ router.post("/iam/functions", middleware, functions.create);
55
56
  router.patch("/iam/functions/:FUNCTION_ID", middleware, functions.update);
56
57
  router.put("/iam/functions/:FUNCTION_ID/status", middleware, functions.status);
57
58
  router.get("/iam/functions", middleware, functions.retrieve);
59
+ router.post("/iam/functions/pages", middleware, functions.retrievePages);
58
60
  router.get("/iam/functions/:FUNCTION_ID", middleware, functions.get);
59
61
  router.delete("/iam/functions/:FUNCTION_ID", middleware, functions.delete);
60
62
  router.get("/iam/functions/count/all", middleware, functions.count);
@@ -68,6 +70,7 @@ router.put(
68
70
  permission.status
69
71
  );
70
72
  router.get("/iam/permission", middleware, permission.retrieve);
73
+ router.post("/iam/permission/pages", middleware, permission.retrievePages);
71
74
  router.get("/iam/permission/:PERMISSION_ID", middleware, permission.get);
72
75
  router.delete("/iam/permission/:PERMISSION_ID", middleware, permission.delete);
73
76
  router.get("/iam/permission/count/all", middleware, permission.count);
@@ -77,6 +80,7 @@ router.post("/iam/menu", middleware, menu.create);
77
80
  router.patch("/iam/menu/:MENU_ID", middleware, menu.update);
78
81
  router.put("/iam/menu/:MENU_ID/status", middleware, menu.status);
79
82
  router.get("/iam/menu", middleware, menu.retrieve);
83
+ router.post("/iam/menu/pages", middleware, menu.retrievePages);
80
84
  router.get("/iam/menu/:MENU_ID", middleware, menu.get);
81
85
  router.delete("/iam/menu/:MENU_ID", middleware, menu.delete);
82
86
  router.post("/iam/menu/order", middleware, menu.order);
@@ -110,6 +114,7 @@ router.get("/iam/log/count/all", middleware, log.count);
110
114
  //Business
111
115
  router.post("/iam/business", middleware, business.create);
112
116
  router.get("/iam/business", middleware, business.retrieve);
117
+ router.post("/iam/business/pages", middleware, business.retrievePages);
113
118
  router.post("/iam/business/company", middleware, business.retrieveByCompany);
114
119
  router.get("/iam/business/my", middleware, business.retrieveMy);
115
120
  router.get(
package/lib/swagger.yaml CHANGED
@@ -653,6 +653,38 @@ paths:
653
653
  responses:
654
654
  '200': # status code
655
655
  description: Retorna el resultado de la respuesta
656
+ /iam/user/pages:
657
+ post:
658
+ summary: Listar usuarios (Paginado)
659
+ tags:
660
+ - users
661
+ security:
662
+ - bearerAuth: []
663
+ requestBody:
664
+ description: Configuración de paginación
665
+ content:
666
+ application/json:
667
+ schema:
668
+ type: object
669
+ properties:
670
+ config:
671
+ type: object
672
+ properties:
673
+ page:
674
+ type: integer
675
+ default: 1
676
+ itemsPerPage:
677
+ type: integer
678
+ default: 10
679
+ filter:
680
+ type: object
681
+ example:
682
+ config:
683
+ page: 1
684
+ itemsPerPage: 10
685
+ responses:
686
+ '200':
687
+ description: ok
656
688
  /iam/functions:
657
689
  post:
658
690
  summary: Crea una función
@@ -801,6 +833,38 @@ paths:
801
833
  responses:
802
834
  '200': # status code
803
835
  description: Retorna el resultado de la respuesta
836
+ /iam/functions/pages:
837
+ post:
838
+ summary: Listar funciones (Paginado)
839
+ tags:
840
+ - functions
841
+ security:
842
+ - bearerAuth: []
843
+ requestBody:
844
+ description: Configuración de paginación
845
+ content:
846
+ application/json:
847
+ schema:
848
+ type: object
849
+ properties:
850
+ config:
851
+ type: object
852
+ properties:
853
+ page:
854
+ type: integer
855
+ default: 1
856
+ itemsPerPage:
857
+ type: integer
858
+ default: 10
859
+ filter:
860
+ type: object
861
+ example:
862
+ config:
863
+ page: 1
864
+ itemsPerPage: 10
865
+ responses:
866
+ '200':
867
+ description: ok
804
868
  /iam/permission:
805
869
  post:
806
870
  summary: Crea un permiso
@@ -979,6 +1043,38 @@ paths:
979
1043
  responses:
980
1044
  '200': # status code
981
1045
  description: Retorna el resultado de la respuesta
1046
+ /iam/permission/pages:
1047
+ post:
1048
+ summary: Listar permisos (Paginado)
1049
+ tags:
1050
+ - permissions
1051
+ security:
1052
+ - bearerAuth: []
1053
+ requestBody:
1054
+ description: Configuración de paginación
1055
+ content:
1056
+ application/json:
1057
+ schema:
1058
+ type: object
1059
+ properties:
1060
+ config:
1061
+ type: object
1062
+ properties:
1063
+ page:
1064
+ type: integer
1065
+ default: 1
1066
+ itemsPerPage:
1067
+ type: integer
1068
+ default: 10
1069
+ filter:
1070
+ type: object
1071
+ example:
1072
+ config:
1073
+ page: 1
1074
+ itemsPerPage: 10
1075
+ responses:
1076
+ '200':
1077
+ description: ok
982
1078
  /iam/menu:
983
1079
  post:
984
1080
  summary: Crea un menú
@@ -1179,6 +1275,38 @@ paths:
1179
1275
  responses:
1180
1276
  '200': # status code
1181
1277
  description: Retorna el resultado de la respuesta
1278
+ /iam/menu/pages:
1279
+ post:
1280
+ summary: Listar menus (Paginado)
1281
+ tags:
1282
+ - menús
1283
+ security:
1284
+ - bearerAuth: []
1285
+ requestBody:
1286
+ description: Configuración de paginación
1287
+ content:
1288
+ application/json:
1289
+ schema:
1290
+ type: object
1291
+ properties:
1292
+ config:
1293
+ type: object
1294
+ properties:
1295
+ page:
1296
+ type: integer
1297
+ default: 1
1298
+ itemsPerPage:
1299
+ type: integer
1300
+ default: 10
1301
+ filter:
1302
+ type: object
1303
+ example:
1304
+ config:
1305
+ page: 1
1306
+ itemsPerPage: 10
1307
+ responses:
1308
+ '200':
1309
+ description: ok
1182
1310
  /iam/history:
1183
1311
  post:
1184
1312
  summary: Obtener todo el historial paginado
@@ -1229,4 +1357,36 @@ paths:
1229
1357
  - bearerAuth: []
1230
1358
  responses:
1231
1359
  '200': # status code
1232
- description: Retorna un objeto
1360
+ description: Retorna un objeto
1361
+ /iam/business/pages:
1362
+ post:
1363
+ summary: Listar negocios (Paginado)
1364
+ tags:
1365
+ - business
1366
+ security:
1367
+ - bearerAuth: []
1368
+ requestBody:
1369
+ description: Configuración de paginación
1370
+ content:
1371
+ application/json:
1372
+ schema:
1373
+ type: object
1374
+ properties:
1375
+ config:
1376
+ type: object
1377
+ properties:
1378
+ page:
1379
+ type: integer
1380
+ default: 1
1381
+ itemsPerPage:
1382
+ type: integer
1383
+ default: 10
1384
+ filter:
1385
+ type: object
1386
+ example:
1387
+ config:
1388
+ page: 1
1389
+ itemsPerPage: 10
1390
+ responses:
1391
+ '200':
1392
+ description: ok
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aloux-iam",
3
- "version": "0.0.129",
3
+ "version": "0.0.131",
4
4
  "description": "Aloux IAM for APIs ",
5
5
  "main": "index.js",
6
6
  "scripts": {