Repository navigation
feat(backend): activity and account deletion, data export (TDD-0004) - #26
Merged
Merged
Conversation
AlessioBrillo
force-pushed
the
docs/tdd-0004-deletion-export
branch
from
October 9, 2026 04:14
5c37db1 to
86dc4b3
Compare
DELETE /v1/activities/{id} removes the row and raw object and leaves a data-free tombstone (a later
upload of that id gets 410). DELETE /v1/me flags the account, removes its objects by prefix and all
its rows; a deleted account gets 403 except for repeating the deletion. GET /v1/me/export streams a
ZIP of every raw file unchanged, a GPX of each and activities.json, at most 2 at a time.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
AlessioBrillo
force-pushed
the
feat/backend-deletion-export
branch
from
October 9, 2026 18:03
457e2b7 to
5359675
Compare
AlessioBrillo
changed the base branch from
docs/tdd-0004-deletion-export
to
main
October 9, 2026 18:03
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #25 (docs) and contains the #24 revert commit (the new
V5replaces the removed one). Merge #24 and #25 first, then retarget this tomain.What
V5__data_deletion.sql:users.deleted_at,deleted_activitiestombstones.DELETE /v1/activities/{id}(204/404/400),DELETE /v1/me(idempotent, the only call a deleted account may make),GET /v1/me/export(ZIP: raw JSONL byte-for-byte, GPX,activities.json; max 2 at once, then 503).PUTof a deleted id answers 410 (the sync client already treats it as permanent). Deleted accounts get 403.RawObjectStore.delete/deletePrefix;UserDataholds deletion and export.Verification
./gradlew :backend:ktlintCheck :backend:testagainst real PostGIS + SeaweedFS (22 ingest tests, 5 new: delete + 410, IDOR on delete, account deletion leaves other users untouched, export contents and byte equality, export slot limit). End-to-end on the Compose stack and the web flow come with the web PR.Notes
🤖 Generated with Claude Code