-- Final fix for user RLS policies
-- Drop the conflicting policies and create the correct ones

-- Drop existing conflicting policies
DROP POLICY IF EXISTS "Allow user insert for anon" ON "public"."users";
DROP POLICY IF EXISTS "Allow user insert for authenticated" ON "public"."users";
DROP POLICY IF EXISTS "Allow user insert for authenticator" ON "public"."users";
DROP POLICY IF EXISTS "Allow user insert for dashboard_user" ON "public"."users";

-- Create the correct policies
DROP POLICY IF EXISTS "Allow user profile creation during registration" ON "public"."users";
CREATE POLICY "Allow user profile creation during registration" ON "public"."users" 
FOR INSERT TO "anon" WITH CHECK (true);

DROP POLICY IF EXISTS "Allow authenticated user profile creation" ON "public"."users";
CREATE POLICY "Allow authenticated user profile creation" ON "public"."users" 
FOR INSERT TO "authenticated" WITH CHECK (auth.uid() = id);

DROP POLICY IF EXISTS "Allow user profile creation for service role" ON "public"."users";
CREATE POLICY "Allow user profile creation for service role" ON "public"."users" 
FOR INSERT TO "service_role" WITH CHECK (true);

-- Refresh schema cache
NOTIFY pgrst, 'reload schema';
