MCPcopy Create free account
hub / github.com/crowdsecurity/crowdsec / loadAlerts

Method loadAlerts

pkg/database/ent/machine_query.go:406–436  ·  view source on GitHub ↗
(ctx context.Context, query *AlertQuery, nodes []*Machine, init func(*Machine), assign func(*Machine, *Alert))

Source from the content-addressed store, hash-verified

404}
405
406func (_q *MachineQuery) loadAlerts(ctx context.Context, query *AlertQuery, nodes []*Machine, init func(*Machine), assign func(*Machine, *Alert)) error {
407 fks := make([]driver.Value, 0, len(nodes))
408 nodeids := make(map[int]*Machine)
409 for i := range nodes {
410 fks = append(fks, nodes[i].ID)
411 nodeids[nodes[i].ID] = nodes[i]
412 if init != nil {
413 init(nodes[i])
414 }
415 }
416 query.withFKs = true
417 query.Where(predicate.Alert(func(s *sql.Selector) {
418 s.Where(sql.InValues(s.C(machine.AlertsColumn), fks...))
419 }))
420 neighbors, err := query.All(ctx)
421 if err != nil {
422 return err
423 }
424 for _, n := range neighbors {
425 fk := n.machine_alerts
426 if fk == nil {
427 return fmt.Errorf(`foreign-key "machine_alerts" is nil for node %v`, n.ID)
428 }
429 node, ok := nodeids[*fk]
430 if !ok {
431 return fmt.Errorf(`unexpected referenced foreign-key "machine_alerts" returned %v for node %v`, *fk, n.ID)
432 }
433 assign(node, n)
434 }
435 return nil
436}
437
438func (_q *MachineQuery) sqlCount(ctx context.Context) (int, error) {
439 _spec := _q.querySpec()

Callers 1

sqlAllMethod · 0.95

Calls 4

WhereMethod · 0.95
AlertFuncType · 0.92
initFunction · 0.70
AllMethod · 0.45

Tested by

no test coverage detected