Files
HousingManagement-server/src/database_implementation/UserStorage.h

29 lines
945 B
C++

#pragma once
#include "storages/IUserStorage.h"
namespace spdlog
{
class logger;
}
class DbUserStorage : public IUserStorage
{
public:
DbUserStorage();
virtual std::optional<User> getUserByUsername(const std::string& username) override;
virtual std::optional<User> getUserById(int userId) override;
virtual std::optional<User> getUserWithAddresses(int userId) override;
virtual std::vector<User> getUsersWithRole(const std::string& role) override;
virtual std::vector<User> getUsersWithRole(const std::string& role, int page, int pageSize) override;
virtual std::vector<User> getUsersWithRole(const std::string& role, int page, int pageSize, std::string search) override;
virtual AuthErrorCode insertUser(const User& user) override;
virtual bool bindUserToAddress(int userId, int addressId) override;
virtual bool unbindUserFromAddress(int userId, int addressId) override;
private:
std::shared_ptr<spdlog::logger> m_logger;
};