summaryrefslogtreecommitdiff
path: root/server/src/api_model.rs
diff options
context:
space:
mode:
authorJoel Klinghed <the_jk@spawned.biz>2025-01-26 21:58:42 +0100
committerJoel Klinghed <the_jk@spawned.biz>2025-01-26 21:58:42 +0100
commit9e80b8cd1e44fcf863d926055d9fa458db46e0d3 (patch)
tree1fd262ac79127e60d91f9e7efac9702ec3058cdb /server/src/api_model.rs
parent42334c32226f0ff3248d6d0c7641b7170ca962ce (diff)
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.
Diffstat (limited to 'server/src/api_model.rs')
-rw-r--r--server/src/api_model.rs34
1 files changed, 34 insertions, 0 deletions
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<u8> for ReviewState {
+ type Error = &'static str;
+
+ fn try_from(value: u8) -> Result<Self, Self::Error> {
+ 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<u8> for Rewrite {
+ type Error = &'static str;
+
+ fn try_from(value: u8) -> Result<Self, Self::Error> {
+ 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,