diff --git a/CHANGELOG.md b/CHANGELOG.md index 028950d..a8c7afd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog - project.linkedcorp.net +## [1.9.3] - 2026-09-11 +### Added +- Nueva actividad en Infraestructura y redes: "Inventario de servicios de tecnología", con 8 + tareas propuestas como checklist inicial (internet corporativo, páginas web/dominios, + certificados SSL, correo/SMTP, nube, SaaS de terceros, telefonía/VoIP, respaldos). + ## [1.9.2] - 2026-09-11 ### Changed - "Revision periodica de equipos" (Gestión de equipos y activos de TI) renombrada a "Revisión de diff --git a/VERSION b/VERSION index 8fdcf38..77fee73 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.9.2 +1.9.3 diff --git a/backend/database/migrations/008_inventario_servicios.sql b/backend/database/migrations/008_inventario_servicios.sql new file mode 100644 index 0000000..af1012d --- /dev/null +++ b/backend/database/migrations/008_inventario_servicios.sql @@ -0,0 +1,39 @@ +-- Nueva actividad "Inventario de servicios de tecnologia" en Infraestructura y redes, con un +-- checklist inicial de tareas (propuesto). Idempotente sin marcador: cada INSERT se protege con +-- NOT EXISTS sobre su propio nombre. +SET NAMES utf8mb4; + +INSERT INTO activities (project_id, code, name, priority_id, status_id, created_by) +SELECT p.id, 'PENDING', 'Inventario de servicios de tecnologia', 2, 1, 1 +FROM projects p +WHERE p.name = 'Infraestructura y redes' + AND NOT EXISTS ( + SELECT 1 FROM activities a + WHERE a.project_id = p.id AND a.name = 'Inventario de servicios de tecnologia' + ); + +UPDATE activities a +JOIN projects p ON p.id = a.project_id +SET a.code = CONCAT('ACT-', LPAD(a.id, 4, '0')) +WHERE p.name = 'Infraestructura y redes' + AND a.name = 'Inventario de servicios de tecnologia' + AND a.code = 'PENDING'; + +-- Tareas propuestas (checklist inicial del inventario). +INSERT INTO tasks (activity_id, name) +SELECT a.id, t.name +FROM activities a +JOIN projects p ON p.id = a.project_id +JOIN ( + SELECT 'Internet corporativo (proveedor, plan contratado, IP fija, costo)' AS name + UNION ALL SELECT 'Paginas web y dominios (hosting, registrador, fechas de vencimiento)' + UNION ALL SELECT 'Certificados SSL/TLS (dominio, vencimiento, renovacion automatica o manual)' + UNION ALL SELECT 'Correo corporativo y SMTP (proveedor, plan, cantidad de cuentas)' + UNION ALL SELECT 'Servicios en la nube (Microsoft 365 / Google Workspace u otro)' + UNION ALL SELECT 'Software como servicio de terceros (facturacion electronica, firma electronica, etc.)' + UNION ALL SELECT 'Telefonia / VoIP' + UNION ALL SELECT 'Respaldos y almacenamiento en la nube' +) t ON 1=1 +WHERE p.name = 'Infraestructura y redes' + AND a.name = 'Inventario de servicios de tecnologia' + AND NOT EXISTS (SELECT 1 FROM tasks x WHERE x.activity_id = a.id AND x.name = t.name); diff --git a/backend/package.json b/backend/package.json index 666c2ad..f7f36bb 100644 --- a/backend/package.json +++ b/backend/package.json @@ -1,6 +1,6 @@ { "name": "project-linkedcorp-backend", - "version": "1.9.2", + "version": "1.9.3", "private": true, "type": "module", "main": "src/server.js", diff --git a/frontend/package.json b/frontend/package.json index 8e2157c..2248f19 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,7 +1,7 @@ { "name": "project-linkedcorp-frontend", "private": true, - "version": "1.9.2", + "version": "1.9.3", "type": "module", "scripts": { "dev": "vite",