use serde::{Deserialize, Serialize}; /*
                                      * Google Identity Toolkit API
                                      *
                                      * Help the third party sites to implement federated login.
                                      *
                                      * The version of the OpenAPI document: v3
                                      *
                                      * Generated by: https://openapi-generator.tech
                                      */

use crate::google_rest_apis::identitytoolkit_v3::models;

/// IdentitytoolkitRelyingpartyGetAccountInfoRequest : Request to get the account information.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct IdentitytoolkitRelyingpartyGetAccountInfoRequest {
    /// GCP project number of the requesting delegated app. Currently only intended for Firebase V1 migration.
    #[serde(
        rename = "delegatedProjectNumber",
        skip_serializing_if = "Option::is_none"
    )]
    pub delegated_project_number: Option<String>,
    /// The list of emails of the users to inquiry.
    #[serde(rename = "email", skip_serializing_if = "Option::is_none")]
    pub email: Option<Vec<String>>,
    /// The GITKit token of the authenticated user.
    #[serde(rename = "idToken", skip_serializing_if = "Option::is_none")]
    pub id_token: Option<String>,
    /// The list of local ID's of the users to inquiry.
    #[serde(rename = "localId", skip_serializing_if = "Option::is_none")]
    pub local_id: Option<Vec<String>>,
    /// Privileged caller can query users by specified phone number.
    #[serde(rename = "phoneNumber", skip_serializing_if = "Option::is_none")]
    pub phone_number: Option<Vec<String>>,
}

impl IdentitytoolkitRelyingpartyGetAccountInfoRequest {
    /// Request to get the account information.
    pub fn new() -> IdentitytoolkitRelyingpartyGetAccountInfoRequest {
        IdentitytoolkitRelyingpartyGetAccountInfoRequest {
            delegated_project_number: None,
            email: None,
            id_token: None,
            local_id: None,
            phone_number: None,
        }
    }
}
