Skip to content

feat: Add track deletion endpoint with x402 auth#16

Merged
rawgroundbeef merged 6 commits intomainfrom
feature/track-deletion
Feb 17, 2026
Merged

feat: Add track deletion endpoint with x402 auth#16
rawgroundbeef merged 6 commits intomainfrom
feature/track-deletion

Conversation

@rawgroundbeef
Copy link
Owner

  • Add DELETE /api/tracks/:id endpoint for track owners
  • Add GET /api/tracks/:id/can-delete for pre-flight checks
  • x402 payment header required for authentication (minimal charge)
  • Prevents deletion of currently-playing tracks
  • Cascade deletes related DB records and cleans up R2 files
  • Includes comprehensive test suite
  • Update SKILL.md with delete documentation

RawGroundBeef added 6 commits February 17, 2026 09:22
- Add DELETE /api/tracks/:id endpoint for track owners
- Add GET /api/tracks/:id/can-delete for pre-flight checks
- x402 payment header required for authentication (minimal charge)
- Prevents deletion of currently-playing tracks
- Cascade deletes related DB records and cleans up R2 files
- Includes comprehensive test suite
- Update SKILL.md with delete documentation
- Add CI workflow that runs on PRs to main
- Run typecheck, API tests, and web build
- Add vitest config and test scripts to API package
- Separate lint job for faster feedback
- Fix import path (./delete instead of ../src/routes/delete)
- Add explicit types for all res.json() calls
- Use proper Hono app.fetch() with full URLs
- Mount routes correctly at /api/tracks
- Mock x402 middleware for DELETE tests
- Fix wallet address format (42 chars required)
- Create auth.ts middleware with requireWalletAuth and extractWalletOptional
- Add requireOwnership helper for resource ownership checks
- Extend Hono context types for walletAddress
- Import auth middleware in delete route (ready for future refactor)
@rawgroundbeef rawgroundbeef merged commit 8111686 into main Feb 17, 2026
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.

1 participant