metaads-pro/docs/automation.sql

55 lines
2.1 KiB
MySQL
Raw Permalink Normal View History

-- ============================================================
-- Tabelas da Automação (rode no Supabase → SQL Editor)
-- ============================================================
-- O app acessa o Supabase com a chave anon (server-side). Mantemos RLS
-- desabilitado nestas tabelas para o engine ler/escrever, igual ao restante
-- do app (tabela agent_campaigns).
--
-- ⚠️ SEGURANÇA: app_config guarda o token da Meta. Com RLS off + chave anon,
-- quem tiver a anon key consegue ler. Para uma ferramenta privada de um único
-- dono está ok; para travar de vez, prefira definir META_SYSTEM_TOKEN por env
-- (token de System User) e NÃO depender do token salvo aqui.
-- Regras de automação ----------------------------------------
create table if not exists automation_rules (
id uuid primary key default gen_random_uuid(),
name text not null,
enabled boolean not null default true,
metric text not null,
operator text not null,
threshold numeric not null,
min_spend numeric not null default 0,
min_impressions integer not null default 0,
action text not null,
action_value numeric,
cooldown_hours integer not null default 24,
created_at timestamptz not null default now(),
updated_at timestamptz not null default now()
);
-- Logs de atividade do engine --------------------------------
create table if not exists automation_logs (
id uuid primary key default gen_random_uuid(),
rule_id text,
rule_name text,
campaign_id text not null,
campaign_name text,
action text,
details jsonb,
status text,
created_at timestamptz not null default now()
);
create index if not exists automation_logs_created_idx on automation_logs (created_at desc);
-- Config chave/valor (token da Meta, etc.) -------------------
create table if not exists app_config (
key text primary key,
value text,
updated_at timestamptz not null default now()
);
-- Mantém o acesso via chave anon (igual ao resto do app).
alter table automation_rules disable row level security;
alter table automation_logs disable row level security;
alter table app_config disable row level security;