mirror of
https://github.com/zoriya/Kyoo.git
synced 2025-07-09 03:04:20 -04:00
Cleaning up
This commit is contained in:
parent
83a463851d
commit
49471e013d
@ -14,11 +14,11 @@ namespace Kyoo.Api
|
||||
[Route("api/episode")]
|
||||
[Route("api/episodes")]
|
||||
[ApiController]
|
||||
public class EpisodesApi : CrudApi<Episode>
|
||||
public class EpisodeApi : CrudApi<Episode>
|
||||
{
|
||||
private readonly ILibraryManager _libraryManager;
|
||||
|
||||
public EpisodesApi(ILibraryManager libraryManager, IConfiguration configuration)
|
||||
public EpisodeApi(ILibraryManager libraryManager, IConfiguration configuration)
|
||||
: base(libraryManager.EpisodeRepository, configuration)
|
||||
{
|
||||
_libraryManager = libraryManager;
|
@ -15,11 +15,11 @@ namespace Kyoo.Api
|
||||
[Route("api/genre")]
|
||||
[Route("api/genres")]
|
||||
[ApiController]
|
||||
public class GenresAPI : CrudApi<Genre>
|
||||
public class GenreApi : CrudApi<Genre>
|
||||
{
|
||||
private readonly ILibraryManager _libraryManager;
|
||||
|
||||
public GenresAPI(ILibraryManager libraryManager, IConfiguration config)
|
||||
public GenreApi(ILibraryManager libraryManager, IConfiguration config)
|
||||
: base(libraryManager.GenreRepository, config)
|
||||
{
|
||||
_libraryManager = libraryManager;
|
@ -14,12 +14,12 @@ namespace Kyoo.Api
|
||||
[Route("api/library")]
|
||||
[Route("api/libraries")]
|
||||
[ApiController]
|
||||
public class LibrariesAPI : CrudApi<Library>
|
||||
public class LibraryAPI : CrudApi<Library>
|
||||
{
|
||||
private readonly ILibraryManager _libraryManager;
|
||||
private readonly ITaskManager _taskManager;
|
||||
|
||||
public LibrariesAPI(ILibraryManager libraryManager, ITaskManager taskManager, IConfiguration configuration)
|
||||
public LibraryAPI(ILibraryManager libraryManager, ITaskManager taskManager, IConfiguration configuration)
|
||||
: base(libraryManager.LibraryRepository, configuration)
|
||||
{
|
||||
_libraryManager = libraryManager;
|
@ -15,13 +15,13 @@ namespace Kyoo.Api
|
||||
[Route("api/item")]
|
||||
[Route("api/items")]
|
||||
[ApiController]
|
||||
public class LibraryItemsApi : ControllerBase
|
||||
public class LibraryItemApi : ControllerBase
|
||||
{
|
||||
private readonly ILibraryItemRepository _libraryItems;
|
||||
private readonly string _baseURL;
|
||||
|
||||
|
||||
public LibraryItemsApi(ILibraryItemRepository libraryItems, IConfiguration configuration)
|
||||
public LibraryItemApi(ILibraryItemRepository libraryItems, IConfiguration configuration)
|
||||
{
|
||||
_libraryItems = libraryItems;
|
||||
_baseURL = configuration.GetValue<string>("public_url").TrimEnd('/');
|
@ -1,27 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
using Kyoo.Models;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace Kyoo.Api
|
||||
{
|
||||
[Route("api/provider")]
|
||||
[Route("api/providers")]
|
||||
[ApiController]
|
||||
public class ProviderAPI : ControllerBase
|
||||
{
|
||||
private readonly DatabaseContext _database;
|
||||
|
||||
public ProviderAPI(DatabaseContext database)
|
||||
{
|
||||
_database = database;
|
||||
}
|
||||
|
||||
[HttpGet("")]
|
||||
[Authorize(Policy="Read")]
|
||||
public ActionResult<IEnumerable<ProviderID>> Index()
|
||||
{
|
||||
return _database.Providers;
|
||||
}
|
||||
}
|
||||
}
|
24
Kyoo/Views/API/ProviderApi.cs
Normal file
24
Kyoo/Views/API/ProviderApi.cs
Normal file
@ -0,0 +1,24 @@
|
||||
using System.Collections.Generic;
|
||||
using Kyoo.CommonApi;
|
||||
using Kyoo.Controllers;
|
||||
using Kyoo.Models;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
|
||||
namespace Kyoo.Api
|
||||
{
|
||||
[Route("api/provider")]
|
||||
[Route("api/providers")]
|
||||
[ApiController]
|
||||
public class ProviderAPI : CrudApi<ProviderID>
|
||||
{
|
||||
private readonly ILibraryManager _libraryManager;
|
||||
|
||||
public ProviderAPI(ILibraryManager libraryManager, IConfiguration config)
|
||||
: base(libraryManager.ProviderRepository, config)
|
||||
{
|
||||
_libraryManager = libraryManager;
|
||||
}
|
||||
}
|
||||
}
|
@ -14,11 +14,11 @@ namespace Kyoo.Api
|
||||
[Route("api/show")]
|
||||
[Route("api/shows")]
|
||||
[ApiController]
|
||||
public class ShowsApi : CrudApi<Show>
|
||||
public class ShowApi : CrudApi<Show>
|
||||
{
|
||||
private readonly ILibraryManager _libraryManager;
|
||||
|
||||
public ShowsApi(ILibraryManager libraryManager, IConfiguration configuration)
|
||||
public ShowApi(ILibraryManager libraryManager, IConfiguration configuration)
|
||||
: base(libraryManager.ShowRepository, configuration)
|
||||
{
|
||||
_libraryManager = libraryManager;
|
@ -1,27 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Kyoo.Controllers;
|
||||
using Kyoo.Models;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace Kyoo.Api
|
||||
{
|
||||
[Route("api/studios")]
|
||||
[Route("api/studio")]
|
||||
[ApiController]
|
||||
public class StudioAPI : ControllerBase
|
||||
{
|
||||
private readonly ILibraryManager _libraryManager;
|
||||
|
||||
public StudioAPI(ILibraryManager libraryManager)
|
||||
{
|
||||
_libraryManager = libraryManager;
|
||||
}
|
||||
|
||||
public async Task<ActionResult<IEnumerable<Studio>>> Index()
|
||||
{
|
||||
return (await _libraryManager.GetStudios()).ToList();
|
||||
}
|
||||
}
|
||||
}
|
91
Kyoo/Views/API/StudioApi.cs
Normal file
91
Kyoo/Views/API/StudioApi.cs
Normal file
@ -0,0 +1,91 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Kyoo.CommonApi;
|
||||
using Kyoo.Controllers;
|
||||
using Kyoo.Models;
|
||||
using Kyoo.Models.Exceptions;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
|
||||
namespace Kyoo.Api
|
||||
{
|
||||
[Route("api/studio")]
|
||||
[Route("api/studios")]
|
||||
[ApiController]
|
||||
public class StudioAPI : CrudApi<Studio>
|
||||
{
|
||||
private readonly ILibraryManager _libraryManager;
|
||||
|
||||
public StudioAPI(ILibraryManager libraryManager, IConfiguration config)
|
||||
: base(libraryManager.StudioRepository, config)
|
||||
{
|
||||
_libraryManager = libraryManager;
|
||||
}
|
||||
|
||||
[HttpGet("{id:int}/show")]
|
||||
[HttpGet("{id:int}/shows")]
|
||||
[Authorize(Policy = "Read")]
|
||||
public async Task<ActionResult<Page<Show>>> GetShows(int id,
|
||||
[FromQuery] string sortBy,
|
||||
[FromQuery] int afterID,
|
||||
[FromQuery] Dictionary<string, string> where,
|
||||
[FromQuery] int limit = 20)
|
||||
{
|
||||
where.Remove("sortBy");
|
||||
where.Remove("limit");
|
||||
where.Remove("afterID");
|
||||
|
||||
try
|
||||
{
|
||||
ICollection<Show> ressources = await _libraryManager.GetShows(
|
||||
ApiHelper.ParseWhere<Show>(where, x => x.StudioID == id),
|
||||
new Sort<Show>(sortBy),
|
||||
new Pagination(limit, afterID));
|
||||
|
||||
return Page(ressources, limit);
|
||||
}
|
||||
catch (ItemNotFound)
|
||||
{
|
||||
return NotFound();
|
||||
}
|
||||
catch (ArgumentException ex)
|
||||
{
|
||||
return BadRequest(new {Error = ex.Message});
|
||||
}
|
||||
}
|
||||
|
||||
[HttpGet("{slug}/show")]
|
||||
[HttpGet("{slug}/shows")]
|
||||
[Authorize(Policy = "Read")]
|
||||
public async Task<ActionResult<Page<Show>>> GetShows(string slug,
|
||||
[FromQuery] string sortBy,
|
||||
[FromQuery] int afterID,
|
||||
[FromQuery] Dictionary<string, string> where,
|
||||
[FromQuery] int limit = 20)
|
||||
{
|
||||
where.Remove("sortBy");
|
||||
where.Remove("limit");
|
||||
where.Remove("afterID");
|
||||
|
||||
try
|
||||
{
|
||||
ICollection<Show> ressources = await _libraryManager.GetShows(
|
||||
ApiHelper.ParseWhere<Show>(where, x => x.Studio.Slug == slug),
|
||||
new Sort<Show>(sortBy),
|
||||
new Pagination(limit, afterID));
|
||||
|
||||
return Page(ressources, limit);
|
||||
}
|
||||
catch (ItemNotFound)
|
||||
{
|
||||
return NotFound();
|
||||
}
|
||||
catch (ArgumentException ex)
|
||||
{
|
||||
return BadRequest(new {Error = ex.Message});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1 +1 @@
|
||||
Subproject commit 7e8c74206356587b06272c5dd7c22fa09420d421
|
||||
Subproject commit 9e7e7a1093d85f8e980b8115e0514166701cbd6b
|
Loading…
x
Reference in New Issue
Block a user