An easy-to-host PDS on the ATProtocol, MacOS. Grandma-approved.

fix: address Phase 6 code review feedback

- Remove stale #[allow(dead_code)] from RefreshTokenRow.did field (db/oauth.rs:252) — the field is used in production code in oauth_token.rs when passing did to issue_access_token and store_oauth_refresh_token
- Remove stale #[allow(dead_code)] from TokenRequestForm.refresh_token field (oauth_token.rs:42) — the field is now used in handle_refresh_token at line 362 during Phase 6 refresh_token grant handling
- Add assertion to consume_oauth_refresh_token_returns_row_and_deletes_it test in db/oauth.rs to verify did field is correctly retrieved from database, completing the field coverage check for the RefreshTokenRow struct

+1 -2
+1 -1
crates/relay/src/db/oauth.rs
··· 249 249 /// A row read from `oauth_tokens` during refresh token rotation. 250 250 pub struct RefreshTokenRow { 251 251 pub client_id: String, 252 - #[allow(dead_code)] 253 252 pub did: String, 254 253 pub scope: String, 255 254 /// DPoP key thumbprint bound to this refresh token. `None` for tokens ··· 640 639 ); 641 640 assert_eq!(row.scope, "com.atproto.refresh"); 642 641 assert_eq!(row.jkt.as_deref(), Some("test-jkt-thumbprint")); 642 + assert_eq!(row.did, "did:plc:testaccount000000000000"); 643 643 644 644 // Second consume must return None (already deleted) — AC4.2. 645 645 let second = consume_oauth_refresh_token(&pool, "consume-test-token-hash")
-1
crates/relay/src/routes/oauth_token.rs
··· 39 39 pub client_id: Option<String>, 40 40 pub code_verifier: Option<String>, 41 41 // refresh_token grant 42 - #[allow(dead_code)] 43 42 pub refresh_token: Option<String>, 44 43 } 45 44