Skip to content

Commit

Permalink
Exclude course admins from chat rate limit (#1134)
Browse files Browse the repository at this point in the history
  • Loading branch information
JosefSchoenberger authored Aug 23, 2023
1 parent acc65f8 commit 6fac47b
Showing 1 changed file with 16 additions and 13 deletions.
29 changes: 16 additions & 13 deletions model/chat.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,15 @@ package model
import (
"database/sql"
"errors"
"github.com/microcosm-cc/bluemonday"
"github.com/russross/blackfriday/v2"
"gorm.io/gorm"
"html"
"mvdan.cc/xurls/v2"
"strconv"
"strings"
"time"

"github.com/microcosm-cc/bluemonday"
"github.com/russross/blackfriday/v2"
"gorm.io/gorm"
"mvdan.cc/xurls/v2"
)

var (
Expand Down Expand Up @@ -88,15 +89,17 @@ func (c *Chat) BeforeCreate(tx *gorm.DB) (err error) {
if len(c.Message) == 0 {
return ErrMessageNoText
}
var recentMessages int64
err = tx.Model(&Chat{}).
Where("created_at > ? AND user_id = ?", time.Now().Add(-coolDown), c.UserID).
Count(&recentMessages).Error
if err != nil {
return err
}
if recentMessages >= coolDownMessages {
return ErrCooledDown
if !c.Admin {
var recentMessages int64
err = tx.Model(&Chat{}).
Where("created_at > ? AND user_id = ?", time.Now().Add(-coolDown), c.UserID).
Count(&recentMessages).Error
if err != nil {
return err
}
if recentMessages >= coolDownMessages {
return ErrCooledDown
}
}

// set chat color:
Expand Down

0 comments on commit 6fac47b

Please sign in to comment.