Rails.application.routes.draw do resources :turns do member do patch :submit_orders post :process_turn end end resources :games do member do post :join_game post :start_power_selection post :start_order_input post :vote_draw post :force_draw get :turn_data end resources :participants, only: [] do member do patch :select_power end end resources :boards, only: [ :index, :new, :create, :show ] do member do patch :toggle_public end resources :board_posts, only: [ :create ], path: "posts" resources :board_memberships, only: [ :create ], path: "members" do collection do delete :leave end end resources :board_proposals, only: [ :create, :update ], path: "proposals" end end # Define your application routes per the DSL in https://guides.rubyonrails.org/routing.html # Reveal health status on /up that returns 200 if the app boots with no exceptions, otherwise 500. # Can be used by load balancers and uptime monitors to verify that the app is live. get "up" => "rails/health#show", as: :rails_health_check # Render dynamic PWA files from app/views/pwa/* (remember to link manifest in application.html.erb) # get "manifest" => "rails/pwa#manifest", as: :pwa_manifest # get "service-worker" => "rails/pwa#service_worker", as: :pwa_service_worker # Defines the root path route ("/") root "games#index" # Authentication routes get "/signup", to: "users#new" post "/signup", to: "users#create" get "/login", to: "sessions#new" post "/login", to: "sessions#create" delete "/logout", to: "sessions#destroy" # User management routes (admin only) resources :users, only: [ :index, :show, :edit, :update, :destroy ] do member do patch :toggle_admin end end end