diff --git a/dbal/cpp/include/dbal/core/client.hpp b/dbal/cpp/include/dbal/core/client.hpp index 9dc84f96a..dd290f77b 100644 --- a/dbal/cpp/include/dbal/core/client.hpp +++ b/dbal/cpp/include/dbal/core/client.hpp @@ -2,6 +2,7 @@ #define DBAL_CLIENT_HPP #include +#include #include #include #include "types.hpp" @@ -39,6 +40,9 @@ public: Result> searchUsers(const std::string& query, int limit = 20); Result countUsers(const std::optional& role = std::nullopt); + Result updateManyUsers(const std::map& filter, + const UpdateUserInput& updates); + Result deleteManyUsers(const std::map& filter); Result setCredential(const CreateCredentialInput& input); Result verifyCredential(const std::string& username, const std::string& password); diff --git a/dbal/cpp/src/client.cpp b/dbal/cpp/src/client.cpp index d150d132e..9e752b596 100644 --- a/dbal/cpp/src/client.cpp +++ b/dbal/cpp/src/client.cpp @@ -58,6 +58,15 @@ Result Client::countUsers(const std::optional& role) { return entities::user::count(getStore(), role); } +Result Client::updateManyUsers(const std::map& filter, + const UpdateUserInput& updates) { + return entities::user::updateMany(getStore(), filter, updates); +} + +Result Client::deleteManyUsers(const std::map& filter) { + return entities::user::deleteMany(getStore(), filter); +} + Result Client::setCredential(const CreateCredentialInput& input) { return entities::credential::set(getStore(), input); }