1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: sh.tangled.repo.mergeCheck
4//
5// This file was automatically generated from Lexicon schemas.
6// Any manual changes will be overwritten on the next regeneration.
7
8#[jacquard_derive::lexicon]
9#[derive(
10 serde::Serialize,
11 serde::Deserialize,
12 Debug,
13 Clone,
14 PartialEq,
15 Eq,
16 jacquard_derive::IntoStatic,
17 Default
18)]
19#[serde(rename_all = "camelCase")]
20pub struct ConflictInfo<'a> {
21 /// Name of the conflicted file
22 #[serde(borrow)]
23 pub filename: jacquard_common::CowStr<'a>,
24 /// Reason for the conflict
25 #[serde(borrow)]
26 pub reason: jacquard_common::CowStr<'a>,
27}
28
29#[jacquard_derive::lexicon]
30#[derive(
31 serde::Serialize,
32 serde::Deserialize,
33 Debug,
34 Clone,
35 PartialEq,
36 Eq,
37 bon::Builder,
38 jacquard_derive::IntoStatic
39)]
40#[serde(rename_all = "camelCase")]
41#[builder(start_fn = new)]
42pub struct MergeCheck<'a> {
43 /// Target branch to merge into
44 #[serde(borrow)]
45 #[builder(into)]
46 pub branch: jacquard_common::CowStr<'a>,
47 /// DID of the repository owner
48 #[serde(borrow)]
49 pub did: jacquard_common::types::string::Did<'a>,
50 /// Name of the repository
51 #[serde(borrow)]
52 #[builder(into)]
53 pub name: jacquard_common::CowStr<'a>,
54 /// Patch or pull request to check for merge conflicts
55 #[serde(borrow)]
56 #[builder(into)]
57 pub patch: jacquard_common::CowStr<'a>,
58 #[serde(flatten)]
59 #[serde(borrow)]
60 #[builder(default)]
61 pub extra_data: ::std::collections::BTreeMap<
62 ::jacquard_common::smol_str::SmolStr,
63 ::jacquard_common::types::value::Data<'a>,
64 >,
65}
66
67#[jacquard_derive::lexicon]
68#[derive(
69 serde::Serialize,
70 serde::Deserialize,
71 Debug,
72 Clone,
73 PartialEq,
74 Eq,
75 jacquard_derive::IntoStatic
76)]
77#[serde(rename_all = "camelCase")]
78pub struct MergeCheckOutput<'a> {
79 /// List of files with merge conflicts
80 #[serde(skip_serializing_if = "std::option::Option::is_none")]
81 #[serde(borrow)]
82 pub conflicts: std::option::Option<Vec<jacquard_common::types::value::Data<'a>>>,
83 /// Error message if check failed
84 #[serde(skip_serializing_if = "std::option::Option::is_none")]
85 #[serde(borrow)]
86 pub error: std::option::Option<jacquard_common::CowStr<'a>>,
87 /// Whether the merge has conflicts
88 pub is_conflicted: bool,
89 /// Additional message about the merge check
90 #[serde(skip_serializing_if = "std::option::Option::is_none")]
91 #[serde(borrow)]
92 pub message: std::option::Option<jacquard_common::CowStr<'a>>,
93}
94
95///Response type for
96///sh.tangled.repo.mergeCheck
97pub struct MergeCheckResponse;
98impl jacquard_common::xrpc::XrpcResp for MergeCheckResponse {
99 const NSID: &'static str = "sh.tangled.repo.mergeCheck";
100 const ENCODING: &'static str = "application/json";
101 type Output<'de> = MergeCheckOutput<'de>;
102 type Err<'de> = jacquard_common::xrpc::GenericError<'de>;
103}
104
105impl<'a> jacquard_common::xrpc::XrpcRequest for MergeCheck<'a> {
106 const NSID: &'static str = "sh.tangled.repo.mergeCheck";
107 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
108 "application/json",
109 );
110 type Response = MergeCheckResponse;
111}
112
113///Endpoint type for
114///sh.tangled.repo.mergeCheck
115pub struct MergeCheckRequest;
116impl jacquard_common::xrpc::XrpcEndpoint for MergeCheckRequest {
117 const PATH: &'static str = "/xrpc/sh.tangled.repo.mergeCheck";
118 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
119 "application/json",
120 );
121 type Request<'de> = MergeCheck<'de>;
122 type Response = MergeCheckResponse;
123}