headless_lms_models/
course_custom_privacy_policy_checkbox_texts.rs

1use crate::prelude::*;
2
3#[derive(Debug, Serialize, Deserialize, PartialEq, Clone)]
4#[cfg_attr(feature = "ts_rs", derive(TS))]
5pub struct CourseCustomPrivacyPolicyCheckboxText {
6    pub id: Uuid,
7    pub course_id: Uuid,
8    pub created_at: DateTime<Utc>,
9    pub updated_at: DateTime<Utc>,
10    pub deleted_at: Option<DateTime<Utc>>,
11    pub text_html: String,
12    pub text_slug: String,
13}
14
15pub async fn get_all_by_course_id(
16    conn: &mut PgConnection,
17    course_id: Uuid,
18) -> ModelResult<Vec<CourseCustomPrivacyPolicyCheckboxText>> {
19    let texts = sqlx::query_as!(
20        CourseCustomPrivacyPolicyCheckboxText,
21        r#"
22SELECT *
23FROM course_custom_privacy_policy_checkbox_texts
24WHERE course_id = $1
25  AND deleted_at IS NULL;
26        "#,
27        course_id,
28    )
29    .fetch_all(conn)
30    .await?;
31    Ok(texts)
32}