diff --git a/Refresh.Core/Configuration/EndpointRateLimitConfig.cs b/Refresh.Core/Configuration/EndpointRateLimitConfig.cs index 2a38185aa..095412e35 100644 --- a/Refresh.Core/Configuration/EndpointRateLimitConfig.cs +++ b/Refresh.Core/Configuration/EndpointRateLimitConfig.cs @@ -5,7 +5,7 @@ namespace Refresh.Core.Configuration; public class EndpointRateLimitConfig : Config { - public override int CurrentConfigVersion => 1; + public override int CurrentConfigVersion => 2; public override int Version { get; set; } protected override void Migrate(int oldVer, dynamic oldConfig) diff --git a/Refresh.Core/RateLimits/Activity/ActivityPageEndpointLimits.cs b/Refresh.Core/RateLimits/Activity/ActivityPageEndpointLimits.cs deleted file mode 100644 index 91152620d..000000000 --- a/Refresh.Core/RateLimits/Activity/ActivityPageEndpointLimits.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace Refresh.Core.RateLimits.Activity; - -public static class ActivityPageEndpointLimits -{ - public const int TimeoutDuration = 300; - public const int GameRequestAmount = 25; - public const int ApiRequestAmount = 35; - public const int BlockDuration = 240; - public const string GameRequestBucket = "activity-game"; - public const string ApiRequestBucket = "activity-api"; - -} \ No newline at end of file diff --git a/Refresh.Core/RateLimits/Challenges/ChallengeListEndpointLimits.cs b/Refresh.Core/RateLimits/Challenges/ChallengeListEndpointLimits.cs deleted file mode 100644 index 4866f8110..000000000 --- a/Refresh.Core/RateLimits/Challenges/ChallengeListEndpointLimits.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Refresh.Core.RateLimits.Challenges; - -public static class ChallengeListEndpointLimits -{ - public const int TimeoutDuration = 420; - public const int RequestAmount = 20; - public const int BlockDuration = 300; - public const string RequestBucket = "challenge-list"; -} \ No newline at end of file diff --git a/Refresh.Core/RateLimits/Challenges/ChallengeScoreListEndpointLimits.cs b/Refresh.Core/RateLimits/Challenges/ChallengeScoreListEndpointLimits.cs deleted file mode 100644 index 7b105f845..000000000 --- a/Refresh.Core/RateLimits/Challenges/ChallengeScoreListEndpointLimits.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Refresh.Core.RateLimits.Challenges; - -public static class ChallengeScoreListEndpointLimits -{ - public const int TimeoutDuration = 420; - public const int RequestAmount = 25; - public const int BlockDuration = 300; - public const string RequestBucket = "challenge-score-list"; -} \ No newline at end of file diff --git a/Refresh.Core/RateLimits/Challenges/ChallengeScoreUploadEndpointLimits.cs b/Refresh.Core/RateLimits/Challenges/ChallengeScoreUploadEndpointLimits.cs deleted file mode 100644 index 92e173d43..000000000 --- a/Refresh.Core/RateLimits/Challenges/ChallengeScoreUploadEndpointLimits.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Refresh.Core.RateLimits.Challenges; - -public static class ChallengeScoreUploadEndpointLimits -{ - public const int TimeoutDuration = 420; - public const int RequestAmount = 12; - public const int BlockDuration = 300; - public const string RequestBucket = "challenge-score-upload"; -} \ No newline at end of file diff --git a/Refresh.Core/RateLimits/Challenges/ChallengeSingleScoreEndpointLimits.cs b/Refresh.Core/RateLimits/Challenges/ChallengeSingleScoreEndpointLimits.cs deleted file mode 100644 index 6a008d4a5..000000000 --- a/Refresh.Core/RateLimits/Challenges/ChallengeSingleScoreEndpointLimits.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Refresh.Core.RateLimits.Challenges; - -public static class ChallengeSingleScoreEndpointLimits -{ - public const int TimeoutDuration = 300; - public const int RequestAmount = 16; - public const int BlockDuration = 240; - public const string RequestBucket = "challenge-single-score"; -} \ No newline at end of file diff --git a/Refresh.Core/RateLimits/Challenges/ChallengeUploadEndpointLimits.cs b/Refresh.Core/RateLimits/Challenges/ChallengeUploadEndpointLimits.cs deleted file mode 100644 index 87b4ec26f..000000000 --- a/Refresh.Core/RateLimits/Challenges/ChallengeUploadEndpointLimits.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Refresh.Core.RateLimits.Challenges; - -public static class ChallengeUploadEndpointLimits -{ - public const int TimeoutDuration = 420; - public const int RequestAmount = 10; - public const int BlockDuration = 300; - public const string RequestBucket = "challenge-upload"; -} \ No newline at end of file diff --git a/Refresh.Core/RateLimits/Comments/CommentListEndpointLimits.cs b/Refresh.Core/RateLimits/Comments/CommentListEndpointLimits.cs deleted file mode 100644 index e22a7699e..000000000 --- a/Refresh.Core/RateLimits/Comments/CommentListEndpointLimits.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Refresh.Core.RateLimits.Comments; - -public static class CommentListEndpointLimits -{ - public const int TimeoutDuration = 420; - public const int RequestAmount = 40; - public const int BlockDuration = 300; - public const string RequestBucket = "comment-list"; -} \ No newline at end of file diff --git a/Refresh.Core/RateLimits/Comments/CommentUploadEndpointLimits.cs b/Refresh.Core/RateLimits/Comments/CommentUploadEndpointLimits.cs deleted file mode 100644 index 5081b125c..000000000 --- a/Refresh.Core/RateLimits/Comments/CommentUploadEndpointLimits.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Refresh.Core.RateLimits.Comments; - -public static class CommentUploadEndpointLimits -{ - public const int TimeoutDuration = 420; - public const int RequestAmount = 18; - public const int BlockDuration = 300; - public const string RequestBucket = "comment-upload"; -} \ No newline at end of file diff --git a/Refresh.Core/RateLimits/Comments/SingleCommentEndpointLimits.cs b/Refresh.Core/RateLimits/Comments/SingleCommentEndpointLimits.cs deleted file mode 100644 index 67329d086..000000000 --- a/Refresh.Core/RateLimits/Comments/SingleCommentEndpointLimits.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Refresh.Core.RateLimits.Comments; - -public static class SingleCommentEndpointLimits -{ - public const int TimeoutDuration = 420; - public const int RequestAmount = 12; - public const int BlockDuration = 300; - public const string RequestBucket = "single-comment"; -} \ No newline at end of file diff --git a/Refresh.Core/RateLimits/Contests/ContestGetEndpointLimits.cs b/Refresh.Core/RateLimits/Contests/ContestGetEndpointLimits.cs deleted file mode 100644 index 9a0fc6d67..000000000 --- a/Refresh.Core/RateLimits/Contests/ContestGetEndpointLimits.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace Refresh.Core.RateLimits.Contests; - -// treat getting one and getting a list as the same for now -public static class ContestGetEndpointLimits -{ - public const int TimeoutDuration = 420; - public const int RequestAmount = 15; - public const int BlockDuration = 300; - public const string RequestBucket = "contests"; -} \ No newline at end of file diff --git a/Refresh.Core/RateLimits/Leaderboard/ScoreListEndpointLimits.cs b/Refresh.Core/RateLimits/Leaderboard/ScoreListEndpointLimits.cs deleted file mode 100644 index b63c229dc..000000000 --- a/Refresh.Core/RateLimits/Leaderboard/ScoreListEndpointLimits.cs +++ /dev/null @@ -1,11 +0,0 @@ -namespace Refresh.Core.RateLimits.Leaderboard; - -public static class ScoreListEndpointLimits -{ - public const int TimeoutDuration = 420; - public const int ApiRequestAmount = 70; - public const int GameRequestAmount = 130; // apparently LBP PSP likes spamming story level leaderboards in certain cases - public const int BlockDuration = 300; - public const string ApiRequestBucket = "score-list-api"; - public const string GameRequestBucket = "score-list-game"; -} \ No newline at end of file diff --git a/Refresh.Core/RateLimits/Leaderboard/SingleScoreEndpointLimits.cs b/Refresh.Core/RateLimits/Leaderboard/SingleScoreEndpointLimits.cs deleted file mode 100644 index 93c918a26..000000000 --- a/Refresh.Core/RateLimits/Leaderboard/SingleScoreEndpointLimits.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Refresh.Core.RateLimits.Leaderboard; - -public static class SingleScoreEndpointLimits -{ - public const int TimeoutDuration = 420; - public const int RequestAmount = 30; - public const int BlockDuration = 300; - public const string RequestBucket = "single-score"; -} \ No newline at end of file diff --git a/Refresh.Core/RateLimits/Levels/LevelListEndpointLimits.cs b/Refresh.Core/RateLimits/Levels/LevelListEndpointLimits.cs deleted file mode 100644 index 840679e53..000000000 --- a/Refresh.Core/RateLimits/Levels/LevelListEndpointLimits.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Refresh.Core.RateLimits.Levels; - -public static class LevelListEndpointLimits -{ - public const int TimeoutDuration = 240; - public const int RequestAmount = 50; - public const int BlockDuration = 180; - public const string RequestBucket = "level-list"; -} \ No newline at end of file diff --git a/Refresh.Core/RateLimits/Photos/PhotoListEndpointLimits.cs b/Refresh.Core/RateLimits/Photos/PhotoListEndpointLimits.cs deleted file mode 100644 index 1f934df66..000000000 --- a/Refresh.Core/RateLimits/Photos/PhotoListEndpointLimits.cs +++ /dev/null @@ -1,11 +0,0 @@ -namespace Refresh.Core.RateLimits.Photos; - -public static class PhotoListEndpointLimits -{ - public const int TimeoutDuration = 300; - public const int ApiRequestAmount = 25; - public const int GameRequestAmount = 60; // LBP1 likes spamming single level + photos for level requests for story levels - public const int BlockDuration = 240; - public const string ApiRequestBucket = "photo-list-api"; - public const string GameRequestBucket = "photo-list-game"; -} \ No newline at end of file diff --git a/Refresh.Core/RateLimits/Photos/SinglePhotoEndpointLimits.cs b/Refresh.Core/RateLimits/Photos/SinglePhotoEndpointLimits.cs deleted file mode 100644 index 5e28d41ab..000000000 --- a/Refresh.Core/RateLimits/Photos/SinglePhotoEndpointLimits.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Refresh.Core.RateLimits.Photos; - -public static class SinglePhotoEndpointLimits -{ - public const int TimeoutDuration = 450; - public const int RequestAmount = 20; - public const int BlockDuration = 300; - public const string RequestBucket = "single-photo"; -} \ No newline at end of file diff --git a/Refresh.Core/RateLimits/Playlists/Lbp3PlaylistLevelListEndpointLimits.cs b/Refresh.Core/RateLimits/Playlists/Lbp3PlaylistLevelListEndpointLimits.cs deleted file mode 100644 index 2c2f1938c..000000000 --- a/Refresh.Core/RateLimits/Playlists/Lbp3PlaylistLevelListEndpointLimits.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace Refresh.Core.RateLimits.Playlists; - -/// -/// smh -/// -public static class Lbp3PlaylistLevelListEndpointLimits -{ - public const int TimeoutDuration = 360; - public const int RequestAmount = 80; - public const int BlockDuration = 260; - public const string RequestBucket = "playlist-level-list-lbp3"; -} \ No newline at end of file diff --git a/Refresh.Core/RateLimits/Playlists/PlaylistCreationEndpointLimits.cs b/Refresh.Core/RateLimits/Playlists/PlaylistCreationEndpointLimits.cs deleted file mode 100644 index 405b55cd2..000000000 --- a/Refresh.Core/RateLimits/Playlists/PlaylistCreationEndpointLimits.cs +++ /dev/null @@ -1,14 +0,0 @@ -namespace Refresh.Core.RateLimits.Playlists; - -/// -/// Shared rate limit parameters for game and API playlist endpoints -/// -public static class PlaylistCreationEndpointLimits -{ - public const int UploadTimeoutDuration = 300; - public const int MaxCreateAmount = 30; - public const int MaxUpdateAmount = 50; - public const int UploadBlockDuration = 240; - public const string CreateBucket = "playlist-create"; - public const string UpdateBucket = "playlist-update"; -} \ No newline at end of file diff --git a/Refresh.Core/RateLimits/Playlists/PlaylistListEndpointLimits.cs b/Refresh.Core/RateLimits/Playlists/PlaylistListEndpointLimits.cs deleted file mode 100644 index 1f4a0ca86..000000000 --- a/Refresh.Core/RateLimits/Playlists/PlaylistListEndpointLimits.cs +++ /dev/null @@ -1,11 +0,0 @@ -namespace Refresh.Core.RateLimits.Playlists; - -public static class PlaylistListEndpointLimits -{ - public const int TimeoutDuration = 240; - public const int RequestAmount = 30; - public const int Lbp3RequestAmount = 50; - public const int BlockDuration = 180; - public const string RequestBucket = "playlist-list"; - public const string Lbp3RequestBucket = "playlist-list-lbp3"; -} \ No newline at end of file diff --git a/Refresh.Core/RateLimits/Playlists/PlaylistModificationEndpointLimits.cs b/Refresh.Core/RateLimits/Playlists/PlaylistModificationEndpointLimits.cs deleted file mode 100644 index fff041805..000000000 --- a/Refresh.Core/RateLimits/Playlists/PlaylistModificationEndpointLimits.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace Refresh.Core.RateLimits.Playlists; - -/// -/// Shared rate limit parameters for game and API playlist endpoints which add/remove levels/playlists -/// -public static class PlaylistModificationEndpointLimits -{ - public const int TimeoutDuration = 300; - public const int RequestAmount = 16; // Will increase if this becomes a problem - public const int BlockDuration = 240; - public const string RequestBucket = "playlist-modification"; -} \ No newline at end of file diff --git a/Refresh.Core/RateLimits/Playlists/SinglePlaylistEndpointLimits.cs b/Refresh.Core/RateLimits/Playlists/SinglePlaylistEndpointLimits.cs deleted file mode 100644 index 2f2f26fbb..000000000 --- a/Refresh.Core/RateLimits/Playlists/SinglePlaylistEndpointLimits.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Refresh.Core.RateLimits.Playlists; - -public static class SinglePlaylistEndpointLimits -{ - public const int TimeoutDuration = 450; - public const int RequestAmount = 20; - public const int BlockDuration = 300; - public const string RequestBucket = "single-playlist"; -} \ No newline at end of file diff --git a/Refresh.Core/RateLimits/Presence/GamePresenceEndpointLimits.cs b/Refresh.Core/RateLimits/Presence/GamePresenceEndpointLimits.cs deleted file mode 100644 index 5aff9ed88..000000000 --- a/Refresh.Core/RateLimits/Presence/GamePresenceEndpointLimits.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace Refresh.Core.RateLimits.Presence; - -/// -/// Every endpoint related to matching/updating a room in-memory -/// -public static class GamePresenceEndpointLimits -{ - public const int TimeoutDuration = 300; - public const int RequestAmount = 80; - public const int BlockDuration = 240; - public const string RequestBucket = "game-presence"; -} \ No newline at end of file diff --git a/Refresh.Core/RateLimits/Presence/LevelOverrideEndpointLimits.cs b/Refresh.Core/RateLimits/Presence/LevelOverrideEndpointLimits.cs deleted file mode 100644 index c4a936de0..000000000 --- a/Refresh.Core/RateLimits/Presence/LevelOverrideEndpointLimits.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace Refresh.Core.RateLimits.Presence; - -// level overriding for now -public static class LevelOverrideEndpointLimits -{ - public const int TimeoutDuration = 450; - public const int RequestAmount = 40; - public const int BlockDuration = 300; - public const string RequestBucket = "presence-level-override"; -} \ No newline at end of file diff --git a/Refresh.Core/RateLimits/Presence/RoomListEndpointLimits.cs b/Refresh.Core/RateLimits/Presence/RoomListEndpointLimits.cs deleted file mode 100644 index 7c61ffdd7..000000000 --- a/Refresh.Core/RateLimits/Presence/RoomListEndpointLimits.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Refresh.Core.RateLimits.Presence; - -public static class RoomListEndpointLimits -{ - public const int TimeoutDuration = 300; - public const int RequestAmount = 80; // For now this is being requested many times by refresh-web... - public const int BlockDuration = 240; - public const string RequestBucket = "room-list"; -} \ No newline at end of file diff --git a/Refresh.Core/RateLimits/Presence/SingleRoomEndpointLimits.cs b/Refresh.Core/RateLimits/Presence/SingleRoomEndpointLimits.cs deleted file mode 100644 index e00dff65e..000000000 --- a/Refresh.Core/RateLimits/Presence/SingleRoomEndpointLimits.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Refresh.Core.RateLimits.Presence; - -public static class SingleRoomEndpointLimits -{ - public const int TimeoutDuration = 300; - public const int RequestAmount = 18; - public const int BlockDuration = 240; - public const string RequestBucket = "single-room"; -} \ No newline at end of file diff --git a/Refresh.Core/RateLimits/Relations/CommonRelationEndpointLimits.cs b/Refresh.Core/RateLimits/Relations/CommonRelationEndpointLimits.cs deleted file mode 100644 index 4a19f37dc..000000000 --- a/Refresh.Core/RateLimits/Relations/CommonRelationEndpointLimits.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Refresh.Core.RateLimits.Relations; - -public static class CommonRelationEndpointLimits -{ - public const int TimeoutDuration = 300; - public const int RequestAmount = 70; - public const int BlockDuration = 240; - public const string RequestBucket = "common-relations"; -} \ No newline at end of file diff --git a/Refresh.Core/RateLimits/Relations/LevelTaggingEndpointLimits.cs b/Refresh.Core/RateLimits/Relations/LevelTaggingEndpointLimits.cs deleted file mode 100644 index 70040763d..000000000 --- a/Refresh.Core/RateLimits/Relations/LevelTaggingEndpointLimits.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Refresh.Core.RateLimits.Relations; - -public static class LevelTaggingEndpointLimits -{ - public const int TimeoutDuration = 300; - public const int RequestAmount = 6; - public const int BlockDuration = 240; - public const string RequestBucket = "level-tagging"; -} \ No newline at end of file diff --git a/Refresh.Core/RateLimits/Relations/PlayLevelEndpointLimits.cs b/Refresh.Core/RateLimits/Relations/PlayLevelEndpointLimits.cs deleted file mode 100644 index dcea7bf28..000000000 --- a/Refresh.Core/RateLimits/Relations/PlayLevelEndpointLimits.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Refresh.Core.RateLimits.Relations; - -public static class PlayLevelEndpointLimits -{ - public const int TimeoutDuration = 300; - public const int RequestAmount = 40; - public const int BlockDuration = 240; - public const string RequestBucket = "play-level"; -} \ No newline at end of file diff --git a/Refresh.Core/RateLimits/Reviews/ReviewListEndpointLimits.cs b/Refresh.Core/RateLimits/Reviews/ReviewListEndpointLimits.cs deleted file mode 100644 index 236c074cf..000000000 --- a/Refresh.Core/RateLimits/Reviews/ReviewListEndpointLimits.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Refresh.Core.RateLimits.Reviews; - -public static class ReviewListEndpointLimits -{ - public const int TimeoutDuration = 420; - public const int RequestAmount = 20; - public const int BlockDuration = 300; - public const string RequestBucket = "review-list"; -} \ No newline at end of file diff --git a/Refresh.Core/RateLimits/Reviews/ReviewUploadEndpointLimits.cs b/Refresh.Core/RateLimits/Reviews/ReviewUploadEndpointLimits.cs deleted file mode 100644 index 5b0c3cf60..000000000 --- a/Refresh.Core/RateLimits/Reviews/ReviewUploadEndpointLimits.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Refresh.Core.RateLimits.Reviews; - -public static class ReviewUploadEndpointLimits -{ - public const int TimeoutDuration = 300; - public const int RequestAmount = 10; - public const int BlockDuration = 300; - public const string RequestBucket = "review-upload"; -} \ No newline at end of file diff --git a/Refresh.Core/RateLimits/Reviews/SingleReviewEndpointLimits.cs b/Refresh.Core/RateLimits/Reviews/SingleReviewEndpointLimits.cs deleted file mode 100644 index 59c9dd464..000000000 --- a/Refresh.Core/RateLimits/Reviews/SingleReviewEndpointLimits.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Refresh.Core.RateLimits.Reviews; - -public static class SingleReviewEndpointLimits -{ - public const int TimeoutDuration = 420; - public const int RequestAmount = 12; - public const int BlockDuration = 300; - public const string RequestBucket = "single-review"; -} \ No newline at end of file diff --git a/Refresh.Core/RateLimits/Users/NotificationsEndpointLimits.cs b/Refresh.Core/RateLimits/Users/NotificationsEndpointLimits.cs deleted file mode 100644 index ea9709d7d..000000000 --- a/Refresh.Core/RateLimits/Users/NotificationsEndpointLimits.cs +++ /dev/null @@ -1,11 +0,0 @@ -namespace Refresh.Core.RateLimits.Users; - -public static class NotificationsEndpointLimits -{ - public const int TimeoutDuration = 180; - public const int GameRequestAmount = 8; - public const int ApiRequestAmount = 20; - public const int BlockDuration = 150; - public const string GameRequestBucket = "notifications-game"; - public const string ApiRequestBucket = "notifications-api"; -} \ No newline at end of file diff --git a/Refresh.Core/RateLimits/Users/SingleUserEndpointLimits.cs b/Refresh.Core/RateLimits/Users/SingleUserEndpointLimits.cs deleted file mode 100644 index ea028654e..000000000 --- a/Refresh.Core/RateLimits/Users/SingleUserEndpointLimits.cs +++ /dev/null @@ -1,11 +0,0 @@ -namespace Refresh.Core.RateLimits.Users; - -public static class SingleUserEndpointLimits -{ - public const int TimeoutDuration = 180; - public const int ApiRequestAmount = 30; - public const int GameRequestAmount = 50; - public const int BlockDuration = 120; - public const string ApiRequestBucket = "single-user-api"; - public const string GameRequestBucket = "single-user-game"; -} \ No newline at end of file diff --git a/Refresh.Core/RateLimits/Users/UserListEndpointLimits.cs b/Refresh.Core/RateLimits/Users/UserListEndpointLimits.cs deleted file mode 100644 index cd291843b..000000000 --- a/Refresh.Core/RateLimits/Users/UserListEndpointLimits.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Refresh.Core.RateLimits.Users; - -public static class UserListEndpointLimits -{ - public const int TimeoutDuration = 240; - public const int RequestAmount = 30; - public const int BlockDuration = 180; - public const string RequestBucket = "user-list"; -} \ No newline at end of file diff --git a/Refresh.Core/RateLimits/Users/UserModificationEndpointLimits.cs b/Refresh.Core/RateLimits/Users/UserModificationEndpointLimits.cs deleted file mode 100644 index d81f7d5ff..000000000 --- a/Refresh.Core/RateLimits/Users/UserModificationEndpointLimits.cs +++ /dev/null @@ -1,11 +0,0 @@ -namespace Refresh.Core.RateLimits.Users; - -public static class UserModificationEndpointLimits -{ - public const int TimeoutDuration = 420; - public const int ApiRequestAmount = 14; - public const int GameRequestAmount = 48; - public const int BlockDuration = 300; - public const string ApiRequestBucket = "user-modification-api"; - public const string GameRequestBucket = "user-modification-game"; -} \ No newline at end of file