From 9e80b8cd1e44fcf863d926055d9fa458db46e0d3 Mon Sep 17 00:00:00 2001 From: Joel Klinghed Date: Sun, 26 Jan 2025 21:58:42 +0100 Subject: Add basic git support Pushing a commit to a new branch creates a review. Each project has its own git directory, with githooks installed that talkes with server process via unix sockets. --- server/src/api_model.rs | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'server/src/api_model.rs') diff --git a/server/src/api_model.rs b/server/src/api_model.rs index 3e94d6c..2dc20f1 100644 --- a/server/src/api_model.rs +++ b/server/src/api_model.rs @@ -9,6 +9,40 @@ pub enum ReviewState { Closed, } +impl TryFrom for ReviewState { + type Error = &'static str; + + fn try_from(value: u8) -> Result { + match value { + 0 => Ok(ReviewState::Draft), + 1 => Ok(ReviewState::Open), + 2 => Ok(ReviewState::Dropped), + 3 => Ok(ReviewState::Closed), + _ => Err("Invalid review state"), + } + } +} + +#[derive(Copy, Clone, Deserialize, Serialize, ToSchema)] +pub enum Rewrite { + Disabled, + History, + Rebase, +} + +impl TryFrom for Rewrite { + type Error = &'static str; + + fn try_from(value: u8) -> Result { + match value { + 0 => Ok(Rewrite::Disabled), + 1 => Ok(Rewrite::History), + 2 => Ok(Rewrite::Rebase), + _ => Err("Invalid review state"), + } + } +} + #[derive(Copy, Clone, Debug, Deserialize, PartialEq, Serialize, ToSchema)] pub enum UserReviewRole { Reviewer, -- cgit v1.2.3-70-g09d2