/*
 * Pescheck API
 *
 * Official client library for the Pescheck API (v2), generated from the OpenAPI specification. Authenticate with OAuth2 client credentials and use the checks, profiles, screenings, webhooks and divisions endpoints. See https://github.com/pescheckit/pescheck-clients for installation and usage.
 *
 * The version of the OpenAPI document: 2.0.0
 * 
 * Generated by: https://openapi-generator.tech
 */

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

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct V2ScreeningCreate {
    #[serde(rename = "profile_id")]
    pub profile_id: uuid::Uuid,
    #[serde(rename = "candidate")]
    pub candidate: Box<models::V2Candidate>,
    #[serde(rename = "checks", skip_serializing_if = "Option::is_none")]
    pub checks: Option<Vec<models::V2ScreeningCheck>>,
}

impl V2ScreeningCreate {
    pub fn new(profile_id: uuid::Uuid, candidate: models::V2Candidate) -> V2ScreeningCreate {
        V2ScreeningCreate {
            profile_id,
            candidate: Box::new(candidate),
            checks: None,
        }
    }
}

