|
defmodule MedicodeWeb.Router do |
|
use MedicodeWeb, :router |
|
|
|
import MedicodeWeb.UserAuth |
|
import PhoenixStorybook.Router |
|
|
|
pipeline :browser do |
|
plug :accepts, ["html"] |
|
plug :fetch_session |
|
plug :fetch_live_flash |
|
plug :put_root_layout, html: {MedicodeWeb.Layouts, :root} |
|
plug :protect_from_forgery |
|
plug :put_secure_browser_headers |
|
plug :fetch_current_user |
|
end |
|
|
|
pipeline :api do |
|
plug :accepts, ["json"] |
|
end |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if Application.compile_env(:medicode, :dev_routes) do |
|
|
|
|
|
|
|
|
|
|
|
import Phoenix.LiveDashboard.Router |
|
|
|
scope "/dev" do |
|
pipe_through :browser |
|
|
|
live_dashboard "/dashboard", metrics: MedicodeWeb.Telemetry |
|
forward "/mailbox", Plug.Swoosh.MailboxPreview |
|
end |
|
|
|
scope "/" do |
|
storybook_assets() |
|
end |
|
|
|
scope "/", MedicodeWeb do |
|
pipe_through :browser |
|
|
|
live_storybook("/storybook", backend_module: MedicodeWeb.Storybook) |
|
end |
|
end |
|
|
|
|
|
|
|
scope "/", MedicodeWeb do |
|
pipe_through [:browser, :redirect_if_user_is_authenticated] |
|
|
|
live_session :redirect_if_user_is_authenticated, |
|
on_mount: [{MedicodeWeb.UserAuth, :redirect_if_user_is_authenticated}] do |
|
live "/users/register", UserRegistrationLive, :new |
|
live "/users/log_in", UserLoginLive, :new |
|
live "/users/reset_password", UserForgotPasswordLive, :new |
|
live "/users/reset_password/:token", UserResetPasswordLive, :edit |
|
end |
|
|
|
post "/users/log_in", UserSessionController, :create |
|
end |
|
|
|
scope "/", MedicodeWeb do |
|
pipe_through [:browser, :require_authenticated_user] |
|
|
|
live_session :require_authenticated_user, |
|
on_mount: [{MedicodeWeb.UserAuth, :ensure_authenticated}] do |
|
live "/users/settings", UserSettingsLive, :edit |
|
live "/users/settings/confirm_email/:token", UserSettingsLive, :confirm_email |
|
live "/", HomeLive.Index |
|
live "/transcriptions/:id", TranscriptionsLive.Show |
|
end |
|
end |
|
|
|
scope "/", MedicodeWeb do |
|
pipe_through [:browser] |
|
|
|
delete "/users/log_out", UserSessionController, :delete |
|
|
|
live_session :current_user, |
|
on_mount: [{MedicodeWeb.UserAuth, :mount_current_user}] do |
|
live "/users/confirm/:token", UserConfirmationLive, :edit |
|
live "/users/confirm", UserConfirmationInstructionsLive, :new |
|
end |
|
end |
|
end |
|
|