diff options
author | cel <cel@lOUVT+Phkvai9a/cCS/RKo+S9hnPAQdVixms/7ldpPA=.ed25519> | 2020-05-14 20:34:31 -0400 |
---|---|---|
committer | cel <cel@lOUVT+Phkvai9a/cCS/RKo+S9hnPAQdVixms/7ldpPA=.ed25519> | 2020-05-15 18:34:01 -0400 |
commit | d19e131248105a3639e7a03f41d023c38b77ec30 (patch) | |
tree | f3d3c681fbf3eb7ce72d5da323c9e6f92f169954 | |
parent | 25a7ff7a983188489590c05b7621393b68e8b002 (diff) | |
download | patchfoo-d19e131248105a3639e7a03f41d023c38b77ec30.tar.gz patchfoo-d19e131248105a3639e7a03f41d023c38b77ec30.zip |
Prefer backlinks.read for /links
-rw-r--r-- | lib/serve.js | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/lib/serve.js b/lib/serve.js index 46b78e7..749e075 100644 --- a/lib/serve.js +++ b/lib/serve.js @@ -1834,15 +1834,30 @@ Serve.prototype.type = function (path) { Serve.prototype.links = function (path) { var q = this.query var dest = path.substr(1) - var opts = { - dest: dest, - reverse: true, - values: true, - } - if (q.rel) opts.rel = q.rel + var sbot = this.app.sbot pull( - this.app.sbot.links(opts), + q.rel || q.author || !sbot.backlinks ? (q.type ? + pull.error(new Error('Unable to satisfy query')) : + sbot.links({ + source: q.author || undefined, + dest: dest, + reverse: true, + values: true, + rel: q.rel + })) : sbot.backlinks.read({ + reverse: true, + query: [ + {$filter: { + dest: dest, + value: q.type ? { + content: { + type: q.type + } + } : {} + }} + ] + }), this.renderThread(), this.wrapMessages(), this.wrapLinks(dest), |