using LANCommander.SDK.Models; using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace LANCommander.SDK.Services { public class LibraryService { private readonly ILogger _logger; private readonly Client _client; public LibraryService(Client client) { _client = client; } public LibraryService(Client client, ILogger logger) { _client = client; _logger = logger; } public async Task> GetAsync() { var results = await _client.GetRequestAsync>("/api/Library"); return results ?? []; } public async Task AddToLibrary(Guid gameId) { return await _client.PostRequestAsync($"/api/Library/AddToLibrary/{gameId}"); } public async Task RemoveFromLibrary(Guid gameId) { return await _client.PostRequestAsync($"/api/Library/RemoveFromLibrary/{gameId}"); } public async Task RemoveFromLibrary(Guid gameId, Guid[] addonIds) { var requestBody = new GenericGuidsRequest { Guids = addonIds }; return await _client.PostRequestAsync($"/api/Library/RemoveFromLibrary/{gameId}/addons", requestBody); } } }