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        student_7_user_id: _,
32        student_8_user_id: _,
33        langs_user_id,
34        sign_up_user,
35    } = seed_users_result;
36
37    user_research_consents::upsert(&mut conn, PKeyPolicy::Generate, admin_user_id, true).await?;
38    user_research_consents::upsert(&mut conn, PKeyPolicy::Generate, teacher_user_id, true).await?;
39    user_research_consents::upsert(
40        &mut conn,
41        PKeyPolicy::Generate,
42        language_teacher_user_id,
43        true,
44    )
45    .await?;
46    user_research_consents::upsert(&mut conn, PKeyPolicy::Generate, assistant_user_id, true)
47        .await?;
48    user_research_consents::upsert(
49        &mut conn,
50        PKeyPolicy::Generate,
51        course_or_exam_creator_user_id,
52        true,
53    )
54    .await?;
55    user_research_consents::upsert(&mut conn, PKeyPolicy::Generate, user_user_id, true).await?;
56    user_research_consents::upsert(&mut conn, PKeyPolicy::Generate, student_1_user_id, true)
57        .await?;
58    user_research_consents::upsert(&mut conn, PKeyPolicy::Generate, student_2_user_id, true)
59        .await?;
60    user_research_consents::upsert(&mut conn, PKeyPolicy::Generate, student_3_user_id, true)
61        .await?;
62    user_research_consents::upsert(&mut conn, PKeyPolicy::Generate, student_4_user_id, true)
63        .await?;
64    user_research_consents::upsert(&mut conn, PKeyPolicy::Generate, student_5_user_id, true)
65        .await?;
66    user_research_consents::upsert(&mut conn, PKeyPolicy::Generate, student_6_user_id, true)
67        .await?;
68    user_research_consents::upsert(&mut conn, PKeyPolicy::Generate, langs_user_id, true).await?;
69
70    user_research_consents::upsert(
71        &mut conn,
72        PKeyPolicy::Generate,
73        teaching_and_learning_services_user_id,
74        true,
75    )
76    .await?;
77    user_research_consents::upsert(
78        &mut conn,
79        PKeyPolicy::Generate,
80        material_viewer_user_id,
81        true,
82    )
83    .await?;
84    user_research_consents::upsert(
85        &mut conn,
86        PKeyPolicy::Generate,
87        student_without_country,
88        true,
89    )
90    .await?;
91    user_research_consents::upsert(&mut conn, PKeyPolicy::Generate, sign_up_user, true).await?;
92
93    for user_id in example_normal_user_ids {
94        user_research_consents::upsert(&mut conn, PKeyPolicy::Generate, user_id, true).await?;
95    }
96
97    Ok(())
98}