query

Attribute Macro query 

Source
#[query]
Expand description

Marks a function as a query (read-only, cacheable, subscribable).

§Attributes

  • cache = "5m" - Cache TTL (duration like “30s”, “5m”, “1h”)
  • public - No authentication required
  • require_auth - Require authentication
  • timeout = 30 - Timeout in seconds

§Example

#[forge::query]
pub async fn get_user(ctx: &QueryContext, user_id: Uuid) -> Result<User> {
    // ...
}

#[forge::query(cache = "5m", require_auth)]
pub async fn get_profile(ctx: &QueryContext) -> Result<Profile> {
    let user_id = ctx.require_user_id()?;
    // ...
}