1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: sh.tangled.repo.merge
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 bon::Builder,
17 jacquard_derive::IntoStatic
18)]
19#[serde(rename_all = "camelCase")]
20#[builder(start_fn = new)]
21pub struct Merge<'a> {
22 /// Author email for the merge commit
23 #[serde(skip_serializing_if = "std::option::Option::is_none")]
24 #[builder(into)]
25 #[serde(borrow)]
26 pub author_email: Option<jacquard_common::CowStr<'a>>,
27 /// Author name for the merge commit
28 #[serde(skip_serializing_if = "std::option::Option::is_none")]
29 #[builder(into)]
30 #[serde(borrow)]
31 pub author_name: Option<jacquard_common::CowStr<'a>>,
32 /// Target branch to merge into
33 #[serde(borrow)]
34 #[builder(into)]
35 pub branch: jacquard_common::CowStr<'a>,
36 /// Additional commit message body
37 #[serde(skip_serializing_if = "std::option::Option::is_none")]
38 #[builder(into)]
39 #[serde(borrow)]
40 pub commit_body: Option<jacquard_common::CowStr<'a>>,
41 /// Merge commit message
42 #[serde(skip_serializing_if = "std::option::Option::is_none")]
43 #[builder(into)]
44 #[serde(borrow)]
45 pub commit_message: Option<jacquard_common::CowStr<'a>>,
46 /// DID of the repository owner
47 #[serde(borrow)]
48 pub did: jacquard_common::types::string::Did<'a>,
49 /// Name of the repository
50 #[serde(borrow)]
51 #[builder(into)]
52 pub name: jacquard_common::CowStr<'a>,
53 /// Patch content to merge
54 #[serde(borrow)]
55 #[builder(into)]
56 pub patch: jacquard_common::CowStr<'a>,
57 #[serde(flatten)]
58 #[serde(borrow)]
59 #[builder(default)]
60 pub extra_data: ::std::collections::BTreeMap<
61 ::jacquard_common::smol_str::SmolStr,
62 ::jacquard_common::types::value::Data<'a>,
63 >,
64}
65
66///Response type for
67///sh.tangled.repo.merge
68pub struct MergeResponse;
69impl jacquard_common::xrpc::XrpcResp for MergeResponse {
70 const NSID: &'static str = "sh.tangled.repo.merge";
71 const ENCODING: &'static str = "application/json";
72 type Output<'de> = ();
73 type Err<'de> = jacquard_common::xrpc::GenericError<'de>;
74}
75
76impl<'a> jacquard_common::xrpc::XrpcRequest for Merge<'a> {
77 const NSID: &'static str = "sh.tangled.repo.merge";
78 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
79 "application/json",
80 );
81 type Response = MergeResponse;
82}
83
84///Endpoint type for
85///sh.tangled.repo.merge
86pub struct MergeRequest;
87impl jacquard_common::xrpc::XrpcEndpoint for MergeRequest {
88 const PATH: &'static str = "/xrpc/sh.tangled.repo.merge";
89 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
90 "application/json",
91 );
92 type Request<'de> = Merge<'de>;
93 type Response = MergeResponse;
94}