defmodule MangoWeb.Router do | |
use MangoWeb, :router | |
pipeline :browser do | |
plug :accepts, ["html"] | |
plug :fetch_session | |
plug :fetch_flash | |
plug :protect_from_forgery | |
plug :put_secure_browser_headers | |
end | |
pipeline :frontend do | |
plug MangoWeb.Plugs.LoadCustomer | |
plug MangoWeb.Plugs.FetchCart | |
end | |
pipeline :admin do | |
plug MangoWeb.Plugs.AdminLayout | |
end | |
pipeline :api do | |
plug :accepts, ["json"] | |
end | |
scope "/", MangoWeb do | |
pipe_through [:browser, :frontend] | |
# Add all routes that don't require authentication | |
get "/login", SessionController, :new | |
post "/login", SessionController, :create | |
get "/register", RegistrationController, :new | |
post "/register", RegistrationController, :create | |
get "/", PageController, :index | |
get "/categories/:name", CategoryController, :show | |
get "/cart", CartController, :show | |
post "/cart", CartController, :add | |
put "/cart", CartController, :update | |
end | |
scope "/", MangoWeb do | |
pipe_through [:browser, :frontend, MangoWeb.Plugs.AuthenticateCustomer] | |
# Add all routes that require authentication | |
get "/logout", SessionController, :delete | |
get "/checkout", CheckoutController, :edit | |
put "/checkout/confirm", CheckoutController, :update | |
end | |
scope "/admin", MangoWeb.Admin, as: :admin do | |
pipe_through [:browser, :admin] | |
resources "/users", UserController | |
get "/login", SessionController, :new | |
post "/sendlink", SessionController, :send_link | |
get "/magiclink", SessionController, :create | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment