Manuel Bustillo
2147d7ad5e
All checks were successful
Run unit tests / rubocop (push) Successful in 27s
Run unit tests / check-licenses (push) Successful in 32s
Run unit tests / copyright_notice (push) Successful in 36s
Run unit tests / unit_tests (push) Successful in 1m22s
Run unit tests / build-static-assets (push) Successful in 10m9s
## Why The current way of creating and deleting simulations doesn't scale for big instances. We cannot generate 50 simulations every time a guest confirms attendance, and we should not delete existing valuable simulations. For example, if a guest confirms attendance and declines right after, previously generated simulations should still be valid. ## What In this PR we are introducing a series of changes that make simulations management easier: 1. We're removing the automatic creation of simulations. 2. Simulations are not removed anymore, neither manually nor automatically. 3. A new endpoint has been defined to create simulations on demand. 4. A digest property has been defined to determine whether a simulation is still valid (meaning there have not been any change in the list of guests involved). Reviewed-on: #222 Co-authored-by: Manuel Bustillo <bustikiller@bustikiller.com> Co-committed-by: Manuel Bustillo <bustikiller@bustikiller.com>
46 lines
1.5 KiB
Ruby
46 lines
1.5 KiB
Ruby
# Copyright (C) 2024-2025 LibreWeddingPlanner contributors
|
|
|
|
Rails.application.routes.draw do
|
|
mount LetterOpenerWeb::Engine, at: "/letter_opener" if Rails.env.development?
|
|
get 'token' => 'tokens#show', as: :token
|
|
get 'up' => 'rails/health#show', as: :rails_health_check
|
|
|
|
resources :captcha, only: :create do
|
|
get 'v2/media', to: 'captcha#media', on: :collection, as: :media
|
|
end
|
|
|
|
mount Rswag::Ui::Engine => '/api-docs'
|
|
mount Rswag::Api::Engine => '/api-docs'
|
|
|
|
scope ":slug", constraints: { slug: Wedding::SLUG_REGEX } do
|
|
devise_for :users, skip: [:registration, :session, :confirmation]
|
|
devise_scope :user do
|
|
post 'users', to: 'users/registrations#create'
|
|
|
|
post '/users/sign_in', to: 'users/sessions#create'
|
|
delete '/users/sign_out', to: 'users/sessions#destroy'
|
|
|
|
get '/users/confirmation', to: 'users/confirmations#show', as: :confirmation
|
|
end
|
|
|
|
resources :groups, only: %i[index create update destroy] do
|
|
post 'affinities/reset', to: 'affinities#reset', on: :collection
|
|
resources :affinities, only: %i[index] do
|
|
put :bulk_update, on: :collection
|
|
get :default, on: :collection
|
|
end
|
|
end
|
|
|
|
resources :guests, only: %i[index create update destroy] do
|
|
post :bulk_update, on: :collection
|
|
end
|
|
resources :expenses, only: %i[index create update destroy] do
|
|
get :summary, on: :collection
|
|
end
|
|
resources :tables_arrangements, only: %i[index show create]
|
|
resources :summary, only: :index
|
|
|
|
root to: redirect("/%{slug}")
|
|
end
|
|
end
|