Skip to content

Commit

Permalink
event logs, external account that should use encryptifpossible (#12668)
Browse files Browse the repository at this point in the history
Co-authored-by: Chayim I. Kirshen <chayim@gnupower.net>
  • Loading branch information
chayim and chayim committed Aug 5, 2020
1 parent acc21bb commit cf49dc0
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 3 deletions.
15 changes: 13 additions & 2 deletions internal/db/event_logs.go
Expand Up @@ -12,6 +12,7 @@ import (
"github.com/sourcegraph/sourcegraph/cmd/frontend/types"
"github.com/sourcegraph/sourcegraph/internal/db/dbconn"
"github.com/sourcegraph/sourcegraph/internal/db/dbutil"
intSecrets "github.com/sourcegraph/sourcegraph/internal/secrets"
"github.com/sourcegraph/sourcegraph/internal/timeutil"
"github.com/sourcegraph/sourcegraph/internal/version"
)
Expand All @@ -38,16 +39,20 @@ func (*eventLogs) Insert(ctx context.Context, e *Event) error {
if argument == nil {
argument = json.RawMessage([]byte(`{}`))
}
argData, err := intSecrets.CryptObject.EncryptBytesIfPossible(argument)
if err != nil {
return err
}

_, err := dbconn.Global.ExecContext(
_, err = dbconn.Global.ExecContext(
ctx,
"INSERT INTO event_logs(name, url, user_id, anonymous_user_id, source, argument, version, timestamp) VALUES($1, $2, $3, $4, $5, $6, $7, $8)",
e.Name,
e.URL,
e.UserID,
e.AnonymousUserID,
e.Source,
argument,
argData,
version.Version(),
e.Timestamp.UTC(),
)
Expand All @@ -67,6 +72,12 @@ func (*eventLogs) getBySQL(ctx context.Context, querySuffix *sqlf.Query) ([]*typ
events := []*types.Event{}
for rows.Next() {
r := types.Event{}
args, secErr := intSecrets.CryptObject.DecryptIfPossible(r.Argument)
if secErr != nil {
return nil, err
}
r.Argument = args

err := rows.Scan(&r.ID, &r.Name, &r.URL, &r.UserID, &r.AnonymousUserID, &r.Source, &r.Argument, &r.Version, &r.Timestamp)
if err != nil {
return nil, err
Expand Down
2 changes: 1 addition & 1 deletion internal/db/external_accounts.go
Expand Up @@ -122,7 +122,7 @@ WHERE service_type=$1 AND service_id=$2 AND client_id=$3 AND account_id=$4 AND d

// Update the external account (it exists).

authData, err := intSecrets.CryptObject.EncryptBytes(*data.AuthData)
authData, err := intSecrets.CryptObject.EncryptBytesIfPossible(*data.AuthData)
if err != nil {
return err
}
Expand Down

0 comments on commit cf49dc0

Please sign in to comment.