wulf-pulse/migrations
lorentz e1427b62d7 feat(admin): DB-backed integration toggles + sticky cols + dark contrast
Builds on the env-var INTEGRATIONS_DISABLED shipped with the nav-design
overhaul.  Adds a DB-backed admin UI so operators can flip integrations
without editing .env and restarting the container, plus the remaining
visual cleanup items from the design backlog.

Integration toggles
- Migration 081 — integration_settings table (key PK, disabled flag,
  reason, disabled_by audit, disabled_at).  Seeded with all 13 known
  integrations as enabled.
- GET / PATCH /api/admin/integrations — gated by requirePermission
  (admin, access).  PATCH clears the in-process integration-health
  cache so toggles take effect within seconds.
- /admin/integrations admin page with a Switch per integration, optional
  reason input, audit-info subtitle (disabled by, when, why), live
  status light from /api/dashboard/integration-health.
- integration-health service merges env-var disable list with DB rows;
  degrades gracefully if migration unapplied / DB unreachable.
- Wired into the Admin nav dropdown (eight items now).
- CLAUDE.md describes both env + DB sources.

Sticky first column on tables
- Table primitive accepts stickyFirstColumn?: boolean.  When true, TH
  and TD :first-child stay pinned during horizontal scroll, with
  background inheritance preserving hover and selected row tints.
- DataTable exposes the prop too — on by default for paginated tables.
- /addigy-devices opts in.

Dark-mode contrast
- --border lifted from 10% to 14% in .dark; --input from 15% to 18%;
  --sidebar-border to 14%.
- StatusLight outline ring lifted from /10 to /15 (light) and /20 (dark).
- DetailModal empty-cell em-dash lifted from /40 to /70 so missing
  values are legible on dark surfaces.

DESIGN.md
- Closed sticky-first-column, dark-mode contrast, and palette-audit
  items (palette deprioritized — most uses are semantic).
- Skeleton helpers documented as preferred for new code; existing
  ad-hoc patterns left in place.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-03 09:55:22 -04:00
