convert some service classes to static props, run [date david debian debug dependabot] (#5539)

* refactor(date): convert to static props

* refactor(david): convert to static props

* refactor(debian): convert to static props

* refactor(debug): convert to static props

* refactor(dependabot): convert to static props

Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
This commit is contained in:
Caleb Cartwright
2020-09-14 16:54:22 -05:00
committed by GitHub
parent 1d649fa702
commit 0b31461af6
5 changed files with 61 additions and 113 deletions

View File

@@ -10,33 +10,21 @@ const documentation = `
` `
module.exports = class Date extends BaseService { module.exports = class Date extends BaseService {
static get category() { static category = 'other'
return 'other' static route = { base: 'date', pattern: ':timestamp([0-9]+)' }
}
static get route() { static examples = [
return { {
base: 'date', title: 'Relative date',
pattern: ':timestamp([0-9]+)', pattern: ':timestamp',
} namedParams: { timestamp: '1540814400' },
} staticPreview: this.render({ relativeDateString: '2 days ago' }),
keywords: ['time', 'countdown', 'countup', 'moment'],
documentation,
},
]
static get examples() { static defaultBadgeData = { label: 'date' }
return [
{
title: 'Relative date',
pattern: ':timestamp',
namedParams: { timestamp: '1540814400' },
staticPreview: this.render({ relativeDateString: '2 days ago' }),
keywords: ['time', 'countdown', 'countup', 'moment'],
documentation,
},
]
}
static get defaultBadgeData() {
return { label: 'date' }
}
static render({ relativeDateString }) { static render({ relativeDateString }) {
return { return {

View File

@@ -41,37 +41,28 @@ const statusMap = {
} }
module.exports = class David extends BaseJsonService { module.exports = class David extends BaseJsonService {
static get category() { static category = 'dependencies'
return 'dependencies' static route = {
base: 'david',
pattern: ':kind(dev|optional|peer)?/:user/:repo',
queryParamSchema,
} }
static get route() { static examples = [
return { {
base: 'david', title: 'David',
pattern: ':kind(dev|optional|peer)?/:user/:repo', namedParams: { user: 'expressjs', repo: 'express' },
queryParamSchema, staticPreview: this.render({ status: 'uptodate' }),
} },
} {
title: 'David (path)',
namedParams: { user: 'babel', repo: 'babel' },
queryParams: { path: 'packages/babel-core' },
staticPreview: this.render({ status: 'uptodate' }),
},
]
static get examples() { static defaultBadgeData = { label: 'dependencies' }
return [
{
title: 'David',
namedParams: { user: 'expressjs', repo: 'express' },
staticPreview: this.render({ status: 'uptodate' }),
},
{
title: 'David (path)',
namedParams: { user: 'babel', repo: 'babel' },
queryParams: { path: 'packages/babel-core' },
staticPreview: this.render({ status: 'uptodate' }),
},
]
}
static get defaultBadgeData() {
return { label: 'dependencies' }
}
static render({ status, kind }) { static render({ status, kind }) {
return { return {

View File

@@ -19,30 +19,21 @@ const schema = Joi.array()
const defaultDistribution = 'stable' const defaultDistribution = 'stable'
module.exports = class Debian extends BaseJsonService { module.exports = class Debian extends BaseJsonService {
static get category() { static category = 'version'
return 'version' static route = {
base: 'debian/v',
pattern: ':packageName/:distribution?',
} }
static get route() { static examples = [
return { {
base: 'debian/v', title: 'Debian package',
pattern: ':packageName/:distribution?', namedParams: { packageName: 'apt', distribution: 'unstable' },
} staticPreview: renderVersionBadge({ version: '1.8.0' }),
} },
]
static get examples() { static defaultBadgeData = { label: 'debian' }
return [
{
title: 'Debian package',
namedParams: { packageName: 'apt', distribution: 'unstable' },
staticPreview: renderVersionBadge({ version: '1.8.0' }),
},
]
}
static get defaultBadgeData() {
return { label: 'debian' }
}
async handle({ packageName, distribution = defaultDistribution }) { async handle({ packageName, distribution = defaultDistribution }) {
const data = await this._requestJson({ const data = await this._requestJson({

View File

@@ -6,23 +6,10 @@ const serverStartTime = new Date(new Date().toGMTString())
let bitFlip = false let bitFlip = false
module.exports = class Debug extends NonMemoryCachingBaseService { module.exports = class Debug extends NonMemoryCachingBaseService {
static get category() { static category = 'debug'
return 'debug' static route = { base: 'debug', pattern: ':variant(time|starttime|flip)' }
}
static get route() { static defaultBadgeData = { label: 'debug', color: 'blue' }
return {
base: 'debug',
pattern: ':variant(time|starttime|flip)',
}
}
static get defaultBadgeData() {
return {
label: 'debug',
color: 'blue',
}
}
async handle({ variant }) { async handle({ variant }) {
switch (variant) { switch (variant) {

View File

@@ -10,33 +10,24 @@ const schema = Joi.object({
}) })
module.exports = class DependabotSemverCompatibility extends BaseJsonService { module.exports = class DependabotSemverCompatibility extends BaseJsonService {
static get category() { static category = 'analysis'
return 'analysis' static route = {
base: 'dependabot/semver',
pattern: ':packageManager/:dependencyName',
} }
static get route() { static examples = [
return { {
base: 'dependabot/semver', title: 'Dependabot SemVer Compatibility',
pattern: ':packageManager/:dependencyName', namedParams: { packageManager: 'bundler', dependencyName: 'puma' },
} staticPreview: {
} color: 'green',
message: '98%',
static get examples() {
return [
{
title: 'Dependabot SemVer Compatibility',
namedParams: { packageManager: 'bundler', dependencyName: 'puma' },
staticPreview: {
color: 'green',
message: '98%',
},
}, },
] },
} ]
static get defaultBadgeData() { static defaultBadgeData = { label: 'semver stability' }
return { label: 'semver stability' }
}
_getQuery({ packageManager, dependencyName }) { _getQuery({ packageManager, dependencyName }) {
return { return {