Try to load MessageSender, even access doesn't need to be checked.

This commit is contained in:
levlam 2021-12-20 20:30:33 +03:00
parent 3f28ce86d6
commit a92d9e712b

View File

@ -115,7 +115,8 @@ Result<DialogId> get_message_sender_dialog_id(Td *td,
}
return Status::Error(400, "Invalid user identifier specified");
}
if (check_access && !td->contacts_manager_->have_user_force(user_id)) {
bool know_user = td->contacts_manager_->have_user_force(user_id);
if (check_access && !know_user) {
return Status::Error(400, "Unknown user identifier specified");
}
return DialogId(user_id);
@ -128,12 +129,11 @@ Result<DialogId> get_message_sender_dialog_id(Td *td,
}
return Status::Error(400, "Invalid chat identifier specified");
}
if (check_access) {
bool is_user = dialog_id.get_type() == DialogType::User;
if (is_user ? !td->contacts_manager_->have_user_force(dialog_id.get_user_id())
: !td->messages_manager_->have_dialog_force(dialog_id, "get_message_sender_dialog_id")) {
return Status::Error(400, "Unknown chat identifier specified");
}
bool know_dialog = dialog_id.get_type() == DialogType::User
? td->contacts_manager_->have_user_force(dialog_id.get_user_id())
: td->messages_manager_->have_dialog_force(dialog_id, "get_message_sender_dialog_id");
if (check_access && !know_dialog) {
return Status::Error(400, "Unknown chat identifier specified");
}
return dialog_id;
}