namespace dy.net.model.dto { public enum DouyinLiveStatusState { Unknown = 0, Offline = 1, Live = 2 } public sealed class FollowLiveMonitorUpdateDto { public string Id { get; set; } public bool Enabled { get; set; } } public sealed class FollowLiveStatusRefreshDto { public string Id { get; set; } } public sealed class FollowLiveStatusQueryDto { public List Ids { get; set; } = new(); } public sealed class FollowLiveStatusDto { public string Id { get; set; } public bool LiveMonitorEnabled { get; set; } public DouyinLiveStatusState LiveStatus { get; set; } public string LiveRoomId { get; set; } public string LiveWebRid { get; set; } public string LiveTitle { get; set; } public string LiveRoomUrl { get; set; } public DateTime? LiveCheckedAt { get; set; } public DateTime? LiveStatusUpdatedAt { get; set; } public DateTime? LiveStartedAt { get; set; } public string LiveCheckError { get; set; } public bool LiveStatusStale { get; set; } public bool LiveEmailNotificationEnabled { get; set; } public DateTime? LastLiveNotifiedAt { get; set; } public string LastLiveNotificationError { get; set; } } public sealed class DouyinLiveStatusProbe { public DouyinLiveStatusState Status { get; set; } public string RoomId { get; set; } public string WebRid { get; set; } public string Title { get; set; } public DateTime? StartedAt { get; set; } } }