42 lines
1.1 KiB
Python
42 lines
1.1 KiB
Python
from rest_framework import serializers
|
|
|
|
from .. import models
|
|
|
|
|
|
class ApplicationSerializer(serializers.ModelSerializer):
|
|
scopes = serializers.CharField(source="scope")
|
|
|
|
class Meta:
|
|
model = models.Application
|
|
fields = ["client_id", "name", "scopes", "created", "updated"]
|
|
|
|
def to_representation(self, obj):
|
|
repr = super().to_representation(obj)
|
|
if obj.user_id:
|
|
repr["token"] = obj.token
|
|
return repr
|
|
|
|
|
|
class CreateApplicationSerializer(serializers.ModelSerializer):
|
|
name = serializers.CharField(required=True, max_length=255)
|
|
scopes = serializers.CharField(source="scope", default="read")
|
|
|
|
class Meta:
|
|
model = models.Application
|
|
fields = [
|
|
"client_id",
|
|
"name",
|
|
"scopes",
|
|
"client_secret",
|
|
"created",
|
|
"updated",
|
|
"redirect_uris",
|
|
]
|
|
read_only_fields = ["client_id", "created", "updated"]
|
|
|
|
def to_representation(self, obj):
|
|
repr = super().to_representation(obj)
|
|
if obj.user_id:
|
|
repr["token"] = obj.token
|
|
return repr
|