async def delete_room_review(room_id: int, review_id: int, db: Session = Depends(get_db), api_key: Optional[str] = Header(None)): auth_service.verify_apy_key(api_key) room_review_info = RoomReviewDAO.delete_room_review(db, room_id, review_id) return room_review_info
async def delete_room_comment(room_id: int, comment_id: int, db: Session = Depends(get_db), api_key: Optional[str] = Header(None)): auth_service.verify_apy_key(api_key) room_comment = RoomCommentDAO.delete_comment(db, room_id, comment_id) return room_comment
async def comment_room(payload: RoomCommentSchema, room_id: int, db: Session = Depends(get_db), api_key: Optional[str] = Header(None)): auth_service.verify_apy_key(api_key) room_comment = RoomCommentDAO.add_new_comment(db, room_id, payload) return room_comment
async def review_room(payload: RoomReviewSchema, room_id: int, db: Session = Depends(get_db), api_key: Optional[str] = Header(None)): auth_service.verify_apy_key(api_key) room_review_info = RoomReviewDAO.add_new_room_review(db, room_id, payload) return room_review_info
async def update_room(payload: RoomPatch, room_id: int, db: Session = Depends(get_db), api_key: Optional[str] = Header(None)): auth_service.verify_apy_key(api_key) room_info = RoomDAO.update_room(db, room_id, payload) return room_info
async def get_room_rating(room_id: int, rating_id: int, db: Session = Depends(get_db), api_key: Optional[str] = Header(None)): auth_service.verify_apy_key(api_key) room_rating_info = RoomRatingDAO.get_room_rating(db, room_id, rating_id) return room_rating_info
async def book_room( room_id: int, payload: RoomBookingSchema, db: Session = Depends(get_db), api_key: Optional[str] = Header(None) ): auth_service.verify_apy_key(api_key) room_booking_info = RoomBookingDAO.add_new_room_booking(db, room_id, payload) return room_booking_info
async def get_all_room_comments(room_id: int, db: Session = Depends(get_db), api_key: Optional[str] = Header(None)): auth_service.verify_apy_key(api_key) room_comments_list = RoomCommentDAO.get_all_comments(db, room_id) amount_comments = len(room_comments_list) return { "room_id": room_id, "amount": amount_comments, "comments": room_comments_list }
async def get_all_rooms( db: Session = Depends(get_db), api_key: Optional[str] = Header(None), date_from: Optional[str] = None, date_to: Optional[str] = None, longitude: Optional[float] = None, latitude: Optional[float] = None, people: Optional[int] = None, types: List[str] = Query(None), owner_uuid: Optional[int] = None, min_price: Optional[int] = None, max_price: Optional[int] = None, allow_blocked: Optional[bool] = False, only_blocked: Optional[bool] = False, ids: List[int] = Query(None), ): auth_service.verify_apy_key(api_key) rooms_list = RoomDAO.get_all_rooms(db, date_from, date_to, longitude, latitude, people, types, owner_uuid, min_price, max_price, allow_blocked, only_blocked, ids) amount_rooms = len(rooms_list) return {"amount": amount_rooms, "rooms": rooms_list}
async def get_recomended_rooms(db: Session = Depends(get_db), api_key: Optional[str] = Header(None)): auth_service.verify_apy_key(api_key) rooms_list = RoomDAO.get_recomended_rooms(db) amount_rooms = len(rooms_list) return {"amount": amount_rooms, "rooms": rooms_list}
async def create_room(payload: RoomSchema, db: Session = Depends(get_db), api_key: Optional[str] = Header(None)): auth_service.verify_apy_key(api_key) room_info = RoomDAO.add_new_room(db, payload) return room_info