Completed [twitch twitter ubuntu uptimerobot vaadindirectory] from static classes to props (#5660)

Co-authored-by: Jabbar Memon <jabbar@zoop.one>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
This commit is contained in:
Jabbar Memon
2020-10-04 02:56:33 +05:30
committed by GitHub
parent c18bc82347
commit 4d712e8386
12 changed files with 174 additions and 245 deletions

View File

@@ -17,13 +17,11 @@ function sleep(ms) {
// Abstract class for Twitch badges
module.exports = class TwitchBase extends BaseJsonService {
static get auth() {
return {
userKey: 'twitch_client_id',
passKey: 'twitch_client_secret',
authorizedOrigins: ['https://id.twitch.tv'],
isRequired: true,
}
static auth = {
userKey: 'twitch_client_id',
passKey: 'twitch_client_secret',
authorizedOrigins: ['https://id.twitch.tv'],
isRequired: true,
}
constructor(...args) {

View File

@@ -8,39 +8,28 @@ const helixSchema = Joi.object({
})
module.exports = class TwitchStatus extends TwitchBase {
static get category() {
return 'activity'
static category = 'activity'
static route = {
base: 'twitch/status',
pattern: ':user',
}
static get route() {
return {
base: 'twitch/status',
pattern: ':user',
}
}
static get examples() {
const preview = this.render({
user: 'andyonthewings',
isLive: true,
})
// link[] is not allowed in examples
delete preview.link
return [
{
title: 'Twitch Status',
namedParams: {
user: 'andyonthewings',
},
staticPreview: preview,
static examples = [
{
title: 'Twitch Status',
namedParams: {
user: 'andyonthewings',
},
]
}
staticPreview: {
message: 'live',
color: 'red',
},
},
]
static get defaultBadgeData() {
return {
label: 'twitch',
}
static defaultBadgeData = {
label: 'twitch',
}
static render({ user, isLive }) {

View File

@@ -10,41 +10,33 @@ const queryParamSchema = Joi.object({
}).required()
class TwitterUrl extends BaseService {
static get category() {
return 'social'
static category = 'social'
static route = {
base: 'twitter',
pattern: 'url',
queryParamSchema,
}
static get route() {
return {
base: 'twitter',
pattern: 'url',
queryParamSchema,
}
}
static get examples() {
return [
{
title: 'Twitter URL',
namedParams: {},
queryParams: {
url: 'https://shields.io',
},
// hard code the static preview
// because link[] is not allowed in examples
staticPreview: {
label: 'Tweet',
message: '',
style: 'social',
},
static examples = [
{
title: 'Twitter URL',
namedParams: {},
queryParams: {
url: 'https://shields.io',
},
]
}
// hard code the static preview
// because link[] is not allowed in examples
staticPreview: {
label: 'Tweet',
message: '',
style: 'social',
},
},
]
static get defaultBadgeData() {
return {
namedLogo: 'twitter',
}
static defaultBadgeData = {
namedLogo: 'twitter',
}
async handle(_routeParams, { url }) {

View File

@@ -15,29 +15,23 @@ const schema = Joi.object({
}).required()
module.exports = class Ubuntu extends BaseJsonService {
static get category() {
return 'version'
static category = 'version'
static route = {
base: 'ubuntu/v',
pattern: ':packageName/:series?',
}
static get route() {
return {
base: 'ubuntu/v',
pattern: ':packageName/:series?',
}
}
static examples = [
{
title: 'Ubuntu package',
namedParams: { series: 'bionic', packageName: 'ubuntu-wallpapers' },
staticPreview: renderVersionBadge({ version: '18.04.1-0ubuntu1' }),
},
]
static get examples() {
return [
{
title: 'Ubuntu package',
namedParams: { series: 'bionic', packageName: 'ubuntu-wallpapers' },
staticPreview: renderVersionBadge({ version: '18.04.1-0ubuntu1' }),
},
]
}
static get defaultBadgeData() {
return { label: 'ubuntu' }
static defaultBadgeData = {
label: 'ubuntu',
}
async fetch({ packageName, series }) {

View File

@@ -39,9 +39,7 @@ const singleMonitorResponseWithUptime = Joi.alternatives(
)
module.exports = class UptimeRobotBase extends BaseJsonService {
static get category() {
return 'monitoring'
}
static category = 'monitoring'
static ensureIsMonitorApiKey(value) {
// A monitor API key must start with "m".

View File

@@ -6,38 +6,32 @@ const UptimeRobotBase = require('./uptimerobot-base')
const ratioColor = colorScale([10, 30, 50, 70])
module.exports = class UptimeRobotRatio extends UptimeRobotBase {
static get route() {
return {
base: 'uptimerobot/ratio',
pattern: ':numberOfDays(\\d+)?/:monitorSpecificKey',
}
static route = {
base: 'uptimerobot/ratio',
pattern: ':numberOfDays(\\d+)?/:monitorSpecificKey',
}
static get examples() {
return [
{
title: 'Uptime Robot ratio (30 days)',
pattern: ':monitorSpecificKey',
namedParams: {
monitorSpecificKey: 'm778918918-3e92c097147760ee39d02d36',
},
staticPreview: this.render({ ratio: 100 }),
static examples = [
{
title: 'Uptime Robot ratio (30 days)',
pattern: ':monitorSpecificKey',
namedParams: {
monitorSpecificKey: 'm778918918-3e92c097147760ee39d02d36',
},
{
title: 'Uptime Robot ratio (7 days)',
pattern: '7/:monitorSpecificKey',
namedParams: {
monitorSpecificKey: 'm778918918-3e92c097147760ee39d02d36',
},
staticPreview: this.render({ ratio: 100 }),
staticPreview: this.render({ ratio: 100 }),
},
{
title: 'Uptime Robot ratio (7 days)',
pattern: '7/:monitorSpecificKey',
namedParams: {
monitorSpecificKey: 'm778918918-3e92c097147760ee39d02d36',
},
]
}
staticPreview: this.render({ ratio: 100 }),
},
]
static get defaultBadgeData() {
return {
label: 'uptime',
}
static defaultBadgeData = {
label: 'uptime',
}
static render({ ratio }) {

View File

@@ -3,29 +3,23 @@
const UptimeRobotBase = require('./uptimerobot-base')
module.exports = class UptimeRobotStatus extends UptimeRobotBase {
static get route() {
return {
base: 'uptimerobot/status',
pattern: ':monitorSpecificKey',
}
static route = {
base: 'uptimerobot/status',
pattern: ':monitorSpecificKey',
}
static get examples() {
return [
{
title: 'Uptime Robot status',
namedParams: {
monitorSpecificKey: 'm778918918-3e92c097147760ee39d02d36',
},
staticPreview: this.render({ status: 2 }),
static examples = [
{
title: 'Uptime Robot status',
namedParams: {
monitorSpecificKey: 'm778918918-3e92c097147760ee39d02d36',
},
]
}
staticPreview: this.render({ status: 2 }),
},
]
static get defaultBadgeData() {
return {
label: 'status',
}
static defaultBadgeData = {
label: 'status',
}
static render({ status }) {

View File

@@ -5,31 +5,25 @@ const { floorCount: floorCountColor } = require('../color-formatters')
const { BaseVaadinDirectoryService } = require('./vaadin-directory-base')
module.exports = class VaadinDirectoryRatingCount extends BaseVaadinDirectoryService {
static get category() {
return 'rating'
static category = 'rating'
static route = {
base: 'vaadin-directory',
pattern: ':alias(rc|rating-count)/:packageName',
}
static get route() {
return {
base: 'vaadin-directory',
pattern: ':alias(rc|rating-count)/:packageName',
}
}
static examples = [
{
title: 'Vaadin Directory',
pattern: 'rating-count/:packageName',
namedParams: { packageName: 'vaadinvaadin-grid' },
staticPreview: this.render({ ratingCount: 6 }),
keywords: ['vaadin-directory', 'rating-count'],
},
]
static get examples() {
return [
{
title: 'Vaadin Directory',
pattern: 'rating-count/:packageName',
namedParams: { packageName: 'vaadinvaadin-grid' },
staticPreview: this.render({ ratingCount: 6 }),
keywords: ['vaadin-directory', 'rating-count'],
},
]
}
static get defaultBadgeData() {
return { label: 'rating count' }
static defaultBadgeData = {
label: 'rating count',
}
static render({ ratingCount }) {

View File

@@ -5,31 +5,25 @@ const { floorCount: floorCountColor } = require('../color-formatters')
const { BaseVaadinDirectoryService } = require('./vaadin-directory-base')
module.exports = class VaadinDirectoryRating extends BaseVaadinDirectoryService {
static get category() {
return 'rating'
static category = 'rating'
static route = {
base: 'vaadin-directory',
pattern: ':format(star|stars|rating)/:packageName',
}
static get route() {
return {
base: 'vaadin-directory',
pattern: ':format(star|stars|rating)/:packageName',
}
}
static examples = [
{
title: 'Vaadin Directory',
pattern: ':format(stars|rating)/:packageName',
namedParams: { format: 'rating', packageName: 'vaadinvaadin-grid' },
staticPreview: this.render({ format: 'rating', score: 4.75 }),
keywords: ['vaadin-directory'],
},
]
static get examples() {
return [
{
title: 'Vaadin Directory',
pattern: ':format(stars|rating)/:packageName',
namedParams: { format: 'rating', packageName: 'vaadinvaadin-grid' },
staticPreview: this.render({ format: 'rating', score: 4.75 }),
keywords: ['vaadin-directory'],
},
]
}
static get defaultBadgeData() {
return { label: 'rating' }
static defaultBadgeData = {
label: 'rating',
}
static render({ format, score }) {

View File

@@ -5,31 +5,25 @@ const { age: ageColor } = require('../color-formatters')
const { BaseVaadinDirectoryService } = require('./vaadin-directory-base')
module.exports = class VaadinDirectoryReleaseDate extends BaseVaadinDirectoryService {
static get category() {
return 'activity'
static category = 'activity'
static route = {
base: 'vaadin-directory',
pattern: ':alias(rd|release-date)/:packageName',
}
static get route() {
return {
base: 'vaadin-directory',
pattern: ':alias(rd|release-date)/:packageName',
}
}
static examples = [
{
title: 'Vaadin Directory',
pattern: 'release-date/:packageName',
namedParams: { packageName: 'vaadinvaadin-grid' },
staticPreview: this.render({ date: '2018-12-12' }),
keywords: ['vaadin-directory', 'date', 'latest release date'],
},
]
static get examples() {
return [
{
title: 'Vaadin Directory',
pattern: 'release-date/:packageName',
namedParams: { packageName: 'vaadinvaadin-grid' },
staticPreview: this.render({ date: '2018-12-12' }),
keywords: ['vaadin-directory', 'date', 'latest release date'],
},
]
}
static get defaultBadgeData() {
return { label: 'latest release date' }
static defaultBadgeData = {
label: 'latest release date',
}
static render({ date }) {

View File

@@ -3,30 +3,24 @@
const { BaseVaadinDirectoryService } = require('./vaadin-directory-base')
module.exports = class VaadinDirectoryStatus extends BaseVaadinDirectoryService {
static get category() {
return 'other'
static category = 'other'
static route = {
base: 'vaadin-directory/status',
pattern: ':packageName',
}
static get route() {
return {
base: 'vaadin-directory/status',
pattern: ':packageName',
}
}
static examples = [
{
title: 'Vaadin Directory',
namedParams: { packageName: 'vaadinvaadin-grid' },
staticPreview: this.render({ status: 'published' }),
keywords: ['vaadin-directory', 'status'],
},
]
static get examples() {
return [
{
title: 'Vaadin Directory',
namedParams: { packageName: 'vaadinvaadin-grid' },
staticPreview: this.render({ status: 'published' }),
keywords: ['vaadin-directory', 'status'],
},
]
}
static get defaultBadgeData() {
return { label: 'vaadin directory' }
static defaultBadgeData = {
label: 'vaadin directory',
}
static render({ status }) {

View File

@@ -4,31 +4,25 @@ const { renderVersionBadge } = require('../version')
const { BaseVaadinDirectoryService } = require('./vaadin-directory-base')
module.exports = class VaadinDirectoryVersion extends BaseVaadinDirectoryService {
static get category() {
return 'version'
static category = 'version'
static route = {
base: 'vaadin-directory',
pattern: ':alias(v|version)/:packageName',
}
static get route() {
return {
base: 'vaadin-directory',
pattern: ':alias(v|version)/:packageName',
}
}
static examples = [
{
title: 'Vaadin Directory',
pattern: 'v/:packageName',
namedParams: { packageName: 'vaadinvaadin-grid' },
staticPreview: renderVersionBadge({ version: 'v5.3.0-alpha4' }),
keywords: ['vaadin-directory', 'latest'],
},
]
static get examples() {
return [
{
title: 'Vaadin Directory',
pattern: 'v/:packageName',
namedParams: { packageName: 'vaadinvaadin-grid' },
staticPreview: renderVersionBadge({ version: 'v5.3.0-alpha4' }),
keywords: ['vaadin-directory', 'latest'],
},
]
}
static get defaultBadgeData() {
return { label: 'vaadin directory' }
static defaultBadgeData = {
label: 'vaadin directory',
}
async handle({ alias, packageName }) {