Summary#
- Adds
DELETE /v1/handles/:handleendpoint authenticated via session Bearer token - Extends
DnsProvidertrait withdelete_record; updates test doubles increate_handleaccordingly - DNS deletion precedes DB deletion (mirrors the create ordering invariant — keeps orphan risk on the operator-fixable side)
Test plan#
-
cargo test -p relay delete_handle— 6 tests: happy path (no DNS), happy path (DNS ok), DNS failure row survives, 401 missing auth, 403 non-owner, 404 not found - Manual:
DELETE /v1/handles/{{handle}}with valid session token → 204 - Manual: same request with wrong session (different DID) → 403
- Manual: request for non-existent handle → 404
- Manual: request with no Authorization header → 401