open-vault/ui/app/serializers/secret-v2-version.js

29 lines
900 B
JavaScript
Raw Normal View History

import { get } from '@ember/object';
import ApplicationSerializer from './application';
export default ApplicationSerializer.extend({
secretDataPath: 'data.data',
normalizeItems(payload) {
let path = this.secretDataPath;
// move response that is the contents of the secret from the dataPath
// to `secret_data` so it will be `secretData` in the model
payload.secret_data = get(payload, path);
payload = Object.assign({}, payload, payload.data.metadata);
delete payload.data;
payload.path = payload.id;
// return the payload if it's expecting a single object or wrap
// it as an array if not
return payload;
},
serialize(snapshot) {
2018-10-15 14:40:18 +00:00
let secret = snapshot.belongsTo('secret');
let version = secret.attr('currentVersion') || 0;
2018-10-15 14:40:18 +00:00
return {
data: snapshot.attr('secretData'),
2018-10-15 14:40:18 +00:00
options: {
cas: version,
},
};
},
});