convert find

This commit is contained in:
KimLS
2025-12-08 20:56:28 -08:00
parent d378f8b107
commit 408bd653bc
27 changed files with 85 additions and 31 deletions
+50
View File
@@ -0,0 +1,50 @@
#include "../../client.h"
#include "../../../common/repositories/account_repository.h"
void FindAccount(Client *c, const Seperator *sep)
{
const uint16 arguments = sep->argnum;
if (arguments < 2) {
c->Message(Chat::White, "Usage: #find account [Character Name]");
c->Message(Chat::White, "Note: Used to print the account ID and name of the account a character belongs to.");
return;
}
const std::string& character_name = sep->arg[2];
const auto& e = CharacterDataRepository::FindByName(database, character_name);
if (!e.id) {
c->Message(
Chat::White,
fmt::format(
"Character '{}' does not exist.",
character_name
).c_str()
);
return;
}
auto a = AccountRepository::FindOne(database, e.account_id);
if (!a.id) {
c->Message(
Chat::White,
fmt::format(
"Character '{}' is not attached to an account.",
character_name
).c_str()
);
return;
}
c->Message(
Chat::White,
fmt::format(
"Account {} ({}) owns the character {}.",
a.name,
a.id,
character_name
).c_str()
);
}