args_api/endpoint/review/
review_review_diff.rs1use 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;