/*
 * Orvanta API
 *
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 1.0.6
 * Contact: contact@orvanta.cloud
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct OffboardPreview {
    #[serde(rename = "owned")]
    pub owned: Box<models::OffboardAffectedPaths>,
    #[serde(rename = "executing_on_behalf")]
    pub executing_on_behalf: Box<models::OffboardAffectedPaths>,
    #[serde(rename = "referencing")]
    pub referencing: Box<models::OffboardAffectedPaths>,
    /// Tokens owned by this user (will be deleted)
    #[serde(rename = "tokens")]
    pub tokens: Vec<models::OffboardTokenInfo>,
    /// HTTP triggers under the user's path (webhook URLs will change)
    #[serde(rename = "http_triggers")]
    pub http_triggers: i32,
    /// Email triggers under the user's path (email addresses will change)
    #[serde(rename = "email_triggers")]
    pub email_triggers: i32,
}

impl OffboardPreview {
    pub fn new(owned: models::OffboardAffectedPaths, executing_on_behalf: models::OffboardAffectedPaths, referencing: models::OffboardAffectedPaths, tokens: Vec<models::OffboardTokenInfo>, http_triggers: i32, email_triggers: i32) -> OffboardPreview {
        OffboardPreview {
            owned: Box::new(owned),
            executing_on_behalf: Box::new(executing_on_behalf),
            referencing: Box::new(referencing),
            tokens,
            http_triggers,
            email_triggers,
        }
    }
}

