wedding-planner/app/controllers/tables_arrangements_controller.rb
Manuel Bustillo bd5c4f5482
All checks were successful
Check usage of free licenses / build-static-assets (pull_request) Successful in 1m42s
Add copyright notice / copyright_notice (pull_request) Successful in 3m5s
Run unit tests / unit_tests (pull_request) Successful in 5m4s
Merge first and last name and expose guest update endpoint
2024-11-11 07:55:03 +01:00

24 lines
713 B
Ruby

# Copyright (C) 2024 Manuel Bustillo
class TablesArrangementsController < ApplicationController
def index
render json: TablesArrangement.all.order(discomfort: :asc).limit(3).as_json(only: %i[id name discomfort])
end
def show
Seat.joins(guest: :group)
.where(tables_arrangement_id: params[:id])
.order('guests.group_id')
.pluck(
:table_number,
'guests.name',
'guests.id',
'groups.color'
)
.group_by(&:first)
.transform_values { |table| table.map { |(_, name, id, color)| { id:, name:, color: } } }
.map { |number, guests| { number:, guests: } }
.then { |result| render json: result }
end
end