diff --git a/Cargo.toml b/Cargo.toml index 77dd2ff..bf94617 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,6 +7,8 @@ edition = "2021" anyhow = "1.0.86" serde = {version = "1.0.204", features = ["derive"]} serde_json = "1.0.122" +ellipse = "0.2.0" +itertools = "0.13.0" [dev-dependencies] tempfile = "3.11.0" diff --git a/src/db.rs b/src/db.rs index fb17429..c5b6c5c 100644 --- a/src/db.rs +++ b/src/db.rs @@ -106,7 +106,7 @@ impl JiraDatabase { } } -trait Database { +pub trait Database { fn read_db(&self) -> Result; fn write_db(&self, db_state: &DBState) -> Result<()>; } diff --git a/src/main.rs b/src/main.rs index fde5ef3..78436c4 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,5 +1,6 @@ -mod models; mod db; +mod models; +mod ui; fn main() { println!("Welcome scrumtask-cli!"); diff --git a/src/models.rs b/src/models.rs index ab871cc..0d9ef51 100644 --- a/src/models.rs +++ b/src/models.rs @@ -1,6 +1,23 @@ use std::collections::HashMap; use serde::{Deserialize, Serialize}; + + +#[derive(Debug, PartialEq, Eq)] +pub enum Action { + NavigateToEpicDetail { epic_id: u32 }, + NavigateToStoryDetail { epic_id: u32, story_id: u32 }, + NavigateToPreviousPage, + CreateEpic, + UpdateEpicStatus { epic_id: u32 }, + DeleteEpic { epic_id: u32 }, + CreateStory { epic_id: u32 }, + UpdateStoryStatus { story_id: u32 }, + DeleteStory { epic_id: u32, story_id: u32 }, + Exit, +} + + #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] pub enum Status { Open, diff --git a/src/ui/pages/page_helpers.rs b/src/ui/pages/page_helpers.rs index 76e66c4..53320ab 100644 --- a/src/ui/pages/page_helpers.rs +++ b/src/ui/pages/page_helpers.rs @@ -41,5 +41,5 @@ mod tests { assert_eq!(get_column_string(text2, width), "test ".to_owned()); assert_eq!(get_column_string(text3, width), "testme".to_owned()); assert_eq!(get_column_string(text4, width), "tes...".to_owned()); - } -} \ No newline at end of file + } +}