UPDATE
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
from rest_framework import serializers
|
||||
|
||||
from drf_spectacular.types import OpenApiTypes
|
||||
from drf_spectacular.utils import OpenApiParameter, inline_serializer
|
||||
|
||||
|
||||
FARM_UUID_DEFAULT = "11111111-1111-1111-1111-111111111111"
|
||||
|
||||
|
||||
class AuthTokenSerializer(serializers.Serializer):
|
||||
token = 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"] = serializers.CharField()
|
||||
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)
|
||||
|
||||
|
||||
def farm_uuid_query_param(required=False, description="UUID of the farm."):
|
||||
return OpenApiParameter(
|
||||
name="farm_uuid",
|
||||
type=OpenApiTypes.UUID,
|
||||
location=OpenApiParameter.QUERY,
|
||||
required=required,
|
||||
description=description,
|
||||
default=FARM_UUID_DEFAULT,
|
||||
)
|
||||
|
||||
|
||||
def sensor_uuid_query_param(required=False, description="Optional sensor UUID."):
|
||||
return OpenApiParameter(
|
||||
name="sensor_uuid",
|
||||
type=OpenApiTypes.UUID,
|
||||
location=OpenApiParameter.QUERY,
|
||||
required=required,
|
||||
description=description,
|
||||
)
|
||||
Reference in New Issue
Block a user