meegle/workflow/
types.rs

1use derive_builder::Builder;
2use serde::Serialize;
3
4use crate::structs::{FieldValuePair, RoleOwner, Schedule};
5
6#[derive(Builder, Debug, Default, Serialize)]
7#[builder(setter(into, strip_option), default)]
8pub struct UpdateNodeRequest {
9    pub node_owners: Option<Vec<String>>,
10    pub node_schedule: Option<Schedule>,
11    pub schedules: Option<Vec<Schedule>>,
12    pub fields: Option<Vec<FieldValuePair>>,
13    pub role_assignee: Option<Vec<RoleOwner>>,
14}
15
16#[derive(Builder, Debug, Default, Serialize)]
17#[builder(setter(into, strip_option), default)]
18pub struct OperateNodeRequest {
19    pub action: String,
20    pub rollback_reason: Option<String>,
21    pub node_owners: Option<Vec<String>>,
22    pub node_schedule: Option<Schedule>,
23    pub schedules: Option<Vec<Schedule>>,
24    pub fields: Option<Vec<FieldValuePair>>,
25    pub role_assignee: Option<Vec<RoleOwner>>,
26}
27
28#[derive(Builder, Debug, Default, Serialize)]
29#[builder(setter(into, strip_option), default)]
30pub struct ChangeStateRequest {
31    pub transition_id: i64,
32    pub role_owners: Option<Vec<RoleOwner>>,
33    pub fields: Option<Vec<FieldValuePair>>,
34}
35
36#[derive(Builder, Debug, Default, Serialize)]
37#[builder(setter(into, strip_option), default)]
38pub struct GetWorkflowDetailRequest {
39    pub flow_type: Option<i64>,
40    pub fields: Option<Vec<String>>,
41}