Skip to main content

GraphClientMutations

Trait GraphClientMutations 

Source
pub trait GraphClientMutations: GraphEdge + WithTypedId {
    type ConnectCommand: CommandParams<Result = ()>;
    type ConnectManyCommand: CommandParams<Result = usize>;
    type EnsureResult: DeserializeOwned + Clone + Debug + PartialEq + Send + Sync + 'static;
    type EnsureCommand: CommandParams<Result = Self::EnsureResult>;
    type DisconnectResult: DeserializeOwned + Clone + Debug + PartialEq + Send + Sync + 'static;
    type DisconnectCommand: CommandParams<Result = Self::DisconnectResult>;
    type DisconnectManyResult: DeserializeOwned + Clone + Debug + PartialEq + Send + Sync + 'static;
    type DisconnectManyCommand: CommandParams<Result = Self::DisconnectManyResult>;

    // Required methods
    fn connect_command(edge: &Self) -> Self::ConnectCommand;
    fn connect_many_command(edges: &[Self]) -> Self::ConnectManyCommand;
    fn ensure_command(edge: &Self) -> Self::EnsureCommand;
    fn disconnect_command(id: &Self::Id) -> Self::DisconnectCommand;
    fn disconnect_many_command(ids: &[Self::Id]) -> Self::DisconnectManyCommand;
}
Expand description

Generated command types for authoritative graph mutations.

These commands use Myko’s ordinary command protocol, so callers receive the existing validation errors, reconnect queuing, transaction IDs, and command completion state without a graph-specific mutation channel.

Required Associated Types§

Required Methods§

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§