import type { PipelineSummary } from "#lib/components/repo/types.ts";
export type CommitStatuses = Record<string, PipelineSummary>;
export const fetchCommitStatuses = async (
ownerHandle: string,
repoName: string,
shas: string[],
signal?: AbortSignal
): Promise<CommitStatuses> => {
const params = new URLSearchParams();
for (const sha of new Set(shas)) params.append("sha", sha);
const path = `/${encodeURIComponent(ownerHandle)}/${encodeURIComponent(repoName)}/commit-statuses?${params}`;
const response = await fetch(path, { signal });
if (!response.ok) throw new Error(`commit statuses returned ${response.status}`);
return response.json() as Promise<CommitStatuses>;
};