Files
prowler/ui/lib/provider-helpers.ts
T
2025-05-23 13:42:35 +02:00

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,
},
};
});
};