use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct CreateAccountRequest {
#[serde(rename = "refresh_token")]
pub refresh_token: String,
#[serde(rename = "expires_in")]
pub expires_in: i32,
#[serde(rename = "client")]
pub client: String,
#[serde(rename = "grant_type", skip_serializing_if = "Option::is_none")]
pub grant_type: Option<String>,
#[serde(rename = "cc_client_id", skip_serializing_if = "Option::is_none")]
pub cc_client_id: Option<String>,
#[serde(rename = "cc_client_secret", skip_serializing_if = "Option::is_none")]
pub cc_client_secret: Option<String>,
#[serde(rename = "cc_token_url", skip_serializing_if = "Option::is_none")]
pub cc_token_url: Option<String>,
#[serde(rename = "mcp_server_url", skip_serializing_if = "Option::is_none")]
pub mcp_server_url: Option<String>,
#[serde(rename = "scopes", skip_serializing_if = "Option::is_none")]
pub scopes: Option<Vec<String>>,
}
impl CreateAccountRequest {
pub fn new(refresh_token: String, expires_in: i32, client: String) -> CreateAccountRequest {
CreateAccountRequest {
refresh_token,
expires_in,
client,
grant_type: None,
cc_client_id: None,
cc_client_secret: None,
cc_token_url: None,
mcp_server_url: None,
scopes: None,
}
}
}