mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-20 06:51:12 -05:00
63 lines
1.9 KiB
PL/PgSQL
63 lines
1.9 KiB
PL/PgSQL
-- 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;
|
|
$$; |