mirror of
https://github.com/perstarkse/minne.git
synced 2026-04-23 17:28:34 +02:00
fix: concurrent calls in admin page to api and db
This commit is contained in:
@@ -39,27 +39,31 @@ pub async fn show_admin_panel(
|
|||||||
State(state): State<HtmlState>,
|
State(state): State<HtmlState>,
|
||||||
RequireUser(user): RequireUser,
|
RequireUser(user): RequireUser,
|
||||||
) -> Result<impl IntoResponse, HtmlError> {
|
) -> Result<impl IntoResponse, HtmlError> {
|
||||||
let settings = SystemSettings::get_current(&state.db).await?;
|
let (
|
||||||
let analytics = Analytics::get_current(&state.db).await?;
|
settings_res,
|
||||||
let users_count = Analytics::get_users_amount(&state.db).await?;
|
analytics_res,
|
||||||
let conversation_archive = User::get_user_conversations(&user.id, &state.db).await?;
|
user_count_res,
|
||||||
let available_models = state
|
conversation_archive_res,
|
||||||
.openai_client
|
available_models_res,
|
||||||
.models()
|
) = tokio::join!(
|
||||||
.list()
|
SystemSettings::get_current(&state.db),
|
||||||
.await
|
Analytics::get_current(&state.db),
|
||||||
.map_err(|e| AppError::InternalError(e.to_string()))?;
|
Analytics::get_users_amount(&state.db),
|
||||||
|
User::get_user_conversations(&user.id, &state.db),
|
||||||
|
async { state.openai_client.models().list().await }
|
||||||
|
);
|
||||||
|
|
||||||
Ok(TemplateResponse::new_template(
|
Ok(TemplateResponse::new_template(
|
||||||
"admin/base.html",
|
"admin/base.html",
|
||||||
AdminPanelData {
|
AdminPanelData {
|
||||||
user,
|
user,
|
||||||
settings,
|
settings: settings_res?,
|
||||||
analytics,
|
analytics: analytics_res?,
|
||||||
available_models,
|
available_models: available_models_res
|
||||||
users: users_count,
|
.map_err(|e| AppError::InternalError(e.to_string()))?,
|
||||||
|
users: user_count_res?,
|
||||||
default_query_prompt: DEFAULT_QUERY_SYSTEM_PROMPT.to_string(),
|
default_query_prompt: DEFAULT_QUERY_SYSTEM_PROMPT.to_string(),
|
||||||
conversation_archive,
|
conversation_archive: conversation_archive_res?,
|
||||||
},
|
},
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user