Refactoring de l'API rest des musicsources

This commit is contained in:
2025-10-17 12:45:18 +02:00
parent c496dd86ed
commit e67bca60e1
14 changed files with 908 additions and 272 deletions

View File

@@ -8,6 +8,7 @@ pmoconfig = { path = "../pmoconfig" }
pmoupnp = { path = "../pmoupnp"}
pmomediarenderer = { path = "../pmomediarenderer" }
pmomediaserver = { path = "../pmomediaserver", features = ["qobuz", "paradise", "api"] }
pmosource = { path = "../pmosource", features = ["server"] }
pmoserver = { path = "../pmoserver" }
pmocovers = { path = "../pmocovers", features = ["pmoserver"] }
pmoapp = { path = "../pmoapp", features = ["pmoserver"] }

View File

@@ -1,11 +1,11 @@
use pmoapp::{WebAppExt, Webapp};
use pmocovers::CoverCacheExt;
use pmomediarenderer::MEDIA_RENDERER;
use pmomediaserver::{MEDIA_SERVER, sources::SourcesExt, MediaServerExt, sources_api_router, sources_api::SourcesApiDoc};
use pmomediaserver::{MEDIA_SERVER, sources::SourcesExt};
use pmosource::MusicSourceExt;
use pmoserver::ServerBuilder;
use pmoupnp::{UpnpServer, ssdp::SsdpServer, upnp_api::UpnpApiExt};
use tracing::info;
use utoipa::OpenApi;
#[tokio::main]
async fn main() {
@@ -37,9 +37,12 @@ async fn main() {
// Enregistrer l'API d'introspection UPnP
server.register_upnp_api().await;
// Enregistrer l'API de gestion des sources musicales avec OpenAPI
info!("📡 Registering Sources API with OpenAPI documentation...");
server.add_openapi(sources_api_router(), SourcesApiDoc::openapi(), "sources").await;
// Initialiser le système de gestion des sources musicales avec API REST
info!("📡 Initializing music sources management system...");
server
.init_music_sources()
.await
.expect("Failed to initialize music sources API");
info!("📡 Registering MediaRenderer...");
let renderer_instance = server