Adjust external endpoint [skip ci]

This commit is contained in:
Akkadius 2019-09-08 03:21:03 -05:00
parent 40696a132b
commit 4f20236440
3 changed files with 21 additions and 8 deletions

View File

@ -31,13 +31,16 @@ EQ::Event::TaskScheduler task_runner;
* @param username * @param username
* @param password * @param password
* @param email * @param email
* @param source_loginserver
* @param ls_account_id
* @return * @return
*/ */
int32 AccountManagement::CreateLoginServerAccount( int32 AccountManagement::CreateLoginServerAccount(
std::string username, std::string username,
std::string password, std::string password,
std::string email, std::string email,
const std::string &source_loginserver const std::string &source_loginserver,
uint32 ls_account_id
) )
{ {
auto mode = server.options.GetEncryptionMode(); auto mode = server.options.GetEncryptionMode();
@ -61,7 +64,13 @@ int32 AccountManagement::CreateLoginServerAccount(
return -1; return -1;
} }
uint32 created_account_id = server.db->CreateLoginAccount(username, hash, source_loginserver, email); uint32 created_account_id = 0;
if (ls_account_id > 0) {
created_account_id = server.db->CreateLoginDataWithID(username, hash, source_loginserver, ls_account_id);
} else {
created_account_id = server.db->CreateLoginAccount(username, hash, source_loginserver, email);
}
if (created_account_id > 0) { if (created_account_id > 0) {
LogInfo( LogInfo(
"Account creation success for user [{0}] encryption algorithm [{1}] ({2}) id: [{3}]", "Account creation success for user [{0}] encryption algorithm [{1}] ({2}) id: [{3}]",

View File

@ -31,13 +31,15 @@ public:
* @param password * @param password
* @param email * @param email
* @param source_loginserver * @param source_loginserver
* @param ls_account_id
* @return * @return
*/ */
static int32 CreateLoginServerAccount( static int32 CreateLoginServerAccount(
std::string username, std::string username,
std::string password, std::string password,
std::string email = "", std::string email = "",
const std::string &source_loginserver = "local" const std::string &source_loginserver = "local",
uint32 ls_account_id = 0
); );
/** /**

View File

@ -103,10 +103,11 @@ namespace LoginserverWebserver {
return; return;
} }
Json::Value request_body = LoginserverWebserver::ParseRequestBody(request); Json::Value request_body = LoginserverWebserver::ParseRequestBody(request);
std::string username = request_body.get("username", "").asString(); std::string username = request_body.get("username", "").asString();
std::string password = request_body.get("password", "").asString(); std::string password = request_body.get("password", "").asString();
std::string email = request_body.get("email", "").asString(); std::string email = request_body.get("email", "").asString();
uint32 login_account_id = request_body.get("account_id", "").asInt();
Json::Value response; Json::Value response;
if (username.empty() || password.empty()) { if (username.empty() || password.empty()) {
@ -120,7 +121,8 @@ namespace LoginserverWebserver {
username, username,
password, password,
email, email,
source_loginserver source_loginserver,
login_account_id
); );
if (account_created_id > 0) { if (account_created_id > 0) {