init(api): add user logout handler

This commit is contained in:
Masahiko AMANO 2025-01-06 18:43:12 +03:00
parent 3327dc6f18
commit 7d38326112
2 changed files with 14 additions and 0 deletions

View File

@ -112,6 +112,19 @@ func userUpdate(c *gin.Context) {
c.JSON(http.StatusOK, user)
}
func userLogout(c *gin.Context) {
session := sessions.Default(c)
_, ok := session.Get("user_id").(string)
if !ok {
c.JSON(http.StatusUnauthorized, gin.H{"error": "Ну и как я тебя разлогиню, если ты даже не залогинился?"})
return
}
session.Clear()
session.Options(sessions.Options{MaxAge: -1})
session.Save()
c.Status(http.StatusNoContent)
}
//#endregion User
//#region Quotes

View File

@ -23,6 +23,7 @@ func RegisterRoutes(r *gin.Engine) {
api.POST("/auth", userAuth)
api.GET("/auth", userGet)
api.PATCH("/auth", userUpdate)
api.DELETE("/auth", userLogout)
api.GET("/quotes", quotesGet)
api.POST("/quotes", quoteAdd)