open-consul/ui/packages/consul-ui/app/models/intention-permission-http.js
John Cowen c98130cc08
ui: Move to Workspaced Structure (#8994)
* 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
2020-10-21 15:23:16 +01:00

30 lines
913 B
JavaScript

import attr from 'ember-data/attr';
import { computed } from '@ember/object';
import { or } from '@ember/object/computed';
import Fragment from 'ember-data-model-fragments/fragment';
import { fragmentArray, array } from 'ember-data-model-fragments/attributes';
export const schema = {
PathType: {
allowedValues: ['PathPrefix', 'PathExact', 'PathRegex'],
},
Methods: {
allowedValues: ['GET', 'HEAD', 'POST', 'PUT', 'DELETE', 'CONNECT', 'OPTIONS', 'TRACE', 'PATCH'],
},
};
export default Fragment.extend({
PathExact: attr('string'),
PathPrefix: attr('string'),
PathRegex: attr('string'),
Header: fragmentArray('intention-permission-http-header'),
Methods: array('string'),
Path: or(...schema.PathType.allowedValues),
PathType: computed(...schema.PathType.allowedValues, function() {
return schema.PathType.allowedValues.find(prop => typeof this[prop] === 'string');
}),
});