aboutsummaryrefslogtreecommitdiff
path: root/lib/app.js
diff options
context:
space:
mode:
authorcel <cel@f/6sQ6d2CMxRUhLpspgGIulDxDCwYD7DzFzPNr7u5AU=.ed25519>2019-01-28 20:22:36 -1000
committercel <cel@f/6sQ6d2CMxRUhLpspgGIulDxDCwYD7DzFzPNr7u5AU=.ed25519>2019-01-28 21:16:41 -1000
commit3b4e38cc4b02d5f47a531c3029520e67d98d6d10 (patch)
treebbef367f84922ce6f079613e4526306977ffa227 /lib/app.js
parentf002fac331c79baff7fde57899d76be0410ffe10 (diff)
downloadpatchfoo-3b4e38cc4b02d5f47a531c3029520e67d98d6d10.tar.gz
patchfoo-3b4e38cc4b02d5f47a531c3029520e67d98d6d10.zip
Add mute (private block) button
Diffstat (limited to 'lib/app.js')
-rw-r--r--lib/app.js23
1 files changed, 22 insertions, 1 deletions
diff --git a/lib/app.js b/lib/app.js
index 0b7784c..3b56da7 100644
--- a/lib/app.js
+++ b/lib/app.js
@@ -514,7 +514,7 @@ App.prototype.getContact = function (source, dest, cb) {
self.sbot.links({source: source, dest: dest, rel: 'contact', reverse: true,
values: true, meta: false, keys: false}),
pull.filter(function (value) {
- var c = value && value.content
+ var c = value && !value.private && value.content
return c && c.type === 'contact'
}),
pull.take(1),
@@ -527,6 +527,27 @@ App.prototype.getContact = function (source, dest, cb) {
)
}
+App.prototype.isMuted = function (id, cb) {
+ var self = this
+ pull(
+ self.sbot.links({source: self.sbot.id, dest: id, rel: 'contact', reverse: true,
+ values: true}),
+ pull.filter(function (msg) {
+ return msg && msg.value && typeof msg.value.content === 'string'
+ }),
+ this.unboxMessages(),
+ pull.filter(function (msg) {
+ var c = msg && msg.value && msg && msg.value.content
+ return c && c.type === 'contact'
+ }),
+ pull.take(1),
+ pull.reduce(function (acc, msg) {
+ var c = msg && msg.value && msg.value.content
+ return c.following ? false : c.flagged || c.blocking ? true : null
+ }, null, cb)
+ )
+}
+
App.prototype.unboxMessages = function () {
return paramap(this.unboxMsg, 16)
}