Files

2.1 KiB

Verwijderen van een bronbatch

De API kan een expliciet geïdentificeerde externe bronbatch definitief verwijderen wanneer die buiten de standaard importjob-rollback is gepubliceerd. Dit is uitsluitend voor een Administrator en nooit een normale wiki-actie.

Voorwaarden

  1. Maak en herstel-test eerst een verse applicatiebackup naar een afzonderlijke PostgreSQL-doeldatabase.
  2. Stel een reviewed, secretvrije lijst met uitsluitend de eerder vastgelegde page-ID's én hun gevalideerde SHA-256-contenthash samen. Gebruik geen titel, pad of zoekresultaat als primaire grens. De API blokkeert elke pagina waarvan de huidige hash niet meer overeenkomt met het batchbewijs.
  3. Roep POST /api/v1/admin/source-batches/purge/dry-run aan met de batch-ID, bronnaam en die lijst.
  4. Stop wanneer safe onwaar is. Blokkerende gevallen zijn onder meer ontbrekende of niet-gemarkeerde pagina's, aanvullende bronpagina's buiten de lijst, afgeleide pagina's zonder betrouwbare koppeling, backlinks vanuit behouden pagina's en project-/runbookkoppelingen.
  5. Gebruik uitsluitend de ongewijzigde confirmationHash uit een groene dry-run in POST /api/v1/admin/source-batches/purge/execute.

De execute-call draait de databaseverwijdering transactioneel uit. Attachmentblobs worden alleen verwijderd als er na die transactie geen references meer bestaan én de fysieke bytes opnieuw dezelfde SHA-256 opleveren. Een fout bij fysiek opruimen laat hoogstens een retriable orphan achter; de toepassing verwijdert nooit een blob waar een behouden database-reference nog naar wijst.

Validatie na afloop

Controleer met een nieuwe dry-run/leesinventarisatie dat er geen bronpagina's of technische brontags meer bestaan. Herbouw zoekprojecties door de normale PostgreSQL-trigger op de verwijdering te laten werken; er is geen tweede zoekindex om apart te verwijderen. Valideer behouden pagina's, gedeelde attachments, gebruikers, projecten en runbooks apart. Maak daarna een nieuwe schone backup en test ook die restore voordat een tijdelijke backup met verwijderde inhoud wordt opgeruimd.