using API.Schema;
using Asp.Versioning;
using Microsoft.AspNetCore.Mvc;
using static Microsoft.AspNetCore.Http.StatusCodes;
namespace API.Controllers;
[ApiVersion(2)]
[ApiController]
[Produces("application/json")]
[Route("v{v:apiVersion}/[controller]")]
public class SettingsController(PgsqlContext context) : Controller
{
///
/// Get all Settings
///
///
[HttpGet]
[ProducesResponseType(Status500InternalServerError)]
public IActionResult GetSettings()
{
return StatusCode(500, "Not implemented"); //TODO
}
///
/// Get the current UserAgent used by Tranga
///
/// UserAgent as string
[HttpGet("UserAgent")]
[ProducesResponseType(Status500InternalServerError)]
public IActionResult GetUserAgent()
{
return StatusCode(500, "Not implemented"); //TODO
}
///
/// Set a new UserAgent
///
/// Nothing
[HttpPatch("UserAgent")]
[ProducesResponseType(Status500InternalServerError)]
public IActionResult SetUserAgent()
{
return StatusCode(500, "Not implemented"); //TODO
}
///
/// Reset the UserAgent to default
///
/// Nothing
[HttpDelete("UserAgent")]
[ProducesResponseType(Status500InternalServerError)]
public IActionResult ResetUserAgent()
{
return StatusCode(500, "Not implemented"); //TODO
}
///
/// Get all Request-Limits
///
///
[HttpGet("RequestLimits")]
[ProducesResponseType(Status500InternalServerError)]
public IActionResult GetRequestLimits()
{
return StatusCode(500, "Not implemented"); //TODO
}
///
/// Update all Request-Limits to new values
///
/// Nothing
[HttpPatch("RequestLimits")]
[ProducesResponseType(Status500InternalServerError)]
public IActionResult SetRequestLimits()
{
return StatusCode(500, "Not implemented"); //TODO
}
///
/// Reset all Request-Limits
///
/// Nothing
[HttpDelete("RequestLimits")]
[ProducesResponseType(Status500InternalServerError)]
public IActionResult ResetRequestLimits()
{
return StatusCode(500, "Not implemented"); //TODO
}
///
/// Returns Level of Image-Compression for Images
///
///
[HttpGet("ImageCompression")]
[ProducesResponseType(Status500InternalServerError)]
public IActionResult GetImageCompression()
{
return StatusCode(500, "Not implemented"); //TODO
}
///
/// Set the Image-Compression-Level for Images
///
/// 100 to disable, 0-99 for JPEG compression-Level
/// Nothing
[HttpPatch("ImageCompression")]
[ProducesResponseType(Status500InternalServerError)]
public IActionResult SetImageCompression(int percentage)
{
return StatusCode(500, "Not implemented"); //TODO
}
///
/// Get state of Black/White-Image setting
///
/// True if enabled
[HttpGet("BWImages")]
[ProducesResponseType(Status500InternalServerError)]
public IActionResult GetBwImagesToggle()
{
return StatusCode(500, "Not implemented"); //TODO
}
///
/// Enable/Disable conversion of Images to Black and White
///
/// true to enable
/// Nothing
[HttpPatch("BWImages")]
[ProducesResponseType(Status500InternalServerError)]
public IActionResult SetBwImagesToggle(bool enabled)
{
return StatusCode(500, "Not implemented"); //TODO
}
///
/// Get state of April Fools Mode
///
/// April Fools Mode disables all downloads on April 1st
/// True if enabled
[HttpGet("AprilFoolsMode")]
[ProducesResponseType(Status500InternalServerError)]
public IActionResult GetAprilFoolsMode()
{
return StatusCode(500, "Not implemented"); //TODO
}
///
/// Enable/Disable April Fools Mode
///
/// April Fools Mode disables all downloads on April 1st
/// true to enable
/// Nothing
[HttpPatch("AprilFoolsMode")]
[ProducesResponseType(Status500InternalServerError)]
public IActionResult SetAprilFoolsMode(bool enabled)
{
return StatusCode(500, "Not implemented"); //TODO
}
}