---
title: MAK 'Autorización de creación de misiones'
---
Mak - autorización de creación de misiones
---
## INTRO
Este módulo permitirá autorizar la creación de misiones.
### USO:
Este módulo se usará cuando creamos misiones desde la herramienta de `generar_misiones` y tenemos configurado el setting `authorization` con el valor `mi=true`
Para que funcione correctamente también se deben configurar los usuarios que autorizarán la creación de misiones, para ello hacemos uso del setting `authorization_role_business`
### Flujo de Prueba
- Config. setting `authorization`
- Generar misiones
- Ver el registro en la vista de autorización
- Aceptar|Rechazar la mission como usuario involucrado
- Procesar generación de misiones
- Misiones generadas
### Setting authorization_role_business
Lista los roles de negocio, los cuales se usaran para consultar la lista de usuarios disponibles para autorizar
e.g
```json=4
key: authorization_role_business,
value = ["supervisor", "gerente"]
```
### Mockup
Diseño General de la vista de autorización.

Actividades
---
#### Módulo de autorización de creación
- [ ] Maquetación de vista de autorizaciones
- [ ] Listado
- [ ] Filtros
- [ ] Status
- [ ] Progreso de autorización
- [ ] Invocar acción para procesar la creación de misiones cuando el registro este al 100% autorizado
- [ ] Creación de consultas en GraphQL
- [ ] Autorizar creación de misiones como usuario (Calificar: Click manita arriba/abajo)
- [ ] Crear filtros por status
- [ ] Filtrar por fecha (Range)
- [ ] Consultar lista de autorizaciones
#### Tabla intermedia autorización
- [ ] Diseñar tabla intermedia para almacenar registros de autorización:
Uso: Si setting `authorization` es true (value=mi) entonces crear un registro en esta tabla
```json
- authorization
- id
- involved: Involved[]
- target_id: uuid (uuu-iiii-dddd)
- target_type: string (MI, FR, ROUTE)
- tenant_id: integer
- status: integer
- Involved = {
user_id: integer,
status: integer
}
- status:
- -1: Rechazado
- 0: Pendiente
- 1: Aceptado
```
#### Modificaciones a Generator de Misiones
- [ ] Agregar nuevo campo published a actions_generator
- published
- -1: Rechazado
- 0: Pendiente
- 1: Aceptado
- [ ] Extraer una lista de usuarios a autorizar a partir del setting `authorization_role_business`
- [ ] Agregar [input type=select] de usuarios al formulario de captura datos de misiones
- [ ] Crear un setting para autorización
Uso:
1. Si authorized es true en el `setting` mostrar lista de role-system en generador de misiones
2. Este setting determinará si se manda o no a generar las misiones
Reglas:
- Si el setting de autorización el true
- Mostrar el campo de autorización en el generador de misiones (revisar mock)
- Si setting de auth es false entonces
- action importer por default se manda a 1
Setting de authorization
```json=1
name: authorization,
value: {
"mi": {
"title": "Misiones",
"value": true
},
"fr": {
"title": "Focos Rojos",
"value": false
},
"routes": {
"title": "rutas",
"value": false
}
}
```
### Backend
- [ ] Crear endpoint de votaciones
- [ ] Crear endpoint de disparar generación de misiones
###### tags: `autorización` `misiones` `mak`