spatio_sdk/models/
client_registration_request.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct ClientRegistrationRequest {
16 #[serde(rename = "client_name")]
17 pub client_name: String,
18 #[serde(rename = "redirect_uris")]
19 pub redirect_uris: Vec<String>,
20 #[serde(rename = "grant_types", skip_serializing_if = "Option::is_none")]
21 pub grant_types: Option<Vec<String>>,
22 #[serde(rename = "response_types", skip_serializing_if = "Option::is_none")]
23 pub response_types: Option<Vec<String>>,
24 #[serde(rename = "scope", skip_serializing_if = "Option::is_none")]
26 pub scope: Option<String>,
27 #[serde(rename = "token_endpoint_auth_method", skip_serializing_if = "Option::is_none")]
28 pub token_endpoint_auth_method: Option<TokenEndpointAuthMethod>,
29 #[serde(rename = "client_uri", skip_serializing_if = "Option::is_none")]
30 pub client_uri: Option<String>,
31 #[serde(rename = "logo_uri", skip_serializing_if = "Option::is_none")]
32 pub logo_uri: Option<String>,
33 #[serde(rename = "policy_uri", skip_serializing_if = "Option::is_none")]
34 pub policy_uri: Option<String>,
35 #[serde(rename = "tos_uri", skip_serializing_if = "Option::is_none")]
36 pub tos_uri: Option<String>,
37}
38
39impl ClientRegistrationRequest {
40 pub fn new(client_name: String, redirect_uris: Vec<String>) -> ClientRegistrationRequest {
41 ClientRegistrationRequest {
42 client_name,
43 redirect_uris,
44 grant_types: None,
45 response_types: None,
46 scope: None,
47 token_endpoint_auth_method: None,
48 client_uri: None,
49 logo_uri: None,
50 policy_uri: None,
51 tos_uri: None,
52 }
53 }
54}
55#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
57pub enum TokenEndpointAuthMethod {
58 #[serde(rename = "none")]
59 None,
60 #[serde(rename = "client_secret_basic")]
61 ClientSecretBasic,
62 #[serde(rename = "client_secret_post")]
63 ClientSecretPost,
64}
65
66impl Default for TokenEndpointAuthMethod {
67 fn default() -> TokenEndpointAuthMethod {
68 Self::None
69 }
70}
71