NewWebRoutes returns a new web routes
(a *app.App, c *Controllers)
| 42 | |
| 43 | // NewWebRoutes returns a new web routes |
| 44 | func NewWebRoutes(a *app.App, c *Controllers) []Route { |
| 45 | redirectGuest := &mw.AuthParams{RedirectGuestsToLogin: true} |
| 46 | |
| 47 | ret := []Route{ |
| 48 | {"GET", "/", mw.Auth(a.DB, c.Users.Settings, redirectGuest), true}, |
| 49 | {"GET", "/about", mw.Auth(a.DB, c.Users.About, redirectGuest), true}, |
| 50 | {"GET", "/login", mw.GuestOnly(a.DB, c.Users.NewLogin), true}, |
| 51 | {"POST", "/login", mw.GuestOnly(a.DB, c.Users.Login), true}, |
| 52 | {"POST", "/logout", c.Users.Logout, true}, |
| 53 | |
| 54 | {"GET", "/password-reset", c.Users.PasswordResetView.ServeHTTP, true}, |
| 55 | {"PATCH", "/password-reset", c.Users.PasswordReset, true}, |
| 56 | {"GET", "/password-reset/{token}", c.Users.PasswordResetConfirm, true}, |
| 57 | {"POST", "/reset-token", c.Users.CreateResetToken, true}, |
| 58 | {"PATCH", "/account/profile", mw.Auth(a.DB, c.Users.ProfileUpdate, nil), true}, |
| 59 | {"PATCH", "/account/password", mw.Auth(a.DB, c.Users.PasswordUpdate, nil), true}, |
| 60 | |
| 61 | {"GET", "/health", c.Health.Index, true}, |
| 62 | } |
| 63 | |
| 64 | if !a.DisableRegistration { |
| 65 | ret = append(ret, Route{"GET", "/join", c.Users.New, true}) |
| 66 | ret = append(ret, Route{"POST", "/join", c.Users.Create, true}) |
| 67 | } |
| 68 | |
| 69 | return ret |
| 70 | } |
| 71 | |
| 72 | // NewAPIRoutes returns a new api routes |
| 73 | func NewAPIRoutes(a *app.App, c *Controllers) []Route { |