scrumtask-cli/src/models.rs
itsscb 148ca03686 adds DB rw
adds dependencies

adds models derivations
2024-08-04 22:16:47 +02:00

54 lines
1.1 KiB
Rust

use std::collections::HashMap;
use serde::{Deserialize, Serialize};
#[derive(Debug, PartialEq, Eq, Serialize, Deserialize)]
pub enum Status {
Open,
InProgress,
Resolved,
Closed,
}
#[derive(Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct Epic {
pub name: String,
pub description: String,
pub status: Status,
pub stories: Vec<u32>,
}
impl Epic {
pub fn new(name: String, description: String) -> Self {
Self {
name,
description,
status: Status::Open,
stories: vec![]
}
}
}
#[derive(Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct Story {
pub name: String,
pub description: String,
pub status: Status,
}
impl Story {
pub fn new(name: String, description: String) -> Self {
Self {
name,
description,
status: Status::Open,
}
}
}
#[derive(Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct DBState {
pub last_item_id: u32,
pub epics: HashMap<u32, Epic>,
pub stories: HashMap<u32, Story>,
}