Files
game-cards-poker-design/backend/apps/projects/serializers.py
Poker Design Developer 0370e4018a Implement asset upload API and utility functions
- Add Asset and CardLayer model updates
- Create asset upload API endpoints
- Add AssetUploadDialog component
- Create card layout algorithms
- Implement symmetry generation utils
- Add template configurations
2026-05-31 15:33:50 +08:00

40 lines
1.1 KiB
Python

from rest_framework import serializers
from django.conf import settings
from .models import Project, Asset, CardLayer
class ProjectSerializer(serializers.ModelSerializer):
class Meta:
model = Project
fields = '__all__'
class AssetSerializer(serializers.ModelSerializer):
file_url = serializers.SerializerMethodField()
class Meta:
model = Asset
fields = '__all__'
def get_file_url(self, obj):
if obj.file_path:
request = self.context.get('request')
if request:
return request.build_absolute_uri(f'{settings.MEDIA_URL}{obj.file_path}')
return f'{settings.MEDIA_URL}{obj.file_path}'
return None
class CardLayerSerializer(serializers.ModelSerializer):
class Meta:
model = CardLayer
fields = '__all__'
class ProjectDetailSerializer(serializers.ModelSerializer):
assets = AssetSerializer(many=True, read_only=True)
layers = CardLayerSerializer(many=True, read_only=True)
class Meta:
model = Project
fields = '__all__'