ave_common/bridge/
request.rs1use crate::signature::BridgeSignature;
6use serde::{Deserialize, Serialize};
7use serde_json::Value;
8
9#[cfg(feature = "openapi")]
10use utoipa::ToSchema;
11
12#[derive(Serialize, Deserialize, Debug, Clone)]
14#[cfg_attr(feature = "openapi", derive(ToSchema))]
15pub struct BridgeSignedEventRequest {
16 pub request: BridgeEventRequest,
18 pub signature: Option<BridgeSignature>,
20}
21
22#[derive(Serialize, Deserialize, Debug, Clone)]
24#[cfg_attr(feature = "openapi", derive(ToSchema))]
25#[serde(tag = "event", content = "data", rename_all = "snake_case")]
26pub enum BridgeEventRequest {
27 Create(BridgeCreateRequest),
28 Fact(BridgeFactRequest),
29 Transfer(BridgeTransferRequest),
30 EOL(BridgeEOLRequest),
31 Confirm(BridgeConfirmRequest),
32 Reject(BridgeRejectRequest),
33}
34
35#[derive(Serialize, Deserialize, Debug, Clone)]
36#[cfg_attr(feature = "openapi", derive(ToSchema))]
37pub struct BridgeRejectRequest {
38 pub subject_id: String,
40}
41
42#[derive(Serialize, Deserialize, Debug, Clone)]
43#[cfg_attr(feature = "openapi", derive(ToSchema))]
44pub struct BridgeCreateRequest {
45 pub name: Option<String>,
46 pub description: Option<String>,
47 pub governance_id: Option<String>,
49 pub schema_id: String,
51 pub namespace: Option<String>,
53}
54
55#[derive(Serialize, Deserialize, Debug, Clone)]
56#[cfg_attr(feature = "openapi", derive(ToSchema))]
57pub struct BridgeFactRequest {
58 pub subject_id: String,
60 pub payload: Value,
62}
63
64#[derive(Debug, Clone, Serialize, Deserialize)]
65#[cfg_attr(feature = "openapi", derive(ToSchema))]
66pub struct BridgeTransferRequest {
67 pub subject_id: String,
69 pub new_owner: String,
71}
72
73#[derive(Debug, Clone, Serialize, Deserialize)]
75#[cfg_attr(feature = "openapi", derive(ToSchema))]
76pub struct BridgeEOLRequest {
77 pub subject_id: String,
79}
80
81#[derive(Debug, Clone, Serialize, Deserialize)]
82#[cfg_attr(feature = "openapi", derive(ToSchema))]
83pub struct BridgeConfirmRequest {
84 pub subject_id: String,
86 pub name_old_owner: Option<String>,
87}