Initial commit - Route Commerce platform

This commit is contained in:
2026-06-01 19:40:55 +00:00
commit 53a9671461
617 changed files with 106132 additions and 0 deletions
@@ -0,0 +1,30 @@
-- Migration 119: Add brand_id to regenerate_headgate_token for ownership enforcement
CREATE OR REPLACE FUNCTION regenerate_headgate_token(p_headgate_id UUID, p_brand_id UUID)
RETURNS JSONB
LANGUAGE plpgsql
SECURITY DEFINER
AS $$
DECLARE
v_new_token UUID;
v_headgate_brand_id UUID;
BEGIN
-- Verify headgate exists and belongs to brand
SELECT brand_id INTO v_headgate_brand_id
FROM water_headgates
WHERE id = p_headgate_id AND deleted_at IS NULL;
IF NOT FOUND THEN
RETURN jsonb_build_object('success', false, 'error', 'Headgate not found');
END IF;
-- Brand scoping: if brand_id is not null, enforce ownership
IF p_brand_id IS NOT NULL AND v_headgate_brand_id != p_brand_id THEN
RETURN jsonb_build_object('success', false, 'error', 'Not authorized');
END IF;
v_new_token := gen_random_uuid();
UPDATE water_headgates SET headgate_token = v_new_token WHERE id = p_headgate_id;
RETURN jsonb_build_object('success', true, 'token', v_new_token);
END;
$$;