Add an accommodations reservations module #188
@ -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))
|
||||||
|
}
|
||||||
|
@ -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
|
||||||
|
@ -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)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user