use crate::core::types::NasArchive;
pub fn service_unit(a: &NasArchive, script: &str) -> String {
format!(
"[Unit]\n\
Description=forjar NAS archive for {path}\n\
After=network-online.target remote-fs.target\n\
Wants=remote-fs.target\n\
\n\
[Service]\n\
Type=oneshot\n\
Environment=ARCHIVE_EXECUTE=1\n\
ExecStart={script}\n\
Nice=10\n\
IOSchedulingClass=idle\n",
path = a.path,
script = script,
)
}
pub fn timer_unit(a: &NasArchive) -> String {
format!(
"[Unit]\n\
Description=forjar NAS archive timer for {path}\n\
\n\
[Timer]\n\
OnCalendar={schedule}\n\
Persistent=true\n\
RandomizedDelaySec=900\n\
\n\
[Install]\n\
WantedBy=timers.target\n",
path = a.path,
schedule = a.schedule,
)
}