1package server
2
3import (
4 "github.com/haileyok/cocoon/internal/helpers"
5 "github.com/haileyok/cocoon/models"
6 "github.com/labstack/echo/v4"
7)
8
9func (s *Server) handleDeleteSession(e echo.Context) error {
10 token := e.Get("token").(string)
11
12 var acctok models.Token
13 if err := s.db.Raw("DELETE FROM tokens WHERE token = ? RETURNING *", nil, token).Scan(&acctok).Error; err != nil {
14 s.logger.Error("error deleting access token from db", "error", err)
15 return helpers.ServerError(e, nil)
16 }
17
18 if err := s.db.Exec("DELETE FROM refresh_tokens WHERE token = ?", nil, acctok.RefreshToken).Error; err != nil {
19 s.logger.Error("error deleting refresh token from db", "error", err)
20 return helpers.ServerError(e, nil)
21 }
22
23 return e.NoContent(200)
24}