#![warn(missing_docs)]
use std::borrow::Cow;
use schemars::JsonSchema;
use serde::{Deserialize, Serialize};
pub mod auth;
pub mod config;
pub mod email;
pub mod error_reporting;
pub mod error_stack;
pub mod errors;
pub mod extract;
#[cfg(feature = "maud")]
pub mod html;
#[cfg(feature = "htmx")]
pub mod htmx;
pub mod inspect_response;
#[cfg(feature = "maud")]
pub mod maud;
pub mod object_id;
#[cfg(feature = "tracing")]
pub mod propagate_http_span;
pub mod query_string;
pub mod requests;
pub mod route_services;
pub mod server;
pub mod sql;
#[cfg(feature = "storage")]
pub mod storage;
#[cfg(feature = "filigree-cli")]
pub mod templates;
pub mod testing;
#[cfg(feature = "tracing")]
pub mod tracing_config;
#[cfg(feature = "storage")]
pub mod uploads;
#[cfg(feature = "local_auth")]
pub mod users;
#[cfg(feature = "maud")]
pub mod vite_manifest;
#[derive(Serialize, Debug)]
pub struct Message<'a> {
message: Cow<'a, str>,
}
impl<'a> Message<'a> {
pub fn new(message: impl Into<Cow<'a, str>>) -> Self {
Self {
message: message.into(),
}
}
}
#[derive(Debug, Deserialize, Serialize, JsonSchema)]
pub struct EmailBody {
#[validate(email)]
pub email: String,
}