| 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 |
| |
| |
| |
| |
| |
| |
|
|
| scope "/dev" do |
| pipe_through :browser |
|
|
| |
| 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 "/" do |
| pipe_through [:browser, :require_authenticated_user] |
|
|
| import Phoenix.LiveDashboard.Router |
|
|
| live_dashboard "/dashboard", metrics: MedicodeWeb.Telemetry |
| end |
|
|
| scope "/", MedicodeWeb do |
| pipe_through [:browser, :require_authenticated_user] |
|
|
| get "/transcription/reports/:id", TranscriptionReportsController, :show |
|
|
| 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 "/", TranscriptionsLive.Show |
| 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 |
|
|