aloux-iam 0.0.128 → 0.0.130

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
  }
@@ -37,6 +37,37 @@ self.retrieve = async (req, res) => {
37
37
  }
38
38
  };
39
39
 
40
+
41
+ self.retrievePages = async (req, res) => {
42
+ try {
43
+ let { page = 1, itemsPerPage = 10, sort = { createdAt: -1 } } = req.body.config || {}
44
+ let query = {}
45
+ let attributes = { pwd: 0, tokens: 0 }
46
+
47
+ const count = await Business.countDocuments(query, attributes)
48
+ let items
49
+
50
+ if (Number(page) === 0 && Number(itemsPerPage) === 0) {
51
+ items = await Business.find(query, attributes)
52
+ .sort(sort)
53
+ .lean()
54
+ page = 1
55
+ itemsPerPage = count > 0 ? count : 1
56
+ } else {
57
+ items = await Business.find(query, attributes)
58
+ .skip(Number(itemsPerPage) * (Number(page) - 1))
59
+ .limit(Number(itemsPerPage))
60
+ .sort(sort)
61
+ .lean()
62
+ }
63
+
64
+ const response = await utils.generatePaginationResponse(count, page, itemsPerPage, items)
65
+ res.status(200).send(response);
66
+ } catch (error) {
67
+ res.status(400).send({ error: error.message });
68
+ }
69
+ }
70
+
40
71
  self.retrieveByCompany = async (req, res) => {
41
72
  try {
42
73
  const retrieve = await Business.find(
@@ -1,5 +1,5 @@
1
1
  const Functions = require('../models/Functions')
2
- const user = require('./user')
2
+ const user = require('./user')
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
  }
@@ -9,7 +9,7 @@ self.create = async (req, res) => {
9
9
  await menu.save()
10
10
  res.status(201).send(menu)
11
11
  } catch (error) {
12
- res.status(400).send({error:error.message})
12
+ res.status(400).send({ error: error.message })
13
13
  }
14
14
  }
15
15
 
@@ -17,86 +17,117 @@ self.update = async (req, resp) => {
17
17
  try {
18
18
  await (new Menu(req.body)).validate()
19
19
  const _id = req.params.MENU_ID
20
- const count = await Menu.findOne({_id}).countDocuments()
21
- if(!count)
20
+ const count = await Menu.findOne({ _id }).countDocuments()
21
+ if (!count)
22
22
  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)
23
+ req.body.lastUpdate = (new Date()).getTime()
24
+ const result = await Menu.updateOne({ _id }, req.body)
25
25
  resp.status(200).send(req.body)
26
26
  } catch (error) {
27
- resp.status(400).send({error:error.message})
27
+ resp.status(400).send({ error: error.message })
28
28
  }
29
29
  }
30
30
  self.status = async (req, resp) => {
31
31
  try {
32
32
  const _id = req.params.MENU_ID
33
33
  const user = await Menu.findOne({ _id })
34
- if(!user)
34
+ if (!user)
35
35
  throw new Error('Upss! No se encontró el Elemento')
36
36
  user.status = req.body.status
37
37
  user.lastUpdate = (new Date()).getTime()
38
38
  const result = await user.save()
39
39
  resp.status(200).send(result)
40
40
  } catch (error) {
41
- resp.status(400).send({error:error.message})
41
+ resp.status(400).send({ error: error.message })
42
42
  }
43
43
  }
