pub async fn sync_full_catalog(
repository: State<'_, RepositoryManagerWrapper>,
db: State<'_, DatabaseWrapper>,
handle: String,
) -> Result<CatalogSyncResult, String>Expand description
Walk every library on the server and persist all items to the offline cache so the full catalog is browsable offline (greyed out when not downloaded).
Best-effort: a library that fails to fetch is counted and skipped rather than
aborting the whole sync. Runs libraries sequentially to avoid hammering the
server. Uses Recursive=true so a single request per library returns the
containers and their playable children.