-- Make the 'files' bucket public so existing getPublicUrl links resolve.
-- The codebase already calls getPublicUrl() on this bucket and stores the URL
-- in documents.file_url, so the bucket must be public for those links to load.
UPDATE storage.buckets SET public = true WHERE id = 'files';

-- Ensure a public SELECT policy exists for this bucket.
DO $$
BEGIN
  IF NOT EXISTS (
    SELECT 1 FROM pg_policies
    WHERE schemaname = 'storage'
      AND tablename = 'objects'
      AND policyname = 'Files bucket public read'
  ) THEN
    CREATE POLICY "Files bucket public read"
      ON storage.objects FOR SELECT
      USING (bucket_id = 'files');
  END IF;
END $$;