aboutsummaryrefslogtreecommitdiff
path: root/lib/app.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/app.js')
-rw-r--r--lib/app.js35
1 files changed, 35 insertions, 0 deletions
diff --git a/lib/app.js b/lib/app.js
index 7d8516a..5557b58 100644
--- a/lib/app.js
+++ b/lib/app.js
@@ -764,3 +764,38 @@ App.prototype._getVotes = function (id, cb) {
})
)
}
+
+App.prototype.getAddresses = function (id) {
+ if (!this.sbot.backlinks) {
+ if (!this.warned1) {
+ this.warned1 = true
+ console.trace('Getting peer addresses requires the ssb-backlinks plugin')
+ }
+ return pull.empty()
+ }
+ return pull(
+ this.sbot.backlinks.read({
+ reverse: true,
+ query: [
+ {$filter: {
+ dest: id,
+ value: {
+ content: {
+ type: 'pub',
+ address: {
+ key: id,
+ host: {$truthy: true},
+ port: {$truthy: true},
+ }
+ }
+ }
+ }},
+ {$map: ['value', 'content', 'address']}
+ ]
+ }),
+ pull.map(function (addr) {
+ return addr.host + ':' + addr.port
+ }),
+ pull.unique()
+ )
+}