/** * Workflow-specific implementation of IAnalyticsTracker interface * This adapter provides analytics tracking for workflow contexts * For now this is a no-op implementation, but can be enhanced to integrate * with workflow analytics systems or external tracking services */ import { IAnalyticsTracker } from '../../models/ticketModel'; export class WorkflowAnalyticsTracker implements IAnalyticsTracker { async trackTicketCreated(data: { ticket_type: string; priority_id?: string; has_description: boolean; has_category: boolean; has_subcategory: boolean; is_assigned: boolean; board_id?: string; created_via: string; has_asset?: boolean; metadata?: Record; }, userId?: string): Promise { // TODO: Integrate with workflow analytics or external tracking // For now, log analytics events for debugging purposes console.log('[WorkflowAnalyticsTracker] Ticket created analytics:', { event: 'ticket_created', userId, data: { ...data, tracked_via: 'workflow' } }); } async trackTicketUpdated(data: { ticket_id: string; changes: string[]; updated_via: string; metadata?: Record; }, userId?: string): Promise { console.log('[WorkflowAnalyticsTracker] Ticket updated analytics:', { event: 'ticket_updated', userId, data: { ...data, tracked_via: 'workflow' } }); } async trackCommentCreated(data: { ticket_id: string; is_internal: boolean; is_resolution: boolean; author_type: string; created_via: string; metadata?: Record; }, userId?: string): Promise { console.log('[WorkflowAnalyticsTracker] Comment created analytics:', { event: 'comment_created', userId, data: { ...data, tracked_via: 'workflow' } }); } async trackFeatureUsage(feature: string, userId?: string, metadata?: Record): Promise { console.log('[WorkflowAnalyticsTracker] Feature usage analytics:', { event: 'feature_used', feature, userId, metadata: { ...metadata, tracked_via: 'workflow' } }); } }