From 3bc38937e865b30d21557e814e52b972b611f83b Mon Sep 17 00:00:00 2001 From: 9qeklajc Date: Sat, 10 Jan 2026 18:39:24 +0100 Subject: [PATCH] ignore disabled provider --- routstr/payment/models.py | 7 +++++++ routstr/proxy.py | 2 ++ routstr/upstream/helpers.py | 2 ++ 3 files changed, 11 insertions(+) diff --git a/routstr/payment/models.py b/routstr/payment/models.py index 2a167838..4afbf45e 100644 --- a/routstr/payment/models.py +++ b/routstr/payment/models.py @@ -253,6 +253,11 @@ async def list_models( else 1.01, ) for r in rows + if include_disabled + or ( + r.upstream_provider_id in providers_by_id + and providers_by_id[r.upstream_provider_id].enabled + ) ] @@ -265,6 +270,8 @@ async def get_model_by_id( if not row or not row.enabled: return None provider = await session.get(UpstreamProviderRow, provider_id) + if not provider or not provider.enabled: + return None provider_fee = provider.provider_fee if provider else 1.01 return _row_to_model(row, apply_provider_fee=True, provider_fee=provider_fee) diff --git a/routstr/proxy.py b/routstr/proxy.py index 1d5aaa96..1f9a48ba 100644 --- a/routstr/proxy.py +++ b/routstr/proxy.py @@ -98,6 +98,8 @@ async def refresh_model_maps() -> None: disabled_model_ids: set[str] = set() for provider in provider_rows: + if not provider.enabled: + continue for model in provider.models: if model.enabled: overrides_by_id[model.id] = (model, provider.provider_fee) diff --git a/routstr/upstream/helpers.py b/routstr/upstream/helpers.py index af333522..fdf267ab 100644 --- a/routstr/upstream/helpers.py +++ b/routstr/upstream/helpers.py @@ -102,6 +102,8 @@ async def get_all_models_with_overrides( ) for row in override_rows if row.upstream_provider_id is not None + and row.upstream_provider_id in providers_by_id + and providers_by_id[row.upstream_provider_id].enabled } all_models: dict[str, Model] = {}