using JellyGlass.Models; namespace JellyGlass.Services; public class LibraryService : ILibraryService { private IServerService _serverService; public LibraryService(IServerService serverService) { _serverService = serverService; } public async Task GetLibraries() { var clients = await _serverService.GetJellyfinClients(); var libraries = new Dictionary(); foreach (var client in clients) { var clientLibraries = await client.GetInstanceLibraries(); foreach (var library in clientLibraries.Items) { if (library.Name == "Collections" || library.Name == "Playlists") { continue; } if (!libraries.ContainsKey(library.Name)) { libraries.Add(library.Name, new Library() { Name = library.Name, ThumbnailUrl = $"{client.InstanceUrl}/Items/{library.Id}/Primary" }); } } } return libraries.Values.ToArray(); } public async Task GetItemsFromLibrary(string libraryName) { throw new NotImplementedException(); } // public async Task GetChildrenFromItems(ItemDTO[] items) // { // var children = new List(); // foreach (var item in items) // { // var client = _serverService.GetClientForServerId(item.ServerID); // var itemChildren = await client.GetItemChildren(item.ID); // foreach (var child in itemChildren.Items) // { // children.Add(new ItemDTO(child, client.InstanceUrl)); // } // } // return children.ToArray(); // } // public async Task GetItemsByName(string name, string itemType) // { // } // public async Task GetItemsByType(string itemType) // { // } }