1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
use serde::{Deserialize, Serialize};

#[derive(Clone, Serialize, Deserialize, prost::Message)]
pub struct Token {
    #[prost(int64, tag = "1")]
    pub uin: i64,
    #[prost(bytes = "vec", tag = "2")]
    pub d2: Vec<u8>,
    #[prost(bytes = "vec", tag = "3")]
    pub d2key: Vec<u8>,
    #[prost(bytes = "vec", tag = "4")]
    pub tgt: Vec<u8>,
    #[prost(bytes = "vec", tag = "5")]
    pub srm_token: Vec<u8>,
    #[prost(bytes = "vec", tag = "6")]
    pub t133: Vec<u8>,
    #[prost(bytes = "vec", tag = "7")]
    pub encrypted_a1: Vec<u8>,
    #[prost(bytes = "vec", tag = "8")]
    pub out_packet_session_id: Vec<u8>,
    #[prost(bytes = "vec", tag = "9")]
    pub tgtgt_key: Vec<u8>,
    #[prost(bytes = "vec", tag = "10")]
    pub wt_session_ticket_key: Vec<u8>,
}

impl From<ricq::client::Token> for Token {
    fn from(
        ricq::client::Token {
            uin,
            d2,
            d2key,
            tgt,
            srm_token,
            t133,
            encrypted_a1,
            out_packet_session_id,
            tgtgt_key,
            wt_session_ticket_key,
        }: ricq::client::Token,
    ) -> Self {
        Self {
            uin,
            d2,
            d2key,
            tgt,
            srm_token,
            t133,
            encrypted_a1,
            out_packet_session_id,
            tgtgt_key,
            wt_session_ticket_key,
        }
    }
}

impl From<Token> for ricq::client::Token {
    fn from(
        Token {
            uin,
            d2,
            d2key,
            tgt,
            srm_token,
            t133,
            encrypted_a1,
            out_packet_session_id,
            tgtgt_key,
            wt_session_ticket_key,
        }: Token,
    ) -> Self {
        Self {
            uin,
            d2,
            d2key,
            tgt,
            srm_token,
            t133,
            encrypted_a1,
            out_packet_session_id,
            tgtgt_key,
            wt_session_ticket_key,
        }
    }
}