fix(followup): filtro de org no reload admin do publish + refs 0056 [onda 3]

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0143T3gYRomX8kFxK3KhJK1U
This commit is contained in:
Rafael Melgaço
2026-07-21 21:57:22 -03:00
co-authored by Claude Fable 5
parent 83a9645557
commit 09073c84de
2 changed files with 3 additions and 2 deletions
@@ -1,7 +1,7 @@
/**
* POST /api/v1/ai/followup-flows/:id/publish — valida o draft_graph
* (validateFlowForPublish, Task 2.2) e, se válido, publica atomicamente via
* fn_publish_followup_flow_version (migration 0055): insert da version +
* fn_publish_followup_flow_version (migration 0056): insert da version +
* ativação do pointer (active_version_id + status='active') numa função só,
* sem janela onde a version fica órfã. EXECUTE da função é só service_role
* (revogado de authenticated) — por isso o client aqui é o admin, com
@@ -89,6 +89,7 @@ export async function POST(_req: NextRequest, ctx: RouteCtx): Promise<Response>
.from("followup_flow_pointers")
.select("id, status, active_version_id, updated_at")
.eq("id", id)
.eq("organization_id", activeOrg.orgId)
.single();
if (reloadErr || !updatedPointer) {
return fail("internal_error", reloadErr?.message ?? "followup_flow_reload_failed", 500, {
@@ -3,7 +3,7 @@
* Aponta o pointer pra uma version já existente (manager+), sem criar uma
* version nova.
*
* Linhagem (migration 0055): version precisa ter `pointer_id = este pointer`
* Linhagem (migration 0056): version precisa ter `pointer_id = este pointer`
* — não basta ser da mesma org. Versions com pointer_id null (órfãs, nunca
* promovidas a active por nenhum pointer) nunca são alvo de rollback.
*