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