mirror of
https://github.com/clusterio/clusterio.git
synced 2026-11-14 07:24:52 +09:00
Add status events for create/delete instance
Notify plugins of status changes when instances are created and deleted.
This commit is contained in:
1 parent
67219ede6b
commit
f6ab825692
3 files changed
+30
-16
No files matched your search
@@ -8,6 +8,7 @@ const libErrors = require("@clusterio/lib/errors");
|
||||
const libLink = require("@clusterio/lib/link");
|
||||
const { logger } = require("@clusterio/lib/logging");
|
||||
const libLoggingUtils = require("@clusterio/lib/logging_utils");
|
||||
const libPlugin = require("@clusterio/lib/plugin");
|
||||
const libPrometheus = require("@clusterio/lib/prometheus");
|
||||
const libUsers = require("@clusterio/lib/users");
|
||||
|
||||
@@ -170,7 +171,9 @@ class ControlConnection extends BaseConnection {
|
||||
};
|
||||
instanceConfig.set("factorio.settings", settings);
|
||||
|
||||
this._master.instances.set(instanceId, { config: instanceConfig, status: "unassigned" });
|
||||
let instance = { config: instanceConfig, status: "unassigned" };
|
||||
this._master.instances.set(instanceId, instance);
|
||||
await libPlugin.invokeHook(this._master.plugins, "onInstanceStatusChanged", instance, null);
|
||||
}
|
||||
|
||||
async deleteInstanceRequestHandler(message, request) {
|
||||
@@ -183,6 +186,10 @@ class ControlConnection extends BaseConnection {
|
||||
await this.forwardRequestToInstance(message, request);
|
||||
}
|
||||
this._master.instances.delete(message.data.instance_id);
|
||||
|
||||
let prev = instance.status;
|
||||
instance.status = "deleted";
|
||||
await libPlugin.invokeHook(this._master.plugins, "onInstanceStatusChanged", instance, prev);
|
||||
}
|
||||
|
||||
async getInstanceConfigRequestHandler(message) {
|
||||
|
||||
Reference in new issue
Block a user