69 lines
2.0 KiB
Python
69 lines
2.0 KiB
Python
from rest_framework import serializers
|
|
|
|
|
|
# ---- Request serializers ----
|
|
|
|
class GuestSessionRequestSerializer(serializers.Serializer):
|
|
type = serializers.ChoiceField(choices=['guest'])
|
|
deviceId = serializers.CharField(max_length=64)
|
|
|
|
|
|
class LoginRequestSerializer(serializers.Serializer):
|
|
phone = serializers.CharField(max_length=15)
|
|
otp = serializers.CharField(max_length=6)
|
|
|
|
|
|
class RefreshRequestSerializer(serializers.Serializer):
|
|
refreshToken = serializers.CharField()
|
|
|
|
|
|
class SetGradeRequestSerializer(serializers.Serializer):
|
|
gradeId = serializers.IntegerField()
|
|
|
|
|
|
class RequestOTPRequestSerializer(serializers.Serializer):
|
|
"""اپ کمکی برای گرفتن OTP (در سند اصلی نبود، برای تستپذیری Swagger اضافه شد)."""
|
|
phone = serializers.CharField(max_length=15)
|
|
|
|
|
|
# ---- Response serializers ----
|
|
|
|
class GuestSessionResponseSerializer(serializers.Serializer):
|
|
userId = serializers.CharField()
|
|
token = serializers.CharField()
|
|
isNewUser = serializers.BooleanField()
|
|
isGuest = serializers.BooleanField()
|
|
|
|
|
|
class LoginResponseSerializer(serializers.Serializer):
|
|
userId = serializers.CharField()
|
|
token = serializers.CharField()
|
|
refreshToken = serializers.CharField()
|
|
|
|
|
|
class RefreshResponseSerializer(serializers.Serializer):
|
|
token = serializers.CharField()
|
|
expiresIn = serializers.IntegerField()
|
|
|
|
|
|
class GradeSerializer(serializers.Serializer):
|
|
id = serializers.IntegerField()
|
|
title = serializers.CharField()
|
|
icon = serializers.CharField()
|
|
color = serializers.CharField()
|
|
|
|
|
|
class GradesListResponseSerializer(serializers.Serializer):
|
|
grades = GradeSerializer(many=True)
|
|
|
|
|
|
class SetGradeResponseSerializer(serializers.Serializer):
|
|
success = serializers.BooleanField()
|
|
gradeId = serializers.IntegerField()
|
|
|
|
|
|
class RequestOTPResponseSerializer(serializers.Serializer):
|
|
success = serializers.BooleanField()
|
|
devOtp = serializers.CharField()
|
|
note = serializers.CharField()
|