Skip to main content

jacquard_api/sh_tangled/repo/
create.rs

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#[allow(unused_imports)]
9use alloc::collections::BTreeMap;
10
11#[allow(unused_imports)]
12use core::marker::PhantomData;
13use jacquard_common::CowStr;
14use jacquard_derive::{IntoStatic, lexicon};
15use serde::{Serialize, Deserialize};
16
17#[lexicon]
18#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
19#[serde(rename_all = "camelCase")]
20pub struct Create<'a> {
21    ///Default branch to push to
22    #[serde(skip_serializing_if = "Option::is_none")]
23    #[serde(borrow)]
24    pub default_branch: Option<CowStr<'a>>,
25    ///Rkey of the repository record
26    #[serde(borrow)]
27    pub rkey: CowStr<'a>,
28    ///A source URL to clone from, populate this when forking or importing a repository.
29    #[serde(skip_serializing_if = "Option::is_none")]
30    #[serde(borrow)]
31    pub source: Option<CowStr<'a>>,
32}
33
34/// Response type for sh.tangled.repo.create
35pub struct CreateResponse;
36impl jacquard_common::xrpc::XrpcResp for CreateResponse {
37    const NSID: &'static str = "sh.tangled.repo.create";
38    const ENCODING: &'static str = "application/json";
39    type Output<'de> = ();
40    type Err<'de> = jacquard_common::xrpc::GenericError<'de>;
41}
42
43impl<'a> jacquard_common::xrpc::XrpcRequest for Create<'a> {
44    const NSID: &'static str = "sh.tangled.repo.create";
45    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
46        "application/json",
47    );
48    type Response = CreateResponse;
49}
50
51/// Endpoint type for sh.tangled.repo.create
52pub struct CreateRequest;
53impl jacquard_common::xrpc::XrpcEndpoint for CreateRequest {
54    const PATH: &'static str = "/xrpc/sh.tangled.repo.create";
55    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
56        "application/json",
57    );
58    type Request<'de> = Create<'de>;
59    type Response = CreateResponse;
60}