Files
shields/services/ore/ore-downloads.service.js
chris48s 5d1ddbc3fe migrate examples to openApi part 13; affects [curseforge date fedora hsts modrinth ore] (#9499)
* migrate some services from examples to openApi

* improve and de-dupe service titles

* improve ore description
2023-12-04 12:53:21 +00:00

33 lines
766 B
JavaScript

import { pathParams } from '../index.js'
import { renderDownloadsBadge } from '../downloads.js'
import { BaseOreService, description } from './ore-base.js'
export default class OreDownloads extends BaseOreService {
static category = 'downloads'
static route = {
base: 'ore/dt',
pattern: ':pluginId',
}
static openApi = {
'/ore/dt/{pluginId}': {
get: {
summary: 'Ore Downloads',
description,
parameters: pathParams({
name: 'pluginId',
example: 'nucleus',
}),
},
},
}
static defaultBadgeData = { label: 'downloads' }
async handle({ pluginId }) {
const { stats } = await this.fetch({ pluginId })
return renderDownloadsBadge({ downloads: stats.downloads })
}
}