summaryrefslogtreecommitdiff
path: root/common/src/leap/soledad/common/ddocs/syncs/views
diff options
context:
space:
mode:
Diffstat (limited to 'common/src/leap/soledad/common/ddocs/syncs/views')
-rw-r--r--common/src/leap/soledad/common/ddocs/syncs/views/changes_to_return/map.js19
-rw-r--r--common/src/leap/soledad/common/ddocs/syncs/views/seen_ids/map.js9
-rw-r--r--common/src/leap/soledad/common/ddocs/syncs/views/state/map.js16
3 files changed, 44 insertions, 0 deletions
diff --git a/common/src/leap/soledad/common/ddocs/syncs/views/changes_to_return/map.js b/common/src/leap/soledad/common/ddocs/syncs/views/changes_to_return/map.js
new file mode 100644
index 00000000..04ceb2ec
--- /dev/null
+++ b/common/src/leap/soledad/common/ddocs/syncs/views/changes_to_return/map.js
@@ -0,0 +1,19 @@
+function(doc) {
+ if (doc['_id'] == 'u1db_sync_state' && doc['ongoing_syncs'] != null)
+ for (var source_replica_uid in doc['ongoing_syncs']) {
+ var changes = doc['ongoing_syncs'][source_replica_uid]['changes_to_return'];
+ if (changes == null)
+ emit([source_replica_uid, 0], null);
+ else if (changes.length == 0)
+ emit([source_replica_uid, 0], []);
+ else
+ for (var i = 0; i < changes['changes_to_return'].length; i++)
+ emit(
+ [source_replica_uid, i],
+ {
+ 'gen': changes['gen'],
+ 'trans_id': changes['trans_id'],
+ 'next_change_to_return': changes['changes_to_return'][i],
+ });
+ }
+}
diff --git a/common/src/leap/soledad/common/ddocs/syncs/views/seen_ids/map.js b/common/src/leap/soledad/common/ddocs/syncs/views/seen_ids/map.js
new file mode 100644
index 00000000..34c65b3f
--- /dev/null
+++ b/common/src/leap/soledad/common/ddocs/syncs/views/seen_ids/map.js
@@ -0,0 +1,9 @@
+function(doc) {
+ if (doc['_id'] == 'u1db_sync_state' && doc['ongoing_syncs'] != null)
+ for (var source_replica_uid in doc['ongoing_syncs'])
+ emit(
+ source_replica_uid,
+ {
+ 'seen_ids': doc['ongoing_syncs'][source_replica_uid]['seen_ids'],
+ });
+}
diff --git a/common/src/leap/soledad/common/ddocs/syncs/views/state/map.js b/common/src/leap/soledad/common/ddocs/syncs/views/state/map.js
new file mode 100644
index 00000000..1d8f8e84
--- /dev/null
+++ b/common/src/leap/soledad/common/ddocs/syncs/views/state/map.js
@@ -0,0 +1,16 @@
+function(doc) {
+ if (doc['_id'] == 'u1db_sync_state' && doc['ongoing_syncs'] != null)
+ for (var source_replica_uid in doc['ongoing_syncs']) {
+ var changes = doc['ongoing_syncs'][source_replica_uid]['changes_to_return'];
+ if (changes == null)
+ emit(source_replica_uid, null);
+ else
+ emit(
+ source_replica_uid,
+ {
+ 'gen': changes['gen'],
+ 'trans_id': changes['trans_id'],
+ 'number_of_changes': changes['changes_to_return'].length
+ });
+ }
+}