Compare commits

..

4 Commits

Author SHA1 Message Date
879a6803e7
Upgrade bundler
Some checks failed
Run unit tests / rubocop (pull_request) Failing after 1m51s
Run unit tests / unit_tests (pull_request) Failing after 3m10s
Run unit tests / check-licenses (pull_request) Failing after 1m20s
Run unit tests / build-static-assets (pull_request) Has been skipped
Run unit tests / copyright_notice (pull_request) Failing after 2m17s
2025-09-21 23:54:13 +02:00
01a5feed09
Revert "Pin the version of the setup-ruby Github action"
This reverts commit 725b9287da4590b16e10416b3c839af9255b084f.
2025-09-21 23:53:35 +02:00
725b9287da
Pin the version of the setup-ruby Github action
Some checks failed
Run unit tests / rubocop (pull_request) Failing after 1m41s
Run unit tests / check-licenses (pull_request) Failing after 1m57s
Run unit tests / copyright_notice (pull_request) Failing after 12m46s
Run unit tests / unit_tests (pull_request) Failing after 12m47s
Run unit tests / build-static-assets (pull_request) Has been cancelled
2025-09-21 23:47:23 +02:00
1e1b3f19fc
Define an endpoint with table simulation stats
Some checks failed
Run unit tests / copyright_notice (pull_request) Successful in 4m40s
Run unit tests / check-licenses (pull_request) Failing after 1m28s
Run unit tests / rubocop (pull_request) Failing after 1m38s
Run unit tests / unit_tests (pull_request) Failing after 2m35s
Run unit tests / build-static-assets (pull_request) Has been skipped
2025-09-21 21:08:01 +02:00
3 changed files with 26 additions and 9 deletions

View File

@ -663,4 +663,4 @@ RUBY VERSION
ruby 3.4.3p32
BUNDLED WITH
2.6.1
2.7.2

View File

@ -4,17 +4,28 @@
class TablesArrangementsController < ApplicationController
def index
current_digest = Tables::Distribution.digest(current_tenant)
query = TablesArrangement
.order(valid: :desc)
.order(discomfort: :asc)
.select(:id, :name, :discomfort, :status, :progress)
.select("digest = '#{current_digest}'::uuid OR discomfort IS NULL as valid")
.limit((params[:limit].presence&.to_i || 20).clamp(1..20))
render json: TablesArrangement
.order(valid: :desc)
.order(discomfort: :asc)
.select(:id, :name, :discomfort, :status, :progress)
.select("digest = '#{current_digest}'::uuid OR discomfort IS NULL as valid")
.limit(20)
query = query.where(status: params[:status]) if params[:status].present?
render json: query
.as_json(only: %i[id name discomfort valid status progress])
end
def stats
scope = TablesArrangement.where('digest = ?::uuid OR discomfort IS NULL', current_digest)
render json: {
count: scope.group(:status).count,
in_progress: scope.where(status: :in_progress).limit(10).order(progress: :desc).pluck(:progress)
}
end
def show
Guest.joins(:seats, :group)
.where(seats: { tables_arrangement_id: params[:id] })
@ -35,6 +46,10 @@ class TablesArrangementsController < ApplicationController
private
def current_digest
@current_digest ||= Tables::Distribution.digest(current_tenant)
end
def format(number:, guests:)
{
number: number,

View File

@ -40,7 +40,9 @@ Rails.application.routes.draw do
resource :website, only: [:show, :update]
resources :tables_arrangements, only: %i[index show create]
resources :tables_arrangements, only: %i[index show create] do
get :stats, on: :collection
end
resources :summary, only: :index
resources :invitations, only: %i[show index create update destroy] do
post :email, on: :collection