CORE: Added Last.FM scrobbling
Build and Publish / Build and Publish Docker Image (push) Failing after 1m42s
Build and Publish / Build and Publish Docker Image (push) Failing after 1m42s
This commit is contained in:
@@ -260,6 +260,8 @@ struct AdminSettingsDto {
|
||||
values: AdminSettingsValues,
|
||||
sources: AdminSettingsSources,
|
||||
lastfm_api_key_configured: bool,
|
||||
lastfm_shared_secret_configured: bool,
|
||||
lastfm_scrobbling_configured: bool,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
|
||||
@@ -274,6 +276,7 @@ struct AdminSettingsValues {
|
||||
oidc_user_groups: String,
|
||||
swagger_enabled: bool,
|
||||
lastfm_api_key: String,
|
||||
lastfm_shared_secret: String,
|
||||
agent_enabled: bool,
|
||||
agent_inbox_dir: String,
|
||||
agent_storage_dir: String,
|
||||
@@ -297,6 +300,7 @@ struct AdminSettingsSources {
|
||||
oidc_user_groups: &'static str,
|
||||
swagger_enabled: &'static str,
|
||||
lastfm_api_key: &'static str,
|
||||
lastfm_shared_secret: &'static str,
|
||||
agent_enabled: &'static str,
|
||||
agent_inbox_dir: &'static str,
|
||||
agent_storage_dir: &'static str,
|
||||
@@ -320,6 +324,7 @@ pub(super) struct UpdateSettingsRequest {
|
||||
oidc_user_groups: String,
|
||||
swagger_enabled: bool,
|
||||
lastfm_api_key: String,
|
||||
lastfm_shared_secret: String,
|
||||
agent_enabled: bool,
|
||||
agent_inbox_dir: String,
|
||||
agent_storage_dir: String,
|
||||
@@ -709,6 +714,10 @@ pub async fn update_settings(
|
||||
("oidc_user_groups", body.oidc_user_groups.trim().to_string()),
|
||||
("swagger_enabled", body.swagger_enabled.to_string()),
|
||||
("lastfm_api_key", body.lastfm_api_key.trim().to_string()),
|
||||
(
|
||||
"lastfm_shared_secret",
|
||||
body.lastfm_shared_secret.trim().to_string(),
|
||||
),
|
||||
("agent_enabled", body.agent_enabled.to_string()),
|
||||
("agent_inbox_dir", body.agent_inbox_dir.trim().to_string()),
|
||||
(
|
||||
@@ -785,6 +794,9 @@ pub async fn settings_probe(
|
||||
fn settings_dto(config: AppConfig, sources: ConfigSources) -> AdminSettingsDto {
|
||||
AdminSettingsDto {
|
||||
lastfm_api_key_configured: !config.lastfm_api_key.trim().is_empty(),
|
||||
lastfm_shared_secret_configured: !config.lastfm_shared_secret.trim().is_empty(),
|
||||
lastfm_scrobbling_configured: !config.lastfm_api_key.trim().is_empty()
|
||||
&& !config.lastfm_shared_secret.trim().is_empty(),
|
||||
values: AdminSettingsValues {
|
||||
auth_password_enabled: config.auth_password_enabled,
|
||||
auth_sso_enabled: config.auth_sso_enabled,
|
||||
@@ -796,6 +808,7 @@ fn settings_dto(config: AppConfig, sources: ConfigSources) -> AdminSettingsDto {
|
||||
oidc_user_groups: config.oidc_user_groups,
|
||||
swagger_enabled: config.swagger_enabled,
|
||||
lastfm_api_key: config.lastfm_api_key,
|
||||
lastfm_shared_secret: config.lastfm_shared_secret,
|
||||
agent_enabled: config.agent_enabled,
|
||||
agent_inbox_dir: config.agent_inbox_dir,
|
||||
agent_storage_dir: config.agent_storage_dir,
|
||||
@@ -817,6 +830,7 @@ fn settings_dto(config: AppConfig, sources: ConfigSources) -> AdminSettingsDto {
|
||||
oidc_user_groups: sources.oidc_user_groups.code(),
|
||||
swagger_enabled: sources.swagger_enabled.code(),
|
||||
lastfm_api_key: sources.lastfm_api_key.code(),
|
||||
lastfm_shared_secret: sources.lastfm_shared_secret.code(),
|
||||
agent_enabled: sources.agent_enabled.code(),
|
||||
agent_inbox_dir: sources.agent_inbox_dir.code(),
|
||||
agent_storage_dir: sources.agent_storage_dir.code(),
|
||||
|
||||
+25
-1
@@ -184,6 +184,16 @@ fn config_display_entries(config: &AppConfig, sources: &ConfigSources) -> Vec<Co
|
||||
config.agent_concurrency.to_string(),
|
||||
defaults.agent_concurrency.to_string()
|
||||
),
|
||||
entry!(
|
||||
lastfm_api_key,
|
||||
config.lastfm_api_key.clone(),
|
||||
defaults.lastfm_api_key.clone()
|
||||
),
|
||||
entry!(
|
||||
lastfm_shared_secret,
|
||||
config.lastfm_shared_secret.clone(),
|
||||
defaults.lastfm_shared_secret.clone()
|
||||
),
|
||||
]
|
||||
}
|
||||
|
||||
@@ -258,6 +268,10 @@ struct SettingsTemplate {
|
||||
agent_context_limit_source: &'static str,
|
||||
agent_concurrency: String,
|
||||
agent_concurrency_source: &'static str,
|
||||
lastfm_api_key: String,
|
||||
lastfm_api_key_source: &'static str,
|
||||
lastfm_shared_secret: String,
|
||||
lastfm_shared_secret_source: &'static str,
|
||||
}
|
||||
|
||||
pub async fn settings_handler(
|
||||
@@ -310,6 +324,10 @@ pub async fn settings_handler(
|
||||
agent_context_limit_source: sources.agent_context_limit.code(),
|
||||
agent_concurrency: config.agent_concurrency.to_string(),
|
||||
agent_concurrency_source: sources.agent_concurrency.code(),
|
||||
lastfm_api_key: config.lastfm_api_key.clone(),
|
||||
lastfm_api_key_source: sources.lastfm_api_key.code(),
|
||||
lastfm_shared_secret: config.lastfm_shared_secret.clone(),
|
||||
lastfm_shared_secret_source: sources.lastfm_shared_secret.code(),
|
||||
};
|
||||
Ok(Html::new(template.render()?))
|
||||
}
|
||||
@@ -334,6 +352,8 @@ pub struct OidcSettingsForm {
|
||||
agent_confidence_threshold: Option<String>,
|
||||
agent_context_limit: Option<String>,
|
||||
agent_concurrency: Option<String>,
|
||||
lastfm_api_key: Option<String>,
|
||||
lastfm_shared_secret: Option<String>,
|
||||
}
|
||||
|
||||
pub async fn settings_submit(
|
||||
@@ -380,7 +400,9 @@ pub async fn settings_submit(
|
||||
let agent_confidence_threshold = data.agent_confidence_threshold.unwrap_or_default();
|
||||
let agent_context_limit = data.agent_context_limit.unwrap_or_default();
|
||||
let agent_concurrency = data.agent_concurrency.unwrap_or_default();
|
||||
let fields: [(&str, &str); 18] = [
|
||||
let lastfm_api_key = data.lastfm_api_key.unwrap_or_default();
|
||||
let lastfm_shared_secret = data.lastfm_shared_secret.unwrap_or_default();
|
||||
let fields: [(&str, &str); 20] = [
|
||||
("auth_password_enabled", pw_enabled),
|
||||
("auth_sso_enabled", sso_enabled),
|
||||
("oidc_button_text", &oidc_button_text),
|
||||
@@ -399,6 +421,8 @@ pub async fn settings_submit(
|
||||
("agent_confidence_threshold", &agent_confidence_threshold),
|
||||
("agent_context_limit", &agent_context_limit),
|
||||
("agent_concurrency", &agent_concurrency),
|
||||
("lastfm_api_key", &lastfm_api_key),
|
||||
("lastfm_shared_secret", &lastfm_shared_secret),
|
||||
];
|
||||
for (key, value) in fields {
|
||||
let mut entry = ConfigEntry::new(key.to_owned(), value.to_owned());
|
||||
|
||||
Reference in New Issue
Block a user