48 lines
1.5 KiB
Ruby
48 lines
1.5 KiB
Ruby
# Copyright (C) 2024 Manuel Bustillo
|
|
|
|
# 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]
|
|
resources :summary, only: :index
|
|
|
|
root to: redirect("/%{slug}")
|
|
end
|
|
end
|