24 lines
691 B
JavaScript
24 lines
691 B
JavaScript
/**
|
|
* Copyright (c) HashiCorp, Inc.
|
|
* SPDX-License-Identifier: MPL-2.0
|
|
*/
|
|
|
|
import ApplicationSerializer from './application';
|
|
|
|
export default ApplicationSerializer.extend({
|
|
primaryKey: 'name',
|
|
|
|
normalizePolicies(payload) {
|
|
const data = payload.data.keys ? payload.data.keys.map((name) => ({ name })) : payload.data;
|
|
return data;
|
|
},
|
|
|
|
normalizeResponse(store, primaryModelClass, payload, id, requestType) {
|
|
const nullResponses = ['deleteRecord'];
|
|
const normalizedPayload = nullResponses.includes(requestType)
|
|
? { name: id }
|
|
: this.normalizePolicies(payload);
|
|
return this._super(store, primaryModelClass, normalizedPayload, id, requestType);
|
|
},
|
|
});
|