use lazy_static::lazy_static;
use std::fs::read;
use cargo_manifest::{Manifest, Package};
lazy_static! {
pub static ref TEMP_DIR: String = std::env::temp_dir().as_path().display().to_string();
pub static ref ROOT_DIR: &'static str = env!("CARGO_MANIFEST_DIR");
pub static ref MANIFEST: Manifest = Manifest::from_slice(&read("Cargo.toml").unwrap()).unwrap();
pub static ref PACKAGE: &'static Package = MANIFEST.package.as_ref().unwrap();
}
pub fn get_function_name<F, Args>(_: &F) -> &'static str
where
F: actix_web::Handler<Args>,
Args: actix_web::FromRequest + 'static,
F::Output: actix_web::Responder + 'static,
{
std::any::type_name::<F>()
}
pub fn temp_dir() -> std::string::String {
std::env::temp_dir().as_path().display().to_string()
}
pub fn file_exists(file_path: &str) -> bool {
if file_path.is_empty() {
return false;
}
std::path::Path::new(file_path).exists()
}
pub fn temp_upload_folder(server_name: &str) -> String {
std::path::Path::new(&temp_dir())
.join(format!("temp_{}", server_name))
.display()
.to_string()
}