1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: sh.tangled.repo.create
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 Create<'a> {
22 ///Default branch to push to
23 #[serde(skip_serializing_if = "std::option::Option::is_none")]
24 #[serde(borrow)]
25 #[builder(into)]
26 pub default_branch: std::option::Option<jacquard_common::CowStr<'a>>,
27 ///Rkey of the repository record
28 #[serde(borrow)]
29 #[builder(into)]
30 pub rkey: jacquard_common::CowStr<'a>,
31 ///A source URL to clone from, populate this when forking or importing a repository.
32 #[serde(skip_serializing_if = "std::option::Option::is_none")]
33 #[serde(borrow)]
34 #[builder(into)]
35 pub source: std::option::Option<jacquard_common::CowStr<'a>>,
36 #[serde(flatten)]
37 #[serde(borrow)]
38 #[builder(default)]
39 pub extra_data: ::std::collections::BTreeMap<
40 ::jacquard_common::smol_str::SmolStr,
41 ::jacquard_common::types::value::Data<'a>,
42 >,
43}
44
45///Response type for
46///sh.tangled.repo.create
47pub struct CreateResponse;
48impl jacquard_common::xrpc::XrpcResp for CreateResponse {
49 const NSID: &'static str = "sh.tangled.repo.create";
50 const ENCODING: &'static str = "application/json";
51 type Output<'de> = ();
52 type Err<'de> = jacquard_common::xrpc::GenericError<'de>;
53}
54
55impl<'a> jacquard_common::xrpc::XrpcRequest for Create<'a> {
56 const NSID: &'static str = "sh.tangled.repo.create";
57 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
58 "application/json",
59 );
60 type Response = CreateResponse;
61}
62
63///Endpoint type for
64///sh.tangled.repo.create
65pub struct CreateRequest;
66impl jacquard_common::xrpc::XrpcEndpoint for CreateRequest {
67 const PATH: &'static str = "/xrpc/sh.tangled.repo.create";
68 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
69 "application/json",
70 );
71 type Request<'de> = Create<'de>;
72 type Response = CreateResponse;
73}