config/routes.rb
Rama master · réplica de lectura del repositorio original.
# frozen_string_literal: true
Rails.application.routes.draw do
get "up" => "rails/health#show", as: :rails_health_check
resources :logos, only: :show
constraints subdomain: "mc" do
mount MissionControl::Jobs::Engine, at: "/jobs"
get "sessions/:tenant" => "mission_control/sessions#show", as: :mc_login
end
constraints subdomain: "query" do
scope module: "query", as: "query", defaults: { format: :json } do
root to: "catalog#show"
post "tickets/search" => "ticket_searches#create"
get "organizations" => "organizations#index"
get "bank_connections" => "bank_connections#index"
scope ":tenant" do
resource :schema, only: :show
get "schema/:table" => "schemas#show"
resource :models, only: :show
resource :sql, only: :create
resource :explain, only: :create
resources :blobs, only: :show
end
end
end
constraints subdomain: "inbound" do
scope module: "inbound", as: "inbound" do
namespace :postmark do
resources :webhooks, only: :create
end
end
end
constraints subdomain: "admin" do
get "favicon" => "favicons#show"
get "favicon.ico" => "favicons#show"
resources :sessions, only: %i[show create]
get "/login" => "sessions#new", as: :login
delete "/logout" => "sessions#destroy", as: :logout
resources :demo_registrations, only: %i[new create],
controller: "demo/registrations", path: "demo"
resources :email_suppressions, only: :destroy
get "search" => "search#index", as: :search
get "activity_participations/calendar" => "activity_participations_calendar#show",
defaults: { format: :ics }
get "billing/:year" => "billings#show", as: :billing
get "billing/snapshots/:id" => "billing_snapshots#show", as: :billing_snapshot
resource :ebics_initialization_letter, only: :show, controller: :ebics_onboarding_letters
get "settings/:section/edit" => "organizations#edit", as: :edit_organization
get "settings/form_details_preview" => "organizations#form_details_preview",
as: :form_details_preview_organization
resource :organization, path: "settings", only: %i[show update]
get "deliveries/next" => "next_delivery#next"
get "handbook/search" => "handbook_search#show", as: :handbook_search
get "handbook/:id" => "handbook#index", as: :handbook_page
get "analytics/:id" => "analytics#index", as: :analytics_page
get "support", to: redirect("/support_tickets/new", status: 302), as: :support
namespace :embeds do
namespace :maps do
get "depots" => "depots#show"
end
end
ActiveAdmin.routes(self)
namespace :api do
namespace :v1 do
resources :members, only: :create
resource :configuration, only: :show
get "basket_contents/current" => "basket_contents#index"
resources :deliveries, only: [] do
resources :baskets, only: :index
end
end
end
namespace :postmark do
resources :webhooks, only: :create
end
end
scope module: "members", as: "members" do
constraints subdomain: Organization::MEMBERS_SUBDOMAINS do
get "favicon" => "/favicons#show"
get "favicon.ico" => "/favicons#show"
resources :sessions, only: %i[show create]
get "/login" => "sessions#new", as: :login
delete "/logout" => "sessions#destroy", as: :logout
get "newsletters.atom",
to: "newsletter_feeds#index",
as: :newsletter_feed,
defaults: { format: :atom }
resources :newsletter_deliveries, only: [ :index, :show ], path: "newsletters"
get "/newsletters/unsubscribe/:token" => "newsletter_subscriptions#destroy", as: "unsubscribe_newsletter"
# List-Unsubscribe-Post
post "/newsletters/unsubscribe/:token/post" => "newsletter_subscriptions#destroy", as: "unsubscribe_newsletter_post"
post "/newsletters/subscribe/:token" => "newsletter_subscriptions#create", as: "subscribe_newsletter"
get "/membership", to: redirect("/memberships")
resources :memberships, only: %i[index edit update]
resources :baskets, only: %i[edit update] do
resource :forced_delivery, only: :create
resource :basket_shifts, only: %i[new create], path: "shift", path_names: { new: "" }
resource :home_delivery_address, only: :new
end
resources :home_delivery_addresses, only: %i[create edit update destroy]
scope :membership do
resource :renewal,
only: %i[new create],
as: "membership_renewal",
controller: "membership_renewals"
get "renew(:format)" => "membership_renewals#new", as: "renew_membership", decision: "renew"
get ":decision" => "membership_renewals#new"
resource :trial_cancelation, only: %i[new create], path: "trial/cancelation"
end
namespace :bidding_round do
resource :pledge, only: %i[new create], path_names: { new: "" }
end
resources :deliveries, only: :index
resources :activities, only: :index
resources :activity_participations, only: %i[index create destroy]
namespace :shop do
get "/" => "products#index"
get "/next" => "products#index", as: :next, next: true
get "/special/:special_delivery_date" => "products#index", as: :special_delivery
resources :orders, only: %i[show update destroy] do
post "confirm", on: :member
post "unconfirm", on: :member
resources :order_items, only: %i[create]
end
end
resources :absences, only: %i[index create destroy]
get "billing" => "billing#index"
resource :member, only: %i[new show create], path: ""
get ":page" => "public_pages#show",
as: :public_page,
constraints: lambda { |req|
Members::PublicPagesController::ALLOWED_PAGES.include?(req.params[:page])
}
resource :account, only: %i[show edit update] do
resource :deletion_request, only: %i[new create], path: "delete", path_names: { new: "" }
resource :deletion_confirmation, only: %i[new create], path: "delete/confirm", path_names: { new: "" }
end
resource :sepa_mandate, only: %i[new create destroy]
resource :info, only: :show
resource :contact_sharing, only: %i[show create]
resource :email_suppression, only: :destroy
resource :calendar, only: :show, defaults: { format: :ics }
end
end
end