* MM 65084 server-side (#33861) (#34006)

Automatic Merge

* Add ConsumeOnce method to store layers

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
Этот коммит содержится в:
JG Heithcock
2025-10-06 15:20:08 -07:00
коммит произвёл GitHub
родитель 4b56488fcb
Коммит 375ce229f4
11 изменённых файлов: 309 добавлений и 5 удалений

Просмотреть файл

@@ -78,6 +78,21 @@ func (s SqlTokenStore) GetByToken(tokenString string) (*model.Token, error) {
return &token, nil
}
func (s SqlTokenStore) ConsumeOnce(tokenStr string) (*model.Token, error) {
var token model.Token
query := `DELETE FROM Tokens WHERE Token = ? RETURNING *`
if err := s.GetMaster().Get(&token, query, tokenStr); err != nil {
if err == sql.ErrNoRows {
return nil, store.NewErrNotFound("Token", tokenStr)
}
return nil, errors.Wrapf(err, "failed to consume token")
}
return &token, nil
}
func (s SqlTokenStore) Cleanup(expiryTime int64) {
if _, err := s.GetMaster().Exec("DELETE FROM Tokens WHERE CreateAt < ?", expiryTime); err != nil {
mlog.Error("Unable to cleanup token store.")