Commit 5c1ea76
committed
fix: resilient GDPR export sections + release-log entry
Reworks the data export per founder feedback: instead of either
silently masking failures (the original `.catch(() => [])`) or hard
failing the whole export on one bad sub-query (the prior fix), each
section now loads through a `loadSection` helper that:
- logs the underlying error (pino + Sentry) so schema drift / query
regressions are observable rather than invisible,
- returns a fallback so the rest of the export still ships
(resilient — the user isn't denied all their data over one section),
- records the section name so the response declares itself `partial`
with `incompleteSections`, keeping a GDPR Art. 20 export honest
about completeness rather than passing a partial dump off as whole.
Adds the docs/release-log.md entry this PR was missing (the CI
"Enforce release log update" gate failed at ~11s because the diff
touched backend/src without a log entry).
Tests updated: a failing section now asserts 200 + partial:true +
incompleteSections, and a complete export asserts partial:false.1 parent 73f8e2c commit 5c1ea76
3 files changed
Lines changed: 317 additions & 187 deletions
File tree
- backend
- src/modules/settings
- test
- docs
0 commit comments