lib

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

message_file.rs (1260B)


      1 #![forbid(unsafe_code)]
      2 
      3 use crate::RadrootsNostrEventPtr;
      4 use crate::message::RadrootsMessageRecipient;
      5 
      6 #[cfg(not(feature = "std"))]
      7 use alloc::{string::String, vec::Vec};
      8 
      9 #[cfg_attr(feature = "dto-bindgen", derive(dto_bindgen::Dto))]
     10 #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
     11 #[derive(Clone, Debug)]
     12 pub struct RadrootsMessageFile {
     13     pub recipients: Vec<RadrootsMessageRecipient>,
     14     pub file_url: String,
     15     pub reply_to: Option<RadrootsNostrEventPtr>,
     16     pub subject: Option<String>,
     17     pub file_type: String,
     18     pub encryption_algorithm: String,
     19     pub decryption_key: String,
     20     pub decryption_nonce: String,
     21     pub encrypted_hash: String,
     22     pub original_hash: Option<String>,
     23     #[cfg_attr(feature = "dto-bindgen", dto(int_repr = "json_number_unsafe"))]
     24     pub size: Option<u64>,
     25     pub dimensions: Option<RadrootsMessageFileDimensions>,
     26     pub blurhash: Option<String>,
     27     pub thumb: Option<String>,
     28     pub fallbacks: Vec<String>,
     29 }
     30 
     31 #[cfg_attr(feature = "dto-bindgen", derive(dto_bindgen::Dto))]
     32 #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
     33 #[derive(Clone, Copy, Debug, PartialEq, Eq)]
     34 pub struct RadrootsMessageFileDimensions {
     35     pub w: u32,
     36     pub h: u32,
     37 }