deriv_api_schema/
app_update_request.rs

1
2// Generated automatically by schema_generator.rs - DO NOT EDIT.
3// Source: ./deriv-api-docs/config/v3/app_update/send.json
4
5// Use direct crate names for imports
6use serde::{Deserialize, Serialize};
7use serde_json::Value;
8
9
10
11// Import required types from the *same* crate
12use crate::scope_item::ScopeItem;
13
14/// Update a new OAuth application
15#[derive(Debug, Clone, Serialize, Deserialize)]
16#[serde(rename_all = "snake_case")]
17pub struct AppUpdateRequest {
18    /// [Optional] Markup to be added to contract prices (as a percentage of contract payout). Max markup: 3%.\n
19    // Correct serde attribute construction - Use helper
20    #[serde(skip_serializing_if = "Option::is_none")] 
21    pub app_markup_percentage: Option<String>,
22    /// Application app_id.\n
23    // Correct serde attribute construction - Use helper
24    
25    pub app_update: i64,
26    /// [Optional] Application's App Store URL (if applicable).\n
27    // Correct serde attribute construction - Use helper
28    #[serde(skip_serializing_if = "Option::is_none")] 
29    pub appstore: Option<String>,
30    /// [Optional] Application's GitHub page (for open-source projects).\n
31    // Correct serde attribute construction - Use helper
32    #[serde(skip_serializing_if = "Option::is_none")] 
33    pub github: Option<String>,
34    /// [Optional] Application's Google Play URL (if applicable).\n
35    // Correct serde attribute construction - Use helper
36    #[serde(skip_serializing_if = "Option::is_none")] 
37    pub googleplay: Option<String>,
38    /// [Optional] Application's homepage URL.\n
39    // Correct serde attribute construction - Use helper
40    #[serde(skip_serializing_if = "Option::is_none")] 
41    pub homepage: Option<String>,
42    /// [Optional] The login id of the user. Mandatory when multiple tokens were provided during authorize.\n
43    // Correct serde attribute construction - Use helper
44    #[serde(skip_serializing_if = "Option::is_none")] 
45    pub loginid: Option<String>,
46    /// Application name.\n
47    // Correct serde attribute construction - Use helper
48    
49    pub name: String,
50    /// [Optional] Used to pass data through the websocket, which may be retrieved via the `echo_req` output field.\n
51    // Correct serde attribute construction - Use helper
52    #[serde(skip_serializing_if = "Option::is_none")] 
53    pub passthrough: Option<Value>,
54    /// [Optional] The URL to redirect to after a successful login. Required if charging markup percentage.\n
55    // Correct serde attribute construction - Use helper
56    #[serde(skip_serializing_if = "Option::is_none")] 
57    pub redirect_uri: Option<String>,
58    /// [Optional] Used to map request to response.\n
59    // Correct serde attribute construction - Use helper
60    #[serde(skip_serializing_if = "Option::is_none")] 
61    pub req_id: Option<i64>,
62    /// Change scopes will revoke all user's grants and log them out.\n
63    // Correct serde attribute construction - Use helper
64    
65    pub scopes: Vec<ScopeItem>,
66    /// [Optional] Used when `verify_email` called. If available, a URL containing the verification token will send to the client's email, otherwise only the token will be sent.\n
67    // Correct serde attribute construction - Use helper
68    #[serde(skip_serializing_if = "Option::is_none")] 
69    pub verification_uri: Option<String>,
70}
71