1use derive_builder::Builder;
2use serde::Serialize;
3use crate::structs::{FinishhedInfo, FinishedConclusionOption};
4
5#[derive(Builder, Debug, Default, Serialize)]
6#[builder(setter(into, strip_option))]
7#[builder(default)]
8pub struct BatchQueryFinishedRequest {
9 pub project_key: String,
10 pub work_item_id: i64,
11 pub node_ids: Vec<String>,
12}
13
14pub type BatchQueryFinishedResponse = FinishhedInfo;
15
16#[derive(Builder, Debug, Default, Serialize)]
17#[builder(setter(into, strip_option))]
18#[builder(default)]
19pub struct UpdateFinishedRequest {
20 pub project_key: String,
21 pub work_item_id: i64,
22 pub node_id: String,
23 pub opinion: Option<String>,
24 pub finished_conclusion_option_key: Option<String>,
25 pub operation_type: Option<String>,
26 pub reset: Option<bool>,
27}
28
29pub type UpdateFinishedResponse = serde_json::Value;
30
31#[derive(Builder, Debug, Default, Serialize)]
32#[builder(setter(into, strip_option))]
33#[builder(default)]
34pub struct QueryConclusionOptionRequest {
35 pub project_key: String,
36 pub work_item_id: i64,
37 pub node_ids: Vec<String>,
38}
39
40pub type QueryConclusionOptionResponse = Vec<FinishedConclusionOption>;