Dashboard-Automatizase/docs/architecture/workflows-principais.md
2025-10-05 21:17:43 -03:00

2.1 KiB

Workflows Principais

Login Flow

sequenceDiagram
    actor User
    participant LoginPage
    participant SupabaseAuth
    participant Dashboard

    User->>LoginPage: Acessa /login
    LoginPage->>User: Exibe formulário
    User->>LoginPage: Preenche email/senha
    LoginPage->>SupabaseAuth: signInWithPassword()
    alt Sucesso
        SupabaseAuth->>LoginPage: JWT token
        LoginPage->>Dashboard: Redirect /dashboard
        Dashboard->>User: Exibe dashboard
    else Erro
        SupabaseAuth->>LoginPage: Error 401
        LoginPage->>User: "Email ou senha inválidos"
    end

WhatsApp QR Code Flow

sequenceDiagram
    actor User
    participant Dashboard
    participant API
    participant EvolutionAPI
    participant Modal

    User->>Dashboard: Clica "Gerar QR Code"
    Dashboard->>API: POST /api/.../qrcode
    API->>EvolutionAPI: GET /instance/connect/{name}
    alt Sucesso
        EvolutionAPI->>API: QR code (base64)
        API->>Dashboard: { qrCode: "..." }
        Dashboard->>Modal: Exibe QR code
        Modal->>User: Modal com QR
        Note over User,EvolutionAPI: Polling a cada 5s
        EvolutionAPI->>API: Status "connected"
        API->>Dashboard: Status atualizado
        Dashboard->>User: Badge verde
    else Erro
        EvolutionAPI->>API: Error
        API->>Dashboard: Error response
        Dashboard->>User: Toast erro
    end

Google Calendar OAuth Flow

sequenceDiagram
    actor User
    participant Dashboard
    participant n8n
    participant Google
    participant Callback
    participant Supabase

    User->>Dashboard: Clica "Conectar Calendar"
    Dashboard->>n8n: Redirect {N8N_OAUTH_URL}
    n8n->>Google: Redirect OAuth
    User->>Google: Autoriza
    Google->>n8n: Callback com code
    n8n->>n8n: Troca code por token
    n8n->>Callback: Redirect /callback?success=true&email={email}
    Callback->>Supabase: UPDATE google_calendar_integration
    Supabase->>Callback: Success
    Callback->>Dashboard: Redirect /dashboard
    Dashboard->>User: Toast "Conectado!" + Badge verde