Skip to main content

args_api/endpoint/review/
review_review_diff.rs

1use serde::{Deserialize, Serialize};
2use uuid::Uuid;
3
4use crate::{endpoint::Endpoint, resource::review::ReviewResource};
5
6pub struct ReviewReviewDiff;
7
8impl Endpoint for ReviewReviewDiff {
9    const PATH: &'static str = "/repository/{owner}/{repo}/review/{number}/diff/{position}/review";
10    const METHOD: http::Method = http::Method::POST;
11
12    type Request = ReviewReviewDiffRequest;
13    type Response = ReviewReviewDiffResponse;
14}
15
16#[derive(ApiRequest, Debug, Serialize, Deserialize)]
17pub struct ReviewReviewDiffRequest {
18    pub action: String,
19    pub comments: Vec<ReviewReviewDiffCommentInput>,
20}
21
22#[derive(Debug, Serialize, Deserialize)]
23pub struct ReviewReviewDiffCommentInput {
24    pub revision_id: Uuid,
25    pub parent_id: Option<Uuid>,
26    pub body: String,
27    pub file_path: Option<String>,
28    pub line_number_start: Option<i32>,
29    pub line_number_end: Option<i32>,
30    pub start_character: Option<i32>,
31    pub end_character: Option<i32>,
32    pub side: Option<String>,
33}
34
35pub type ReviewReviewDiffResponse = ReviewResource;