--- /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')