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 }