kopia lustrzana https://dev.funkwhale.audio/funkwhale/funkwhale
Refactor rate-limit endpoint to use serializers
rodzic
b3f31aeea2
commit
570524a2bd
|
@ -335,3 +335,27 @@ class NullToEmptDict(object):
|
|||
if not v:
|
||||
return v
|
||||
return super().to_representation(v)
|
||||
|
||||
|
||||
class ScopesSerializer(serializers.Serializer):
|
||||
id = serializers.CharField()
|
||||
rate = serializers.CharField()
|
||||
description = serializers.CharField()
|
||||
limit = serializers.IntegerField()
|
||||
duration = serializers.IntegerField()
|
||||
remaining = serializers.IntegerField()
|
||||
available = serializers.IntegerField()
|
||||
available_seconds = serializers.IntegerField()
|
||||
reset = serializers.IntegerField()
|
||||
reset_seconds = serializers.IntegerField()
|
||||
|
||||
|
||||
class IdentSerializer(serializers.Serializer):
|
||||
type = serializers.CharField()
|
||||
id = serializers.IntegerField()
|
||||
|
||||
|
||||
class RateLimitSerializer(serializers.Serializer):
|
||||
enabled = serializers.BooleanField()
|
||||
ident = IdentSerializer()
|
||||
scopes = serializers.ListField(child=ScopesSerializer())
|
||||
|
|
|
@ -139,6 +139,7 @@ class MutationViewSet(
|
|||
class RateLimitView(views.APIView):
|
||||
permission_classes = []
|
||||
throttle_classes = []
|
||||
serializer_class = serializers.RateLimitSerializer
|
||||
|
||||
def get(self, request, *args, **kwargs):
|
||||
ident = throttling.get_ident(getattr(request, "user", None), request)
|
||||
|
@ -147,7 +148,7 @@ class RateLimitView(views.APIView):
|
|||
"ident": ident,
|
||||
"scopes": throttling.get_status(ident, time.time()),
|
||||
}
|
||||
return response.Response(data, status=200)
|
||||
return response.Response(serializers.RateLimitSerializer(data).data, status=200)
|
||||
|
||||
|
||||
class AttachmentViewSet(
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Added proper serializers for the rate-limit endpoint.
|
Ładowanie…
Reference in New Issue