Unverified Commit bf2b5902 authored by Wesley Liddick's avatar Wesley Liddick Committed by GitHub
Browse files

Merge pull request #1397 from weak-fox/fix/active-filter-excludes-rate-limited

解决账号管理中“正常”筛选包含限流中账号
parents 339d906e a61d5871
...@@ -468,6 +468,14 @@ func (r *accountRepository) ListWithFilters(ctx context.Context, params paginati ...@@ -468,6 +468,14 @@ func (r *accountRepository) ListWithFilters(ctx context.Context, params paginati
} }
if status != "" { if status != "" {
switch status { switch status {
case service.StatusActive:
q = q.Where(
dbaccount.StatusEQ(status),
dbaccount.Or(
dbaccount.RateLimitResetAtIsNil(),
dbaccount.RateLimitResetAtLTE(time.Now()),
),
)
case "rate_limited": case "rate_limited":
q = q.Where(dbaccount.RateLimitResetAtGT(time.Now())) q = q.Where(dbaccount.RateLimitResetAtGT(time.Now()))
case "temp_unschedulable": case "temp_unschedulable":
......
...@@ -255,6 +255,22 @@ func (s *AccountRepoSuite) TestListWithFilters() { ...@@ -255,6 +255,22 @@ func (s *AccountRepoSuite) TestListWithFilters() {
s.Require().Equal(service.StatusDisabled, accounts[0].Status) s.Require().Equal(service.StatusDisabled, accounts[0].Status)
}, },
}, },
{
name: "filter_by_status_active_excludes_rate_limited",
setup: func(client *dbent.Client) {
mustCreateAccount(s.T(), client, &service.Account{Name: "active-normal", Status: service.StatusActive})
rateLimited := mustCreateAccount(s.T(), client, &service.Account{Name: "active-rate-limited", Status: service.StatusActive})
err := client.Account.UpdateOneID(rateLimited.ID).
SetRateLimitResetAt(time.Now().Add(10 * time.Minute)).
Exec(context.Background())
s.Require().NoError(err)
},
status: service.StatusActive,
wantCount: 1,
validate: func(accounts []service.Account) {
s.Require().Equal("active-normal", accounts[0].Name)
},
},
{ {
name: "filter_by_search", name: "filter_by_search",
setup: func(client *dbent.Client) { setup: func(client *dbent.Client) {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment