team04_server/messages/
serde_impls.rs

1use super::*;
2use crate::{
3    lobby::state::clients::{PlayerId, ReconnectToken},
4    server::state::LobbyId,
5};
6
7impl Serialize for LobbyId {
8    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
9    where
10        S: serde::Serializer,
11    {
12        self.uuid().serialize(serializer)
13    }
14}
15
16impl<'de> Deserialize<'de> for LobbyId {
17    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
18    where
19        D: serde::Deserializer<'de>,
20    {
21        let uuid = Deserialize::deserialize(deserializer)?;
22        Ok(Self::new(uuid))
23    }
24}
25
26impl Serialize for PlayerId {
27    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
28    where
29        S: serde::Serializer,
30    {
31        self.uuid().serialize(serializer)
32    }
33}
34
35impl<'de> Deserialize<'de> for PlayerId {
36    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
37    where
38        D: serde::Deserializer<'de>,
39    {
40        let uuid = Deserialize::deserialize(deserializer)?;
41        Ok(Self::new(uuid))
42    }
43}
44
45impl Serialize for ReconnectToken {
46    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
47    where
48        S: serde::Serializer,
49    {
50        self.uuid().serialize(serializer)
51    }
52}
53
54impl<'de> Deserialize<'de> for ReconnectToken {
55    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
56    where
57        D: serde::Deserializer<'de>,
58    {
59        let uuid = Deserialize::deserialize(deserializer)?;
60        Ok(Self::new(uuid))
61    }
62}