Eliminate repeated error messages

In case of encryption error fill variables
with content instead of empty string
This commit is contained in:
Zoltan Papp 2023-10-06 14:09:17 +02:00
parent 1219006a6e
commit 672b4c0401

View File

@ -45,6 +45,9 @@ const (
"VALUES(?, ?, ?, ?, ?, ?)" "VALUES(?, ?, ?, ?, ?, ?)"
insertDeleteUserQuery = `INSERT INTO deleted_users(id, email, name) VALUES(?, ?, ?)` insertDeleteUserQuery = `INSERT INTO deleted_users(id, email, name) VALUES(?, ?, ?)`
fallbackName = "unknown"
fallbackEmail = "unknown@unknown.com"
) )
// Store is the implementation of the activity.Store interface backed by SQLite // Store is the implementation of the activity.Store interface backed by SQLite
@ -128,6 +131,7 @@ func NewSQLiteStore(dataDir string, encryptionKey string) (*Store, error) {
func (store *Store) processResult(result *sql.Rows) ([]*activity.Event, error) { func (store *Store) processResult(result *sql.Rows) ([]*activity.Event, error) {
events := make([]*activity.Event, 0) events := make([]*activity.Event, 0)
var cryptErr error
for result.Next() { for result.Next() {
var id int64 var id int64
var operation activity.Activity var operation activity.Activity
@ -156,8 +160,8 @@ func (store *Store) processResult(result *sql.Rows) ([]*activity.Event, error) {
if targetUserName != nil { if targetUserName != nil {
name, err := store.fieldEncrypt.Decrypt(*targetUserName) name, err := store.fieldEncrypt.Decrypt(*targetUserName)
if err != nil { if err != nil {
log.Errorf("failed to decrypt username for target id: %s", target) cryptErr = fmt.Errorf("failed to decrypt username for target id: %s", target)
meta["username"] = "" meta["username"] = fallbackName
} else { } else {
meta["username"] = name meta["username"] = name
} }
@ -166,8 +170,8 @@ func (store *Store) processResult(result *sql.Rows) ([]*activity.Event, error) {
if targetEmail != nil { if targetEmail != nil {
email, err := store.fieldEncrypt.Decrypt(*targetEmail) email, err := store.fieldEncrypt.Decrypt(*targetEmail)
if err != nil { if err != nil {
log.Errorf("failed to decrypt email address for target id: %s", target) cryptErr = fmt.Errorf("failed to decrypt email address for target id: %s", target)
meta["email"] = "" meta["email"] = fallbackEmail
} else { } else {
meta["email"] = email meta["email"] = email
} }
@ -186,7 +190,8 @@ func (store *Store) processResult(result *sql.Rows) ([]*activity.Event, error) {
if initiatorName != nil { if initiatorName != nil {
name, err := store.fieldEncrypt.Decrypt(*initiatorName) name, err := store.fieldEncrypt.Decrypt(*initiatorName)
if err != nil { if err != nil {
log.Errorf("failed to decrypt username of initiator: %s", initiator) cryptErr = fmt.Errorf("failed to decrypt username of initiator: %s", initiator)
event.InitiatorName = fallbackName
} else { } else {
event.InitiatorName = name event.InitiatorName = name
} }
@ -195,7 +200,8 @@ func (store *Store) processResult(result *sql.Rows) ([]*activity.Event, error) {
if initiatorEmail != nil { if initiatorEmail != nil {
email, err := store.fieldEncrypt.Decrypt(*initiatorEmail) email, err := store.fieldEncrypt.Decrypt(*initiatorEmail)
if err != nil { if err != nil {
log.Errorf("failed to decrypt email address of initiator: %s", initiator) cryptErr = fmt.Errorf("failed to decrypt email address of initiator: %s", initiator)
event.InitiatorEmail = fallbackEmail
} else { } else {
event.InitiatorEmail = email event.InitiatorEmail = email
} }
@ -204,6 +210,10 @@ func (store *Store) processResult(result *sql.Rows) ([]*activity.Event, error) {
events = append(events, event) events = append(events, event)
} }
if cryptErr != nil {
log.Warnf("%s", cryptErr)
}
return events, nil return events, nil
} }