aloux-iam 0.0.20 → 0.0.22

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/README.md CHANGED
@@ -13,13 +13,13 @@ $ npm install aloux-iam --save
13
13
  En archivo `init.js`
14
14
 
15
15
  ```js
16
- // Importación
16
+ // Require
17
17
  const { IAMRouter, IAMSwagger } = require('aloux-iam')
18
18
 
19
- // uso
19
+
20
20
  app.use(IAMRouter)
21
21
 
22
- // uso swagger
22
+ // swagger
23
23
  app.use(
24
24
  "/aloux-iam",
25
25
  swaggerUI.serveFiles(IAMswagger, {}),
@@ -35,10 +35,10 @@ app.use(
35
35
  En archivo `router.js`
36
36
 
37
37
  ```js
38
- // Importación
38
+ // Require
39
39
  const { IAMAuth } = require('aloux-iam')
40
40
 
41
- // uso (ejemplo)
41
+ // Example
42
42
  router.post('/customer', IAMAuth, customer.create)
43
43
  ```
44
44
 
@@ -61,29 +61,34 @@ Requiere las siguientes variables de entorno (.env)
61
61
 
62
62
  ## Endpoints disponibles
63
63
 
64
- Endpoints user self (no auth)
64
+ ### Endpoints user self (no auth)
65
65
 
66
66
  | Method | Endpoint | Description |
67
67
  | --------- | --------------------------|---------------|
68
- | POST | iam/user/email | Validar correo |
69
- | POST | iam/user/login | Iniciar sesión |
70
- | POST | iam/user/forgot/password | Enviar código a correo |
71
- | POST | iam/user/validate/code | Verificar código |
72
- | POST | iam/user/reset/password | Reestablecer contraseña |
68
+ | POST | iam/auth/email | Validar correo |
69
+ | POST | iam/auth/login | Iniciar sesión |
70
+ | POST | iam/auth/forgot/password | Enviar código a correo |
71
+ | POST | iam/auth/validate/code | Verificar código |
72
+ | POST | iam/auth/verify/mail | Verificar correo |
73
+ | GET | iam/auth/verify/mail/token/:token | Valida correo (Manda correo de bienvenida) |
74
+ | POST | iam/auth/reset/password | Reestablecer contraseña |
75
+ | POST | iam/auth/signup | Registrarse |
73
76
 
74
77
 
75
- Endpoints user self
78
+ ### Endpoints user self
76
79
 
77
80
  | Method | Endpoint | Description |
78
81
  | --------- | --------------------------|---------------|
79
- | GET | iam/user/me | Obtener información de usuario autenticado |
80
- | PUT | iam/user/profile | Actualizar perfil |
81
- | PUT | iam/user/profile/pictura | Actualizar solo la foto de perfil |
82
- | PUT | iam/user/reset/password | Actualizar contraseña |
83
- | GET | iam/user/logout | Cerrar sesión |
82
+ | GET | iam/auth/me | Obtener información de usuario autenticado |
83
+ | PUT | iam/auth/profile | Actualizar perfil |
84
+ | PUT | iam/auth/profile/pictura | Actualizar solo la foto de perfil |
85
+ | PUT | iam/auth/reset/password | Actualizar contraseña |
86
+ | POST | iam/auth/send/verify/phone | Enviar código al teléfono de la cuenta para verificarla |
87
+ | POST | iam/auth/verify/phone | Valida teléfono del usuario de la cuenta |
88
+ | POST | iam/auth/logout | Cerrar sesión |
84
89
 
85
90
 
86
- Endpoints user
91
+ ### Endpoints user
87
92
 
88
93
  | Method | Endpoint | Description |
89
94
  | --------- | ------------------------------|----------------|
@@ -91,47 +96,176 @@ Endpoints user
91
96
  | GET | iam/user | Obtener todos los usuario |
92
97
  | GET | iam/user/:USER_ID | Obtener detalle de usuario |
93
98
  | PUT | iam/user/:USER_ID | Actualizar usuario |
94
- | PUT | iam/user/active/:USER_ID | Activar o desactivar usuario |
99
+ | PUT | iam/user/:USER_ID/status | Activar o desactivar usuario |
95
100
  | PUT | iam/user/password/:USER_ID | Actualizar la constraseña de un usuario |
96
101
  | DELETE | iam/user/:USER_ID | Eliminar usuario |
97
- | GET | iam/user/count | Obtiene el número de usuarios |
102
+ | GET | iam/user/count/all | Obtiene el número de usuarios |
98
103
 
99
104
 
100
- Endpoints funtions
105
+ ### Endpoints funtions
101
106
 
102
107
  | Method | Endpoint | Description |
103
108
  | --------- | --------------------------------------|----------------|
104
109
  | POST | iam/functions | Crear función |
105
110
  | PUT | iam/functions/:FUNCTION_ID | Actualizar función |
106
- | PUT | iam/functions/active/:FUNCTION_ID | Activar o desactivar función |
111
+ | PUT | iam/functions/:FUNCTION_ID/status | Activar o desactivar función |
107
112
  | GET | iam/functions | Obtener todas las funciones |
108
113
  | GET | iam/functions/:FUNCTION_ID | Obtener detalle de la función |
109
114
  | DELETE | iam/functions/:FUNCTION_ID | Eliminar función |
110
- | GET | iam/functions/count | Obtiene el número de funciones |
115
+ | GET | iam/functions/count/all | Obtiene el número de funciones |
111
116
 
112
117
 
113
- Endpoints permission
118
+ ### Endpoints permission
114
119
 
115
120
  | Method | Endpoint | Description |
116
121
  | --------- | ------------------------------------------|---------------|
117
122
  | POST | iam/permission | Crear permiso
118
123
  | PUT | iam/permission/:PERMISSION_ID | Actualizar permiso |
119
- | PUT | iam/permission/active/:PERMISSION_ID | Activar o desactivar permiso |
124
+ | PUT | iam/permission/:PERMISSION_ID/status | Activar o desactivar permiso |
120
125
  | GET | iam/permission | Obtener todas los permisos |
121
126
  | GET | iam/permission/:PERMISSION_ID | Obtener detalle de la permiso |
122
127
  | DELETE | iam/permission/:PERMISSION_ID | Eliminar permiso |
123
- | GET | iam/permission/count | Obtiene el número de permisos |
128
+ | GET | iam/permission/count/all | Obtiene el número de permisos |
124
129
 
125
130
 
126
- Endpoints menu
131
+ ### Endpoints menu
127
132
 
128
133
  | Method | Endpoint | Description |
129
134
  | --------- | --------------------------|---------------|
130
135
  | POST | /iam/menu | Crea un elemento de menú |
131
- | PUT | /iam/menu/:id | Actualiza un elemento de menú |
132
- | PUT | /iam/menu/active/:id | Activa o desactiva un menú |
136
+ | PUT | /iam/menu/:MENU_ID | Actualiza un elemento de menú |
137
+ | PUT | /iam/menu/:MENU_ID/status | Activa o desactiva un menú |
133
138
  | GET | /iam/menu | Obtiene todos los elementos de menú |
134
- | GET | /iam/menu/:id | Obtiene el detalle de un elemento de menú |
135
- | DETELE | /iam/menu/:id | Elimina un elemento de menú |
139
+ | GET | /iam/menu/:MENU_ID | Obtiene el detalle de un elemento de menú |
140
+ | DELETE | /iam/menu/:MENU_ID | Elimina un elemento de menú |
136
141
  | POST | /iam/menu/order | Ordena los elementos de menú |
137
- | GET | iam/menu/count | Obtiene el número de menús |
142
+ | GET | iam/menu/count | Obtiene el número de menús |
143
+
144
+
145
+ ## Aloux-AWS
146
+ #### Aggregate file
147
+ ```js
148
+ // Require
149
+ const { AlouxAWS } = require('aloux-iam')
150
+
151
+
152
+ // variables
153
+ /*
154
+ * AWS_REGION
155
+ * AWS_BUCKET
156
+ */
157
+
158
+ /**
159
+ * pathFile = folder/file_name-file_id
160
+ * file = req.files.property
161
+ */
162
+ // a constant is created to save the new element
163
+ const result = await AlouxAWS.upload('folder/file_name', req.files.data)
164
+
165
+ ```
166
+
167
+ #### Eliminate many files
168
+ ```js
169
+ // Require
170
+ const { AlouxAWS } = require('aloux-iam')
171
+
172
+
173
+ // variables
174
+ /*
175
+ * AWS_REGION
176
+ * AWS_BUCKET
177
+ */
178
+
179
+ /**
180
+ * files = [{key: 'folder/file1'},{key: 'folder/file1'}]
181
+ */
182
+ // delete selected files
183
+ const files = [{key: 'folder/file1.png'},{key: 'folder/file1.png'}]
184
+ const deleteFiles = await AlouxAWS.deleteMany(files)
185
+
186
+ ```
187
+
188
+ #### Eliminate file
189
+ ```js
190
+ // Require
191
+ const { AlouxAWS } = require('aloux-iam')
192
+
193
+
194
+ // variables
195
+ /*
196
+ * AWS_REGION
197
+ * AWS_BUCKET
198
+ */
199
+
200
+ /**
201
+ * file = folder/file_name
202
+ */
203
+ // delete the file
204
+ const file = 'folder/file_name.png'
205
+ const deleteFile = await AlouxAWS.delete(file)
206
+
207
+ ```
208
+
209
+ ### Usage for emails
210
+ #### Send email
211
+ ```js
212
+ // Require
213
+ const { AlouxAWS } = require('aloux-iam')
214
+
215
+
216
+ // variables
217
+ /*
218
+ * AWS_REGION
219
+ * AWS_EMAIL_SENDER
220
+ */
221
+
222
+ /**
223
+ * email: Destination email
224
+ * message: Mail body
225
+ * subject: Mail subject
226
+ */
227
+ // a constant is created to request the data from the req.body.
228
+ const { email, message, subject } = req.body
229
+ const sendEmail = await AlouxAWS.sendCustom(email, message, subject)
230
+
231
+ // example of the messages variable
232
+ // this variable must be sent as a string if you want to send modified HTML
233
+ /*
234
+
235
+ 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>"
236
+
237
+ */
238
+
239
+
240
+ ```
241
+
242
+ ### Usage for sns
243
+ #### Send sns
244
+ ```js
245
+ // Require
246
+ const { AlouxAWS } = require('aloux-iam')
247
+
248
+
249
+ // variables
250
+ /*
251
+ * AWS_REGION
252
+ */
253
+
254
+ /**
255
+ * phoneNumber: Destination number
256
+ * message: Message body
257
+ */
258
+ // a constant is created to request the data from the req.body.
259
+ const { phoneNumber, message } = req.body
260
+ const sendSns = await AlouxAWS.sendMessagePhone(phoneNumber, message)
261
+
262
+ // example of the phoneNumber variable
263
+ // this variable must be sent as a string and taking into account the telephone prefix
264
+
265
+ /*
266
+
267
+ phoneNumber: "+52244-------"
268
+
269
+ */
270
+
271
+ ```
@@ -75,7 +75,8 @@ adminSchema.methods.generateAuthToken = async function () {
75
75
  const user = this
76
76
 
77
77
  const token = jwt.sign({ _id: user._id }, process.env.AUTH_SECRET)
78
- user.tokens = user.tokens.concat({ token })
78
+ const currentDate = (new Date()).getTime()
79
+ user.tokens = user.tokens.concat({ token, date: currentDate })
79
80
 
80
81
  await user.save()
81
82
 
@@ -110,10 +110,10 @@ self.getMenu = (user) => {
110
110
  for (let i in user._functions) {
111
111
  if (user._functions[i].status === 'Activo') {
112
112
  for (let j in user._functions[i]._menus) {
113
- if (user._functions[i]._menus[j].status === 'Activo')
114
-
113
+ if (user._functions[i]._menus[j].status === 'Activo'){
115
114
  user._functions[i]._menus[j].submenus = []
116
115
  result.push(user._functions[i]._menus[j])
116
+ }
117
117
  }
118
118
  }
119
119
  }