import { createServerFn } from "@tanstack/react-start"; import { viewerMiddleware } from "./middleware"; import { limitBrowse } from "~/server/limits"; import { requireRepoAccess } from "~/server/repos"; import { recentBranchPushesFor } from "~/server/branch-pushes"; import { repoRef } from "~/lib/validation"; import type { RecentBranchPush } from "~/server/branch-pushes"; export const recentBranchPushes = createServerFn({ method: "GET" }) .middleware([viewerMiddleware]) .validator(repoRef) .handler(async ({ data, context }): Promise => { if (!context.viewer) return []; await limitBrowse(context.viewer); const { repo } = await requireRepoAccess(data.owner, data.repo, context.viewer, "read"); return recentBranchPushesFor(repo, context.viewer.id); });