Files
dh-inspeccion-v2/docs/PHASE_B4.md
T

74 lines
2.4 KiB
Markdown

# Fase B4 — Fotografías y documentos de activos
Versión: `0.11.0`
## Objetivo
Adjuntar evidencia visual y documental a cada activo, conservando el archivo
original en almacenamiento privado y relacionando toda operación con el
historial inmutable y la auditoría.
## Modelo y almacenamiento
La tabla `asset_media` guarda los metadatos, el hash SHA-256 y el vínculo con
el activo. Los binarios se almacenan fuera de la imagen de la API, en el
volumen Docker persistente `dhv2_asset_media`.
Formatos permitidos:
- fotografías JPEG, PNG y WebP;
- documentos PDF;
- tamaño máximo de 15 MB por archivo.
La API inspecciona la firma real del contenido y no confía en la extensión ni
en el MIME informado por el navegador. Cada original recibe un nombre interno
aleatorio y permisos de archivo restringidos.
## API
- `GET /api/v3/assets/:assetId/media`: lista archivos activos;
- `POST /api/v3/assets/:assetId/media`: incorpora un archivo multipart;
- `PATCH /api/v3/asset-media/:mediaId`: actualiza metadatos;
- `DELETE /api/v3/asset-media/:mediaId`: retiro lógico;
- `GET /api/v3/asset-media/:mediaId/content`: visualización o descarga protegida.
Los archivos no se publican desde Nginx. Toda lectura atraviesa autenticación y
autorización en la API.
## Seguridad y permisos
- `assets.read_media`: admin, director, supervisor, inspector y auditor;
- `assets.manage_media`: admin, supervisor e inspector.
El usuario runtime puede consultar, insertar y actualizar `asset_media`, pero
no recibe `DELETE`. Retirar un archivo es una baja lógica: el registro y el
original físico se conservan.
## Trazabilidad
Incorporar, editar o retirar un archivo:
- genera un evento específico en `audit_events`;
- incrementa `assets.current_version`;
- produce un snapshot B3 con los metadatos vigentes de fotografías y
documentos, sin duplicar los binarios dentro de PostgreSQL.
## Interfaz
Cada activo incluye una sección de fotografías y documentos con:
- captura desde la cámara o selección de archivo;
- fecha, título y descripción opcionales;
- captura GPS explícita con precisión;
- previsualización autenticada de fotografías;
- descarga protegida;
- edición de metadatos y retiro lógico;
- cantidad de archivos en el listado maestro.
## Fuera de B4
- miniaturas y transformaciones derivadas;
- antivirus externo;
- importación masiva de archivos;
- sincronización Android offline.