This commit is contained in:
Mateusz Gruszczyński committed 2026-10-10 20:56:36 +02:00
1 parent f213d853e2
commit 76b8bb7ee2
78 files changed
+7750 -5204

No files matched your search

+26 -194
View File
@@ -1,5 +1,7 @@
mod documentation;
mod public;
mod panel_content;
mod panel_assets;
use crate::{
auth::{self, Session},
config::Update,
@@ -33,6 +35,7 @@ fn admin_app_javascript() -> &'static str {
static ASSET: std::sync::LazyLock<String> = std::sync::LazyLock::new(|| {
[
include_str!("web/app/core.js"),
include_str!("web/app/refresh.js"),
include_str!("web/app/preferences.js"),
include_str!("web/app/config-history.js"),
include_str!("web/app/runtime.js"),
@@ -87,24 +90,8 @@ pub fn router(state: Arc<App>) -> Router {
.route("/logging", get(public::index))
.route("/logs", get(public::index))
.route("/settings", get(public::index))
.route(
"/assets/login.js",
get(|| async {
(
[("content-type", "text/javascript; charset=utf-8")],
include_str!("web/login.js"),
)
}),
)
.route(
"/assets/login-langs.json",
get(|| async {
(
[("content-type", "application/json; charset=utf-8")],
include_str!(concat!(env!("OUT_DIR"), "/login-langs.json")),
)
}),
)
.route("/assets/login.js", get(panel_assets::serve))
.route("/assets/login-langs.json", get(panel_assets::serve))
.route("/docs", get(documentation::index))
.route("/docs/", get(documentation::index))
.route("/docs/openapi.json", get(documentation::schema))
@@ -123,183 +110,29 @@ pub fn router(state: Arc<App>) -> Router {
"/docs/licenses.txt",
get(|| async { documentation::asset("licenses.txt") }),
)
.route(
"/assets/langs.json",
get(|| async {
(
[("content-type", "application/json; charset=utf-8")],
include_str!(concat!(env!("OUT_DIR"), "/langs.json")),
)
}),
)
.route(
"/assets/app.js",
get(|| async {
(
[("content-type", "text/javascript; charset=utf-8")],
admin_app_javascript(),
)
}),
)
.route(
"/assets/management.js",
get(|| async {
(
[("content-type", "text/javascript; charset=utf-8")],
include_str!("web/management.js"),
)
}),
)
.route(
"/assets/drafts.js",
get(|| async {
(
[("content-type", "text/javascript; charset=utf-8")],
include_str!("web/drafts.js"),
)
}),
)
.route(
"/assets/integrations.js",
get(|| async {
(
[("content-type", "text/javascript; charset=utf-8")],
include_str!("web/integrations.js"),
)
}),
)
.route(
"/assets/traffic-panel.js",
get(|| async {
(
[("content-type", "text/javascript; charset=utf-8")],
include_str!("web/traffic-panel.js"),
)
}),
)
.route(
"/assets/cache-panel.js",
get(|| async {
(
[("content-type", "text/javascript; charset=utf-8")],
include_str!("web/cache-panel.js"),
)
}),
)
.route(
"/assets/transform-panel.js",
get(|| async {
(
[("content-type", "text/javascript; charset=utf-8")],
include_str!("web/transform-panel.js"),
)
}),
)
.route(
"/assets/file-logs.js",
get(|| async {
(
[("content-type", "text/javascript; charset=utf-8")],
include_str!("web/file-logs.js"),
)
}),
)
.route(
"/assets/settings.js",
get(|| async {
(
[("content-type", "text/javascript; charset=utf-8")],
include_str!("web/settings.js"),
)
}),
)
.route(
"/assets/acme.js",
get(|| async {
(
[("content-type", "text/javascript; charset=utf-8")],
include_str!("web/acme.js"),
)
}),
)
.route(
"/assets/vhosts.js",
get(|| async {
(
[("content-type", "text/javascript; charset=utf-8")],
admin_vhosts_javascript(),
)
}),
)
.route("/assets/web-server-profiles.js", get(|| async {
([ ("content-type", "text/javascript; charset=utf-8") ],
include_str!("web/web-server-profiles.js"))
}))
.route(
"/assets/web-server.js",
get(|| async {
(
[("content-type", "text/javascript; charset=utf-8")],
include_str!("web/web-server.js"),
)
}),
)
.route(
"/assets/docker.js",
get(|| async {
(
[("content-type", "text/javascript; charset=utf-8")],
include_str!("web/docker.js"),
)
}),
)
.route(
"/assets/streams.js",
get(|| async {
(
[("content-type", "text/javascript; charset=utf-8")],
include_str!("web/streams.js"),
)
}),
)
.route(
"/assets/redirects.js",
get(|| async {
(
[("content-type", "text/javascript; charset=utf-8")],
include_str!("web/redirects.js"),
)
}),
)
.route(
"/assets/host404.js",
get(|| async {
(
[("content-type", "text/javascript; charset=utf-8")],
include_str!("web/host404.js"),
)
}),
)
.route(
"/assets/style.css",
get(|| async {
(
[("content-type", "text/css; charset=utf-8")],
include_str!("web/style.css"),
)
}),
)
.route(
"/favicon.svg",
get(|| async {
(
[("content-type", "image/svg+xml")],
include_str!("web/favicon.svg"),
)
}),
)
.route("/assets/langs.json", get(panel_assets::serve))
.route("/assets/app.js", get(panel_assets::serve))
.route("/assets/management.js", get(panel_assets::serve))
.route("/assets/drafts.js", get(panel_assets::serve))
.route("/assets/integrations.js", get(panel_assets::serve))
.route("/assets/traffic-panel.js", get(panel_assets::serve))
.route("/assets/cache-panel.js", get(panel_assets::serve))
.route("/assets/transform-panel.js", get(panel_assets::serve))
.route("/assets/file-logs.js", get(panel_assets::serve))
.route("/assets/settings.js", get(panel_assets::serve))
.route("/assets/acme.js", get(panel_assets::serve))
.route("/assets/vhosts.js", get(panel_assets::serve))
.route("/assets/web-server-profiles.js", get(panel_assets::serve))
.route("/assets/web-server.js", get(panel_assets::serve))
.route("/assets/docker.js", get(panel_assets::serve))
.route("/assets/streams.js", get(panel_assets::serve))
.route("/assets/redirects.js", get(panel_assets::serve))
.route("/assets/host404.js", get(panel_assets::serve))
.route("/assets/style.css", get(panel_assets::serve))
.route("/favicon.svg", get(panel_assets::serve))
.route("/healthz", get(|| async { Json(json!({"status":"ok"})) }))
.route("/api/status", get(status))
.route("/api/system-info", get(system_info))
.route("/api/backends", get(backend_status))
.route("/api/docker", get(docker_status))
.route("/api/docker/refresh", post(docker_refresh))
@@ -481,7 +314,6 @@ enum CertificateApiOperation {
ReloadAll,
ReloadOne(String),
}
fn certificate_api_operation(method: &Method, path: &str) -> Option<CertificateApiOperation> {
if method != Method::POST {
return None;