Add ResetWebAuthorizationsOnServerLogEvent.
This commit is contained in:
parent
86185f3b8e
commit
df3d50b056
@ -1081,10 +1081,34 @@ void AccountManager::disconnect_website(int64 website_id, Promise<Unit> &&promis
|
|||||||
reset_web_authorization_on_server(website_id, 0, std::move(promise));
|
reset_web_authorization_on_server(website_id, 0, std::move(promise));
|
||||||
}
|
}
|
||||||
|
|
||||||
void AccountManager::disconnect_all_websites(Promise<Unit> &&promise) {
|
class AccountManager::ResetWebAuthorizationsOnServerLogEvent {
|
||||||
|
public:
|
||||||
|
template <class StorerT>
|
||||||
|
void store(StorerT &storer) const {
|
||||||
|
}
|
||||||
|
|
||||||
|
template <class ParserT>
|
||||||
|
void parse(ParserT &parser) {
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
void AccountManager::reset_web_authorizations_on_server(uint64 log_event_id, Promise<Unit> &&promise) {
|
||||||
|
if (log_event_id == 0) {
|
||||||
|
ResetWebAuthorizationsOnServerLogEvent log_event;
|
||||||
|
log_event_id = binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::ResetWebAuthorizationsOnServer,
|
||||||
|
get_log_event_storer(log_event));
|
||||||
|
}
|
||||||
|
|
||||||
|
auto new_promise = get_erase_log_event_promise(log_event_id, std::move(promise));
|
||||||
|
promise = std::move(new_promise); // to prevent self-move
|
||||||
|
|
||||||
td_->create_handler<ResetWebAuthorizationsQuery>(std::move(promise))->send();
|
td_->create_handler<ResetWebAuthorizationsQuery>(std::move(promise))->send();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AccountManager::disconnect_all_websites(Promise<Unit> &&promise) {
|
||||||
|
reset_web_authorizations_on_server(0, std::move(promise));
|
||||||
|
}
|
||||||
|
|
||||||
void AccountManager::get_user_link(Promise<td_api::object_ptr<td_api::userLink>> &&promise) {
|
void AccountManager::get_user_link(Promise<td_api::object_ptr<td_api::userLink>> &&promise) {
|
||||||
td_->contacts_manager_->get_me(
|
td_->contacts_manager_->get_me(
|
||||||
PromiseCreator::lambda([actor_id = actor_id(this), promise = std::move(promise)](Result<Unit> &&result) mutable {
|
PromiseCreator::lambda([actor_id = actor_id(this), promise = std::move(promise)](Result<Unit> &&result) mutable {
|
||||||
@ -1240,6 +1264,13 @@ void AccountManager::on_binlog_events(vector<BinlogEvent> &&events) {
|
|||||||
reset_web_authorization_on_server(log_event.hash_, event.id_, Auto());
|
reset_web_authorization_on_server(log_event.hash_, event.id_, Auto());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case LogEvent::HandlerType::ResetWebAuthorizationsOnServer: {
|
||||||
|
ResetWebAuthorizationsOnServerLogEvent log_event;
|
||||||
|
log_event_parse(log_event, event.get_data()).ensure();
|
||||||
|
|
||||||
|
reset_web_authorizations_on_server(event.id_, Auto());
|
||||||
|
break;
|
||||||
|
}
|
||||||
case LogEvent::HandlerType::SetAccountTtlOnServer: {
|
case LogEvent::HandlerType::SetAccountTtlOnServer: {
|
||||||
SetAccountTtlOnServerLogEvent log_event;
|
SetAccountTtlOnServerLogEvent log_event;
|
||||||
log_event_parse(log_event, event.get_data()).ensure();
|
log_event_parse(log_event, event.get_data()).ensure();
|
||||||
|
@ -82,6 +82,7 @@ class AccountManager final : public Actor {
|
|||||||
class ResetAuthorizationOnServerLogEvent;
|
class ResetAuthorizationOnServerLogEvent;
|
||||||
class ResetAuthorizationsOnServerLogEvent;
|
class ResetAuthorizationsOnServerLogEvent;
|
||||||
class ResetWebAuthorizationOnServerLogEvent;
|
class ResetWebAuthorizationOnServerLogEvent;
|
||||||
|
class ResetWebAuthorizationsOnServerLogEvent;
|
||||||
class SetAccountTtlOnServerLogEvent;
|
class SetAccountTtlOnServerLogEvent;
|
||||||
class SetAuthorizationTtlOnServerLogEvent;
|
class SetAuthorizationTtlOnServerLogEvent;
|
||||||
class SetDefaultHistoryTtlOnServerLogEvent;
|
class SetDefaultHistoryTtlOnServerLogEvent;
|
||||||
@ -115,6 +116,8 @@ class AccountManager final : public Actor {
|
|||||||
|
|
||||||
void reset_web_authorization_on_server(int64 hash, uint64 log_event_id, Promise<Unit> &&promise);
|
void reset_web_authorization_on_server(int64 hash, uint64 log_event_id, Promise<Unit> &&promise);
|
||||||
|
|
||||||
|
void reset_web_authorizations_on_server(uint64 log_event_id, Promise<Unit> &&promise);
|
||||||
|
|
||||||
void set_account_ttl_on_server(int32 account_ttl, uint64 log_event_id, Promise<Unit> &&promise);
|
void set_account_ttl_on_server(int32 account_ttl, uint64 log_event_id, Promise<Unit> &&promise);
|
||||||
|
|
||||||
void set_authorization_ttl_on_server(int32 authorization_ttl_days, uint64 log_event_id, Promise<Unit> &&promise);
|
void set_authorization_ttl_on_server(int32 authorization_ttl_days, uint64 log_event_id, Promise<Unit> &&promise);
|
||||||
|
@ -151,6 +151,7 @@ Status init_binlog(Binlog &binlog, string path, BinlogKeyValue<Binlog> &binlog_p
|
|||||||
case LogEvent::HandlerType::SetAccountTtlOnServer:
|
case LogEvent::HandlerType::SetAccountTtlOnServer:
|
||||||
case LogEvent::HandlerType::SetAuthorizationTtlOnServer:
|
case LogEvent::HandlerType::SetAuthorizationTtlOnServer:
|
||||||
case LogEvent::HandlerType::ResetWebAuthorizationOnServer:
|
case LogEvent::HandlerType::ResetWebAuthorizationOnServer:
|
||||||
|
case LogEvent::HandlerType::ResetWebAuthorizationsOnServer:
|
||||||
events.to_account_manager.push_back(event.clone());
|
events.to_account_manager.push_back(event.clone());
|
||||||
break;
|
break;
|
||||||
case LogEvent::HandlerType::BinlogPmcMagic:
|
case LogEvent::HandlerType::BinlogPmcMagic:
|
||||||
|
@ -119,6 +119,7 @@ class LogEvent {
|
|||||||
SetAccountTtlOnServer = 0x504,
|
SetAccountTtlOnServer = 0x504,
|
||||||
SetAuthorizationTtlOnServer = 0x505,
|
SetAuthorizationTtlOnServer = 0x505,
|
||||||
ResetWebAuthorizationOnServer = 0x506,
|
ResetWebAuthorizationOnServer = 0x506,
|
||||||
|
ResetWebAuthorizationsOnServer = 0x507,
|
||||||
ConfigPmcMagic = 0x1f18,
|
ConfigPmcMagic = 0x1f18,
|
||||||
BinlogPmcMagic = 0x4327
|
BinlogPmcMagic = 0x4327
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user