lb_rs/model/
meta_conversions.rs

1use super::crypto::Timestamped;
2use super::file_metadata::FileMetadata;
3use super::meta::Meta;
4use super::server_file::ServerFile;
5use super::server_meta::ServerMeta;
6use super::signed_file::SignedFile;
7use super::signed_meta::SignedMeta;
8
9impl From<FileMetadata> for Meta {
10    fn from(value: FileMetadata) -> Self {
11        Meta::V1 {
12            id: value.id,
13            file_type: value.file_type,
14            parent: value.parent,
15            name: value.name,
16            owner: value.owner,
17            is_deleted: value.is_deleted,
18            doc_hmac: value.document_hmac,
19            user_access_keys: value.user_access_keys,
20            folder_access_key: value.folder_access_key,
21            doc_size: None,
22        }
23    }
24}
25
26impl From<SignedFile> for SignedMeta {
27    fn from(value: SignedFile) -> Self {
28        let timestamped_value = Timestamped {
29            value: value.timestamped_value.value.into(),
30            timestamp: value.timestamped_value.timestamp,
31        };
32
33        Self { timestamped_value, signature: value.signature, public_key: value.public_key }
34    }
35}
36
37impl From<ServerFile> for ServerMeta {
38    fn from(value: ServerFile) -> Self {
39        Self { file: value.file.into(), version: value.version }
40    }
41}