mirror of
https://github.com/elicpeter/nyx.git
synced 2026-06-09 19:45:13 +02:00
* 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
21 lines
945 B
Rust
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()))
|
|
}
|