client/src/sagas/NoteSyncronizer.js
changeset 168 ea92f4fe783d
parent 134 be36eed5e6e0
--- a/client/src/sagas/NoteSyncronizer.js	Tue Oct 09 19:07:47 2018 +0200
+++ b/client/src/sagas/NoteSyncronizer.js	Mon Oct 08 18:35:47 2018 +0200
@@ -2,19 +2,19 @@
 import { getCreatedNotes, getUpdatedNotes, getDeletedNotes } from '../selectors/coreSelectors';
 import NoteRecord from '../store/noteRecord';
 import { doDeleteNote, loadNote, resetActionNote } from '../actions/notesActions';
-import Immutable from 'immutable';
 import SyncMixin from './BaseSyncronizer';
 import WebAnnotationSerializer from '../api/WebAnnotationSerializer';
 
+import * as R from 'ramda';
+
 class NoteSyncBase {
 
-  // local diffs (immutable)
   * getLocalDiffs() {
-    return Immutable.Map({
+    return {
       created: yield select(getCreatedNotes),
       updated: yield select(getUpdatedNotes),
       deleted: yield select(getDeletedNotes)
-    })
+    }
   }
 
   // remote urls
@@ -23,36 +23,36 @@
   }
 
   getRemoteDeleteUrl(localObjInst) {
-    return `/api/notes/sessions/${localObjInst.get('session')}/notes/${localObjInst.get('_id')}/`;
+    return `/api/notes/sessions/${R.prop('session',localObjInst)}/notes/${R.prop('_id',localObjInst)}/`;
   }
 
   getRemoteCreateUrl(localObjInst) {
-    return `/api/notes/sessions/${localObjInst.get('session')}/notes/`;
+    return `/api/notes/sessions/${R.prop('session',localObjInst)}/notes/`;
   }
 
   getRemoteUpdateUrl(localObjInst) {
-    return `/api/notes/sessions/${localObjInst.get('session')}/notes/${localObjInst.get('_id')}/`;
+    return `/api/notes/sessions/${R.prop('session',localObjInst)}/notes/${R.prop('_id',localObjInst)}/`;
   }
 
   // build remote json message
   getRemoteData(localObjInst) {
 
     return {
-      ext_id: localObjInst.get('_id'),
-      session: localObjInst.get('session'),
-      raw: JSON.stringify(localObjInst.get('raw')),
-      plain: localObjInst.get('plain'),
-      html: localObjInst.get('html'),
-      tc_start: localObjInst.get('startedAt'),
-      tc_end: localObjInst.get('finishedAt'),
+      ext_id: R.prop('_id',localObjInst),
+      session: R.prop('session',localObjInst),
+      raw: JSON.stringify(R.prop('raw',localObjInst)),
+      plain: R.prop('plain',localObjInst),
+      html: R.prop('html',localObjInst),
+      tc_start: R.prop('startedAt',localObjInst),
+      tc_end: R.prop('finishedAt',localObjInst),
       categorization: JSON.stringify(WebAnnotationSerializer.serialize(localObjInst)),
-      margin_note: localObjInst.get('marginComment'),
+      margin_note: R.prop('marginComment',localObjInst),
     }
 
   }
 
   getLocalRecord(remoteObj) {
-    return new NoteRecord({
+    return NoteRecord({
       _id: remoteObj.ext_id,
       session: remoteObj.session,
       raw: JSON.parse(remoteObj.raw),