Skip to main content

headless_lms_models/
course_custom_privacy_policy_checkbox_texts.rs

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