44
- self.retrieve = async(req, res) => {
44
+ self.retrieve = async (req, res) => {
45
45
  try {
46
- const consulta = await Menu.find({}).sort({index:1})
47
- if(!consulta)
48
- res.status(404).send()
46
+ const consulta = await Menu.find({}).sort({ index: 1 })
47
+ if (!consulta)
48
+ res.status(404).send()
49
49
  res.status(200).send(consulta)
50
50
  } catch (error) {
51
51
  res.status(400).send(error)
52
52
  }
53
53
  }
54
54
 
55
- self.get = async(req, res) => {
55
+
56
+ self.retrievePages = async (req, res) => {
57
+ try {
58
+ let { page = 1, itemsPerPage = 10, sort = { createdAt: -1 } } = req.body.config || {}
59
+ let query = {}
60
+ let attributes = { pwd: 0, tokens: 0 }
61
+
62
+ const count = await Menu.countDocuments(query, attributes)
63
+ let items
64
+
65
+ if (Number(page) === 0 && Number(itemsPerPage) === 0) {
66
+ items = await Menu.find(query, attributes)
67
+ .sort(sort)
68
+ .lean()
69
+ page = 1
70
+ itemsPerPage = count > 0 ? count : 1
71
+ } else {
72
+ items = await Menu.find(query, attributes)
73
+ .skip(Number(itemsPerPage) * (Number(page) - 1))
74
+ .limit(Number(itemsPerPage))
75
+ .sort(sort)
76
+ .lean()
77
+ }
78
+
79
+ const response = await utils.generatePaginationResponse(count, page, itemsPerPage, items)
80
+ res.status(200).send(response);
81
+ } catch (error) {
82
+ res.status(400).send({ error: error.message });
83
+ }
84
+ }
85
+
86
+ self.get = async (req, res) => {
56
87
  try {
57
88
  const _id = req.params.MENU_ID
58
- const menu = await Menu.findOne({_id})
59
- if(!menu)
60
- res.status(404).send()
89
+ const menu = await Menu.findOne({ _id })
90
+ if (!menu)
91
+ res.status(404).send()
61
92
  res.status(200).send(menu)
62
93
  } catch (error) {
63
94
  res.status(400).send(error)
64
95
  }
65
96
  }
66
97
 
67
- self.delete = async(req, res) => {
98
+ self.delete = async (req, res) => {
68
99
  try {
69
100
  const _id = req.params.MENU_ID
70
101
  const response = await Menu.deleteOne({ _id })
71
- if(!response.deletedCount)
72
- res.status(404).send({ error : "El registro no existe"})
102
+ if (!response.deletedCount)
103
+ res.status(404).send({ error: "El registro no existe" })
73
104
  else
74
105
  res.status(200).send({})
75
106
  } catch (error) {
76
- res.status(400).send({error:error.message})
107
+ res.status(400).send({ error: error.message })
77
108
  }
78
109
  }
79
110
 
80
111
  self.order = async (req, resp) => {
81
112
  try {
82
- if(!req.body.length)
113
+ if (!req.body.length)
83
114
  throw new Error('Upss! No se encontró el registro')
84
115
 
85
- for(let i in req.body){
116
+ for (let i in req.body) {
86
117
  const item = req.body[i]
87
- await Menu.updateOne({ _id:item._id }, { $set: { index: item.index } })
118
+ await Menu.updateOne({ _id: item._id }, { $set: { index: item.index } })
88
119
  }
89
120
  resp.status(200).send({})
90
121
  } catch (error) {
91
- resp.status(400).send({error:error.message})
122
+ resp.status(400).send({ error: error.message })
92
123
  }
93
124
  }
94
125
 
95
- self.count = async(req, res) => {
126
+ self.count = async (req, res) => {
96
127
  try {
97
128
  let result = await Menu.find({}).countDocuments()
98
129
  res.status(200).send({ count: result })
99
130
  } catch (error) {
100
- res.status(400).send({error:error.message})
131
+ res.status(400).send({ error: error.message })
101
132
  }
102
133
  }
@@ -9,7 +9,7 @@ self.create = async (req, res) => {
9
9
  await permission.save()
10
10
  res.status(201).send(permission)
11
11
  } catch (error) {
12
- switch(error.code){
12
+ switch (error.code) {
13
13
  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
14
  default: obj = error
15
15
  }
@@ -22,20 +22,20 @@ self.update = async (req, resp) => {
22
22
  await (new Permission(req.body)).validate()
23
23
  const _id = req.params.PERMISSION_ID
24
24
  const count = await Permission.findOne({ _id }).countDocuments()
25
- if(!count)
25
+ if (!count)
26
26
  throw new Error('Upss! No se encontró el registro')
27
27
  req.body.lastUpdate = (new Date()).getTime()
28
28
  const result = await Permission.updateOne({ _id }, req.body)
29
29
  resp.status(200).send(req.body)
30
30
  } catch (error) {
31
- resp.status(400).send({error:error.message})
31
+ resp.status(400).send({ error: error.message })
32
32
  }
33
33
  }
34
34
  self.status = async (req, resp) => {
35
35
  try {
36
36
  const _id = req.params.PERMISSION_ID
37
37
  const user = await Permission.findOne({ _id })
38
- if(!user)
38
+ if (!user)
39
39
  throw new Error('Upss! No se encontró el Elemento')
40
40
  user.status = req.body.status
41
41
  user.lastUpdate = (new Date()).getTime()
@@ -43,24 +43,54 @@ self.status = async (req, resp) => {
43
43
 
44
44
  resp.status(200).send(result)
45
45
  } catch (error) {
46
- resp.status(400).send({error:error.message})
46
+ resp.status(400).send({ error: error.message })
47
47
  }
48
48
  }
49
- self.retrieve = async(req, res) => {
49
+ self.retrieve = async (req, res) => {
50
50
  try {
51
- const consulta = await Permission.find({}).sort({createdAt:-1})
51
+ const consulta = await Permission.find({}).sort({ createdAt: -1 })
52
52
  res.status(200).send(consulta)
53
53
  } catch (error) {
54
54
  res.status(400).send(error)
55
55
  }
56
56
  }
57
57
 
58
- self.get = async(req, res) => {
58
+ self.retrievePages = async (req, res) => {
59
+ try {
60
+ let { page = 1, itemsPerPage = 10, sort = { createdAt: -1 } } = req.body.config || {}
61
+ let query = {}
62
+ let attributes = { pwd: 0, tokens: 0 }
63
+
64
+ const count = await Permission.countDocuments(query, attributes)
65
+ let items
66
+
67
+ if (Number(page) === 0 && Number(itemsPerPage) === 0) {
68
+ items = await Permission.find(query, attributes)
69
+ .sort(sort)
70
+ .lean()
71
+ page = 1
72
+ itemsPerPage = count > 0 ? count : 1
73
+ } else {
74
+ items = await Permission.find(query, attributes)
75
+ .skip(Number(itemsPerPage) * (Number(page) - 1))
76
+ .limit(Number(itemsPerPage))
77
+ .sort(sort)
78
+ .lean()
79
+ }
80
+
81
+ const response = await utils.generatePaginationResponse(count, page, itemsPerPage, items)
82
+ res.status(200).send(response);
83
+ } catch (error) {
84
+ res.status(400).send({ error: error.message });
85
+ }
86
+ }
87
+
88
+ self.get = async (req, res) => {
59
89
  try {
60
90
  const _id = req.params.PERMISSION_ID
61
- const permission = await Permission.findOne({_id}).populate({ path: "_menu" })
62
- if(!permission)
63
- res.status(404).send()
91
+ const permission = await Permission.findOne({ _id })
92
+ if (!permission)
93
+ res.status(404).send()
64
94
  res.status(200).send(permission)
65
95
  } catch (error) {
66
96
  console.log(error)
@@ -68,24 +98,24 @@ self.get = async(req, res) => {
68
98
  }
69
99
  }
70
100
 
71
- self.delete = async(req, res) => {
101
+ self.delete = async (req, res) => {
72
102
  try {
73
103
  const _id = req.params.PERMISSION_ID
74
104
  const response = await Permission.deleteOne({ _id })
75
- if(!response.deletedCount)
76
- res.status(404).send({ error : "El registro no existe"})
105
+ if (!response.deletedCount)
106
+ res.status(404).send({ error: "El registro no existe" })
77
107
  else
78
108
  res.status(200).send({})
79
109
  } catch (error) {
80
- res.status(400).send({error:error.message})
110
+ res.status(400).send({ error: error.message })
81
111
  }
82
112
  }
83
113
 
84
- self.count = async(req, res) => {
114
+ self.count = async (req, res) => {
85
115
  try {
86
116
  let result = await Permission.find({}).countDocuments()
87
117
  res.status(200).send({ count: result })
88
118
  } catch (error) {
89
- res.status(400).send({error:error.message})
119
+ res.status(400).send({ error: error.message })
90
120
  }
91
121
  }
@@ -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.128",
3
+ "version": "0.0.130",
4
4
  "description": "Aloux IAM for APIs ",
5
5
  "main": "index.js",
6
6
  "scripts": {