use actix_web::{error, web, Error, HttpResponse}; use terminwahl_typen::IdType; use crate::db::{self, Pool}; pub async fn get_teachers_json( pool: web::Data, path: web::Path, ) -> Result { let date_id = path.into_inner(); let tasks = db::read::get_teachers(&pool, date_id) .await .map_err(error::ErrorInternalServerError)?; Ok(HttpResponse::Ok().json(tasks)) } pub async fn get_subjects_json(pool: web::Data) -> Result { let tasks = db::read::get_subjects(&pool) .await .map_err(error::ErrorInternalServerError)?; Ok(HttpResponse::Ok().json(tasks)) } pub async fn get_slots_json( pool: web::Data, path: web::Path, ) -> Result { let date_id = path.into_inner(); let tasks = db::read::get_slots(&pool, date_id) .await .map_err(error::ErrorInternalServerError)?; Ok(HttpResponse::Ok().json(tasks)) } pub async fn get_unavailable_json(pool: web::Data) -> Result { let tasks = db::read::get_unavailable(&pool) .await .map_err(error::ErrorInternalServerError)?; Ok(HttpResponse::Ok().json(tasks)) } pub async fn get_dates_json(pool: web::Data) -> Result { let dates = db::read::get_dates(&pool) .await .map_err(error::ErrorInternalServerError)?; Ok(HttpResponse::Ok().json(dates)) }