forked from neri/datatrash
make template filling code prettier
This commit is contained in:
parent
53c568082d
commit
b414fda39a
|
@ -403,7 +403,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "datatrash"
|
name = "datatrash"
|
||||||
version = "1.1.3"
|
version = "1.1.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"actix-files",
|
"actix-files",
|
||||||
"actix-multipart",
|
"actix-multipart",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "datatrash"
|
name = "datatrash"
|
||||||
version = "1.1.3"
|
version = "1.1.4"
|
||||||
authors = ["neri"]
|
authors = ["neri"]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
|
|
|
@ -8,19 +8,17 @@ use crate::config::Config;
|
||||||
|
|
||||||
const INDEX_HTML: &str = include_str!("../template/index.html");
|
const INDEX_HTML: &str = include_str!("../template/index.html");
|
||||||
const AUTH_HIDE_JS: &str = include_str!("../template/auth-hide.js");
|
const AUTH_HIDE_JS: &str = include_str!("../template/auth-hide.js");
|
||||||
const AUTH_SNIPPET_HTML: &str = include_str!("../snippet/auth.html.snippet").trim_end();
|
const AUTH_SNIPPET_HTML: &str = include_str!("../snippet/auth.html.snippet");
|
||||||
const MAX_SIZE_SNIPPET_HTML: &str = include_str!("../snippet/max_size.html.snippet").trim_end;
|
const MAX_SIZE_SNIPPET_HTML: &str = include_str!("../snippet/max_size.html.snippet");
|
||||||
|
|
||||||
pub async fn write_prefillable_templates(config: &Config) {
|
pub async fn write_prefillable_templates(config: &Config) {
|
||||||
let index_html = build_index_html(config);
|
|
||||||
let auth_hide_js = build_auth_hide_js(config);
|
|
||||||
let index_path = config.static_dir.join("index.html");
|
let index_path = config.static_dir.join("index.html");
|
||||||
let auth_hide_path = config.static_dir.join("auth-hide.js");
|
fs::write(index_path, build_index_html(config))
|
||||||
|
|
||||||
fs::write(index_path, index_html)
|
|
||||||
.await
|
.await
|
||||||
.expect("could not write index.html to static folder");
|
.expect("could not write index.html to static folder");
|
||||||
if let Some(auth_hide_js) = auth_hide_js {
|
|
||||||
|
let auth_hide_path = config.static_dir.join("auth-hide.js");
|
||||||
|
if let Some(auth_hide_js) = build_auth_hide_js(config) {
|
||||||
fs::write(auth_hide_path, auth_hide_js)
|
fs::write(auth_hide_path, auth_hide_js)
|
||||||
.await
|
.await
|
||||||
.expect("could not write auth-hide.js to static folder");
|
.expect("could not write auth-hide.js to static folder");
|
||||||
|
@ -33,45 +31,30 @@ pub async fn write_prefillable_templates(config: &Config) {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn build_index_html(config: &Config) -> String {
|
fn build_index_html(config: &Config) -> String {
|
||||||
let auth_snippet = config
|
let mut html = INDEX_HTML.to_owned();
|
||||||
.no_auth_limits
|
if let Some(limit) = config.no_auth_limits.as_ref() {
|
||||||
.as_ref()
|
html = html
|
||||||
.map_or("", |_| AUTH_SNIPPET_HTML);
|
.replace("{auth_snippet}", AUTH_SNIPPET_HTML.trim_end())
|
||||||
let max_size_snippet = config
|
.replace("{auth_time}", &render_duration(limit.max_time))
|
||||||
.max_file_size
|
|
||||||
.as_ref()
|
|
||||||
.map_or("", |_| MAX_SIZE_SNIPPET_HTML);
|
|
||||||
INDEX_HTML
|
|
||||||
.replace("{max_size_snippet}", max_size_snippet)
|
|
||||||
.replace(
|
|
||||||
"{max_size}",
|
|
||||||
&render_file_size(config.max_file_size.unwrap_or(0)),
|
|
||||||
)
|
|
||||||
.replace("{auth_snippet}", auth_snippet)
|
|
||||||
.replace(
|
|
||||||
"{auth_time}",
|
|
||||||
&config
|
|
||||||
.no_auth_limits
|
|
||||||
.as_ref()
|
|
||||||
.map(|limit| limit.max_time)
|
|
||||||
.map_or("".into(), render_duration),
|
|
||||||
)
|
|
||||||
.replace(
|
.replace(
|
||||||
"{auth_large_time}",
|
"{auth_large_time}",
|
||||||
&config
|
&render_duration(limit.large_file_max_time),
|
||||||
.no_auth_limits
|
|
||||||
.as_ref()
|
|
||||||
.map(|limit| limit.large_file_max_time)
|
|
||||||
.map_or("".into(), render_duration),
|
|
||||||
)
|
)
|
||||||
.replace(
|
.replace(
|
||||||
"{auth_large_size}",
|
"{auth_large_size}",
|
||||||
&config
|
&render_file_size(limit.large_file_size),
|
||||||
.no_auth_limits
|
);
|
||||||
.as_ref()
|
} else {
|
||||||
.map(|limit| limit.large_file_size)
|
html = html.replace("{auth_snippet}", "");
|
||||||
.map_or("".into(), render_file_size),
|
}
|
||||||
)
|
if let Some(max_file_size) = config.max_file_size {
|
||||||
|
html = html
|
||||||
|
.replace("{max_size_snippet}", MAX_SIZE_SNIPPET_HTML.trim_end())
|
||||||
|
.replace("{max_size}", &render_file_size(max_file_size));
|
||||||
|
} else {
|
||||||
|
html = html.replace("{max_size_snippet}", MAX_SIZE_SNIPPET_HTML.trim_end())
|
||||||
|
};
|
||||||
|
html
|
||||||
}
|
}
|
||||||
|
|
||||||
fn render_file_size(size: u64) -> String {
|
fn render_file_size(size: u64) -> String {
|
||||||
|
|
Loading…
Reference in New Issue