use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct SelectLinkedInOrganizationRequest {
#[serde(rename = "profileId")]
pub profile_id: String,
#[serde(rename = "tempToken")]
pub temp_token: String,
#[serde(rename = "userProfile")]
pub user_profile: serde_json::Value,
#[serde(rename = "accountType")]
pub account_type: AccountType,
#[serde(
rename = "selectedOrganization",
skip_serializing_if = "Option::is_none"
)]
pub selected_organization: Option<serde_json::Value>,
#[serde(rename = "redirect_url", skip_serializing_if = "Option::is_none")]
pub redirect_url: Option<String>,
}
impl SelectLinkedInOrganizationRequest {
pub fn new(
profile_id: String,
temp_token: String,
user_profile: serde_json::Value,
account_type: AccountType,
) -> SelectLinkedInOrganizationRequest {
SelectLinkedInOrganizationRequest {
profile_id,
temp_token,
user_profile,
account_type,
selected_organization: None,
redirect_url: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum AccountType {
#[serde(rename = "personal")]
Personal,
#[serde(rename = "organization")]
Organization,
}
impl Default for AccountType {
fn default() -> AccountType {
Self::Personal
}
}