jacquard_api/network_slices/slice/
create_o_auth_client.rs1#[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 CreateOAuthClient<'a> {
22 #[serde(borrow)]
24 #[builder(into)]
25 pub client_name: jacquard_common::CowStr<'a>,
26 #[serde(skip_serializing_if = "std::option::Option::is_none")]
28 #[serde(borrow)]
29 pub client_uri: std::option::Option<jacquard_common::types::string::Uri<'a>>,
30 #[serde(skip_serializing_if = "std::option::Option::is_none")]
32 #[serde(borrow)]
33 pub grant_types: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
34 #[serde(skip_serializing_if = "std::option::Option::is_none")]
36 #[serde(borrow)]
37 pub logo_uri: std::option::Option<jacquard_common::types::string::Uri<'a>>,
38 #[serde(skip_serializing_if = "std::option::Option::is_none")]
40 #[serde(borrow)]
41 pub policy_uri: std::option::Option<jacquard_common::types::string::Uri<'a>>,
42 #[serde(borrow)]
44 pub redirect_uris: Vec<jacquard_common::types::string::Uri<'a>>,
45 #[serde(skip_serializing_if = "std::option::Option::is_none")]
47 #[serde(borrow)]
48 pub response_types: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
49 #[serde(skip_serializing_if = "std::option::Option::is_none")]
51 #[serde(borrow)]
52 #[builder(into)]
53 pub scope: std::option::Option<jacquard_common::CowStr<'a>>,
54 #[serde(borrow)]
56 #[builder(into)]
57 pub slice_uri: jacquard_common::CowStr<'a>,
58 #[serde(skip_serializing_if = "std::option::Option::is_none")]
60 #[serde(borrow)]
61 pub tos_uri: std::option::Option<jacquard_common::types::string::Uri<'a>>,
62 #[serde(flatten)]
63 #[serde(borrow)]
64 #[builder(default)]
65 pub extra_data: ::std::collections::BTreeMap<
66 ::jacquard_common::smol_str::SmolStr,
67 ::jacquard_common::types::value::Data<'a>,
68 >,
69}
70
71#[jacquard_derive::lexicon]
72#[derive(
73 serde::Serialize,
74 serde::Deserialize,
75 Debug,
76 Clone,
77 PartialEq,
78 Eq,
79 jacquard_derive::IntoStatic
80)]
81#[serde(rename_all = "camelCase")]
82pub struct CreateOAuthClientOutput<'a> {
83 #[serde(flatten)]
84 #[serde(borrow)]
85 pub value: crate::network_slices::slice::get_o_auth_clients::OauthClientDetails<'a>,
86}
87
88pub struct CreateOAuthClientResponse;
91impl jacquard_common::xrpc::XrpcResp for CreateOAuthClientResponse {
92 const NSID: &'static str = "network.slices.slice.createOAuthClient";
93 const ENCODING: &'static str = "application/json";
94 type Output<'de> = CreateOAuthClientOutput<'de>;
95 type Err<'de> = jacquard_common::xrpc::GenericError<'de>;
96}
97
98impl<'a> jacquard_common::xrpc::XrpcRequest for CreateOAuthClient<'a> {
99 const NSID: &'static str = "network.slices.slice.createOAuthClient";
100 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
101 "application/json",
102 );
103 type Response = CreateOAuthClientResponse;
104}
105
106pub struct CreateOAuthClientRequest;
109impl jacquard_common::xrpc::XrpcEndpoint for CreateOAuthClientRequest {
110 const PATH: &'static str = "/xrpc/network.slices.slice.createOAuthClient";
111 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
112 "application/json",
113 );
114 type Request<'de> = CreateOAuthClient<'de>;
115 type Response = CreateOAuthClientResponse;
116}