-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathrouter.ex
More file actions
88 lines (69 loc) · 2.41 KB
/
router.ex
File metadata and controls
88 lines (69 loc) · 2.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
defmodule OkrAppWeb.Router do
use OkrAppWeb, :router
pipeline :browser do
plug(:accepts, ["html"])
plug(:fetch_session)
plug(:protect_from_forgery)
plug(:put_secure_browser_headers)
end
pipeline :api do
plug(:accepts, ["json"])
plug(:fetch_session)
plug(:protect_from_forgery)
plug(:put_secure_browser_headers)
plug(OkrAppWeb.Plug.UserAuth)
end
pipeline :scim do
plug(BasicAuth, use_config: {:okr_app, :scim_auth})
end
scope "/", OkrAppWeb do
# Use the default browser stack
pipe_through(:browser)
get("/health", HealthController, :show)
get("/login", LoginController, :login)
get("/logout", LoginController, :logout)
if Mix.env() == :dev do
get("/force_login", LoginController, :force_login)
end
end
scope "/sso" do
forward("/", Samly.Router)
end
scope "/scim/v2" do
pipe_through(:scim)
forward("/", Scim.Web.Plug, behavior: OkrApp.UsersScim)
end
# defined this way to allow go-to definition support
alias OkrAppWeb.Api
scope "/api" do
pipe_through(:api)
get("/user", Api.UserController, :me)
resources("/cycles", Api.CycleController, only: [:index])
resources("/key_results", Api.KeyResultController, only: [:create, :update])
resources("/objectives", Api.ObjectiveController, only: [:create, :update])
resources("/objective_assessments", Api.ObjectiveAssessmentController, only: [:create, :update])
resources("/okr_reflections", Api.OkrReflectionController, only: [:create, :update])
resources("/objective_links", Api.ObjectiveLinkController, only: [:index, :create, :delete])
resources("/okrs", Api.OkrController, only: [:create])
scope "/analytics" do
get("/active_user", Api.Analytics.ActiveUserController, :show)
get("/okr_view/:owner_id", Api.Analytics.OkrViewController, :show)
end
resources "/groups", Api.GroupController, only: [:index] do
resources("/okrs", Api.OkrController, only: [:index])
end
resources "/users", Api.UserController, only: [:index] do
resources("/okrs", Api.OkrController, only: [:index])
end
end
if Mix.env == :dev do
# If using Phoenix
forward "/sent_emails", Bamboo.SentEmailViewerPlug
end
# Must be defined at end to avoid catch-all getting other routes
scope "/", OkrAppWeb do
pipe_through(:browser)
get("/", PageController, :index)
get("/*path", PageController, :index)
end
end