Skip to main content

headless_lms_server/programs/seed/
seed_exercise_services.rs

1use headless_lms_models::exercise_services;
2use sqlx::{Pool, Postgres};
3
4pub async fn seed_exercise_services(db_pool: Pool<Postgres>) -> anyhow::Result<()> {
5    info!("inserting exercise services");
6    let mut conn = db_pool.acquire().await?;
7
8    let _example_exercise_exercise_service = exercise_services::insert_exercise_service(
9    &mut conn,
10    &exercise_services::ExerciseServiceNewOrUpdate {
11            name: "Example Exercise".to_string(),
12            slug: "example-exercise".to_string(),
13            public_url: "http://project-331.local/example-exercise/api/service-info".to_string(),
14            internal_url: Some(
15                "http://example-exercise.default.svc.cluster.local:3002/example-exercise/api/service-info"
16                .to_string()
17            ),
18            max_reprocessing_submissions_at_once: 5,
19            is_global_admin_only: false,
20            is_experimental: false,
21        }
22    )
23    .await?;
24
25    exercise_services::insert_exercise_service(
26        &mut conn,
27        &exercise_services::ExerciseServiceNewOrUpdate {
28            name: "Quizzes".to_string(),
29            slug: "quizzes".to_string(),
30            public_url: "http://project-331.local/quizzes/api/service-info".to_string(),
31            internal_url: Some(
32                "http://quizzes.default.svc.cluster.local:3004/quizzes/api/service-info"
33                    .to_string(),
34            ),
35            max_reprocessing_submissions_at_once: 5,
36            is_global_admin_only: false,
37            is_experimental: false,
38        },
39    )
40    .await?;
41
42    exercise_services::insert_exercise_service(
43        &mut conn,
44        &exercise_services::ExerciseServiceNewOrUpdate {
45            name: "TMC".to_string(),
46            slug: "tmc".to_string(),
47            public_url: "http://project-331.local/tmc/api/service-info".to_string(),
48            internal_url: Some(
49                "http://tmc.default.svc.cluster.local:3005/tmc/api/service-info".to_string(),
50            ),
51            max_reprocessing_submissions_at_once: 5,
52            is_global_admin_only: false,
53            is_experimental: false,
54        },
55    )
56    .await?;
57    Ok(())
58}