--- 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),