Skip to content

feat: add health probes and GDPR self-service export/delete - #66

Merged
aji70 merged 2 commits into
MyFanss:mainfrom
charityagbenu12-cmd:somzilla_issues
Jul 29, 2026
Merged

aji70 merged 2 commits into
MyFanss:mainfrom
charityagbenu12-cmd:somzilla_issues

Conversation

@charityagbenu12-cmd

Copy link
Copy Markdown
Contributor

This PR
Closes #62

Implement the following features from Somzilla issues:

Health module:

  • GET /health/live — liveness probe (200), rate-limit exempt
  • GET /health/ready — PostgreSQL readiness probe via Terminus (200/503), rate-limit exempt
  • HealthController with @ExemptTier() decorator

GDPR self-service:

  • GET /users/me/export — exports profile (no password hash), notification preferences, and subscriptions
  • DELETE /users/me — soft-deletes user, revokes all refresh tokens, returns 204, audit logged

Integration tests (10 total):

  • /health/live returns 200
  • /health/ready returns 200 when DB is up
  • /health/live does not hit DB (static response)
  • /users/me/export returns 401 without auth
  • /users/me/export excludes password hash
  • /users/me/export includes preferences + subscriptions
  • /users/me/delete returns 204 and soft-deletes user
  • Deleted user cannot authenticate
  • Self-delete revokes refresh tokens

Closes: Somzilla issues

Implement the following features from Somzilla issues:

Health module:
- GET /health/live — liveness probe (200), rate-limit exempt
- GET /health/ready — PostgreSQL readiness probe via Terminus (200/503),
  rate-limit exempt
- HealthController with @ExemptTier() decorator

GDPR self-service:
- GET /users/me/export — exports profile (no password hash),
  notification preferences, and subscriptions
- DELETE /users/me — soft-deletes user, revokes all refresh tokens,
  returns 204, audit logged

Integration tests (10 total):
- /health/live returns 200
- /health/ready returns 200 when DB is up
- /health/live does not hit DB (static response)
- /users/me/export returns 401 without auth
- /users/me/export excludes password hash
- /users/me/export includes preferences + subscriptions
- /users/me/delete returns 204 and soft-deletes user
- Deleted user cannot authenticate
- Self-delete revokes refresh tokens

Closes: Somzilla issues
@aji70
aji70 merged commit 46325e9 into MyFanss:main Jul 29, 2026
0 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Health Readiness Probes and GDPR Self-Service Export

2 participants