rb/
lib.rs

1//! 🌈 Rainbeam!
2#![doc = include_str!("../../../README.md")]
3#![doc(issue_tracker_base_url = "https://github.com/swmff/rainbeam/issues")]
4#![doc(html_favicon_url = "https://rainbeam.net/static/favicon.svg")]
5#![doc(html_logo_url = "https://rainbeam.net/static/favicon.svg")]
6use reva_axum::Template;
7
8pub use rainbeam::database;
9pub use rainbeam::config;
10pub use rainbeam::model;
11pub mod routing;
12
13/// Trait to convert errors into HTML
14pub(crate) trait ToHtml {
15    fn to_html(&self, database: database::Database) -> String;
16}
17
18impl ToHtml for model::DatabaseError {
19    fn to_html(&self, database: database::Database) -> String {
20        crate::routing::pages::ErrorTemplate {
21            config: database.config.clone(),
22            lang: database.lang("net.rainbeam.langs:en-US"),
23            profile: None,
24            message: self.to_string(),
25        }
26        .render()
27        .unwrap()
28    }
29}