From 3010daec061acd4ee88266a759abab0ac18cd100 Mon Sep 17 00:00:00 2001 From: Joel Klinghed Date: Sat, 21 Dec 2024 14:57:59 +0100 Subject: Initial commit --- server/src/api_model.rs | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 server/src/api_model.rs (limited to 'server/src/api_model.rs') diff --git a/server/src/api_model.rs b/server/src/api_model.rs new file mode 100644 index 0000000..4b6eced --- /dev/null +++ b/server/src/api_model.rs @@ -0,0 +1,46 @@ +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>, +} -- cgit v1.2.3-70-g09d2