diff --git a/deltachat-jsonrpc/src/api/mod.rs b/deltachat-jsonrpc/src/api/mod.rs index ba5b9cfd8..31f09e43f 100644 --- a/deltachat-jsonrpc/src/api/mod.rs +++ b/deltachat-jsonrpc/src/api/mod.rs @@ -35,7 +35,7 @@ pub mod events; pub mod types; use crate::api::types::chat_list::{get_chat_list_item_by_id, ChatListItemFetchResult}; -use crate::api::types::QrObject; +use crate::api::types::qr::QrObject; use types::account::Account; use types::chat::FullChat; diff --git a/deltachat-jsonrpc/src/api/types/mod.rs b/deltachat-jsonrpc/src/api/types/mod.rs index bb44323fb..5f8b541bd 100644 --- a/deltachat-jsonrpc/src/api/types/mod.rs +++ b/deltachat-jsonrpc/src/api/types/mod.rs @@ -1,7 +1,3 @@ -use deltachat::qr::Qr; -use serde::Serialize; -use typescript_type_def::TypeDef; - pub mod account; pub mod chat; pub mod chat_list; @@ -9,6 +5,7 @@ pub mod contact; pub mod location; pub mod message; pub mod provider_info; +pub mod qr; pub mod reactions; pub mod webxdc; @@ -23,213 +20,3 @@ fn maybe_empty_string_to_option(string: String) -> Option { Some(string) } } - -#[derive(Serialize, TypeDef)] -#[serde(rename = "Qr", rename_all = "camelCase")] -#[serde(tag = "type")] -pub enum QrObject { - AskVerifyContact { - contact_id: u32, - fingerprint: String, - invitenumber: String, - authcode: String, - }, - AskVerifyGroup { - grpname: String, - grpid: String, - contact_id: u32, - fingerprint: String, - invitenumber: String, - authcode: String, - }, - FprOk { - contact_id: u32, - }, - FprMismatch { - contact_id: Option, - }, - FprWithoutAddr { - fingerprint: String, - }, - Account { - domain: String, - }, - WebrtcInstance { - domain: String, - instance_pattern: String, - }, - Addr { - contact_id: u32, - draft: Option, - }, - Url { - url: String, - }, - Text { - text: String, - }, - WithdrawVerifyContact { - contact_id: u32, - fingerprint: String, - invitenumber: String, - authcode: String, - }, - WithdrawVerifyGroup { - grpname: String, - grpid: String, - contact_id: u32, - fingerprint: String, - invitenumber: String, - authcode: String, - }, - ReviveVerifyContact { - contact_id: u32, - fingerprint: String, - invitenumber: String, - authcode: String, - }, - ReviveVerifyGroup { - grpname: String, - grpid: String, - contact_id: u32, - fingerprint: String, - invitenumber: String, - authcode: String, - }, - Login { - address: String, - }, -} - -impl From for QrObject { - fn from(qr: Qr) -> Self { - match qr { - Qr::AskVerifyContact { - contact_id, - fingerprint, - invitenumber, - authcode, - } => { - let contact_id = contact_id.to_u32(); - let fingerprint = fingerprint.to_string(); - QrObject::AskVerifyContact { - contact_id, - fingerprint, - invitenumber, - authcode, - } - } - Qr::AskVerifyGroup { - grpname, - grpid, - contact_id, - fingerprint, - invitenumber, - authcode, - } => { - let contact_id = contact_id.to_u32(); - let fingerprint = fingerprint.to_string(); - QrObject::AskVerifyGroup { - grpname, - grpid, - contact_id, - fingerprint, - invitenumber, - authcode, - } - } - Qr::FprOk { contact_id } => { - let contact_id = contact_id.to_u32(); - QrObject::FprOk { contact_id } - } - Qr::FprMismatch { contact_id } => { - let contact_id = contact_id.map(|contact_id| contact_id.to_u32()); - QrObject::FprMismatch { contact_id } - } - Qr::FprWithoutAddr { fingerprint } => QrObject::FprWithoutAddr { fingerprint }, - Qr::Account { domain } => QrObject::Account { domain }, - Qr::WebrtcInstance { - domain, - instance_pattern, - } => QrObject::WebrtcInstance { - domain, - instance_pattern, - }, - Qr::Addr { contact_id, draft } => { - let contact_id = contact_id.to_u32(); - QrObject::Addr { contact_id, draft } - } - Qr::Url { url } => QrObject::Url { url }, - Qr::Text { text } => QrObject::Text { text }, - Qr::WithdrawVerifyContact { - contact_id, - fingerprint, - invitenumber, - authcode, - } => { - let contact_id = contact_id.to_u32(); - let fingerprint = fingerprint.to_string(); - QrObject::WithdrawVerifyContact { - contact_id, - fingerprint, - invitenumber, - authcode, - } - } - Qr::WithdrawVerifyGroup { - grpname, - grpid, - contact_id, - fingerprint, - invitenumber, - authcode, - } => { - let contact_id = contact_id.to_u32(); - let fingerprint = fingerprint.to_string(); - QrObject::WithdrawVerifyGroup { - grpname, - grpid, - contact_id, - fingerprint, - invitenumber, - authcode, - } - } - Qr::ReviveVerifyContact { - contact_id, - fingerprint, - invitenumber, - authcode, - } => { - let contact_id = contact_id.to_u32(); - let fingerprint = fingerprint.to_string(); - QrObject::ReviveVerifyContact { - contact_id, - fingerprint, - invitenumber, - authcode, - } - } - Qr::ReviveVerifyGroup { - grpname, - grpid, - contact_id, - fingerprint, - invitenumber, - authcode, - } => { - let contact_id = contact_id.to_u32(); - let fingerprint = fingerprint.to_string(); - QrObject::ReviveVerifyGroup { - grpname, - grpid, - contact_id, - fingerprint, - invitenumber, - authcode, - } - } - Qr::Login { address, .. } => QrObject::Login { address }, - } - } -} diff --git a/deltachat-jsonrpc/src/api/types/qr.rs b/deltachat-jsonrpc/src/api/types/qr.rs new file mode 100644 index 000000000..0a38d43ce --- /dev/null +++ b/deltachat-jsonrpc/src/api/types/qr.rs @@ -0,0 +1,213 @@ +use deltachat::qr::Qr; +use serde::Serialize; +use typescript_type_def::TypeDef; + +#[derive(Serialize, TypeDef)] +#[serde(rename = "Qr", rename_all = "camelCase")] +#[serde(tag = "type")] +pub enum QrObject { + AskVerifyContact { + contact_id: u32, + fingerprint: String, + invitenumber: String, + authcode: String, + }, + AskVerifyGroup { + grpname: String, + grpid: String, + contact_id: u32, + fingerprint: String, + invitenumber: String, + authcode: String, + }, + FprOk { + contact_id: u32, + }, + FprMismatch { + contact_id: Option, + }, + FprWithoutAddr { + fingerprint: String, + }, + Account { + domain: String, + }, + WebrtcInstance { + domain: String, + instance_pattern: String, + }, + Addr { + contact_id: u32, + draft: Option, + }, + Url { + url: String, + }, + Text { + text: String, + }, + WithdrawVerifyContact { + contact_id: u32, + fingerprint: String, + invitenumber: String, + authcode: String, + }, + WithdrawVerifyGroup { + grpname: String, + grpid: String, + contact_id: u32, + fingerprint: String, + invitenumber: String, + authcode: String, + }, + ReviveVerifyContact { + contact_id: u32, + fingerprint: String, + invitenumber: String, + authcode: String, + }, + ReviveVerifyGroup { + grpname: String, + grpid: String, + contact_id: u32, + fingerprint: String, + invitenumber: String, + authcode: String, + }, + Login { + address: String, + }, +} + +impl From for QrObject { + fn from(qr: Qr) -> Self { + match qr { + Qr::AskVerifyContact { + contact_id, + fingerprint, + invitenumber, + authcode, + } => { + let contact_id = contact_id.to_u32(); + let fingerprint = fingerprint.to_string(); + QrObject::AskVerifyContact { + contact_id, + fingerprint, + invitenumber, + authcode, + } + } + Qr::AskVerifyGroup { + grpname, + grpid, + contact_id, + fingerprint, + invitenumber, + authcode, + } => { + let contact_id = contact_id.to_u32(); + let fingerprint = fingerprint.to_string(); + QrObject::AskVerifyGroup { + grpname, + grpid, + contact_id, + fingerprint, + invitenumber, + authcode, + } + } + Qr::FprOk { contact_id } => { + let contact_id = contact_id.to_u32(); + QrObject::FprOk { contact_id } + } + Qr::FprMismatch { contact_id } => { + let contact_id = contact_id.map(|contact_id| contact_id.to_u32()); + QrObject::FprMismatch { contact_id } + } + Qr::FprWithoutAddr { fingerprint } => QrObject::FprWithoutAddr { fingerprint }, + Qr::Account { domain } => QrObject::Account { domain }, + Qr::WebrtcInstance { + domain, + instance_pattern, + } => QrObject::WebrtcInstance { + domain, + instance_pattern, + }, + Qr::Addr { contact_id, draft } => { + let contact_id = contact_id.to_u32(); + QrObject::Addr { contact_id, draft } + } + Qr::Url { url } => QrObject::Url { url }, + Qr::Text { text } => QrObject::Text { text }, + Qr::WithdrawVerifyContact { + contact_id, + fingerprint, + invitenumber, + authcode, + } => { + let contact_id = contact_id.to_u32(); + let fingerprint = fingerprint.to_string(); + QrObject::WithdrawVerifyContact { + contact_id, + fingerprint, + invitenumber, + authcode, + } + } + Qr::WithdrawVerifyGroup { + grpname, + grpid, + contact_id, + fingerprint, + invitenumber, + authcode, + } => { + let contact_id = contact_id.to_u32(); + let fingerprint = fingerprint.to_string(); + QrObject::WithdrawVerifyGroup { + grpname, + grpid, + contact_id, + fingerprint, + invitenumber, + authcode, + } + } + Qr::ReviveVerifyContact { + contact_id, + fingerprint, + invitenumber, + authcode, + } => { + let contact_id = contact_id.to_u32(); + let fingerprint = fingerprint.to_string(); + QrObject::ReviveVerifyContact { + contact_id, + fingerprint, + invitenumber, + authcode, + } + } + Qr::ReviveVerifyGroup { + grpname, + grpid, + contact_id, + fingerprint, + invitenumber, + authcode, + } => { + let contact_id = contact_id.to_u32(); + let fingerprint = fingerprint.to_string(); + QrObject::ReviveVerifyGroup { + grpname, + grpid, + contact_id, + fingerprint, + invitenumber, + authcode, + } + } + Qr::Login { address, .. } => QrObject::Login { address }, + } + } +}