diff --git a/API/Controllers/SettingsController.cs b/API/Controllers/SettingsController.cs
index 15c6dbe..572ec60 100644
--- a/API/Controllers/SettingsController.cs
+++ b/API/Controllers/SettingsController.cs
@@ -79,9 +79,39 @@ public class SettingsController(PgsqlContext context) : Controller
{
return StatusCode(501);
}
+
+ ///
+ /// Updates a Request-Limit value
+ ///
+ /// Type of Request
+ /// New limit in Requests/Minute
+ ///
+ /// Limit needs to be greater than 0
+ [HttpPatch("RequestLimits/{RequestType}")]
+ [ProducesResponseType(Status200OK)]
+ [ProducesResponseType(Status400BadRequest)]
+ public IActionResult SetRequestLimit(RequestType RequestType, [FromBody]int requestLimit)
+ {
+ if (requestLimit <= 0)
+ return BadRequest();
+ TrangaSettings.UpdateRequestLimit(RequestType, requestLimit);
+ return Ok();
+ }
///
- /// Reset all Request-Limits
+ /// Reset Request-Limit
+ ///
+ ///
+ [HttpDelete("RequestLimits/{RequestType}")]
+ [ProducesResponseType(Status200OK)]
+ public IActionResult ResetRequestLimits(RequestType RequestType)
+ {
+ TrangaSettings.UpdateRequestLimit(RequestType, TrangaSettings.DefaultRequestLimits[RequestType]);
+ return Ok();
+ }
+
+ ///
+ /// Reset Request-Limit
///
///
[HttpDelete("RequestLimits")]
diff --git a/API/TrangaSettings.cs b/API/TrangaSettings.cs
index 864a76a..9f97c3a 100644
--- a/API/TrangaSettings.cs
+++ b/API/TrangaSettings.cs
@@ -111,7 +111,7 @@ public static class TrangaSettings
ExportSettings();
}
- public static void UpdateRateLimit(RequestType requestType, int newLimit)
+ public static void UpdateRequestLimit(RequestType requestType, int newLimit)
{
requestLimits[requestType] = newLimit;
ExportSettings();