Files
chris48sandGitHub 791e635408 migrate examples to openApi part 15; affects [pingpong polymart spiget] (#9561)
* migrate some services from examples to openApi

also move common pingpong bits into a base class

* improve descriptions
2023-12-04 13:25:56 +00:00

37 lines
1.1 KiB
JavaScript

import Joi from 'joi'
import { BaseJsonService } from '../index.js'
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 description = `
<p><a href="https://spiget.org/">Spiget</a> holds information about SpigotMC Resources, Plugins and Authors.</p>
<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>`
class BaseSpigetService extends BaseJsonService {
async fetch({
resourceId,
schema = resourceSchema,
url = `https://api.spiget.org/v2/resources/${resourceId}`,
}) {
return this._requestJson({
schema,
url,
})
}
}
export { description, BaseSpigetService }