diff --git a/services/drone/drone-build.service.js b/services/drone/drone-build.service.js index b89fe14a50bff627caff56ca9e851ff5b712fac8..4d52f6549a8576f98f27162b6850c04c43f343d7 100644 --- a/services/drone/drone-build.service.js +++ b/services/drone/drone-build.service.js @@ -16,72 +16,58 @@ const queryParamSchema = Joi.object({ }).required() module.exports = class DroneBuild extends BaseJsonService { - static get category() { - return 'build' + static category = 'build' + static route = { + base: 'drone/build', + pattern: ':user/:repo/:branch*', + queryParamSchema, } - static get route() { - return { - queryParamSchema, - base: 'drone/build', - pattern: ':user/:repo/:branch*', - } - } - - static get auth() { - return { passKey: 'drone_token', serviceKey: 'drone' } - } - - static get examples() { - return [ - { - title: 'Drone (cloud)', - pattern: ':user/:repo', - namedParams: { - user: 'drone', - repo: 'drone', - }, - staticPreview: renderBuildStatusBadge({ status: 'success' }), + static auth = { passKey: 'drone_token', serviceKey: 'drone' } + static examples = [ + { + title: 'Drone (cloud)', + pattern: ':user/:repo', + namedParams: { + user: 'drone', + repo: 'drone', }, - { - title: 'Drone (cloud) with branch', - pattern: ':user/:repo/:branch', - namedParams: { - user: 'drone', - repo: 'drone', - branch: 'master', - }, - staticPreview: renderBuildStatusBadge({ status: 'success' }), + staticPreview: renderBuildStatusBadge({ status: 'success' }), + }, + { + title: 'Drone (cloud) with branch', + pattern: ':user/:repo/:branch', + namedParams: { + user: 'drone', + repo: 'drone', + branch: 'master', }, - { - title: 'Drone (self-hosted)', - pattern: ':user/:repo', - queryParams: { server: 'https://drone.shields.io' }, - namedParams: { - user: 'badges', - repo: 'shields', - }, - staticPreview: renderBuildStatusBadge({ status: 'success' }), + staticPreview: renderBuildStatusBadge({ status: 'success' }), + }, + { + title: 'Drone (self-hosted)', + pattern: ':user/:repo', + queryParams: { server: 'https://drone.shields.io' }, + namedParams: { + user: 'badges', + repo: 'shields', }, - { - title: 'Drone (self-hosted) with branch', - pattern: ':user/:repo/:branch', - queryParams: { server: 'https://drone.shields.io' }, - namedParams: { - user: 'badges', - repo: 'shields', - branch: 'feat/awesome-thing', - }, - staticPreview: renderBuildStatusBadge({ status: 'success' }), + staticPreview: renderBuildStatusBadge({ status: 'success' }), + }, + { + title: 'Drone (self-hosted) with branch', + pattern: ':user/:repo/:branch', + queryParams: { server: 'https://drone.shields.io' }, + namedParams: { + user: 'badges', + repo: 'shields', + branch: 'feat/awesome-thing', }, - ] - } + staticPreview: renderBuildStatusBadge({ status: 'success' }), + }, + ] - static get defaultBadgeData() { - return { - label: 'build', - } - } + static defaultBadgeData = { label: 'build' } async handle({ user, repo, branch }, { server = 'https://cloud.drone.io' }) { const json = await this._requestJson( diff --git a/services/dub/dub-download.service.js b/services/dub/dub-download.service.js index 1fff5668273d356a2219b3f376182c471ee01196..218d6116bd6ef8c9695ff622bfef4f461dd23097 100644 --- a/services/dub/dub-download.service.js +++ b/services/dub/dub-download.service.js @@ -35,56 +35,47 @@ const intervalMap = { } module.exports = class DubDownloads extends BaseJsonService { - static get category() { - return 'downloads' + static category = 'downloads' + static route = { + base: 'dub', + pattern: ':interval(dd|dw|dm|dt)/:packageName/:version*', } - static get route() { - return { - base: 'dub', - pattern: ':interval(dd|dw|dm|dt)/:packageName/:version*', - } - } - - static get examples() { - return [ - { - title: 'DUB', - namedParams: { interval: 'dm', packageName: 'vibe-d' }, - staticPreview: this.render({ interval: 'dm', downloadCount: 5000 }), + static examples = [ + { + title: 'DUB', + namedParams: { interval: 'dm', packageName: 'vibe-d' }, + staticPreview: this.render({ interval: 'dm', downloadCount: 5000 }), + }, + { + title: 'DUB (version)', + namedParams: { + interval: 'dm', + packageName: 'vibe-d', + version: '0.8.4', }, - { - title: 'DUB (version)', - namedParams: { - interval: 'dm', - packageName: 'vibe-d', - version: '0.8.4', - }, - staticPreview: this.render({ - interval: 'dm', - version: '0.8.4', - downloadCount: 100, - }), + staticPreview: this.render({ + interval: 'dm', + version: '0.8.4', + downloadCount: 100, + }), + }, + { + title: 'DUB (latest)', + namedParams: { + interval: 'dm', + packageName: 'vibe-d', + version: 'latest', }, - { - title: 'DUB (latest)', - namedParams: { - interval: 'dm', - packageName: 'vibe-d', - version: 'latest', - }, - staticPreview: this.render({ - interval: 'dm', - version: 'latest', - downloadCount: 100, - }), - }, - ] - } + staticPreview: this.render({ + interval: 'dm', + version: 'latest', + downloadCount: 100, + }), + }, + ] - static get defaultBadgeData() { - return { label: 'downloads' } - } + static defaultBadgeData = { label: 'downloads' } static render({ interval, version, downloadCount }) { const { messageSuffix } = intervalMap[interval] diff --git a/services/dub/dub-license.service.js b/services/dub/dub-license.service.js index 3a68c843f73a85a5eec6d9d8e2d27c44f4e8be87..6574f8f239eca2c94259a816cd4e3c18277252f8 100644 --- a/services/dub/dub-license.service.js +++ b/services/dub/dub-license.service.js @@ -9,30 +9,17 @@ const schema = Joi.object({ }) module.exports = class DubLicense extends BaseJsonService { - static get category() { - return 'license' - } - - static get route() { - return { - base: 'dub/l', - pattern: ':packageName', - } - } - - static get examples() { - return [ - { - title: 'DUB', - namedParams: { packageName: 'vibe-d' }, - staticPreview: renderLicenseBadge({ licenses: ['MIT'] }), - }, - ] - } - - static get defaultBadgeData() { - return { label: 'license' } - } + static category = 'license' + static route = { base: 'dub/l', pattern: ':packageName' } + static examples = [ + { + title: 'DUB', + namedParams: { packageName: 'vibe-d' }, + staticPreview: renderLicenseBadge({ licenses: ['MIT'] }), + }, + ] + + static defaultBadgeData = { label: 'license' } async fetch({ packageName }) { return this._requestJson({ diff --git a/services/dub/dub-version.service.js b/services/dub/dub-version.service.js index 33cbb90454a1fe4cccd165a679bb8bca3b4975c3..83931f4ea5175d0c7ff747f1ecb2a7f6a3a68c76 100644 --- a/services/dub/dub-version.service.js +++ b/services/dub/dub-version.service.js @@ -7,30 +7,17 @@ const { BaseJsonService } = require('..') const schema = Joi.string().required() module.exports = class DubVersion extends BaseJsonService { - static get category() { - return 'version' - } - - static get route() { - return { - base: 'dub/v', - pattern: ':packageName', - } - } - - static get examples() { - return [ - { - title: 'DUB', - namedParams: { packageName: 'vibe-d' }, - staticPreview: renderVersionBadge({ version: 'v0.8.4' }), - }, - ] - } - - static get defaultBadgeData() { - return { label: 'dub' } - } + static category = 'version' + static route = { base: 'dub/v', pattern: ':packageName' } + static examples = [ + { + title: 'DUB', + namedParams: { packageName: 'vibe-d' }, + staticPreview: renderVersionBadge({ version: 'v0.8.4' }), + }, + ] + + static defaultBadgeData = { label: 'dub' } async fetch({ packageName }) { return this._requestJson({ diff --git a/services/dynamic/dynamic-json.service.js b/services/dynamic/dynamic-json.service.js index 2d9ced69e96be6a2e6962a4bb80e465c0eef8ac8..337fe66d2ded018d57d3939c089df92c7d9fdff3 100644 --- a/services/dynamic/dynamic-json.service.js +++ b/services/dynamic/dynamic-json.service.js @@ -6,13 +6,8 @@ const { createRoute } = require('./dynamic-helpers') const jsonPath = require('./json-path') module.exports = class DynamicJson extends jsonPath(BaseJsonService) { - static get enabledMetrics() { - return [MetricNames.SERVICE_RESPONSE_SIZE] - } - - static get route() { - return createRoute('json') - } + static enabledMetrics = [MetricNames.SERVICE_RESPONSE_SIZE] + static route = createRoute('json') async fetch({ schema, url, errorMessages }) { return this._requestJson({ diff --git a/services/dynamic/dynamic-xml.service.js b/services/dynamic/dynamic-xml.service.js index 2867f1566c3489484e1979e8f152c331e280e9c6..9c14c59649740949cc45c7ae8c4090bb813796d6 100644 --- a/services/dynamic/dynamic-xml.service.js +++ b/services/dynamic/dynamic-xml.service.js @@ -14,23 +14,10 @@ const { createRoute } = require('./dynamic-helpers') // JSON parser and write the queries in jsonpath instead. Then eventually // deprecate the old version. module.exports = class DynamicXml extends BaseService { - static get category() { - return 'dynamic' - } - - static get enabledMetrics() { - return [MetricNames.SERVICE_RESPONSE_SIZE] - } - - static get route() { - return createRoute('xml') - } - - static get defaultBadgeData() { - return { - label: 'custom badge', - } - } + static category = 'dynamic' + static enabledMetrics = [MetricNames.SERVICE_RESPONSE_SIZE] + static route = createRoute('xml') + static defaultBadgeData = { label: 'custom badge' } transform({ pathExpression, buffer }) { // e.g. //book[2]/@id diff --git a/services/dynamic/dynamic-yaml.service.js b/services/dynamic/dynamic-yaml.service.js index 9e96ada0a2a1d435d1bc52ba1d123c84c6a0e5e4..a77471708606b6bb122f606caefc8503a4354229 100644 --- a/services/dynamic/dynamic-yaml.service.js +++ b/services/dynamic/dynamic-yaml.service.js @@ -6,13 +6,8 @@ const { createRoute } = require('./dynamic-helpers') const jsonPath = require('./json-path') module.exports = class DynamicYaml extends jsonPath(BaseYamlService) { - static get enabledMetrics() { - return [MetricNames.SERVICE_RESPONSE_SIZE] - } - - static get route() { - return createRoute('yaml') - } + static enabledMetrics = [MetricNames.SERVICE_RESPONSE_SIZE] + static route = createRoute('yaml') async fetch({ schema, url, errorMessages }) { return this._requestYaml({ diff --git a/services/dynamic/json-path.js b/services/dynamic/json-path.js index 2a5a3652d215207c923b75b614188b0cf2b9bd3e..2ef0af988a753d78be8e9d848850cd0cfbc0a83a 100644 --- a/services/dynamic/json-path.js +++ b/services/dynamic/json-path.js @@ -17,15 +17,8 @@ const { InvalidParameter, InvalidResponse } = require('..') */ module.exports = superclass => class extends superclass { - static get category() { - return 'dynamic' - } - - static get defaultBadgeData() { - return { - label: 'custom badge', - } - } + static category = 'dynamic' + static defaultBadgeData = { label: 'custom badge' } /** * Request data from an upstream API, transform it to JSON and validate against a schema