···6161 &self,
6262 user: User,
6363 ) -> std::result::Result<Vec<File>, DbError> {
6464-6564 if user.is_admin {
6665 let files = query!(
6766 "SELECT id as 'id: Uuid', filename, username FROM file_mapping LEFT JOIN users ON users.uid = file_mapping.owner_uid"
···113112114113 let file_metadata = fs::metadata(file_on_fs);
115114116116- let size_mb = if let Ok(file_metadata) = file_metadata {
117117- let bytes = file_metadata.len() as f64;
118118- // I divided by 1_000_000.0 in original impl I think.
119119- bytes / 1048576.0
115115+ let size = if let Ok(file_metadata) = file_metadata {
116116+ file_metadata.len()
120117 } else {
121118 // If we couldn't get the metadata just return 0.
122122- 0.0
119119+ 0
123120 };
124121125122 File {
126123 id: file.id,
127124 filename: file.filename.clone(),
128125 owner: Some(user.username.clone()),
129129- size_mb,
126126+ // I divided by 1_000_000.0 in original impl I think.
127127+ size_mb: size as f64 / 1048576.0,
128128+ size,
130129 }
131130 })
132131 .collect();
+2
server-rs/src/routes/api.rs
···237237 // these are in mb's as initially I was thinking of setting 1mb as minimum... I am so dumb.
238238 // However, because they are a floating point number instead of an int nowadays, they can do much lower too.
239239 pub(crate) size_mb: f64,
240240+ // doing it properly..
241241+ pub(crate) size: u64,
240242}
241243242244#[post("/user/fetch", data = "<single_identify>")]