Files
itworx-knowledge-hub-Public/docs/guides/source-batch-removal.md
T

38 lines
2.1 KiB
Markdown

# 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.