fix: complete gemini frontend and usage follow-up

This commit is contained in:
boos
2026-05-19 10:37:29 +08:00
parent 31e95c2634
commit 11144d0697
7 changed files with 121 additions and 49 deletions
+15 -7
View File
@@ -5,7 +5,7 @@ use crate::{
AppState,
};
use axum::{
extract::{Path, State, Query},
extract::{Path, Query, State},
http::{HeaderMap, StatusCode},
routing::{delete, get},
Json, Router,
@@ -167,16 +167,24 @@ async fn get_user_logs(
Query(params): Query<std::collections::HashMap<String, String>>,
) -> AppResult<Json<Value>> {
let user_id = current_user_id(&headers, &state)?;
let limit = params.get("limit").and_then(|v| v.parse::<i64>().ok()).unwrap_or(20).clamp(1, 100);
let offset = params.get("offset").and_then(|v| v.parse::<i64>().ok()).unwrap_or(0).max(0);
let limit = params
.get("limit")
.and_then(|v| v.parse::<i64>().ok())
.unwrap_or(20)
.clamp(1, 100);
let offset = params
.get("offset")
.and_then(|v| v.parse::<i64>().ok())
.unwrap_or(0)
.max(0);
let items: Vec<Value> = sqlx::query_as::<_, crate::routes::stats::ProxyLogRow>(
"SELECT l.* FROM proxy_logs l
JOIN downstream_api_keys k ON l.downstream_api_key_id = k.id
WHERE k.user_id = ?
ORDER BY l.created_at DESC
LIMIT ? OFFSET ?"
LIMIT ? OFFSET ?",
)
.bind(user_id)
.bind(limit)
@@ -190,7 +198,7 @@ async fn get_user_logs(
let total: i64 = sqlx::query_scalar(
"SELECT COUNT(*) FROM proxy_logs l
JOIN downstream_api_keys k ON l.downstream_api_key_id = k.id
WHERE k.user_id = ?"
WHERE k.user_id = ?",
)
.bind(user_id)
.fetch_one(&*state.db)
@@ -216,7 +224,7 @@ async fn get_user_summary(
COALESCE(SUM(l.estimated_cost), 0.0)
FROM proxy_logs l
JOIN downstream_api_keys k ON l.downstream_api_key_id = k.id
WHERE k.user_id = ?"
WHERE k.user_id = ?",
)
.bind(user_id)
.fetch_one(&*state.db)