Correct session creation and add offline to the persisted state
authorymh <ymh.work@gmail.com>
Wed, 21 Jun 2017 03:23:24 +0200
changeset 68 6e18b31b0ad5
parent 67 9206af01f5e5
child 69 2f42063b0869
Correct session creation and add offline to the persisted state
client/src/actions/sessionsActions.js
client/src/store/configureStore.js
src/notes/api/serializers/core.py
src/notes/api/views/core.py
--- a/client/src/actions/sessionsActions.js	Tue Jun 20 21:56:42 2017 +0200
+++ b/client/src/actions/sessionsActions.js	Wed Jun 21 03:23:24 2017 +0200
@@ -19,7 +19,7 @@
     meta: {
       offline: {
         effect: {
-          url: "/api/notes/sessions/",
+          url: `/api/notes/sessions/`,
           method: 'POST',
           data: newSession
         },
--- a/client/src/store/configureStore.js	Tue Jun 20 21:56:42 2017 +0200
+++ b/client/src/store/configureStore.js	Wed Jun 21 03:23:24 2017 +0200
@@ -43,7 +43,7 @@
 const persistOptions = {
   storage: localForage,
   transforms: [immutableTransform(immutableTransformConfig)],
-  whitelist: ['sessions', 'notes', 'isAuthenticated', 'currentUser', 'token']
+  whitelist: ['sessions', 'notes', 'isAuthenticated', 'currentUser', 'token', 'offline']
 }
 
 const apiClient = new APIClient(config.apiRootUrl);
--- a/src/notes/api/serializers/core.py	Tue Jun 20 21:56:42 2017 +0200
+++ b/src/notes/api/serializers/core.py	Wed Jun 21 03:23:24 2017 +0200
@@ -53,3 +53,16 @@
             'notes'
         )
         read_only_fields = ('ext_id', 'version', 'created', 'updated', 'owner')
+
+class CreateSessionSerializer(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 = ('version', 'created', 'updated', 'owner')
--- a/src/notes/api/views/core.py	Tue Jun 20 21:56:42 2017 +0200
+++ b/src/notes/api/views/core.py	Wed Jun 21 03:23:24 2017 +0200
@@ -5,7 +5,7 @@
 
 from ..permissions import NotePermission, SessionPermission
 from ..serializers.core import (DetailNoteSerializer, DetailSessionSerializer,
-                                ListNoteSerializer, ListSessionSerializer)
+                                ListNoteSerializer, ListSessionSerializer, CreateSessionSerializer)
 
 logger = logging.getLogger(__name__)
 
@@ -20,6 +20,7 @@
     serializers = {
         'list': ListSessionSerializer,
         'retrieve':  DetailSessionSerializer,
+        'create':  CreateSessionSerializer,
     }
 
     permission_classes = (SessionPermission,)