2017-12-08 09:58:14 +01:00
|
|
|
defmodule EventosWeb.Router do
|
2018-01-14 17:56:50 +01:00
|
|
|
@moduledoc """
|
|
|
|
Router for eventos app
|
|
|
|
"""
|
2017-12-08 09:58:14 +01:00
|
|
|
use EventosWeb, :router
|
|
|
|
|
|
|
|
pipeline :api do
|
|
|
|
plug :accepts, ["json"]
|
|
|
|
end
|
|
|
|
|
2017-12-09 14:58:37 +01:00
|
|
|
pipeline :api_auth do
|
2018-01-13 23:33:03 +01:00
|
|
|
plug :accepts, ["json"]
|
2017-12-09 14:58:37 +01:00
|
|
|
plug EventosWeb.AuthPipeline
|
2017-12-08 09:58:14 +01:00
|
|
|
end
|
|
|
|
|
2018-01-09 17:52:26 +01:00
|
|
|
pipeline :browser do
|
|
|
|
plug :accepts, ["html"]
|
|
|
|
plug :fetch_session
|
|
|
|
plug :fetch_flash
|
|
|
|
plug :protect_from_forgery
|
|
|
|
plug :put_secure_browser_headers
|
|
|
|
end
|
|
|
|
|
|
|
|
scope "/api", EventosWeb do
|
2017-12-09 14:58:37 +01:00
|
|
|
pipe_through :api
|
2017-12-08 09:58:14 +01:00
|
|
|
|
2018-01-09 17:52:26 +01:00
|
|
|
post "/users", UserController, :register
|
2018-01-13 23:33:03 +01:00
|
|
|
post "/login", UserSessionController, :sign_in
|
|
|
|
resources "/groups", GroupController, only: [:index, :show]
|
|
|
|
resources "/events", EventController, only: [:index, :show]
|
2018-01-16 19:45:09 +01:00
|
|
|
get "/events/:id/ics", EventController, :export_to_ics
|
|
|
|
get "/events/:id/tracks", TrackController, :show_tracks_for_event
|
|
|
|
get "/events/:id/sessions", SessionController, :show_sessions_for_event
|
2018-01-13 23:33:03 +01:00
|
|
|
resources "/accounts", AccountController, only: [:index, :show]
|
|
|
|
resources "/tags", TagController, only: [:index, :show]
|
|
|
|
resources "/categories", CategoryController, only: [:index, :show]
|
|
|
|
resources "/sessions", SessionController, only: [:index, :show]
|
|
|
|
resources "/tracks", TrackController, only: [:index, :show]
|
2017-12-08 09:58:14 +01:00
|
|
|
end
|
|
|
|
|
|
|
|
# Other scopes may use custom stacks.
|
|
|
|
scope "/api", EventosWeb do
|
2017-12-09 14:58:37 +01:00
|
|
|
pipe_through :api_auth
|
|
|
|
|
2018-01-13 23:33:03 +01:00
|
|
|
get "/user", UserController, :show_current_account
|
|
|
|
post "/sign-out", UserSessionController, :sign_out
|
|
|
|
resources "/users", UserController, except: [:new, :edit, :show]
|
|
|
|
resources "/accounts", AccountController, except: [:new, :edit]
|
2017-12-09 14:58:37 +01:00
|
|
|
resources "/events", EventController
|
2018-01-16 19:45:09 +01:00
|
|
|
post "/events/:id/request", EventRequestController, :create_for_event
|
|
|
|
resources "/participant", ParticipantController
|
|
|
|
resources "/requests", EventRequestController
|
|
|
|
resources "/groups", GroupController, except: [:index, :show]
|
|
|
|
post "/groups/:id/request", GroupRequestController, :create_for_group
|
|
|
|
resources "/members", MemberController
|
|
|
|
resources "/requests", GroupRequestController
|
|
|
|
resources "/sessions", SessionController, except: [:index, :show]
|
|
|
|
resources "/tracks", TrackController, except: [:index, :show]
|
|
|
|
get "/tracks/:id/sessions", SessionController, :show_sessions_for_track
|
2017-12-09 14:58:37 +01:00
|
|
|
resources "/categories", CategoryController
|
|
|
|
resources "/tags", TagController
|
2017-12-08 09:58:14 +01:00
|
|
|
end
|
2018-01-09 17:52:26 +01:00
|
|
|
|
|
|
|
scope "/", EventosWeb do
|
|
|
|
pipe_through :browser
|
|
|
|
|
2018-01-13 23:33:03 +01:00
|
|
|
get "/*path", PageController, :index
|
2018-01-09 17:52:26 +01:00
|
|
|
end
|
2017-12-08 09:58:14 +01:00
|
|
|
end
|