forked from hailey.at/cocoon
An atproto PDS written in Go
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 ctx := e.Request().Context() 11 12 token := e.Get("token").(string) 13 14 var acctok models.Token 15 if err := s.db.Raw(ctx, "DELETE FROM tokens WHERE token = ? RETURNING *", nil, token).Scan(&acctok).Error; err != nil { 16 s.logger.Error("error deleting access token from db", "error", err) 17 return helpers.ServerError(e, nil) 18 } 19 20 if err := s.db.Exec(ctx, "DELETE FROM refresh_tokens WHERE token = ?", nil, acctok.RefreshToken).Error; err != nil { 21 s.logger.Error("error deleting refresh token from db", "error", err) 22 return helpers.ServerError(e, nil) 23 } 24 25 return e.NoContent(200) 26}