matc/clusters/codec/
account_login.rs1use crate::tlv;
7use anyhow;
8
9
10pub fn encode_get_setup_pin(temp_account_identifier: String) -> anyhow::Result<Vec<u8>> {
14 let tlv = tlv::TlvItemEnc {
15 tag: 0,
16 value: tlv::TlvItemValueEnc::StructInvisible(vec![
17 (0, tlv::TlvItemValueEnc::String(temp_account_identifier)).into(),
18 ]),
19 };
20 Ok(tlv.encode()?)
21}
22
23pub fn encode_login(temp_account_identifier: String, setup_pin: String, node: u64) -> anyhow::Result<Vec<u8>> {
25 let tlv = tlv::TlvItemEnc {
26 tag: 0,
27 value: tlv::TlvItemValueEnc::StructInvisible(vec![
28 (0, tlv::TlvItemValueEnc::String(temp_account_identifier)).into(),
29 (1, tlv::TlvItemValueEnc::String(setup_pin)).into(),
30 (2, tlv::TlvItemValueEnc::UInt64(node)).into(),
31 ]),
32 };
33 Ok(tlv.encode()?)
34}
35
36pub fn encode_logout(node: u64) -> anyhow::Result<Vec<u8>> {
38 let tlv = tlv::TlvItemEnc {
39 tag: 0,
40 value: tlv::TlvItemValueEnc::StructInvisible(vec![
41 (0, tlv::TlvItemValueEnc::UInt64(node)).into(),
42 ]),
43 };
44 Ok(tlv.encode()?)
45}
46