fix(route): github comments on ghost (#12065)

This commit is contained in:
Tony 2023-03-08 03:28:49 -11:00 committed by GitHub
parent e287440507
commit fdb1e21508
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 16 deletions

View File

@ -43,7 +43,7 @@ module.exports = async (ctx) => {
});
const timeline = timelineResponse.data;
let items = [
const items = [
{
title: `${issue.user.login} created ${user}/${repo}: ${typeDict[type].title} #${issue.number}`,
description: issue.body ? md.render(issue.body) : null,
@ -54,39 +54,40 @@ module.exports = async (ctx) => {
];
timeline.forEach((item) => {
const actor = item.actor?.login ?? item.user?.login ?? 'ghost';
switch (item.event) {
case 'closed':
items.push({
title: `${item.actor.login} ${item.event} ${user}/${repo}: ${typeDict[type].title} #${issue.number}`,
author: item.actor.login,
title: `${actor} ${item.event} ${user}/${repo}: ${typeDict[type].title} #${issue.number}`,
author: actor,
pubDate: parseDate(item.created_at),
link: item.url,
});
break;
case 'commented':
items.push({
title: `${item.actor.login} ${item.event} on ${user}/${repo}: ${typeDict[type].title} #${issue.number}`,
title: `${actor} ${item.event} on ${user}/${repo}: ${typeDict[type].title} #${issue.number}`,
description: md.render(item.body),
author: item.actor.login,
author: actor,
pubDate: parseDate(item.created_at),
link: item.html_url,
});
break;
case 'cross-referenced':
items.push({
title: `${item.actor.login} ${item.event} on ${user}/${repo}: ${typeDict[type].title} #${issue.number}`,
description: `${item.actor.login} mentioned this issue in <a href='${item.source.issue.html_url}'><b>${item.source.issue.title}</b> #${item.source.issue.number}</a>`,
author: item.actor.login,
title: `${actor} ${item.event} on ${user}/${repo}: ${typeDict[type].title} #${issue.number}`,
description: `${actor} mentioned this issue in <a href='${item.source.issue.html_url}'><b>${item.source.issue.title}</b> #${item.source.issue.number}</a>`,
author: actor,
pubDate: parseDate(item.created_at),
guid: `${item.actor.login} ${item.event} on ${user}/${repo}: ${typeDict[type].title} #${issue.number} on ${item.created_at}`,
link: `${item.actor.login} ${item.event} on ${user}/${repo}: ${typeDict[type].title} #${issue.number} on ${item.created_at}`,
guid: `${actor} ${item.event} on ${user}/${repo}: ${typeDict[type].title} #${issue.number} on ${item.created_at}`,
link: `${actor} ${item.event} on ${user}/${repo}: ${typeDict[type].title} #${issue.number} on ${item.created_at}`,
});
break;
case 'renamed':
items.push({
title: `${item.actor.login} ${item.event} on ${user}/${repo}: ${typeDict[type].title} #${issue.number}`,
description: `${item.actor.login} changed the title <del>${item.rename.from}</del> ${item.rename.to}`,
author: item.actor.login,
title: `${actor} ${item.event} on ${user}/${repo}: ${typeDict[type].title} #${issue.number}`,
description: `${actor} changed the title <del>${item.rename.from}</del> ${item.rename.to}`,
author: actor,
pubDate: parseDate(item.created_at),
link: item.url,
});
@ -105,8 +106,6 @@ module.exports = async (ctx) => {
}
});
items = await Promise.all(items.map((item) => ctx.cache.tryGet(item.link, () => item)));
ctx.state.data = {
title: `${user}/${repo}: ${typeDict[type].title} #${number} - ${issue.title}`,
link: issue.html_url,

View File

@ -1,6 +1,6 @@
module.exports = {
'/branches/:user/:repo': ['max-arnold'],
'/comments/:user/:repo/:type/:number': ['TonyRL'],
'/comments/:user/:repo/:number': ['TonyRL'],
'/contributors/:user/:repo/:order?/:anon?': ['zoenglinghou'],
'/file/:user/:repo/:branch/:filepath+': ['zengxs'],
'/issue/:user/:repo/:state?/:labels?': ['HenryQW', 'AndreyMZ'],