Rails.application.routes.draw do get "up" => "rails/health#show", as: :rails_health_check # sign-in / invitation link from the mail: confirm page, then POST signs in get "auth/verify" => "auth#show", as: :verify_auth post "auth/verify" => "auth#create" namespace :api do post "auth/magic_link" => "auth#magic_link" post "auth/code" => "auth#code" delete "auth/session" => "auth#logout" get "me" => "me#show" patch "me" => "me#update" resources :documents, only: %i[index create show update destroy] do resource :lock, only: %i[create destroy], controller: "document_locks" resource :join, only: :create get "share" => "shares#show" post "share/links" => "shares#create_link" delete "share/links/:id" => "shares#revoke_link" post "share/invitations" => "shares#invite" patch "share/members/:user_id" => "shares#update_member" delete "share/members/:user_id" => "shares#remove_member" end end mount LetterOpenerWeb::Engine, at: "/letter_opener" if Rails.env.development? # the Vue app get "d/:id" => "spa#show", as: :document_page root "spa#show" end