Skip to content

Commit

Permalink
Reorganize categories code
Browse files Browse the repository at this point in the history
Seems that the list of categories belongs with the services, while the
support code belongs with base service.

Ref #2832
  • Loading branch information
paulmelnikow committed Feb 25, 2019
1 parent c7d7073 commit 2a10641
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 20 deletions.
2 changes: 1 addition & 1 deletion core/base-service/base.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
const emojic = require('emojic')
const Joi = require('joi')
const { checkErrorResponse } = require('../../lib/error-helper')
const { assertValidCategory } = require('../../services/categories')
const { assertValidCategory } = require('./categories')
const coalesceBadge = require('./coalesce-badge')
const {
NotFound,
Expand Down
18 changes: 18 additions & 0 deletions core/base-service/categories.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
'use strict'

const Joi = require('joi')
const categories = require('../../services/categories')

const isRealCategory = Joi.equal(categories.map(({ id }) => id)).required()

const isValidCategory = Joi.alternatives()
.try(isRealCategory, Joi.equal('debug', 'dynamic').required())
.required()

function assertValidCategory(category, message = undefined) {
Joi.assert(category, isValidCategory, message)
}

module.exports = {
assertValidCategory,
}
2 changes: 1 addition & 1 deletion core/base-service/loader.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

const path = require('path')
const glob = require('glob')
const { categories } = require('../../services/categories')
const categories = require('../../services/categories')
const BaseService = require('./base')
const { assertValidServiceDefinitionExport } = require('./service-definitions')

Expand Down
19 changes: 1 addition & 18 deletions services/categories.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
'use strict'

const Joi = require('joi')

const categories = [
module.exports = [
{ id: 'build', name: 'Build' },
{ id: 'coverage', name: 'Code Coverage' },
{ id: 'analysis', name: 'Analysis' },
Expand All @@ -21,18 +19,3 @@ const categories = [
{ id: 'activity', name: 'Activity' },
{ id: 'other', name: 'Other' },
]

const isRealCategory = Joi.equal(categories.map(({ id }) => id)).required()

const isValidCategory = Joi.alternatives()
.try(isRealCategory, Joi.equal('debug', 'dynamic').required())
.required()

function assertValidCategory(category, message = undefined) {
Joi.assert(category, isValidCategory, message)
}

module.exports = {
categories,
assertValidCategory,
}

0 comments on commit 2a10641

Please sign in to comment.