lb_rs/model/
server_file.rs

1use crate::model::file_like::FileLike;
2use crate::model::signed_file::SignedFile;
3use serde::{Deserialize, Serialize};
4use std::fmt::{Display, Formatter};
5
6#[derive(Serialize, Deserialize, Debug, PartialEq, Clone)]
7pub struct ServerFile {
8    pub file: SignedFile,
9    pub version: u64,
10}
11
12pub trait IntoServerFile {
13    fn add_time(self, version: u64) -> ServerFile;
14}
15
16impl IntoServerFile for SignedFile {
17    fn add_time(self, version: u64) -> ServerFile {
18        ServerFile { file: self, version }
19    }
20}
21
22impl Display for ServerFile {
23    fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
24        write!(f, "{}", self.display())
25    }
26}