twilight_model/http/
channel_position.rs1use serde::{Deserialize, Serialize};
4
5use crate::id::{marker::ChannelMarker, Id};
6
7#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
14pub struct Position {
15 pub id: Id<ChannelMarker>,
17 #[serde(skip_serializing_if = "Option::is_none")]
20 pub lock_permissions: Option<Option<bool>>,
21 #[serde(skip_serializing_if = "Option::is_none")]
23 pub parent_id: Option<Option<Id<ChannelMarker>>>,
24 #[serde(skip_serializing_if = "Option::is_none")]
26 pub position: Option<Option<u64>>,
27}
28
29impl From<(Id<ChannelMarker>, u64)> for Position {
30 fn from((id, position): (Id<ChannelMarker>, u64)) -> Self {
31 Self {
32 id,
33 lock_permissions: None,
34 parent_id: None,
35 position: Some(Some(position)),
36 }
37 }
38}