use serde::{Deserialize, Serialize};
use serde_json::Value as JsonValue;
use uuid::Uuid;
pub const JOIN_REQUEST_SUBMIT_TYPE: &str =
"https://trusttasks.org/openvtc/vtc/join-requests/submit/1.0";
pub const JOIN_REQUEST_SUBMIT_RECEIPT_TYPE: &str =
"https://trusttasks.org/openvtc/vtc/join-requests/submit-receipt/1.0";
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct JoinRequestSubmitBody {
pub vp: JsonValue,
#[serde(default)]
pub registry_consent: bool,
#[serde(default)]
pub extensions: JsonValue,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct JoinRequestSubmitReceiptBody {
pub request_id: Uuid,
pub status: String,
}
pub const MEMBER_SELF_REMOVE_TYPE: &str =
"https://trusttasks.org/openvtc/vtc/members/self-remove/1.0";
pub const MEMBER_SELF_REMOVE_RECEIPT_TYPE: &str =
"https://trusttasks.org/openvtc/vtc/members/self-remove-receipt/1.0";
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SelfRemoveBody {
#[serde(default)]
pub disposition: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SelfRemoveReceiptBody {
pub did: String,
pub disposition: String,
pub removed: bool,
}