mirror of
https://github.com/clusterio/clusterio.git
synced 2026-11-14 15:24:52 +09:00
Push multiple updates in each update event
Refactor HostUpdatesEvent, InstanceDetailsUpdatesEvent, ModUpdatesEvent, ModPackUpdatesEvent and UserUpdatesEvent to have multiple updates of the entities they support in each event. This is intended to make the events capable of syncing the entire list that they represent.
This commit is contained in:
1 parent
f12a9926eb
commit
20330bc2c3
18 files changed
+215
-190
No files matched your search
+20
-20
@@ -36,56 +36,56 @@ class TestControl extends lib.Link {
|
||||
return;
|
||||
}
|
||||
this.send(
|
||||
new lib.SubscriptionRequest(lib.HostUpdateEvent.name, true)
|
||||
new lib.SubscriptionRequest(lib.HostUpdatesEvent.name, true)
|
||||
).catch(err => logger.error(`Error setting host subscriptions:\n${err.stack}`));
|
||||
this.send(
|
||||
new lib.SubscriptionRequest(lib.InstanceDetailsUpdateEvent.name, true)
|
||||
new lib.SubscriptionRequest(lib.InstanceDetailsUpdatesEvent.name, true)
|
||||
).catch(err => logger.error(`Error setting instance subscriptions:\n${err.stack}`));
|
||||
this.send(
|
||||
new lib.SubscriptionRequest(lib.InstanceSaveListUpdateEvent.name, true)
|
||||
).catch(err => logger.error(`Error setting save list subscriptions:\n${err.stack}`));
|
||||
this.send(
|
||||
new lib.SubscriptionRequest(lib.ModUpdateEvent.name, true)
|
||||
new lib.SubscriptionRequest(lib.ModUpdatesEvent.name, true)
|
||||
).catch(err => logger.error(`Error setting mod subscriptions:\n${err.stack}`));
|
||||
this.send(
|
||||
new lib.SubscriptionRequest(lib.ModPackUpdateEvent.name, true)
|
||||
new lib.SubscriptionRequest(lib.ModPackUpdatesEvent.name, true)
|
||||
).catch(err => logger.error(`Error setting mod pack subscriptions:\n${err.stack}`));
|
||||
this.send(
|
||||
new lib.SubscriptionRequest(lib.UserUpdateEvent.name, true)
|
||||
new lib.SubscriptionRequest(lib.UserUpdatesEvent.name, true)
|
||||
).catch(err => logger.error(`Error setting user subscriptions:\n${err.stack}`));
|
||||
});
|
||||
|
||||
this.handle(lib.AccountUpdateEvent);
|
||||
this.handle(lib.HostUpdateEvent, this.handleHostUpdateEvent.bind(this));
|
||||
this.handle(lib.InstanceDetailsUpdateEvent, this.handleInstanceDetailsUpdateEvent.bind(this));
|
||||
this.handle(lib.HostUpdatesEvent, this.handleHostUpdatesEvent.bind(this));
|
||||
this.handle(lib.InstanceDetailsUpdatesEvent, this.handleInstanceDetailsUpdatesEvent.bind(this));
|
||||
this.handle(lib.InstanceSaveListUpdateEvent, this.handleInstanceSaveListUpdateEvent.bind(this));
|
||||
this.handle(lib.ModUpdateEvent, this.handleModUpdateEvent.bind(this));
|
||||
this.handle(lib.ModPackUpdateEvent, this.handleModPackUpdateEvent.bind(this));
|
||||
this.handle(lib.UserUpdateEvent, this.handleUserUpdateEvent.bind(this));
|
||||
this.handle(lib.ModUpdatesEvent, this.handleModUpdatesEvent.bind(this));
|
||||
this.handle(lib.ModPackUpdatesEvent, this.handleModPackUpdatesEvent.bind(this));
|
||||
this.handle(lib.UserUpdatesEvent, this.handleUserUpdatesEvent.bind(this));
|
||||
}
|
||||
|
||||
async handleHostUpdateEvent(event) {
|
||||
this.hostUpdates.push(event.update);
|
||||
async handleHostUpdatesEvent(event) {
|
||||
this.hostUpdates.push(...event.updates);
|
||||
}
|
||||
|
||||
async handleInstanceDetailsUpdateEvent(event) {
|
||||
this.instanceUpdates.push(event.details);
|
||||
async handleInstanceDetailsUpdatesEvent(event) {
|
||||
this.instanceUpdates.push(...event.updates);
|
||||
}
|
||||
|
||||
async handleInstanceSaveListUpdateEvent(event) {
|
||||
this.saveListUpdates.push(event);
|
||||
}
|
||||
|
||||
async handleModUpdateEvent(event) {
|
||||
this.modUpdates.push(event.mod);
|
||||
async handleModUpdatesEvent(event) {
|
||||
this.modUpdates.push(...event.updates);
|
||||
}
|
||||
|
||||
async handleModPackUpdateEvent(event) {
|
||||
this.modPackUpdates.push(event.modPack);
|
||||
async handleModPackUpdatesEvent(event) {
|
||||
this.modPackUpdates.push(...event.updates);
|
||||
}
|
||||
|
||||
async handleUserUpdateEvent(event) {
|
||||
this.userUpdates.push(event.user);
|
||||
async handleUserUpdatesEvent(event) {
|
||||
this.userUpdates.push(...event.updates);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user