9cc2f52bc1
* initial commit for glimmerizing search-select * fix credentials card tests * WIP/fixing manually passed in options * note for small change made in other PR * still a work in progress, but maybe fixed some tests...maybe * fix path filter config tests * remove comments * clean up merge conflicts * remove redundant subLabel * remove subLabel, change default label to form field size * split up format method * cleanup, try to keep types consistent * change logic for ss lable * remove comment * cleanup naming * fix incorrect glimmer change * refactor to allow for parent handling selected options * update jsdoc and reogranize functions * add test to path filter config * address comments, small cleanup * add test for path filter config ss * rearrange functions so git diff is easier to compare * change isNotSectionHeader to isSectionHeader * add more explicit test coverage, tidying for search select * small doc tidy * add comments, one more test! last cleanup! * fix search select tests
51 lines
1.7 KiB
JavaScript
51 lines
1.7 KiB
JavaScript
import Model, { attr } from '@ember-data/model';
|
||
import { computed } from '@ember/object';
|
||
import { apiPath } from 'vault/macros/lazy-capabilities';
|
||
import attachCapabilities from 'vault/lib/attach-capabilities';
|
||
import { expandAttributeMeta } from 'vault/utils/field-to-attrs';
|
||
|
||
const M = Model.extend({
|
||
idPrefix: 'template/',
|
||
idForNav: computed('id', 'idPrefix', function () {
|
||
let modelId = this.id || '';
|
||
return `${this.idPrefix}${modelId}`;
|
||
}),
|
||
|
||
name: attr('string', {
|
||
fieldValue: 'id',
|
||
readOnly: true,
|
||
subText:
|
||
'Templates allow Vault to determine what and how to capture the value to be transformed. This cannot be edited later.',
|
||
}),
|
||
type: attr('string', { defaultValue: 'regex' }),
|
||
pattern: attr('string', {
|
||
editType: 'regex',
|
||
subText: 'The template’s pattern defines the data format. Expressed in regex.',
|
||
}),
|
||
alphabet: attr('array', {
|
||
subText:
|
||
'Alphabet defines a set of characters (UTF-8) that is used for FPE to determine the validity of plaintext and ciphertext values. You can choose a built-in one, or create your own.',
|
||
editType: 'searchSelect',
|
||
isSectionHeader: true,
|
||
fallbackComponent: 'string-list',
|
||
label: 'Alphabet',
|
||
models: ['transform/alphabet'],
|
||
selectLimit: 1,
|
||
}),
|
||
encodeFormat: attr('string'),
|
||
decodeFormats: attr(),
|
||
backend: attr('string', { readOnly: true }),
|
||
|
||
readAttrs: computed(function () {
|
||
let keys = ['name', 'pattern', 'encodeFormat', 'decodeFormats', 'alphabet'];
|
||
return expandAttributeMeta(this, keys);
|
||
}),
|
||
writeAttrs: computed(function () {
|
||
return expandAttributeMeta(this, ['name', 'pattern', 'alphabet']);
|
||
}),
|
||
});
|
||
|
||
export default attachCapabilities(M, {
|
||
updatePath: apiPath`${'backend'}/template/${'id'}`,
|
||
});
|