Files
jellyfin-plugin-mediacleaner/Jellyfin.Plugin.MediaCleaner/Controllers/StateController.cs

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.)");
}