35 lines
873 B
JavaScript
35 lines
873 B
JavaScript
|
/**
|
||
|
* Copyright (c) HashiCorp, Inc.
|
||
|
* SPDX-License-Identifier: MPL-2.0
|
||
|
*/
|
||
|
|
||
|
import ApplicationSerializer from './application';
|
||
|
|
||
|
export default ApplicationSerializer.extend({
|
||
|
primaryKey: 'name',
|
||
|
|
||
|
extractLazyPaginatedData(payload) {
|
||
|
return payload.data.keys.map((key) => {
|
||
|
const model = {
|
||
|
name: key,
|
||
|
};
|
||
|
if (payload.backend) {
|
||
|
model.backend = payload.backend;
|
||
|
}
|
||
|
return model;
|
||
|
});
|
||
|
},
|
||
|
|
||
|
normalizeItems() {
|
||
|
const normalized = this._super(...arguments);
|
||
|
// most roles will only have one in this array,
|
||
|
// we'll default to the first, and keep the array on the
|
||
|
// model and show a warning if there's more than one so that
|
||
|
// they don't inadvertently save
|
||
|
if (normalized.credential_types) {
|
||
|
normalized.credential_type = normalized.credential_types[0];
|
||
|
}
|
||
|
return normalized;
|
||
|
},
|
||
|
});
|