31 lines
881 B
JavaScript
31 lines
881 B
JavaScript
/**
|
|
* Copyright (c) HashiCorp, Inc.
|
|
* SPDX-License-Identifier: MPL-2.0
|
|
*/
|
|
|
|
import { parseCertificate } from 'vault/utils/parse-pki-cert';
|
|
import ApplicationSerializer from '../../application';
|
|
|
|
export default class PkiCertificateBaseSerializer extends ApplicationSerializer {
|
|
primaryKey = 'serial_number';
|
|
|
|
attrs = {
|
|
role: { serialize: false },
|
|
};
|
|
|
|
normalizeResponse(store, primaryModelClass, payload, id, requestType) {
|
|
if (payload.data.certificate) {
|
|
// Parse certificate back from the API and add to payload
|
|
const parsedCert = parseCertificate(payload.data.certificate);
|
|
return super.normalizeResponse(
|
|
store,
|
|
primaryModelClass,
|
|
{ ...payload, parsed_certificate: parsedCert, common_name: parsedCert.common_name },
|
|
id,
|
|
requestType
|
|
);
|
|
}
|
|
return super.normalizeResponse(...arguments);
|
|
}
|
|
}
|