autopulse_service/settings/triggers/
manual.rs1use crate::settings::path_filter::PathFilter;
2use crate::settings::rewrite::Rewrite;
3use crate::settings::timer::Timer;
4use crate::settings::triggers::TriggerConfig;
5use serde::{Deserialize, Serialize};
6
7#[derive(Serialize, Deserialize, Clone)]
8pub struct Manual {
9 pub rewrite: Option<Rewrite>,
11 pub timer: Option<Timer>,
13 #[serde(default)]
15 pub excludes: Vec<String>,
16 #[serde(default)]
18 pub filter: PathFilter,
19}
20
21impl TriggerConfig for Manual {
22 fn rewrite(&self) -> Option<&Rewrite> {
23 self.rewrite.as_ref()
24 }
25
26 fn timer(&self) -> Option<&Timer> {
27 self.timer.as_ref()
28 }
29
30 fn excludes(&self) -> &Vec<String> {
31 &self.excludes
32 }
33
34 fn filter(&self) -> &PathFilter {
35 &self.filter
36 }
37}
38
39#[derive(Deserialize)]
45pub struct ManualQueryParams {
46 pub path: String,
48 pub hash: Option<String>,
50}