c98130cc08
* ui: Add the most basic workspace root in /ui * We already have a LICENSE file in the repository root * Change directory path in build scripts ui-v2 -> ui * Make yarn install flags configurable from elsewhere * Minimal workspace root makefile * Call the new docker specific target * Update yarn in the docker build image * Reconfigure the netlify target and move to the higher makefile * Move ui-v2 -> ui/packages/consul-ui * Change repo root to refleect new folder structure * Temporarily don't hoist consul-api-double * Fixup CI configuration * Fixup lint errors * Fixup Netlify target
30 lines
1,020 B
JavaScript
30 lines
1,020 B
JavaScript
import {
|
|
validateInclusion,
|
|
validatePresence,
|
|
validateFormat,
|
|
} from 'ember-changeset-validations/validators';
|
|
import validateSometimes from 'ember-changeset-conditional-validations/validators/sometimes';
|
|
|
|
const name = 'intention-permission';
|
|
export default schema => ({
|
|
'*': validateSometimes([validatePresence(true)], function() {
|
|
const methods = this.get('HTTP.Methods') || [];
|
|
const headers = this.get('HTTP.Header') || [];
|
|
const pathType = this.get('HTTP.PathType') || 'NoPath';
|
|
const path = this.get('HTTP.Path') || '';
|
|
const isValid = [
|
|
methods.length !== 0,
|
|
headers.length !== 0,
|
|
pathType !== 'NoPath' && path !== '',
|
|
].includes(true);
|
|
return !isValid;
|
|
}),
|
|
Action: [validateInclusion({ in: schema[name].Action.allowedValues })],
|
|
HTTP: {
|
|
Path: validateSometimes([validateFormat({ regex: /^\// })], function() {
|
|
const pathType = this.get('HTTP.PathType');
|
|
return typeof pathType !== 'undefined' && pathType !== 'NoPath';
|
|
}),
|
|
},
|
|
});
|