Handling Operations
The execute_mutation_operation
function is responsible for handling a single MutationOperation
, and returning the corresponding MutationOperationResults
:
fn execute_mutation_operation(
state: &mut AppState,
collection_relationships: &BTreeMap<models::RelationshipName, models::Relationship>,
operation: &models::MutationOperation,
) -> Result<models::MutationOperationResults> {
match operation {
models::MutationOperation::Procedure {
name,
arguments,
fields,
} => execute_procedure(state, name, arguments, fields, collection_relationships),
}
}
The function matches on the type of the operation, and delegates to the appropriate function. Currently, the only type of operation is Procedure
, so the function delegates to the execute_procedure
function. In the next section, we will break down the implementation of that function.