pub struct Note {
pub id: String,
pub created_dtm: i64,
pub modified_dtm: i64,
pub author: String,
pub access: String,
pub content: Vec<u8>,
}
Fields§
§id: String
§created_dtm: i64
§modified_dtm: i64
§access: String
§content: Vec<u8>
Implementations§
Source§impl Note
impl Note
Sourcepub fn new(auth: String, cont: Vec<u8>, acc: Option<String>) -> Self
pub fn new(auth: String, cont: Vec<u8>, acc: Option<String>) -> Self
This is the constructor function.
#Example
extern crate scaffolding_core;
use scaffolding_core::*;
let note = Note::new("fsmith".to_string(), "This was updated".as_bytes().to_vec(), None);
Sourcepub fn content_as_string(&self) -> Result<String, String>
pub fn content_as_string(&self) -> Result<String, String>
This function returns the content of the note as a string.
#Example
extern crate scaffolding_core;
use scaffolding_core::{defaults, Note};
let note = Note::new("fsmith".to_string(), "This was updated".as_bytes().to_vec(), None);
assert_eq!(note.content_as_string().unwrap(), "This was updated".to_string());
Sourcepub fn deserialized(serialized: &[u8]) -> Result<Note, DeserializeError>
pub fn deserialized(serialized: &[u8]) -> Result<Note, DeserializeError>
This function instantiates an ActivityItem from a JSON string.
#Example
extern crate scaffolding_core;
use scaffolding_core::*;
let serialized = r#"{
"id":"2d624160-16b1-49ce-9b90-09a82127d6ac",
"created_dtm":1711833619,
"modified_dtm":1711833619,
"author":"fsmith",
"access":"public",
"content":[84,104,105,115,32,119,97,115,32,117,112,100,97,116,101,100]
}"#;
let mut note = Note::deserialized(&serialized.as_bytes()).unwrap();
assert_eq!(note.created_dtm, 1711833619);
assert_eq!(note.modified_dtm, 1711833619);
assert_eq!(note.author, "fsmith".to_string());
assert_eq!(note.access, "public".to_string());
assert_eq!(note.content, "This was updated".as_bytes().to_vec());
Sourcepub fn serialize(&mut self) -> String
pub fn serialize(&mut self) -> String
This function converts the ActivityItem to a serialize JSON string.
#Example
extern crate scaffolding_core;
use scaffolding_core::*;
let mut note = Note::new("fsmith".to_string(), "This was updated".as_bytes().to_vec(), None);
println!("{}", note.serialize());
Sourcepub fn update(&mut self, auth: String, cont: Vec<u8>, acc: Option<String>)
pub fn update(&mut self, auth: String, cont: Vec<u8>, acc: Option<String>)
This function updates the note and sets the modified_dtm. The modified_dtm will not be changed if the attributes are written to directly.
#Example
extern crate scaffolding_core;
use scaffolding_core::*;
let serialized = r#"{
"id":"2d624160-16b1-49ce-9b90-09a82127d6ac",
"created_dtm":1711833619,
"modified_dtm":1711833619,
"author":"fsmith",
"access":"public",
"content":[84,104,105,115,32,119,97,115,32,117,112,100,97,116,101,100]
}"#;
let mut note = Note::deserialized(&serialized.as_bytes()).unwrap();
let first_modified = note.modified_dtm.clone();
note.update("fsmith".to_string(), "This was updated again".as_bytes().to_vec(), Some("private".to_string()));
assert_eq!(note.author, "fsmith".to_string());
assert_eq!(note.access, "private".to_string());
assert_eq!(note.content, "This was updated again".as_bytes().to_vec());
assert!(note.modified_dtm > first_modified);
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Note
impl<'de> Deserialize<'de> for Note
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Note
impl RefUnwindSafe for Note
impl Send for Note
impl Sync for Note
impl Unpin for Note
impl UnwindSafe for Note
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more