Skip to main content

jacquard_api/network_slices/slice/
update_o_auth_client.rs

1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: network.slices.slice.updateOAuthClient
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_common::types::string::UriValue;
15use jacquard_derive::{IntoStatic, lexicon};
16use serde::{Serialize, Deserialize};
17use crate::network_slices::slice::get_o_auth_clients::OauthClientDetails;
18
19#[lexicon]
20#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
21#[serde(rename_all = "camelCase")]
22pub struct UpdateOAuthClient<'a> {
23    ///OAuth client ID to update
24    #[serde(borrow)]
25    pub client_id: CowStr<'a>,
26    ///New human-readable name of the OAuth client
27    #[serde(skip_serializing_if = "Option::is_none")]
28    #[serde(borrow)]
29    pub client_name: Option<CowStr<'a>>,
30    ///New URI of the client application
31    #[serde(skip_serializing_if = "Option::is_none")]
32    #[serde(borrow)]
33    pub client_uri: Option<UriValue<'a>>,
34    ///New URI of the client logo
35    #[serde(skip_serializing_if = "Option::is_none")]
36    #[serde(borrow)]
37    pub logo_uri: Option<UriValue<'a>>,
38    ///New URI of the privacy policy
39    #[serde(skip_serializing_if = "Option::is_none")]
40    #[serde(borrow)]
41    pub policy_uri: Option<UriValue<'a>>,
42    ///New allowed redirect URIs for OAuth flow
43    #[serde(skip_serializing_if = "Option::is_none")]
44    #[serde(borrow)]
45    pub redirect_uris: Option<Vec<UriValue<'a>>>,
46    ///New OAuth scope
47    #[serde(skip_serializing_if = "Option::is_none")]
48    #[serde(borrow)]
49    pub scope: Option<CowStr<'a>>,
50    ///New URI of the terms of service
51    #[serde(skip_serializing_if = "Option::is_none")]
52    #[serde(borrow)]
53    pub tos_uri: Option<UriValue<'a>>,
54}
55
56
57#[lexicon]
58#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
59#[serde(rename_all = "camelCase")]
60pub struct UpdateOAuthClientOutput<'a> {
61    #[serde(flatten)]
62    #[serde(borrow)]
63    pub value: OauthClientDetails<'a>,
64}
65
66/// Response type for network.slices.slice.updateOAuthClient
67pub struct UpdateOAuthClientResponse;
68impl jacquard_common::xrpc::XrpcResp for UpdateOAuthClientResponse {
69    const NSID: &'static str = "network.slices.slice.updateOAuthClient";
70    const ENCODING: &'static str = "application/json";
71    type Output<'de> = UpdateOAuthClientOutput<'de>;
72    type Err<'de> = jacquard_common::xrpc::GenericError<'de>;
73}
74
75impl<'a> jacquard_common::xrpc::XrpcRequest for UpdateOAuthClient<'a> {
76    const NSID: &'static str = "network.slices.slice.updateOAuthClient";
77    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
78        "application/json",
79    );
80    type Response = UpdateOAuthClientResponse;
81}
82
83/// Endpoint type for network.slices.slice.updateOAuthClient
84pub struct UpdateOAuthClientRequest;
85impl jacquard_common::xrpc::XrpcEndpoint for UpdateOAuthClientRequest {
86    const PATH: &'static str = "/xrpc/network.slices.slice.updateOAuthClient";
87    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
88        "application/json",
89    );
90    type Request<'de> = UpdateOAuthClient<'de>;
91    type Response = UpdateOAuthClientResponse;
92}