Eine Seite fuer alle angebundenen Git-Systeme. Mehrere Verbindungen desselben Typs sind moeglich, etwa privates GitHub und Firmen-Gitea nebeneinander. - Anlegen mit Systemauswahl, Basis-URL und Access Token; die Basis-URL wird beim Wechsel des Systems auf den passenden Standard gesetzt, sofern sie nicht von Hand geaendert wurde - Verbindungstest auf Knopfdruck: prueft Erreichbarkeit und Token, meldet den erkannten Benutzer und bei Gitea die Serverversion. Ergebnis und Zeitpunkt werden gespeichert und in der Karte angezeigt - Token erscheint nur als Hinweis; ein leeres Feld beim Bearbeiten laesst ihn unveraendert - Loeschen trennt nur die Verknuepfung, die Projekte bleiben erhalten - Hinweis auf die noetigen Scopes samt Link zur Doku des jeweiligen Systems Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
26 lines
801 B
TypeScript
26 lines
801 B
TypeScript
import type { Metadata } from "next";
|
|
import { ConnectionsManager } from "@/components/ConnectionsManager";
|
|
import { prisma } from "@/lib/db";
|
|
import { connectionSafeSelect } from "@/lib/projects";
|
|
import type { ConnectionWithCount } from "@/types";
|
|
|
|
export const dynamic = "force-dynamic";
|
|
|
|
export const metadata: Metadata = {
|
|
title: "Git-Verbindungen",
|
|
description: "GitHub, GitLab und Gitea mit Nebula verbinden.",
|
|
};
|
|
|
|
export default async function ConnectionsPage() {
|
|
const connections = await prisma.gitConnection.findMany({
|
|
select: { ...connectionSafeSelect, _count: { select: { projects: true } } },
|
|
orderBy: { name: "asc" },
|
|
});
|
|
|
|
return (
|
|
<div className="pt-4">
|
|
<ConnectionsManager connections={connections as unknown as ConnectionWithCount[]} />
|
|
</div>
|
|
);
|
|
}
|