mirror of
https://github.com/rustfs/console.git
synced 2026-09-21 06:06:37 +08:00
24 lines
645 B
TypeScript
24 lines
645 B
TypeScript
export interface BucketPolicyStatusResponse {
|
|
PolicyStatus?: {
|
|
IsPublic?: boolean
|
|
}
|
|
}
|
|
|
|
export async function loadBucketPolicyStatuses(
|
|
bucketNames: string[],
|
|
getBucketPolicyStatus: (bucketName: string) => Promise<unknown>,
|
|
): Promise<Record<string, boolean | undefined>> {
|
|
const results = await Promise.all(
|
|
bucketNames.map(async (name) => {
|
|
try {
|
|
const response = (await getBucketPolicyStatus(name)) as BucketPolicyStatusResponse
|
|
return [name, response.PolicyStatus?.IsPublic] as const
|
|
} catch {
|
|
return [name, undefined] as const
|
|
}
|
|
}),
|
|
)
|
|
|
|
return Object.fromEntries(results)
|
|
}
|