Ports the Nexus service to the new service model. Some related/relevant conversation in #2347 (and closes #2347). Also adds support for authentication which resolves #1699.
31 lines
639 B
JavaScript
31 lines
639 B
JavaScript
'use strict'
|
|
|
|
const Joi = require('joi').extend(require('joi-extension-semver'))
|
|
|
|
module.exports = {
|
|
nonNegativeInteger: Joi.number()
|
|
.integer()
|
|
.min(0)
|
|
.required(),
|
|
|
|
anyInteger: Joi.number()
|
|
.integer()
|
|
.required(),
|
|
|
|
semver: Joi.semver()
|
|
.valid()
|
|
.required(),
|
|
|
|
semverRange: Joi.semver()
|
|
.validRange()
|
|
.required(),
|
|
|
|
optionalDottedVersionNClausesWithOptionalSuffix: Joi.string().regex(
|
|
/^\d+(\.\d+)*(-.*)?$/
|
|
),
|
|
|
|
// TODO This accepts URLs with query strings and fragments, which for some
|
|
// purposes should be rejected.
|
|
optionalUrl: Joi.string().uri({ scheme: ['http', 'https'] }),
|
|
}
|