1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
use super::Dispatch; use crate::error::ZomeApiResult; use holochain_core_types::entry::Entry; use holochain_persistence_api::cas::content::Address; /// Reconstructs an address of the given entry data. /// This is the same value that would be returned if `entry_type_name` and `entry_value` were passed /// to the [commit_entry](fn.commit_entry.html) function and by which it would be retrievable from the DHT using [get_entry](fn.get_entry.html). /// This is often used to reconstruct an address of a `base` argument when calling [get_links](fn.get_links.html). /// # Examples /// ```rust /// # extern crate hdk; /// # extern crate serde_json; /// # #[macro_use] /// # extern crate serde_derive; /// # extern crate holochain_core_types; /// # extern crate holochain_persistence_api; /// # extern crate holochain_json_api; /// # #[macro_use] /// # extern crate holochain_json_derive; /// # use hdk::error::ZomeApiResult; /// # use holochain_json_api::error::JsonError; /// # use holochain_json_api::json::JsonString; /// # use holochain_core_types::error::HolochainError; /// # use holochain_core_types::entry::entry_type::AppEntryType; /// # use holochain_core_types::entry::AppEntryValue; /// # use holochain_core_types::entry::Entry; /// # use holochain_persistence_api::cas::content::Address; /// # fn main() { /// /// #[derive(Serialize, Deserialize, Debug, DefaultJson)] /// pub struct Post { /// content: String, /// date_created: String, /// } /// /// pub fn handle_post_address(content: String) -> ZomeApiResult<Address> { /// let post_entry = Entry::App("post".into(), Post { /// content, /// date_created: "now".into(), /// }.into()); /// /// hdk::entry_address(&post_entry) /// } /// /// # } /// ``` pub fn entry_address(entry: &Entry) -> ZomeApiResult<Address> { Dispatch::EntryAddress.with_input(entry) }