Skip to main content

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}