Remove rule to verify expedition leader with db

This is a holdover from earlier system design and shouldn't be necessary
This commit is contained in:
hg
2020-09-26 18:41:54 -04:00
parent a3a6e55d22
commit c26c6af356
4 changed files with 3 additions and 37 deletions
+3 -13
View File
@@ -908,25 +908,15 @@ bool Expedition::ConfirmLeaderCommand(Client* requester)
return false;
}
ExpeditionMember leader;
if (RuleB(Expedition, UseDatabaseToVerifyLeaderCommands))
{
leader = ExpeditionDatabase::GetExpeditionLeader(m_id);
}
else
{
leader = m_leader;
}
if (leader.char_id == 0)
if (m_leader.char_id == 0)
{
requester->MessageString(Chat::Red, UNABLE_RETRIEVE_LEADER); // unconfirmed message
return false;
}
if (leader.char_id != requester->CharacterID())
if (m_leader.char_id != requester->CharacterID())
{
requester->MessageString(Chat::System, EXPEDITION_NOT_LEADER, leader.name.c_str());
requester->MessageString(Chat::System, EXPEDITION_NOT_LEADER, m_leader.name.c_str());
return false;
}
-22
View File
@@ -430,28 +430,6 @@ uint32_t ExpeditionDatabase::GetExpeditionIDFromCharacterID(uint32_t character_i
return expedition_id;
}
ExpeditionMember ExpeditionDatabase::GetExpeditionLeader(uint32_t expedition_id)
{
LogExpeditionsDetail("Getting expedition leader for expedition [{}]", expedition_id);
auto query = fmt::format(SQL(
SELECT expedition_details.leader_id, character_data.name
FROM expedition_details
INNER JOIN character_data ON expedition_details.leader_id = character_data.id
WHERE expedition_id = {}
), expedition_id);
ExpeditionMember leader;
auto results = database.QueryDatabase(query);
if (results.Success() && results.RowCount() > 0)
{
auto row = results.begin();
leader.char_id = strtoul(row[0], nullptr, 10);
leader.name = row[1];
}
return leader;
}
void ExpeditionDatabase::InsertCharacterLockouts(
uint32_t character_id, const std::vector<ExpeditionLockoutTimer>& lockouts,
bool replace_timer, bool is_pending)
-1
View File
@@ -60,7 +60,6 @@ namespace ExpeditionDatabase
void DeletePendingLockouts(uint32_t character_id);
void DeleteAllMembersPendingLockouts(const std::vector<ExpeditionMember>& members);
uint32_t GetExpeditionIDFromCharacterID(uint32_t character_id);
ExpeditionMember GetExpeditionLeader(uint32_t expedition_id);
std::pair<std::vector<ExpeditionLockoutTimer>, std::vector<uint32_t>> GetMembersLockout(
const std::vector<ExpeditionMember>& members, const std::string& expedition_name,
const std::string& event_name);