diff options
author | Azul <azul@riseup.net> | 2013-12-31 17:09:22 +0100 |
---|---|---|
committer | Azul <azul@riseup.net> | 2013-12-31 17:15:19 +0100 |
commit | c07e0f2f5ddd17c7d7bdb6a1afc4748b401f14ae (patch) | |
tree | 011dac8308a2185154ff2234ad97fd65b1fa1951 /puppet/modules/site_couchdb/files/designs/shared/syncs.json | |
parent | 353475da8d535f2904e68977c3dafa6bb3bb483a (diff) |
add design docs for new soledad version to shared db
Diffstat (limited to 'puppet/modules/site_couchdb/files/designs/shared/syncs.json')
-rw-r--r-- | puppet/modules/site_couchdb/files/designs/shared/syncs.json | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/puppet/modules/site_couchdb/files/designs/shared/syncs.json b/puppet/modules/site_couchdb/files/designs/shared/syncs.json new file mode 100644 index 00000000..0df5ff74 --- /dev/null +++ b/puppet/modules/site_couchdb/files/designs/shared/syncs.json @@ -0,0 +1,11 @@ +{ + "views" : { + "log" : { + "map" : "function(doc) {\n if (doc._id == 'u1db_sync_log') {\n if (doc.syncs)\n doc.syncs.forEach(function (entry) {\n emit(entry[0],\n {\n 'known_generation': entry[1],\n 'known_transaction_id': entry[2]\n });\n });\n }\n}\n" + } + }, + "_id" : "_design/syncs", + "updates" : { + "put" : "function(doc, req){\n if (!doc) {\n doc = {}\n doc['_id'] = 'u1db_sync_log';\n doc['syncs'] = [];\n }\n body = JSON.parse(req.body);\n // remove outdated info\n doc['syncs'] = doc['syncs'].filter(\n function (entry) {\n return entry[0] != body['other_replica_uid'];\n }\n );\n // store u1db rev\n doc['syncs'].push([\n body['other_replica_uid'],\n body['other_generation'],\n body['other_transaction_id']\n ]);\n return [doc, 'ok'];\n}\n\n" + } +} |