Skip to main content

AuthSchema

Derive Macro AuthSchema 

Source
#[derive(AuthSchema)]
{
    // Attributes available to this derive:
    #[requires]
}
Expand description

Derive macro that generates AuthSchemaMetadata implementations.

Reads #[requires("capability_name")] attributes from struct fields or enum variants and produces a static requirements table used by the schema shaper to filter fields/variants per-request.

§On structs (input schema shaping)

#[derive(AuthSchema)]
struct AdvanceStepInput {
    pub applicant_id: String,
    #[requires("backward_routing")]
    pub stage_id: Option<String>,
}

§On enums (output variant shaping)

#[derive(AuthSchema)]
enum AdvanceStepOutput {
    Success { applicant_id: String },
    #[requires("backward_routing")]
    ReroutedSuccess { applicant_id: String, previous_stage: String },
}