mirror of
https://github.com/ansible/awx.git
synced 2026-01-11 18:09:57 -03:30
Refactor fetch of credential types
Refactor fetch of credential types
This commit is contained in:
parent
dc2a392f4c
commit
afb8be4f0b
@ -12,6 +12,20 @@ import {
|
||||
import useRequest from 'hooks/useRequest';
|
||||
import CredentialForm from '../shared/CredentialForm';
|
||||
|
||||
const fetchCredentialTypes = async (pageNo = 1, credentialTypes = []) => {
|
||||
const { data } = await CredentialTypesAPI.read({
|
||||
page_size: 200,
|
||||
page: pageNo,
|
||||
});
|
||||
if (data.next) {
|
||||
return fetchCredentialTypes(
|
||||
pageNo + 1,
|
||||
credentialTypes.concat(data.results)
|
||||
);
|
||||
}
|
||||
return credentialTypes.concat(data.results);
|
||||
};
|
||||
|
||||
function CredentialAdd({ me }) {
|
||||
const history = useHistory();
|
||||
|
||||
@ -76,6 +90,7 @@ function CredentialAdd({ me }) {
|
||||
history.push(`/credentials/${credentialId}/details`);
|
||||
}
|
||||
}, [credentialId, history]);
|
||||
|
||||
const {
|
||||
isLoading,
|
||||
error,
|
||||
@ -83,23 +98,7 @@ function CredentialAdd({ me }) {
|
||||
result,
|
||||
} = useRequest(
|
||||
useCallback(async () => {
|
||||
const { data } = await CredentialTypesAPI.read({ page_size: 200 });
|
||||
const credTypes = data.results;
|
||||
if (data.next && data.next.includes('page=2')) {
|
||||
let pageNo = 2;
|
||||
/* eslint-disable no-await-in-loop */
|
||||
do {
|
||||
const {
|
||||
data: { results },
|
||||
} = await CredentialTypesAPI.read({
|
||||
page_size: 200,
|
||||
page: pageNo,
|
||||
});
|
||||
credTypes.push(...results);
|
||||
pageNo++;
|
||||
} while (data.count !== credTypes.length);
|
||||
} /* eslint-enable no-await-in-loop */
|
||||
|
||||
const credTypes = await fetchCredentialTypes();
|
||||
const creds = credTypes.reduce((credentialTypesMap, credentialType) => {
|
||||
credentialTypesMap[credentialType.id] = credentialType;
|
||||
return credentialTypesMap;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user