Files
shields/services/curseforge/curseforge-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
809 B
JavaScript

import { pathParams } from '../index.js'
import { renderDownloadsBadge } from '../downloads.js'
import BaseCurseForgeService, { description } from './curseforge-base.js'
export default class CurseForgeDownloads extends BaseCurseForgeService {
static category = 'downloads'
static route = {
base: 'curseforge/dt',
pattern: ':projectId',
}
static openApi = {
'/curseforge/dt/{projectId}': {
get: {
summary: 'CurseForge Downloads',
description,
parameters: pathParams({
name: 'projectId',
example: '238222',
}),
},
},
}
static defaultBadgeData = { label: 'downloads' }
async handle({ projectId }) {
const { downloads } = await this.fetchMod({ projectId })
return renderDownloadsBadge({ downloads })
}
}