pub struct EventResolver { /* private fields */ }Expand description
A resolver for event-driven principals: pulls designation values from a
JSON Event in the context, mapping event field names to designation
labels per target.
Same shape as ArgsResolver but reads from ctx.get::<Event>() rather
than ctx.args. Use this when the trigger for a mint is an external event
(Discord gateway message, GitHub webhook) and the relevant designation
values live on the event’s payload.
§Example
use hessra_cap_engine::EventResolver;
let resolver = EventResolver::builder()
.for_target("tool:discord-dm")
.map("user.id", "user_id")
.build();Implementations§
Source§impl EventResolver
impl EventResolver
pub fn builder() -> EventResolverBuilder
Trait Implementations§
Source§impl Clone for EventResolver
impl Clone for EventResolver
Source§fn clone(&self) -> EventResolver
fn clone(&self) -> EventResolver
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for EventResolver
impl Debug for EventResolver
Source§impl Default for EventResolver
impl Default for EventResolver
Source§fn default() -> EventResolver
fn default() -> EventResolver
Returns the “default value” for a type. Read more
Source§impl DesignationResolver for EventResolver
impl DesignationResolver for EventResolver
fn resolve( &self, target: &ObjectId, _operation: &Operation, ctx: &DesignationContext, ) -> Result<Vec<Designation>, ResolverError>
Auto Trait Implementations§
impl Freeze for EventResolver
impl RefUnwindSafe for EventResolver
impl Send for EventResolver
impl Sync for EventResolver
impl Unpin for EventResolver
impl UnsafeUnpin for EventResolver
impl UnwindSafe for EventResolver
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more