Add searchUserByPhoneNumber.only_local.
This commit is contained in:
parent
6d780d02af
commit
d9942a5765
@ -9708,8 +9708,10 @@ setUserPersonalProfilePhoto user_id:int53 photo:InputChatPhoto = Ok;
|
|||||||
suggestUserProfilePhoto user_id:int53 photo:InputChatPhoto = Ok;
|
suggestUserProfilePhoto user_id:int53 photo:InputChatPhoto = Ok;
|
||||||
|
|
||||||
|
|
||||||
//@description Searches a user by their phone number. Returns a 404 error if the user can't be found @phone_number Phone number to search for
|
//@description Searches a user by their phone number. Returns a 404 error if the user can't be found
|
||||||
searchUserByPhoneNumber phone_number:string = User;
|
//@phone_number Phone number to search for
|
||||||
|
//@only_local Pass true to get only locally available information without sending network requests
|
||||||
|
searchUserByPhoneNumber phone_number:string only_local:Bool = User;
|
||||||
|
|
||||||
//@description Shares the phone number of the current user with a mutual contact. Supposed to be called when the user clicks on chatActionBarSharePhoneNumber @user_id Identifier of the user with whom to share the phone number. The user must be a mutual contact
|
//@description Shares the phone number of the current user with a mutual contact. Supposed to be called when the user clicks on chatActionBarSharePhoneNumber @user_id Identifier of the user with whom to share the phone number. The user must be a mutual contact
|
||||||
sharePhoneNumber user_id:int53 = Ok;
|
sharePhoneNumber user_id:int53 = Ok;
|
||||||
|
@ -764,11 +764,12 @@ class GetChatRequest final : public RequestActor<> {
|
|||||||
|
|
||||||
class SearchUserByPhoneNumberRequest final : public RequestActor<> {
|
class SearchUserByPhoneNumberRequest final : public RequestActor<> {
|
||||||
string phone_number_;
|
string phone_number_;
|
||||||
|
bool only_local_;
|
||||||
|
|
||||||
UserId user_id_;
|
UserId user_id_;
|
||||||
|
|
||||||
void do_run(Promise<Unit> &&promise) final {
|
void do_run(Promise<Unit> &&promise) final {
|
||||||
user_id_ = td_->user_manager_->search_user_by_phone_number(phone_number_, std::move(promise));
|
user_id_ = td_->user_manager_->search_user_by_phone_number(phone_number_, only_local_, std::move(promise));
|
||||||
}
|
}
|
||||||
|
|
||||||
void do_send_result() final {
|
void do_send_result() final {
|
||||||
@ -776,8 +777,8 @@ class SearchUserByPhoneNumberRequest final : public RequestActor<> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
SearchUserByPhoneNumberRequest(ActorShared<Td> td, uint64 request_id, string &&phone_number)
|
SearchUserByPhoneNumberRequest(ActorShared<Td> td, uint64 request_id, string &&phone_number, bool only_local)
|
||||||
: RequestActor(std::move(td), request_id), phone_number_(std::move(phone_number)) {
|
: RequestActor(std::move(td), request_id), phone_number_(std::move(phone_number)), only_local_(only_local) {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -7649,7 +7650,7 @@ void Td::on_request(uint64 id, td_api::suggestUserProfilePhoto &request) {
|
|||||||
void Td::on_request(uint64 id, td_api::searchUserByPhoneNumber &request) {
|
void Td::on_request(uint64 id, td_api::searchUserByPhoneNumber &request) {
|
||||||
CHECK_IS_USER();
|
CHECK_IS_USER();
|
||||||
CLEAN_INPUT_STRING(request.phone_number_);
|
CLEAN_INPUT_STRING(request.phone_number_);
|
||||||
CREATE_REQUEST(SearchUserByPhoneNumberRequest, std::move(request.phone_number_));
|
CREATE_REQUEST(SearchUserByPhoneNumberRequest, std::move(request.phone_number_), request.only_local_);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Td::on_request(uint64 id, const td_api::sharePhoneNumber &request) {
|
void Td::on_request(uint64 id, const td_api::sharePhoneNumber &request) {
|
||||||
|
@ -6645,7 +6645,7 @@ void UserManager::on_set_close_friends(const vector<UserId> &user_ids, Promise<U
|
|||||||
promise.set_value(Unit());
|
promise.set_value(Unit());
|
||||||
}
|
}
|
||||||
|
|
||||||
UserId UserManager::search_user_by_phone_number(string phone_number, Promise<Unit> &&promise) {
|
UserId UserManager::search_user_by_phone_number(string phone_number, bool only_local, Promise<Unit> &&promise) {
|
||||||
clean_phone_number(phone_number);
|
clean_phone_number(phone_number);
|
||||||
if (phone_number.empty()) {
|
if (phone_number.empty()) {
|
||||||
promise.set_error(Status::Error(200, "Phone number is invalid"));
|
promise.set_error(Status::Error(200, "Phone number is invalid"));
|
||||||
@ -6658,7 +6658,11 @@ UserId UserManager::search_user_by_phone_number(string phone_number, Promise<Uni
|
|||||||
return it->second;
|
return it->second;
|
||||||
}
|
}
|
||||||
|
|
||||||
td_->create_handler<ResolvePhoneQuery>(std::move(promise))->send(phone_number);
|
if (only_local) {
|
||||||
|
promise.set_value(Unit());
|
||||||
|
} else {
|
||||||
|
td_->create_handler<ResolvePhoneQuery>(std::move(promise))->send(phone_number);
|
||||||
|
}
|
||||||
return UserId();
|
return UserId();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -429,7 +429,7 @@ class UserManager final : public Actor {
|
|||||||
|
|
||||||
void on_set_close_friends(const vector<UserId> &user_ids, Promise<Unit> &&promise);
|
void on_set_close_friends(const vector<UserId> &user_ids, Promise<Unit> &&promise);
|
||||||
|
|
||||||
UserId search_user_by_phone_number(string phone_number, Promise<Unit> &&promise);
|
UserId search_user_by_phone_number(string phone_number, bool only_local, Promise<Unit> &&promise);
|
||||||
|
|
||||||
void on_resolved_phone_number(const string &phone_number, UserId user_id);
|
void on_resolved_phone_number(const string &phone_number, UserId user_id);
|
||||||
|
|
||||||
|
@ -2802,10 +2802,10 @@ class CliClient final : public Actor {
|
|||||||
get_args(args, user_id, first_name, last_name);
|
get_args(args, user_id, first_name, last_name);
|
||||||
send_request(td_api::make_object<td_api::addContact>(
|
send_request(td_api::make_object<td_api::addContact>(
|
||||||
td_api::make_object<td_api::contact>(string(), first_name, last_name, string(), user_id), false));
|
td_api::make_object<td_api::contact>(string(), first_name, last_name, string(), user_id), false));
|
||||||
} else if (op == "subpn") {
|
} else if (op == "subpn" || op == "subpnl") {
|
||||||
string phone_number;
|
string phone_number;
|
||||||
get_args(args, phone_number);
|
get_args(args, phone_number);
|
||||||
send_request(td_api::make_object<td_api::searchUserByPhoneNumber>(phone_number));
|
send_request(td_api::make_object<td_api::searchUserByPhoneNumber>(phone_number, op == "subpnl"));
|
||||||
} else if (op == "spn") {
|
} else if (op == "spn") {
|
||||||
UserId user_id;
|
UserId user_id;
|
||||||
get_args(args, user_id);
|
get_args(args, user_id);
|
||||||
|
Loading…
Reference in New Issue
Block a user