fix(admin): align global model responses with repository counts

This commit is contained in:
fawney19
2026-04-11 02:55:02 +08:00
parent a54ac76688
commit 34d295c1e0
6 changed files with 91 additions and 132 deletions

View File

@@ -106,7 +106,9 @@ impl InMemoryGlobalModelReadRepository {
.len() as u64;
let active_provider_count = items
.iter()
.filter(|item| item.global_model_id == global_model_id && item.is_active)
.filter(|item| {
item.global_model_id == global_model_id && item.is_active && item.is_available
})
.map(|item| item.provider_id.clone())
.collect::<BTreeSet<_>>()
.len() as u64;

View File

@@ -124,7 +124,7 @@ LEFT JOIN (
COUNT(DISTINCT m.provider_id)::bigint AS provider_count,
COUNT(
DISTINCT CASE
WHEN m.is_active = TRUE AND p.is_active = TRUE THEN m.provider_id
WHEN m.is_active = TRUE AND COALESCE(m.is_available, TRUE) = TRUE AND p.is_active = TRUE THEN m.provider_id
ELSE NULL
END
)::bigint AS active_provider_count
@@ -411,7 +411,7 @@ LEFT JOIN (
COUNT(DISTINCT m.provider_id)::bigint AS provider_count,
COUNT(
DISTINCT CASE
WHEN m.is_active = TRUE AND p.is_active = TRUE THEN m.provider_id
WHEN m.is_active = TRUE AND COALESCE(m.is_available, TRUE) = TRUE AND p.is_active = TRUE THEN m.provider_id
ELSE NULL
END
)::bigint AS active_provider_count
@@ -458,7 +458,7 @@ LEFT JOIN (
COUNT(DISTINCT m.provider_id)::bigint AS provider_count,
COUNT(
DISTINCT CASE
WHEN m.is_active = TRUE AND p.is_active = TRUE THEN m.provider_id
WHEN m.is_active = TRUE AND COALESCE(m.is_available, TRUE) = TRUE AND p.is_active = TRUE THEN m.provider_id
ELSE NULL
END
)::bigint AS active_provider_count