diff --git a/identity-wallet/src/state/qr_code/reducers/read_credential_offer.rs b/identity-wallet/src/state/qr_code/reducers/read_credential_offer.rs index 731f796e..e15f1708 100644 --- a/identity-wallet/src/state/qr_code/reducers/read_credential_offer.rs +++ b/identity-wallet/src/state/qr_code/reducers/read_credential_offer.rs @@ -107,35 +107,7 @@ pub async fn read_credential_offer(state: AppState, action: Action) -> Result().ok()) - { - let _ = download_asset( - credential_logo_url, - format!("credential_{}", credential_configuration_id).as_str(), - ) - .await; - } - } - - if credential_logo_url.is_none() && logo_uri.is_none() { - debug!("No logo found in metadata."); - } - } + download_credential_logos(&credential_configurations).await; if logo_uri.is_some() { debug!( @@ -167,3 +139,33 @@ pub async fn read_credential_offer(state: AppState, action: Action) -> Result, +) { + for (credential_configuration_id, credential_configuration) in credential_configurations.iter() { + let credential_logo_uri = credential_configuration + .display + .first() + .and_then(|value| value["logo"]["uri"].as_str()); + + info!("credential_logo_uri: {:?}", credential_logo_uri); + + if let Some(credential_logo_uri) = credential_logo_uri { + debug!( + "{}", + format!("Downloading credential logo from URI: {}", credential_logo_uri) + ); + if let Ok(credential_logo_uri) = credential_logo_uri.parse::() { + let _ = download_asset( + credential_logo_uri, + format!("credential_{}", credential_configuration_id).as_str(), + ) + .await; + } else { + debug!("Failed to parse credential logo URI: {}", credential_logo_uri); + } + } + } +} diff --git a/unime/src-tauri/tests/tests/credential_offer.rs b/unime/src-tauri/tests/tests/credential_offer.rs index 0ffb5aae..96ebb686 100644 --- a/unime/src-tauri/tests/tests/credential_offer.rs +++ b/unime/src-tauri/tests/tests/credential_offer.rs @@ -68,7 +68,7 @@ async fn download_credential_logo() { "name": "University Credential", "locale": "en-US", "logo": { - "url": format!("{}/logo/credential.svg", &mock_server.uri()), + "uri": format!("{}/logo/credential.svg", &mock_server.uri()), "alternative_text": "a square logo of a university" }, "background_color": "#12107c",