/*
 * Artifact Keeper API
 *
 * Enterprise artifact registry supporting 45+ package formats.
 *
 * The version of the OpenAPI document: 1.2.1
 * 
 * Generated by: https://openapi-generator.tech
 */

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

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct MigrationReportResponse {
    #[serde(rename = "errors")]
    pub errors: serde_json::Value,
    #[serde(rename = "generated_at")]
    pub generated_at: String,
    #[serde(rename = "id")]
    pub id: uuid::Uuid,
    #[serde(rename = "job_id")]
    pub job_id: uuid::Uuid,
    #[serde(rename = "recommendations")]
    pub recommendations: serde_json::Value,
    #[serde(rename = "summary")]
    pub summary: serde_json::Value,
    #[serde(rename = "warnings")]
    pub warnings: serde_json::Value,
}

impl MigrationReportResponse {
    pub fn new(errors: serde_json::Value, generated_at: String, id: uuid::Uuid, job_id: uuid::Uuid, recommendations: serde_json::Value, summary: serde_json::Value, warnings: serde_json::Value) -> MigrationReportResponse {
        MigrationReportResponse {
            errors,
            generated_at,
            id,
            job_id,
            recommendations,
            summary,
            warnings,
        }
    }
}

