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