Create file metadata endpoint #14

Merged
cameron merged 3 commits from feature/file-info-api into master 2021-07-08 21:28:16 +00:00
2 changed files with 11 additions and 13 deletions
Showing only changes of commit 8622500a2f - Show all commits

View File

@@ -69,6 +69,12 @@ impl FromRequest for Claims {
}
}
#[derive(Serialize)]
pub struct PhotosResponse<'a> {
pub photos: &'a [String],
pub dirs: &'a [String],
}
#[derive(Deserialize)]
pub struct ThumbnailRequest {
pub path: String,

View File

@@ -2,9 +2,7 @@
extern crate diesel;
extern crate rayon;
use crate::auth::login;
use actix_web_prom::PrometheusMetrics;
use database::{DbError, DbErrorKind, FavoriteDao, SqliteFavoriteDao, SqliteUserDao, UserDao};
use futures::stream::StreamExt;
use lazy_static::lazy_static;
use prometheus::{self, IntGauge};
@@ -29,12 +27,12 @@ use actix_web::{
};
use notify::{watcher, DebouncedEvent, RecursiveMode, Watcher};
use rayon::prelude::*;
use serde::Serialize;
use data::{AddFavoriteRequest, MetadataResponse, ThumbnailRequest};
use log::{debug, error, info};
use crate::data::Claims;
use crate::auth::login;
use crate::data::*;
use crate::database::*;
use crate::files::{is_image_or_video, is_valid_path, list_files};
use crate::video::*;
@@ -67,13 +65,13 @@ async fn list_photos(_claims: Claims, req: Query<ThumbnailRequest>) -> impl Resp
let photos = &files
.iter()
.filter(|f| !f.extension().unwrap_or_default().is_empty())
.filter(|&f| f.metadata().map_or(false, |md| md.is_file()))
.map(|f| f.to_str().unwrap().to_string())
.collect::<Vec<String>>();
let dirs = &files
.iter()
.filter(|f| f.extension().unwrap_or_default().is_empty())
.filter(|&f| f.metadata().map_or(false, |md| md.is_dir()))
.map(|f| f.to_str().unwrap().to_string())
.collect::<Vec<String>>();
@@ -84,12 +82,6 @@ async fn list_photos(_claims: Claims, req: Query<ThumbnailRequest>) -> impl Resp
}
}
#[derive(Serialize)]
struct PhotosResponse<'a> {
photos: &'a [String],
dirs: &'a [String],
}
#[get("/image")]
async fn get_image(
_claims: Claims,