Initial backend draft
This commit is contained in:
parent
b6293beeec
commit
84ad96d628
18 changed files with 148 additions and 0 deletions
25
backend/Controllers/ItemController.cs
Normal file
25
backend/Controllers/ItemController.cs
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
using JellyGlass.Services;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace JellyGlass.Controllers;
|
||||
|
||||
[ApiController]
|
||||
[Route("[controller]")]
|
||||
public class ItemController : ControllerBase
|
||||
{
|
||||
private ILogger<ItemController> _logger;
|
||||
private IItemService _service;
|
||||
|
||||
public ItemController(ILogger<ItemController> logger, IItemService service)
|
||||
{
|
||||
_service = service;
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
public async Task<IActionResult> GetItemsForLibrary(string libraryId)
|
||||
{
|
||||
var items = await _service.GetItemsFromLibrary(libraryId);
|
||||
|
||||
return Ok(items);
|
||||
}
|
||||
}
|
||||
26
backend/Controllers/LibraryController.cs
Normal file
26
backend/Controllers/LibraryController.cs
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
using JellyGlass.Services;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace JellyGlass.Controllers;
|
||||
|
||||
[ApiController]
|
||||
[Route("[controller]")]
|
||||
public class LibraryController : ControllerBase
|
||||
{
|
||||
private ILogger<LibraryController> _logger;
|
||||
private ILibraryService _service;
|
||||
|
||||
public LibraryController(ILogger<LibraryController> logger, ILibraryService service)
|
||||
{
|
||||
_logger = logger;
|
||||
_service = service;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public async Task<IActionResult> GetLibraries()
|
||||
{
|
||||
var libraries = await _service.GetLibraries();
|
||||
|
||||
return Ok(libraries);
|
||||
}
|
||||
}
|
||||
25
backend/Controllers/ServerController.cs
Normal file
25
backend/Controllers/ServerController.cs
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
using JellyGlass.Services;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace JellyGlass.Controllers;
|
||||
|
||||
[ApiController]
|
||||
[Route("[controller]")]
|
||||
public class ServerController : ControllerBase
|
||||
{
|
||||
private ILogger<ServerController> _logger;
|
||||
private IServerService _service;
|
||||
|
||||
public ServerController(ILogger<ServerController> logger, IServerService service)
|
||||
{
|
||||
_logger = logger;
|
||||
_service = service;
|
||||
}
|
||||
|
||||
public async Task<IActionResult> GetServers()
|
||||
{
|
||||
var servers = await _service.GetServers();
|
||||
|
||||
return Ok(servers);
|
||||
}
|
||||
}
|
||||
9
backend/Models/Item.cs
Normal file
9
backend/Models/Item.cs
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
namespace JellyGlass.Models;
|
||||
|
||||
public class Item
|
||||
{
|
||||
public string ID { get; set; }
|
||||
public string Name { get; set; }
|
||||
public Uri ThumbnailUrl { get; set; }
|
||||
public Uri Url { get; set; }
|
||||
}
|
||||
8
backend/Models/Library.cs
Normal file
8
backend/Models/Library.cs
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
namespace JellyGlass.Models;
|
||||
|
||||
public class Library
|
||||
{
|
||||
public string ID { get; set; }
|
||||
public string Name { get; set; }
|
||||
public Uri ThumbnailUrl { get; set; }
|
||||
}
|
||||
7
backend/Models/Server.cs
Normal file
7
backend/Models/Server.cs
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
namespace JellyGlass.Models;
|
||||
|
||||
public class Server
|
||||
{
|
||||
public string Owner { get; set; }
|
||||
public Uri Url { get; set; }
|
||||
}
|
||||
8
backend/Repositories/IItemRepository.cs
Normal file
8
backend/Repositories/IItemRepository.cs
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
using JellyGlass.Models;
|
||||
|
||||
namespace JellyGlass.Repositories;
|
||||
|
||||
public interface IItemRepository
|
||||
{
|
||||
public Task<Item[]> GetItemsFromLibrary(string libraryId);
|
||||
}
|
||||
8
backend/Repositories/ILibraryRepository.cs
Normal file
8
backend/Repositories/ILibraryRepository.cs
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
using JellyGlass.Models;
|
||||
|
||||
namespace JellyGlass.Repositories;
|
||||
|
||||
public interface ILibraryRepository
|
||||
{
|
||||
public Task<Library[]> GetLibraries();
|
||||
}
|
||||
8
backend/Repositories/IServerRepository.cs
Normal file
8
backend/Repositories/IServerRepository.cs
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
using JellyGlass.Models;
|
||||
|
||||
namespace JellyGlass.Repositories;
|
||||
|
||||
public interface IServerRepository
|
||||
{
|
||||
public Task<Server[]> GetServers();
|
||||
}
|
||||
0
backend/Repositories/ItemRepository.cs
Normal file
0
backend/Repositories/ItemRepository.cs
Normal file
0
backend/Repositories/LibraryRepository.cs
Normal file
0
backend/Repositories/LibraryRepository.cs
Normal file
0
backend/Repositories/ServerRepository.cs
Normal file
0
backend/Repositories/ServerRepository.cs
Normal file
8
backend/Services/IItemService.cs
Normal file
8
backend/Services/IItemService.cs
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
using JellyGlass.Models;
|
||||
|
||||
namespace JellyGlass.Services;
|
||||
|
||||
public interface IItemService
|
||||
{
|
||||
public Task<Item[]> GetItemsFromLibrary(string libraryId);
|
||||
}
|
||||
8
backend/Services/ILibraryService.cs
Normal file
8
backend/Services/ILibraryService.cs
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
using JellyGlass.Models;
|
||||
|
||||
namespace JellyGlass.Services;
|
||||
|
||||
public interface ILibraryService
|
||||
{
|
||||
public Task<Library[]> GetLibraries();
|
||||
}
|
||||
8
backend/Services/IServerService.cs
Normal file
8
backend/Services/IServerService.cs
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
using JellyGlass.Models;
|
||||
|
||||
namespace JellyGlass.Services;
|
||||
|
||||
public interface IServerService
|
||||
{
|
||||
public Task<Server[]> GetServers();
|
||||
}
|
||||
0
backend/Services/ItemService.cs
Normal file
0
backend/Services/ItemService.cs
Normal file
0
backend/Services/LibraryService.cs
Normal file
0
backend/Services/LibraryService.cs
Normal file
0
backend/Services/ServerService.cs
Normal file
0
backend/Services/ServerService.cs
Normal file
Loading…
Add table
Add a link
Reference in a new issue