canic_core/workflow/log/query.rs
1//! Module: workflow::log::query
2//!
3//! Responsibility: expose filtered runtime log pages.
4//! Does not own: log storage mutation, endpoint authorization, or DTO schemas.
5//! Boundary: workflow query facade over runtime log ops.
6
7use crate::{
8 dto::{
9 log::LogEntry,
10 page::{Page, PageRequest},
11 },
12 log::Level,
13 ops::runtime::log::LogOps,
14};
15
16///
17/// LogQuery
18/// Read-only log views and pagination helpers.
19///
20
21pub struct LogQuery;
22
23impl LogQuery {
24 #[must_use]
25 pub fn page(
26 crate_name: Option<String>,
27 topic: Option<String>,
28 min_level: Option<Level>,
29 page: PageRequest,
30 ) -> Page<LogEntry> {
31 LogOps::page_filtered(crate_name.as_deref(), topic.as_deref(), min_level, page)
32 }
33}