A better Rust ATProto crate
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)] 18#[serde(rename_all = "camelCase")] 19pub struct ConflictInfo<'a> { 20 ///Name of the conflicted file 21 #[serde(borrow)] 22 pub filename: jacquard_common::CowStr<'a>, 23 ///Reason for the conflict 24 #[serde(borrow)] 25 pub reason: jacquard_common::CowStr<'a>, 26} 27 28#[jacquard_derive::lexicon] 29#[derive( 30 serde::Serialize, 31 serde::Deserialize, 32 Debug, 33 Clone, 34 PartialEq, 35 Eq, 36 bon::Builder, 37 jacquard_derive::IntoStatic 38)] 39#[serde(rename_all = "camelCase")] 40#[builder(start_fn = new)] 41pub struct MergeCheck<'a> { 42 ///Target branch to merge into 43 #[serde(borrow)] 44 #[builder(into)] 45 pub branch: 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 or pull request to check for merge conflicts 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#[jacquard_derive::lexicon] 67#[derive( 68 serde::Serialize, 69 serde::Deserialize, 70 Debug, 71 Clone, 72 PartialEq, 73 Eq, 74 jacquard_derive::IntoStatic 75)] 76#[serde(rename_all = "camelCase")] 77pub struct MergeCheckOutput<'a> { 78 ///List of files with merge conflicts 79 #[serde(skip_serializing_if = "std::option::Option::is_none")] 80 #[serde(borrow)] 81 pub conflicts: std::option::Option<Vec<jacquard_common::types::value::Data<'a>>>, 82 ///Error message if check failed 83 #[serde(skip_serializing_if = "std::option::Option::is_none")] 84 #[serde(borrow)] 85 pub error: std::option::Option<jacquard_common::CowStr<'a>>, 86 ///Whether the merge has conflicts 87 pub is_conflicted: bool, 88 ///Additional message about the merge check 89 #[serde(skip_serializing_if = "std::option::Option::is_none")] 90 #[serde(borrow)] 91 pub message: std::option::Option<jacquard_common::CowStr<'a>>, 92} 93 94///Response type for 95///sh.tangled.repo.mergeCheck 96pub struct MergeCheckResponse; 97impl jacquard_common::xrpc::XrpcResp for MergeCheckResponse { 98 const NSID: &'static str = "sh.tangled.repo.mergeCheck"; 99 const ENCODING: &'static str = "application/json"; 100 type Output<'de> = MergeCheckOutput<'de>; 101 type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 102} 103 104impl<'a> jacquard_common::xrpc::XrpcRequest for MergeCheck<'a> { 105 const NSID: &'static str = "sh.tangled.repo.mergeCheck"; 106 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 107 "application/json", 108 ); 109 type Response = MergeCheckResponse; 110} 111 112///Endpoint type for 113///sh.tangled.repo.mergeCheck 114pub struct MergeCheckRequest; 115impl jacquard_common::xrpc::XrpcEndpoint for MergeCheckRequest { 116 const PATH: &'static str = "/xrpc/sh.tangled.repo.mergeCheck"; 117 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 118 "application/json", 119 ); 120 type Request<'de> = MergeCheck<'de>; 121 type Response = MergeCheckResponse; 122}