blob: 2218cc102c718cfe8d527d928c605d55d1d91724 [file] [log] [blame]
import useSWR from "swr";
import fetcher from "./fetcher";
export interface GithubTeamTable {
owner: string;
repo: string;
id: string;
name: string;
headers: Array<{
id: string;
name: string;
}>;
rows: Array<GithubTeamTableRow>;
}
export interface GithubTeamTableRow {
team: {
name: string;
teamOwner: string;
};
cells: { [id: string]: GithubTeamTableCell };
}
export interface GithubTeamTableCell {
url: string;
count: number;
}
export function useGithubTeamTable(
owner: string,
repo: string,
tableId: string
) {
const { data, error } = useSWR(
`/api/github/${owner}/${repo}/team-tables/${tableId}`,
fetcher,
{
refreshInterval: 60000,
}
);
return {
data: data as GithubTeamTable,
error,
loading: !error && !data,
};
}