feat: Veeam RPO analysis, comparison, ticket analysis + company teams table
- Add Veeam RPO analysis page (/veeam-analysis) and comparison page (/veeam-comparison) - Add API routes: /api/veeam/rpo-analyze, rpo-comparison, rpo-offline-log, ticket-analysis - Add veeam-rpo-service.ts enhancements (RPO logic, offline detection, comparison) - Add veeam-analysis-state.ts and rmm-device-resolver.ts services - Add migrations 065-068: company_teams, veeam_rpo_offline_log, rpo_comparison_tables, veeam_ticket_analysis - Add backup-status page updates and nav links for new Veeam pages - Add scripts: deactivate-cis-for-inactive-companies, workstation category updates - Add docs: mimecast-api-guide, veeam-backup-alerting-recommendation, workstation-backup-overview, ticket-analyzer-prompt - Minor: webhook-service, entity-sync, entity-mapper, sync-helpers, sync.ts, middleware.ts updates
This commit is contained in:
parent
07067bef19
commit
ea3471d38d
36 changed files with 5604 additions and 217 deletions
31
migrations/068_create_veeam_ticket_analysis.sql
Normal file
31
migrations/068_create_veeam_ticket_analysis.sql
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
CREATE TABLE IF NOT EXISTS veeam_ticket_analysis (
|
||||
id SERIAL PRIMARY KEY,
|
||||
ticket_number TEXT NOT NULL UNIQUE,
|
||||
ticket_id BIGINT,
|
||||
company_id BIGINT,
|
||||
company_name TEXT,
|
||||
device_hostname TEXT,
|
||||
ticket_created_at TIMESTAMPTZ,
|
||||
ticket_closed_at TIMESTAMPTZ,
|
||||
same_day_close BOOLEAN NOT NULL DEFAULT false,
|
||||
hours_worked NUMERIC(10,2) NOT NULL DEFAULT 0,
|
||||
note_count INTEGER NOT NULL DEFAULT 0,
|
||||
-- LLM classification
|
||||
problem_category TEXT NOT NULL,
|
||||
resolution_type TEXT NOT NULL,
|
||||
skills_required TEXT[] NOT NULL DEFAULT '{}',
|
||||
complexity TEXT NOT NULL,
|
||||
device_was_offline BOOLEAN,
|
||||
backup_completed_before_tech BOOLEAN,
|
||||
preventable BOOLEAN,
|
||||
work_summary TEXT,
|
||||
recommended_procedure TEXT,
|
||||
-- meta
|
||||
model TEXT,
|
||||
analyzed_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_vta_ticket_number ON veeam_ticket_analysis(ticket_number);
|
||||
CREATE INDEX IF NOT EXISTS idx_vta_category ON veeam_ticket_analysis(problem_category);
|
||||
CREATE INDEX IF NOT EXISTS idx_vta_company ON veeam_ticket_analysis(company_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_vta_created ON veeam_ticket_analysis(ticket_created_at);
|
||||
Loading…
Add table
Add a link
Reference in a new issue