-- MENU NUEVO DE AREPA POWER, PARTE 2 DE 4:
-- EMPANADAS, PATACONES, AREPAS MARACUCHAS Y SALCHIPAPAS.
--
-- Fuente: el arte impreso del 2026-07-30, pagina de "EMPANADAS, PATACONES,
-- AREPAS MARACUCHAS Y SALCHIPAPAS". Instruccion de Gilberto: el arte manda,
-- lo que no esta ahi salio del menu.
--
-- Lo que hace:
--   1. Empanadas: la lista de rellenos baja de 16 a 9. Quedan los 8 del arte a
--      $2 y camarones a $3, que es la "empanada especial". Se parte "Tocineta,
--      Jamon y Queso" en los dos rellenos que el arte lista aparte.
--   2. Patacones y Arepas Maracuchas: el precio ya coincide ($6). Lo que
--      cambia es la descripcion, que ahora dice lo que trae, igual que el
--      papel. Asi el cliente no pregunta por WhatsApp que viene adentro.
--   3. Salchipapas: categoria nueva, cuatro productos.
--
-- Los rellenos que salen (Queso, Pepito, Mozzarella y Tajadas, Caraota con
-- queso, Cazon, Mariscos, Pepitonas y Mortadela Tapara) no arrastran nada: los
-- pedidos viejos guardan el nombre y el precio congelados en pedido_items.

do $$
declare
  v_rest uuid;
  v_maracuchas_orden int;
  v_salchipapas uuid;
begin
  select id into strict v_rest from public.restaurantes where nombre = 'Arepa Power Restaurant';

  -- ===== 1. Empanadas: solo los rellenos del arte =====
  -- El producto sigue costando 0 y el precio real vive en el relleno elegido,
  -- que es como estaba armado y como lo entiende la caja.
  update public.productos
     set descripcion = 'Crujientes y recién hechas. Elige tu relleno.',
         opciones = jsonb_build_array(jsonb_build_object(
           'nombre', 'Elige el sabor',
           'tipo', 'cantidad',
           'obligatorio', true,
           'max', null,
           'opciones', jsonb_build_array(
             jsonb_build_object('nombre', 'Carne Mechada', 'precio_extra', 2),
             jsonb_build_object('nombre', 'Carne Molida',  'precio_extra', 2),
             jsonb_build_object('nombre', 'Pollo',         'precio_extra', 2),
             jsonb_build_object('nombre', 'Pabellón',      'precio_extra', 2),
             jsonb_build_object('nombre', 'Gordon Blue',   'precio_extra', 2),
             jsonb_build_object('nombre', 'Tocineta',      'precio_extra', 2),
             jsonb_build_object('nombre', 'Jamón y Queso', 'precio_extra', 2),
             jsonb_build_object('nombre', 'Queso Blanco',  'precio_extra', 2),
             jsonb_build_object('nombre', 'Camarones',     'precio_extra', 3)
           )))
   where restaurante_id = v_rest and nombre = 'Empanada';

  -- ===== 2. Lo que traen el patacon y la maracucha =====
  update public.productos
     set descripcion = 'Plátano verde, carne mechada, aguacate, huevo, jamón, queso blanco, ensalada, salsa ketchup y salsas de la casa.'
   where restaurante_id = v_rest and nombre = 'Patacones';

  update public.productos
     set descripcion = 'Carne mechada, jamón, ensalada, aguacate, queso blanco, huevo, salsa ketchup y salsas de la casa.'
   where restaurante_id = v_rest and nombre = 'Arepas Maracuchas';

  -- ===== 3. Salchipapas =====
  -- Va pegada a las Arepas Maracuchas, que es como estan juntas en el papel.
  if not exists (select 1 from public.categorias
                  where restaurante_id = v_rest and nombre = 'Salchipapas') then
    select orden into strict v_maracuchas_orden from public.categorias
     where restaurante_id = v_rest and nombre = 'Arepas Maracuchas';

    update public.categorias set orden = orden + 1
     where restaurante_id = v_rest and orden > v_maracuchas_orden;

    insert into public.categorias (restaurante_id, nombre, orden, grupo, a_cocina)
    values (v_rest, 'Salchipapas', v_maracuchas_orden + 1, 'comida', true);
  end if;

  select id into strict v_salchipapas from public.categorias
   where restaurante_id = v_rest and nombre = 'Salchipapas';

  insert into public.productos (restaurante_id, categoria_id, nombre, descripcion, precio_usd, disponible, orden)
  select v_rest, v_salchipapas, x.nombre, x.descripcion, x.precio, true, x.orden
    from (values
      ('Salchipapa',       'Papas fritas con salchicha y salsas de la casa.',                4::numeric,  1),
      ('Salchipollo',      'Papas fritas con pollo y salsas de la casa.',                    7::numeric,  2),
      ('Salchipapa Mixta', 'Papas fritas con salchicha y pollo, con salsas de la casa.',    10::numeric,  3),
      ('Salchipapa Power', 'La grande de la casa, para compartir, con todas sus salsas.',   18::numeric,  4)
    ) as x(nombre, descripcion, precio, orden)
   where not exists (select 1 from public.productos p
                      where p.restaurante_id = v_rest and p.nombre = x.nombre);
end $$;
