-- Complete RLS Policy Fix for All Tables -- Run this in your Supabase SQL Editor -- ============================================================ -- FIX 1: Allow INSERT to species table -- ============================================================ -- Drop existing INSERT policies if any DROP POLICY IF EXISTS "Allow service role to insert species" ON public.species; DROP POLICY IF EXISTS "Allow inserts to species" ON public.species; DROP POLICY IF EXISTS "Anyone can insert species" ON public.species; -- Create new policy to allow INSERT operations -- This allows the API (using anon key) to insert new species CREATE POLICY "Allow authenticated inserts to species" ON public.species FOR INSERT WITH CHECK (true); -- ============================================================ -- FIX 2: Allow INSERT to species_submissions table -- ============================================================ -- Drop existing INSERT policies if any DROP POLICY IF EXISTS "Allow inserts to submissions" ON public.species_submissions; -- The schema already has this policy, but let's make sure it exists -- CREATE POLICY "Anyone can submit new species" -- ON public.species_submissions FOR INSERT -- WITH CHECK (true); -- (This should already exist from your schema) -- ============================================================ -- Verify all policies -- ============================================================ SELECT schemaname, tablename, policyname, permissive, cmd as operation, qual as using_expression, with_check FROM pg_policies WHERE tablename IN ('species', 'species_submissions', 'recognition_logs') ORDER BY tablename, policyname;