Fixes
This commit is contained in:
parent
2a572e8bc4
commit
86f273d12d
7 changed files with 50 additions and 15 deletions
|
|
@ -15,7 +15,7 @@ public class ClientService : IClientService
|
|||
_logger = logger;
|
||||
}
|
||||
|
||||
public async Task<JellyfinApiClient[]> GetJellyfinClients()
|
||||
public async Task<JellyfinApiClient[]> GetClients()
|
||||
{
|
||||
if (!_clients.Any())
|
||||
{
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ namespace JellyGlass.Services;
|
|||
|
||||
public interface IClientService
|
||||
{
|
||||
public Task<JellyfinApiClient[]> GetJellyfinClients();
|
||||
public Task<JellyfinApiClient[]> GetClients();
|
||||
// public JellyfinApiClient GetClientForServer(string url);
|
||||
public Task<JellyfinApiClient> GetClientForServerId(string serverId);
|
||||
}
|
||||
|
|
@ -14,7 +14,7 @@ public class LibraryService : ILibraryService
|
|||
|
||||
public async Task<Library[]> GetLibraries()
|
||||
{
|
||||
var clients = await _clientService.GetJellyfinClients();
|
||||
var clients = await _clientService.GetClients();
|
||||
|
||||
var libraries = new Dictionary<string, Library>();
|
||||
|
||||
|
|
|
|||
|
|
@ -8,13 +8,35 @@ namespace JellyGlass.Services;
|
|||
public class ServerService : IServerService
|
||||
{
|
||||
private readonly IServerRepository _repository;
|
||||
private readonly IClientService _service;
|
||||
|
||||
public ServerService(IServerRepository repository)
|
||||
public ServerService(IServerRepository repository, IClientService service)
|
||||
{
|
||||
_repository = repository;
|
||||
_service = service;
|
||||
}
|
||||
|
||||
public async Task<ServerDTO[]> GetServers()
|
||||
{
|
||||
var clients = await _service.GetClients();
|
||||
var servers = await _repository.GetServers();
|
||||
var dtos = new List<ServerDTO>();
|
||||
|
||||
foreach (var client in clients)
|
||||
{
|
||||
var dto = new ServerDTO();
|
||||
var server = servers.First(s => s.Url == client.InstanceUrl);
|
||||
dto.Id = client.ID;
|
||||
dto.Url = client.InstanceUrl;
|
||||
dto.Owner = server.Owner;
|
||||
|
||||
dtos.Add(dto);
|
||||
}
|
||||
|
||||
return dtos.ToArray();
|
||||
}
|
||||
|
||||
public async Task<ServerDTO[]> GetServers2()
|
||||
{
|
||||
var servers = await _repository.GetServers();
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ interface ServerSearchProps {
|
|||
}
|
||||
|
||||
const ServerSearch = ({ searchTerm, server }: ServerSearchProps) => {
|
||||
const [searchResults, setSearchResults] = useState<Array<SearchResult>>([]);
|
||||
const [searchResults, setSearchResults] = useState<Array<SearchResult | undefined>>();
|
||||
|
||||
useEffect(() => {
|
||||
search(searchTerm, server.id).then(results => {
|
||||
|
|
@ -28,16 +28,23 @@ const ServerSearch = ({ searchTerm, server }: ServerSearchProps) => {
|
|||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{searchResults.length > 0 ?
|
||||
searchResults.map(result => {
|
||||
return (
|
||||
<tr>
|
||||
<td>
|
||||
<ServerSearchResult key={result.id} searchResult={result} server={server} />
|
||||
</td>
|
||||
</tr>
|
||||
)
|
||||
})
|
||||
{searchResults ?
|
||||
searchResults.length > 0 ?
|
||||
searchResults.map(result => {
|
||||
return (
|
||||
<tr>
|
||||
<td>
|
||||
<ServerSearchResult key={result!.id} searchResult={result!} server={server} />
|
||||
</td>
|
||||
</tr>
|
||||
)
|
||||
})
|
||||
:
|
||||
<tr>
|
||||
<td>
|
||||
<h1>No results found</h1>
|
||||
</td>
|
||||
</tr>
|
||||
:
|
||||
<Spinner />
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,7 +10,10 @@ export interface Server {
|
|||
}
|
||||
|
||||
export const getServerList = async (): Promise<Array<Server>> => {
|
||||
console.log("fetching server list");
|
||||
const response = await axios.get<Array<Server>>(`${apiUrl}/servers`);
|
||||
|
||||
console.log(response);
|
||||
|
||||
return response.data;
|
||||
}
|
||||
|
|
@ -19,6 +19,9 @@ const Search = () => {
|
|||
}
|
||||
|
||||
getServerList().then(servers => {
|
||||
if (servers.length === 0) {
|
||||
alert("No servers found");
|
||||
}
|
||||
setServers(servers);
|
||||
}).catch(e => {
|
||||
alert(e);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue