autopulse_service/settings/triggers/
autoscan.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, Default)]
8pub struct Autoscan {
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 Autoscan {
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)]
44pub struct AutoscanQueryParams {
45 pub dir: String,
47}