aloux-iam 0.0.115 → 0.0.117
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/.gitattributes +2 -2
- package/CONTRIBUTING.md +1 -1
- package/LICENSE +21 -21
- package/README.md +271 -271
- package/index.js +38 -38
- package/lib/config/utils.js +13 -13
- package/lib/controllers/auth.js +166 -166
- package/lib/controllers/functions.js +86 -86
- package/lib/controllers/history.js +97 -97
- package/lib/controllers/label.js +82 -82
- package/lib/controllers/log.js +268 -268
- package/lib/controllers/menu.js +101 -101
- package/lib/controllers/operationsAWS.js +228 -228
- package/lib/controllers/permission.js +90 -90
- package/lib/controllers/user.js +880 -880
- package/lib/middleware.js +146 -146
- package/lib/models/Business.js +14 -14
- package/lib/models/Functions.js +13 -13
- package/lib/models/History.js +15 -15
- package/lib/models/Label.js +13 -13
- package/lib/models/Log.js +11 -11
- package/lib/models/Menu.js +17 -17
- package/lib/models/Permission.js +16 -16
- package/lib/models/User.js +115 -115
- package/lib/models/UserProvisional.js +10 -10
- package/lib/router.js +104 -104
- package/lib/services/auth.js +958 -956
- package/lib/services/bigQuery.js +87 -87
- package/lib/services/s3.js +71 -71
- package/lib/services/ses.js +97 -97
- package/lib/services/sns.js +21 -21
- package/lib/services/user.js +99 -99
- package/lib/swagger.yaml +1231 -1231
- package/package.json +38 -38
package/.gitattributes
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
# Auto detect text files and perform LF normalization
|
|
2
|
-
* text=auto
|
|
1
|
+
# Auto detect text files and perform LF normalization
|
|
2
|
+
* text=auto
|
package/CONTRIBUTING.md
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
# How to contribute
|
|
1
|
+
# How to contribute
|
package/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2023 Aloux
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2023 Aloux
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,272 +1,272 @@
|
|
|
1
|
-
# Aloux IAM
|
|
2
|
-
|
|
3
|
-
Uso de esta librearía para administración de menus, privilegios, funciones, usuarios y envio de notificaciones por medio de correos y mensajes de texto
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
$ npm install aloux-iam --save
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
## Usage
|
|
13
|
-
En archivo `init.js`
|
|
14
|
-
|
|
15
|
-
```js
|
|
16
|
-
// Require
|
|
17
|
-
const { IAMRouter, IAMSwagger } = require('aloux-iam')
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
app.use(IAMRouter)
|
|
21
|
-
|
|
22
|
-
// swagger
|
|
23
|
-
app.use(
|
|
24
|
-
"/aloux-iam",
|
|
25
|
-
swaggerUI.serveFiles(IAMswagger, {}),
|
|
26
|
-
swaggerUI.setup(IAMswagger)
|
|
27
|
-
)
|
|
28
|
-
|
|
29
|
-
// URL Swagger
|
|
30
|
-
// [BASE_URL]/docs-iam/#/default/
|
|
31
|
-
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
En archivo `router.js`
|
|
36
|
-
|
|
37
|
-
```js
|
|
38
|
-
// Require
|
|
39
|
-
const { IAMAuth } = require('aloux-iam')
|
|
40
|
-
|
|
41
|
-
// Example
|
|
42
|
-
router.post('/customer', IAMAuth, customer.create)
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
## Variables de entorno
|
|
46
|
-
|
|
47
|
-
Requiere las siguientes variables de entorno (.env)
|
|
48
|
-
|
|
49
|
-
| Variable | Description |
|
|
50
|
-
| ----------------------|---------------|
|
|
51
|
-
| AUTH_SECRET | Required, para cifrar la contraseña |
|
|
52
|
-
| AWS_SECRET_ACCESS_KEY | Required, para acceso a S3 y SES AWS. |
|
|
53
|
-
| AWS_ACCESS_KEY_ID | Required, para acceso a S3 y SES AWS. |
|
|
54
|
-
| AWS_REGION | Required, para acceso a S3 y SES AWS. |
|
|
55
|
-
| AWS_BUCKET | Required, para guardar la foto de perfil en AWS. |
|
|
56
|
-
| AWS_EMAIL_SENDER | Required, para mandar el correo de recuperación de contraseña |
|
|
57
|
-
| DEBUG | Required, para validar si el ambiente es dev o PROD |
|
|
58
|
-
| SWAGGER_SERVER | Required, para acceder al swagger de IAM |
|
|
59
|
-
| MASTER_PWD | Optional, para utilizar contraseña maestra de usuarios en desarrollo |
|
|
60
|
-
| BASE_URL | Optional, para swagger |
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
## Endpoints disponibles
|
|
64
|
-
|
|
65
|
-
### Endpoints user self (no auth)
|
|
66
|
-
|
|
67
|
-
| Method | Endpoint | Description |
|
|
68
|
-
| --------- | --------------------------|---------------|
|
|
69
|
-
| POST | iam/auth/email | Validar correo |
|
|
70
|
-
| POST | iam/auth/login | Iniciar sesión |
|
|
71
|
-
| POST | iam/auth/forgot/password | Enviar código a correo |
|
|
72
|
-
| POST | iam/auth/validate/code | Verificar código |
|
|
73
|
-
| POST | iam/auth/verify/mail | Verificar correo |
|
|
74
|
-
| GET | iam/auth/verify/mail/token/:token | Valida correo (Manda correo de bienvenida) |
|
|
75
|
-
| POST | iam/auth/reset/password | Reestablecer contraseña |
|
|
76
|
-
| POST | iam/auth/signup | Registrarse |
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
### Endpoints user self
|
|
80
|
-
|
|
81
|
-
| Method | Endpoint | Description |
|
|
82
|
-
| --------- | --------------------------|---------------|
|
|
83
|
-
| GET | iam/auth/me | Obtener información de usuario autenticado |
|
|
84
|
-
| PUT | iam/auth/profile | Actualizar perfil |
|
|
85
|
-
| PUT | iam/auth/profile/pictura | Actualizar solo la foto de perfil |
|
|
86
|
-
| PUT | iam/auth/reset/password | Actualizar contraseña |
|
|
87
|
-
| POST | iam/auth/send/verify/phone | Enviar código al teléfono de la cuenta para verificarla |
|
|
88
|
-
| POST | iam/auth/verify/phone | Valida teléfono del usuario de la cuenta |
|
|
89
|
-
| POST | iam/auth/logout | Cerrar sesión |
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
### Endpoints user
|
|
93
|
-
|
|
94
|
-
| Method | Endpoint | Description |
|
|
95
|
-
| --------- | ------------------------------|----------------|
|
|
96
|
-
| POST | iam/user | Crear usuario |
|
|
97
|
-
| GET | iam/user | Obtener todos los usuario |
|
|
98
|
-
| GET | iam/user/:USER_ID | Obtener detalle de usuario |
|
|
99
|
-
| PUT | iam/user/:USER_ID | Actualizar usuario |
|
|
100
|
-
| PUT | iam/user/:USER_ID/status | Activar o desactivar usuario |
|
|
101
|
-
| PUT | iam/user/password/:USER_ID | Actualizar la constraseña de un usuario |
|
|
102
|
-
| DELETE | iam/user/:USER_ID | Eliminar usuario |
|
|
103
|
-
| GET | iam/user/count/all | Obtiene el número de usuarios |
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
### Endpoints funtions
|
|
107
|
-
|
|
108
|
-
| Method | Endpoint | Description |
|
|
109
|
-
| --------- | --------------------------------------|----------------|
|
|
110
|
-
| POST | iam/functions | Crear función |
|
|
111
|
-
| PUT | iam/functions/:FUNCTION_ID | Actualizar función |
|
|
112
|
-
| PUT | iam/functions/:FUNCTION_ID/status | Activar o desactivar función |
|
|
113
|
-
| GET | iam/functions | Obtener todas las funciones |
|
|
114
|
-
| GET | iam/functions/:FUNCTION_ID | Obtener detalle de la función |
|
|
115
|
-
| DELETE | iam/functions/:FUNCTION_ID | Eliminar función |
|
|
116
|
-
| GET | iam/functions/count/all | Obtiene el número de funciones |
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
### Endpoints permission
|
|
120
|
-
|
|
121
|
-
| Method | Endpoint | Description |
|
|
122
|
-
| --------- | ------------------------------------------|---------------|
|
|
123
|
-
| POST | iam/permission | Crear permiso
|
|
124
|
-
| PUT | iam/permission/:PERMISSION_ID | Actualizar permiso |
|
|
125
|
-
| PUT | iam/permission/:PERMISSION_ID/status | Activar o desactivar permiso |
|
|
126
|
-
| GET | iam/permission | Obtener todas los permisos |
|
|
127
|
-
| GET | iam/permission/:PERMISSION_ID | Obtener detalle de la permiso |
|
|
128
|
-
| DELETE | iam/permission/:PERMISSION_ID | Eliminar permiso |
|
|
129
|
-
| GET | iam/permission/count/all | Obtiene el número de permisos |
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
### Endpoints menu
|
|
133
|
-
|
|
134
|
-
| Method | Endpoint | Description |
|
|
135
|
-
| --------- | --------------------------|---------------|
|
|
136
|
-
| POST | /iam/menu | Crea un elemento de menú |
|
|
137
|
-
| PUT | /iam/menu/:MENU_ID | Actualiza un elemento de menú |
|
|
138
|
-
| PUT | /iam/menu/:MENU_ID/status | Activa o desactiva un menú |
|
|
139
|
-
| GET | /iam/menu | Obtiene todos los elementos de menú |
|
|
140
|
-
| GET | /iam/menu/:MENU_ID | Obtiene el detalle de un elemento de menú |
|
|
141
|
-
| DELETE | /iam/menu/:MENU_ID | Elimina un elemento de menú |
|
|
142
|
-
| POST | /iam/menu/order | Ordena los elementos de menú |
|
|
143
|
-
| GET | iam/menu/count | Obtiene el número de menús |
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
## Aloux-AWS
|
|
147
|
-
#### Aggregate file
|
|
148
|
-
```js
|
|
149
|
-
// Require
|
|
150
|
-
const { AlouxAWS } = require('aloux-iam')
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
// variables
|
|
154
|
-
/*
|
|
155
|
-
* AWS_REGION
|
|
156
|
-
* AWS_BUCKET
|
|
157
|
-
*/
|
|
158
|
-
|
|
159
|
-
/**
|
|
160
|
-
* pathFile = folder/file_name-file_id
|
|
161
|
-
* file = req.files.property
|
|
162
|
-
*/
|
|
163
|
-
// a constant is created to save the new element
|
|
164
|
-
const result = await AlouxAWS.upload('folder/file_name', req.files.data)
|
|
165
|
-
|
|
166
|
-
```
|
|
167
|
-
|
|
168
|
-
#### Eliminate many files
|
|
169
|
-
```js
|
|
170
|
-
// Require
|
|
171
|
-
const { AlouxAWS } = require('aloux-iam')
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
// variables
|
|
175
|
-
/*
|
|
176
|
-
* AWS_REGION
|
|
177
|
-
* AWS_BUCKET
|
|
178
|
-
*/
|
|
179
|
-
|
|
180
|
-
/**
|
|
181
|
-
* files = [{key: 'folder/file1'},{key: 'folder/file1'}]
|
|
182
|
-
*/
|
|
183
|
-
// delete selected files
|
|
184
|
-
const files = [{key: 'folder/file1.png'},{key: 'folder/file1.png'}]
|
|
185
|
-
const deleteFiles = await AlouxAWS.deleteMany(files)
|
|
186
|
-
|
|
187
|
-
```
|
|
188
|
-
|
|
189
|
-
#### Eliminate file
|
|
190
|
-
```js
|
|
191
|
-
// Require
|
|
192
|
-
const { AlouxAWS } = require('aloux-iam')
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
// variables
|
|
196
|
-
/*
|
|
197
|
-
* AWS_REGION
|
|
198
|
-
* AWS_BUCKET
|
|
199
|
-
*/
|
|
200
|
-
|
|
201
|
-
/**
|
|
202
|
-
* file = folder/file_name
|
|
203
|
-
*/
|
|
204
|
-
// delete the file
|
|
205
|
-
const file = 'folder/file_name.png'
|
|
206
|
-
const deleteFile = await AlouxAWS.delete(file)
|
|
207
|
-
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
### Usage for emails
|
|
211
|
-
#### Send email
|
|
212
|
-
```js
|
|
213
|
-
// Require
|
|
214
|
-
const { AlouxAWS } = require('aloux-iam')
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
// variables
|
|
218
|
-
/*
|
|
219
|
-
* AWS_REGION
|
|
220
|
-
* AWS_EMAIL_SENDER
|
|
221
|
-
*/
|
|
222
|
-
|
|
223
|
-
/**
|
|
224
|
-
* email: Destination email
|
|
225
|
-
* message: Mail body
|
|
226
|
-
* subject: Mail subject
|
|
227
|
-
*/
|
|
228
|
-
// a constant is created to request the data from the req.body.
|
|
229
|
-
const { email, message, subject } = req.body
|
|
230
|
-
const sendEmail = await AlouxAWS.sendCustom(email, message, subject)
|
|
231
|
-
|
|
232
|
-
// example of the messages variable
|
|
233
|
-
// this variable must be sent as a string if you want to send modified HTML
|
|
234
|
-
/*
|
|
235
|
-
|
|
236
|
-
message: "<!DOCTYPE html><html lang='en'><head><meta charset='UTF-8'><meta name='viewport' content='width=device-width, initial-scale=1.0'><title>Document</title></head><body><h1>Information</h1></body></html>"
|
|
237
|
-
|
|
238
|
-
*/
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
```
|
|
242
|
-
|
|
243
|
-
### Usage for sns
|
|
244
|
-
#### Send sns
|
|
245
|
-
```js
|
|
246
|
-
// Require
|
|
247
|
-
const { AlouxAWS } = require('aloux-iam')
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
// variables
|
|
251
|
-
/*
|
|
252
|
-
* AWS_REGION
|
|
253
|
-
*/
|
|
254
|
-
|
|
255
|
-
/**
|
|
256
|
-
* phoneNumber: Destination number
|
|
257
|
-
* message: Message body
|
|
258
|
-
*/
|
|
259
|
-
// a constant is created to request the data from the req.body.
|
|
260
|
-
const { phoneNumber, message } = req.body
|
|
261
|
-
const sendSns = await AlouxAWS.sendMessagePhone(phoneNumber, message)
|
|
262
|
-
|
|
263
|
-
// example of the phoneNumber variable
|
|
264
|
-
// this variable must be sent as a string and taking into account the telephone prefix
|
|
265
|
-
|
|
266
|
-
/*
|
|
267
|
-
|
|
268
|
-
phoneNumber: "+52244-------"
|
|
269
|
-
|
|
270
|
-
*/
|
|
271
|
-
|
|
1
|
+
# Aloux IAM
|
|
2
|
+
|
|
3
|
+
Uso de esta librearía para administración de menus, privilegios, funciones, usuarios y envio de notificaciones por medio de correos y mensajes de texto
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
$ npm install aloux-iam --save
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
## Usage
|
|
13
|
+
En archivo `init.js`
|
|
14
|
+
|
|
15
|
+
```js
|
|
16
|
+
// Require
|
|
17
|
+
const { IAMRouter, IAMSwagger } = require('aloux-iam')
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
app.use(IAMRouter)
|
|
21
|
+
|
|
22
|
+
// swagger
|
|
23
|
+
app.use(
|
|
24
|
+
"/aloux-iam",
|
|
25
|
+
swaggerUI.serveFiles(IAMswagger, {}),
|
|
26
|
+
swaggerUI.setup(IAMswagger)
|
|
27
|
+
)
|
|
28
|
+
|
|
29
|
+
// URL Swagger
|
|
30
|
+
// [BASE_URL]/docs-iam/#/default/
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
En archivo `router.js`
|
|
36
|
+
|
|
37
|
+
```js
|
|
38
|
+
// Require
|
|
39
|
+
const { IAMAuth } = require('aloux-iam')
|
|
40
|
+
|
|
41
|
+
// Example
|
|
42
|
+
router.post('/customer', IAMAuth, customer.create)
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Variables de entorno
|
|
46
|
+
|
|
47
|
+
Requiere las siguientes variables de entorno (.env)
|
|
48
|
+
|
|
49
|
+
| Variable | Description |
|
|
50
|
+
| ----------------------|---------------|
|
|
51
|
+
| AUTH_SECRET | Required, para cifrar la contraseña |
|
|
52
|
+
| AWS_SECRET_ACCESS_KEY | Required, para acceso a S3 y SES AWS. |
|
|
53
|
+
| AWS_ACCESS_KEY_ID | Required, para acceso a S3 y SES AWS. |
|
|
54
|
+
| AWS_REGION | Required, para acceso a S3 y SES AWS. |
|
|
55
|
+
| AWS_BUCKET | Required, para guardar la foto de perfil en AWS. |
|
|
56
|
+
| AWS_EMAIL_SENDER | Required, para mandar el correo de recuperación de contraseña |
|
|
57
|
+
| DEBUG | Required, para validar si el ambiente es dev o PROD |
|
|
58
|
+
| SWAGGER_SERVER | Required, para acceder al swagger de IAM |
|
|
59
|
+
| MASTER_PWD | Optional, para utilizar contraseña maestra de usuarios en desarrollo |
|
|
60
|
+
| BASE_URL | Optional, para swagger |
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
## Endpoints disponibles
|
|
64
|
+
|
|
65
|
+
### Endpoints user self (no auth)
|
|
66
|
+
|
|
67
|
+
| Method | Endpoint | Description |
|
|
68
|
+
| --------- | --------------------------|---------------|
|
|
69
|
+
| POST | iam/auth/email | Validar correo |
|
|
70
|
+
| POST | iam/auth/login | Iniciar sesión |
|
|
71
|
+
| POST | iam/auth/forgot/password | Enviar código a correo |
|
|
72
|
+
| POST | iam/auth/validate/code | Verificar código |
|
|
73
|
+
| POST | iam/auth/verify/mail | Verificar correo |
|
|
74
|
+
| GET | iam/auth/verify/mail/token/:token | Valida correo (Manda correo de bienvenida) |
|
|
75
|
+
| POST | iam/auth/reset/password | Reestablecer contraseña |
|
|
76
|
+
| POST | iam/auth/signup | Registrarse |
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
### Endpoints user self
|
|
80
|
+
|
|
81
|
+
| Method | Endpoint | Description |
|
|
82
|
+
| --------- | --------------------------|---------------|
|
|
83
|
+
| GET | iam/auth/me | Obtener información de usuario autenticado |
|
|
84
|
+
| PUT | iam/auth/profile | Actualizar perfil |
|
|
85
|
+
| PUT | iam/auth/profile/pictura | Actualizar solo la foto de perfil |
|
|
86
|
+
| PUT | iam/auth/reset/password | Actualizar contraseña |
|
|
87
|
+
| POST | iam/auth/send/verify/phone | Enviar código al teléfono de la cuenta para verificarla |
|
|
88
|
+
| POST | iam/auth/verify/phone | Valida teléfono del usuario de la cuenta |
|
|
89
|
+
| POST | iam/auth/logout | Cerrar sesión |
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
### Endpoints user
|
|
93
|
+
|
|
94
|
+
| Method | Endpoint | Description |
|
|
95
|
+
| --------- | ------------------------------|----------------|
|
|
96
|
+
| POST | iam/user | Crear usuario |
|
|
97
|
+
| GET | iam/user | Obtener todos los usuario |
|
|
98
|
+
| GET | iam/user/:USER_ID | Obtener detalle de usuario |
|
|
99
|
+
| PUT | iam/user/:USER_ID | Actualizar usuario |
|
|
100
|
+
| PUT | iam/user/:USER_ID/status | Activar o desactivar usuario |
|
|
101
|
+
| PUT | iam/user/password/:USER_ID | Actualizar la constraseña de un usuario |
|
|
102
|
+
| DELETE | iam/user/:USER_ID | Eliminar usuario |
|
|
103
|
+
| GET | iam/user/count/all | Obtiene el número de usuarios |
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
### Endpoints funtions
|
|
107
|
+
|
|
108
|
+
| Method | Endpoint | Description |
|
|
109
|
+
| --------- | --------------------------------------|----------------|
|
|
110
|
+
| POST | iam/functions | Crear función |
|
|
111
|
+
| PUT | iam/functions/:FUNCTION_ID | Actualizar función |
|
|
112
|
+
| PUT | iam/functions/:FUNCTION_ID/status | Activar o desactivar función |
|
|
113
|
+
| GET | iam/functions | Obtener todas las funciones |
|
|
114
|
+
| GET | iam/functions/:FUNCTION_ID | Obtener detalle de la función |
|
|
115
|
+
| DELETE | iam/functions/:FUNCTION_ID | Eliminar función |
|
|
116
|
+
| GET | iam/functions/count/all | Obtiene el número de funciones |
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
### Endpoints permission
|
|
120
|
+
|
|
121
|
+
| Method | Endpoint | Description |
|
|
122
|
+
| --------- | ------------------------------------------|---------------|
|
|
123
|
+
| POST | iam/permission | Crear permiso
|
|
124
|
+
| PUT | iam/permission/:PERMISSION_ID | Actualizar permiso |
|
|
125
|
+
| PUT | iam/permission/:PERMISSION_ID/status | Activar o desactivar permiso |
|
|
126
|
+
| GET | iam/permission | Obtener todas los permisos |
|
|
127
|
+
| GET | iam/permission/:PERMISSION_ID | Obtener detalle de la permiso |
|
|
128
|
+
| DELETE | iam/permission/:PERMISSION_ID | Eliminar permiso |
|
|
129
|
+
| GET | iam/permission/count/all | Obtiene el número de permisos |
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
### Endpoints menu
|
|
133
|
+
|
|
134
|
+
| Method | Endpoint | Description |
|
|
135
|
+
| --------- | --------------------------|---------------|
|
|
136
|
+
| POST | /iam/menu | Crea un elemento de menú |
|
|
137
|
+
| PUT | /iam/menu/:MENU_ID | Actualiza un elemento de menú |
|
|
138
|
+
| PUT | /iam/menu/:MENU_ID/status | Activa o desactiva un menú |
|
|
139
|
+
| GET | /iam/menu | Obtiene todos los elementos de menú |
|
|
140
|
+
| GET | /iam/menu/:MENU_ID | Obtiene el detalle de un elemento de menú |
|
|
141
|
+
| DELETE | /iam/menu/:MENU_ID | Elimina un elemento de menú |
|
|
142
|
+
| POST | /iam/menu/order | Ordena los elementos de menú |
|
|
143
|
+
| GET | iam/menu/count | Obtiene el número de menús |
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
## Aloux-AWS
|
|
147
|
+
#### Aggregate file
|
|
148
|
+
```js
|
|
149
|
+
// Require
|
|
150
|
+
const { AlouxAWS } = require('aloux-iam')
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
// variables
|
|
154
|
+
/*
|
|
155
|
+
* AWS_REGION
|
|
156
|
+
* AWS_BUCKET
|
|
157
|
+
*/
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* pathFile = folder/file_name-file_id
|
|
161
|
+
* file = req.files.property
|
|
162
|
+
*/
|
|
163
|
+
// a constant is created to save the new element
|
|
164
|
+
const result = await AlouxAWS.upload('folder/file_name', req.files.data)
|
|
165
|
+
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
#### Eliminate many files
|
|
169
|
+
```js
|
|
170
|
+
// Require
|
|
171
|
+
const { AlouxAWS } = require('aloux-iam')
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
// variables
|
|
175
|
+
/*
|
|
176
|
+
* AWS_REGION
|
|
177
|
+
* AWS_BUCKET
|
|
178
|
+
*/
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* files = [{key: 'folder/file1'},{key: 'folder/file1'}]
|
|
182
|
+
*/
|
|
183
|
+
// delete selected files
|
|
184
|
+
const files = [{key: 'folder/file1.png'},{key: 'folder/file1.png'}]
|
|
185
|
+
const deleteFiles = await AlouxAWS.deleteMany(files)
|
|
186
|
+
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
#### Eliminate file
|
|
190
|
+
```js
|
|
191
|
+
// Require
|
|
192
|
+
const { AlouxAWS } = require('aloux-iam')
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
// variables
|
|
196
|
+
/*
|
|
197
|
+
* AWS_REGION
|
|
198
|
+
* AWS_BUCKET
|
|
199
|
+
*/
|
|
200
|
+
|
|
201
|
+
/**
|
|
202
|
+
* file = folder/file_name
|
|
203
|
+
*/
|
|
204
|
+
// delete the file
|
|
205
|
+
const file = 'folder/file_name.png'
|
|
206
|
+
const deleteFile = await AlouxAWS.delete(file)
|
|
207
|
+
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
### Usage for emails
|
|
211
|
+
#### Send email
|
|
212
|
+
```js
|
|
213
|
+
// Require
|
|
214
|
+
const { AlouxAWS } = require('aloux-iam')
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
// variables
|
|
218
|
+
/*
|
|
219
|
+
* AWS_REGION
|
|
220
|
+
* AWS_EMAIL_SENDER
|
|
221
|
+
*/
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
* email: Destination email
|
|
225
|
+
* message: Mail body
|
|
226
|
+
* subject: Mail subject
|
|
227
|
+
*/
|
|
228
|
+
// a constant is created to request the data from the req.body.
|
|
229
|
+
const { email, message, subject } = req.body
|
|
230
|
+
const sendEmail = await AlouxAWS.sendCustom(email, message, subject)
|
|
231
|
+
|
|
232
|
+
// example of the messages variable
|
|
233
|
+
// this variable must be sent as a string if you want to send modified HTML
|
|
234
|
+
/*
|
|
235
|
+
|
|
236
|
+
message: "<!DOCTYPE html><html lang='en'><head><meta charset='UTF-8'><meta name='viewport' content='width=device-width, initial-scale=1.0'><title>Document</title></head><body><h1>Information</h1></body></html>"
|
|
237
|
+
|
|
238
|
+
*/
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
### Usage for sns
|
|
244
|
+
#### Send sns
|
|
245
|
+
```js
|
|
246
|
+
// Require
|
|
247
|
+
const { AlouxAWS } = require('aloux-iam')
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
// variables
|
|
251
|
+
/*
|
|
252
|
+
* AWS_REGION
|
|
253
|
+
*/
|
|
254
|
+
|
|
255
|
+
/**
|
|
256
|
+
* phoneNumber: Destination number
|
|
257
|
+
* message: Message body
|
|
258
|
+
*/
|
|
259
|
+
// a constant is created to request the data from the req.body.
|
|
260
|
+
const { phoneNumber, message } = req.body
|
|
261
|
+
const sendSns = await AlouxAWS.sendMessagePhone(phoneNumber, message)
|
|
262
|
+
|
|
263
|
+
// example of the phoneNumber variable
|
|
264
|
+
// this variable must be sent as a string and taking into account the telephone prefix
|
|
265
|
+
|
|
266
|
+
/*
|
|
267
|
+
|
|
268
|
+
phoneNumber: "+52244-------"
|
|
269
|
+
|
|
270
|
+
*/
|
|
271
|
+
|
|
272
272
|
```
|