Files
shields/services/opencollective/opencollective-sponsors.service.js
2023-12-06 18:42:06 +00:00

34 lines
804 B
JavaScript

import { pathParams } from '../index.js'
import OpencollectiveBase from './opencollective-base.js'
export default class OpencollectiveSponsors extends OpencollectiveBase {
static route = this.buildRoute('sponsors')
static openApi = {
'/opencollective/sponsors/{collective}': {
get: {
summary: 'Open Collective sponsors',
parameters: pathParams({
name: 'collective',
example: 'shields',
}),
},
},
}
static _cacheLength = 3600
static defaultBadgeData = {
label: 'sponsors',
}
async handle({ collective }) {
const data = await this.fetchCollectiveInfo({
collective,
accountType: ['ORGANIZATION'],
})
const backersCount = this.getCount(data)
return this.constructor.render(backersCount)
}
}