team04_server/messages/
serde_impls.rs1use 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}