-- =============================================================
-- AGENCIA LEÓN - Buckets de Storage (galería y tipografías propias)
-- Ejecutar en: Supabase Dashboard > SQL Editor > New query
-- (después de schema.sql)
-- Seguro de ejecutar más de una vez: cada política se borra antes de
-- volver a crearse, así una segunda corrida nunca falla a mitad de camino.
-- =============================================================

insert into storage.buckets (id, name, public)
values ('galeria', 'galeria', true)
on conflict (id) do nothing;

-- Cualquiera puede VER los archivos (la web es pública)
drop policy if exists galeria_lectura_publica on storage.objects;
create policy galeria_lectura_publica on storage.objects
  for select using (bucket_id = 'galeria');

-- Solo el dueño autenticado puede subir, reemplazar o borrar
drop policy if exists galeria_subir on storage.objects;
create policy galeria_subir on storage.objects
  for insert to authenticated with check (bucket_id = 'galeria');

drop policy if exists galeria_actualizar on storage.objects;
create policy galeria_actualizar on storage.objects
  for update to authenticated using (bucket_id = 'galeria');

drop policy if exists galeria_borrar on storage.objects;
create policy galeria_borrar on storage.objects
  for delete to authenticated using (bucket_id = 'galeria');

-- Tipografías personalizadas subidas desde Ajustes > Apariencia
insert into storage.buckets (id, name, public)
values ('fuentes', 'fuentes', true)
on conflict (id) do nothing;

drop policy if exists fuentes_lectura_publica on storage.objects;
create policy fuentes_lectura_publica on storage.objects
  for select using (bucket_id = 'fuentes');

drop policy if exists fuentes_subir on storage.objects;
create policy fuentes_subir on storage.objects
  for insert to authenticated with check (bucket_id = 'fuentes');

drop policy if exists fuentes_actualizar on storage.objects;
create policy fuentes_actualizar on storage.objects
  for update to authenticated using (bucket_id = 'fuentes');

drop policy if exists fuentes_borrar on storage.objects;
create policy fuentes_borrar on storage.objects
  for delete to authenticated using (bucket_id = 'fuentes');
