use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct CampaignPreview {
#[serde(rename = "id")]
pub id: uuid::Uuid,
#[serde(rename = "created_at")]
pub created_at: String,
#[serde(rename = "updated_at")]
pub updated_at: String,
#[serde(rename = "deleted_at", deserialize_with = "Option::deserialize")]
pub deleted_at: Option<String>,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "owner_id")]
pub owner_id: uuid::Uuid,
#[serde(rename = "workspace_id")]
pub workspace_id: uuid::Uuid,
#[serde(rename = "description")]
pub description: String,
#[serde(rename = "max_nb_events")]
pub max_nb_events: i32,
#[serde(rename = "search_params", deserialize_with = "Option::deserialize")]
pub search_params: Option<Box<models::FilterPayload>>,
#[serde(rename = "judge")]
pub judge: Box<models::JudgePreview>,
}
impl CampaignPreview {
pub fn new(id: uuid::Uuid, created_at: String, updated_at: String, deleted_at: Option<String>, name: String, owner_id: uuid::Uuid, workspace_id: uuid::Uuid, description: String, max_nb_events: i32, search_params: Option<models::FilterPayload>, judge: models::JudgePreview) -> CampaignPreview {
CampaignPreview {
id,
created_at,
updated_at,
deleted_at,
name,
owner_id,
workspace_id,
description,
max_nb_events,
search_params: if let Some(x) = search_params {Some(Box::new(x))} else {None},
judge: Box::new(judge),
}
}
}