use serde::{Serialize}; #[derive(Serialize, Copy, Clone)] pub enum ReviewState { DRAFT, OPEN, DROPPED, CLOSED, } #[derive(Serialize)] pub struct User<'r> { pub username: &'r str, pub name: &'r str, pub active: bool, } #[derive(Serialize)] pub struct Review<'r> { pub id: u64, pub title: &'r str, pub description: &'r str, pub owner: &'r User<'r>, pub reviewers: Vec<&'r User<'r>>, pub watchers: Vec<&'r User<'r>>, pub state: ReviewState, pub progress: f64, } #[derive(Serialize)] pub struct ReviewEntry<'r> { pub id: u64, pub title: &'r str, pub owner: &'r User<'r>, pub state: ReviewState, pub progress: f64, } #[derive(Serialize)] pub struct Reviews<'r> { pub offset: u32, pub limit: u32, pub total_count: u32, pub more: bool, pub reviews: Vec>, }