mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-06-05 06:33:57 +02:00
Added ability to confirm recovery email from Api::CloudPassword.
This commit is contained in:
parent
2f9dc6ca2a
commit
9f155e0053
2 changed files with 43 additions and 0 deletions
|
@ -330,4 +330,44 @@ rpl::producer<rpl::no_value, QString> CloudPassword::check(
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rpl::producer<rpl::no_value, QString> CloudPassword::confirmEmail(
|
||||||
|
const QString &code) {
|
||||||
|
return [=](auto consumer) {
|
||||||
|
_api.request(MTPaccount_ConfirmPasswordEmail(
|
||||||
|
MTP_string(code)
|
||||||
|
)).done([=] {
|
||||||
|
_api.request(MTPaccount_GetPassword(
|
||||||
|
)).done([=](const MTPaccount_Password &result) {
|
||||||
|
apply(ProcessMtpState(result));
|
||||||
|
consumer.put_done();
|
||||||
|
}).fail([=](const MTP::Error &error) {
|
||||||
|
consumer.put_error_copy(error.type());
|
||||||
|
}).send();
|
||||||
|
}).fail([=](const MTP::Error &error) {
|
||||||
|
consumer.put_error_copy(error.type());
|
||||||
|
}).handleFloodErrors().send();
|
||||||
|
|
||||||
|
return rpl::lifetime();
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
rpl::producer<rpl::no_value, QString> CloudPassword::resendEmailCode() {
|
||||||
|
return [=](auto consumer) {
|
||||||
|
_api.request(MTPaccount_ResendPasswordEmail(
|
||||||
|
)).done([=] {
|
||||||
|
_api.request(MTPaccount_GetPassword(
|
||||||
|
)).done([=](const MTPaccount_Password &result) {
|
||||||
|
apply(ProcessMtpState(result));
|
||||||
|
consumer.put_done();
|
||||||
|
}).fail([=](const MTP::Error &error) {
|
||||||
|
consumer.put_error_copy(error.type());
|
||||||
|
}).send();
|
||||||
|
}).fail([=](const MTP::Error &error) {
|
||||||
|
consumer.put_error_copy(error.type());
|
||||||
|
}).handleFloodErrors().send();
|
||||||
|
|
||||||
|
return rpl::lifetime();
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace Api
|
} // namespace Api
|
||||||
|
|
|
@ -46,6 +46,9 @@ public:
|
||||||
const QString &recoveryEmail);
|
const QString &recoveryEmail);
|
||||||
rpl::producer<rpl::no_value, QString> check(const QString &password);
|
rpl::producer<rpl::no_value, QString> check(const QString &password);
|
||||||
|
|
||||||
|
rpl::producer<rpl::no_value, QString> confirmEmail(const QString &code);
|
||||||
|
rpl::producer<rpl::no_value, QString> resendEmailCode();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void apply(Core::CloudPasswordState state);
|
void apply(Core::CloudPasswordState state);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue