purple_ssh/app/
container_state.rs1use crate::app::{ContainerActionRequest, ContainerExecRequest, ContainerLogsRequest};
4
5pub struct ContainerSession {
10 pub alias: String,
11 pub askpass: Option<String>,
12 pub runtime: Option<crate::containers::ContainerRuntime>,
13 pub containers: Vec<crate::containers::ContainerInfo>,
14 pub list_state: ratatui::widgets::ListState,
15 pub loading: bool,
16 pub error: Option<String>,
17 pub action_in_progress: Option<String>,
18 pub confirm_action: Option<(crate::containers::ContainerAction, String, String)>,
20}
21
22#[derive(Debug, Default)]
25pub struct ContainerState {
26 pub pending_exec: Option<ContainerExecRequest>,
27 pub pending_logs: Option<ContainerLogsRequest>,
28 pub pending_actions: std::collections::VecDeque<ContainerActionRequest>,
29 pub pending_fetch_aliases: Vec<String>,
30 pub cache: std::collections::HashMap<String, crate::containers::ContainerCacheEntry>,
31}