Projekte: alle Mitarbeiter, private Repos, Archiv fuer Kunden ausgeblendet
Entscheidungen vom 04.10.2026: - Projekt-Routen (website-projects, preview, gitea, services, analyse) fuer jeden Mitarbeiter (Label mitarbeiter oder admin); Kunden-, Mitarbeiter- und Finanz-Verwaltung bleiben nur fuer Admins - Neue Repos aus der Vorlage werden privat angelegt - Archivierte Projekte sieht der Kunde nicht mehr: Projektliste, Projektdetails, Preview-Zugang, Funktionen (Mitarbeiter-Ansicht schon) - Projektliste des Kunden mit Limit (Appwrite liefert sonst nur 25) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
800630ea4b
commit
3156bb790a
14 files changed
+123
-22
No files matched your search
@@ -218,7 +218,9 @@ export async function generateRepoFromTemplate({ owner, repoName, description })
|
||||
body: JSON.stringify({
|
||||
owner: targetOwner,
|
||||
name: repoName,
|
||||
private: false,
|
||||
// Kundenquelltext nicht oeffentlich (Entscheidung 2026-10-04). Portal und Preview-Runner
|
||||
// lesen Gitea mit dem System-Schluessel, Mitarbeiter sehen Org-Repos ueber das Team Owners.
|
||||
private: true,
|
||||
// Die Beschreibung ist der Projektname in Gitea (Abgleich und Webhook lesen ihn von dort)
|
||||
description: description || `Website-Projekt ${repoName}`,
|
||||
git_content: true,
|
||||
|
||||
@@ -129,13 +129,16 @@ export function listCustomerFeatureDocs(customerId) {
|
||||
return listDocuments(config.collections.portalFeatures, [Query.equal('customerId', customerId), Query.limit(1000)])
|
||||
}
|
||||
|
||||
/** docs: bereits geladene Funktionsdokumente des Kunden (listCustomerFeatureDocs), damit sie nicht doppelt gelesen werden. */
|
||||
export async function listCustomerFeatures(customerId, { docs: geladen } = {}) {
|
||||
const projects = await listDocuments(config.collections.websiteProjects, [
|
||||
/**
|
||||
* docs: bereits geladene Funktionsdokumente des Kunden (listCustomerFeatureDocs), damit sie nicht doppelt gelesen werden.
|
||||
* includeArchived: nur fuer die Mitarbeiter-Ansicht - der Kunde sieht archivierte Projekte nicht.
|
||||
*/
|
||||
export async function listCustomerFeatures(customerId, { docs: geladen, includeArchived = false } = {}) {
|
||||
const projects = (await listDocuments(config.collections.websiteProjects, [
|
||||
Query.equal('customerId', customerId),
|
||||
Query.orderDesc('$createdAt'),
|
||||
Query.limit(1000),
|
||||
])
|
||||
])).filter((p) => includeArchived || !p.archived)
|
||||
const docs = geladen ?? (await listCustomerFeatureDocs(customerId))
|
||||
const result = []
|
||||
for (const p of projects) {
|
||||
|
||||
Reference in new issue
Block a user