Перепись с const std::string& на std::string_view

This commit is contained in:
2026-01-29 09:33:38 +03:00
parent 91d20fcf01
commit 9a7c9b7e7c
11 changed files with 47 additions and 47 deletions
+6 -6
View File
@@ -10,22 +10,22 @@ namespace uad
class IDiariesDAO class IDiariesDAO
{ {
public: public:
virtual std::vector<diary_dto> GetDiariesByUserUUID(const std::string& login) = 0; virtual std::vector<diary_dto> GetDiariesByUserUUID(std::string_view login) = 0;
virtual void СreateDiary( virtual void СreateDiary(
const std::string& user_uuid, std::string_view user_uuid,
const diary_dto& dto const diary_dto& dto
) const = 0; ) const = 0;
virtual void UpdateDiary( virtual void UpdateDiary(
const std::string& user_uuid, std::string_view user_uuid,
const std::string& diary_uuid, std::string_view diary_uuid,
const diary_dto& dto const diary_dto& dto
) const = 0; ) const = 0;
virtual void DeleteDiary( virtual void DeleteDiary(
const std::string& user_uuid, std::string_view user_uuid,
const std::string& diary_uuid std::string_view diary_uuid
) const = 0; ) const = 0;
virtual ~IDiariesDAO() = default; virtual ~IDiariesDAO() = default;
+3 -3
View File
@@ -13,15 +13,15 @@ class IUserDAO
public: public:
virtual std::string Create(const user_dto& created_user) = 0; virtual std::string Create(const user_dto& created_user) = 0;
virtual std::optional<user_dto> GetByUUID(const std::string& uuid) = 0; virtual std::optional<user_dto> GetByUUID(std::string_view uuid) = 0;
virtual std::optional<user_dto> GetByLogin(const std::string& login) = 0; virtual std::optional<user_dto> GetByLogin(std::string_view login) = 0;
virtual std::pair<bool, std::vector<user_dto>> GetAll(size_t limit, size_t offset) = 0; virtual std::pair<bool, std::vector<user_dto>> GetAll(size_t limit, size_t offset) = 0;
virtual bool Update(const user_dto& u) = 0; virtual bool Update(const user_dto& u) = 0;
virtual bool Delete(const std::string& uuid) = 0; virtual bool Delete(std::string_view uuid) = 0;
virtual ~IUserDAO() = default; virtual ~IUserDAO() = default;
}; };
+2 -2
View File
@@ -8,10 +8,10 @@ namespace uad
{ {
class IUserTreatmentSchemeDAO { class IUserTreatmentSchemeDAO {
public: public:
virtual std::vector<user_treatment_scheme_dto> FindByUserUUID(const std::string& login) = 0; virtual std::vector<user_treatment_scheme_dto> FindByUserUUID(std::string_view login) = 0;
virtual void CreateUserTreatmentScheme( virtual void CreateUserTreatmentScheme(
const std::string& user_login, std::string_view user_login,
const user_treatment_scheme_dto& dto const user_treatment_scheme_dto& dto
) = 0; ) = 0;
+10 -10
View File
@@ -8,7 +8,7 @@ MySqlDiariesDAO::MySqlDiariesDAO(mysqlx::Session& session) : session_(session)
{ {
} }
std::vector<diary_dto> MySqlDiariesDAO::GetDiariesByUserUUID(const std::string& user_uuid) std::vector<diary_dto> MySqlDiariesDAO::GetDiariesByUserUUID(std::string_view user_uuid)
{ {
static const std::string query = R"( static const std::string query = R"(
SELECT SELECT
@@ -30,7 +30,7 @@ std::vector<diary_dto> MySqlDiariesDAO::GetDiariesByUserUUID(const std::string&
mysqlx::SqlResult result = session_ mysqlx::SqlResult result = session_
.sql(query) .sql(query)
.bind(user_uuid) .bind(user_uuid.data())
.execute(); .execute();
std::vector<diary_dto> diaries; std::vector<diary_dto> diaries;
@@ -60,7 +60,7 @@ std::vector<diary_dto> MySqlDiariesDAO::GetDiariesByUserUUID(const std::string&
return diaries; return diaries;
} }
void MySqlDiariesDAO::СreateDiary(const std::string& user_uuid, const diary_dto& dto) const void MySqlDiariesDAO::СreateDiary(std::string_view user_uuid, const diary_dto& dto) const
{ {
auto stmt = session_.sql(R"( auto stmt = session_.sql(R"(
INSERT INTO `up_and_down`.`diaries` ( INSERT INTO `up_and_down`.`diaries` (
@@ -94,7 +94,7 @@ void MySqlDiariesDAO::СreateDiary(const std::string& user_uuid, const diary_dto
stmt.bind( stmt.bind(
dto.uuid, dto.uuid,
user_uuid, user_uuid.data(),
dto.time_ms, dto.time_ms,
dto.mania_level, dto.mania_level,
dto.depression_level, dto.depression_level,
@@ -111,8 +111,8 @@ void MySqlDiariesDAO::СreateDiary(const std::string& user_uuid, const diary_dto
} }
void MySqlDiariesDAO::UpdateDiary( void MySqlDiariesDAO::UpdateDiary(
const std::string& user_uuid, std::string_view user_uuid,
const std::string& diary_uuid, std::string_view diary_uuid,
const diary_dto& dto) const const diary_dto& dto) const
{ {
auto stmt = session_.sql(R"( auto stmt = session_.sql(R"(
@@ -140,7 +140,7 @@ void MySqlDiariesDAO::UpdateDiary(
dto.anxiety_level, dto.anxiety_level,
dto.comment, dto.comment,
dto.user_treatment_scheme_uuid, dto.user_treatment_scheme_uuid,
dto.uuid diary_uuid.data()
); );
auto res = stmt.execute(); auto res = stmt.execute();
@@ -151,15 +151,15 @@ void MySqlDiariesDAO::UpdateDiary(
} }
void MySqlDiariesDAO::DeleteDiary( void MySqlDiariesDAO::DeleteDiary(
const std::string& user_uuid, std::string_view user_uuid,
const std::string& diary_uuid) const std::string_view diary_uuid) const
{ {
auto stmt = session_.sql(R"( auto stmt = session_.sql(R"(
DELETE FROM `up_and_down`.`diaries` DELETE FROM `up_and_down`.`diaries`
WHERE uuid = ? AND user_uuid = ? WHERE uuid = ? AND user_uuid = ?
)"); )");
stmt.bind(diary_uuid, user_uuid); stmt.bind(diary_uuid.data(), user_uuid.data());
auto res = stmt.execute(); auto res = stmt.execute();
+6 -6
View File
@@ -15,22 +15,22 @@ class MySqlDiariesDAO final : public IDiariesDAO
public: public:
explicit MySqlDiariesDAO(mysqlx::Session& session); explicit MySqlDiariesDAO(mysqlx::Session& session);
std::vector<diary_dto> GetDiariesByUserUUID(const std::string& user_uuid) override; std::vector<diary_dto> GetDiariesByUserUUID(std::string_view user_uuid) override;
void СreateDiary( void СreateDiary(
const std::string& user_uuid, std::string_view user_uuid,
const diary_dto& dto const diary_dto& dto
) const override; ) const override;
void UpdateDiary( void UpdateDiary(
const std::string& user_uuid, std::string_view user_uuid,
const std::string& diary_uuid, std::string_view diary_uuid,
const diary_dto& dto const diary_dto& dto
) const override; ) const override;
void DeleteDiary( void DeleteDiary(
const std::string& user_uuid, std::string_view user_uuid,
const std::string& diary_uuid std::string_view diary_uuid
) const override; ) const override;
}; };
} }
+8 -8
View File
@@ -31,23 +31,23 @@ string MySQLUserDAO::Create(const user_dto& created_user)
return uuid_str; return uuid_str;
} }
optional<user_dto> MySQLUserDAO::GetByUUID(const string& uuid) optional<user_dto> MySQLUserDAO::GetByUUID(std::string_view uuid)
{ {
static const string sql_script = "SELECT * FROM `up_and_down`.`users` WHERE (uuid = ?) LIMIT 1;"s; static const string sql_script = "SELECT * FROM `up_and_down`.`users` WHERE (uuid = ?) LIMIT 1;"s;
mysqlx::SqlResult sql_result = session_. mysqlx::SqlResult sql_result = session_.
sql(sql_script) sql(sql_script)
.bind(uuid) .bind(uuid.data())
.execute(); .execute();
return GetSingleUserBySQLResult(std::move(sql_result)); return GetSingleUserBySQLResult(std::move(sql_result));
} }
optional<user_dto> MySQLUserDAO::GetByLogin(const string& login) optional<user_dto> MySQLUserDAO::GetByLogin(std::string_view login)
{ {
static const std::string sql_script = "SELECT * FROM `up_and_down`.`users` WHERE (login = ?) LIMIT 1;"s; static const std::string sql_script = "SELECT * FROM `up_and_down`.`users` WHERE (login = ?) LIMIT 1;"s;
mysqlx::SqlResult sql_result = session_. mysqlx::SqlResult sql_result = session_
sql(sql_script) .sql(sql_script)
.bind(login) .bind(login.data())
.execute(); .execute();
return GetSingleUserBySQLResult(std::move(sql_result)); return GetSingleUserBySQLResult(std::move(sql_result));
@@ -107,12 +107,12 @@ bool MySQLUserDAO::Update(const user_dto& u)
return !!schema.getAffectedItemsCount(); return !!schema.getAffectedItemsCount();
} }
bool MySQLUserDAO::Delete(const string& uuid) bool MySQLUserDAO::Delete(std::string_view uuid)
{ {
static const string sql_script = "DELETE FROM `up_and_down`.`users` WHERE `uuid` = ?;"; static const string sql_script = "DELETE FROM `up_and_down`.`users` WHERE `uuid` = ?;";
auto schema = session_.sql(sql_script) auto schema = session_.sql(sql_script)
.bind(uuid) .bind(uuid.data())
.execute(); .execute();
return !!schema.getAffectedItemsCount(); return !!schema.getAffectedItemsCount();
+3 -3
View File
@@ -13,15 +13,15 @@ public:
std::string Create(const user_dto& created_user) override; std::string Create(const user_dto& created_user) override;
std::optional<user_dto> GetByUUID(const std::string& uuid) override; std::optional<user_dto> GetByUUID(std::string_view uuid) override;
std::optional<user_dto> GetByLogin(const std::string& login) override; std::optional<user_dto> GetByLogin(std::string_view login) override;
std::pair<bool, std::vector<user_dto>> GetAll(size_t limit, size_t offset) override; std::pair<bool, std::vector<user_dto>> GetAll(size_t limit, size_t offset) override;
bool Update(const user_dto& u) override; bool Update(const user_dto& u) override;
bool Delete(const std::string& uuid) override; bool Delete(std::string_view uuid) override;
private: private:
std::optional<user_dto> GetSingleUserBySQLResult(mysqlx::SqlResult&& sql_result); std::optional<user_dto> GetSingleUserBySQLResult(mysqlx::SqlResult&& sql_result);
+4 -4
View File
@@ -11,7 +11,7 @@ MySQLUserTreatmentSchemesDAO::MySQLUserTreatmentSchemesDAO(mysqlx::Session& sess
} }
std::vector<user_treatment_scheme_dto> MySQLUserTreatmentSchemesDAO::FindByUserUUID( std::vector<user_treatment_scheme_dto> MySQLUserTreatmentSchemesDAO::FindByUserUUID(
const std::string& user_uuid) std::string_view user_uuid)
{ {
static const std::string query = R"( static const std::string query = R"(
SELECT SELECT
@@ -30,7 +30,7 @@ std::vector<user_treatment_scheme_dto> MySQLUserTreatmentSchemesDAO::FindByUserU
mysqlx::SqlResult result = session_ mysqlx::SqlResult result = session_
.sql(query) .sql(query)
.bind(user_uuid) .bind(user_uuid.data())
.execute(); .execute();
std::unordered_map<std::string, user_treatment_scheme_dto> scheme_map; std::unordered_map<std::string, user_treatment_scheme_dto> scheme_map;
@@ -69,7 +69,7 @@ std::vector<user_treatment_scheme_dto> MySQLUserTreatmentSchemesDAO::FindByUserU
} }
void MySQLUserTreatmentSchemesDAO::CreateUserTreatmentScheme( void MySQLUserTreatmentSchemesDAO::CreateUserTreatmentScheme(
const std::string& user_uuid, std::string_view user_uuid,
const user_treatment_scheme_dto& dto) const user_treatment_scheme_dto& dto)
{ {
session_.startTransaction(); session_.startTransaction();
@@ -85,7 +85,7 @@ void MySQLUserTreatmentSchemesDAO::CreateUserTreatmentScheme(
)") )")
.bind( .bind(
dto.uuid, dto.uuid,
user_uuid, user_uuid.data(),
dto.treatment_name, dto.treatment_name,
dto.instructions dto.instructions
) )
+2 -2
View File
@@ -11,10 +11,10 @@ class MySQLUserTreatmentSchemesDAO : public IUserTreatmentSchemeDAO
public: public:
explicit MySQLUserTreatmentSchemesDAO(mysqlx::Session& session); explicit MySQLUserTreatmentSchemesDAO(mysqlx::Session& session);
std::vector<user_treatment_scheme_dto> FindByUserUUID(const std::string& uuid) override; std::vector<user_treatment_scheme_dto> FindByUserUUID(std::string_view uuid) override;
void CreateUserTreatmentScheme( void CreateUserTreatmentScheme(
const std::string& user_login, std::string_view user_login,
const user_treatment_scheme_dto& dto const user_treatment_scheme_dto& dto
) override; ) override;
}; };
+2 -2
View File
@@ -117,9 +117,9 @@ std::string ToHex(std::byte* src, size_t len)
return ret; return ret;
} }
std::string HashPassword(const std::string& password) std::string HashPassword(std::string_view password)
{ {
size_t calculated_hash = std::hash<string>{}(password); size_t calculated_hash = std::hash<std::string_view>{}(password);
return ToHex((byte*)&calculated_hash, sizeof(calculated_hash)); return ToHex((byte*)&calculated_hash, sizeof(calculated_hash));
} }
+1 -1
View File
@@ -12,7 +12,7 @@ void Fail(boost::beast::error_code ec, char const* what);
std::string ToHex(std::byte* src, size_t len); std::string ToHex(std::byte* src, size_t len);
std::string HashPassword(const std::string& password); std::string HashPassword(std::string_view password);
std::string GenerateUUID(); std::string GenerateUUID();