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;
|
_logger = logger;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<JellyfinApiClient[]> GetJellyfinClients()
|
public async Task<JellyfinApiClient[]> GetClients()
|
||||||
{
|
{
|
||||||
if (!_clients.Any())
|
if (!_clients.Any())
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ namespace JellyGlass.Services;
|
||||||
|
|
||||||
public interface IClientService
|
public interface IClientService
|
||||||
{
|
{
|
||||||
public Task<JellyfinApiClient[]> GetJellyfinClients();
|
public Task<JellyfinApiClient[]> GetClients();
|
||||||
// public JellyfinApiClient GetClientForServer(string url);
|
// public JellyfinApiClient GetClientForServer(string url);
|
||||||
public Task<JellyfinApiClient> GetClientForServerId(string serverId);
|
public Task<JellyfinApiClient> GetClientForServerId(string serverId);
|
||||||
}
|
}
|
||||||
|
|
@ -14,7 +14,7 @@ public class LibraryService : ILibraryService
|
||||||
|
|
||||||
public async Task<Library[]> GetLibraries()
|
public async Task<Library[]> GetLibraries()
|
||||||
{
|
{
|
||||||
var clients = await _clientService.GetJellyfinClients();
|
var clients = await _clientService.GetClients();
|
||||||
|
|
||||||
var libraries = new Dictionary<string, Library>();
|
var libraries = new Dictionary<string, Library>();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,13 +8,35 @@ namespace JellyGlass.Services;
|
||||||
public class ServerService : IServerService
|
public class ServerService : IServerService
|
||||||
{
|
{
|
||||||
private readonly IServerRepository _repository;
|
private readonly IServerRepository _repository;
|
||||||
|
private readonly IClientService _service;
|
||||||
|
|
||||||
public ServerService(IServerRepository repository)
|
public ServerService(IServerRepository repository, IClientService service)
|
||||||
{
|
{
|
||||||
_repository = repository;
|
_repository = repository;
|
||||||
|
_service = service;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<ServerDTO[]> GetServers()
|
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();
|
var servers = await _repository.GetServers();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ interface ServerSearchProps {
|
||||||
}
|
}
|
||||||
|
|
||||||
const ServerSearch = ({ searchTerm, server }: ServerSearchProps) => {
|
const ServerSearch = ({ searchTerm, server }: ServerSearchProps) => {
|
||||||
const [searchResults, setSearchResults] = useState<Array<SearchResult>>([]);
|
const [searchResults, setSearchResults] = useState<Array<SearchResult | undefined>>();
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
search(searchTerm, server.id).then(results => {
|
search(searchTerm, server.id).then(results => {
|
||||||
|
|
@ -28,16 +28,23 @@ const ServerSearch = ({ searchTerm, server }: ServerSearchProps) => {
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{searchResults.length > 0 ?
|
{searchResults ?
|
||||||
searchResults.map(result => {
|
searchResults.length > 0 ?
|
||||||
return (
|
searchResults.map(result => {
|
||||||
<tr>
|
return (
|
||||||
<td>
|
<tr>
|
||||||
<ServerSearchResult key={result.id} searchResult={result} server={server} />
|
<td>
|
||||||
</td>
|
<ServerSearchResult key={result!.id} searchResult={result!} server={server} />
|
||||||
</tr>
|
</td>
|
||||||
)
|
</tr>
|
||||||
})
|
)
|
||||||
|
})
|
||||||
|
:
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<h1>No results found</h1>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
:
|
:
|
||||||
<Spinner />
|
<Spinner />
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,10 @@ export interface Server {
|
||||||
}
|
}
|
||||||
|
|
||||||
export const getServerList = async (): Promise<Array<Server>> => {
|
export const getServerList = async (): Promise<Array<Server>> => {
|
||||||
|
console.log("fetching server list");
|
||||||
const response = await axios.get<Array<Server>>(`${apiUrl}/servers`);
|
const response = await axios.get<Array<Server>>(`${apiUrl}/servers`);
|
||||||
|
|
||||||
|
console.log(response);
|
||||||
|
|
||||||
return response.data;
|
return response.data;
|
||||||
}
|
}
|
||||||
|
|
@ -19,6 +19,9 @@ const Search = () => {
|
||||||
}
|
}
|
||||||
|
|
||||||
getServerList().then(servers => {
|
getServerList().then(servers => {
|
||||||
|
if (servers.length === 0) {
|
||||||
|
alert("No servers found");
|
||||||
|
}
|
||||||
setServers(servers);
|
setServers(servers);
|
||||||
}).catch(e => {
|
}).catch(e => {
|
||||||
alert(e);
|
alert(e);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue