Add user units and sync tables (10_user_units.sql, 11_sync.sql)

This commit is contained in:
ARCHITECT
2025-12-30 23:40:36 +00:00
parent 5d78535472
commit 3960067337
3 changed files with 114 additions and 0 deletions

View File

@@ -0,0 +1,70 @@
-- 10_user_units.sql
-- Tablas de unidades de usuario por tipo
-- Version: 1.0
-- Fecha: 2025-12-30
-- HSU: Host Service Unit (usuarios de servicio host)
CREATE TABLE IF NOT EXISTS hsu (
id SERIAL PRIMARY KEY,
ref VARCHAR(10) NOT NULL UNIQUE,
h_usuario VARCHAR(64) NOT NULL UNIQUE,
nombre VARCHAR(255),
user_id INTEGER NOT NULL,
activo BOOLEAN DEFAULT TRUE,
created_at TIMESTAMP DEFAULT NOW()
);
-- PJU: Project Unit (usuarios de proyecto)
CREATE TABLE IF NOT EXISTS pju (
id SERIAL PRIMARY KEY,
ref VARCHAR(10) NOT NULL UNIQUE,
h_usuario VARCHAR(64) NOT NULL UNIQUE,
nombre VARCHAR(255),
user_id INTEGER NOT NULL,
activo BOOLEAN DEFAULT TRUE,
created_at TIMESTAMP DEFAULT NOW()
);
-- SPU: Service Process Unit (usuarios de proceso de servicio)
CREATE TABLE IF NOT EXISTS spu (
id SERIAL PRIMARY KEY,
ref VARCHAR(10) NOT NULL UNIQUE,
h_usuario VARCHAR(64) NOT NULL UNIQUE,
nombre VARCHAR(255),
user_id INTEGER NOT NULL,
activo BOOLEAN DEFAULT TRUE,
created_at TIMESTAMP DEFAULT NOW()
);
-- VSU: Version Service Unit (usuarios de servicio de version)
CREATE TABLE IF NOT EXISTS vsu (
id SERIAL PRIMARY KEY,
ref VARCHAR(10) NOT NULL UNIQUE,
h_usuario VARCHAR(64) NOT NULL UNIQUE,
nombre VARCHAR(255),
user_id INTEGER NOT NULL,
activo BOOLEAN DEFAULT TRUE,
created_at TIMESTAMP DEFAULT NOW()
);
-- VUU: Version Update Unit (usuarios de actualizacion de version)
CREATE TABLE IF NOT EXISTS vuu (
id SERIAL PRIMARY KEY,
ref VARCHAR(10) NOT NULL UNIQUE,
h_usuario VARCHAR(64) NOT NULL UNIQUE,
nombre VARCHAR(255),
user_id INTEGER NOT NULL,
activo BOOLEAN DEFAULT TRUE,
created_at TIMESTAMP DEFAULT NOW()
);
-- FLU: Flow Unit (usuarios de flujo)
CREATE TABLE IF NOT EXISTS flu (
id SERIAL PRIMARY KEY,
ref VARCHAR(10) NOT NULL UNIQUE,
h_usuario VARCHAR(64) NOT NULL UNIQUE,
nombre VARCHAR(255),
user_id INTEGER NOT NULL,
activo BOOLEAN DEFAULT TRUE,
created_at TIMESTAMP DEFAULT NOW()
);

View File

@@ -0,0 +1,40 @@
-- 11_sync.sql
-- Tablas de sincronizacion y notificaciones
-- Version: 1.0
-- Fecha: 2025-12-30
-- HST_MIRROR: Espejo de entidades HST para sincronizacion local
CREATE TABLE IF NOT EXISTS hst_mirror (
id SERIAL PRIMARY KEY,
ref VARCHAR(100) NOT NULL UNIQUE,
h_maestro VARCHAR(64) NOT NULL UNIQUE,
nombre_es VARCHAR(255),
nombre_en VARCHAR(255),
grupo VARCHAR(50),
hst_subdominio VARCHAR(255),
hst_ruta VARCHAR(255),
local_subdominio VARCHAR(255) DEFAULT NULL,
local_ruta VARCHAR(255) DEFAULT NULL,
activo BOOLEAN DEFAULT TRUE,
hst_activo BOOLEAN DEFAULT TRUE,
sincronizado_at TIMESTAMP,
created_at TIMESTAMP DEFAULT NOW()
);
CREATE INDEX IF NOT EXISTS idx_hst_mirror_h_maestro ON hst_mirror(h_maestro);
CREATE INDEX IF NOT EXISTS idx_hst_mirror_ref ON hst_mirror(ref);
-- NOTIFICATION: Sistema de notificaciones
CREATE TABLE IF NOT EXISTS notification (
id VARCHAR(20) PRIMARY KEY,
type VARCHAR(40),
body TEXT,
is_read BOOLEAN DEFAULT FALSE,
is_deleted BOOLEAN DEFAULT FALSE,
fk_user_id VARCHAR(20),
created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX IF NOT EXISTS notification_created_at_index ON notification(created_at);
CREATE INDEX IF NOT EXISTS notification_fk_user_id_index ON notification(fk_user_id);

View File

@@ -18,6 +18,8 @@
| 06_clara.sql | Clara (secretaría) | clara_log, clara_summary (vista) |
| 07_feldman.sql | Feldman (contable) | milestones, bloques, feldman_cola, feldman_validaciones |
| 08_alfred.sql | Alfred (producción) | flujos_predefinidos, flujo_ejecuciones |
| 10_user_units.sql | Unidades de usuario | hsu, pju, spu, vsu, vuu, flu |
| 11_sync.sql | Sincronización | hst_mirror, notification |
---
@@ -34,6 +36,8 @@ psql -U tzzr -d tzzr -f 05_ai_requests.sql
psql -U tzzr -d tzzr -f 06_clara.sql
psql -U tzzr -d tzzr -f 07_feldman.sql
psql -U tzzr -d tzzr -f 08_alfred.sql
psql -U tzzr -d tzzr -f 10_user_units.sql
psql -U tzzr -d tzzr -f 11_sync.sql
```
---