Add an accommodations reservations module #188

Merged
pierre merged 81 commits from accomodation_module into master 2024-06-22 21:30:26 +00:00
3 changed files with 28 additions and 1 deletions
Showing only changes of commit 51f8aaccb6 - Show all commits

View File

@ -50,3 +50,11 @@ pub async fn create(a: FamilyInPath, req: web::Json<CreateCalendarQuery>) -> Htt
Ok(HttpResponse::Ok().json(calendar)) Ok(HttpResponse::Ok().json(calendar))
} }
/// Get the list of calendars of the user
pub async fn get_list(a: FamilyInPath) -> HttpResult {
let users =
accommodations_reservations_calendars_service::get_all_of_user(a.user_id(), a.family_id())
.await?;
Ok(HttpResponse::Ok().json(users))
}

View File

@ -262,7 +262,10 @@ async fn main() -> std::io::Result<()> {
"/family/{id}/accommodations/reservations_calendars/create", "/family/{id}/accommodations/reservations_calendars/create",
web::post().to(accommodations_reservations_calendars_controller::create), web::post().to(accommodations_reservations_calendars_controller::create),
) )
// TODO : list .route(
"/family/{id}/accommodations/reservations_calendars/list",
web::get().to(accommodations_reservations_calendars_controller::get_list),
)
// TODO : delete // TODO : delete
// TODO : anonymous URL access // TODO : anonymous URL access
// Photos controller // Photos controller

View File

@ -33,3 +33,19 @@ pub async fn create(
Ok(res) Ok(res)
}) })
} }
/// Get all the calendars of a user
pub async fn get_all_of_user(
user: UserID,
family: FamilyID,
) -> anyhow::Result<Vec<AccommodationReservationCalendar>> {
db_connection::execute(|conn| {
accommodations_reservations_cals_urls::table
.filter(
accommodations_reservations_cals_urls::dsl::family_id
.eq(family.0)
.and(accommodations_reservations_cals_urls::dsl::user_id.eq(user.0)),
)
.get_results(conn)
})
}