open-vault/ui/app/models/namespace.js

25 lines
625 B
JavaScript

/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import Model, { attr } from '@ember-data/model';
import { withExpandedAttributes } from 'vault/decorators/model-expanded-attributes';
@withExpandedAttributes()
export default class NamespaceModel extends Model {
@attr('string', {
validationAttr: 'pathIsValid',
invalidMessage: 'You have entered and invalid path please only include letters, numbers, -, ., and _.',
})
path;
get pathIsValid() {
return this.path && this.path.match(/^[\w\d-.]+$/g);
}
get fields() {
return ['path'].map((f) => this.allByKey[f]);
}
}