diff -r 4d93f4ed95bc -r 63be3ce389f7 src/notes/api/serializers/core.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/notes/api/serializers/core.py Wed Jun 14 15:17:51 2017 +0200 @@ -0,0 +1,55 @@ +""" +Serializers for model core classes +""" +from rest_framework import serializers + +from notes.models import Note, Session + + +class DetailNoteSerializer(serializers.ModelSerializer): + class Meta: + model = Note + fields = ( + 'ext_id', 'version', 'created', 'updated', + 'plain', 'html', 'raw', + 'categorization', 'margin_note', 'tc_start', 'tc_end' + ) + read_only_fields = ('ext_id', 'version', 'created', 'updated') + + +class ListNoteSerializer(serializers.ModelSerializer): + class Meta: + model = Note + fields = ( + 'ext_id', 'tc_start', 'tc_end' + ) + read_only_fields = ('ext_id', ) + + +class ListSessionSerializer(serializers.ModelSerializer): + + owner = serializers.SlugRelatedField( + read_only=True, slug_field='username', default=serializers.CurrentUserDefault()) + + class Meta: + model = Session + fields = ( + 'ext_id', 'version', 'created', 'updated', + 'owner', 'title', 'description', 'protocol' + ) + read_only_fields = ('ext_id', 'version', 'created', 'updated', 'owner') + + +class DetailSessionSerializer(serializers.ModelSerializer): + + owner = serializers.SlugRelatedField(read_only=True, slug_field='username') + notes = DetailNoteSerializer(many=True, read_only=True) + + class Meta: + model = Session + fields = ( + 'ext_id', 'version', 'created', 'updated', + 'owner', 'title', 'description', 'protocol', + 'notes' + ) + read_only_fields = ('ext_id', 'version', 'created', 'updated', 'owner')