headless_lms_models/
course_custom_privacy_policy_checkbox_texts.rs1use 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}