Fix RPC function for composite submissions

This commit is contained in:
gpt-engineer-app[bot]
2025-11-04 22:42:14 +00:00
parent c21301cd37
commit 87626dd2d8

View File

@@ -0,0 +1,63 @@
-- Fix create_submission_with_items to remove non-existent 'content' column
-- The content column was removed during architectural cleanup but the RPC wasn't updated
CREATE OR REPLACE FUNCTION public.create_submission_with_items(
p_user_id uuid,
p_submission_type text,
p_content jsonb, -- Keep parameter for backward compatibility, but don't use it
p_items jsonb[]
)
RETURNS uuid
LANGUAGE plpgsql
SECURITY DEFINER
SET search_path TO 'public'
AS $$
DECLARE
v_submission_id UUID;
v_item JSONB;
BEGIN
-- Insert submission WITHOUT content column (column no longer exists)
INSERT INTO content_submissions (user_id, submission_type, status, approval_mode)
VALUES (p_user_id, p_submission_type, 'pending', 'full')
RETURNING id INTO v_submission_id;
-- Validate we have at least one item
IF array_length(p_items, 1) IS NULL OR array_length(p_items, 1) = 0 THEN
RAISE EXCEPTION 'Cannot create submission without items';
END IF;
-- Insert all items atomically (fails entire transaction if any fail)
FOREACH v_item IN ARRAY p_items
LOOP
INSERT INTO submission_items (
submission_id,
item_type,
action_type,
park_submission_id,
ride_submission_id,
company_submission_id,
photo_submission_id,
ride_model_submission_id,
timeline_event_submission_id,
status,
order_index,
depends_on
) VALUES (
v_submission_id,
(v_item->>'item_type')::TEXT,
(v_item->>'action_type')::TEXT,
(v_item->>'park_submission_id')::UUID,
(v_item->>'ride_submission_id')::UUID,
(v_item->>'company_submission_id')::UUID,
(v_item->>'photo_submission_id')::UUID,
(v_item->>'ride_model_submission_id')::UUID,
(v_item->>'timeline_event_submission_id')::UUID,
'pending',
COALESCE((v_item->>'order_index')::INTEGER, 0),
(v_item->>'depends_on')::UUID
);
END LOOP;
RETURN v_submission_id;
END;
$$;