monitor_client/api/write/
variable.rs1use derive_empty_traits::EmptyTraits;
2use resolver_api::derive::Request;
3use serde::{Deserialize, Serialize};
4use typeshare::typeshare;
5
6use crate::entities::variable::Variable;
7
8use super::MonitorWriteRequest;
9
10#[typeshare]
12#[derive(
13 Debug, Clone, Serialize, Deserialize, Request, EmptyTraits,
14)]
15#[empty_traits(MonitorWriteRequest)]
16#[response(CreateVariableResponse)]
17pub struct CreateVariable {
18 pub name: String,
20 #[serde(default)]
22 pub value: String,
23 #[serde(default)]
25 pub description: String,
26}
27
28#[typeshare]
29pub type CreateVariableResponse = Variable;
30
31#[typeshare]
35#[derive(
36 Debug, Clone, Serialize, Deserialize, Request, EmptyTraits,
37)]
38#[empty_traits(MonitorWriteRequest)]
39#[response(UpdateVariableValueResponse)]
40pub struct UpdateVariableValue {
41 pub name: String,
43 pub value: String,
45}
46
47#[typeshare]
48pub type UpdateVariableValueResponse = Variable;
49
50#[typeshare]
54#[derive(
55 Debug, Clone, Serialize, Deserialize, Request, EmptyTraits,
56)]
57#[empty_traits(MonitorWriteRequest)]
58#[response(UpdateVariableDescriptionResponse)]
59pub struct UpdateVariableDescription {
60 pub name: String,
62 pub description: String,
64}
65
66#[typeshare]
67pub type UpdateVariableDescriptionResponse = Variable;
68
69#[typeshare]
73#[derive(
74 Debug, Clone, Serialize, Deserialize, Request, EmptyTraits,
75)]
76#[empty_traits(MonitorWriteRequest)]
77#[response(DeleteVariableResponse)]
78pub struct DeleteVariable {
79 pub name: String,
80}
81
82#[typeshare]
83pub type DeleteVariableResponse = Variable;