Collection References
Kaskadiert Löschungen oder entfernt Referenzen bei relationship- und upload-Feldern in Payload, wenn ein referenziertes Dokument gelöscht wird.
Installation
pnpm add @lizardglobal/payload-collection-references Über
Payload übernimmt standardmäßig keine Bereinigung von relationship- und upload-Feldern, deren referenziertes Dokument gelöscht wurde. Dieses Plugin schließt diese Lücke. Bei der Initialisierung der Konfiguration durchläuft es den Feldbaum jeder Kollektion (einschließlich groups, tabs und arrays) und registriert alle relationship- und upload-Felder über ihre Pfadnotation. Anschließend injiziert es einen `beforeDelete`-Hook in jede Kollektion, auf die eine andere Kollektion verweist. Beim Löschen eines Dokuments fragt der Hook alle referenzierenden Kollektionen ab und wendet eine von zwei Strategien pro Feld an: `delete` entfernt die referenzierenden Dokumente kaskadierend und löst deren eigene `beforeDelete`-Hooks rekursiv aus. `unlink` setzt das Feld auf `null` oder einen konfigurierbaren `unlinkValue`, während das Dokument erhalten bleibt. Automatisch erkannte Felder verwenden standardmäßig `delete`; explizite Deklarationen überschreiben die Strategie pro Feld. Die Konfiguration ist kompakt. `collectionReferencesPlugin()` ohne Argumente wendet das Plugin auf alle Kollektionen an. Mit `collections` wird eine Allowlist definiert, mit `exclude` eine Blocklist. `declarations` ermöglicht pro-Feld-Überschreibungen mit verschachtelten Pfaden wie `seo.ogImage`. Ein `disabled`-Flag deaktiviert das Plugin vollständig, was sich für Testumgebungen eignet. Zirkuläre Referenzen zwischen Kollektionen werden über `req.context` nachverfolgt, um Endlosschleifen zu vermeiden. Für Projekte mit erweiterten Anforderungen wird die Core-API separat exportiert: `withCollectionReferences` wrappt eine einzelne Kollektionskonfiguration, `finalizeCollectionReferences` resolves die Menge, und Helfer wie `getReferencesPointingTo`, `buildWhereForReferences`, `groupReferencesByCollection`, `getCollectionConfig`, `filterUploadCollections`, `discoverRelationshipFields` und `mergeDeclarations` legen die Interna offen. Das Plugin setzt Payload `^3.84.1` voraus und ist explizit als experimentell markiert: Kollektionsschemata und Verhalten können sich zwischen Releases ändern. Versionen sollten daher bewusst fixiert werden.
Paketinformationen
- Paketname
@lizardglobal/payload-collection-references- Neueste Version
1.0.2- Entpackte Größe
- 77 kB
- Lizenz
- MIT
- Wöchentliche Downloads
- 2
- Zuletzt veröffentlicht
- 4. Aug. 2026
Mehr von LizardGlobalGH
Profil ansehenRich Text Lexical React Native
Rendert serialisierte Lexical-Rich-Text-Inhalte aus Payload CMS in React Native mit nativen Primitives und überschreibbaren Konvertern.
Dry Run
Testet Create-Operationen in Payload CMS komplett durch, bricht nach Validierung und Hooks die Datenbanktransaktion ab.
Discord Sync
Synchronisiert Discord-Guilds, Channels, Mitglieder und Rollen in Payload-Kollektionen per discord.js, manuell, per HTTP oder nach Cron-Zeitplan.
Ähnliche Plugins
Mehr in ContentSitemap
Erzeugt sitemap.xml aus Payload-Collections und statischen URLs und legt die Dateien im Storage-Adapter des Projekts ab.
Structured Markdown
Bietet strukturiertes Markdown-Editing für Payload CMS mit erweiterten Bearbeitungsfunktionen.
AI Plugin
Integriert KI-Funktionen zur Inhaltserstellung in Payload CMS.
onpage for TanStack Start
Fügt TanStack-Start-Seiten, die Inhalte aus Payload lesen, Inline-Bearbeitung und Draft-Vorschauen hinzu.
On-Page Editing
Ergänzt Payload-Collections und Globals um Inline-Bearbeitung direkt auf der Next.js-Seite, mit Draft-Speicherung und Preview-Links.
Lexical Inline Rich Text Editor
Bearbeitet Payload-richText-Felder direkt auf der gerenderten Seite per Klick, ohne das Admin-Formular zu öffnen.