headless_lms_server/controllers/cms/
exercise_services.rs1use models::exercise_services::ExerciseServiceIframeRenderingInfo;
4
5use crate::prelude::*;
6
7#[instrument(skip(pool))]
11async fn get_all_exercise_services(
12 pool: web::Data<PgPool>,
13 user: AuthUser,
14) -> ControllerResult<web::Json<Vec<ExerciseServiceIframeRenderingInfo>>> {
15 let mut conn = pool.acquire().await?;
16 let token = authorize(&mut conn, Act::Teach, Some(user.id), Res::AnyCourse).await?;
17 let res =
18 models::exercise_services::get_all_exercise_services_iframe_rendering_infos(&mut conn)
19 .await?;
20
21 token.authorized_ok(web::Json(res))
22}
23
24pub fn _add_routes(cfg: &mut ServiceConfig) {
25 cfg.route("", web::get().to(get_all_exercise_services));
26}