mutation

Attribute Macro mutation 

Source
#[mutation]
Expand description

Marks a function as a mutation (transactional write).

Mutations run within a database transaction. All changes commit together or roll back on error.

§Attributes

  • require_auth - Require authentication
  • require_role("admin") - Require specific role
  • timeout = 30 - Timeout in seconds

§Example

#[forge::mutation]
pub async fn create_project(ctx: &MutationContext, input: CreateProjectInput) -> Result<Project> {
    let user_id = ctx.require_user_id()?;
    // ...
}