From 6d520dafec98bb4ebb7e40bd5110a5cbe5ebb47e Mon Sep 17 00:00:00 2001 From: Aleksi Lindeman Date: Fri, 9 Nov 2018 09:44:08 +0100 Subject: Append user to group if user already exists instead of throwing --- src/DatabaseStorage.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/DatabaseStorage.cpp') diff --git a/src/DatabaseStorage.cpp b/src/DatabaseStorage.cpp index 9611993..1d6f201 100644 --- a/src/DatabaseStorage.cpp +++ b/src/DatabaseStorage.cpp @@ -704,7 +704,14 @@ namespace odhtdb rc = sqlite3_bind_blob(insertUserStmt, 2, userPublicKey.getData(), userPublicKey.getSize(), SQLITE_STATIC); bindCheckError(rc); - sqlite_step_throw_on_failure(sqliteDb, insertUserStmt, "insert data into NodeUser"); + try + { + sqlite_step_throw_on_failure(sqliteDb, insertUserStmt, "insert data into NodeUser"); + } + catch(DatabaseStorageAlreadyExists &e) + { + // User already exists in node, error can be ignored and instead we can continue to add user to group + } addUserToGroup(nodeHash, userPublicKey, groupId); -- cgit v1.2.3