1use crate::kachaka_api;
2
3#[derive(Debug, Default)]
4pub struct StartCommandOptions {
5 pub title: String,
6 pub tts_on_success: String,
7 pub cancel_all: bool,
8 pub deferrable: bool,
9 pub lock_on_end: Option<kachaka_api::LockOnEnd>,
10}
11
12impl StartCommandOptions {
13 pub fn new() -> Self {
14 Self::default()
15 }
16
17 pub fn title(mut self, title: &str) -> Self {
18 self.title = title.to_string();
19 self
20 }
21
22 pub fn tts_on_success(mut self, tts_on_success: &str) -> Self {
23 self.tts_on_success = tts_on_success.to_string();
24 self
25 }
26
27 pub fn cancel_all(mut self, cancel_all: bool) -> Self {
28 self.cancel_all = cancel_all;
29 self
30 }
31
32 pub fn deferrable(mut self, deferrable: bool) -> Self {
33 self.deferrable = deferrable;
34 self
35 }
36
37 pub fn lock_on_end(mut self, lock_on_end: Option<kachaka_api::LockOnEnd>) -> Self {
38 self.lock_on_end = lock_on_end;
39 self
40 }
41}