made_core/ports/
agentic_system_page.rs1use crate::entities::AgenticSystem;
2use crate::value_objects::AgenticSystemId;
3
4#[derive(Debug, Clone, Default, PartialEq, Eq)]
6pub struct AgenticSystemPage {
7 systems: Vec<AgenticSystem>,
8 next_cursor: Option<AgenticSystemId>,
9}
10
11impl AgenticSystemPage {
12 #[must_use]
13 pub const fn new(systems: Vec<AgenticSystem>, next_cursor: Option<AgenticSystemId>) -> Self {
14 Self {
15 systems,
16 next_cursor,
17 }
18 }
19
20 #[must_use]
21 pub fn systems(&self) -> &[AgenticSystem] {
22 &self.systems
23 }
24
25 #[must_use]
26 pub fn into_systems(self) -> Vec<AgenticSystem> {
27 self.systems
28 }
29
30 #[must_use]
32 pub const fn next_cursor(&self) -> Option<&AgenticSystemId> {
33 self.next_cursor.as_ref()
34 }
35}