From ca05f8b82dc2ff56a98c32cc8da3ca81df33590a Mon Sep 17 00:00:00 2001 From: 25 macamp Date: Mon, 9 Sep 2019 17:39:08 +0900 Subject: [PATCH] Add new action #7 --- app/controllers/api/v1/reservations_controller.rb | 7 +++++++ app/controllers/api/v1/rooms_controller.rb | 8 ++++++++ config/routes.rb | 5 +++++ 3 files changed, 20 insertions(+) diff --git a/app/controllers/api/v1/reservations_controller.rb b/app/controllers/api/v1/reservations_controller.rb index 9397649..22492b6 100644 --- a/app/controllers/api/v1/reservations_controller.rb +++ b/app/controllers/api/v1/reservations_controller.rb @@ -30,6 +30,13 @@ def create end end + def reservations_by_room + reservations = Reservation.where(room_id: params[:id]) + reservations = reservations.map { |r| ReservationSerializer.new(r) } + + render json: { reservations: reservations, is_success: true }, status: :ok + end + def approve reservation = Reservation.find(params[:id]) if current_user.id == reservation.room.user_id diff --git a/app/controllers/api/v1/rooms_controller.rb b/app/controllers/api/v1/rooms_controller.rb index 298c981..ed380a9 100644 --- a/app/controllers/api/v1/rooms_controller.rb +++ b/app/controllers/api/v1/rooms_controller.rb @@ -48,6 +48,14 @@ def destroy head :no_content end + def your_listings + rooms = current_user.rooms + render json: { + rooms: rooms.map { |r| r.attributes.merge(image: r.cover_photo, instant: r.instant != 'Request') }, + is_success: true + }, status: :ok + end + private def room_params diff --git a/config/routes.rb b/config/routes.rb index 191dd3e..b575181 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -5,6 +5,10 @@ namespace :v1 do resources :rooms, only: %i[index create show destroy] do resources :photos, only: %i[create destroy] + + member do + get 'reservations', to: 'reservations#reservations_by_room' + end end resources :reservations, only: %i[create] do member do @@ -13,6 +17,7 @@ end end + get 'listings', to: 'rooms#your_listings' post 'signup', to: 'users#create' post 'login', to: 'sessions#create' post 'add_card', to: 'users#add_card'