New Features

- Added user_agent configuration field to Trakt API settings.

Changes

- Renamed Trakt API configuration field from key to api_key for consistency.
- Updated README and documentation with new Trakt API configuration structure.
- Updated UI labels for API configuration fields.
This commit is contained in:
euzu
2026-01-12 09:11:16 +01:00
parent 3fade46e04
commit b42e2f71fa
5 changed files with 11 additions and 10 deletions
+1 -1
View File
@@ -31,7 +31,7 @@
- '(?i)\bHD\b'
- '(?i)\bSD\b'
```
- Trakt api config field `key` is now `api_key`
- Trakt api config field `key` is now `api_key`. Added `user_agent` field to Trakt api config
## 🌟 New Features
- **Discord Notifications**: Support for Discord notifications via webhooks with optional Handlebars templates.
+2 -5
View File
@@ -4,8 +4,7 @@ use std::path::{Path, PathBuf};
use serde::{Deserialize, Serialize};
use std::time::{SystemTime, UNIX_EPOCH};
use log::{error, warn};
use shared::concat_string;
use crate::repository::storage::{get_input_storage_path, sanitize_name};
use crate::repository::storage::{build_input_storage_path, get_input_storage_path};
pub const STATUS_FILE: &str = "status.json";
@@ -30,9 +29,7 @@ pub struct InputStatus {
pub fn resolve_input_storage_path(working_dir: &str, input_name: &str) -> PathBuf {
if let Ok(path) = get_input_storage_path(input_name, working_dir) { path } else {
let sanitized_name: String = sanitize_name(input_name);
let name = concat_string!(cap = 6 + sanitized_name.len(); "input_", &sanitized_name);
Path::new(working_dir).join(name)
build_input_storage_path(input_name, working_dir)
}
}
+6 -2
View File
@@ -34,10 +34,14 @@ pub fn sanitize_name(name: &str) -> String {
.collect()
}
pub fn get_input_storage_path(input_name: &str, working_dir: &str) -> std::io::Result<PathBuf> {
pub fn build_input_storage_path(input_name: &str, working_dir: &str) -> PathBuf {
let sanitized_name: String = sanitize_name(input_name);
let name = concat_string!(cap = 6 + sanitized_name.len(); "input_", &sanitized_name);
let path = Path::new(working_dir).join(name);
Path::new(working_dir).join(name)
}
pub fn get_input_storage_path(input_name: &str, working_dir: &str) -> std::io::Result<PathBuf> {
let path = build_input_storage_path(input_name, working_dir);
// Create the directory and return the path or propagate the error
std::fs::create_dir_all(&path).map(|()| path)
}
+1 -1
View File
@@ -24,7 +24,7 @@ impl TraktClient {
}
}
fn create_headers(api_config: &TraktApiConfig) -> axum::http::HeaderMap {
fn create_headers(api_config: &TraktApiConfig) -> HeaderMap {
let mut headers = HeaderMap::new();
headers.insert(reqwest::header::CONTENT_TYPE, HeaderValue::from_static(mime::APPLICATION_JSON.as_ref()));
@@ -219,7 +219,7 @@ pub fn XtreamTargetOutputView(props: &XtreamTargetOutputViewProps) -> Html {
{ edit_field_text!(trakt_api, translate.t(LABEL_TRAKT_API_KEY), api_key, TraktApiConfigFormAction::ApiKey) }
{ edit_field_text!(trakt_api, translate.t(LABEL_TRAKT_API_VERSION), version, TraktApiConfigFormAction::Version) }
{ edit_field_text!(trakt_api, translate.t(LABEL_TRAKT_API_URL), url, TraktApiConfigFormAction::Url) }
{ edit_field_text!(trakt_api, translate.t(LABEL_USER_AGENT), url, TraktApiConfigFormAction::UserAgent) }
{ edit_field_text!(trakt_api, translate.t(LABEL_USER_AGENT), user_agent, TraktApiConfigFormAction::UserAgent) }
</div>
// Trakt Lists