import { NextResponse } from 'next/server';
import { getEngagementSyncService } from '@/lib/services/engagement-sync-service';
import { isMsgraphConfigured } from '@/lib/services/msgraph-factory';

export async function POST() {
  if (!isMsgraphConfigured()) {
    return NextResponse.json(
      { error: 'Microsoft Graph not configured. Set MSGRAPH_CLIENT_ID, MSGRAPH_CLIENT_SECRET, MSGRAPH_TENANT_ID.' },
      { status: 503 }
    );
  }

  const service = getEngagementSyncService();

  if (service.isSyncInProgress()) {
    return NextResponse.json({ error: 'Sync already in progress' }, { status: 409 });
  }

  // Fire and forget
  service.sync().catch(err => {
    console.error('[ENGAGEMENT-SYNC-API] Background sync failed:', err);
  });

  return NextResponse.json({ message: 'Engagement sync started' });
}

export async function GET() {
  const service = getEngagementSyncService();
  return NextResponse.json({ isSyncing: service.isSyncInProgress() });
}
