53 lines
1.8 KiB
C#
53 lines
1.8 KiB
C#
using Jellyfin.Plugin.MediaCleaner.Data;
|
|
using Jellyfin.Plugin.MediaCleaner;
|
|
using Jellyfin.Plugin.MediaCleaner.Models;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using System.Threading.Tasks;
|
|
using System.Collections.Generic;
|
|
|
|
namespace Jellyfin.Plugin.MediaCleaner.Controllers;
|
|
|
|
[Route("mediacleaner/state")]
|
|
public class StateController(MediaCleanerState state) : Controller
|
|
{
|
|
private readonly MediaCleanerState _state = state;
|
|
private static Configuration Configuration =>
|
|
Plugin.Instance!.Configuration;
|
|
|
|
[HttpGet("getTvSeriesInfo")]
|
|
public async Task<IActionResult> GetTvSeriesInfo()
|
|
{
|
|
var tvSeriesInfo = await _state.GetTvSeriesInfo().ConfigureAwait(false);
|
|
return Ok(tvSeriesInfo);
|
|
}
|
|
|
|
[HttpGet("getAnimeSeriesInfo")]
|
|
public async Task<IActionResult> GetAnimeSeriesInfo()
|
|
{
|
|
var animeSeriesInfo = await _state.GetAnimeSeriesInfo().ConfigureAwait(false);
|
|
return Ok(animeSeriesInfo);
|
|
}
|
|
|
|
[HttpGet("getMovieInfo")]
|
|
public IActionResult GetMovieInfo() => Ok(_state.GetMovieInfo());
|
|
|
|
[HttpGet("updateState")]
|
|
public async Task<IActionResult> GetUpdateState()
|
|
{
|
|
await _state.UpdateState().ConfigureAwait(false);
|
|
return Ok();
|
|
}
|
|
|
|
[HttpGet("getMoviesTitle")]
|
|
public IActionResult GetMoviesTitle() =>
|
|
Ok($"Stale Movies (Unwatched for and created over {Configuration.StaleMediaCutoff} Days ago.)");
|
|
|
|
[HttpGet("getSeriesTitle")]
|
|
public IActionResult GetSeriesTitle() =>
|
|
Ok($"Stale TV Series (Unwatched for and created over {Configuration.StaleMediaCutoff} Days ago.)");
|
|
|
|
[HttpGet("getAnimeSeriesTitle")]
|
|
public IActionResult GetAnimeSeriesTitle() =>
|
|
Ok($"Stale Anime Series (Unwatched for and created over {Configuration.StaleMediaCutoff} Days ago.)");
|
|
}
|