mirror of
https://github.com/EQEmu/Server.git
synced 2026-06-25 02:08:23 +00:00
[Commands] Cleanup #rules Command. (#2593)
* [Commands] Cleanup #rules Command. - Cleanup messages and logic. - Rewrite all rules logic to use `std::string` and repositories. * References * Update rules.cpp * Strings::Equal and Strings::EqualFold. * Cleanup. * Update rulesys.cpp * Update rulesys.cpp Co-authored-by: Akkadius <akkadius1@gmail.com>
This commit is contained in:
@@ -44,7 +44,53 @@ public:
|
||||
*/
|
||||
|
||||
// Custom extended repository methods here
|
||||
static int GetRuleSetID(Database& db, std::string rule_set_name)
|
||||
{
|
||||
const auto query = fmt::format(
|
||||
"SELECT ruleset_id FROM {} WHERE `name` = '{}'",
|
||||
TableName(),
|
||||
Strings::Escape(rule_set_name)
|
||||
);
|
||||
auto results = db.QueryDatabase(query);
|
||||
if (!results.Success() || !results.RowCount()) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
auto row = results.begin();
|
||||
return std::stoi(row[0]);
|
||||
}
|
||||
|
||||
static int CreateNewRuleSet(Database& db, std::string rule_set_name)
|
||||
{
|
||||
const auto query = fmt::format(
|
||||
"INSERT INTO {} (`name`) VALUES ('{}')",
|
||||
TableName(),
|
||||
rule_set_name
|
||||
);
|
||||
auto results = db.QueryDatabase(query);
|
||||
if (!results.Success() || !results.RowsAffected()) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
return static_cast<int>(results.LastInsertedID());
|
||||
}
|
||||
|
||||
static std::string GetRuleSetName(Database& db, int rule_set_id)
|
||||
{
|
||||
const auto query = fmt::format(
|
||||
"SELECT `name` FROM {} WHERE ruleset_id = {}",
|
||||
TableName(),
|
||||
rule_set_id
|
||||
);
|
||||
auto results = db.QueryDatabase(query);
|
||||
if (!results.Success() || !results.RowsAffected()) {
|
||||
return std::string();
|
||||
}
|
||||
|
||||
auto row = results.begin();
|
||||
|
||||
return std::string(row[0]);
|
||||
}
|
||||
};
|
||||
|
||||
#endif //EQEMU_RULE_SETS_REPOSITORY_H
|
||||
|
||||
Reference in New Issue
Block a user