pub const EMBEDDED_TEMPLATES: &[(&str, &str)] = &[
(
"admin/_base.html",
include_str!("../assets/templates/admin/_base.html"),
),
(
"admin/_topbar.html",
include_str!("../assets/templates/admin/_topbar.html"),
),
(
"admin/_sidebar.html",
include_str!("../assets/templates/admin/_sidebar.html"),
),
(
"admin/_theme.html",
include_str!("../assets/templates/admin/_theme.html"),
),
(
"admin/_row_actions.html",
include_str!("../assets/templates/admin/_row_actions.html"),
),
(
"admin/includes/_form_field.html",
include_str!("../assets/templates/admin/includes/_form_field.html"),
),
(
"admin/includes/_field_errors.html",
include_str!("../assets/templates/admin/includes/_field_errors.html"),
),
(
"admin/login.html",
include_str!("../assets/templates/admin/login.html"),
),
(
"admin/index.html",
include_str!("../assets/templates/admin/index.html"),
),
(
"admin/list.html",
include_str!("../assets/templates/admin/list.html"),
),
(
"admin/form.html",
include_str!("../assets/templates/admin/form.html"),
),
(
"admin/confirm_delete.html",
include_str!("../assets/templates/admin/confirm_delete.html"),
),
(
"admin/bulk_confirm_delete.html",
include_str!("../assets/templates/admin/bulk_confirm_delete.html"),
),
(
"admin/db_browser.html",
include_str!("../assets/templates/admin/db_browser.html"),
),
(
"admin/bulk_confirm_action.html",
include_str!("../assets/templates/admin/bulk_confirm_action.html"),
),
(
"admin/error.html",
include_str!("../assets/templates/admin/error.html"),
),
(
"admin/forbidden.html",
include_str!("../assets/templates/admin/forbidden.html"),
),
(
"admin/object_history.html",
include_str!("../assets/templates/admin/object_history.html"),
),
(
"admin/log_entries.html",
include_str!("../assets/templates/admin/log_entries.html"),
),
(
"admin/apis_index.html",
include_str!("../assets/templates/admin/apis_index.html"),
),
(
"admin/apis_playground.html",
include_str!("../assets/templates/admin/apis_playground.html"),
),
(
"admin/health.html",
include_str!("../assets/templates/admin/health.html"),
),
(
"admin/feature_flags.html",
include_str!("../assets/templates/admin/feature_flags.html"),
),
(
"admin/_list_adaptive.html",
include_str!("../assets/templates/admin/_list_adaptive.html"),
),
(
"admin/view_designer.html",
include_str!("../assets/templates/admin/view_designer.html"),
),
(
"admin/view_designer_model.html",
include_str!("../assets/templates/admin/view_designer_model.html"),
),
(
"admin/branding.html",
include_str!("../assets/templates/admin/branding.html"),
),
(
"admin/schema.html",
include_str!("../assets/templates/admin/schema.html"),
),
(
"admin/view_layer/_cell.html",
include_str!("../assets/templates/admin/view_layer/_cell.html"),
),
(
"admin/view_layer/_row.html",
include_str!("../assets/templates/admin/view_layer/_row.html"),
),
(
"admin/notifications.html",
include_str!("../assets/templates/admin/notifications.html"),
),
(
"admin/csv_import_result.html",
include_str!("../assets/templates/admin/csv_import_result.html"),
),
(
"admin/docs_index.html",
include_str!("../assets/templates/admin/docs_index.html"),
),
(
"admin/doc_page.html",
include_str!("../assets/templates/admin/doc_page.html"),
),
(
"admin/password_change.html",
include_str!("../assets/templates/admin/password_change.html"),
),
(
"admin/users_list.html",
include_str!("../assets/templates/admin/users_list.html"),
),
(
"admin/user_new.html",
include_str!("../assets/templates/admin/user_new.html"),
),
(
"admin/user_edit.html",
include_str!("../assets/templates/admin/user_edit.html"),
),
(
"admin/user_view.html",
include_str!("../assets/templates/admin/user_view.html"),
),
(
"admin/user_confirm_delete.html",
include_str!("../assets/templates/admin/user_confirm_delete.html"),
),
(
"admin/groups_list.html",
include_str!("../assets/templates/admin/groups_list.html"),
),
(
"admin/group_new.html",
include_str!("../assets/templates/admin/group_new.html"),
),
(
"admin/group_edit.html",
include_str!("../assets/templates/admin/group_edit.html"),
),
(
"admin/group_confirm_delete.html",
include_str!("../assets/templates/admin/group_confirm_delete.html"),
),
(
"admin/account_sessions.html",
include_str!("../assets/templates/admin/account_sessions.html"),
),
(
"admin/forgot_password.html",
include_str!("../assets/templates/admin/forgot_password.html"),
),
(
"admin/forgot_password_sent.html",
include_str!("../assets/templates/admin/forgot_password_sent.html"),
),
(
"admin/reset_password.html",
include_str!("../assets/templates/admin/reset_password.html"),
),
(
"admin/reauth.html",
include_str!("../assets/templates/admin/reauth.html"),
),
(
"admin/admin_reset_password.html",
include_str!("../assets/templates/admin/admin_reset_password.html"),
),
(
"admin/lock_user.html",
include_str!("../assets/templates/admin/lock_user.html"),
),
(
"admin/confirm_admin_action.html",
include_str!("../assets/templates/admin/confirm_admin_action.html"),
),
(
"admin/must_change_password.html",
include_str!("../assets/templates/admin/must_change_password.html"),
),
(
"admin/mfa_enroll.html",
include_str!("../assets/templates/admin/mfa_enroll.html"),
),
(
"admin/mfa_enroll_complete.html",
include_str!("../assets/templates/admin/mfa_enroll_complete.html"),
),
(
"admin/mfa_verify.html",
include_str!("../assets/templates/admin/mfa_verify.html"),
),
(
"admin/mfa_disable.html",
include_str!("../assets/templates/admin/mfa_disable.html"),
),
(
"admin/mfa_regenerate.html",
include_str!("../assets/templates/admin/mfa_regenerate.html"),
),
(
"admin/mfa_regenerate_complete.html",
include_str!("../assets/templates/admin/mfa_regenerate_complete.html"),
),
];
pub fn embedded_template_names() -> Vec<&'static str> {
EMBEDDED_TEMPLATES.iter().map(|(n, _)| *n).collect()
}
pub fn embedded_template_source(name: &str) -> Option<&'static str> {
EMBEDDED_TEMPLATES
.iter()
.find_map(|(n, body)| if *n == name { Some(*body) } else { None })
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn every_embedded_template_has_bytes() {
assert!(!EMBEDDED_TEMPLATES.is_empty());
for (name, body) in EMBEDDED_TEMPLATES {
assert!(!body.is_empty(), "{name} is empty");
}
}
#[test]
fn accessors_round_trip() {
for name in embedded_template_names() {
assert!(
embedded_template_source(name).is_some(),
"{name} listed but not resolvable"
);
}
assert!(embedded_template_source("admin/does-not-exist.html").is_none());
}
}