Get full list of accommodations
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing

This commit is contained in:
Pierre HUBERT 2024-05-25 07:50:11 +02:00
parent 16bc7eca6f
commit 49f3677081
2 changed files with 12 additions and 3 deletions

View File

@ -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,

View File

@ -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