use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct YouTubeVideoRetentionResponse {
#[serde(rename = "success", skip_serializing_if = "Option::is_none")]
pub success: Option<bool>,
#[serde(rename = "accountId", skip_serializing_if = "Option::is_none")]
pub account_id: Option<String>,
#[serde(rename = "videoId", skip_serializing_if = "Option::is_none")]
pub video_id: Option<String>,
#[serde(rename = "title", skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(rename = "publishedAt", skip_serializing_if = "Option::is_none")]
pub published_at: Option<String>,
#[serde(rename = "durationSeconds", skip_serializing_if = "Option::is_none")]
pub duration_seconds: Option<i32>,
#[serde(rename = "dateRange", skip_serializing_if = "Option::is_none")]
pub date_range: Option<Box<models::YouTubeDailyViewsResponseDateRange>>,
#[serde(rename = "retentionCurve", skip_serializing_if = "Option::is_none")]
pub retention_curve: Option<Vec<models::YouTubeVideoRetentionResponseRetentionCurveInner>>,
#[serde(rename = "note", skip_serializing_if = "Option::is_none")]
pub note: Option<String>,
#[serde(rename = "scopeStatus", skip_serializing_if = "Option::is_none")]
pub scope_status: Option<Box<models::YouTubeDailyViewsResponseScopeStatus>>,
}
impl YouTubeVideoRetentionResponse {
pub fn new() -> YouTubeVideoRetentionResponse {
YouTubeVideoRetentionResponse {
success: None,
account_id: None,
video_id: None,
title: None,
published_at: None,
duration_seconds: None,
date_range: None,
retention_curve: None,
note: None,
scope_status: None,
}
}
}