--- 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. ![](https://i.imgur.com/PGQDINh.png) 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`