in s3-artifact-storage-ui/src/hooks/useCfDistributions.tsx [43:79]
await safeLoad(async () => {
setPublicKeyOptions([]);
const { publicKeys, errors } = await loadPublicKeyList(config, data);
if (publicKeys) {
const selDD = data[FormFields.CLOUD_FRONT_DOWNLOAD_DISTRIBUTION];
const selUD = data[FormFields.CLOUD_FRONT_UPLOAD_DISTRIBUTION];
const publicKeysData = publicKeys
// if Download Distribution is selected, filter keys that are compatible with it
.filter((pk) =>
selDD
? (selDD as DistributionItem).publicKeys?.find(
(it) => it === pk.id
) !== undefined
: true
)
// if Upload Distribution is selected, filter keys that are compatible with it
.filter((pk) =>
selUD
? (selUD as DistributionItem).publicKeys?.find(
(it) => it === pk.id
) !== undefined
: true
)
.reduce((acc, cur) => {
acc.push({ label: cur.name, key: cur.id });
return acc;
}, [] as Option[]);
setPublicKeyOptions(publicKeysData);
return publicKeysData;
}
if (errors) {
setResponseErrors(errors);
}
return [];
}),