systemprompt_logging/models/
log_filter.rs1#[derive(Debug, Clone, Default)]
2pub struct LogFilter {
3 page: i32,
4 per_page: i32,
5 level: Option<String>,
6 module: Option<String>,
7 message: Option<String>,
8}
9
10impl LogFilter {
11 #[must_use]
12 pub const fn new(page: i32, per_page: i32) -> Self {
13 Self {
14 page,
15 per_page,
16 level: None,
17 module: None,
18 message: None,
19 }
20 }
21
22 #[must_use]
23 pub fn with_level(mut self, level: impl Into<String>) -> Self {
24 self.level = Some(level.into());
25 self
26 }
27
28 #[must_use]
29 pub fn with_module(mut self, module: impl Into<String>) -> Self {
30 self.module = Some(module.into());
31 self
32 }
33
34 #[must_use]
35 pub fn with_message(mut self, message: impl Into<String>) -> Self {
36 self.message = Some(message.into());
37 self
38 }
39
40 #[must_use]
41 pub const fn page(&self) -> i32 {
42 self.page
43 }
44
45 #[must_use]
46 pub const fn per_page(&self) -> i32 {
47 self.per_page
48 }
49
50 #[must_use]
51 pub fn level(&self) -> Option<&str> {
52 self.level.as_deref()
53 }
54
55 #[must_use]
56 pub fn module(&self) -> Option<&str> {
57 self.module.as_deref()
58 }
59
60 #[must_use]
61 pub fn message(&self) -> Option<&str> {
62 self.message.as_deref()
63 }
64}