Merge pull request 'Expose tables via API' (#80) from arrangements-api into main
Reviewed-on: #80
This commit is contained in:
commit
f75f903363
@ -2,10 +2,15 @@
|
||||
|
||||
class TablesArrangementsController < ApplicationController
|
||||
def index
|
||||
render json: TablesArrangement.all.order(discomfort: :asc).limit(10)
|
||||
render json: TablesArrangement.all.order(discomfort: :asc).limit(3).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 "), 'guests.id')
|
||||
.group_by(&:first)
|
||||
.transform_values { |table| table.map { |(_, name, id)| { id:, name: } } }
|
||||
.map { |number, guests| { number:, guests: } }
|
||||
.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