index.jsView |
---|
6 | 6 … | var paramap = require('pull-paramap') |
7 | 7 … | var ssbClient = require('ssb-client') |
8 | 8 … | var crypto = require('crypto') |
9 | 9 … | var ssbKeys = require('ssb-keys') |
| 10 … | +var u = require('./util') |
10 | 11 … | |
11 | | - |
12 | 12 … | function code(err, c) { |
13 | 13 … | err.code = 'user-invites:'+c |
14 | 14 … | return err |
15 | 15 … | } |
25 | 25 … | function isObject (o) { |
26 | 26 … | return o && typeof o == 'object' |
27 | 27 … | } |
28 | 28 … | |
| 29 … | +function isString (s) { |
| 30 … | + return typeof s == 'string' |
| 31 … | +} |
| 32 … | + |
29 | 33 … | function toBuffer(b) { |
30 | 34 … | return Buffer.isBuffer(b) ? b : Buffer.from(b, 'base64') |
31 | 35 … | } |
32 | 36 … | |
323 | 327 … | id: host_id, |
324 | 328 … | content: I.createInvite(seed, host_id, opts.reveal, opts.private, caps) |
325 | 329 … | }, function (err, data) { |
326 | 330 … | if(err) return cb(err) |
327 | | - cb(null, { |
| 331 … | + var invite = { |
|
328 | 332 … | seed: seed, |
329 | 333 … | invite: data.key, |
| 334 … | + cap: opts.cap, |
330 | 335 … | pubs: near.map(function (e) { return e.address }), |
331 | | - }) |
| 336 … | + } |
| 337 … | + cb(null, u.stringify(invite)) |
332 | 338 … | }) |
333 | 339 … | }) |
334 | 340 … | } |
335 | 341 … | |
364 | 370 … | |
365 | 371 … | |
366 | 372 … | |
367 | 373 … | invites.openInvite = function (invite, cb) { |
| 374 … | + if(isString(invite)) invite = u.parseInvite(invite) |
368 | 375 … | invites.getInvite(invite.invite, function (err, msg) { |
369 | 376 … | if(msg) |
370 | 377 … | next(msg) |
371 | 378 … | else |
395 | 402 … | }) |
396 | 403 … | } |
397 | 404 … | |
398 | 405 … | invites.acceptInvite = function (opts, cb) { |
| 406 … | + if(isString(opts)) opts = u.parseInvite(opts) |
399 | 407 … | var invite = isObject(opts.invite) ? opts.invite : opts |
400 | 408 … | var invite_id = invite.invite |
401 | 409 … | var id = opts.id || sbot.id |
402 | 410 … | var pubs = invite.pubs |