clippy fixes, no default feature compile fix
This commit is contained in:
parent
0058a9fcdd
commit
0f3dd88193
4 changed files with 53 additions and 55 deletions
|
@ -269,8 +269,8 @@ pub fn resolve_path_cached(
|
|||
|
||||
pub fn initialize_hier(connection: &UpEndConnection) -> Result<()> {
|
||||
connection.insert_entry(Entry::try_from(&*HIER_INVARIANT)?)?;
|
||||
upend_insert_addr!(&connection, HIER_ADDR, IS_OF_TYPE_ATTR, TYPE_ADDR);
|
||||
upend_insert_val!(&connection, HIER_ADDR, TYPE_HAS_ATTR, HIER_HAS_ATTR);
|
||||
upend_insert_addr!(connection, HIER_ADDR, IS_OF_TYPE_ATTR, TYPE_ADDR);
|
||||
upend_insert_val!(connection, HIER_ADDR, TYPE_HAS_ATTR, HIER_HAS_ATTR);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
|
|
@ -137,15 +137,15 @@ impl UpEndDatabase {
|
|||
|
||||
trace!("Initializing types...");
|
||||
connection.insert_entry(Entry::try_from(&*TYPE_INVARIANT)?)?;
|
||||
upend_insert_addr!(&connection, TYPE_ADDR, IS_OF_TYPE_ATTR, TYPE_ADDR);
|
||||
upend_insert_val!(&connection, TYPE_ADDR, TYPE_HAS_ATTR, TYPE_HAS_ATTR);
|
||||
upend_insert_addr!(connection, TYPE_ADDR, IS_OF_TYPE_ATTR, TYPE_ADDR);
|
||||
upend_insert_val!(connection, TYPE_ADDR, TYPE_HAS_ATTR, TYPE_HAS_ATTR);
|
||||
|
||||
initialize_hier(&connection)?;
|
||||
|
||||
Ok(OpenResult { db, new })
|
||||
}
|
||||
|
||||
pub fn connection(self: &Self) -> Result<UpEndConnection> {
|
||||
pub fn connection(&self) -> Result<UpEndConnection> {
|
||||
Ok(UpEndConnection(self.pool.get()?))
|
||||
}
|
||||
}
|
||||
|
@ -153,7 +153,7 @@ impl UpEndDatabase {
|
|||
pub struct UpEndConnection(PooledConnection<ConnectionManager<SqliteConnection>>);
|
||||
|
||||
impl UpEndConnection {
|
||||
pub fn execute<S: AsRef<str>>(self: &Self, query: S) -> Result<usize, diesel::result::Error> {
|
||||
pub fn execute<S: AsRef<str>>(&self, query: S) -> Result<usize, diesel::result::Error> {
|
||||
self.0.execute(query.as_ref())
|
||||
}
|
||||
|
||||
|
@ -165,7 +165,7 @@ impl UpEndConnection {
|
|||
self.0.transaction(f)
|
||||
}
|
||||
|
||||
pub fn insert_file(self: &Self, file: models::NewFile) -> Result<usize> {
|
||||
pub fn insert_file(&self, file: models::NewFile) -> Result<usize> {
|
||||
use crate::database::inner::schema::files;
|
||||
|
||||
debug!(
|
||||
|
@ -179,7 +179,7 @@ impl UpEndConnection {
|
|||
.execute(&self.0)?)
|
||||
}
|
||||
|
||||
pub fn retrieve_file(self: &Self, obj_hash: Hash) -> Result<Vec<models::File>> {
|
||||
pub fn retrieve_file(&self, obj_hash: Hash) -> Result<Vec<models::File>> {
|
||||
use crate::database::inner::schema::files::dsl::*;
|
||||
|
||||
let matches = files
|
||||
|
@ -190,13 +190,13 @@ impl UpEndConnection {
|
|||
Ok(matches)
|
||||
}
|
||||
|
||||
pub fn retrieve_all_files(self: &Self) -> Result<Vec<models::File>> {
|
||||
pub fn retrieve_all_files(&self) -> Result<Vec<models::File>> {
|
||||
use crate::database::inner::schema::files::dsl::*;
|
||||
let matches = files.load::<models::File>(&self.0)?;
|
||||
Ok(matches)
|
||||
}
|
||||
|
||||
pub fn get_latest_files(self: &Self, count: i64) -> Result<Vec<models::File>> {
|
||||
pub fn get_latest_files(&self, count: i64) -> Result<Vec<models::File>> {
|
||||
use crate::database::inner::schema::files::dsl::*;
|
||||
|
||||
let matches = files
|
||||
|
@ -208,7 +208,7 @@ impl UpEndConnection {
|
|||
}
|
||||
|
||||
pub fn file_update_mtime(
|
||||
self: &Self,
|
||||
&self,
|
||||
file_id: i32,
|
||||
m_time: Option<NaiveDateTime>,
|
||||
) -> Result<usize> {
|
||||
|
@ -221,7 +221,7 @@ impl UpEndConnection {
|
|||
.execute(&self.0)?)
|
||||
}
|
||||
|
||||
pub fn file_set_valid(self: &Self, file_id: i32, is_valid: bool) -> Result<usize> {
|
||||
pub fn file_set_valid(&self, file_id: i32, is_valid: bool) -> Result<usize> {
|
||||
use crate::database::inner::schema::files::dsl::*;
|
||||
|
||||
debug!("Setting file ID {} to valid = {}", file_id, is_valid);
|
||||
|
@ -231,7 +231,7 @@ impl UpEndConnection {
|
|||
.execute(&self.0)?)
|
||||
}
|
||||
|
||||
pub fn retrieve_object(self: &Self, object_address: Address) -> Result<Vec<Entry>> {
|
||||
pub fn retrieve_object(&self, object_address: Address) -> Result<Vec<Entry>> {
|
||||
use crate::database::inner::schema::data::dsl::*;
|
||||
|
||||
let primary = data
|
||||
|
@ -265,7 +265,7 @@ impl UpEndConnection {
|
|||
Ok([entries, secondary_entries].concat())
|
||||
}
|
||||
|
||||
pub fn remove_object(self: &Self, object_address: Address) -> Result<usize> {
|
||||
pub fn remove_object(&self, object_address: Address) -> Result<usize> {
|
||||
use crate::database::inner::schema::data::dsl::*;
|
||||
|
||||
debug!("Deleting {}!", object_address);
|
||||
|
@ -278,7 +278,7 @@ impl UpEndConnection {
|
|||
Ok(diesel::delete(matches).execute(&self.0)?)
|
||||
}
|
||||
|
||||
pub fn query(self: &Self, query: Query) -> Result<Vec<Entry>> {
|
||||
pub fn query(&self, query: Query) -> Result<Vec<Entry>> {
|
||||
use crate::database::inner::schema::data::dsl::*;
|
||||
|
||||
trace!("Querying: {:?}", query);
|
||||
|
@ -298,7 +298,7 @@ impl UpEndConnection {
|
|||
Ok(entries)
|
||||
}
|
||||
|
||||
pub fn insert_entry(self: &Self, entry: Entry) -> Result<Address> {
|
||||
pub fn insert_entry(&self, entry: Entry) -> Result<Address> {
|
||||
debug!("Inserting: {}", entry);
|
||||
|
||||
let insert_entry = models::Entry::try_from(&entry)?;
|
||||
|
|
|
@ -40,10 +40,10 @@ lazy_static! {
|
|||
fn initialize_types(connection: &UpEndConnection) -> Result<()> {
|
||||
// BLOB_TYPE
|
||||
connection.insert_entry(Entry::try_from(&*BLOB_TYPE_INVARIANT)?)?;
|
||||
upend_insert_addr!(&connection, BLOB_TYPE_ADDR, IS_OF_TYPE_ATTR, TYPE_ADDR);
|
||||
upend_insert_val!(&connection, BLOB_TYPE_ADDR, TYPE_HAS_ATTR, FILE_MTIME_KEY);
|
||||
upend_insert_val!(&connection, BLOB_TYPE_ADDR, TYPE_HAS_ATTR, FILE_SIZE_KEY);
|
||||
upend_insert_val!(&connection, BLOB_TYPE_ADDR, TYPE_HAS_ATTR, FILE_MIME_KEY);
|
||||
upend_insert_addr!(connection, BLOB_TYPE_ADDR, IS_OF_TYPE_ATTR, TYPE_ADDR);
|
||||
upend_insert_val!(connection, BLOB_TYPE_ADDR, TYPE_HAS_ATTR, FILE_MTIME_KEY);
|
||||
upend_insert_val!(connection, BLOB_TYPE_ADDR, TYPE_HAS_ATTR, FILE_SIZE_KEY);
|
||||
upend_insert_val!(connection, BLOB_TYPE_ADDR, TYPE_HAS_ATTR, FILE_MIME_KEY);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ use crate::util::hash::{decode, encode};
|
|||
use crate::util::jobs::JobContainer;
|
||||
use actix_files::NamedFile;
|
||||
use actix_web::error::{ErrorBadRequest, ErrorInternalServerError, ErrorNotFound};
|
||||
use actix_web::http::{self};
|
||||
use actix_web::http;
|
||||
use actix_web::{delete, error, get, post, put, web, Either, Error, HttpResponse};
|
||||
use anyhow::Result;
|
||||
use futures_util::StreamExt;
|
||||
|
@ -51,43 +51,41 @@ pub async fn get_raw(
|
|||
if let Some(file) = files.get(0) {
|
||||
let file_path = state.upend.vault_path.join(&file.path);
|
||||
|
||||
if !query.native.is_some() {
|
||||
if query.native.is_none() {
|
||||
Ok(Either::A(NamedFile::open(file_path)?))
|
||||
} else {
|
||||
if cfg!(feature = "desktop") {
|
||||
#[cfg(feature = "desktop")]
|
||||
{
|
||||
info!("Opening {:?}...", file_path);
|
||||
let mut response = HttpResponse::NoContent();
|
||||
let path = if !file_path.is_executable() {
|
||||
file_path
|
||||
} else {
|
||||
response
|
||||
.header(
|
||||
http::header::WARNING,
|
||||
"199 - Opening parent directory due to file being executable.",
|
||||
)
|
||||
.header(
|
||||
http::header::ACCESS_CONTROL_EXPOSE_HEADERS,
|
||||
http::header::WARNING.to_string(),
|
||||
);
|
||||
} else if cfg!(feature = "desktop") {
|
||||
#[cfg(feature = "desktop")]
|
||||
{
|
||||
info!("Opening {:?}...", file_path);
|
||||
let mut response = HttpResponse::NoContent();
|
||||
let path = if !file_path.is_executable() {
|
||||
file_path
|
||||
} else {
|
||||
response
|
||||
.header(
|
||||
http::header::WARNING,
|
||||
"199 - Opening parent directory due to file being executable.",
|
||||
)
|
||||
.header(
|
||||
http::header::ACCESS_CONTROL_EXPOSE_HEADERS,
|
||||
http::header::WARNING.to_string(),
|
||||
);
|
||||
|
||||
file_path
|
||||
.parent()
|
||||
.ok_or_else(|| {
|
||||
ErrorInternalServerError("No parent to open as fallback.")
|
||||
})?
|
||||
.to_path_buf()
|
||||
};
|
||||
opener::open(path).map_err(error::ErrorServiceUnavailable)?;
|
||||
return Ok(Either::B(response.finish()));
|
||||
}
|
||||
|
||||
#[cfg(not(feature = "desktop"))]
|
||||
!unreachable()
|
||||
} else {
|
||||
Err(error::ErrorBadRequest("Desktop features not enabled."))
|
||||
file_path
|
||||
.parent()
|
||||
.ok_or_else(|| {
|
||||
ErrorInternalServerError("No parent to open as fallback.")
|
||||
})?
|
||||
.to_path_buf()
|
||||
};
|
||||
opener::open(path).map_err(error::ErrorServiceUnavailable)?;
|
||||
Ok(Either::B(response.finish()))
|
||||
}
|
||||
|
||||
#[cfg(not(feature = "desktop"))]
|
||||
unreachable!()
|
||||
} else {
|
||||
Err(error::ErrorBadRequest("Desktop features not enabled."))
|
||||
}
|
||||
} else {
|
||||
Err(error::ErrorNotFound("NOT FOUND"))
|
||||
|
|
Loading…
Reference in a new issue