Macro hdk_crud::crud [−][src]
macro_rules! crud {
($crud_type : ident, $i : ident, $path : expr, $get_peers : ident,
$convert_to_receiver_signal : ident) => { ... };
}
Expand description
A macro to go quick and easy from having just a Holochain entry definition to having a full create-read-update-delete set of functionality in your Zome, plus “signals” (events). See example for a comprehensive look at how this works.
ⓘ
use hdk::prelude::*;
use hdk_crud::*;
#[hdk_entry(id = "test")]
#[derive(Clone, PartialEq)]
pub struct Test {
pub number: i32,
}
// ExampleSignal pops out of the crud! macro
#[derive(Debug, Serialize, Deserialize, SerializedBytes)]
#[serde(untagged)]
pub enum TestSignalTypes {
Test(TestSignal)
}
pub fn convert_to_receiver_signal(signal: TestSignal) -> TestSignalTypes {
TestSignalTypes::Test(signal)
}
pub fn get_peers() -> ExternResult<Vec<AgentPubKey>> {
Ok(Vec::new())
}
crud!(
Test,
test,
"test",
get_peers,
convert_to_receiver_signal
);