headless_lms_server/programs/seed/
seed_user_research_consents.rs

1use headless_lms_models::{PKeyPolicy, user_research_consents};
2use sqlx::{Pool, Postgres};
3
4use super::seed_users::SeedUsersResult;
5
6pub async fn seed_user_research_consents(
7    db_pool: Pool<Postgres>,
8    seed_users_result: SeedUsersResult,
9) -> anyhow::Result<()> {
10    info!("inserting research consents for users");
11    let mut conn = db_pool.acquire().await?;
12
13    let SeedUsersResult {
14        admin_user_id,
15        teacher_user_id,
16        language_teacher_user_id,
17        assistant_user_id,
18        course_or_exam_creator_user_id,
19        example_normal_user_ids,
20        teaching_and_learning_services_user_id,
21        student_without_research_consent: _,
22        student_without_country,
23        material_viewer_user_id,
24        user_user_id,
25        student_1_user_id,
26        student_2_user_id,
27        student_3_user_id,
28        student_4_user_id,
29        student_5_user_id,
30        student_6_user_id,
31        langs_user_id,
32    } = seed_users_result;
33
34    user_research_consents::upsert(&mut conn, PKeyPolicy::Generate, admin_user_id, true).await?;
35    user_research_consents::upsert(&mut conn, PKeyPolicy::Generate, teacher_user_id, true).await?;
36    user_research_consents::upsert(
37        &mut conn,
38        PKeyPolicy::Generate,
39        language_teacher_user_id,
40        true,
41    )
42    .await?;
43    user_research_consents::upsert(&mut conn, PKeyPolicy::Generate, assistant_user_id, true)
44        .await?;
45    user_research_consents::upsert(
46        &mut conn,
47        PKeyPolicy::Generate,
48        course_or_exam_creator_user_id,
49        true,
50    )
51    .await?;
52    user_research_consents::upsert(&mut conn, PKeyPolicy::Generate, user_user_id, true).await?;
53    user_research_consents::upsert(&mut conn, PKeyPolicy::Generate, student_1_user_id, true)
54        .await?;
55    user_research_consents::upsert(&mut conn, PKeyPolicy::Generate, student_2_user_id, true)
56        .await?;
57    user_research_consents::upsert(&mut conn, PKeyPolicy::Generate, student_3_user_id, true)
58        .await?;
59    user_research_consents::upsert(&mut conn, PKeyPolicy::Generate, student_4_user_id, true)
60        .await?;
61    user_research_consents::upsert(&mut conn, PKeyPolicy::Generate, student_5_user_id, true)
62        .await?;
63    user_research_consents::upsert(&mut conn, PKeyPolicy::Generate, student_6_user_id, true)
64        .await?;
65    user_research_consents::upsert(&mut conn, PKeyPolicy::Generate, langs_user_id, true).await?;
66
67    user_research_consents::upsert(
68        &mut conn,
69        PKeyPolicy::Generate,
70        teaching_and_learning_services_user_id,
71        true,
72    )
73    .await?;
74    user_research_consents::upsert(
75        &mut conn,
76        PKeyPolicy::Generate,
77        material_viewer_user_id,
78        true,
79    )
80    .await?;
81    user_research_consents::upsert(
82        &mut conn,
83        PKeyPolicy::Generate,
84        student_without_country,
85        true,
86    )
87    .await?;
88
89    for user_id in example_normal_user_ids {
90        user_research_consents::upsert(&mut conn, PKeyPolicy::Generate, user_id, true).await?;
91    }
92
93    Ok(())
94}