From 995f5b133950e390d0ea68e3cb71d529a953b649 Mon Sep 17 00:00:00 2001 From: Gabriel Kaszewski Date: Tue, 17 Mar 2026 14:25:49 +0100 Subject: [PATCH] feat(domain): add ChannelConfigSnapshot entity --- k-tv-backend/domain/src/entities.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/k-tv-backend/domain/src/entities.rs b/k-tv-backend/domain/src/entities.rs index 8739e64..a1ecf5c 100644 --- a/k-tv-backend/domain/src/entities.rs +++ b/k-tv-backend/domain/src/entities.rs @@ -400,6 +400,18 @@ pub struct PlaybackRecord { pub generation: u32, } +/// A point-in-time snapshot of a channel's `ScheduleConfig`. +/// Auto-created on every config save; users can pin with a label. +#[derive(Debug, Clone, Serialize, Deserialize)] +pub struct ChannelConfigSnapshot { + pub id: Uuid, + pub channel_id: ChannelId, + pub config: ScheduleConfig, + pub version_num: i64, + pub label: Option, + pub created_at: DateTime, +} + impl PlaybackRecord { pub fn new(channel_id: ChannelId, item_id: MediaItemId, generation: u32) -> Self { Self {