nyx/tests/fixtures/auth_analysis/self_scoped_user.rs
Eli Peter a438886217
Python fp and docs updtes (#58)
* refactor: Update comments for clarity and add expectations.json files for performance metrics

* feat: Implement FP guard for JS/TS local-collection receivers to suppress missing ownership checks

* feat: Enhance Rust parameter handling to classify local collections and prevent false ownership checks

* refactor: Simplify code formatting for better readability in multiple files

* refactor: Improve UTF-8 sequence length handling and enhance clarity in loop iteration

* feat: Update Java and Python patterns to include new security rules

* refactor: Improve comment clarity and consistency across multiple Rust files

* refactor: Simplify code formatting for improved readability in integration tests and module files

* refactor: Improve comment formatting and enhance clarity in assertions across multiple files
2026-04-29 19:53:34 -04:00

21 lines
945 B
Rust

use std::collections::HashSet;
struct Ctx; struct Req; struct User { id: i64 } struct Db;
mod auth { pub async fn require_auth(_r: &super::Req, _c: &super::Ctx) -> Result<super::User, ()> { Ok(super::User{id:1}) } }
// The handler's `get_peer_ids(&db, user.id)` call below must not be
// flagged. `user` is bound from `auth::require_auth(..)` so `user.id`
// is the caller's own id, the call is self-referential, not a foreign
// scoped id. The library-style helper below is a pass-through so its
// body contains no DB sinks (the internal `user_id` → DB flow is a
// separate pattern covered by helper-summary lifting).
async fn get_peer_ids(_db: &Db, _user_id: i64) -> HashSet<i64> {
HashSet::new()
}
pub async fn handle_list_peers(req: Req, ctx: Ctx) -> Result<String, ()> {
let user = auth::require_auth(&req, &ctx).await?;
let db = Db;
let peers = get_peer_ids(&db, user.id).await;
Ok(format!("{}", peers.len()))
}