diff --git a/firewall/request_logger.go b/firewall/request_logger.go index dad96339..7c7abb04 100644 --- a/firewall/request_logger.go +++ b/firewall/request_logger.go @@ -194,6 +194,7 @@ func (r *RequestLogger) addNewAction(ri *RequestInfo, } action := &firewalldb.Action{ + SessionID: sessionID, RPCMethod: ri.URI, AttemptedAt: time.Now(), State: firewalldb.ActionStateInit, @@ -222,7 +223,7 @@ func (r *RequestLogger) addNewAction(ri *RequestInfo, } } - id, err := r.actionsDB.AddAction(sessionID, action) + id, err := r.actionsDB.AddAction(action) if err != nil { return err } diff --git a/firewalldb/actions.go b/firewalldb/actions.go index 9ca1e9a5..57e43e0d 100644 --- a/firewalldb/actions.go +++ b/firewalldb/actions.go @@ -94,7 +94,7 @@ type ListActionsQuery struct { // ActionsWriteDB is an abstraction over the Actions DB that will allow a // caller to add new actions as well as change the values of an existing action. type ActionsWriteDB interface { - AddAction(sessionID session.ID, action *Action) (uint64, error) + AddAction(action *Action) (uint64, error) SetActionState(al *ActionLocator, state ActionState, errReason string) error } diff --git a/firewalldb/actions_kvdb.go b/firewalldb/actions_kvdb.go index fc8e4485..d92f9554 100644 --- a/firewalldb/actions_kvdb.go +++ b/firewalldb/actions_kvdb.go @@ -53,9 +53,7 @@ var ( ) // AddAction serialises and adds an Action to the DB under the given sessionID. -func (db *BoltDB) AddAction(sessionID session.ID, action *Action) (uint64, - error) { - +func (db *BoltDB) AddAction(action *Action) (uint64, error) { var buf bytes.Buffer if err := SerializeAction(&buf, action); err != nil { return 0, err @@ -74,7 +72,7 @@ func (db *BoltDB) AddAction(sessionID session.ID, action *Action) (uint64, } sessBucket, err := actionsBucket.CreateBucketIfNotExists( - sessionID[:], + action.SessionID[:], ) if err != nil { return err @@ -104,7 +102,7 @@ func (db *BoltDB) AddAction(sessionID session.ID, action *Action) (uint64, } locator := ActionLocator{ - SessionID: sessionID, + SessionID: action.SessionID, ActionID: nextActionIndex, } diff --git a/firewalldb/actions_test.go b/firewalldb/actions_test.go index 5d9328e6..da5dff14 100644 --- a/firewalldb/actions_test.go +++ b/firewalldb/actions_test.go @@ -67,11 +67,11 @@ func TestActionStorage(t *testing.T) { require.NoError(t, err) require.Len(t, actions, 0) - id, err := db.AddAction(sessionID1, action1) + id, err := db.AddAction(action1) require.NoError(t, err) require.Equal(t, uint64(1), id) - id, err = db.AddAction(sessionID2, action2) + id, err = db.AddAction(action2) require.NoError(t, err) require.Equal(t, uint64(1), id) @@ -104,7 +104,7 @@ func TestActionStorage(t *testing.T) { action2.State = ActionStateDone require.Equal(t, action2, actions[0]) - id, err = db.AddAction(sessionID1, action1) + id, err = db.AddAction(action1) require.NoError(t, err) require.Equal(t, uint64(2), id) @@ -176,7 +176,7 @@ func TestListActions(t *testing.T) { State: ActionStateDone, } - _, err := db.AddAction(sessionID, action) + _, err := db.AddAction(action) require.NoError(t, err) } @@ -365,7 +365,7 @@ func TestListGroupActions(t *testing.T) { require.Empty(t, al) // Add an action under session 1. - _, err = db.AddAction(sessionID1, action1) + _, err = db.AddAction(action1) require.NoError(t, err) // There should now be one action in the group. @@ -375,7 +375,7 @@ func TestListGroupActions(t *testing.T) { require.Equal(t, sessionID1, al[0].SessionID) // Add an action under session 2. - _, err = db.AddAction(sessionID2, action2) + _, err = db.AddAction(action2) require.NoError(t, err) // There should now be actions in the group.