summaryrefslogtreecommitdiff
path: root/lib/silmataivas_web/router.ex
diff options
context:
space:
mode:
Diffstat (limited to 'lib/silmataivas_web/router.ex')
-rw-r--r--lib/silmataivas_web/router.ex41
1 files changed, 41 insertions, 0 deletions
diff --git a/lib/silmataivas_web/router.ex b/lib/silmataivas_web/router.ex
new file mode 100644
index 0000000..d790ef9
--- /dev/null
+++ b/lib/silmataivas_web/router.ex
@@ -0,0 +1,41 @@
+defmodule SilmataivasWeb.Router do
+ use SilmataivasWeb, :router
+
+ pipeline :api do
+ plug :accepts, ["json"]
+ plug SilmataivasWeb.Plugs.Auth
+ end
+
+ pipeline :api_public do
+ plug :accepts, ["json"]
+ end
+
+ scope "/api", SilmataivasWeb do
+ pipe_through :api
+
+ resources "/locations", LocationController, only: [:index, :create, :show, :update]
+ end
+
+ scope "/", SilmataivasWeb do
+ pipe_through :api_public
+
+ get "/health", HealthController, :index
+ end
+
+ # Enable LiveDashboard and Swoosh mailbox preview in development
+ if Application.compile_env(:silmataivas, :dev_routes) do
+ # If you want to use the LiveDashboard in production, you should put
+ # it behind authentication and allow only admins to access it.
+ # If your application does not have an admins-only section yet,
+ # you can use Plug.BasicAuth to set up some basic authentication
+ # as long as you are also using SSL (which you should anyway).
+ import Phoenix.LiveDashboard.Router
+
+ scope "/dev" do
+ pipe_through [:fetch_session, :protect_from_forgery]
+
+ live_dashboard "/dashboard", metrics: SilmataivasWeb.Telemetry
+ forward "/mailbox", Plug.Swoosh.MailboxPreview
+ end
+ end
+end