diff --git a/backend/Controllers/ItemController.cs b/backend/Controllers/ItemController.cs new file mode 100644 index 0000000..9991096 --- /dev/null +++ b/backend/Controllers/ItemController.cs @@ -0,0 +1,25 @@ +using JellyGlass.Services; +using Microsoft.AspNetCore.Mvc; + +namespace JellyGlass.Controllers; + +[ApiController] +[Route("[controller]")] +public class ItemController : ControllerBase +{ + private ILogger _logger; + private IItemService _service; + + public ItemController(ILogger logger, IItemService service) + { + _service = service; + _logger = logger; + } + + public async Task GetItemsForLibrary(string libraryId) + { + var items = await _service.GetItemsFromLibrary(libraryId); + + return Ok(items); + } +} \ No newline at end of file diff --git a/backend/Controllers/LibraryController.cs b/backend/Controllers/LibraryController.cs new file mode 100644 index 0000000..b249f3b --- /dev/null +++ b/backend/Controllers/LibraryController.cs @@ -0,0 +1,26 @@ +using JellyGlass.Services; +using Microsoft.AspNetCore.Mvc; + +namespace JellyGlass.Controllers; + +[ApiController] +[Route("[controller]")] +public class LibraryController : ControllerBase +{ + private ILogger _logger; + private ILibraryService _service; + + public LibraryController(ILogger logger, ILibraryService service) + { + _logger = logger; + _service = service; + } + + [HttpGet] + public async Task GetLibraries() + { + var libraries = await _service.GetLibraries(); + + return Ok(libraries); + } +} \ No newline at end of file diff --git a/backend/Controllers/ServerController.cs b/backend/Controllers/ServerController.cs new file mode 100644 index 0000000..5afd779 --- /dev/null +++ b/backend/Controllers/ServerController.cs @@ -0,0 +1,25 @@ +using JellyGlass.Services; +using Microsoft.AspNetCore.Mvc; + +namespace JellyGlass.Controllers; + +[ApiController] +[Route("[controller]")] +public class ServerController : ControllerBase +{ + private ILogger _logger; + private IServerService _service; + + public ServerController(ILogger logger, IServerService service) + { + _logger = logger; + _service = service; + } + + public async Task GetServers() + { + var servers = await _service.GetServers(); + + return Ok(servers); + } +} \ No newline at end of file diff --git a/backend/Models/Item.cs b/backend/Models/Item.cs new file mode 100644 index 0000000..b80e2a2 --- /dev/null +++ b/backend/Models/Item.cs @@ -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; } +} \ No newline at end of file diff --git a/backend/Models/Library.cs b/backend/Models/Library.cs new file mode 100644 index 0000000..a007eb1 --- /dev/null +++ b/backend/Models/Library.cs @@ -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; } +} \ No newline at end of file diff --git a/backend/Models/Server.cs b/backend/Models/Server.cs new file mode 100644 index 0000000..b907131 --- /dev/null +++ b/backend/Models/Server.cs @@ -0,0 +1,7 @@ +namespace JellyGlass.Models; + +public class Server +{ + public string Owner { get; set; } + public Uri Url { get; set; } +} \ No newline at end of file diff --git a/backend/Repositories/IItemRepository.cs b/backend/Repositories/IItemRepository.cs new file mode 100644 index 0000000..6ee8db2 --- /dev/null +++ b/backend/Repositories/IItemRepository.cs @@ -0,0 +1,8 @@ +using JellyGlass.Models; + +namespace JellyGlass.Repositories; + +public interface IItemRepository +{ + public Task GetItemsFromLibrary(string libraryId); +} \ No newline at end of file diff --git a/backend/Repositories/ILibraryRepository.cs b/backend/Repositories/ILibraryRepository.cs new file mode 100644 index 0000000..351ea87 --- /dev/null +++ b/backend/Repositories/ILibraryRepository.cs @@ -0,0 +1,8 @@ +using JellyGlass.Models; + +namespace JellyGlass.Repositories; + +public interface ILibraryRepository +{ + public Task GetLibraries(); +} \ No newline at end of file diff --git a/backend/Repositories/IServerRepository.cs b/backend/Repositories/IServerRepository.cs new file mode 100644 index 0000000..489985f --- /dev/null +++ b/backend/Repositories/IServerRepository.cs @@ -0,0 +1,8 @@ +using JellyGlass.Models; + +namespace JellyGlass.Repositories; + +public interface IServerRepository +{ + public Task GetServers(); +} \ No newline at end of file diff --git a/backend/Repositories/ItemRepository.cs b/backend/Repositories/ItemRepository.cs new file mode 100644 index 0000000..e69de29 diff --git a/backend/Repositories/LibraryRepository.cs b/backend/Repositories/LibraryRepository.cs new file mode 100644 index 0000000..e69de29 diff --git a/backend/Repositories/ServerRepository.cs b/backend/Repositories/ServerRepository.cs new file mode 100644 index 0000000..e69de29 diff --git a/backend/Services/IItemService.cs b/backend/Services/IItemService.cs new file mode 100644 index 0000000..8df7a73 --- /dev/null +++ b/backend/Services/IItemService.cs @@ -0,0 +1,8 @@ +using JellyGlass.Models; + +namespace JellyGlass.Services; + +public interface IItemService +{ + public Task GetItemsFromLibrary(string libraryId); +} \ No newline at end of file diff --git a/backend/Services/ILibraryService.cs b/backend/Services/ILibraryService.cs new file mode 100644 index 0000000..f09dab9 --- /dev/null +++ b/backend/Services/ILibraryService.cs @@ -0,0 +1,8 @@ +using JellyGlass.Models; + +namespace JellyGlass.Services; + +public interface ILibraryService +{ + public Task GetLibraries(); +} \ No newline at end of file diff --git a/backend/Services/IServerService.cs b/backend/Services/IServerService.cs new file mode 100644 index 0000000..920f696 --- /dev/null +++ b/backend/Services/IServerService.cs @@ -0,0 +1,8 @@ +using JellyGlass.Models; + +namespace JellyGlass.Services; + +public interface IServerService +{ + public Task GetServers(); +} \ No newline at end of file diff --git a/backend/Services/ItemService.cs b/backend/Services/ItemService.cs new file mode 100644 index 0000000..e69de29 diff --git a/backend/Services/LibraryService.cs b/backend/Services/LibraryService.cs new file mode 100644 index 0000000..e69de29 diff --git a/backend/Services/ServerService.cs b/backend/Services/ServerService.cs new file mode 100644 index 0000000..e69de29