CREATE OR REPLACE FUNCTION public.fn_schedule_delete(p_schedule_id integer)
 RETURNS jsonb
 LANGUAGE plpgsql
AS $function$
DECLARE
  v_count integer;
BEGIN
  SELECT COUNT(*) INTO v_count FROM public.sessions WHERE schedule_id = p_schedule_id;
  IF v_count > 0 THEN
    RETURN jsonb_build_object('error', 'Cannot delete: schedule has ' || v_count || ' sessions created from it. Pause it instead.');
  END IF;
  DELETE FROM public.session_schedules WHERE schedule_id = p_schedule_id;
  RETURN jsonb_build_object('deleted', true);
END;
$function$
;
