2017-05-06 22:38:32 -04:00
|
|
|
from django.contrib.auth.models import User, Group
|
|
|
|
|
from rest_framework import serializers
|
2018-04-20 11:01:14 -04:00
|
|
|
from compile_server.app.models import Resource, Example
|
2017-05-06 22:38:32 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
class UserSerializer(serializers.HyperlinkedModelSerializer):
|
|
|
|
|
class Meta:
|
|
|
|
|
model = User
|
|
|
|
|
fields = ('url', 'username', 'email', 'groups')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class GroupSerializer(serializers.HyperlinkedModelSerializer):
|
|
|
|
|
class Meta:
|
|
|
|
|
model = Group
|
|
|
|
|
fields = ('url', 'name')
|
|
|
|
|
|
|
|
|
|
|
2017-07-19 14:42:35 -04:00
|
|
|
class ResourceSerializer(serializers.Serializer):
|
2017-05-06 22:38:32 -04:00
|
|
|
class Meta:
|
2017-07-19 14:42:35 -04:00
|
|
|
model = Resource
|
|
|
|
|
fields = ('basename', 'code')
|
2017-05-06 22:38:32 -04:00
|
|
|
|
2017-07-21 15:48:38 -04:00
|
|
|
contents = serializers.CharField(style={'base_template': 'textarea.html'})
|
2017-07-19 14:42:35 -04:00
|
|
|
basename = serializers.CharField(style={'base_template': 'textarea.html'})
|
2017-05-06 22:38:32 -04:00
|
|
|
|
|
|
|
|
def create(self, validated_data):
|
|
|
|
|
return Snippet.objects.create(**validated_data)
|
|
|
|
|
|
|
|
|
|
def update(self, instance, validated_data):
|
2017-07-19 16:42:02 -04:00
|
|
|
instance.contents = validated_data.get('contents', instance.contents)
|
2017-07-19 14:42:35 -04:00
|
|
|
instance.basename = validated_data.get('basename', instance.basename)
|
|
|
|
|
instance.save()
|
2017-05-06 22:38:32 -04:00
|
|
|
return instance
|
2017-09-06 09:14:18 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
class ExampleSerializer(serializers.ModelSerializer):
|
|
|
|
|
class Meta:
|
|
|
|
|
model = Example
|
2017-10-10 11:52:49 -04:00
|
|
|
fields = ('name', 'description', 'main')
|
2017-11-27 17:44:27 -05:00
|
|
|
|