Skip to main content

wire/
auth_token.rs

1// SPDX-License-Identifier: Apache-2.0
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
5pub struct AuthToken {
6    pub id: String,
7    pub user: String,
8}
9
10impl AuthToken {
11    pub fn new(id: impl Into<String>, user: impl Into<String>) -> Self {
12        Self {
13            id: id.into(),
14            user: user.into(),
15        }
16    }
17
18    pub fn to_bytes(&self) -> Vec<u8> {
19        rmp_serde::to_vec(self).expect("auth token serialization should not fail")
20    }
21
22    pub fn from_bytes(bytes: &[u8]) -> Option<Self> {
23        rmp_serde::from_slice(bytes).ok()
24    }
25}