From 03a058dff67ca6b03d4e538906d4d4649a71dbce Mon Sep 17 00:00:00 2001 From: alteredCoder Date: Mon, 18 Oct 2021 15:54:08 +0200 Subject: [PATCH] update --- pkg/apiserver/apic.go | 1 + pkg/database/alerts.go | 8 ++++++++ pkg/models/add_signals_request_item.go | 17 +++++++++++++++++ pkg/models/localapi_swagger.yaml | 3 +++ 4 files changed, 29 insertions(+) diff --git a/pkg/apiserver/apic.go b/pkg/apiserver/apic.go index 1c8101882..0e15c6d9b 100644 --- a/pkg/apiserver/apic.go +++ b/pkg/apiserver/apic.go @@ -90,6 +90,7 @@ func AlertToSignal(alert *models.Alert, scenarioTrust string, keepDecisions bool CreatedAt: alert.CreatedAt, MachineID: alert.MachineID, ScenarioTrust: &scenarioTrust, + AlertID: &alert.ID, } if keepDecisions { log.Debugf("Keeping decisions to send to CAPI") diff --git a/pkg/database/alerts.go b/pkg/database/alerts.go index 843535ea8..c2348faeb 100644 --- a/pkg/database/alerts.go +++ b/pkg/database/alerts.go @@ -496,6 +496,14 @@ func (c *Client) CreateAlertBulk(machineId string, alertList []*models.Alert) ([ ret = append(ret, strconv.Itoa(alert.ID)) } + for i, alertID := range ret { + alertIDInt, err := strconv.Atoi(alertID) + if err != nil { + log.Errorf("unable to convert alert ID '%s' to int: %s", alertID, err) + } + alertList[i].ID = int64(alertIDInt) + } + return ret, alertList, nil } diff --git a/pkg/models/add_signals_request_item.go b/pkg/models/add_signals_request_item.go index 72740978d..fe6abcc1c 100644 --- a/pkg/models/add_signals_request_item.go +++ b/pkg/models/add_signals_request_item.go @@ -19,6 +19,10 @@ import ( // swagger:model AddSignalsRequestItem type AddSignalsRequestItem struct { + // alert id + // Required: true + AlertID *int64 `json:"alert_id"` + // created at CreatedAt string `json:"created_at,omitempty"` @@ -65,6 +69,10 @@ type AddSignalsRequestItem struct { func (m *AddSignalsRequestItem) Validate(formats strfmt.Registry) error { var res []error + if err := m.validateAlertID(formats); err != nil { + res = append(res, err) + } + if err := m.validateDecisions(formats); err != nil { res = append(res, err) } @@ -107,6 +115,15 @@ func (m *AddSignalsRequestItem) Validate(formats strfmt.Registry) error { return nil } +func (m *AddSignalsRequestItem) validateAlertID(formats strfmt.Registry) error { + + if err := validate.Required("alert_id", "body", m.AlertID); err != nil { + return err + } + + return nil +} + func (m *AddSignalsRequestItem) validateDecisions(formats strfmt.Registry) error { if swag.IsZero(m.Decisions) { // not required return nil diff --git a/pkg/models/localapi_swagger.yaml b/pkg/models/localapi_swagger.yaml index ad67c8fa0..07b7238a3 100644 --- a/pkg/models/localapi_swagger.yaml +++ b/pkg/models/localapi_swagger.yaml @@ -944,9 +944,12 @@ definitions: - "start_at" - "stop_at" - "scenario_trust" + - "alert_id" properties: scenario_hash: type: "string" + alert_id: + type: "integer" scenario: type: "string" created_at: