mirror of
https://github.com/prowler-cloud/prowler.git
synced 2026-07-18 10:01:56 +00:00
33031d2c96
Co-authored-by: Pablo Lara <larabjj@gmail.com>
41 lines
957 B
TypeScript
41 lines
957 B
TypeScript
import {
|
|
ProviderAccountProps,
|
|
ProviderProps,
|
|
ProvidersApiResponse,
|
|
} from "@/types/providers";
|
|
|
|
export const extractProviderUIDs = (
|
|
providersData: ProvidersApiResponse,
|
|
): string[] => {
|
|
if (!providersData?.data) return [];
|
|
|
|
return Array.from(
|
|
new Set(
|
|
providersData.data
|
|
.map((provider: ProviderProps) => provider.attributes?.uid)
|
|
.filter(Boolean),
|
|
),
|
|
);
|
|
};
|
|
|
|
export const createProviderDetailsMapping = (
|
|
providerUIDs: string[],
|
|
providersData: ProvidersApiResponse,
|
|
): Array<{ [uid: string]: ProviderAccountProps }> => {
|
|
if (!providersData?.data) return [];
|
|
|
|
return providerUIDs.map((uid) => {
|
|
const provider = providersData.data.find(
|
|
(p: { attributes: { uid: string } }) => p.attributes?.uid === uid,
|
|
);
|
|
|
|
return {
|
|
[uid]: {
|
|
provider: provider?.attributes?.provider || "aws",
|
|
uid: uid,
|
|
alias: provider?.attributes?.alias ?? null,
|
|
},
|
|
};
|
|
});
|
|
};
|