league logo upload repaired [fixes #25]

This commit is contained in:
Thomas Weinhold 2026-01-20 20:48:14 +01:00
commit 436d7b85ab
2 changed files with 10 additions and 12 deletions

View file

@ -105,7 +105,7 @@ impl LeagueAppState {
}; };
// setup lobby manager // setup lobby manager
let lobby_mgr = match LobbyMgr::new(shutdown_control.clone(), &config) { let lobby_mgr = match LobbyMgr::new(shutdown_control.clone(), &config, league_logo_local.clone()) {
Ok(lobby_mgr) => lobby_mgr, Ok(lobby_mgr) => lobby_mgr,
Err(e) => { Err(e) => {
log::error!("Failed to start lobby manager!"); log::error!("Failed to start lobby manager!");

View file

@ -6,6 +6,7 @@ use serde::Serialize;
use sslo_lib::error::SsloError; use sslo_lib::error::SsloError;
use sslo_lib::parameters::DEFAULT_LOBBY_URL; use sslo_lib::parameters::DEFAULT_LOBBY_URL;
use crate::app_state::AppState; use crate::app_state::AppState;
use crate::app_state::league_logo::LeagueLogo;
use crate::app_state::shutdown_control::{ShutdownControl, ShutdownStatus}; use crate::app_state::shutdown_control::{ShutdownControl, ShutdownStatus};
#[derive(Clone)] #[derive(Clone)]
@ -14,7 +15,7 @@ pub struct LobbyMgr {
} }
impl LobbyMgr { impl LobbyMgr {
pub fn new(sc: ShutdownControl, config: &crate::app_state::config::Config) -> Result<Self, SsloError> { pub fn new(sc: ShutdownControl, config: &crate::app_state::config::Config, league_logo: Option<LeagueLogo>) -> Result<Self, SsloError> {
// extract data // extract data
let lobby_url = config.lobby.url.clone().unwrap_or_else(|| DEFAULT_LOBBY_URL.to_string()); let lobby_url = config.lobby.url.clone().unwrap_or_else(|| DEFAULT_LOBBY_URL.to_string());
@ -26,7 +27,7 @@ impl LobbyMgr {
let thread_handle = Arc::new(Mutex::new(Some( match thread::Builder::new() let thread_handle = Arc::new(Mutex::new(Some( match thread::Builder::new()
.name("Lobby Manager".to_owned()) .name("Lobby Manager".to_owned())
.spawn(move || { .spawn(move || {
worker(sc, lobby_url, league_id, league_token, league_url, league_name) worker(sc, lobby_url, league_id, league_token, league_url, league_name, league_logo)
}) { }) {
Ok(handle) => handle, Ok(handle) => handle,
Err(e) => { Err(e) => {
@ -61,6 +62,7 @@ fn worker(sc: ShutdownControl,
league_token: String, league_token: String,
league_url: String, league_url: String,
league_name: String, league_name: String,
league_logo: Option<LeagueLogo>,
) { ) {
log::debug!("Starting lobby reporting"); log::debug!("Starting lobby reporting");
@ -72,14 +74,9 @@ fn worker(sc: ShutdownControl,
report_to_lobby(&lobby_url, league_id, &league_token, &league_url, &league_name, true); report_to_lobby(&lobby_url, league_id, &league_token, &league_url, &league_name, true);
// upload league logo // upload league logo
log::error!("Uploading league Logo not implemented, yet [refs #25]!"); if let Some(league_logo) = league_logo {
// if let Some(league_logo) = app_state.substate().league_logo_local() { upload_league_logo(&lobby_url, league_id, &league_token, league_logo.path_ref());
// upload_league_logo(&app_state.substate().lobby_url(), }
// app_state.substate().config.lobby.report_league_id,
// app_state.substate().config.lobby.report_league_token.clone(),
// league_logo.path_ref(),
// );
// }
// report every minute current state // report every minute current state
@ -161,10 +158,11 @@ fn report_to_lobby(
fn upload_league_logo( fn upload_league_logo(
lobby_url: &str, lobby_url: &str,
league_id: i64, league_id: i64,
league_token: String, league_token: &str,
league_logo: &Path, league_logo: &Path,
) { ) {
let api_url = format!("{}/api/v0/league/{}/logo", lobby_url, league_id); let api_url = format!("{}/api/v0/league/{}/logo", lobby_url, league_id);
let league_token = league_token.to_string();
// let part_file = match reqwest::blocking::multipart::Part::file(league_logo) { // let part_file = match reqwest::blocking::multipart::Part::file(league_logo) {
// Ok(part_file) => part_file, // Ok(part_file) => part_file,