From 49f36770815c78c9e55e942c83d4a175ac09da82 Mon Sep 17 00:00:00 2001 From: Pierre HUBERT Date: Sat, 25 May 2024 07:50:11 +0200 Subject: [PATCH] Get full list of accommodations --- .../src/controllers/accommodations_list_controller.rs | 8 +++++++- geneit_backend/src/main.rs | 7 +++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/geneit_backend/src/controllers/accommodations_list_controller.rs b/geneit_backend/src/controllers/accommodations_list_controller.rs index d38ec79..505a7c5 100644 --- a/geneit_backend/src/controllers/accommodations_list_controller.rs +++ b/geneit_backend/src/controllers/accommodations_list_controller.rs @@ -1,7 +1,7 @@ use crate::constants::StaticConstraints; use crate::controllers::HttpResult; use crate::extractors::accommodation_extractor::FamilyAndAccommodationInPath; -use crate::extractors::family_extractor::FamilyInPathWithAdminMembership; +use crate::extractors::family_extractor::{FamilyInPath, FamilyInPathWithAdminMembership}; use crate::models::Accommodation; use crate::services::accommodations_list_service; use actix_web::{web, HttpResponse}; @@ -66,6 +66,12 @@ pub async fn create( Ok(HttpResponse::Ok().json(accommodation)) } +/// Get the full list of accommodations +pub async fn get_full_list(m: FamilyInPath) -> HttpResult { + Ok(HttpResponse::Ok() + .json(accommodations_list_service::get_all_of_family(m.family_id()).await?)) +} + /// Delete an accommodation pub async fn delete( m: FamilyAndAccommodationInPath, diff --git a/geneit_backend/src/main.rs b/geneit_backend/src/main.rs index 002334d..92c749a 100644 --- a/geneit_backend/src/main.rs +++ b/geneit_backend/src/main.rs @@ -210,13 +210,16 @@ async fn main() -> std::io::Result<()> { "/family/{id}/accommodations/list/create", web::post().to(accommodations_list_controller::create), ) - // TODO : update + .route( + "/family/{id}/accommodations/list/list", + web::get().to(accommodations_list_controller::get_full_list), + ) .route( "/family/{id}/accommodations/list/{accommodation_id}", web::delete().to(accommodations_list_controller::delete), ) - // TODO : list // TODO : get single + // TODO : update // [ACCOMODATIONS] Reservations controller // TODO : create // TODO : update