Expose tables via API #80
| @ -2,10 +2,13 @@ | ||||
| 
 | ||||
| class TablesArrangementsController < ApplicationController | ||||
|   def index | ||||
|     render json: TablesArrangement.all.order(discomfort: :asc).limit(10) | ||||
|     render json: TablesArrangement.all.order(discomfort: :asc).limit(10).as_json(only: %i[id discomfort]) | ||||
|   end | ||||
| 
 | ||||
|   def show | ||||
|     render json: TablesArrangement.find(params[:id]) | ||||
|     Seat.joins(:guest).where(tables_arrangement_id: params[:id]) | ||||
|         .pluck(:table_number, Arel.sql("guests.first_name || ' ' ||guests.last_name ")) | ||||
|         .group_by(&:first).transform_values { |table| table.map(&:last) } | ||||
|         .then { |result| render json: result } | ||||
|   end | ||||
| end | ||||
|  | ||||
| @ -2,4 +2,5 @@ | ||||
| 
 | ||||
| class TablesArrangement < ApplicationRecord | ||||
|   has_many :seats | ||||
|   has_many :guests, through: :seats | ||||
| end | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user