Skip to main content

wavs_types/
submission.rs

1use serde::{Deserialize, Serialize};
2
3use crate::{Envelope, EventId, ServiceId, TriggerAction, WasmResponse, WavsSignature, WorkflowId};
4
5// The data we send from submission to dispatcher
6#[derive(Serialize, Deserialize, Clone, Debug)]
7pub struct Submission {
8    pub trigger_action: TriggerAction,
9    pub operator_response: WasmResponse,
10    pub event_id: EventId,
11    pub envelope: Envelope,
12    pub envelope_signature: WavsSignature,
13}
14
15impl Submission {
16    pub fn label(&self) -> String {
17        format!(
18            "Submission(service_id: {}, workflow_id: {}, event_id: {})",
19            self.service_id(),
20            self.workflow_id(),
21            self.event_id
22        )
23    }
24    pub fn service_id(&self) -> &ServiceId {
25        &self.trigger_action.config.service_id
26    }
27
28    pub fn workflow_id(&self) -> &WorkflowId {
29        &self.trigger_action.config.workflow_id
30    }
31}