lib

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

types.rs (1102B)


      1 #[cfg(not(feature = "std"))]
      2 use alloc::{string::String, vec::Vec};
      3 
      4 use serde::{Deserialize, Serialize};
      5 
      6 pub const RADROOTS_REPLICA_TRANSFER_VERSION: u32 = 1;
      7 
      8 #[derive(Clone, Debug, Serialize, Deserialize)]
      9 pub struct RadrootsReplicaEventDraft {
     10     pub kind: u32,
     11     pub author: String,
     12     pub content: String,
     13     pub tags: Vec<Vec<String>>,
     14 }
     15 
     16 #[derive(Clone, Debug, Serialize, Deserialize)]
     17 pub struct RadrootsReplicaSyncBundle {
     18     pub version: u32,
     19     pub events: Vec<RadrootsReplicaEventDraft>,
     20 }
     21 
     22 #[derive(Clone, Debug, Serialize, Deserialize)]
     23 pub struct RadrootsReplicaFarmSelector {
     24     pub id: Option<String>,
     25     pub d_tag: Option<String>,
     26     pub pubkey: Option<String>,
     27 }
     28 
     29 #[derive(Clone, Debug, Serialize, Deserialize)]
     30 pub struct RadrootsReplicaSyncOptions {
     31     pub include_profiles: Option<bool>,
     32     pub include_list_sets: Option<bool>,
     33     pub include_membership_claims: Option<bool>,
     34 }
     35 
     36 #[derive(Clone, Debug, Serialize, Deserialize)]
     37 pub struct RadrootsReplicaSyncRequest {
     38     pub farm: RadrootsReplicaFarmSelector,
     39     pub options: Option<RadrootsReplicaSyncOptions>,
     40 }