open-vault/ui/app/models/pki-config.js
2018-04-03 09:16:57 -05:00

70 lines
1.5 KiB
JavaScript

import Ember from 'ember';
import DS from 'ember-data';
const { attr } = DS;
const { computed, get } = Ember;
export default DS.Model.extend({
backend: attr('string'),
der: attr(),
pem: attr('string'),
caChain: attr('string'),
attrList(keys) {
const attrMap = get(this.constructor, 'attributes');
keys = keys.map(key => {
let meta = attrMap.get(key);
return {
type: meta.type,
name: meta.name,
options: meta.options,
};
});
return keys;
},
//urls
urlsAttrs: computed(function() {
let keys = ['issuingCertificates', 'crlDistributionPoints', 'ocspServers'];
return this.attrList(keys);
}),
issuingCertificates: attr({
editType: 'stringArray',
}),
crlDistributionPoints: attr({
label: 'CRL Distribution Points',
editType: 'stringArray',
}),
ocspServers: attr({
label: 'OCSP Servers',
editType: 'stringArray',
}),
//tidy
tidyAttrs: computed(function() {
let keys = ['tidyCertStore', 'tidyRevocationList', 'safetyBuffer'];
return this.attrList(keys);
}),
tidyCertStore: attr('boolean', {
defaultValue: false,
label: 'Tidy the Certificate Store',
}),
tidyRevocationList: attr('boolean', {
defaultValue: false,
label: 'Tidy the Revocation List (CRL)',
}),
safetyBuffer: attr({
defaultValue: '72h',
editType: 'ttl',
}),
crlAttrs: computed(function() {
let keys = ['expiry'];
return this.attrList(keys);
}),
//crl
expiry: attr({
defaultValue: '72h',
editType: 'ttl',
}),
});