Files
shields/services/puppetforge/puppetforge-module-version.service.js
Paul Melnikow 1cdcaabd38 Unify order of properties and methods in services (#3353)
I find having these in a consistent order makes the services much faster to read.

This is the order I’ve generally been using:

1. Category
2. Route
3. Examples
4. Rendering
5. Other helpers (`fetch()`, `transform()`)
6. `handle()`
2019-04-23 21:36:04 -04:00

40 lines
905 B
JavaScript

'use strict'
const { renderVersionBadge } = require('../version')
const { BasePuppetForgeModulesService } = require('./puppetforge-base')
module.exports = class PuppetforgeModuleVersion extends BasePuppetForgeModulesService {
static get category() {
return 'version'
}
static get route() {
return {
base: 'puppetforge/v',
pattern: ':user/:moduleName',
}
}
static get examples() {
return [
{
title: 'Puppet Forge version',
namedParams: {
user: 'vStone',
moduleName: 'percona',
},
staticPreview: renderVersionBadge({ version: '1.3.3' }),
},
]
}
static get defaultBadgeData() {
return { label: 'puppetforge' }
}
async handle({ user, moduleName }) {
const data = await this.fetch({ user, moduleName })
return renderVersionBadge({ version: data.current_release.version })
}
}