Implemented changes suggested by linter

This commit is contained in:
Daniel committed 2021-07-12 22:05:54 +02:00
1 parent 8a85cfc8da
commit 6bb2c50e5c
4 files changed
+62 -53

No files matched your search

+6
View File
@@ -273,6 +273,12 @@ export class Control extends libLink.Link {
handler(info);
}
}
if (info.slave_id !== undefined) {
let slaveHandlers = this.slaveLogHandlers.get(info.slave_id);
for (let handler of slaveHandlers || []) {
handler(info);
}
}
}
async onInstanceLog(id, handler) {
+17 -18
View File
@@ -20,41 +20,40 @@ class InstancePlugin extends libPlugin.BaseInstancePlugin {
// },5000)
this.instance.server.on("ipc-inventory_sync_upload", content =>
this.handleUpload(content).catch(err => this.logger.error(
`Error handling ipc-inventory_sync_upload:\n${err.stack}`
))
)
this.instance.server.on("ipc-inventory_sync_download", content =>
this.handleDownload(content).catch(err => this.logger.error(
`Error handling ipc-inventory_sync_download:\n${err.stack}`
))
)
this.instance.server.on("ipc-inventory_sync_upload", content => this.handleUpload(content).catch(err => this.logger.error(
`Error handling ipc-inventory_sync_upload:\n${err.stack}`
))
);
this.instance.server.on("ipc-inventory_sync_download", content => this.handleDownload(content).catch(err => this.logger.error(
`Error handling ipc-inventory_sync_download:\n${err.stack}`
))
);
}
onMasterConnectionEvent(event) {
console.log("Connectionevent", event)
console.log("Connectionevent", event);
if (event === "connect") {
}
}
async handleUpload(player) {
console.log("Uploading", player)
console.log("Uploading", player);
this.info.messages.upload.send(this.instance, {
instance_id: this.instance.id,
instance_name: this.instance.name,
player_name: player.name,
inventory: JSON.stringify(player),
})
});
}
async handleDownload(player) {
console.log("Downloading", player.player_name)
console.log("Downloading", player.player_name);
let response = await this.info.messages.download.send(this.instance, {
player_name: player.player_name
})
player_name: player.player_name,
});
if (response.inventory) {
console.log("Sending command")
await this.sendRcon(`/sc inventory_sync.downloadInventory('${response.player_name}', '${libLuaTools.escapeString(response.inventory)}')`)
console.log("Sending command");
await this.sendRcon(`/sc inventory_sync.downloadInventory('${response.player_name}', '${libLuaTools.escapeString(response.inventory)}')`);
}
}
+14 -10
View File
@@ -38,30 +38,34 @@ class MasterPlugin extends libPlugin.BaseMasterPlugin {
});
}, this.master.config.get("inventory_sync.autosave_interval") * 1000);
}
async uploadRequestHandler(message) {
console.log("Saving inventory for", message.data.player_name)
this.inventories[message.data.player_name] = message.data.inventory
return { success: true }
async uploadRequestHandler(message) {
console.log("Saving inventory for", message.data.player_name);
this.inventories[message.data.player_name] = message.data.inventory;
return { success: true };
}
async downloadRequestHandler(message) {
console.log("Downloading inventory for", message.data.player_name)
console.log("Downloading inventory for", message.data.player_name);
return {
player_name: message.data.player_name,
inventory: this.inventories[message.data.player_name]
}
inventory: this.inventories[message.data.player_name],
};
}
async onShutdown() {
clearInterval(this.autosaveId);
await saveDatabase(this.master.config, this.inventories, this.logger);
}
async databaseStatsRequestHandler(message) {
let inventories = Object.keys(this.inventories)
.map(name => ({
name,
length: this.inventories[name].length
length: this.inventories[name].length,
}))
.sort((a, b) => a.stringified.length - b.stringified.length)
.sort((a, b) => a.stringified.length - b.stringified.length);
return {
database_size: inventories.map(x => x.length).reduce((a, b) => b - a, 0),
database_entries: inventories.length,
@@ -69,7 +73,7 @@ class MasterPlugin extends libPlugin.BaseMasterPlugin {
name: inventories[0].name,
size: inventories[0].length,
},
}
};
}
}
+25 -25
View File
@@ -7,37 +7,37 @@ import info from "../info";
import "./index.css";
function InventoryPage() {
let control = useContext(ControlContext);
let control = useContext(ControlContext);
let [statsData, updateStatsData] = useState()
let [statsData, updateStatsData] = useState();
useEffect(() => {
(async () => {
// Get statistics
updateStatsData(await info.messages.databaseStats.send(control, {}))
})()
}, [])
useEffect(() => {
(async () => {
// Get statistics
updateStatsData(await info.messages.databaseStats.send(control, {}));
})();
}, []);
return <PageLayout nav={[{ name: "Inventory sync" }]}>
<h2>Inventory sync</h2>
{statsData && <>
<p>Database size: {Math.round(statsData.database_size / 1000)}kB</p>
<p>Database entries: {statsData.database_entries}</p>
<p>Largest entry is {statsData.largest_entry.name} with {(statsData.largest_entry.size / 1000)}kB</p>
</>}
</PageLayout>;
return <PageLayout nav={[{ name: "Inventory sync" }]}>
<h2>Inventory sync</h2>
{statsData && <>
<p>Database size: {Math.round(statsData.database_size / 1000)}kB</p>
<p>Database entries: {statsData.database_entries}</p>
<p>Largest entry is {statsData.largest_entry.name} with {(statsData.largest_entry.size / 1000)}kB</p>
</>}
</PageLayout>;
}
export class WebPlugin extends libPlugin.BaseWebPlugin {
async init() {
this.pages = [
{ path: "/inventory", sidebarName: "Inventory sync", content: <InventoryPage /> },
];
}
async init() {
this.pages = [
{ path: "/inventory", sidebarName: "Inventory sync", content: <InventoryPage /> },
];
}
onMasterConnectionEvent(event) {
if (event === "connect") {
onMasterConnectionEvent(event) {
if (event === "connect") {
}
}
}
}
}