Skip to content
Snippets Groups Projects
Unverified Commit c0087cae authored by Paula Barszcz's avatar Paula Barszcz Committed by GitHub
Browse files

Add [GitHubLastCommit] by committer badge (#8537)


* add github last commit by committer badge

* modify queryParam

Co-authored-by: default avatarrepo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
parent a2513578
No related branches found
No related tags found
No related merge requests found
......@@ -15,14 +15,28 @@ const schema = Joi.array()
author: Joi.object({
date: Joi.string().required(),
}).required(),
committer: Joi.object({
date: Joi.string().required(),
}).required(),
}).required(),
}).required()
)
.required()
const queryParamSchema = Joi.object({
display_timestamp: Joi.string()
.valid('author', 'committer')
.default('author'),
}).required()
export default class GithubLastCommit extends GithubAuthV3Service {
static category = 'activity'
static route = { base: 'github/last-commit', pattern: ':user/:repo/:branch*' }
static route = {
base: 'github/last-commit',
pattern: ':user/:repo/:branch*',
queryParamSchema,
}
static examples = [
{
title: 'GitHub last commit',
......@@ -45,6 +59,17 @@ export default class GithubLastCommit extends GithubAuthV3Service {
staticPreview: this.render({ commitDate: '2013-07-31T20:01:41Z' }),
...commonExampleAttrs,
},
{
title: 'GitHub last commit (by committer)',
pattern: ':user/:repo',
namedParams: {
user: 'google',
repo: 'skia',
},
queryParams: { display_timestamp: 'committer' },
staticPreview: this.render({ commitDate: '2022-10-15T20:01:41Z' }),
...commonExampleAttrs,
},
]
static defaultBadgeData = { label: 'last commit' }
......@@ -65,8 +90,11 @@ export default class GithubLastCommit extends GithubAuthV3Service {
})
}
async handle({ user, repo, branch }) {
async handle({ user, repo, branch }, queryParams) {
const body = await this.fetch({ user, repo, branch })
return this.constructor.render({ commitDate: body[0].commit.author.date })
return this.constructor.render({
commitDate: body[0].commit[queryParams.display_timestamp].date,
})
}
}
......@@ -14,6 +14,10 @@ t.create('last commit (on branch)')
.get('/badges/badgr.co/shielded.json')
.expectBadge({ label: 'last commit', message: 'july 2013' })
t.create('last commit (by committer)')
.get('/badges/badgr.co/shielded.json?display_timestamp=committer')
.expectBadge({ label: 'last commit', message: 'july 2013' })
t.create('last commit (repo not found)')
.get('/badges/helmets.json')
.expectBadge({ label: 'last commit', message: 'repo not found' })
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment