Request all types for multicred lookup

This commit is contained in:
Jake McDermott 2020-03-04 09:08:46 -05:00
parent d812972d3c
commit deaf2028ad
No known key found for this signature in database
GPG Key ID: 0E56ED990CDFCB4F

View File

@ -18,9 +18,24 @@ const QS_CONFIG = getQSConfig('credentials', {
});
async function loadCredentialTypes() {
const { data } = await CredentialTypesAPI.read();
const acceptableTypes = ['machine', 'cloud', 'net', 'ssh', 'vault'];
return data.results.filter(type => acceptableTypes.includes(type.kind));
const pageSize = 200;
const acceptableKinds = ['machine', 'cloud', 'net', 'ssh', 'vault'];
// The number of credential types a user can have is unlimited. In practice, it is unlikely for
// users to have more than a page at the maximum request size.
const {
data: { next, results },
} = await CredentialTypesAPI.read({ page_size: pageSize });
let nextResults = [];
if (next) {
const { data } = await CredentialTypesAPI.read({
page_size: pageSize,
page: 2,
});
nextResults = data.results;
}
return results
.concat(nextResults)
.filter(type => acceptableKinds.includes(type.kind));
}
async function loadCredentials(params, selectedCredentialTypeId) {