From 614daef08f0c6831894fef4e4cac23816d3953f3 Mon Sep 17 00:00:00 2001 From: Caleb Cartwright <calebcartwright@users.noreply.github.com> Date: Tue, 15 Sep 2020 06:46:27 -0500 Subject: [PATCH] convert some service classes to static props, run [EclipseMarketplace Ecologi ElmPackage Endpoint] (#5544) * refactor(eclipsemarketplace): convert to static props * refactor(ecologi): convert to static props * refactor(elmpackage): convert to static props * refactor(endpoint): convert to static props --- .../eclipse-marketplace-downloads.service.js | 31 +++++----------- .../eclipse-marketplace-favorites.service.js | 32 ++++++---------- .../eclipse-marketplace-license.service.js | 32 ++++++---------- .../eclipse-marketplace-update.service.js | 32 ++++++---------- .../eclipse-marketplace-version.service.js | 32 ++++++---------- services/ecologi/ecologi-carbon.service.js | 35 ++++++------------ services/ecologi/ecologi-trees.service.js | 35 ++++++------------ services/elm-package/elm-package.service.js | 37 ++++++------------- services/endpoint/endpoint.service.js | 26 ++++--------- 9 files changed, 94 insertions(+), 198 deletions(-) diff --git a/services/eclipse-marketplace/eclipse-marketplace-downloads.service.js b/services/eclipse-marketplace/eclipse-marketplace-downloads.service.js index abd347f20c..44dab4edce 100644 --- a/services/eclipse-marketplace/eclipse-marketplace-downloads.service.js +++ b/services/eclipse-marketplace/eclipse-marketplace-downloads.service.js @@ -38,27 +38,16 @@ function DownloadsForInterval(interval) { }[interval] return class EclipseMarketplaceDownloads extends EclipseMarketplaceBase { - static get name() { - return name - } - - static get category() { - return 'downloads' - } - - static get route() { - return this.buildRoute(base) - } - - static get examples() { - return [ - { - title: 'Eclipse Marketplace', - namedParams: { name: 'notepad4e' }, - staticPreview: this.render({ downloads: 30000 }), - }, - ] - } + static name = name + static category = 'downloads' + static route = this.buildRoute(base) + static examples = [ + { + title: 'Eclipse Marketplace', + namedParams: { name: 'notepad4e' }, + staticPreview: this.render({ downloads: 30000 }), + }, + ] static render({ downloads }) { return { diff --git a/services/eclipse-marketplace/eclipse-marketplace-favorites.service.js b/services/eclipse-marketplace/eclipse-marketplace-favorites.service.js index 7406cf51fb..50643104ac 100644 --- a/services/eclipse-marketplace/eclipse-marketplace-favorites.service.js +++ b/services/eclipse-marketplace/eclipse-marketplace-favorites.service.js @@ -13,27 +13,17 @@ const favoritesResponseSchema = Joi.object({ }).required() module.exports = class EclipseMarketplaceFavorites extends EclipseMarketplaceBase { - static get category() { - return 'other' - } - - static get route() { - return this.buildRoute('eclipse-marketplace/favorites') - } - - static get examples() { - return [ - { - title: 'Eclipse Marketplace', - namedParams: { name: 'notepad4e' }, - staticPreview: this.render({ favorited: 55 }), - }, - ] - } - - static get defaultBadgeData() { - return { label: 'favorites' } - } + static category = 'other' + static route = this.buildRoute('eclipse-marketplace/favorites') + static examples = [ + { + title: 'Eclipse Marketplace', + namedParams: { name: 'notepad4e' }, + staticPreview: this.render({ favorited: 55 }), + }, + ] + + static defaultBadgeData = { label: 'favorites' } static render({ favorited }) { return { diff --git a/services/eclipse-marketplace/eclipse-marketplace-license.service.js b/services/eclipse-marketplace/eclipse-marketplace-license.service.js index 7d38698746..0dd25fa0d6 100644 --- a/services/eclipse-marketplace/eclipse-marketplace-license.service.js +++ b/services/eclipse-marketplace/eclipse-marketplace-license.service.js @@ -12,27 +12,17 @@ const licenseResponseSchema = Joi.object({ }).required() module.exports = class EclipseMarketplaceLicense extends EclipseMarketplaceBase { - static get category() { - return 'license' - } - - static get route() { - return this.buildRoute('eclipse-marketplace/l') - } - - static get examples() { - return [ - { - title: 'Eclipse Marketplace', - namedParams: { name: 'notepad4e' }, - staticPreview: this.render({ license: 'GPL' }), - }, - ] - } - - static get defaultBadgeData() { - return { label: 'license' } - } + static category = 'license' + static route = this.buildRoute('eclipse-marketplace/l') + static examples = [ + { + title: 'Eclipse Marketplace', + namedParams: { name: 'notepad4e' }, + staticPreview: this.render({ license: 'GPL' }), + }, + ] + + static defaultBadgeData = { label: 'license' } static render({ license }) { if (license === '') { diff --git a/services/eclipse-marketplace/eclipse-marketplace-update.service.js b/services/eclipse-marketplace/eclipse-marketplace-update.service.js index 2fa6e32553..ca32c4ae73 100644 --- a/services/eclipse-marketplace/eclipse-marketplace-update.service.js +++ b/services/eclipse-marketplace/eclipse-marketplace-update.service.js @@ -15,27 +15,17 @@ const updateResponseSchema = Joi.object({ }).required() module.exports = class EclipseMarketplaceUpdate extends EclipseMarketplaceBase { - static get category() { - return 'activity' - } - - static get route() { - return this.buildRoute('eclipse-marketplace/last-update') - } - - static get examples() { - return [ - { - title: 'Eclipse Marketplace', - namedParams: { name: 'notepad4e' }, - staticPreview: this.render({ date: new Date().getTime() }), - }, - ] - } - - static get defaultBadgeData() { - return { label: 'updated' } - } + static category = 'activity' + static route = this.buildRoute('eclipse-marketplace/last-update') + static examples = [ + { + title: 'Eclipse Marketplace', + namedParams: { name: 'notepad4e' }, + staticPreview: this.render({ date: new Date().getTime() }), + }, + ] + + static defaultBadgeData = { label: 'updated' } static render({ date }) { return { diff --git a/services/eclipse-marketplace/eclipse-marketplace-version.service.js b/services/eclipse-marketplace/eclipse-marketplace-version.service.js index 5d35707b6d..12081dfe6f 100644 --- a/services/eclipse-marketplace/eclipse-marketplace-version.service.js +++ b/services/eclipse-marketplace/eclipse-marketplace-version.service.js @@ -13,27 +13,17 @@ const versionResponseSchema = Joi.object({ }).required() module.exports = class EclipseMarketplaceVersion extends EclipseMarketplaceBase { - static get category() { - return 'version' - } - - static get route() { - return this.buildRoute('eclipse-marketplace/v') - } - - static get examples() { - return [ - { - title: 'Eclipse Marketplace', - namedParams: { name: 'notepad4e' }, - staticPreview: this.render({ version: '1.0.1' }), - }, - ] - } - - static get defaultBadgeData() { - return { label: 'eclipse marketplace' } - } + static category = 'version' + static route = this.buildRoute('eclipse-marketplace/v') + static examples = [ + { + title: 'Eclipse Marketplace', + namedParams: { name: 'notepad4e' }, + staticPreview: this.render({ version: '1.0.1' }), + }, + ] + + static defaultBadgeData = { label: 'eclipse marketplace' } static render({ version }) { return renderVersionBadge({ version }) diff --git a/services/ecologi/ecologi-carbon.service.js b/services/ecologi/ecologi-carbon.service.js index 141d45ff90..d35e52f1ef 100644 --- a/services/ecologi/ecologi-carbon.service.js +++ b/services/ecologi/ecologi-carbon.service.js @@ -10,30 +10,17 @@ const apiSchema = Joi.object({ }).required() module.exports = class EcologiCarbonOffset extends BaseJsonService { - static get category() { - return 'other' - } - - static get route() { - return { - base: 'ecologi/carbon', - pattern: ':username', - } - } - - static get examples() { - return [ - { - title: 'Ecologi (Carbon Offset)', - namedParams: { username: 'ecologi' }, - staticPreview: this.render({ count: 15.05 }), - }, - ] - } - - static get defaultBadgeData() { - return { label: 'carbon offset' } - } + static category = 'other' + static route = { base: 'ecologi/carbon', pattern: ':username' } + static examples = [ + { + title: 'Ecologi (Carbon Offset)', + namedParams: { username: 'ecologi' }, + staticPreview: this.render({ count: 15.05 }), + }, + ] + + static defaultBadgeData = { label: 'carbon offset' } static render({ count }) { const tonnes = metric(count) diff --git a/services/ecologi/ecologi-trees.service.js b/services/ecologi/ecologi-trees.service.js index 2b361844c8..e707d5d9bf 100644 --- a/services/ecologi/ecologi-trees.service.js +++ b/services/ecologi/ecologi-trees.service.js @@ -11,30 +11,17 @@ const apiSchema = Joi.object({ }).required() module.exports = class EcologiTrees extends BaseJsonService { - static get category() { - return 'other' - } - - static get route() { - return { - base: 'ecologi/trees', - pattern: ':username', - } - } - - static get examples() { - return [ - { - title: 'Ecologi (Trees)', - namedParams: { username: 'ecologi' }, - staticPreview: this.render({ count: 250 }), - }, - ] - } - - static get defaultBadgeData() { - return { label: 'trees' } - } + static category = 'other' + static route = { base: 'ecologi/trees', pattern: ':username' } + static examples = [ + { + title: 'Ecologi (Trees)', + namedParams: { username: 'ecologi' }, + staticPreview: this.render({ count: 250 }), + }, + ] + + static defaultBadgeData = { label: 'trees' } static render({ count }) { return { message: metric(count), color: floorCount(count, 10, 50, 100) } diff --git a/services/elm-package/elm-package.service.js b/services/elm-package/elm-package.service.js index 63918121a8..3dad7d3853 100644 --- a/services/elm-package/elm-package.service.js +++ b/services/elm-package/elm-package.service.js @@ -8,32 +8,17 @@ const { BaseJsonService } = require('..') const schema = Joi.object({ version: semver }).required() module.exports = class ElmPackage extends BaseJsonService { - static get category() { - return 'version' - } - - static get route() { - return { - base: 'elm-package/v', - pattern: ':user/:packageName', - } - } - - static get examples() { - return [ - { - title: 'Elm package', - namedParams: { user: 'elm', packageName: 'core' }, - staticPreview: this.render({ version: '1.0.2' }), - }, - ] - } - - static get defaultBadgeData() { - return { - label: 'elm package', - } - } + static category = 'version' + static route = { base: 'elm-package/v', pattern: ':user/:packageName' } + static examples = [ + { + title: 'Elm package', + namedParams: { user: 'elm', packageName: 'core' }, + staticPreview: this.render({ version: '1.0.2' }), + }, + ] + + static defaultBadgeData = { label: 'elm package' } static render(props) { return renderVersionBadge(props) diff --git a/services/endpoint/endpoint.service.js b/services/endpoint/endpoint.service.js index 77afe2d673..a6eaf0dbfd 100644 --- a/services/endpoint/endpoint.service.js +++ b/services/endpoint/endpoint.service.js @@ -14,27 +14,15 @@ const queryParamSchema = Joi.object({ }).required() module.exports = class Endpoint extends BaseJsonService { - static get category() { - return 'dynamic' + static category = 'dynamic' + static route = { + base: 'endpoint', + pattern: '', + queryParamSchema, } - static get route() { - return { - base: 'endpoint', - pattern: '', - queryParamSchema, - } - } - - static get _cacheLength() { - return 300 - } - - static get defaultBadgeData() { - return { - label: 'custom badge', - } - } + static _cacheLength = 300 + static defaultBadgeData = { label: 'custom badge' } static render({ isError, -- GitLab