From ac2020da299486b58d27982c778390a158de9148 Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Sun, 29 Mar 2026 08:11:48 -0400 Subject: [PATCH] refactor for readability --- .../poll_characters/poll_characters.rs | 37 +++++-------------- 1 file changed, 10 insertions(+), 27 deletions(-) diff --git a/crates/api_clients/seedance2pro_client/src/requests/poll_characters/poll_characters.rs b/crates/api_clients/seedance2pro_client/src/requests/poll_characters/poll_characters.rs index 79acbb922c..08d998254c 100644 --- a/crates/api_clients/seedance2pro_client/src/requests/poll_characters/poll_characters.rs +++ b/crates/api_clients/seedance2pro_client/src/requests/poll_characters/poll_characters.rs @@ -44,29 +44,6 @@ pub enum CharacterCreationStatus { } impl CharacterCreationStatus { - /// Derive our status from the raw Kinovi API fields. - /// - /// Logic: - /// - taskStatus "FAILED" => Failed - /// - taskStatus "COMPLETED" + assetStatus "Active" => Success - /// - taskStatus "COMPLETED" + assetStatus "Failed" => Failed - /// - taskStatus "COMPLETED" + assetStatus is null/other => Failed (defensive) - /// - taskStatus "PENDING" or "PROCESSING" => Pending - /// - anything else => Pending (defensive) - fn from_api(task_status: &str, asset_status: Option<&str>) -> Self { - match task_status { - "FAILED" => Self::Failed, - "COMPLETED" => { - match asset_status { - Some("Active") => Self::Success, - _ => Self::Failed, - } - } - "PENDING" | "PROCESSING" => Self::Pending, - _ => Self::Pending, - } - } - pub fn is_terminal(&self) -> bool { matches!(self, Self::Success | Self::Failed) } @@ -205,10 +182,16 @@ pub async fn poll_characters(args: PollCharactersArgs<'_>) -> Result CharacterCreationStatus::Failed, + "COMPLETED" => match item.asset_status.as_deref() { + Some("Active") => CharacterCreationStatus::Success, + _ => CharacterCreationStatus::Failed, + }, + _ => CharacterCreationStatus::Pending, + }; CharacterStatus { id: item.id,