Files
shields/services/conda/conda-platform.service.js
chris48s bd288db3a4 migrate examples to openApi part 18; affects [conda feedz gem openvsx readthedocs] github (#9607)
* migrate some services from examples to openApi

* fixup which --> variant param rename

* improve descriptions

* migrate gem version

* improve descriptions for ruby gems

* standardise on packageName for all conda badges
2023-12-23 18:19:15 +00:00

46 lines
1.1 KiB
JavaScript

import { pathParams } from '../index.js'
import BaseCondaService from './conda-base.js'
export default class CondaPlatform extends BaseCondaService {
static category = 'platform-support'
static route = {
base: 'conda',
pattern: ':variant(p|pn)/:channel/:packageName',
}
static openApi = {
'/conda/{variant}/{channel}/{packageName}': {
get: {
summary: 'Conda Platform',
parameters: pathParams(
{
name: 'variant',
example: 'pn',
schema: { type: 'string', enum: this.getEnum('variant') },
},
{
name: 'channel',
example: 'conda-forge',
},
{
name: 'packageName',
example: 'python',
},
),
},
},
}
static render({ variant, platforms }) {
return {
label: variant === 'pn' ? 'platform' : 'conda|platform',
message: platforms.join(' | '),
}
}
async handle({ variant, channel, packageName }) {
const json = await this.fetch({ channel, packageName })
return this.constructor.render({ variant, platforms: json.conda_platforms })
}
}