Mitarbeiter-Zugang: --ohne-buckets (Server-Key ohne buckets-Scope, Buckets dann in der Konsole)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Opus 5.5 committed 2026-10-03 11:10:09 +00:00
1 parent 10b393687c
commit 5077dd5a20
3 files changed
+15 -5

No files matched your search

+5 -3
View File
@@ -107,10 +107,11 @@ export async function removeEmployeeEntry(employeeId, request = appwriteAdminReq
/**
* Alle Stellen mit offenen Rechten: Collections und Buckets, bei Dokument- bzw. Datei-Sicherheit auch einzelne
* Dokumente und Dateien. Jede Aenderung traegt before/after, damit sie sich zuruecknehmen laesst. keep = IDs von
* Collections/Buckets, die bewusst offen bleiben (samt ihrer Dokumente/Dateien). Eine Liste, die sich nicht lesen
* Collections/Buckets, die bewusst offen bleiben (samt ihrer Dokumente/Dateien), buckets false laesst alle Buckets
* aus. Eine Liste, die sich nicht lesen
* laesst (z. B. fehlender Key-Scope), landet in errors statt den ganzen Lauf abzubrechen.
*/
export async function planPermissionChanges(request = appwriteAdminRequest, { keep = [] } = {}) {
export async function planPermissionChanges(request = appwriteAdminRequest, { keep = [], buckets = true } = {}) {
const changes = []
const errors = []
const kept = new Set(keep)
@@ -148,7 +149,8 @@ export async function planPermissionChanges(request = appwriteAdminRequest, { ke
}
}
for (const bucket of await tryList('/storage/buckets', 'buckets')) {
// buckets: false -> Buckets bleiben aussen vor (Key ohne buckets-Scope; dann von Hand in der Konsole)
for (const bucket of buckets ? await tryList('/storage/buckets', 'buckets') : []) {
if (kept.has(bucket.$id)) continue
add(
{