Add td_api::declinePasswordReset.

This commit is contained in:
levlam 2021-06-29 05:24:55 +03:00
parent 12383ea1d2
commit 158dd22f21
6 changed files with 25 additions and 0 deletions

View File

@ -3948,6 +3948,9 @@ recoverPassword recovery_code:string new_password:string new_hint:string = Passw
//@description Removes 2-step verification password without previous password and access to recovery email address. The password can't be reset immediately and the request needs to be repeated after the specified time
resetPassword = ResetPasswordResult;
//@description Declines reset of 2-step verification password. The method can be called if passwordState.pending_reset_date > 0
declinePasswordReset = Ok;
//@description Creates a new temporary password for processing payments @password Persistent user password @valid_for Time during which the temporary password will be valid, in seconds; should be between 60 and 86400
createTemporaryPassword password:string valid_for:int32 = TemporaryPasswordState;

View File

@ -564,6 +564,17 @@ void PasswordManager::reset_password(Promise<ResetPasswordResult> promise) {
}));
}
void PasswordManager::decline_password_reset(Promise<Unit> promise) {
send_with_promise(G()->net_query_creator().create(telegram_api::account_declinePasswordReset()),
PromiseCreator::lambda([promise = std::move(promise)](Result<NetQueryPtr> r_query) mutable {
auto r_result = fetch_result<telegram_api::account_declinePasswordReset>(std::move(r_query));
if (r_result.is_error()) {
return promise.set_error(r_result.move_as_error());
}
return promise.set_value(Unit());
}));
}
void PasswordManager::update_password_settings(UpdateSettings update_settings, Promise<State> promise) {
auto result_promise = PromiseCreator::lambda(
[actor_id = actor_id(this), promise = std::move(promise)](Result<bool> r_update_settings) mutable {

View File

@ -85,6 +85,7 @@ class PasswordManager : public NetQueryCallback {
void recover_password(string code, string new_password, string new_hint, Promise<State> promise);
void reset_password(Promise<ResetPasswordResult> promise);
void decline_password_reset(Promise<Unit> promise);
void get_secure_secret(string password, Promise<secure_storage::Secret> promise);
void get_input_check_password_srp(string password,

View File

@ -4954,6 +4954,12 @@ void Td::on_request(uint64 id, const td_api::resetPassword &request) {
send_closure(password_manager_, &PasswordManager::reset_password, std::move(promise));
}
void Td::on_request(uint64 id, const td_api::declinePasswordReset &request) {
CHECK_IS_USER();
CREATE_OK_REQUEST_PROMISE();
send_closure(password_manager_, &PasswordManager::decline_password_reset, std::move(promise));
}
void Td::on_request(uint64 id, td_api::getTemporaryPasswordState &request) {
CHECK_IS_USER();
CREATE_REQUEST_PROMISE();

View File

@ -442,6 +442,8 @@ class Td final : public NetQueryCallback {
void on_request(uint64 id, const td_api::resetPassword &request);
void on_request(uint64 id, const td_api::declinePasswordReset &request);
void on_request(uint64 id, td_api::getTemporaryPasswordState &request);
void on_request(uint64 id, td_api::createTemporaryPassword &request);

View File

@ -1794,6 +1794,8 @@ class CliClient final : public Actor {
send_request(td_api::make_object<td_api::recoverPassword>(recovery_code, new_password, new_hint));
} else if (op == "resetp") {
send_request(td_api::make_object<td_api::resetPassword>());
} else if (op == "dpr") {
send_request(td_api::make_object<td_api::declinePasswordReset>());
} else if (op == "gtp" || op == "GetTemporaryPassword") {
send_request(td_api::make_object<td_api::getTemporaryPasswordState>());
} else if (op == "ctp" || op == "CreateTemporaryPassword") {