ya_client_model/activity/
create_activity.rs

1use serde::{Deserialize, Serialize};
2
3#[cfg(feature = "sgx")]
4use crate::activity::sgx_credentials::SgxCredentials;
5
6#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
7pub struct CreateActivityRequest {
8    #[serde(rename = "agreementId")]
9    pub agreement_id: String,
10    #[serde(rename = "requestorPubKey", skip_serializing_if = "Option::is_none")]
11    pub requestor_pub_key: Option<String>,
12}
13
14impl CreateActivityRequest {
15    pub fn new(agreement_id: String) -> CreateActivityRequest {
16        CreateActivityRequest {
17            agreement_id,
18            requestor_pub_key: None,
19        }
20    }
21}
22
23#[derive(Clone, Debug, Serialize, Deserialize)]
24pub struct CreateActivityResult {
25    #[serde(rename = "activityId")]
26    pub activity_id: String,
27    #[serde(rename = "credentials", skip_serializing_if = "Option::is_none")]
28    pub credentials: Option<Credentials>,
29}
30
31impl CreateActivityResult {
32    pub fn new(activity_id: String) -> CreateActivityResult {
33        CreateActivityResult {
34            activity_id,
35            credentials: None,
36        }
37    }
38}
39
40#[derive(Clone, Debug, Serialize, Deserialize)]
41#[non_exhaustive]
42pub enum Credentials {
43    #[cfg(feature = "sgx")]
44    #[serde(rename = "sgx")]
45    Sgx(SgxCredentials),
46    #[cfg(not(feature = "sgx"))]
47    #[serde(rename = "sgx")]
48    Sgx(serde_json::Value),
49}