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§
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
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".