mirror of
https://github.com/hazemKrimi/crimson-vault.git
synced 2026-05-01 18:20:27 +00:00
chore: route trailing slash
This commit is contained in:
+4
-2
@@ -15,8 +15,8 @@ import (
|
||||
|
||||
type API struct {
|
||||
ConfigDirectory string
|
||||
instance *echo.Echo
|
||||
db *models.DB
|
||||
instance *echo.Echo
|
||||
db *models.DB
|
||||
}
|
||||
|
||||
func (api *API) Initialize() {
|
||||
@@ -34,11 +34,13 @@ func (api *API) Initialize() {
|
||||
api.instance = ech
|
||||
api.db = db
|
||||
|
||||
// TODO: Update with appropriate origins when finishing v1
|
||||
api.instance.Use(middleware.CORSWithConfig(middleware.CORSConfig{
|
||||
AllowOrigins: []string{"*"},
|
||||
}))
|
||||
// TODO: Change and store the secret separately when finilizing v1.
|
||||
api.instance.Use(session.Middleware(sessions.NewCookieStore([]byte("SECRET"))))
|
||||
api.instance.Pre(middleware.AddTrailingSlash())
|
||||
|
||||
api.ClientRoutes()
|
||||
api.UserRoutes()
|
||||
|
||||
@@ -79,6 +79,8 @@ func (api *API) LogoutHandler(context echo.Context) error {
|
||||
return context.String(http.StatusInternalServerError, "Unexpected error deleting User session!")
|
||||
}
|
||||
|
||||
log.Println(fmt.Sprintf("User with SessionID %s logged out.", sessionId))
|
||||
id := context.Get("id")
|
||||
|
||||
log.Println(fmt.Sprintf("User with ID %s logged out.", id))
|
||||
return context.String(http.StatusOK, "Logged out successfully!")
|
||||
}
|
||||
|
||||
@@ -36,6 +36,7 @@ func (api *API) AuthSessionMiddleware(next echo.HandlerFunc) echo.HandlerFunc {
|
||||
return context.String(http.StatusUnauthorized, "User not authenticated!")
|
||||
}
|
||||
|
||||
context.Set("id", sess.Values["id"])
|
||||
context.Set("sessionId", sess.Values["sessionId"])
|
||||
context.Set("username", sess.Values["username"])
|
||||
|
||||
|
||||
+12
-12
@@ -3,13 +3,13 @@ package api
|
||||
import "github.com/labstack/echo/v4/middleware"
|
||||
|
||||
func (api *API) ClientRoutes() {
|
||||
clients := api.instance.Group("/api/clients")
|
||||
clients := api.instance.Group("/api/clients", api.AuthSessionMiddleware)
|
||||
|
||||
clients.GET("/", api.GetAllClientsHandler)
|
||||
clients.POST("/", api.CreateClientHandler)
|
||||
clients.GET("/:id", api.GetClientHandler)
|
||||
clients.PUT("/:id", api.UpdateClientHandler)
|
||||
clients.DELETE("/:id", api.DeleteClientHandler)
|
||||
clients.GET("/:id/", api.GetClientHandler)
|
||||
clients.PUT("/:id/", api.UpdateClientHandler)
|
||||
clients.DELETE("/:id/", api.DeleteClientHandler)
|
||||
}
|
||||
|
||||
func (api *API) UserRoutes() {
|
||||
@@ -17,17 +17,17 @@ func (api *API) UserRoutes() {
|
||||
|
||||
users.GET("/", api.GetAllUsersHandler)
|
||||
users.POST("/", api.CreateUserHandler)
|
||||
users.GET("/:id", api.GetUserHandler)
|
||||
users.PUT("/:id", api.UpdateUserHandler, api.AuthSessionMiddleware)
|
||||
users.PUT("/:id/security", api.UpdateUserSecurityDetailsHandler)
|
||||
users.PUT("/:id/logo", api.UpdateUserLogoHandler, middleware.BodyLimit("2M"))
|
||||
users.DELETE("/:id", api.DeleteUserHandler)
|
||||
users.DELETE("/:id/logo", api.DeleteUserLogoHandler)
|
||||
users.GET("/:id/", api.GetUserHandler)
|
||||
users.PUT("/:id/", api.UpdateUserHandler, api.AuthSessionMiddleware)
|
||||
users.PUT("/:id/security/", api.UpdateUserSecurityDetailsHandler)
|
||||
users.PUT("/:id/logo/", api.UpdateUserLogoHandler, middleware.BodyLimit("2M"))
|
||||
users.DELETE("/:id/", api.DeleteUserHandler, api.AuthSessionMiddleware)
|
||||
users.DELETE("/:id/logo/", api.DeleteUserLogoHandler, api.AuthSessionMiddleware)
|
||||
}
|
||||
|
||||
func (api *API) AuthRoutes() {
|
||||
auth := api.instance.Group("/api/auth")
|
||||
|
||||
auth.POST("/login", api.LoginHandler)
|
||||
auth.DELETE("/logout", api.LogoutHandler, api.AuthSessionMiddleware)
|
||||
auth.POST("/login/", api.LoginHandler)
|
||||
auth.DELETE("/logout/", api.LogoutHandler, api.AuthSessionMiddleware)
|
||||
}
|
||||
|
||||
@@ -43,6 +43,7 @@ func CreateSession(session *sessions.Session, context echo.Context, user *types.
|
||||
MaxAge: 3600,
|
||||
HttpOnly: true,
|
||||
}
|
||||
session.Values["id"] = user.ID
|
||||
session.Values["sessionId"] = user.SessionID
|
||||
session.Values["username"] = user.Username
|
||||
|
||||
|
||||
Reference in New Issue
Block a user