From 5f82b84bbb919af7bdb5a0b931979249599ea718 Mon Sep 17 00:00:00 2001 From: Dan Lynch Date: Thu, 9 Apr 2026 19:46:41 +0000 Subject: [PATCH] feat(database-jobs): bake actor_id into job payload Add jwt_public.current_user_id() to payload in add_job function body. All jobs automatically include actor_id for RLS context propagation. Upstream from constructive-io/constructive-db#761 --- .../deploy/schemas/app_jobs/procedures/add_job.sql | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/database-jobs/deploy/schemas/app_jobs/procedures/add_job.sql b/packages/database-jobs/deploy/schemas/app_jobs/procedures/add_job.sql index 3c9598799..1645b1a5a 100644 --- a/packages/database-jobs/deploy/schemas/app_jobs/procedures/add_job.sql +++ b/packages/database-jobs/deploy/schemas/app_jobs/procedures/add_job.sql @@ -19,6 +19,9 @@ CREATE FUNCTION app_jobs.add_job ( DECLARE v_job app_jobs.jobs; BEGIN + -- Bake actor_id into payload + payload := (coalesce(payload, '{}'::json)::jsonb || jsonb_build_object('actor_id', jwt_public.current_user_id()))::json; + IF job_key IS NOT NULL THEN -- Upsert job INSERT INTO app_jobs.jobs (