|
- package limiter
-
- import (
- "code.gitea.io/gitea/models"
- "code.gitea.io/gitea/modules/log"
- "code.gitea.io/gitea/modules/redis/redis_client"
- "code.gitea.io/gitea/modules/redis/redis_key"
- )
-
- func GetLimitConfigList(limitType models.LimitType) ([]*models.LimitConfigVO, error) {
- r, err := GetLimitersByLimitType(limitType)
- if err != nil {
- return nil, err
- }
- result := make([]*models.LimitConfigVO, 0)
- for _, v := range r {
- result = append(result, v.ToLimitConfigVO())
- }
- return result, nil
- }
-
- func AddLimitConfig(config *models.LimitConfigVO, doer *models.User, limitType models.LimitType) error {
- r := &models.LimitConfig{
- Tittle: config.Tittle,
- RefreshRate: config.RefreshRate,
- Scope: config.Scope,
- LimitNum: config.LimitNum,
- LimitCode: config.LimitCode,
- LimitType: limitType.Name(),
- CreatorId: doer.ID,
- CreatorName: doer.Name,
- }
- err := models.AddLimitConfig(r)
-
- if err != nil {
- log.Error("add limit config error,config:%v err:%v", config, err)
- return err
- }
- redis_client.Del(redis_key.LimitConfig(limitType))
- return nil
- }
|