32 lines
855 B
Python
32 lines
855 B
Python
from rest_framework import serializers
|
|
|
|
from drf_spectacular.utils import inline_serializer
|
|
|
|
|
|
class TokenPairSerializer(serializers.Serializer):
|
|
access = serializers.CharField()
|
|
refresh = serializers.CharField()
|
|
|
|
|
|
def code_response(name, data=None, token=False, extra_fields=None):
|
|
fields = {
|
|
"code": serializers.IntegerField(),
|
|
"msg": serializers.CharField(),
|
|
}
|
|
if data is not None:
|
|
fields["data"] = data
|
|
if token:
|
|
fields["token"] = TokenPairSerializer()
|
|
if extra_fields:
|
|
fields.update(extra_fields)
|
|
return inline_serializer(name=name, fields=fields)
|
|
|
|
|
|
def status_response(name, data=None):
|
|
fields = {
|
|
"status": serializers.CharField(default="success"),
|
|
}
|
|
if data is not None:
|
|
fields["data"] = data
|
|
return inline_serializer(name=name, fields=fields)
|