use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthCode {
pub code: String,
pub state: AuthCodeState,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub enum AuthCodeState {
Pending,
Confirmed,
Rejected,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthDetail {
pub pubkey: String,
pub sig: String,
pub msg: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CheckExistResponse {
pub exists: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EnvelopeBox {
pub id: i32,
#[serde(rename = "envelope")]
pub envelope: Box<OApiEnvelope>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GetCrdtEventsResponse {
pub data: Vec<OApiCrdtCryptedEventVo>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GetEnvelopesResponse {
pub data: Vec<EnvelopeBox>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GetMetaResponse {
pub version: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct JsonTextResponse {
pub message: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct OApiCrdtCryptedEventVo {
pub clock: i32,
pub peer: String,
pub data: Box<OApiSignerCryptedOApiCrdtEventVo>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct OApiEnvelope {
pub data: Box<OApiSignerSignedOApiEnvelopeInner>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct OApiSignerCryptedOApiCrdtEventVo {
pub sender_pub_key: String,
pub receiver_pub_key: String,
pub cipher_text: String,
pub nonce: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct OApiSignerSignedOApiEnvelopeInner {
pub sig: String,
pub msg: String,
pub pubkey: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct OApiSignerSignedOApiSignerUserPublic {
pub sig: String,
pub msg: String,
pub pubkey: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PostAuthRequest {
pub auth_code: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PostCrdtEventsRequest {
pub data: Vec<OApiSignerCryptedOApiCrdtEventVo>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PostEnvelopesRequest {
pub data: Vec<OApiEnvelope>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct StorageBlobResponse {
pub hash: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct StorageBlobsCheckExistenceRequest {
pub hashes: Vec<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct StorageBlobsCheckExistenceResponse {
pub missing_hashes: Vec<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct StorageItemData {
pub chunks: Vec<String>,
pub file_name: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct StorageItemResponse {
pub pubkey: String,
pub hash: String,
pub file_name: String,
}