homebridge-config-ui-x 4.44.2-test.2 → 4.44.2-test.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/app.module.js +2 -0
  3. package/dist/app.module.js.map +1 -1
  4. package/dist/core/homebridge-ipc/homebridge-ipc.service.d.ts +2 -4
  5. package/dist/core/homebridge-ipc/homebridge-ipc.service.js +8 -19
  6. package/dist/core/homebridge-ipc/homebridge-ipc.service.js.map +1 -1
  7. package/dist/main.js +318 -68
  8. package/dist/modules/child-bridges/child-bridges.gateway.d.ts +17 -0
  9. package/dist/modules/child-bridges/child-bridges.gateway.js +99 -0
  10. package/dist/modules/child-bridges/child-bridges.gateway.js.map +1 -0
  11. package/dist/modules/child-bridges/child-bridges.module.d.ts +2 -0
  12. package/dist/modules/child-bridges/child-bridges.module.js +39 -0
  13. package/dist/modules/child-bridges/child-bridges.module.js.map +1 -0
  14. package/dist/modules/child-bridges/child-bridges.service.d.ts +25 -0
  15. package/dist/modules/child-bridges/child-bridges.service.js +90 -0
  16. package/dist/modules/child-bridges/child-bridges.service.js.map +1 -0
  17. package/dist/modules/server/server.controller.d.ts +11 -3
  18. package/dist/modules/server/server.controller.js +37 -4
  19. package/dist/modules/server/server.controller.js.map +1 -1
  20. package/dist/modules/server/server.module.js +5 -3
  21. package/dist/modules/server/server.module.js.map +1 -1
  22. package/dist/modules/server/server.service.d.ts +0 -3
  23. package/dist/modules/server/server.service.js +0 -14
  24. package/dist/modules/server/server.service.js.map +1 -1
  25. package/dist/modules/status/status.controller.d.ts +3 -1
  26. package/dist/modules/status/status.controller.js +6 -3
  27. package/dist/modules/status/status.controller.js.map +1 -1
  28. package/dist/modules/status/status.gateway.d.ts +3 -1
  29. package/dist/modules/status/status.gateway.js +7 -4
  30. package/dist/modules/status/status.gateway.js.map +1 -1
  31. package/dist/modules/status/status.module.js +4 -2
  32. package/dist/modules/status/status.module.js.map +1 -1
  33. package/dist/modules/status/status.service.d.ts +0 -2
  34. package/dist/modules/status/status.service.js +0 -19
  35. package/dist/modules/status/status.service.js.map +1 -1
  36. package/package.json +1 -2
  37. package/public/135.c05ed861707f286a.js +1 -0
  38. package/public/433.6afa01cf820c2b3c.js +1 -0
  39. package/public/index.html +1 -1
  40. package/public/main.33f14ceed3b72b8f.js +1 -0
  41. package/public/{runtime.6de2d37dcefdbb14.js → runtime.d3b82293b438d9de.js} +1 -1
  42. package/public/135.52d0d29e6aa55dd2.js +0 -1
  43. package/public/433.a6fcfba07c8a6819.js +0 -1
  44. package/public/main.6210cf0d23d7d81f.js +0 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,16 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. This project uses [Semantic Versioning](https://semver.org/).
4
4
 
5
+ ## NEXT
6
+
7
+ ### Notable Changes
8
+
9
+ * **Plugins:** Child bridge status and controls now appear on the plugin page
10
+
11
+ ### Other changes
12
+
13
+ * **Plugins:** Prevent closing the modal when a plugin install or update is in progress
14
+
5
15
  ## 4.44.1 (2022-05-14)
6
16
 
7
17
  ### Bug Fixes
@@ -25,6 +25,7 @@ const server_module_1 = require("./modules/server/server.module");
25
25
  const platform_tools_module_1 = require("./modules/platform-tools/platform-tools.module");
26
26
  const backup_module_1 = require("./modules/backup/backup.module");
27
27
  const setup_wizard_module_1 = require("./modules/setup-wizard/setup-wizard.module");
28
+ const child_bridges_module_1 = require("./modules/child-bridges/child-bridges.module");
28
29
  let AppModule = class AppModule {
29
30
  };
30
31
  AppModule = __decorate([
@@ -41,6 +42,7 @@ AppModule = __decorate([
41
42
  accessories_module_1.AccessoriesModule,
42
43
  config_editor_module_1.ConfigEditorModule,
43
44
  platform_tools_module_1.PlatformToolsModule,
45
+ child_bridges_module_1.ChildBridgesModule,
44
46
  backup_module_1.BackupModule,
45
47
  log_module_1.LogModule,
46
48
  setup_wizard_module_1.SetupWizardModule,
@@ -1 +1 @@
1
- {"version":3,"file":"app.module.js","sourceRoot":"","sources":["../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,+DAA2D;AAC3D,qDAAiD;AACjD,+CAA2C;AAC3C,+CAA2C;AAC3C,+DAA2D;AAC3D,qEAAiE;AACjE,0FAAqF;AACrF,+DAA2D;AAC3D,kEAA8D;AAC9D,yDAAqD;AACrD,iFAA6E;AAC7E,uFAAkF;AAClF,yDAAqD;AACrD,kEAA8D;AAC9D,0FAAqF;AACrF,kEAA8D;AAC9D,oFAA+E;AA2B/E,IAAa,SAAS,GAAtB,MAAa,SAAS;CAAI,CAAA;AAAb,SAAS;IAzBrB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,4BAAY;YACZ,4BAAY;YACZ,wBAAU;YACV,4BAAY;YACZ,8BAAa;YACb,2CAAmB;YACnB,0BAAW;YACX,4BAAY;YACZ,sCAAiB;YACjB,yCAAkB;YAClB,2CAAmB;YACnB,4BAAY;YACZ,sBAAS;YACT,uCAAiB;SAClB;QACD,WAAW,EAAE;YACX,8BAAa;SACd;QACD,SAAS,EAAE;YACT,wBAAU;YACV,wBAAU;SACX;KACF,CAAC;GACW,SAAS,CAAI;AAAb,8BAAS"}
1
+ {"version":3,"file":"app.module.js","sourceRoot":"","sources":["../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,+DAA2D;AAC3D,qDAAiD;AACjD,+CAA2C;AAC3C,+CAA2C;AAC3C,+DAA2D;AAC3D,qEAAiE;AACjE,0FAAqF;AACrF,+DAA2D;AAC3D,kEAA8D;AAC9D,yDAAqD;AACrD,iFAA6E;AAC7E,uFAAkF;AAClF,yDAAqD;AACrD,kEAA8D;AAC9D,0FAAqF;AACrF,kEAA8D;AAC9D,oFAA+E;AAC/E,uFAAkF;AA4BlF,IAAa,SAAS,GAAtB,MAAa,SAAS;CAAI,CAAA;AAAb,SAAS;IA1BrB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,4BAAY;YACZ,4BAAY;YACZ,wBAAU;YACV,4BAAY;YACZ,8BAAa;YACb,2CAAmB;YACnB,0BAAW;YACX,4BAAY;YACZ,sCAAiB;YACjB,yCAAkB;YAClB,2CAAmB;YACnB,yCAAkB;YAClB,4BAAY;YACZ,sBAAS;YACT,uCAAiB;SAClB;QACD,WAAW,EAAE;YACX,8BAAa;SACd;QACD,SAAS,EAAE;YACT,wBAAU;YACV,wBAAU;SACX;KACF,CAAC;GACW,SAAS,CAAI;AAAb,8BAAS"}
@@ -11,11 +11,9 @@ export declare class HomebridgeIpcService extends EventEmitter {
11
11
  constructor(logger: Logger, configService: ConfigService);
12
12
  setHomebridgeProcess(process: ChildProcess): void;
13
13
  setHomebridgeVersion(version: string): void;
14
- private sendMessage;
15
- private requestResponse;
14
+ requestResponse(requestEvent: string, responseEvent: string): Promise<unknown>;
15
+ sendMessage(type: string, data?: unknown): void;
16
16
  restartHomebridge(): void;
17
17
  restartAndWaitForClose(): Promise<boolean>;
18
18
  killHomebridge(): Promise<void>;
19
- restartChildBridge(username: string): Promise<void>;
20
- getChildBridgeMetadata(): Promise<unknown>;
21
19
  }
@@ -42,14 +42,6 @@ let HomebridgeIpcService = class HomebridgeIpcService extends events_1.EventEmit
42
42
  setHomebridgeVersion(version) {
43
43
  this.configService.homebridgeVersion = version;
44
44
  }
45
- sendMessage(type, data) {
46
- if (this.homebridge && this.homebridge.connected) {
47
- this.homebridge.send({ id: type, data: data });
48
- }
49
- else {
50
- throw new common_1.ServiceUnavailableException('The Homebridge Service Is Unavailable');
51
- }
52
- }
53
45
  async requestResponse(requestEvent, responseEvent) {
54
46
  return new Promise((resolve, reject) => {
55
47
  const actionTimeout = setTimeout(() => {
@@ -64,6 +56,14 @@ let HomebridgeIpcService = class HomebridgeIpcService extends events_1.EventEmit
64
56
  this.sendMessage(requestEvent);
65
57
  });
66
58
  }
59
+ sendMessage(type, data) {
60
+ if (this.homebridge && this.homebridge.connected) {
61
+ this.homebridge.send({ id: type, data: data });
62
+ }
63
+ else {
64
+ throw new common_1.ServiceUnavailableException('The Homebridge Service Is Unavailable');
65
+ }
66
+ }
67
67
  restartHomebridge() {
68
68
  if (this.homebridge) {
69
69
  this.logger.log('Sending SIGTERM to Homebridge');
@@ -99,17 +99,6 @@ let HomebridgeIpcService = class HomebridgeIpcService extends events_1.EventEmit
99
99
  this.homebridge.kill('SIGKILL');
100
100
  }
101
101
  }
102
- async restartChildBridge(username) {
103
- await this.sendMessage('restartChildBridge', username);
104
- }
105
- async getChildBridgeMetadata() {
106
- try {
107
- return await this.requestResponse('childBridgeMetadataRequest', 'childBridgeMetadataResponse');
108
- }
109
- catch (e) {
110
- return [];
111
- }
112
- }
113
102
  };
114
103
  HomebridgeIpcService = __decorate([
115
104
  (0, common_1.Injectable)(),
@@ -1 +1 @@
1
- {"version":3,"file":"homebridge-ipc.service.js","sourceRoot":"","sources":["../../../src/core/homebridge-ipc/homebridge-ipc.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"homebridge-ipc.service.js","sourceRoot":"","sources":["../../../src/core/homebridge-ipc/homebridge-ipc.service.ts"],"names":[],"mappings":"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"}
package/dist/main.js CHANGED
@@ -69362,6 +69362,7 @@ const server_module_1 = __webpack_require__(566);
69362
69362
  const platform_tools_module_1 = __webpack_require__(7982);
69363
69363
  const backup_module_1 = __webpack_require__(5275);
69364
69364
  const setup_wizard_module_1 = __webpack_require__(2294);
69365
+ const child_bridges_module_1 = __webpack_require__(9779);
69365
69366
  let AppModule = class AppModule {
69366
69367
  };
69367
69368
  AppModule = __decorate([
@@ -69378,6 +69379,7 @@ AppModule = __decorate([
69378
69379
  accessories_module_1.AccessoriesModule,
69379
69380
  config_editor_module_1.ConfigEditorModule,
69380
69381
  platform_tools_module_1.PlatformToolsModule,
69382
+ child_bridges_module_1.ChildBridgesModule,
69381
69383
  backup_module_1.BackupModule,
69382
69384
  log_module_1.LogModule,
69383
69385
  setup_wizard_module_1.SetupWizardModule,
@@ -70556,14 +70558,6 @@ let HomebridgeIpcService = class HomebridgeIpcService extends events_1.EventEmit
70556
70558
  setHomebridgeVersion(version) {
70557
70559
  this.configService.homebridgeVersion = version;
70558
70560
  }
70559
- sendMessage(type, data) {
70560
- if (this.homebridge && this.homebridge.connected) {
70561
- this.homebridge.send({ id: type, data: data });
70562
- }
70563
- else {
70564
- throw new common_1.ServiceUnavailableException('The Homebridge Service Is Unavailable');
70565
- }
70566
- }
70567
70561
  async requestResponse(requestEvent, responseEvent) {
70568
70562
  return new Promise((resolve, reject) => {
70569
70563
  const actionTimeout = setTimeout(() => {
@@ -70578,6 +70572,14 @@ let HomebridgeIpcService = class HomebridgeIpcService extends events_1.EventEmit
70578
70572
  this.sendMessage(requestEvent);
70579
70573
  });
70580
70574
  }
70575
+ sendMessage(type, data) {
70576
+ if (this.homebridge && this.homebridge.connected) {
70577
+ this.homebridge.send({ id: type, data: data });
70578
+ }
70579
+ else {
70580
+ throw new common_1.ServiceUnavailableException('The Homebridge Service Is Unavailable');
70581
+ }
70582
+ }
70581
70583
  restartHomebridge() {
70582
70584
  if (this.homebridge) {
70583
70585
  this.logger.log('Sending SIGTERM to Homebridge');
@@ -70613,17 +70615,6 @@ let HomebridgeIpcService = class HomebridgeIpcService extends events_1.EventEmit
70613
70615
  this.homebridge.kill('SIGKILL');
70614
70616
  }
70615
70617
  }
70616
- async restartChildBridge(username) {
70617
- await this.sendMessage('restartChildBridge', username);
70618
- }
70619
- async getChildBridgeMetadata() {
70620
- try {
70621
- return await this.requestResponse('childBridgeMetadataRequest', 'childBridgeMetadataResponse');
70622
- }
70623
- catch (e) {
70624
- return [];
70625
- }
70626
- }
70627
70618
  };
70628
70619
  HomebridgeIpcService = __decorate([
70629
70620
  (0, common_1.Injectable)(),
@@ -72228,6 +72219,255 @@ BackupService = __decorate([
72228
72219
  exports.BackupService = BackupService;
72229
72220
 
72230
72221
 
72222
+ /***/ }),
72223
+
72224
+ /***/ 5845:
72225
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
72226
+
72227
+ "use strict";
72228
+
72229
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
72230
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
72231
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
72232
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
72233
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
72234
+ };
72235
+ var __metadata = (this && this.__metadata) || function (k, v) {
72236
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
72237
+ };
72238
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
72239
+ exports.ChildBridgesGateway = void 0;
72240
+ const common_1 = __webpack_require__(6481);
72241
+ const websockets_1 = __webpack_require__(6279);
72242
+ const ws_admin_guard_1 = __webpack_require__(3549);
72243
+ const child_bridges_service_1 = __webpack_require__(3129);
72244
+ let ChildBridgesGateway = class ChildBridgesGateway {
72245
+ constructor(childBridgesService) {
72246
+ this.childBridgesService = childBridgesService;
72247
+ }
72248
+ async getChildBridges(client, payload) {
72249
+ try {
72250
+ return await this.childBridgesService.getChildBridges();
72251
+ }
72252
+ catch (e) {
72253
+ return new websockets_1.WsException(e.message);
72254
+ }
72255
+ }
72256
+ async watchChildBridgeStatus(client, payload) {
72257
+ this.childBridgesService.watchChildBridgeStatus(client);
72258
+ }
72259
+ async restartChildBridge(client, payload) {
72260
+ console.log('restart-child-bridge', payload);
72261
+ try {
72262
+ return await this.childBridgesService.restartChildBridge(payload);
72263
+ }
72264
+ catch (e) {
72265
+ return new websockets_1.WsException(e.message);
72266
+ }
72267
+ }
72268
+ async stopChildBridge(client, payload) {
72269
+ try {
72270
+ return await this.childBridgesService.stopChildBridge(payload);
72271
+ }
72272
+ catch (e) {
72273
+ return new websockets_1.WsException(e.message);
72274
+ }
72275
+ }
72276
+ async startChildBridge(client, payload) {
72277
+ try {
72278
+ return await this.childBridgesService.startChildBridge(payload);
72279
+ }
72280
+ catch (e) {
72281
+ return new websockets_1.WsException(e.message);
72282
+ }
72283
+ }
72284
+ };
72285
+ __decorate([
72286
+ (0, websockets_1.SubscribeMessage)('get-homebridge-child-bridge-status'),
72287
+ __metadata("design:type", Function),
72288
+ __metadata("design:paramtypes", [Object, Object]),
72289
+ __metadata("design:returntype", Promise)
72290
+ ], ChildBridgesGateway.prototype, "getChildBridges", null);
72291
+ __decorate([
72292
+ (0, websockets_1.SubscribeMessage)('monitor-child-bridge-status'),
72293
+ __metadata("design:type", Function),
72294
+ __metadata("design:paramtypes", [Object, Object]),
72295
+ __metadata("design:returntype", Promise)
72296
+ ], ChildBridgesGateway.prototype, "watchChildBridgeStatus", null);
72297
+ __decorate([
72298
+ (0, websockets_1.SubscribeMessage)('restart-child-bridge'),
72299
+ __metadata("design:type", Function),
72300
+ __metadata("design:paramtypes", [Object, Object]),
72301
+ __metadata("design:returntype", Promise)
72302
+ ], ChildBridgesGateway.prototype, "restartChildBridge", null);
72303
+ __decorate([
72304
+ (0, websockets_1.SubscribeMessage)('stop-child-bridge'),
72305
+ __metadata("design:type", Function),
72306
+ __metadata("design:paramtypes", [Object, Object]),
72307
+ __metadata("design:returntype", Promise)
72308
+ ], ChildBridgesGateway.prototype, "stopChildBridge", null);
72309
+ __decorate([
72310
+ (0, websockets_1.SubscribeMessage)('start-child-bridge'),
72311
+ __metadata("design:type", Function),
72312
+ __metadata("design:paramtypes", [Object, Object]),
72313
+ __metadata("design:returntype", Promise)
72314
+ ], ChildBridgesGateway.prototype, "startChildBridge", null);
72315
+ ChildBridgesGateway = __decorate([
72316
+ (0, common_1.UseGuards)(ws_admin_guard_1.WsAdminGuard),
72317
+ (0, websockets_1.WebSocketGateway)({
72318
+ namespace: '/child-bridges', allowEIO3: true, cors: {
72319
+ origin: ['http://localhost:8080', 'http://localhost:4200'],
72320
+ credentials: true
72321
+ }
72322
+ }),
72323
+ __metadata("design:paramtypes", [child_bridges_service_1.ChildBridgesService])
72324
+ ], ChildBridgesGateway);
72325
+ exports.ChildBridgesGateway = ChildBridgesGateway;
72326
+
72327
+
72328
+ /***/ }),
72329
+
72330
+ /***/ 9779:
72331
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
72332
+
72333
+ "use strict";
72334
+
72335
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
72336
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
72337
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
72338
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
72339
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
72340
+ };
72341
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
72342
+ exports.ChildBridgesModule = void 0;
72343
+ const common_1 = __webpack_require__(6481);
72344
+ const passport_1 = __webpack_require__(4340);
72345
+ const logger_module_1 = __webpack_require__(5112);
72346
+ const config_module_1 = __webpack_require__(580);
72347
+ const homebridge_ipc_module_1 = __webpack_require__(4515);
72348
+ const accessories_module_1 = __webpack_require__(2288);
72349
+ const child_bridges_gateway_1 = __webpack_require__(5845);
72350
+ const child_bridges_service_1 = __webpack_require__(3129);
72351
+ let ChildBridgesModule = class ChildBridgesModule {
72352
+ };
72353
+ ChildBridgesModule = __decorate([
72354
+ (0, common_1.Module)({
72355
+ imports: [
72356
+ passport_1.PassportModule.register({ defaultStrategy: 'jwt' }),
72357
+ logger_module_1.LoggerModule,
72358
+ config_module_1.ConfigModule,
72359
+ accessories_module_1.AccessoriesModule,
72360
+ homebridge_ipc_module_1.HomebridgeIpcModule,
72361
+ ],
72362
+ providers: [
72363
+ child_bridges_service_1.ChildBridgesService,
72364
+ child_bridges_gateway_1.ChildBridgesGateway,
72365
+ ],
72366
+ exports: [
72367
+ child_bridges_service_1.ChildBridgesService,
72368
+ ]
72369
+ })
72370
+ ], ChildBridgesModule);
72371
+ exports.ChildBridgesModule = ChildBridgesModule;
72372
+
72373
+
72374
+ /***/ }),
72375
+
72376
+ /***/ 3129:
72377
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
72378
+
72379
+ "use strict";
72380
+
72381
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
72382
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
72383
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
72384
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
72385
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
72386
+ };
72387
+ var __metadata = (this && this.__metadata) || function (k, v) {
72388
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
72389
+ };
72390
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
72391
+ exports.ChildBridgesService = void 0;
72392
+ const common_1 = __webpack_require__(6481);
72393
+ const semver = __webpack_require__(912);
72394
+ const logger_service_1 = __webpack_require__(7261);
72395
+ const config_service_1 = __webpack_require__(1924);
72396
+ const homebridge_ipc_service_1 = __webpack_require__(825);
72397
+ const accessories_service_1 = __webpack_require__(7465);
72398
+ let ChildBridgesService = class ChildBridgesService {
72399
+ constructor(logger, configService, homebridgeIpcService, accessoriesService) {
72400
+ this.logger = logger;
72401
+ this.configService = configService;
72402
+ this.homebridgeIpcService = homebridgeIpcService;
72403
+ this.accessoriesService = accessoriesService;
72404
+ }
72405
+ async getChildBridges() {
72406
+ if (!this.configService.serviceMode) {
72407
+ throw new common_1.BadRequestException('This command is only available in service mode');
72408
+ }
72409
+ try {
72410
+ return await this.homebridgeIpcService.requestResponse('childBridgeMetadataRequest', 'childBridgeMetadataResponse');
72411
+ }
72412
+ catch (e) {
72413
+ return [];
72414
+ }
72415
+ }
72416
+ async watchChildBridgeStatus(client) {
72417
+ const listener = (data) => {
72418
+ client.emit('child-bridge-status-update', data);
72419
+ };
72420
+ this.homebridgeIpcService.on('childBridgeStatusUpdate', listener);
72421
+ const onEnd = () => {
72422
+ client.removeAllListeners('end');
72423
+ client.removeAllListeners('disconnect');
72424
+ this.homebridgeIpcService.removeListener('childBridgeStatusUpdate', listener);
72425
+ };
72426
+ client.on('end', onEnd.bind(this));
72427
+ client.on('disconnect', onEnd.bind(this));
72428
+ }
72429
+ stopStartRestartChildBridge(event, deviceId) {
72430
+ if (['startChildBridge', 'stopChildBridge'].includes(event)) {
72431
+ if (!semver.satisfies(this.configService.homebridgeVersion, '>=1.5.0-beta.0', { includePrerelease: true })) {
72432
+ this.logger.error('The stop child bridge requires Homebridge v1.5.0 or later');
72433
+ throw new common_1.BadRequestException('This command is only available for Homebridge v1.5.0 or later');
72434
+ }
72435
+ }
72436
+ if (!this.configService.serviceMode) {
72437
+ this.logger.error('The restart child bridge command is only available in service mode');
72438
+ throw new common_1.BadRequestException('This command is only available in service mode');
72439
+ }
72440
+ if (deviceId.length === 12) {
72441
+ deviceId = deviceId.match(/.{1,2}/g).join(':');
72442
+ }
72443
+ this.homebridgeIpcService.sendMessage(event, deviceId);
72444
+ setTimeout(() => {
72445
+ this.accessoriesService.resetInstancePool();
72446
+ }, 5000);
72447
+ return {
72448
+ ok: true
72449
+ };
72450
+ }
72451
+ restartChildBridge(deviceId) {
72452
+ return this.stopStartRestartChildBridge('restartChildBridge', deviceId);
72453
+ }
72454
+ stopChildBridge(deviceId) {
72455
+ return this.stopStartRestartChildBridge('stopChildBridge', deviceId);
72456
+ }
72457
+ startChildBridge(deviceId) {
72458
+ return this.stopStartRestartChildBridge('restartChildBridge', deviceId);
72459
+ }
72460
+ };
72461
+ ChildBridgesService = __decorate([
72462
+ (0, common_1.Injectable)(),
72463
+ __metadata("design:paramtypes", [logger_service_1.Logger,
72464
+ config_service_1.ConfigService,
72465
+ homebridge_ipc_service_1.HomebridgeIpcService,
72466
+ accessories_service_1.AccessoriesService])
72467
+ ], ChildBridgesService);
72468
+ exports.ChildBridgesService = ChildBridgesService;
72469
+
72470
+
72231
72471
  /***/ }),
72232
72472
 
72233
72473
  /***/ 2595:
@@ -75830,18 +76070,26 @@ exports.ServerController = void 0;
75830
76070
  const common_1 = __webpack_require__(6481);
75831
76071
  const passport_1 = __webpack_require__(4340);
75832
76072
  const swagger_1 = __webpack_require__(2519);
75833
- const server_service_1 = __webpack_require__(2216);
75834
76073
  const admin_guard_1 = __webpack_require__(3626);
76074
+ const child_bridges_service_1 = __webpack_require__(3129);
76075
+ const server_service_1 = __webpack_require__(2216);
75835
76076
  const server_dto_1 = __webpack_require__(3749);
75836
76077
  let ServerController = class ServerController {
75837
- constructor(serverService) {
76078
+ constructor(serverService, childBridgesService) {
75838
76079
  this.serverService = serverService;
76080
+ this.childBridgesService = childBridgesService;
75839
76081
  }
75840
76082
  restartServer() {
75841
76083
  return this.serverService.restartServer();
75842
76084
  }
75843
76085
  restartChildBridge(deviceId) {
75844
- return this.serverService.restartChildBridge(deviceId);
76086
+ return this.childBridgesService.restartChildBridge(deviceId);
76087
+ }
76088
+ stopChildBridge(deviceId) {
76089
+ return this.childBridgesService.stopChildBridge(deviceId);
76090
+ }
76091
+ startChildBridge(deviceId) {
76092
+ return this.childBridgesService.startChildBridge(deviceId);
75845
76093
  }
75846
76094
  getBridgePairingInformation() {
75847
76095
  return this.serverService.getBridgePairingInformation();
@@ -75908,6 +76156,30 @@ __decorate([
75908
76156
  __metadata("design:paramtypes", [String]),
75909
76157
  __metadata("design:returntype", void 0)
75910
76158
  ], ServerController.prototype, "restartChildBridge", null);
76159
+ __decorate([
76160
+ (0, common_1.UseGuards)(admin_guard_1.AdminGuard),
76161
+ (0, common_1.Put)('/stop/:deviceId'),
76162
+ (0, swagger_1.ApiOperation)({
76163
+ summary: 'Stop a child bridge instance.',
76164
+ description: 'This method is only supported on setups running hb-service.'
76165
+ }),
76166
+ __param(0, (0, common_1.Param)('deviceId')),
76167
+ __metadata("design:type", Function),
76168
+ __metadata("design:paramtypes", [String]),
76169
+ __metadata("design:returntype", void 0)
76170
+ ], ServerController.prototype, "stopChildBridge", null);
76171
+ __decorate([
76172
+ (0, common_1.UseGuards)(admin_guard_1.AdminGuard),
76173
+ (0, common_1.Put)('/start/:deviceId'),
76174
+ (0, swagger_1.ApiOperation)({
76175
+ summary: 'Start a child bridge instance.',
76176
+ description: 'This method is only supported on setups running hb-service.'
76177
+ }),
76178
+ __param(0, (0, common_1.Param)('deviceId')),
76179
+ __metadata("design:type", Function),
76180
+ __metadata("design:paramtypes", [String]),
76181
+ __metadata("design:returntype", void 0)
76182
+ ], ServerController.prototype, "startChildBridge", null);
75911
76183
  __decorate([
75912
76184
  (0, common_1.Get)('/pairing'),
75913
76185
  (0, swagger_1.ApiOperation)({ summary: 'Get the Homebridge HomeKit pairing information and status.' }),
@@ -76043,7 +76315,8 @@ ServerController = __decorate([
76043
76315
  (0, swagger_1.ApiBearerAuth)(),
76044
76316
  (0, common_1.UseGuards)((0, passport_1.AuthGuard)()),
76045
76317
  (0, common_1.Controller)('server'),
76046
- __metadata("design:paramtypes", [server_service_1.ServerService])
76318
+ __metadata("design:paramtypes", [server_service_1.ServerService,
76319
+ child_bridges_service_1.ChildBridgesService])
76047
76320
  ], ServerController);
76048
76321
  exports.ServerController = ServerController;
76049
76322
 
@@ -76107,12 +76380,13 @@ exports.ServerModule = void 0;
76107
76380
  const common_1 = __webpack_require__(6481);
76108
76381
  const passport_1 = __webpack_require__(4340);
76109
76382
  const config_module_1 = __webpack_require__(580);
76110
- const server_service_1 = __webpack_require__(2216);
76111
- const server_controller_1 = __webpack_require__(3792);
76112
76383
  const logger_module_1 = __webpack_require__(5112);
76384
+ const homebridge_ipc_module_1 = __webpack_require__(4515);
76113
76385
  const config_editor_module_1 = __webpack_require__(8110);
76386
+ const child_bridges_module_1 = __webpack_require__(9779);
76114
76387
  const accessories_module_1 = __webpack_require__(2288);
76115
- const homebridge_ipc_module_1 = __webpack_require__(4515);
76388
+ const server_service_1 = __webpack_require__(2216);
76389
+ const server_controller_1 = __webpack_require__(3792);
76116
76390
  let ServerModule = class ServerModule {
76117
76391
  };
76118
76392
  ServerModule = __decorate([
@@ -76123,6 +76397,7 @@ ServerModule = __decorate([
76123
76397
  logger_module_1.LoggerModule,
76124
76398
  config_editor_module_1.ConfigEditorModule,
76125
76399
  accessories_module_1.AccessoriesModule,
76400
+ child_bridges_module_1.ChildBridgesModule,
76126
76401
  homebridge_ipc_module_1.HomebridgeIpcModule,
76127
76402
  ],
76128
76403
  providers: [
@@ -76341,20 +76616,6 @@ let ServerService = class ServerService {
76341
76616
  }
76342
76617
  return { ok: true };
76343
76618
  }
76344
- async restartChildBridge(deviceId) {
76345
- if (!this.configService.serviceMode) {
76346
- this.logger.error('The restart child bridge command is only available in service mode');
76347
- throw new common_1.BadRequestException('This command is only available in service mode');
76348
- }
76349
- if (deviceId.length === 12) {
76350
- deviceId = deviceId.match(/.{1,2}/g).join(':');
76351
- }
76352
- await this.homebridgeIpcService.restartChildBridge(deviceId);
76353
- this.accessoriesService.resetInstancePool();
76354
- return {
76355
- ok: true
76356
- };
76357
- }
76358
76619
  async generateQrCode() {
76359
76620
  const setupCode = await this.getSetupCode();
76360
76621
  if (!setupCode) {
@@ -76659,9 +76920,11 @@ const common_1 = __webpack_require__(6481);
76659
76920
  const passport_1 = __webpack_require__(4340);
76660
76921
  const swagger_1 = __webpack_require__(2519);
76661
76922
  const status_service_1 = __webpack_require__(4112);
76923
+ const child_bridges_service_1 = __webpack_require__(3129);
76662
76924
  let StatusController = class StatusController {
76663
- constructor(statusService) {
76925
+ constructor(statusService, childBridgesService) {
76664
76926
  this.statusService = statusService;
76927
+ this.childBridgesService = childBridgesService;
76665
76928
  }
76666
76929
  getServerCpuInfo() {
76667
76930
  return this.statusService.getServerCpuInfo();
@@ -76681,7 +76944,7 @@ let StatusController = class StatusController {
76681
76944
  };
76682
76945
  }
76683
76946
  async getChildBridges() {
76684
- return this.statusService.getChildBridges();
76947
+ return this.childBridgesService.getChildBridges();
76685
76948
  }
76686
76949
  async getHomebridgeVersion() {
76687
76950
  return this.statusService.getHomebridgeVersion();
@@ -76777,7 +77040,8 @@ StatusController = __decorate([
76777
77040
  (0, swagger_1.ApiBearerAuth)(),
76778
77041
  (0, common_1.UseGuards)((0, passport_1.AuthGuard)()),
76779
77042
  (0, common_1.Controller)('status'),
76780
- __metadata("design:paramtypes", [status_service_1.StatusService])
77043
+ __metadata("design:paramtypes", [status_service_1.StatusService,
77044
+ child_bridges_service_1.ChildBridgesService])
76781
77045
  ], StatusController);
76782
77046
  exports.StatusController = StatusController;
76783
77047
 
@@ -76805,10 +77069,12 @@ const websockets_1 = __webpack_require__(6279);
76805
77069
  const plugins_service_1 = __webpack_require__(1479);
76806
77070
  const status_service_1 = __webpack_require__(4112);
76807
77071
  const ws_guard_1 = __webpack_require__(3828);
77072
+ const child_bridges_service_1 = __webpack_require__(3129);
76808
77073
  let StatusGateway = class StatusGateway {
76809
- constructor(statusService, pluginsService) {
77074
+ constructor(statusService, pluginsService, childBridgesService) {
76810
77075
  this.statusService = statusService;
76811
77076
  this.pluginsService = pluginsService;
77077
+ this.childBridgesService = childBridgesService;
76812
77078
  }
76813
77079
  async getDashboardLayout(client, payload) {
76814
77080
  try {
@@ -76919,14 +77185,14 @@ let StatusGateway = class StatusGateway {
76919
77185
  }
76920
77186
  async getChildBridges(client, payload) {
76921
77187
  try {
76922
- return await this.statusService.getChildBridges();
77188
+ return await this.childBridgesService.getChildBridges();
76923
77189
  }
76924
77190
  catch (e) {
76925
77191
  return new websockets_1.WsException(e.message);
76926
77192
  }
76927
77193
  }
76928
77194
  async watchChildBridgeStatus(client, payload) {
76929
- this.statusService.watchChildBridgeStatus(client);
77195
+ this.childBridgesService.watchChildBridgeStatus(client);
76930
77196
  }
76931
77197
  async getRaspberryPiThrottledStatus(client, payload) {
76932
77198
  try {
@@ -77048,7 +77314,8 @@ StatusGateway = __decorate([
77048
77314
  }
77049
77315
  }),
77050
77316
  __metadata("design:paramtypes", [status_service_1.StatusService,
77051
- plugins_service_1.PluginsService])
77317
+ plugins_service_1.PluginsService,
77318
+ child_bridges_service_1.ChildBridgesService])
77052
77319
  ], StatusGateway);
77053
77320
  exports.StatusGateway = StatusGateway;
77054
77321
 
@@ -77071,12 +77338,13 @@ exports.StatusModule = void 0;
77071
77338
  const common_1 = __webpack_require__(6481);
77072
77339
  const axios_1 = __webpack_require__(4670);
77073
77340
  const passport_1 = __webpack_require__(4340);
77074
- const status_service_1 = __webpack_require__(4112);
77075
- const status_gateway_1 = __webpack_require__(9837);
77076
77341
  const plugins_module_1 = __webpack_require__(8482);
77077
77342
  const config_module_1 = __webpack_require__(580);
77078
77343
  const logger_module_1 = __webpack_require__(5112);
77079
77344
  const homebridge_ipc_module_1 = __webpack_require__(4515);
77345
+ const child_bridges_module_1 = __webpack_require__(9779);
77346
+ const status_service_1 = __webpack_require__(4112);
77347
+ const status_gateway_1 = __webpack_require__(9837);
77080
77348
  const status_controller_1 = __webpack_require__(6044);
77081
77349
  let StatusModule = class StatusModule {
77082
77350
  };
@@ -77089,6 +77357,7 @@ StatusModule = __decorate([
77089
77357
  plugins_module_1.PluginsModule,
77090
77358
  config_module_1.ConfigModule,
77091
77359
  homebridge_ipc_module_1.HomebridgeIpcModule,
77360
+ child_bridges_module_1.ChildBridgesModule,
77092
77361
  ],
77093
77362
  providers: [
77094
77363
  status_service_1.StatusService,
@@ -77340,25 +77609,6 @@ let StatusService = class StatusService {
77340
77609
  }
77341
77610
  return this.homebridgeStatus;
77342
77611
  }
77343
- async getChildBridges() {
77344
- if (!this.configService.serviceMode) {
77345
- throw new common_1.BadRequestException('This command is only available in service mode');
77346
- }
77347
- return this.homebridgeIpcService.getChildBridgeMetadata();
77348
- }
77349
- async watchChildBridgeStatus(client) {
77350
- const listener = (data) => {
77351
- client.emit('child-bridge-status-update', data);
77352
- };
77353
- this.homebridgeIpcService.on('childBridgeStatusUpdate', listener);
77354
- const onEnd = () => {
77355
- client.removeAllListeners('end');
77356
- client.removeAllListeners('disconnect');
77357
- this.homebridgeIpcService.removeListener('childBridgeStatusUpdate', listener);
77358
- };
77359
- client.on('end', onEnd.bind(this));
77360
- client.on('disconnect', onEnd.bind(this));
77361
- }
77362
77612
  async getDefaultInterface() {
77363
77613
  const cachedResult = this.statusCache.get('defaultInterface');
77364
77614
  if (cachedResult) {