ashboard dans le webapp qui liste dynamiquement toutes les APIs OpenAPI disponibles dans PMOMusic

This commit is contained in:
2025-10-17 13:12:28 +02:00
parent 8b3cb719a9
commit f94a600ff8
18 changed files with 580 additions and 823 deletions

View File

@@ -11,6 +11,7 @@ pmomediaserver = { path = "../pmomediaserver", features = ["qobuz", "paradise",
pmosource = { path = "../pmosource", features = ["server"] }
pmoserver = { path = "../pmoserver" }
pmocovers = { path = "../pmocovers", features = ["pmoserver"] }
pmoaudiocache = { path = "../pmoaudiocache", features = ["pmoserver"]}
pmoapp = { path = "../pmoapp", features = ["pmoserver"] }

View File

@@ -1,10 +1,11 @@
use pmoapp::{WebAppExt, Webapp};
use pmocovers::CoverCacheExt;
use pmoaudiocache::AudioCacheExt;
use pmomediarenderer::MEDIA_RENDERER;
use pmomediaserver::{MEDIA_SERVER, sources::SourcesExt};
use pmosource::MusicSourceExt;
use pmoserver::ServerBuilder;
use pmoupnp::{UpnpServer, ssdp::SsdpServer, upnp_api::UpnpApiExt};
use pmoupnp::{UpnpServerExt, ssdp::SsdpServer, upnp_api::UpnpApiExt};
use tracing::info;
#[tokio::main]
@@ -16,12 +17,20 @@ async fn main() {
server.init_logging().await;
info!("📡 Registering the cover cache...");
let cache = server
let covercache = server
.init_cover_cache_configured()
.await
.expect("Cannot initialise the image cache");
info!("✅ Cover cache ready at {}", cache.cache_dir(),);
info!("✅ Cover cache ready at {}", covercache.cache_dir(),);
info!("📡 Registering the audio cache...");
let audiocache = server
.init_audio_cache_configured()
.await
.expect("Cannot initialise the audio cache");
info!("✅ Audio cache ready at {}", audiocache.cache_dir(),);
// Routes de base
server