aloux-iam 0.0.2 → 0.0.3

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 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,137 +1,137 @@
1
- # Aloux SDK
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-sdk --save
9
- ```
10
-
11
-
12
- ## Usage
13
- En archivo `init.js`
14
-
15
- ```js
16
- // Importación
17
- const { IAMRouter, IAMSwagger } = require('aloux-sdk')
18
-
19
- // uso
20
- app.use(IAMRouter)
21
-
22
- // uso swagger
23
- app.use(
24
- "/aloux-sdk",
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
- // Importación
39
- const { IAMAuth } = require('aloux-sdk')
40
-
41
- // uso (ejemplo)
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
- | MASTER_PWD | Optional, para utilizar contraseña maestra de usuarios en desarrollo |
59
- | BASE_URL | Optional, para swagger |
60
-
61
-
62
- ## Endpoints disponibles
63
-
64
- Endpoints user self (no auth)
65
-
66
- | Method | Endpoint | Description |
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 |
73
-
74
-
75
- Endpoints user self
76
-
77
- | Method | Endpoint | Description |
78
- | --------- | --------------------------|---------------|
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 |
84
-
85
-
86
- Endpoints user
87
-
88
- | Method | Endpoint | Description |
89
- | --------- | ------------------------------|----------------|
90
- | POST | iam/user | Crear usuario |
91
- | GET | iam/user | Obtener todos los usuario |
92
- | GET | iam/user/:USER_ID | Obtener detalle de usuario |
93
- | PUT | iam/user/:USER_ID | Actualizar usuario |
94
- | PUT | iam/user/active/:USER_ID | Activar o desactivar usuario |
95
- | PUT | iam/user/password/:USER_ID | Actualizar la constraseña de un usuario |
96
- | DELETE | iam/user/:USER_ID | Eliminar usuario |
97
- | GET | iam/user/count | Obtiene el número de usuarios |
98
-
99
-
100
- Endpoints funtions
101
-
102
- | Method | Endpoint | Description |
103
- | --------- | --------------------------------------|----------------|
104
- | POST | iam/functions | Crear función |
105
- | PUT | iam/functions/:FUNCTION_ID | Actualizar función |
106
- | PUT | iam/functions/active/:FUNCTION_ID | Activar o desactivar función |
107
- | GET | iam/functions | Obtener todas las funciones |
108
- | GET | iam/functions/:FUNCTION_ID | Obtener detalle de la función |
109
- | DELETE | iam/functions/:FUNCTION_ID | Eliminar función |
110
- | GET | iam/functions/count | Obtiene el número de funciones |
111
-
112
-
113
- Endpoints permission
114
-
115
- | Method | Endpoint | Description |
116
- | --------- | ------------------------------------------|---------------|
117
- | POST | iam/permission | Crear permiso
118
- | PUT | iam/permission/:PERMISSION_ID | Actualizar permiso |
119
- | PUT | iam/permission/active/:PERMISSION_ID | Activar o desactivar permiso |
120
- | GET | iam/permission | Obtener todas los permisos |
121
- | GET | iam/permission/:PERMISSION_ID | Obtener detalle de la permiso |
122
- | DELETE | iam/permission/:PERMISSION_ID | Eliminar permiso |
123
- | GET | iam/permission/count | Obtiene el número de permisos |
124
-
125
-
126
- Endpoints menu
127
-
128
- | Method | Endpoint | Description |
129
- | --------- | --------------------------|---------------|
130
- | 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ú |
133
- | 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ú |
136
- | POST | /iam/menu/order | Ordena los elementos de menú |
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
+ // Importación
17
+ const { IAMRouter, IAMSwagger } = require('aloux-iam')
18
+
19
+ // uso
20
+ app.use(IAMRouter)
21
+
22
+ // uso 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
+ // Importación
39
+ const { IAMAuth } = require('aloux-iam')
40
+
41
+ // uso (ejemplo)
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
+ | MASTER_PWD | Optional, para utilizar contraseña maestra de usuarios en desarrollo |
59
+ | BASE_URL | Optional, para swagger |
60
+
61
+
62
+ ## Endpoints disponibles
63
+
64
+ Endpoints user self (no auth)
65
+
66
+ | Method | Endpoint | Description |
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 |
73
+
74
+
75
+ Endpoints user self
76
+
77
+ | Method | Endpoint | Description |
78
+ | --------- | --------------------------|---------------|
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 |
84
+
85
+
86
+ Endpoints user
87
+
88
+ | Method | Endpoint | Description |
89
+ | --------- | ------------------------------|----------------|
90
+ | POST | iam/user | Crear usuario |
91
+ | GET | iam/user | Obtener todos los usuario |
92
+ | GET | iam/user/:USER_ID | Obtener detalle de usuario |
93
+ | PUT | iam/user/:USER_ID | Actualizar usuario |
94
+ | PUT | iam/user/active/:USER_ID | Activar o desactivar usuario |
95
+ | PUT | iam/user/password/:USER_ID | Actualizar la constraseña de un usuario |
96
+ | DELETE | iam/user/:USER_ID | Eliminar usuario |
97
+ | GET | iam/user/count | Obtiene el número de usuarios |
98
+
99
+
100
+ Endpoints funtions
101
+
102
+ | Method | Endpoint | Description |
103
+ | --------- | --------------------------------------|----------------|
104
+ | POST | iam/functions | Crear función |
105
+ | PUT | iam/functions/:FUNCTION_ID | Actualizar función |
106
+ | PUT | iam/functions/active/:FUNCTION_ID | Activar o desactivar función |
107
+ | GET | iam/functions | Obtener todas las funciones |
108
+ | GET | iam/functions/:FUNCTION_ID | Obtener detalle de la función |
109
+ | DELETE | iam/functions/:FUNCTION_ID | Eliminar función |
110
+ | GET | iam/functions/count | Obtiene el número de funciones |
111
+
112
+
113
+ Endpoints permission
114
+
115
+ | Method | Endpoint | Description |
116
+ | --------- | ------------------------------------------|---------------|
117
+ | POST | iam/permission | Crear permiso
118
+ | PUT | iam/permission/:PERMISSION_ID | Actualizar permiso |
119
+ | PUT | iam/permission/active/:PERMISSION_ID | Activar o desactivar permiso |
120
+ | GET | iam/permission | Obtener todas los permisos |
121
+ | GET | iam/permission/:PERMISSION_ID | Obtener detalle de la permiso |
122
+ | DELETE | iam/permission/:PERMISSION_ID | Eliminar permiso |
123
+ | GET | iam/permission/count | Obtiene el número de permisos |
124
+
125
+
126
+ Endpoints menu
127
+
128
+ | Method | Endpoint | Description |
129
+ | --------- | --------------------------|---------------|
130
+ | 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ú |
133
+ | 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ú |
136
+ | POST | /iam/menu/order | Ordena los elementos de menú |
137
137
  | GET | iam/menu/count | Obtiene el número de menús |
package/index.js CHANGED
@@ -1,34 +1,34 @@
1
- const IAMrouter = require('./lib/router')
2
- const IAMauth = require('./lib/middleware')
3
- const awsAloux = require('./lib/controllers/operationsAWS')
4
- const YAML = require('yamljs')
5
- const path = require('path')
6
-
7
-
8
- const User = require('./lib/models/User')
9
- const Functions = require('./lib/models/Functions')
10
- const Permission = require('./lib/models/Permission')
11
- const Menu = require('./lib/models/Menu')
12
-
13
- // swagger
14
- const swagger_path = path.resolve(__dirname, './lib/swagger.yaml')
15
- const swagger = YAML.load(swagger_path)
16
-
17
- if (process.env.DEBUG === 'true') {
18
- swagger['servers'] = []
19
- swagger.servers.push({ url: process.env.SWAGGER_SERVER, description: 'DEV' })
20
- }
21
-
22
-
23
- module.exports = {
24
- IAMRouter: IAMrouter,
25
- IAMAuth: IAMauth,
26
- IAMSwagger: swagger,
27
-
28
- IAMUserModel: User,
29
- IAMFunctionsModel: Functions,
30
- IAMPermissionModel: Permission,
31
- IAMMenuModel: Menu,
32
-
33
- AlouxAWS: awsAloux
1
+ const IAMrouter = require('./lib/router')
2
+ const IAMauth = require('./lib/middleware')
3
+ const awsAloux = require('./lib/controllers/operationsAWS')
4
+ const YAML = require('yamljs')
5
+ const path = require('path')
6
+
7
+
8
+ const User = require('./lib/models/User')
9
+ const Functions = require('./lib/models/Functions')
10
+ const Permission = require('./lib/models/Permission')
11
+ const Menu = require('./lib/models/Menu')
12
+
13
+ // swagger
14
+ const swagger_path = path.resolve(__dirname, './lib/swagger.yaml')
15
+ const swagger = YAML.load(swagger_path)
16
+
17
+ if (process.env.DEBUG === 'true') {
18
+ swagger['servers'] = []
19
+ swagger.servers.push({ url: process.env.SWAGGER_SERVER, description: 'DEV' })
20
+ }
21
+
22
+
23
+ module.exports = {
24
+ IAMRouter: IAMrouter,
25
+ IAMAuth: IAMauth,
26
+ IAMSwagger: swagger,
27
+
28
+ IAMUserModel: User,
29
+ IAMFunctionsModel: Functions,
30
+ IAMPermissionModel: Permission,
31
+ IAMMenuModel: Menu,
32
+
33
+ AlouxAWS: awsAloux
34
34
  }
@@ -1,14 +1,14 @@
1
- const self = module.exports
2
-
3
- self.responseError = async (res, error) => {
4
- let obj = error
5
- if(!error.code){
6
- obj = {
7
- code: 400,
8
- title: 'Error',
9
- detail: error.message,
10
- suggestion: 'Revisar el detalle'
11
- }
12
- }
13
- res.status(obj.code).send(obj)
1
+ const self = module.exports
2
+
3
+ self.responseError = async (res, error) => {
4
+ let obj = error
5
+ if(!error.code){
6
+ obj = {
7
+ code: 400,
8
+ title: 'Error',
9
+ detail: error.message,
10
+ suggestion: 'Revisar el detalle'
11
+ }
12
+ }
13
+ res.status(obj.code).send(obj)
14
14
  }