Add [galaxytoolshed] Activity (#8164)
* feat(galaxytoolshed): add release-date * fix(services): galaxytoolshed, rename "release" to "created" * fix(services): galaxytoolshed, neutral color Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
This commit is contained in:
41
services/galaxytoolshed/galaxytoolshed-activity.service.js
Normal file
41
services/galaxytoolshed/galaxytoolshed-activity.service.js
Normal file
@@ -0,0 +1,41 @@
|
||||
import { formatDate } from '../text-formatters.js'
|
||||
import BaseGalaxyToolshedService from './galaxytoolshed-base.js'
|
||||
|
||||
export default class GalaxyToolshedCreatedDate extends BaseGalaxyToolshedService {
|
||||
static category = 'activity'
|
||||
static route = {
|
||||
base: 'galaxytoolshed/created-date',
|
||||
pattern: ':repository/:owner',
|
||||
}
|
||||
|
||||
static examples = [
|
||||
{
|
||||
title: 'Galaxy Toolshed (created date)',
|
||||
namedParams: {
|
||||
repository: 'sra_tools',
|
||||
owner: 'iuc',
|
||||
},
|
||||
staticPreview: this.render({
|
||||
date: this.render({ date: '2022-01-01' }),
|
||||
}),
|
||||
},
|
||||
]
|
||||
|
||||
static defaultBadgeData = {
|
||||
label: 'created date',
|
||||
color: 'blue',
|
||||
}
|
||||
|
||||
static render({ date }) {
|
||||
return { message: formatDate(date) }
|
||||
}
|
||||
|
||||
async handle({ repository, owner }) {
|
||||
const response = await this.fetchLastOrderedInstallableRevisionsSchema({
|
||||
repository,
|
||||
owner,
|
||||
})
|
||||
const { create_time: date } = response[0]
|
||||
return this.constructor.render({ date })
|
||||
}
|
||||
}
|
||||
23
services/galaxytoolshed/galaxytoolshed-activity.tester.js
Normal file
23
services/galaxytoolshed/galaxytoolshed-activity.tester.js
Normal file
@@ -0,0 +1,23 @@
|
||||
import { isFormattedDate } from '../test-validators.js'
|
||||
import { createServiceTester } from '../tester.js'
|
||||
|
||||
export const t = await createServiceTester()
|
||||
|
||||
t.create('Created Date')
|
||||
.get('/sra_tools/iuc.json')
|
||||
.expectBadge({ label: 'created date', message: isFormattedDate })
|
||||
|
||||
t.create('Created Date - repository not found')
|
||||
.get('/sra_tool/iuc.json')
|
||||
.expectBadge({ label: 'created date', message: 'not found' })
|
||||
|
||||
t.create('Created Date - owner not found')
|
||||
.get('/sra_tools/iu.json')
|
||||
.expectBadge({ label: 'created date', message: 'not found' })
|
||||
|
||||
t.create('Created Date - changesetRevision not found')
|
||||
.get('/bioqc/badilla.json')
|
||||
.expectBadge({
|
||||
label: 'created date',
|
||||
message: 'changesetRevision not found',
|
||||
})
|
||||
@@ -9,6 +9,7 @@ const orderedInstallableRevisionsSchema = Joi.array()
|
||||
const repositoryRevisionInstallInfoSchema = Joi.array()
|
||||
.ordered(
|
||||
Joi.object({
|
||||
create_time: Joi.date().required(),
|
||||
times_downloaded: nonNegativeInteger,
|
||||
}).required()
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user