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 password
* @param email
* @param source_loginserver
* @param ls_account_id
* @return
*/
int32 AccountManagement::CreateLoginServerAccount(
std::string username,
std::string password,
std::string email,
const std::string &source_loginserver
const std::string &source_loginserver,
uint32 ls_account_id
)
{
auto mode = server.options.GetEncryptionMode();
@ -61,7 +64,13 @@ int32 AccountManagement::CreateLoginServerAccount(
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) {
LogInfo(
"Account creation success for user [{0}] encryption algorithm [{1}] ({2}) id: [{3}]",

View File

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

View File

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