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;

/// IdentitytoolkitRelyingpartyVerifyPhoneNumberResponse : Response for Identitytoolkit-VerifyPhoneNumber
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct IdentitytoolkitRelyingpartyVerifyPhoneNumberResponse {
    #[serde(rename = "expiresIn", skip_serializing_if = "Option::is_none")]
    pub expires_in: Option<String>,
    #[serde(rename = "idToken", skip_serializing_if = "Option::is_none")]
    pub id_token: Option<String>,
    #[serde(rename = "isNewUser", skip_serializing_if = "Option::is_none")]
    pub is_new_user: Option<bool>,
    #[serde(rename = "localId", skip_serializing_if = "Option::is_none")]
    pub local_id: Option<String>,
    #[serde(rename = "phoneNumber", skip_serializing_if = "Option::is_none")]
    pub phone_number: Option<String>,
    #[serde(rename = "refreshToken", skip_serializing_if = "Option::is_none")]
    pub refresh_token: Option<String>,
    #[serde(rename = "temporaryProof", skip_serializing_if = "Option::is_none")]
    pub temporary_proof: Option<String>,
    #[serde(
        rename = "temporaryProofExpiresIn",
        skip_serializing_if = "Option::is_none"
    )]
    pub temporary_proof_expires_in: Option<String>,
    #[serde(rename = "verificationProof", skip_serializing_if = "Option::is_none")]
    pub verification_proof: Option<String>,
    #[serde(
        rename = "verificationProofExpiresIn",
        skip_serializing_if = "Option::is_none"
    )]
    pub verification_proof_expires_in: Option<String>,
}

impl IdentitytoolkitRelyingpartyVerifyPhoneNumberResponse {
    /// Response for Identitytoolkit-VerifyPhoneNumber
    pub fn new() -> IdentitytoolkitRelyingpartyVerifyPhoneNumberResponse {
        IdentitytoolkitRelyingpartyVerifyPhoneNumberResponse {
            expires_in: None,
            id_token: None,
            is_new_user: None,
            local_id: None,
            phone_number: None,
            refresh_token: None,
            temporary_proof: None,
            temporary_proof_expires_in: None,
            verification_proof: None,
            verification_proof_expires_in: None,
        }
    }
}
