Skip to content

Commit 15dcbde

Browse files
authored
refact: remove unused metod DeleteDecisionsWithFilter() (#3605)
1 parent 0e8b557 commit 15dcbde

File tree

3 files changed

+21
-86
lines changed

3 files changed

+21
-86
lines changed

pkg/apiserver/apic.go

+3-7
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import (
1111
"net/http"
1212
"net/url"
1313
"slices"
14-
"strconv"
1514
"strings"
1615
"sync"
1716
"time"
@@ -439,16 +438,11 @@ func (a *apic) HandleDeletedDecisionsV3(ctx context.Context, deletedDecisions []
439438
filter["scopes"] = []string{*scope}
440439
}
441440

442-
dbCliRet, _, err := a.dbClient.ExpireDecisionsWithFilter(ctx, filter)
441+
dbCliDel, _, err := a.dbClient.ExpireDecisionsWithFilter(ctx, filter)
443442
if err != nil {
444443
return 0, fmt.Errorf("expiring decisions error: %w", err)
445444
}
446445

447-
dbCliDel, err := strconv.Atoi(dbCliRet)
448-
if err != nil {
449-
return 0, fmt.Errorf("converting db ret %d: %w", dbCliDel, err)
450-
}
451-
452446
updateCounterForDecision(deleteCounters, ptr.Of(types.CAPIOrigin), nil, dbCliDel)
453447
nbDeleted += dbCliDel
454448
}
@@ -660,6 +654,7 @@ func (a *apic) PullTop(ctx context.Context, forcePull bool) error {
660654
if data.Links != nil {
661655
if len(data.Links.Allowlists) > 0 {
662656
hasPulledAllowlists = true
657+
663658
if err := a.UpdateAllowlists(ctx, data.Links.Allowlists, forcePull); err != nil {
664659
log.Errorf("could not update allowlists from CAPI: %s", err)
665660
}
@@ -702,6 +697,7 @@ func (a *apic) PullTop(ctx context.Context, forcePull bool) error {
702697
if err != nil {
703698
log.Errorf("could not apply allowlists to existing decisions: %s", err)
704699
}
700+
705701
if deleted > 0 {
706702
log.Infof("deleted %d decisions from allowlists", deleted)
707703
}

pkg/apiserver/controllers/v1/decisions.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ func (c *Controller) DeleteDecisions(gctx *gin.Context) {
134134
}
135135

136136
deleteDecisionResp := models.DeleteDecisionResponse{
137-
NbDeleted: nbDeleted,
137+
NbDeleted: strconv.Itoa(nbDeleted),
138138
}
139139

140140
gctx.JSON(http.StatusOK, deleteDecisionResp)

pkg/database/decisions.go

+17-78
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@ type DecisionsByScenario struct {
2929

3030
func BuildDecisionRequestWithFilter(query *ent.DecisionQuery, filter map[string][]string) (*ent.DecisionQuery, error) {
3131
var (
32-
err error
32+
err error
3333
start_ip, start_sfx, end_ip, end_sfx int64
34-
ip_sz int
34+
ip_sz int
3535
)
3636

3737
contains := true
@@ -100,18 +100,21 @@ func BuildDecisionRequestWithFilter(query *ent.DecisionQuery, filter map[string]
100100
if err != nil {
101101
return nil, errors.Wrapf(InvalidFilter, "invalid limit value : %s", err)
102102
}
103+
103104
query = query.Limit(limit)
104105
case "offset":
105106
offset, err := strconv.Atoi(value[0])
106107
if err != nil {
107108
return nil, errors.Wrapf(InvalidFilter, "invalid offset value : %s", err)
108109
}
110+
109111
query = query.Offset(offset)
110112
case "id_gt":
111113
id, err := strconv.Atoi(value[0])
112114
if err != nil {
113115
return nil, errors.Wrapf(InvalidFilter, "invalid id_gt value : %s", err)
114116
}
117+
115118
query = query.Where(decision.IDGT(id))
116119
}
117120
}
@@ -201,7 +204,7 @@ func (c *Client) QueryDecisionCountByScenario(ctx context.Context) ([]*Decisions
201204

202205
func (c *Client) QueryDecisionWithFilter(ctx context.Context, filter map[string][]string) ([]*ent.Decision, error) {
203206
var (
204-
err error
207+
err error
205208
data []*ent.Decision
206209
)
207210

@@ -322,70 +325,12 @@ func (c *Client) QueryNewDecisionsSinceWithFilters(ctx context.Context, since *t
322325
return data, nil
323326
}
324327

325-
func (c *Client) DeleteDecisionsWithFilter(ctx context.Context, filter map[string][]string) (string, []*ent.Decision, error) {
326-
var (
327-
err error
328-
start_ip, start_sfx, end_ip, end_sfx int64
329-
ip_sz int
330-
)
331-
332-
contains := true
333-
/*if contains is true, return bans that *contains* the given value (value is the inner)
334-
else, return bans that are *contained* by the given value (value is the outer) */
335-
336-
decisions := c.Ent.Decision.Query()
337-
338-
for param, value := range filter {
339-
switch param {
340-
case "contains":
341-
contains, err = strconv.ParseBool(value[0])
342-
if err != nil {
343-
return "0", nil, errors.Wrapf(InvalidFilter, "invalid contains value : %s", err)
344-
}
345-
case "scope":
346-
decisions = decisions.Where(decision.ScopeEQ(value[0]))
347-
case "value":
348-
decisions = decisions.Where(decision.ValueEQ(value[0]))
349-
case "type":
350-
decisions = decisions.Where(decision.TypeEQ(value[0]))
351-
case "ip", "range":
352-
ip_sz, start_ip, start_sfx, end_ip, end_sfx, err = types.Addr2Ints(value[0])
353-
if err != nil {
354-
return "0", nil, errors.Wrapf(InvalidIPOrRange, "unable to convert '%s' to int: %s", value[0], err)
355-
}
356-
case "scenario":
357-
decisions = decisions.Where(decision.ScenarioEQ(value[0]))
358-
default:
359-
return "0", nil, errors.Wrap(InvalidFilter, fmt.Sprintf("'%s' doesn't exist", param))
360-
}
361-
}
362-
363-
decisions, err = decisionIPFilter(decisions, contains, ip_sz, start_ip, start_sfx, end_ip, end_sfx)
364-
if err != nil {
365-
return "0", nil, err
366-
}
367-
368-
toDelete, err := decisions.All(ctx)
369-
if err != nil {
370-
c.Log.Warningf("DeleteDecisionsWithFilter : %s", err)
371-
return "0", nil, errors.Wrap(DeleteFail, "decisions with provided filter")
372-
}
373-
374-
count, err := c.DeleteDecisions(ctx, toDelete)
375-
if err != nil {
376-
c.Log.Warningf("While deleting decisions : %s", err)
377-
return "0", nil, errors.Wrap(DeleteFail, "decisions with provided filter")
378-
}
379-
380-
return strconv.Itoa(count), toDelete, nil
381-
}
382-
383328
// ExpireDecisionsWithFilter updates the expiration time to now() for the decisions matching the filter, and returns the updated items
384-
func (c *Client) ExpireDecisionsWithFilter(ctx context.Context, filter map[string][]string) (string, []*ent.Decision, error) {
329+
func (c *Client) ExpireDecisionsWithFilter(ctx context.Context, filter map[string][]string) (int, []*ent.Decision, error) {
385330
var (
386-
err error
331+
err error
387332
start_ip, start_sfx, end_ip, end_sfx int64
388-
ip_sz int
333+
ip_sz int
389334
)
390335

391336
contains := true
@@ -398,7 +343,7 @@ func (c *Client) ExpireDecisionsWithFilter(ctx context.Context, filter map[strin
398343
case "contains":
399344
contains, err = strconv.ParseBool(value[0])
400345
if err != nil {
401-
return "0", nil, errors.Wrapf(InvalidFilter, "invalid contains value : %s", err)
346+
return 0, nil, errors.Wrapf(InvalidFilter, "invalid contains value : %s", err)
402347
}
403348
case "scopes":
404349
decisions = decisions.Where(decision.ScopeEQ(value[0]))
@@ -413,32 +358,32 @@ func (c *Client) ExpireDecisionsWithFilter(ctx context.Context, filter map[strin
413358
case "ip", "range":
414359
ip_sz, start_ip, start_sfx, end_ip, end_sfx, err = types.Addr2Ints(value[0])
415360
if err != nil {
416-
return "0", nil, errors.Wrapf(InvalidIPOrRange, "unable to convert '%s' to int: %s", value[0], err)
361+
return 0, nil, errors.Wrapf(InvalidIPOrRange, "unable to convert '%s' to int: %s", value[0], err)
417362
}
418363
case "scenario":
419364
decisions = decisions.Where(decision.ScenarioEQ(value[0]))
420365
default:
421-
return "0", nil, errors.Wrapf(InvalidFilter, "'%s' doesn't exist", param)
366+
return 0, nil, errors.Wrapf(InvalidFilter, "'%s' doesn't exist", param)
422367
}
423368
}
424369

425370
decisions, err = decisionIPFilter(decisions, contains, ip_sz, start_ip, start_sfx, end_ip, end_sfx)
426371
if err != nil {
427-
return "0", nil, err
372+
return 0, nil, err
428373
}
429374

430375
DecisionsToDelete, err := decisions.All(ctx)
431376
if err != nil {
432377
c.Log.Warningf("ExpireDecisionsWithFilter : %s", err)
433-
return "0", nil, errors.Wrap(DeleteFail, "expire decisions with provided filter")
378+
return 0, nil, errors.Wrap(DeleteFail, "expire decisions with provided filter")
434379
}
435380

436381
count, err := c.ExpireDecisions(ctx, DecisionsToDelete)
437382
if err != nil {
438-
return "0", nil, errors.Wrapf(DeleteFail, "expire decisions with provided filter : %s", err)
383+
return 0, nil, errors.Wrapf(DeleteFail, "expire decisions with provided filter : %s", err)
439384
}
440385

441-
return strconv.Itoa(count), DecisionsToDelete, err
386+
return count, DecisionsToDelete, err
442387
}
443388

444389
func decisionIDs(decisions []*ent.Decision) []int {
@@ -564,13 +509,7 @@ func (c *Client) CountDecisionsByValue(ctx context.Context, value string, since
564509
}
565510

566511
func (c *Client) GetActiveDecisionsTimeLeftByValue(ctx context.Context, decisionValue string) (time.Duration, error) {
567-
var (
568-
err error
569-
start_ip, start_sfx, end_ip, end_sfx int64
570-
ip_sz int
571-
)
572-
573-
ip_sz, start_ip, start_sfx, end_ip, end_sfx, err = types.Addr2Ints(decisionValue)
512+
ip_sz, start_ip, start_sfx, end_ip, end_sfx, err := types.Addr2Ints(decisionValue)
574513
if err != nil {
575514
return 0, fmt.Errorf("unable to convert '%s' to int: %w", decisionValue, err)
576515
}

0 commit comments

Comments
 (0)