lib

Core libraries for Radroots
git clone https://radroots.dev/git/lib.git
Log | Files | Refs | README

message.rs (859B)


      1 #![forbid(unsafe_code)]
      2 
      3 use crate::tag::EventPtr;
      4 
      5 #[cfg(not(feature = "std"))]
      6 use alloc::{string::String, vec::Vec};
      7 
      8 #[cfg_attr(all(test, feature = "std"), derive(dto_bindgen::Dto))]
      9 #[cfg_attr(all(test, feature = "std"), dto(export))]
     10 #[cfg_attr(
     11     any(feature = "serde", test),
     12     derive(serde::Serialize, serde::Deserialize)
     13 )]
     14 #[derive(Clone, Debug)]
     15 pub struct Message {
     16     pub recipients: Vec<MessageRecipient>,
     17     pub content: String,
     18     pub reply_to: Option<EventPtr>,
     19     pub subject: Option<String>,
     20 }
     21 
     22 #[cfg_attr(all(test, feature = "std"), derive(dto_bindgen::Dto))]
     23 #[cfg_attr(all(test, feature = "std"), dto(export))]
     24 #[cfg_attr(
     25     any(feature = "serde", test),
     26     derive(serde::Serialize, serde::Deserialize)
     27 )]
     28 #[derive(Clone, Debug)]
     29 pub struct MessageRecipient {
     30     pub public_key: String,
     31     pub relay_url: Option<String>,
     32 }