use serde::{Deserialize, Serialize};
use crate::Reaction;
#[derive(Clone, Debug, Serialize, Deserialize, Eq, PartialEq)]
#[serde(rename_all = "UPPERCASE")]
pub enum ReviewState {
Pending,
Approved,
ChangesRequested,
Commented,
}
#[derive(Clone, Debug, Serialize, Deserialize, Eq, PartialEq)]
pub struct Review {
pub index: usize,
pub issue_index: usize,
pub reviewer_id: usize,
pub official: Option<bool>,
pub commit_id: String,
pub content: String,
pub created_at: String,
pub state: ReviewState,
pub comments: Option<Vec<ReviewComment>>,
}
#[derive(Clone, Debug, Serialize, Deserialize, Eq, PartialEq)]
pub struct ReviewComment {
pub index: usize,
pub in_reply_to: usize,
pub content: String,
pub tree_path: String,
pub diff_hunk: String,
pub patch: String,
pub position: usize,
pub line: usize,
pub commit_id: String,
pub poster_id: usize,
pub created_at: String,
pub updated_at: String,
pub reactions: Option<Vec<Reaction>>,
}