Files
shields/services/spiget/spiget-base.js
chris48s 13d75e0607 upgrade to prettier 2 (#5051)
* arrowParens: avoid
* remove trailingComma setting
2020-05-05 21:07:43 +01:00

40 lines
1.0 KiB
JavaScript

'use strict'
const Joi = require('@hapi/joi')
const { BaseJsonService } = require('..')
const resourceSchema = Joi.object({
downloads: Joi.number().required(),
file: Joi.object({
type: Joi.string().required(),
size: Joi.number().required(),
sizeUnit: Joi.string().allow('').required(),
}).required(),
testedVersions: Joi.array(),
rating: Joi.object({
count: Joi.number().required(),
average: Joi.number().required(),
}).required(),
}).required()
const documentation = `
<p>You can find your resource ID in the url for your resource page.</p>
<p>Example: <code>https://www.spigotmc.org/resources/essentialsx.9089/</code> - Here the Resource ID is 9089.</p>`
const keywords = ['spigot', 'spigotmc']
class BaseSpigetService extends BaseJsonService {
async fetch({
resourceId,
schema = resourceSchema,
url = `https://api.spiget.org/v2/resources/${resourceId}`,
}) {
return this._requestJson({
schema,
url,
})
}
}
module.exports = { keywords, documentation, BaseSpigetService }