..
001_initial_schema.sql Add comprehensive admin features and multi-system integration 2025-11-19 14:18:16 -05:00
002_add_indexes.sql Add comprehensive admin features and multi-system integration 2025-11-19 14:18:16 -05:00
002_relax_foreign_keys.sql Add comprehensive admin features and multi-system integration 2025-11-19 14:18:16 -05:00
003_fix_resource_type.sql Add comprehensive admin features and multi-system integration 2025-11-19 14:18:16 -05:00
004_fix_contacts_company_id.sql Add comprehensive admin features and multi-system integration 2025-11-19 14:18:16 -05:00
004_webhook_support.sql feat: add IP address logging to webhooks for whitelisting 2026-01-24 17:28:56 -05:00
005_add_webhook_ip_logging.sql feat: add IP address logging to webhooks for whitelisting 2026-01-24 17:28:56 -05:00
005_fix_tickets_company_id.sql Add comprehensive admin features and multi-system integration 2025-11-19 14:18:16 -05:00
006_add_time_entries_table.sql Add comprehensive admin features and multi-system integration 2025-11-19 14:18:16 -05:00
007_remove_time_entries_foreign_keys.sql Add comprehensive admin features and multi-system integration 2025-11-19 14:18:16 -05:00
008_relax_tickets_resource_constraints.sql Add comprehensive admin features and multi-system integration 2025-11-19 14:18:16 -05:00
009_create_auvik_tenant_mappings.sql Add comprehensive admin features and multi-system integration 2025-11-19 14:18:16 -05:00
009_relax_configuration_items_constraints.sql Add comprehensive admin features and multi-system integration 2025-11-19 14:18:16 -05:00
009_restore_deleted_tickets.sql Add comprehensive admin features and multi-system integration 2025-11-19 14:18:16 -05:00
010_create_rmm_site_mappings.sql Add comprehensive admin features and multi-system integration 2025-11-19 14:18:16 -05:00
011_create_addigy_org_mappings.sql Add comprehensive admin features and multi-system integration 2025-11-19 14:18:16 -05:00
012_create_auth_tables.sql feat: add authentication, user management, and admin features 2026-01-31 12:43:14 -05:00
013_create_role_tables.sql feat: add authentication, user management, and admin features 2026-01-31 12:43:14 -05:00
014_create_admin_settings.sql feat: add authentication, user management, and admin features 2026-01-31 12:43:14 -05:00
015_expand_resources_fields.sql feat: expand Resources entity to include all Autotask API fields 2026-01-26 14:28:51 -05:00
016_add_missing_tickets_fields.sql feat: add missing Tickets entity fields from Autotask API 2026-01-26 15:26:34 -05:00
017_create_auvik_tenants.sql feat: create auvik_tenants and rmm_sites tables for accurate dashboard stats 2026-02-02 23:01:54 -05:00
018_create_rmm_sites.sql feat: create auvik_tenants and rmm_sites tables for accurate dashboard stats 2026-02-02 23:01:54 -05:00
019_create_kiosk_settings.sql feat: add kiosk settings UI and co-managed client filtering 2026-02-03 08:32:42 -05:00
020_add_company_classification.sql feat: add classification-based filtering and fix company name display 2026-02-03 09:17:07 -05:00
021_create_company_classifications_table.sql feat: add classification icons sync from Autotask 2026-02-03 20:48:08 -05:00
022_populate_classifications.sql fix: pre-populate classifications instead of syncing from Autotask API 2026-02-03 20:54:35 -05:00
023_create_veeam_tables.sql feat: Veeam VSPC backup integration - sync, compliance, UI 2026-02-11 21:04:28 -05:00
024_add_backup_type_udf.sql feat: Veeam VSPC backup integration - sync, compliance, UI 2026-02-11 21:04:28 -05:00
025_create_ticket_notes.sql feat: Autotask webhook integration, TicketNotes, Datto RMM, workflow engine, Veeam agents/alarms, AI triage, misc improvements 2026-02-20 10:28:15 -05:00
026_create_queues_table.sql feat: Autotask webhook integration, TicketNotes, Datto RMM, workflow engine, Veeam agents/alarms, AI triage, misc improvements 2026-02-20 10:28:15 -05:00
027_create_datto_rmm_tables.sql feat: Autotask webhook integration, TicketNotes, Datto RMM, workflow engine, Veeam agents/alarms, AI triage, misc improvements 2026-02-20 10:28:15 -05:00
028_create_device_lifecycle_policies.sql feat: Autotask webhook integration, TicketNotes, Datto RMM, workflow engine, Veeam agents/alarms, AI triage, misc improvements 2026-02-20 10:28:15 -05:00
028_create_veeam_agents_alarms.sql feat: Autotask webhook integration, TicketNotes, Datto RMM, workflow engine, Veeam agents/alarms, AI triage, misc improvements 2026-02-20 10:28:15 -05:00
029_create_priorities_ticket_categories.sql feat: Autotask webhook integration, TicketNotes, Datto RMM, workflow engine, Veeam agents/alarms, AI triage, misc improvements 2026-02-20 10:28:15 -05:00
030_create_workflow_engine_tables.sql feat: Autotask webhook integration, TicketNotes, Datto RMM, workflow engine, Veeam agents/alarms, AI triage, misc improvements 2026-02-20 10:28:15 -05:00
031_create_datto_rmm_webhook_logs.sql feat: IT Glue integration, workflow engine, pipelines, Zabbix WAN, notification channels, backup status UI improvements, nav alignment fixes 2026-02-27 14:52:14 -05:00
032_add_webhook_fields_to_datto_rmm_alerts.sql feat: IT Glue integration, workflow engine, pipelines, Zabbix WAN, notification channels, backup status UI improvements, nav alignment fixes 2026-02-27 14:52:14 -05:00
033_create_pipeline_engine_tables.sql feat: IT Glue integration, workflow engine, pipelines, Zabbix WAN, notification channels, backup status UI improvements, nav alignment fixes 2026-02-27 14:52:14 -05:00
034_seed_veeam_backup_failure_pipeline.sql feat: IT Glue integration, workflow engine, pipelines, Zabbix WAN, notification channels, backup status UI improvements, nav alignment fixes 2026-02-27 14:52:14 -05:00
035_update_veeam_pipeline_b2_fetch.sql feat: IT Glue integration, workflow engine, pipelines, Zabbix WAN, notification channels, backup status UI improvements, nav alignment fixes 2026-02-27 14:52:14 -05:00
036_create_ticket_workflow_tables.sql feat: IT Glue integration, workflow engine, pipelines, Zabbix WAN, notification channels, backup status UI improvements, nav alignment fixes 2026-02-27 14:52:14 -05:00
037_create_itglue_tables.sql feat: IT Glue integration, workflow engine, pipelines, Zabbix WAN, notification channels, backup status UI improvements, nav alignment fixes 2026-02-27 14:52:14 -05:00
038_create_sentinelone_tables.sql feat: Add SentinelOne integration 2026-02-27 05:31:31 -05:00
039_create_veeam_rpo_tickets_table.sql feat: IT Glue integration, workflow engine, pipelines, Zabbix WAN, notification channels, backup status UI improvements, nav alignment fixes 2026-02-27 14:52:14 -05:00
040_create_contract_services_table.sql feat: Morning NOC Summary adaptive card for Teams 2026-03-11 09:34:51 -04:00
041_create_engagement_tables.sql feat: Morning NOC Summary adaptive card for Teams 2026-03-11 09:34:51 -04:00
042_add_engagement_calendar_columns.sql feat: Morning NOC Summary adaptive card for Teams 2026-03-11 09:34:51 -04:00
043_add_hours_to_bill_to_time_entries.sql feat: Morning NOC Summary adaptive card for Teams 2026-03-11 09:34:51 -04:00
044_add_contract_id_to_time_entries.sql feat: Morning NOC Summary adaptive card for Teams 2026-03-11 09:34:51 -04:00
045_create_zoom_tables.sql feat: Morning NOC Summary adaptive card for Teams 2026-03-11 09:34:51 -04:00
046_create_teams_meetings_table.sql feat: Morning NOC Summary adaptive card for Teams 2026-03-11 09:34:51 -04:00
047_add_after_hours_messages.sql feat: Morning NOC Summary adaptive card for Teams 2026-03-11 09:34:51 -04:00
048_create_morning_summary_tables.sql feat: Morning NOC Summary adaptive card for Teams 2026-03-11 09:34:51 -04:00
049_create_ping_flap_suppressions.sql feat: QuickBooks Online integration 2026-03-17 07:39:55 -04:00
049_create_ticket_digest_tables.sql feat: QuickBooks Online integration 2026-03-17 07:39:55 -04:00
050_create_zabbix_wan_tables.sql feat: QuickBooks Online integration 2026-03-17 07:39:55 -04:00
051_create_qbo_tables.sql feat: QuickBooks Online integration 2026-03-17 07:39:55 -04:00
052_add_configuration_items_udfs_and_missing_fields.sql fix: configuration_items sync — correct camelCase field mapping, store all UDFs in udfs JSONB 2026-03-17 15:39:42 -04:00
053_widen_configuration_items_varchar_columns.sql fix: widen VARCHAR(50) columns in configuration_items that exceed limit 2026-03-17 15:48:35 -04:00
054_widen_configuration_items_to_text.sql fix: widen all VARCHAR columns in configuration_items to TEXT 2026-03-17 15:52:57 -04:00
055_create_mimecast_tables.sql feat: Mimecast email integration — message logs, threat events, 120d retention, admin UI 2026-03-17 16:23:47 -04:00
056_companies_udf_and_missing_fields.sql feat: companies sync — add UDFs and fix all field mappings 2026-03-17 23:56:40 -04:00
057_contacts_missing_fields.sql feat: contacts sync — add all missing fields + UDFs 2026-03-26 13:16:13 -04:00
057_create_autotask_tags_tables.sql feat: add Autotask tags sync (tag groups, tags, ticket tag associations) 2026-03-20 09:22:40 -04:00
058_create_duo_tables.sql feat: Duo Security integration — full data sync from Accounts + Admin API 2026-03-27 09:18:04 -04:00
058_create_repo_commit_tracking.sql feat: repo commit tracking and OpenClaw notification 2026-03-21 18:52:22 -04:00
059_create_project_phases_table.sql feat: add project_phases entity sync with task project_id backfill 2026-03-24 13:57:33 -04:00
060_companies_remaining_fields.sql feat: complete companies field sync — 4 missing columns + classification mapping 2026-03-27 12:22:53 -04:00
061_create_recurring_revenue_views.sql feat: Mimecast multi-tenant held mail viewer 2026-03-31 22:38:22 -04:00
062_create_mimecast_tenants.sql feat: Mimecast multi-tenant held mail viewer 2026-03-31 22:38:22 -04:00
063_relax_tickets_company_resource_constraints.sql feat: Display Settings UI + Company Category/Type sync 2026-04-06 09:03:19 -04:00
064_create_company_picklists.sql feat: Display Settings UI + Company Category/Type sync 2026-04-06 09:03:19 -04:00
065_create_company_teams_table.sql feat: Veeam RPO analysis, comparison, ticket analysis + company teams table 2026-04-29 09:16:46 -04:00
066_create_veeam_rpo_offline_log.sql feat: Veeam RPO analysis, comparison, ticket analysis + company teams table 2026-04-29 09:16:46 -04:00
067_create_veeam_rpo_comparison_tables.sql feat: Veeam RPO analysis, comparison, ticket analysis + company teams table 2026-04-29 09:16:46 -04:00
068_create_veeam_ticket_analysis.sql feat: Veeam RPO analysis, comparison, ticket analysis + company teams table 2026-04-29 09:16:46 -04:00
069_create_analyzer_tables.sql feat: AI ticket analyzer (phases 1-6) 2026-04-29 10:59:40 -04:00
070_analyzer_phase2_schema.sql feat(analyzer): Phase 2 — full stage persistence, fingerprints, aggregate reports, cost guards 2026-04-29 14:00:22 -04:00
071_analyzer_aggregate_reports.sql feat(analyzer): Phase 2 — full stage persistence, fingerprints, aggregate reports, cost guards 2026-04-29 14:00:22 -04:00
072_analyzer_cost_audit.sql feat(analyzer): Phase 2 — full stage persistence, fingerprints, aggregate reports, cost guards 2026-04-29 14:00:22 -04:00
073_analyzer_link_aware_bundles.sql feat: RMM Overshell, IT Glue audit/write-back, LogLift, link-aware bundles, dashboard overhaul 2026-05-03 07:13:18 -04:00
074_analyzer_provider.sql feat: RMM Overshell, IT Glue audit/write-back, LogLift, link-aware bundles, dashboard overhaul 2026-05-03 07:13:18 -04:00
075_itglue_audit.sql feat: RMM Overshell, IT Glue audit/write-back, LogLift, link-aware bundles, dashboard overhaul 2026-05-03 07:13:18 -04:00
076_itglue_ticket_xrefs.sql feat: RMM Overshell, IT Glue audit/write-back, LogLift, link-aware bundles, dashboard overhaul 2026-05-03 07:13:18 -04:00
077_rmm_overshell.sql feat: RMM Overshell, IT Glue audit/write-back, LogLift, link-aware bundles, dashboard overhaul 2026-05-03 07:13:18 -04:00
078_loglift_uploads.sql feat: RMM Overshell, IT Glue audit/write-back, LogLift, link-aware bundles, dashboard overhaul 2026-05-03 07:13:18 -04:00
079_endpoint_data_model.sql feat: RMM Overshell, IT Glue audit/write-back, LogLift, link-aware bundles, dashboard overhaul 2026-05-03 07:13:18 -04:00
080_device_xref_company_id.sql feat: RMM Overshell, IT Glue audit/write-back, LogLift, link-aware bundles, dashboard overhaul 2026-05-03 07:13:18 -04:00
081_integration_settings.sql feat(admin): DB-backed integration toggles + sticky cols + dark contrast 2026-05-03 09:55:22 -04:00