You've already forked code_examples_server
mirror of
https://github.com/AdaCore/code_examples_server.git
synced 2026-02-12 12:45:18 -08:00
41 lines
1.2 KiB
Python
41 lines
1.2 KiB
Python
from django.contrib.auth.models import User, Group
|
|
from rest_framework import serializers
|
|
from compile_server.app.models import Resource, Example
|
|
|
|
|
|
class UserSerializer(serializers.HyperlinkedModelSerializer):
|
|
class Meta:
|
|
model = User
|
|
fields = ('url', 'username', 'email', 'groups')
|
|
|
|
|
|
class GroupSerializer(serializers.HyperlinkedModelSerializer):
|
|
class Meta:
|
|
model = Group
|
|
fields = ('url', 'name')
|
|
|
|
|
|
class ResourceSerializer(serializers.Serializer):
|
|
class Meta:
|
|
model = Resource
|
|
fields = ('basename', 'code')
|
|
|
|
contents = serializers.CharField(style={'base_template': 'textarea.html'})
|
|
basename = serializers.CharField(style={'base_template': 'textarea.html'})
|
|
|
|
def create(self, validated_data):
|
|
return Snippet.objects.create(**validated_data)
|
|
|
|
def update(self, instance, validated_data):
|
|
instance.contents = validated_data.get('contents', instance.contents)
|
|
instance.basename = validated_data.get('basename', instance.basename)
|
|
instance.save()
|
|
return instance
|
|
|
|
|
|
class ExampleSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Example
|
|
fields = ('name', 'description', 'main')
|
|
|