-- 14-sales-order-set-deposit.sql
-- Adds sales_order_set_deposit RPC for updating deposit from admin pricing tab.

-- =============================================================================
-- A. RPC: sales_order_set_deposit
-- =============================================================================

create or replace function public.sales_order_set_deposit(p_so_id uuid, p_deposit_eur integer)
returns void
language plpgsql
security invoker
as $$
begin
    update public.sales_orders
       set deposit_eur = p_deposit_eur, updated_at = now()
     where id = p_so_id;
    if not found then
        raise exception 'sales order % not found', p_so_id;
    end if;
end;
$$;

grant execute on function public.sales_order_set_deposit(uuid, integer) to authenticated;

-- =============================================================================
-- B. Schema reload
-- =============================================================================

notify pgrst, 'reload schema';
