summaryrefslogtreecommitdiffhomepage
path: root/gui/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'gui/src/main')
-rw-r--r--gui/src/main/daemon-rpc.ts16
-rw-r--r--gui/src/main/index.ts4
2 files changed, 17 insertions, 3 deletions
diff --git a/gui/src/main/daemon-rpc.ts b/gui/src/main/daemon-rpc.ts
index bb90d77d52..ff0c81a707 100644
--- a/gui/src/main/daemon-rpc.ts
+++ b/gui/src/main/daemon-rpc.ts
@@ -516,7 +516,7 @@ export class DaemonRpc {
accountToken,
);
- return response.toObject().devicesList;
+ return response.getDevicesList().map(convertFromDevice);
}
public async removeDevice(deviceRemoval: IDeviceRemoval): Promise<void> {
@@ -1376,16 +1376,26 @@ function convertFromDeviceEvent(deviceEvent: grpcTypes.DeviceEvent): IDeviceEven
}
function convertFromDeviceConfig(deviceConfig?: grpcTypes.DeviceConfig): DeviceConfig {
+ const device = deviceConfig?.getDevice();
return (
deviceConfig && {
accountToken: deviceConfig.getAccountToken(),
- device: deviceConfig.getDevice()?.toObject(),
+ device: device ? convertFromDevice(device) : undefined,
}
);
}
function convertFromDeviceRemoval(deviceRemoval: grpcTypes.RemoveDeviceEvent): Array<IDevice> {
- return deviceRemoval.getNewDeviceListList().map((device) => device.toObject());
+ return deviceRemoval.getNewDeviceListList().map(convertFromDevice);
+}
+
+function convertFromDevice(device: grpcTypes.Device): IDevice {
+ const asObject = device.toObject();
+
+ return {
+ ...asObject,
+ ports: asObject.portsList.map((port) => port.id),
+ };
}
function ensureExists<T>(value: T | undefined, errorMessage: string): T {
diff --git a/gui/src/main/index.ts b/gui/src/main/index.ts
index 9bb988a199..b1f7f44b8a 100644
--- a/gui/src/main/index.ts
+++ b/gui/src/main/index.ts
@@ -1312,6 +1312,10 @@ class ApplicationMain {
});
IpcMainEventChannel.account.handleUpdateData(() => this.updateAccountData());
+ IpcMainEventChannel.account.handleGetDevice(async () => {
+ const deviceConfig = await this.daemonRpc.getDevice();
+ return deviceConfig?.device;
+ });
IpcMainEventChannel.account.handleListDevices((accountToken: AccountToken) => {
return this.daemonRpc.listDevices(accountToken);
});