This reverts commit e9680cab74.
This commit is contained in:
parent
e9680cab74
commit
9408e92e44
65 changed files with 361 additions and 1469 deletions
|
|
@ -1,6 +1,3 @@
|
|||
# Python imports
|
||||
import base64
|
||||
|
||||
# Django imports
|
||||
from django.utils import timezone
|
||||
from django.core.validators import URLValidator
|
||||
|
|
@ -735,31 +732,14 @@ class IssueLiteSerializer(DynamicBaseSerializer):
|
|||
read_only_fields = fields
|
||||
|
||||
|
||||
class Base64BinaryField(serializers.CharField):
|
||||
def to_representation(self, value):
|
||||
# Encode the binary data to base64 string for JSON response
|
||||
if value:
|
||||
return base64.b64encode(value).decode("utf-8")
|
||||
return None
|
||||
|
||||
def to_internal_value(self, data):
|
||||
# Decode the base64 string to binary data when saving
|
||||
try:
|
||||
return base64.b64decode(data)
|
||||
except (TypeError, ValueError):
|
||||
raise serializers.ValidationError("Invalid base64-encoded data")
|
||||
|
||||
|
||||
class IssueDetailSerializer(IssueSerializer):
|
||||
description_html = serializers.CharField()
|
||||
description_binary = Base64BinaryField()
|
||||
is_subscribed = serializers.BooleanField(read_only=True)
|
||||
|
||||
class Meta(IssueSerializer.Meta):
|
||||
fields = IssueSerializer.Meta.fields + [
|
||||
"description_html",
|
||||
"is_subscribed",
|
||||
"description_binary",
|
||||
]
|
||||
read_only_fields = fields
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue