use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct LicensePolicyResponse {
#[serde(rename = "action")]
pub action: String,
#[serde(rename = "allow_unknown")]
pub allow_unknown: bool,
#[serde(rename = "allowed_licenses")]
pub allowed_licenses: Vec<String>,
#[serde(rename = "created_at")]
pub created_at: String,
#[serde(rename = "denied_licenses")]
pub denied_licenses: Vec<String>,
#[serde(rename = "description", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub description: Option<Option<String>>,
#[serde(rename = "id")]
pub id: uuid::Uuid,
#[serde(rename = "is_enabled")]
pub is_enabled: bool,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "repository_id", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub repository_id: Option<Option<uuid::Uuid>>,
#[serde(rename = "updated_at", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub updated_at: Option<Option<String>>,
}
impl LicensePolicyResponse {
pub fn new(action: String, allow_unknown: bool, allowed_licenses: Vec<String>, created_at: String, denied_licenses: Vec<String>, id: uuid::Uuid, is_enabled: bool, name: String) -> LicensePolicyResponse {
LicensePolicyResponse {
action,
allow_unknown,
allowed_licenses,
created_at,
denied_licenses,
description: None,
id,
is_enabled,
name,
repository_id: None,
updated_at: None,
}
}
}