chore: import DH V2 D5.6.4 production baseline
This commit is contained in:
@@ -0,0 +1,106 @@
|
||||
# Fase B1 — Base del Maestro de Activos
|
||||
|
||||
Versión: `0.8.0`
|
||||
|
||||
## Objetivo
|
||||
|
||||
Reemplazar el placeholder de Activos por el primer núcleo funcional del Maestro
|
||||
de Activos, sin fijar niveles como Empresa, Área, Yacimiento o Pozo.
|
||||
|
||||
## Modelo incorporado
|
||||
|
||||
- `asset_types`: tipos configurables y activables/desactivables;
|
||||
- `asset_type_parent_rules`: múltiples tipos padre permitidos por tipo hijo;
|
||||
- `asset_attribute_definitions`: atributos configurables por tipo;
|
||||
- `assets`: entidades administrables con identidad y padre opcional;
|
||||
- `asset_attribute_values`: valores tipados de cada activo.
|
||||
|
||||
La jerarquía se controla con dos reglas:
|
||||
|
||||
1. un tipo puede o no permitir activos raíz;
|
||||
2. un tipo puede aceptar cero, uno o varios tipos padre.
|
||||
|
||||
La API también evita ciclos en la jerarquía real de activos.
|
||||
|
||||
## Atributos dinámicos
|
||||
|
||||
Tipos iniciales de dato:
|
||||
|
||||
- texto;
|
||||
- número;
|
||||
- verdadero/falso;
|
||||
- fecha;
|
||||
- fecha y hora;
|
||||
- selección con opciones configurables.
|
||||
|
||||
Los atributos pueden ser obligatorios, tener unidad, orden e inactivarse sin
|
||||
borrar valores existentes.
|
||||
|
||||
## Estados de información
|
||||
|
||||
- `DRAFT`;
|
||||
- `PENDING_SURVEY`;
|
||||
- `SURVEYED`;
|
||||
- `VALIDATED`;
|
||||
- `OBSERVED`;
|
||||
- `OUTDATED`;
|
||||
- `INACTIVE`.
|
||||
|
||||
Estos estados describen la calidad o vigencia de la información. No representan
|
||||
el estado operativo o mecánico del activo.
|
||||
|
||||
## API
|
||||
|
||||
Tipos y atributos:
|
||||
|
||||
- `GET /api/v3/asset-types`;
|
||||
- `GET /api/v3/asset-types/:id`;
|
||||
- `POST /api/v3/asset-types`;
|
||||
- `PATCH /api/v3/asset-types/:id`;
|
||||
- `POST /api/v3/asset-types/:id/attributes`;
|
||||
- `PATCH /api/v3/asset-types/:id/attributes/:attributeId`.
|
||||
|
||||
Activos:
|
||||
|
||||
- `GET /api/v3/assets`;
|
||||
- `GET /api/v3/assets/parent-options`;
|
||||
- `GET /api/v3/assets/:id`;
|
||||
- `POST /api/v3/assets`;
|
||||
- `PATCH /api/v3/assets/:id`;
|
||||
- `PATCH /api/v3/assets/:id/information-status`.
|
||||
|
||||
No se implementa borrado físico.
|
||||
|
||||
## Permisos
|
||||
|
||||
- `asset_types.read`;
|
||||
- `asset_types.manage`;
|
||||
- `assets.read`;
|
||||
- `assets.create`;
|
||||
- `assets.update`;
|
||||
- `assets.change_status`.
|
||||
|
||||
La migración los asigna a los roles de sistema según su alcance y entrega todos
|
||||
al rol `admin`.
|
||||
|
||||
## Interfaz web
|
||||
|
||||
- `/activos`: búsqueda, filtros, tabla y jerarquía visible;
|
||||
- `/activos/nuevo`: alta con atributos dinámicos;
|
||||
- `/activos/:id`: consulta/edición y cambio de estado según permiso;
|
||||
- `/admin/asset-types`: configuración de tipos, padres y atributos.
|
||||
|
||||
## Trazabilidad
|
||||
|
||||
Se auditan altas y cambios de tipos, atributos, activos y estado de información.
|
||||
Los valores dinámicos quedan incluidos en el antes/después sanitizado.
|
||||
|
||||
## Fuera de B1
|
||||
|
||||
Quedan para próximas subfases:
|
||||
|
||||
- geometrías PostGIS y edición en mapa;
|
||||
- fotografías y media versionada;
|
||||
- versiones históricas y consulta temporal;
|
||||
- importaciones/procedencia avanzada;
|
||||
- relevamiento de campo.
|
||||
Reference in New Issue
Block a user