use derive_empty_traits::EmptyTraits;
use resolver_api::derive::Request;
use serde::{Deserialize, Serialize};
use typeshare::typeshare;
use crate::entities::update::ResourceTarget;
use super::MonitorReadRequest;
#[typeshare]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TomlResponse {
pub toml: String,
}
#[typeshare]
#[derive(
Debug, Clone, Default, Serialize, Deserialize, Request, EmptyTraits,
)]
#[empty_traits(MonitorReadRequest)]
#[response(ExportAllResourcesToTomlResponse)]
pub struct ExportAllResourcesToToml {
#[serde(default)]
pub tags: Vec<String>,
}
#[typeshare]
pub type ExportAllResourcesToTomlResponse = TomlResponse;
#[typeshare]
#[derive(
Debug, Clone, Default, Serialize, Deserialize, Request, EmptyTraits,
)]
#[empty_traits(MonitorReadRequest)]
#[response(ExportResourcesToTomlResponse)]
pub struct ExportResourcesToToml {
#[serde(default)]
pub targets: Vec<ResourceTarget>,
#[serde(default)]
pub user_groups: Vec<String>,
#[serde(default)]
pub include_variables: bool,
}
#[typeshare]
pub type ExportResourcesToTomlResponse = TomlResponse;