ya_client_model/activity/
create_activity.rs1use 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}