Files
shields/services/visual-studio-app-center/visual-studio-app-center-releases-osversion.service.js
N Balgopal Patro 85e3772de9 Converted Service Classes to Static Fields, run [visualstudio w3c] (#5642)
* Completed For visual-studio-app-center

* Completed For visual-studio-marketplace

* Completed For w3c

Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2020-10-03 02:19:48 +00:00

54 lines
1.2 KiB
JavaScript

'use strict'
const Joi = require('joi')
const {
BaseVisualStudioAppCenterService,
keywords,
documentation,
} = require('./visual-studio-app-center-base')
const schema = Joi.object({
app_os: Joi.string().required(),
min_os: Joi.string().required(),
}).required()
module.exports = class VisualStudioAppCenterReleasesOSVersion extends BaseVisualStudioAppCenterService {
static category = 'version'
static route = {
base: 'visual-studio-app-center/releases/osver',
pattern: ':owner/:app/:token',
}
static examples = [
{
title: 'Visual Studio App Center (Minimum) OS Version',
namedParams: {
owner: 'jct',
app: 'my-amazing-app',
token: 'ac70cv...',
},
staticPreview: this.render({ min_os: '4.1', app_os: 'Android' }),
keywords,
documentation,
},
]
static defaultBadgeData = {
label: 'min version',
color: 'blue',
}
static render({ app_os, min_os }) {
return {
label: `${app_os.toLowerCase()}`,
message: `${min_os}+`,
}
}
async handle({ owner, app, token }) {
const { app_os, min_os } = await this.fetch({ owner, app, token, schema })
return this.constructor.render({ app_os, min_os })
}
}