Skip to main content

headless_lms_server/controllers/helpers/
email_content.rs

1use headless_lms_utils::email_processor::EmailGutenbergBlock;
2
3use crate::prelude::*;
4
5/// Parses an email body the way the sender will, so a body it cannot send is rejected on save.
6pub fn parse_email_content(
7    content: &serde_json::Value,
8) -> Result<Vec<EmailGutenbergBlock>, ControllerError> {
9    serde_json::from_value(content.clone()).map_err(|err| {
10        ControllerError::new(
11            ControllerErrorType::BadRequest,
12            format!("The email content cannot be sent: {err}"),
13            None,
14        )
15    })
16}