Files
shields/services/vaadin-directory/vaadin-directory-base.js
2019-04-21 21:10:30 +01:00

35 lines
867 B
JavaScript

'use strict'
const Joi = require('joi')
const { BaseJsonService } = require('..')
const { nonNegativeInteger } = require('../validators')
const schema = Joi.object({
ratingCount: nonNegativeInteger,
averageRating: Joi.number()
.min(0)
.required(),
latestAvailableRelease: Joi.object({
publicationDate: Joi.date().required(),
name: Joi.string().required(),
}).required(),
status: Joi.string().required(),
}).required()
class BaseVaadinDirectoryService extends BaseJsonService {
async fetch({ packageName }) {
return this._requestJson({
schema,
url: `https://vaadin.com/vaadincom/directory-service/components/search/findByUrlIdentifier`,
options: {
qs: {
projection: 'summary',
urlIdentifier: packageName,
},
},
})
}
}
module.exports = { BaseVaadinDirectoryService }