diff --git a/server/src/DatabaseHelper.cpp b/server/src/DatabaseHelper.cpp index bfa3c1d..f7a6aab 100644 --- a/server/src/DatabaseHelper.cpp +++ b/server/src/DatabaseHelper.cpp @@ -238,7 +238,7 @@ inline sql::result load_permissions_v2(const std::shared_ptr& server, auto server_id = server ? server->getServerId() : 0; return command.query([&](int length, char** values, char** names){ permission::PermissionType key = permission::PermissionType::undefined; - permission::PermissionValue value = 0, granted = 0; + permission::PermissionValue value = permNotGranted, granted = permNotGranted; bool negated = false, skipped = false; std::shared_ptr channel; @@ -384,6 +384,8 @@ void DatabaseHelper::saveClientPermissions(const std::shared_ptrname, @@ -398,8 +400,8 @@ void DatabaseHelper::saveClientPermissions(const std::shared_ptrname}, - variable{":value", update.values.value}, - variable{":grant", update.values.grant}, + variable{":value", value}, + variable{":grant", grant}, variable{":flag_skip", update.flag_skip}, variable{":flag_negate", update.flag_negate}) .executeLater().waitAndGetLater(LOG_SQL_CMD, {-1, "future error"}); @@ -449,11 +451,13 @@ void DatabaseHelper::saveGroupPermissions(const std::shared_ptrname, - update.values.value, - update.values.grant, + value, + grant, query ); sql::command(this->sql, query, @@ -463,8 +467,8 @@ void DatabaseHelper::saveGroupPermissions(const std::shared_ptrname}, - variable{":value", update.values.value}, - variable{":grant", update.values.grant}, + variable{":value", value}, + variable{":grant", grant}, variable{":flag_skip", update.flag_skip}, variable{":flag_negate", update.flag_negate}) .executeLater().waitAndGetLater(LOG_SQL_CMD, {-1, "future error"}); @@ -593,12 +597,14 @@ void DatabaseHelper::saveChannelPermissions(const std::shared_ptrname, - update.values.value, - update.values.grant, + value, + grant, query ); sql::command(this->sql, query, @@ -608,8 +614,8 @@ void DatabaseHelper::saveChannelPermissions(const std::shared_ptrname}, - variable{":value", update.values.value}, - variable{":grant", update.values.grant}, + variable{":value", value}, + variable{":grant", grant}, variable{":flag_skip", update.flag_skip}, variable{":flag_negate", update.flag_negate}) .executeLater().waitAndGetLater(LOG_SQL_CMD, {-1, "future error"}); @@ -1180,7 +1186,7 @@ void DatabaseHelper::loadStartupPermissionCache() { StartupPermissionArgument arg; sql::command(this->sql, "SELECT `serverId`, `type`, `id`, `channelId`, `permId`, `value`, `grant`, `flag_skip`, `flag_negate` FROM permissions ORDER BY `serverId`").query([&](StartupPermissionArgument* arg, int length, char** values, char** names) { auto key = permission::PermissionTypeEntry::unknown; - permission::PermissionValue value = 0, granted = 0; + permission::PermissionValue value = permNotGranted, granted = permNotGranted; permission::PermissionSqlType type = SQL_PERM_GROUP; bool negated = false, skipped = false; ChannelId channel = 0; diff --git a/shared b/shared index 4a9d8f1..cb73d9d 160000 --- a/shared +++ b/shared @@ -1 +1 @@ -Subproject commit 4a9d8f132fe9ca3411e2e3c245922ad778c56aa0 +Subproject commit cb73d9df3258eaf59e4799c9e54d5f865e891734