headless_lms_server/programs/seed/
seed_exercise_services.rs1use 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}