matrix-fuzz

git clone git://archive.git.mtrnord.blog/MTRNord/matrix-fuzz.git
Log | Files | Refs | README | LICENSE

types.rs (2122B)


      1 pub mod create_room;
      2 
      3 use arbitrary::Arbitrary;
      4 use fuzzcheck::DefaultMutator;
      5 use serde::{Deserialize, Serialize};
      6 
      7 #[derive(Debug, Serialize, Deserialize)]
      8 pub struct LoginGet {
      9     pub flows: Vec<Flow>,
     10 }
     11 
     12 #[derive(Debug, Serialize, Deserialize, PartialEq, Eq)]
     13 pub struct Flow {
     14     #[serde(rename = "type")]
     15     pub type_: String,
     16 }
     17 
     18 #[derive(Debug, Serialize, Deserialize)]
     19 pub struct LoginPost {
     20     pub user_id: String,
     21     pub access_token: String,
     22     pub home_server: String,
     23 }
     24 
     25 #[derive(Debug, Clone, Serialize, Deserialize, DefaultMutator, Arbitrary)]
     26 pub struct LoginPostReq {
     27     #[serde(skip_serializing_if = "Option::is_none")]
     28     pub address: Option<String>,
     29     #[serde(skip_serializing_if = "Option::is_none")]
     30     pub device_id: Option<String>,
     31     #[serde(skip_serializing_if = "Option::is_none")]
     32     pub identifier: Option<Identifier>,
     33     #[serde(skip_serializing_if = "Option::is_none")]
     34     pub initial_device_display_name: Option<String>,
     35     #[serde(skip_serializing_if = "Option::is_none")]
     36     pub medium: Option<String>,
     37     //#[serde(skip_serializing_if = "Option::is_none")]
     38     //pub password: Option<String>,
     39     #[serde(skip_serializing_if = "Option::is_none")]
     40     pub refresh_token: Option<bool>,
     41     // We assume token login where this is a required field
     42     pub token: String,
     43     #[serde(rename = "type")]
     44     pub _type: String,
     45     #[serde(skip_serializing_if = "Option::is_none")]
     46     pub user: Option<String>,
     47 }
     48 
     49 #[derive(Debug, Clone, Serialize, Deserialize, DefaultMutator, Arbitrary)]
     50 pub struct Identifier {
     51     #[serde(rename = "type")]
     52     pub _type: String,
     53     // We assume password login or token login where this is a required field
     54     pub user: String,
     55     #[serde(skip_serializing_if = "Option::is_none")]
     56     pub medium: Option<String>,
     57     #[serde(skip_serializing_if = "Option::is_none")]
     58     pub address: Option<String>,
     59     #[serde(skip_serializing_if = "Option::is_none")]
     60     pub country: Option<String>,
     61     #[serde(skip_serializing_if = "Option::is_none")]
     62     pub phone: Option<String>,
     63 }