pulse_pixelstream_types/
control_lock.rs1use myko::entities::client::{Client, ClientId};
2use myko::prelude::*;
3use myko_macros::myko_item;
4
5use crate::stream::{Stream, StreamId};
6
7#[myko_item]
10pub struct ControlLock {
11 #[belongs_to(Stream)]
12 pub stream_id: StreamId,
13 pub viewer_id: String,
14 #[myko_client_id]
15 #[belongs_to(Client)]
16 #[serde(default, skip_serializing_if = "Option::is_none")]
17 pub client_id: Option<ClientId>,
18}
19
20impl ControlLock {
21 pub fn row_id(stream_id: &StreamId) -> ControlLockId {
22 stream_id.0.to_string().into()
23 }
24}