You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

limit_redis_key.go 898 B

3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
1234567891011121314151617181920212223242526
  1. package redis_key
  2. import (
  3. "code.gitea.io/gitea/models"
  4. "fmt"
  5. )
  6. const LIMIT_REDIS_PREFIX = "limit"
  7. func LimitCount(userId int64, limitCode string, limitType string, scope string, period *models.PeriodResult) string {
  8. if scope == models.LimitScopeAllUsers.Name() {
  9. if period == nil {
  10. return KeyJoin(LIMIT_REDIS_PREFIX, limitCode, limitType, "count")
  11. }
  12. return KeyJoin(LIMIT_REDIS_PREFIX, limitCode, limitType, fmt.Sprint(period.StartTime.Unix()), fmt.Sprint(period.EndTime.Unix()), "count")
  13. }
  14. if period == nil {
  15. return KeyJoin(LIMIT_REDIS_PREFIX, "uid", fmt.Sprint(userId), limitCode, limitType, "count")
  16. }
  17. return KeyJoin(LIMIT_REDIS_PREFIX, "uid", fmt.Sprint(userId), limitCode, limitType, fmt.Sprint(period.StartTime.Unix()), fmt.Sprint(period.EndTime.Unix()), "count")
  18. }
  19. func LimitConfig(limitType string) string {
  20. return KeyJoin(LIMIT_REDIS_PREFIX, limitType, "config")
  21. }