mirror of
https://github.com/kunkundi/crossdesk-server.git
synced 2026-03-21 23:28:59 +08:00
Add signal connection status 'No such transmission id'
This commit is contained in:
@@ -198,7 +198,9 @@ void SignalServer::on_message(websocketpp::connection_hdl hdl,
|
||||
std::string transmission_id = j["transmission_id"].get<std::string>();
|
||||
std::string password = j["password"].get<std::string>();
|
||||
|
||||
if (transmission_manager_.CheckPassword(password, transmission_id)) {
|
||||
int ret = transmission_manager_.CheckPassword(password, transmission_id);
|
||||
|
||||
if (0 == ret) {
|
||||
std::vector<std::string> user_id_list =
|
||||
transmission_manager_.GetAllUserIdOfTransmission(transmission_id);
|
||||
|
||||
@@ -208,7 +210,7 @@ void SignalServer::on_message(websocketpp::connection_hdl hdl,
|
||||
{"status", "success"}};
|
||||
|
||||
send_msg(hdl, message);
|
||||
} else {
|
||||
} else if (-1 == ret) {
|
||||
std::vector<std::string> user_id_list;
|
||||
json message = {{"type", "user_id_list"},
|
||||
{"transmission_id", transmission_id},
|
||||
@@ -221,6 +223,20 @@ void SignalServer::on_message(websocketpp::connection_hdl hdl,
|
||||
// password, transmission_id,
|
||||
// transmission_manager_.GetPassword(transmission_id));
|
||||
|
||||
send_msg(hdl, message);
|
||||
} else if (-2 == ret) {
|
||||
std::vector<std::string> user_id_list;
|
||||
json message = {{"type", "user_id_list"},
|
||||
{"transmission_id", transmission_id},
|
||||
{"user_id_list", user_id_list},
|
||||
{"status", "failed"},
|
||||
{"reason", "No such transmission id"}};
|
||||
// LOG_INFO(
|
||||
// "Incorrect password [{}] for transmission [{}] with password is "
|
||||
// "[{}]",
|
||||
// password, transmission_id,
|
||||
// transmission_manager_.GetPassword(transmission_id));
|
||||
|
||||
send_msg(hdl, message);
|
||||
}
|
||||
|
||||
|
||||
@@ -145,15 +145,15 @@ std::string TransmissionManager::GetUserId(websocketpp::connection_hdl hdl) {
|
||||
return "";
|
||||
}
|
||||
|
||||
bool TransmissionManager::CheckPassword(const std::string& password,
|
||||
const std::string& transmission_id) {
|
||||
int TransmissionManager::CheckPassword(const std::string& password,
|
||||
const std::string& transmission_id) {
|
||||
if (transmission_password_list_.find(transmission_id) ==
|
||||
transmission_password_list_.end()) {
|
||||
LOG_ERROR("No transmission with id [{}]", transmission_id);
|
||||
return false;
|
||||
return -2;
|
||||
}
|
||||
|
||||
return transmission_password_list_[transmission_id] == password;
|
||||
return transmission_password_list_[transmission_id] == password ? 0 : -1;
|
||||
}
|
||||
|
||||
std::string TransmissionManager::GetPassword(
|
||||
|
||||
@@ -28,8 +28,8 @@ class TransmissionManager {
|
||||
|
||||
websocketpp::connection_hdl GetWsHandle(const std::string& user_id);
|
||||
std::string GetUserId(websocketpp::connection_hdl hdl);
|
||||
bool CheckPassword(const std::string& password,
|
||||
const std::string& transmission_id);
|
||||
int CheckPassword(const std::string& password,
|
||||
const std::string& transmission_id);
|
||||
std::string GetPassword(const std::string& transmission_id);
|
||||
|
||||
private:
|
||||
|
||||
Reference in New Issue
Block a user