From 301669332c03aad0606846846f6f1b7b6a802389 Mon Sep 17 00:00:00 2001 From: Froidefond Julien Date: Tue, 24 Mar 2026 17:18:03 +0100 Subject: [PATCH] fix: make AniList user_id optional for preview/sync (only required for pull) Co-Authored-By: Claude Sonnet 4.6 --- apps/api/src/anilist.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/api/src/anilist.rs b/apps/api/src/anilist.rs index 26c35a4..74d5b65 100644 --- a/apps/api/src/anilist.rs +++ b/apps/api/src/anilist.rs @@ -55,7 +55,7 @@ async fn anilist_graphql( } /// Load AniList settings from DB: (access_token, anilist_user_id, local_user_id) -async fn load_anilist_settings(pool: &sqlx::PgPool) -> Result<(String, i64, Option), ApiError> { +async fn load_anilist_settings(pool: &sqlx::PgPool) -> Result<(String, Option, Option), ApiError> { let row = sqlx::query("SELECT value FROM app_settings WHERE key = 'anilist'") .fetch_optional(pool) .await?; @@ -70,9 +70,7 @@ async fn load_anilist_settings(pool: &sqlx::PgPool) -> Result<(String, i64, Opti .ok_or_else(|| ApiError::bad_request("AniList access token not configured"))? .to_string(); - let user_id = value["user_id"] - .as_i64() - .ok_or_else(|| ApiError::bad_request("AniList user_id not configured"))?; + let user_id = value["user_id"].as_i64(); let local_user_id = value["local_user_id"] .as_str() @@ -785,6 +783,8 @@ pub async fn pull_from_anilist( State(state): State, ) -> Result, ApiError> { let (token, user_id, local_user_id) = load_anilist_settings(&state.pool).await?; + let user_id = user_id + .ok_or_else(|| ApiError::bad_request("AniList user_id not configured — please test the connection in settings"))?; let local_user_id = local_user_id .ok_or_else(|| ApiError::bad_request("AniList local user not configured — please select a user in settings"))?;