secure-scuttlebot classic
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

added createReplicationStream()

+53 -2
+6 -1
lib/api/index.js
··· 15 15 'unfollow', 16 16 'isFollowing' 17 17 ], 18 - 19 18 source: [ 20 19 'followedUsers' 20 + ], 21 + duplex: [ 22 + 'createReplicationStream' 21 23 ] 22 24 } 23 25 ··· 71 73 ssb.feedsLinkedFromFeed(feed.id, 'follows'), 72 74 pull.map(function(link) { return link.dest }) 73 75 ) 76 + }, 77 + createReplicationStream: function() { 78 + return feed.createReplicationStream({ rel: 'follows' }, function(){}) 74 79 } 75 80 } 76 81 return muxrpc(null, manifest, serialize)(api)
+1 -1
package.json
··· 1 1 { 2 2 "name": "scuttlebot", 3 + "main": "./lib/index.js", 3 4 "dependencies": { 4 5 "daemonize2": "0.4.2", 5 6 "json-human-buffer": "~1.0.2", 6 - "muxrpc": "~0.3.0", 7 7 "nomnom": "1.8.0", 8 8 "pull-serializer": "~0.3.1", 9 9 "pull-stream": "~2.24.1",
+2
test/.gitignore
··· 1 1 .privatekey 2 2 .db 3 + .privatekey2 4 + .db2
+44
test/sync.js
··· 1 + var tape = require('tape') 2 + var pull = require('pull-stream') 3 + var rimraf = require('rimraf') 4 + var ssbKeys = require('ssb-keys') 5 + var path = require('path') 6 + var sbot = require('../lib') 7 + 8 + try { rimraf.sync(path.join(__dirname, '.db')) } catch(e) { console.log(e) } 9 + try { rimraf.sync(path.join(__dirname, '.db2')) } catch(e) { console.log(e) } 10 + 11 + tape('createReplicationStream', function (t) { 12 + var server = sbot.serve(1234, __dirname) 13 + var client = sbot.connect(1234) 14 + 15 + var keypair = ssbKeys.createSync(path.join(__dirname, '.privatekey2')) 16 + var ssb = require('secure-scuttlebutt/create')(path.join(__dirname, '.db2')) 17 + var feed = ssb.createFeed(keypair) 18 + 19 + server.backend.feed.add({ type: 'text', text: 'hello world!' }, function(err) { 20 + if (err) throw err 21 + 22 + feed.add({ type: 'follow', $rel: 'follows', $feed: server.backend.feed.id, }, function(err) { 23 + if (err) throw err 24 + 25 + var s1 = feed.createReplicationStream({ rel: 'follows', progress: console.log.bind(console, 'progress') }, done) 26 + pull(s1, client.createReplicationStream(), s1) 27 + 28 + function done(err) { 29 + if (err) throw err 30 + 31 + pull( 32 + ssb.messagesByType({ type: 'text' }), 33 + pull.collect(function(err, msgs) { 34 + t.equal(msgs.length, 1) 35 + t.equal(msgs[0].content.text, 'hello world!') 36 + t.end() 37 + client.socket.end() 38 + server.close() 39 + }) 40 + ) 41 + } 42 + }) 43 + }) 44 + })