Vectrum
Sign In
18 lines · 578 Bytes · TypeScript
import "server-only";
import { listLabels, listMembers } from "./issues";
import type { Repo } from "./repo";

/** Everything <TrackerProvider> needs to know about a repository and the viewer. */
export async function trackerProps(repo: Repo) {
  const [members, labels] = await Promise.all([listMembers(repo.id, repo.ownerId), listLabels(repo.id)]);
  return {
    owner: repo.owner,
    name: repo.name,
    base: repo.base,
    members,
    labels,
    viewerId: repo.viewer?.id ?? null,
    canTriage: repo.canWrite,
    today: new Date().toISOString().slice(0, 10),
  };
}