Commit cd0d1c486c123f33aa4b6ad2af0a4a5d19f3a5fb
refactor: support git-ssb-index
noffle committed on 5/20/2018, 5:36:49 PMParent: 9c3452530e296365dce5b439655e7ae70f4d1f44
Files changed
index.js | changed |
lib/users.js | changed |
index.js | ||
---|---|---|
@@ -587,18 +587,31 @@ | ||
587 | 587 … | var opts = { |
588 | 588 … | reverse: !query.forwards, |
589 | 589 … | lt: query.lt && +query.lt || Date.now(), |
590 | 590 … | gt: query.gt ? +query.gt : -Infinity, |
591 … | + values: true, | |
591 | 592 … | id: feedId |
592 | 593 … | } |
594 … | + | |
595 … | + // use git index, if present | |
596 … | + var source | |
597 … | + if (this.ssb.git) { | |
598 … | + source = pull( | |
599 … | + feedId ? this.ssb.git.author(opts) : this.ssb.git.read(opts), | |
600 … | + pull.map(function (msg) { return msg.value }), | |
601 … | + ) | |
602 … | + } else { | |
603 … | + source = feedId ? this.ssb.createUserStream(opts) : this.ssb.createFeedStream(opts) | |
604 … | + } | |
605 … | + | |
593 | 606 … | return pull( |
594 | - feedId ? this.ssb.createUserStream(opts) : this.ssb.createFeedStream(opts), | |
607 … | + source, | |
595 | 608 … | u.decryptMessages(this.ssb), |
596 | 609 … | u.readableMessages(), |
597 | 610 … | pull.filter(function (msg) { |
598 | 611 … | var c = msg.value.content |
599 | - return c.type in msgTypes | |
600 | - || (c.type == 'post' && c.repo && c.issue) | |
612 … | + var keep = c.type in msgTypes || (c.type == 'post' && c.repo && c.issue) | |
613 … | + return keep | |
601 | 614 … | }), |
602 | 615 … | typeof filter == 'function' ? filter(opts) : filter, |
603 | 616 … | pull.take(100), |
604 | 617 … | this.addAuthorName(), |
lib/users.js | ||
---|---|---|
@@ -60,22 +60,41 @@ | ||
60 | 60 … | |
61 | 61 … | U.serveUserRepos = function (req, feedId) { |
62 | 62 … | var self = this |
63 | 63 … | var title = req._t('UsersRepos', {name: '%{name}'}) |
64 | - return self.renderUserPage(req, feedId, 'repos', title, pull( | |
65 | - cat([ | |
66 | - self.web.ssb.messagesByType({ | |
67 | - type: 'git-update', | |
68 | - reverse: true | |
64 … | + | |
65 … | + // use git index, if present | |
66 … | + var source | |
67 … | + if (self.web.ssb.git) { | |
68 … | + source = pull( | |
69 … | + self.web.ssb.git.author({ | |
70 … | + lt: '9999999999999', | |
71 … | + values: true, | |
72 … | + reverse: true, | |
73 … | + id: feedId | |
69 | 74 … | }), |
70 | - self.web.ssb.messagesByType({ | |
71 | - type: 'git-repo', | |
72 | - reverse: true | |
75 … | + pull.map(function (msg) { return msg.value }), | |
76 … | + ) | |
77 … | + } else { | |
78 … | + source = pull( | |
79 … | + cat([ | |
80 … | + self.web.ssb.messagesByType({ | |
81 … | + type: 'git-update', | |
82 … | + reverse: true | |
83 … | + }), | |
84 … | + self.web.ssb.messagesByType({ | |
85 … | + type: 'git-repo', | |
86 … | + reverse: true | |
87 … | + }) | |
88 … | + ]), | |
89 … | + pull.filter(function (msg) { | |
90 … | + return msg.value.author == feedId | |
73 | 91 … | }) |
74 | - ]), | |
75 | - pull.filter(function (msg) { | |
76 | - return msg.value.author == feedId | |
77 | - }), | |
92 … | + ) | |
93 … | + } | |
94 … | + | |
95 … | + return self.renderUserPage(req, feedId, 'repos', title, pull( | |
96 … | + source, | |
78 | 97 … | pull.unique(function (msg) { |
79 | 98 … | return msg.value.content.repo || msg.key |
80 | 99 … | }), |
81 | 100 … | paramap(function (msg, cb) { |
Built with git-ssb-web