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