Files
shields/services/spiget/spiget-latest-version.service.js
Paul Melnikow 951aa0f9ea Tweak [spiget] badges (#2989)
1. Move tested server version to platform support, tweak description
2. Make version label consistent with others
3. Avoid setting category or defaultBadgeData in abstract base class
2019-02-13 21:06:31 +00:00

54 lines
1.1 KiB
JavaScript

'use strict'
const Joi = require('joi')
const { renderVersionBadge } = require('../../lib/version')
const { BaseSpigetService, documentation, keywords } = require('./spiget-base')
const versionSchema = Joi.object({
downloads: Joi.number().required(),
name: Joi.string().required(),
}).required()
module.exports = class SpigetLatestVersion extends BaseSpigetService {
static get route() {
return {
base: 'spiget/version',
pattern: ':resourceId',
}
}
static get defaultBadgeData() {
return {
label: 'spiget',
color: 'blue',
}
}
async handle({ resourceId }) {
const { name } = await this.fetch({
resourceId,
schema: versionSchema,
url: `https://api.spiget.org/v2/resources/${resourceId}/versions/latest`,
})
return renderVersionBadge({ version: name })
}
static get category() {
return 'version'
}
static get examples() {
return [
{
title: 'Spiget Version',
namedParams: {
resourceId: '9089',
},
staticPreview: renderVersionBadge({ version: 2.1 }),
documentation,
keywords,
},
]
}
}