feat: schedule history — list, detail, rollback endpoints
This commit is contained in:
@@ -180,6 +180,34 @@ impl From<domain::Channel> for ChannelResponse {
|
||||
}
|
||||
}
|
||||
|
||||
// ============================================================================
|
||||
// Config history DTOs
|
||||
// ============================================================================
|
||||
|
||||
#[derive(Debug, Serialize)]
|
||||
pub struct ConfigSnapshotResponse {
|
||||
pub id: Uuid,
|
||||
pub version_num: i64,
|
||||
pub label: Option<String>,
|
||||
pub created_at: DateTime<Utc>,
|
||||
}
|
||||
|
||||
impl From<domain::ChannelConfigSnapshot> for ConfigSnapshotResponse {
|
||||
fn from(s: domain::ChannelConfigSnapshot) -> Self {
|
||||
Self {
|
||||
id: s.id,
|
||||
version_num: s.version_num,
|
||||
label: s.label,
|
||||
created_at: s.created_at,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Deserialize)]
|
||||
pub struct PatchSnapshotRequest {
|
||||
pub label: Option<String>,
|
||||
}
|
||||
|
||||
// ============================================================================
|
||||
// EPG / playback DTOs
|
||||
// ============================================================================
|
||||
@@ -305,6 +333,27 @@ pub struct TranscodeStatsResponse {
|
||||
pub item_count: usize,
|
||||
}
|
||||
|
||||
#[derive(Debug, Serialize)]
|
||||
pub struct ScheduleHistoryEntry {
|
||||
pub id: Uuid,
|
||||
pub generation: u32,
|
||||
pub valid_from: DateTime<Utc>,
|
||||
pub valid_until: DateTime<Utc>,
|
||||
pub slot_count: usize,
|
||||
}
|
||||
|
||||
impl From<domain::GeneratedSchedule> for ScheduleHistoryEntry {
|
||||
fn from(s: domain::GeneratedSchedule) -> Self {
|
||||
Self {
|
||||
id: s.id,
|
||||
generation: s.generation,
|
||||
valid_from: s.valid_from,
|
||||
valid_until: s.valid_until,
|
||||
slot_count: s.slots.len(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl From<domain::GeneratedSchedule> for ScheduleResponse {
|
||||
fn from(s: domain::GeneratedSchedule) -> Self {
|
||||
Self {
|
||||
|
||||
Reference in New Issue
Block a user