mirror of
https://github.com/Luchexx/wacrm.git
synced 2026-11-02 17:29:45 +00:00
Replaces the /automations placeholder with a full feature: - Migration 006 adds automations, automation_steps, automation_logs, and automation_pending_executions with RLS matching existing tables. - List page with active/inactive switch, quick-start templates, duplicate, delete, and View Logs actions. - Full-screen vertical flow builder with Trigger + Action + Condition (Yes/No branches) + Wait cards. Inline edit forms, up/down reorder, dotted-grid canvas. - Execution engine (src/lib/automations/engine.ts) dispatched from the WhatsApp webhook for new_message_received, new_contact_created, and keyword_match. Wait steps enqueue to automation_pending_executions; /api/automations/cron drains them behind AUTOMATION_CRON_SECRET. - Logs viewer with per-step checkmarks and expandable detail. Existing files touched only in webhook/route.ts (fire-and-forget trigger dispatch) and types/index.ts (appended automation types). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
17 lines
513 B
TypeScript
17 lines
513 B
TypeScript
import { createClient, type SupabaseClient } from '@supabase/supabase-js'
|
|
|
|
// Lazy, shared service-role client for automation engine work.
|
|
// Mirrors the pattern used by the webhook handler
|
|
// (src/app/api/whatsapp/webhook/route.ts).
|
|
let _adminClient: SupabaseClient | null = null
|
|
|
|
export function supabaseAdmin(): SupabaseClient {
|
|
if (!_adminClient) {
|
|
_adminClient = createClient(
|
|
process.env.NEXT_PUBLIC_SUPABASE_URL!,
|
|
process.env.SUPABASE_SERVICE_ROLE_KEY!,
|
|
)
|
|
}
|
|
return _adminClient
|
|
}
|