fix: room ttl setting bound check

api-v2
zijiren233 5 months ago
parent e9784fe5aa
commit b5971b854c

@ -3,11 +3,16 @@ package op
import (
"time"
log "github.com/sirupsen/logrus"
"github.com/zijiren233/gencontainer/synccache"
)
func Init(size int) error {
roomCache = synccache.NewSyncCache[string, *Room](time.Minute*5, synccache.WithDeletedCallback[string, *Room](func(v *Room) {
log.WithFields(log.Fields{
"rid": v.ID,
"rn": v.Name,
}).Debugf("room ttl expired, closing")
v.close()
}))
userCache = synccache.NewSyncCache[string, *User](time.Minute * 5)

@ -12,8 +12,13 @@ var (
RoomMustNeedPwd BoolSetting
RoomMustNoNeedPwd BoolSetting
CreateRoomNeedReview = NewBoolSetting("create_room_need_review", false, model.SettingGroupRoom)
// 48 hours
RoomTTL = NewInt64Setting("room_ttl", 48, model.SettingGroupRoom)
// default 48 hours
RoomTTL = NewInt64Setting("room_ttl", 48, model.SettingGroupRoom, WithBeforeSetInt64(func(is Int64Setting, i int64) (int64, error) {
if i < 1 {
return 0, errors.New("room ttl must be greater than 0")
}
return i, nil
}))
)
func init() {

Loading…
Cancel
Save