wulf-pulse/lib/services
lorentz dd4cf68def feat: add project_phases entity sync with task project_id backfill
The Autotask Tasks bulk API does not return projectID in its response,
causing all tasks.project_id to be NULL. This fixes it by:

- Adding project_phases as a synced entity (Autotask endpoint: /Phases)
- Migration 059: project_phases table with project_id, phase_number,
  estimated_hours, start/due dates, parent_phase_id, is_scheduled
- EntityType.PROJECT_PHASES added to all sync maps and dependency graph
  (depends on PROJECTS, runs before TASKS in sync order)
- buildProjectPhasesFilter: Phases endpoint requires a filter (id > 0)
- mapProjectPhase: maps Autotask field names to DB columns
- Post-sync backfill in syncEntity: after each project_phases sync,
  UPDATE tasks SET project_id = pp.project_id FROM project_phases pp
  JOIN projects p WHERE tasks.phase_id = pp.id
  Only backfills where the project exists in our DB (FK constraint on
  tasks.project_id; archived projects are skipped gracefully)

Result: 2,455 of 4,966 tasks now have project_id populated. Tasks
belonging to archived/completed projects have phase_id resolvable via
project_phases even when project_id remains NULL.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 13:57:33 -04:00
..
pipeline-steps feat: QuickBooks Online integration 2026-03-17 07:39:55 -04:00
workflow-steps 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
addigy-client.ts Restructure: rename to Pulse and move app to root 2025-10-28 23:08:54 -04:00
addigy-factory.ts Restructure: rename to Pulse and move app to root 2025-10-28 23:08:54 -04:00
ai-triage-service.ts feat: Autotask webhook integration, TicketNotes, Datto RMM, workflow engine, Veeam agents/alarms, AI triage, misc improvements 2026-02-20 10:28:15 -05:00
analytics-engine.ts Add comprehensive admin features and multi-system integration 2025-11-19 14:18:16 -05:00
analytics-integration.ts Add comprehensive admin features and multi-system integration 2025-11-19 14:18:16 -05:00
audit.ts feat: add authentication, user management, and admin features 2026-01-31 12:43:14 -05:00
autotask-client.ts fix: pre-populate classifications instead of syncing from Autotask API 2026-02-03 20:54:35 -05:00
autotask-factory.ts Restructure: rename to Pulse and move app to root 2025-10-28 23:08:54 -04:00
autotask-webhook-manager.ts feat: QuickBooks Online integration 2026-03-17 07:39:55 -04:00
auvik-client.ts Add comprehensive admin features and multi-system integration 2025-11-19 14:18:16 -05:00
auvik-factory.ts Add comprehensive admin features and multi-system integration 2025-11-19 14:18:16 -05:00
background-processor.ts Add comprehensive admin features and multi-system integration 2025-11-19 14:18:16 -05:00
cache.ts Restructure: rename to Pulse and move app to root 2025-10-28 23:08:54 -04:00
datto-rmm-client-simple.ts feat: Autotask webhook integration, TicketNotes, Datto RMM, workflow engine, Veeam agents/alarms, AI triage, misc improvements 2026-02-20 10:28:15 -05:00
datto-rmm-client.ts feat: QuickBooks Online integration 2026-03-17 07:39:55 -04:00
datto-rmm-factory.ts Restructure: rename to Pulse and move app to root 2025-10-28 23:08:54 -04:00
datto-rmm-sync-service.ts feat: Autotask webhook integration, TicketNotes, Datto RMM, workflow engine, Veeam agents/alarms, AI triage, misc improvements 2026-02-20 10:28:15 -05:00
email.ts feat: add authentication, user management, and admin features 2026-01-31 12:43:14 -05:00
engagement-sync-service.ts feat: Morning NOC Summary adaptive card for Teams 2026-03-11 09:34:51 -04:00
entity-sync.ts feat: add project_phases entity sync with task project_id backfill 2026-03-24 13:57:33 -04:00
issue-type-assignment.ts Add comprehensive admin features and multi-system integration 2025-11-19 14:18:16 -05:00
itglue-client.ts 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
itglue-sync-service.ts 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
llm-analyzer.ts Add comprehensive admin features and multi-system integration 2025-11-19 14:18:16 -05:00
mimecast-client.ts fix: Mimecast two-pass sync (from+to wulfconsulting.com), correct filter handling 2026-03-17 16:44:01 -04:00
mimecast-sync-service.ts fix: Mimecast 7-day chunk windows, 30-day retention limit, two-pass from+to domain filter 2026-03-17 16:53:46 -04:00
morning-summary-service.ts feat: Morning NOC Summary adaptive card for Teams 2026-03-11 09:34:51 -04:00
msgraph-client.ts feat: Morning NOC Summary adaptive card for Teams 2026-03-11 09:34:51 -04:00
msgraph-factory.ts feat: Morning NOC Summary adaptive card for Teams 2026-03-11 09:34:51 -04:00
performance-optimizer.ts Add comprehensive admin features and multi-system integration 2025-11-19 14:18:16 -05:00
pipeline-engine.ts 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
postgres-client.ts Add comprehensive admin features and multi-system integration 2025-11-19 14:18:16 -05:00
qbo-client.ts feat: QuickBooks Online integration 2026-03-17 07:39:55 -04:00
qbo-sync-service.ts feat: QuickBooks Online integration 2026-03-17 07:39:55 -04:00
rate-limiter.ts Add comprehensive admin features and multi-system integration 2025-11-19 14:18:16 -05:00
redis-client.ts Restructure: rename to Pulse and move app to root 2025-10-28 23:08:54 -04:00
robotic-classifier.ts feat: Autotask webhook integration, TicketNotes, Datto RMM, workflow engine, Veeam agents/alarms, AI triage, misc improvements 2026-02-20 10:28:15 -05:00
salesbldr-client.ts feat: add authentication, user management, and admin features 2026-01-31 12:43:14 -05:00
sentinelone-client.ts feat: Add SentinelOne integration 2026-02-27 05:31:31 -05:00
sentinelone-sync-service.ts feat: Add SentinelOne integration 2026-02-27 05:31:31 -05:00
sync-progress-tracker.ts Add comprehensive admin features and multi-system integration 2025-11-19 14:18:16 -05:00
sync-scheduler.ts feat: QuickBooks Online integration 2026-03-17 07:39:55 -04:00
sync-service.ts feat: add Autotask tags sync (tag groups, tags, ticket tag associations) 2026-03-20 09:22:40 -04:00
ticket-digest-service.ts feat: QuickBooks Online integration 2026-03-17 07:39:55 -04:00
ticket-workflow-engine.ts 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
triage-validator.ts feat: Autotask webhook integration, TicketNotes, Datto RMM, workflow engine, Veeam agents/alarms, AI triage, misc improvements 2026-02-20 10:28:15 -05:00
veeam-client.ts feat: Autotask webhook integration, TicketNotes, Datto RMM, workflow engine, Veeam agents/alarms, AI triage, misc improvements 2026-02-20 10:28:15 -05:00
veeam-compliance-service.ts feat: Veeam VSPC backup integration - sync, compliance, UI 2026-02-11 21:04:28 -05:00
veeam-factory.ts feat: Veeam VSPC backup integration - sync, compliance, UI 2026-02-11 21:04:28 -05:00
veeam-rpo-service.ts 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
veeam-sync-service.ts feat: Autotask webhook integration, TicketNotes, Datto RMM, workflow engine, Veeam agents/alarms, AI triage, misc improvements 2026-02-20 10:28:15 -05:00
webhook-service.ts 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
workflow-engine.ts feat: Autotask webhook integration, TicketNotes, Datto RMM, workflow engine, Veeam agents/alarms, AI triage, misc improvements 2026-02-20 10:28:15 -05:00
zabbix-client.ts feat: QuickBooks Online integration 2026-03-17 07:39:55 -04:00
zabbix-wan-utils.ts feat: Morning NOC Summary adaptive card for Teams 2026-03-11 09:34:51 -04:00
zoom-client.ts feat: Morning NOC Summary adaptive card for Teams 2026-03-11 09:34:51 -04:00
zoom-factory.ts feat: Morning NOC Summary adaptive card for Teams 2026-03-11 09:34:51 -04:00
zoom-sync-service.ts feat: Morning NOC Summary adaptive card for Teams 2026-03-11 09:34:51 -04:00