homebridge-config-ui-x 5.0.0-beta.1 → 5.0.0-beta.100

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 (287) hide show
  1. package/CHANGELOG.md +439 -18
  2. package/CONTRIBUTING.md +5 -4
  3. package/LICENSE +1 -1
  4. package/README.md +6 -8
  5. package/config.schema.json +55 -252
  6. package/dist/bin/fork.js +17 -7
  7. package/dist/bin/fork.js.map +1 -1
  8. package/dist/bin/hb-service.d.ts +2 -2
  9. package/dist/bin/hb-service.js +69 -58
  10. package/dist/bin/hb-service.js.map +1 -1
  11. package/dist/bin/platforms/darwin.js +2 -2
  12. package/dist/bin/platforms/darwin.js.map +1 -1
  13. package/dist/bin/platforms/win32.js +4 -2
  14. package/dist/bin/platforms/win32.js.map +1 -1
  15. package/dist/bin/standalone.js +18 -7
  16. package/dist/bin/standalone.js.map +1 -1
  17. package/dist/core/auth/auth.controller.d.ts +31 -3
  18. package/dist/core/auth/auth.controller.js.map +1 -1
  19. package/dist/core/auth/auth.module.js +1 -1
  20. package/dist/core/auth/auth.module.js.map +1 -1
  21. package/dist/core/auth/auth.service.js +10 -10
  22. package/dist/core/auth/auth.service.js.map +1 -1
  23. package/dist/core/auth/jwt.strategy.d.ts +3 -1
  24. package/dist/core/config/config.service.d.ts +46 -11
  25. package/dist/core/config/config.service.js +57 -20
  26. package/dist/core/config/config.service.js.map +1 -1
  27. package/dist/core/config/config.startup.js +2 -2
  28. package/dist/core/config/config.startup.js.map +1 -1
  29. package/dist/core/homebridge-ipc/homebridge-ipc.service.js +3 -3
  30. package/dist/core/homebridge-ipc/homebridge-ipc.service.js.map +1 -1
  31. package/dist/index.js +6 -67
  32. package/dist/index.js.map +1 -1
  33. package/dist/main.js +2 -1
  34. package/dist/main.js.map +1 -1
  35. package/dist/modules/accessories/accessories.controller.js +5 -5
  36. package/dist/modules/accessories/accessories.controller.js.map +1 -1
  37. package/dist/modules/accessories/accessories.service.js +8 -7
  38. package/dist/modules/accessories/accessories.service.js.map +1 -1
  39. package/dist/modules/backup/backup.controller.js +7 -7
  40. package/dist/modules/backup/backup.controller.js.map +1 -1
  41. package/dist/modules/backup/backup.service.js +19 -79
  42. package/dist/modules/backup/backup.service.js.map +1 -1
  43. package/dist/modules/child-bridges/child-bridges.service.js +0 -7
  44. package/dist/modules/child-bridges/child-bridges.service.js.map +1 -1
  45. package/dist/modules/config-editor/config-editor.controller.d.ts +7 -1
  46. package/dist/modules/config-editor/config-editor.controller.js +36 -8
  47. package/dist/modules/config-editor/config-editor.controller.js.map +1 -1
  48. package/dist/modules/config-editor/config-editor.service.d.ts +5 -1
  49. package/dist/modules/config-editor/config-editor.service.js +132 -69
  50. package/dist/modules/config-editor/config-editor.service.js.map +1 -1
  51. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.d.ts +1 -1
  52. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js +13 -11
  53. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js.map +1 -1
  54. package/dist/modules/log/log.gateway.d.ts +2 -1
  55. package/dist/modules/log/log.gateway.js.map +1 -1
  56. package/dist/modules/log/log.service.js +3 -3
  57. package/dist/modules/log/log.service.js.map +1 -1
  58. package/dist/modules/platform-tools/docker/docker.controller.js +3 -3
  59. package/dist/modules/platform-tools/docker/docker.controller.js.map +1 -1
  60. package/dist/modules/platform-tools/docker/docker.service.js +1 -1
  61. package/dist/modules/platform-tools/docker/docker.service.js.map +1 -1
  62. package/dist/modules/platform-tools/hb-service/hb-service.controller.js +3 -3
  63. package/dist/modules/platform-tools/hb-service/hb-service.controller.js.map +1 -1
  64. package/dist/modules/platform-tools/hb-service/hb-service.service.js +6 -6
  65. package/dist/modules/platform-tools/hb-service/hb-service.service.js.map +1 -1
  66. package/dist/modules/platform-tools/linux/linux.controller.js +2 -2
  67. package/dist/modules/platform-tools/linux/linux.controller.js.map +1 -1
  68. package/dist/modules/platform-tools/linux/linux.service.js +2 -2
  69. package/dist/modules/platform-tools/linux/linux.service.js.map +1 -1
  70. package/dist/modules/platform-tools/terminal/terminal.gateway.d.ts +2 -1
  71. package/dist/modules/platform-tools/terminal/terminal.gateway.js.map +1 -1
  72. package/dist/modules/platform-tools/terminal/terminal.service.js +2 -2
  73. package/dist/modules/platform-tools/terminal/terminal.service.js.map +1 -1
  74. package/dist/modules/plugins/plugins.controller.js +4 -4
  75. package/dist/modules/plugins/plugins.controller.js.map +1 -1
  76. package/dist/modules/plugins/plugins.service.d.ts +7 -1
  77. package/dist/modules/plugins/plugins.service.js +215 -127
  78. package/dist/modules/plugins/plugins.service.js.map +1 -1
  79. package/dist/modules/server/server.controller.d.ts +33 -3
  80. package/dist/modules/server/server.controller.js +162 -20
  81. package/dist/modules/server/server.controller.js.map +1 -1
  82. package/dist/modules/server/server.service.d.ts +35 -6
  83. package/dist/modules/server/server.service.js +265 -66
  84. package/dist/modules/server/server.service.js.map +1 -1
  85. package/dist/modules/status/status.controller.d.ts +0 -1
  86. package/dist/modules/status/status.controller.js +3 -4
  87. package/dist/modules/status/status.controller.js.map +1 -1
  88. package/dist/modules/status/status.gateway.d.ts +1 -1
  89. package/dist/modules/status/status.service.d.ts +1 -1
  90. package/dist/modules/status/status.service.js +25 -41
  91. package/dist/modules/status/status.service.js.map +1 -1
  92. package/dist/modules/users/users.controller.js +7 -7
  93. package/dist/modules/users/users.controller.js.map +1 -1
  94. package/dist/self-check.js +6 -6
  95. package/dist/self-check.js.map +1 -1
  96. package/package.json +50 -44
  97. package/public/3rdpartylicenses.txt +573 -463
  98. package/public/assets/hap-icons/airpurifier.svg +49 -16
  99. package/public/assets/hap-icons/airquality.svg +24 -13
  100. package/public/assets/hap-icons/co-sensor.svg +72 -0
  101. package/public/assets/hap-icons/co2-sensor.svg +72 -0
  102. package/public/assets/hap-icons/contactsensor-closed.svg +35 -2
  103. package/public/assets/hap-icons/contactsensor-open.svg +80 -2
  104. package/public/assets/hap-icons/door-closed.svg +32 -2
  105. package/public/assets/hap-icons/door-open.svg +48 -2
  106. package/public/assets/hap-icons/fan-off.svg +24 -13
  107. package/public/assets/hap-icons/fan-on.svg +24 -13
  108. package/public/assets/hap-icons/garagedoor.svg +24 -13
  109. package/public/assets/hap-icons/humidity.svg +24 -13
  110. package/public/assets/hap-icons/irrigation-system.svg +47 -18
  111. package/public/assets/hap-icons/leaksensor.svg +52 -2
  112. package/public/assets/hap-icons/light.svg +47 -28
  113. package/public/assets/hap-icons/lightbulb.svg +24 -13
  114. package/public/assets/hap-icons/lock-locked.svg +24 -13
  115. package/public/assets/hap-icons/lock-unlocked.svg +24 -13
  116. package/public/assets/hap-icons/motionsensor.svg +100 -2
  117. package/public/assets/hap-icons/occupancysensor.svg +97 -2
  118. package/public/assets/hap-icons/outlet.svg +24 -13
  119. package/public/assets/hap-icons/securitysystem-active.svg +102 -2
  120. package/public/assets/hap-icons/securitysystem-off.svg +68 -2
  121. package/public/assets/hap-icons/smokesensor.svg +42 -9
  122. package/public/assets/hap-icons/speaker.svg +29 -13
  123. package/public/assets/hap-icons/statelessprogrammableswitch.svg +51 -2
  124. package/public/assets/hap-icons/switch.svg +24 -13
  125. package/public/assets/hap-icons/television.svg +15 -4
  126. package/public/assets/hap-icons/temperature.svg +24 -13
  127. package/public/assets/hap-icons/unknown.svg +24 -13
  128. package/public/assets/hap-icons/valve-generic.svg +27 -16
  129. package/public/assets/hap-icons/valve-irrigation.svg +37 -21
  130. package/public/assets/hap-icons/valve-showerhead.svg +52 -0
  131. package/public/assets/hap-icons/valve-waterfaucet.svg +21 -0
  132. package/public/assets/hap-icons/window-closed.svg +85 -2
  133. package/public/assets/hap-icons/window-open.svg +136 -2
  134. package/public/assets/hap-icons/windowcovering-closed.svg +45 -49
  135. package/public/assets/hap-icons/windowcovering-open.svg +40 -44
  136. package/public/assets/homebridge-color-round.svg +36 -1
  137. package/public/assets/homebridge-logo.svg +11 -1
  138. package/public/assets/mask-icon.svg +5 -1
  139. package/public/assets/plugin-ui-utils/ui.js +41 -19
  140. package/public/assets/plugin-ui-utils/ui.js.map +1 -1
  141. package/public/chunk-2E6EOZUJ.js +1 -0
  142. package/public/chunk-2EEZAGZA.js +1 -0
  143. package/public/chunk-2G7GNBIF.js +1 -0
  144. package/public/chunk-3GEFBFMQ.js +1 -0
  145. package/public/chunk-3VYIHHCL.js +1 -0
  146. package/public/chunk-45NQ4GBG.js +1 -0
  147. package/public/chunk-4G7RRMI2.js +1 -0
  148. package/public/chunk-4L2H4MMG.js +29 -0
  149. package/public/chunk-4LX4LX6P.js +1 -0
  150. package/public/chunk-4SLRCK6B.js +2 -0
  151. package/public/chunk-53ILAFUX.js +1 -0
  152. package/public/chunk-5FYL3TBQ.js +1 -0
  153. package/public/chunk-5PN6UJOB.js +1 -0
  154. package/public/chunk-6IOCCVAH.js +1 -0
  155. package/public/chunk-7REMZHOO.js +1 -0
  156. package/public/chunk-AH6LOD34.js +1 -0
  157. package/public/chunk-ALG7CIS3.js +5 -0
  158. package/public/chunk-AQNNOWXC.js +1 -0
  159. package/public/chunk-B4X7IOGK.js +1 -0
  160. package/public/chunk-BALPGJEG.js +1 -0
  161. package/public/chunk-BIRWL4X3.js +1 -0
  162. package/public/chunk-BMCQHGMB.js +1 -0
  163. package/public/chunk-BNYXD34L.js +1 -0
  164. package/public/chunk-BRW7C4BZ.js +1 -0
  165. package/public/chunk-C6HQUAQJ.js +1 -0
  166. package/public/chunk-C6LXQBT3.js +1 -0
  167. package/public/chunk-CG7LPZUJ.js +1 -0
  168. package/public/chunk-CMZBGXBL.js +1 -0
  169. package/public/chunk-CRIZPUI6.js +8 -0
  170. package/public/chunk-DDFZVHUO.js +1 -0
  171. package/public/chunk-DQUBVCJE.js +1 -0
  172. package/public/chunk-EULZTUQA.js +1 -0
  173. package/public/chunk-F6PRUGSN.js +1 -0
  174. package/public/chunk-FD3D3FMF.js +1 -0
  175. package/public/chunk-FJJNRLA7.js +1 -0
  176. package/public/chunk-FSQ4KA4X.js +1 -0
  177. package/public/chunk-FXS7MG4Z.js +1 -0
  178. package/public/chunk-GMY5QOXR.js +7 -0
  179. package/public/chunk-HE2YZMXJ.js +1 -0
  180. package/public/chunk-HOGBMPOF.js +1 -0
  181. package/public/chunk-HOI6GB6V.js +1 -0
  182. package/public/chunk-IOWBVW62.js +2 -0
  183. package/public/chunk-LCYRJQ4W.js +1 -0
  184. package/public/chunk-M2U64RPA.js +1 -0
  185. package/public/chunk-MAXJEMB2.js +1 -0
  186. package/public/chunk-MGEQZI52.js +1 -0
  187. package/public/chunk-MTSNBCD6.js +1 -0
  188. package/public/chunk-O752QW52.js +8 -0
  189. package/public/chunk-OHSRCO5R.js +1 -0
  190. package/public/chunk-OTJCSRHZ.js +1 -0
  191. package/public/chunk-PAQIQJ5I.js +1 -0
  192. package/public/chunk-PODF4FUD.js +1 -0
  193. package/public/chunk-PYWNQR2G.js +1 -0
  194. package/public/chunk-Q5OGHYTC.js +1 -0
  195. package/public/chunk-QIH36FRX.js +1 -0
  196. package/public/chunk-QMB5XE4Y.js +1 -0
  197. package/public/chunk-R3VPSO5X.js +7 -0
  198. package/public/chunk-RGUTUTJY.js +20 -0
  199. package/public/chunk-RJAFS3B2.js +1 -0
  200. package/public/chunk-RNHMRKPJ.js +8 -0
  201. package/public/chunk-SHP2ASKV.js +5 -0
  202. package/public/chunk-SMR5XBWZ.js +1 -0
  203. package/public/chunk-T5VLECCH.js +23 -0
  204. package/public/chunk-TFSUXAYX.js +1 -0
  205. package/public/chunk-UCO62FWN.js +1 -0
  206. package/public/chunk-UTAVUGTT.js +14 -0
  207. package/public/chunk-UVOJ3BF7.js +1 -0
  208. package/public/chunk-UVQC4EUO.js +6 -0
  209. package/public/chunk-VECPBVSQ.js +1 -0
  210. package/public/{chunk-GNQUXZMN.js → chunk-VHTQTL2S.js} +1 -1
  211. package/public/chunk-VJEUBTTK.js +1 -0
  212. package/public/chunk-VLX322GM.js +1 -0
  213. package/public/chunk-VUYAK52W.js +2 -0
  214. package/public/{chunk-6QEO3BTW.js → chunk-WAA5KWIN.js} +14 -14
  215. package/public/chunk-WGYMALW2.js +1 -0
  216. package/public/chunk-WU2EPT6Y.js +1 -0
  217. package/public/chunk-WUMR3VEV.js +1 -0
  218. package/public/chunk-WZZWFCHX.js +4 -0
  219. package/public/chunk-XB7KM2X2.js +1 -0
  220. package/public/chunk-YJ2ZKKJQ.js +1 -0
  221. package/public/index.html +2 -2
  222. package/public/main-BQGRDRA6.js +1 -0
  223. package/public/media/fa-brands-400-Q3XCMWHQ.woff2 +0 -0
  224. package/public/media/{fa-brands-400-CNBICIQT.ttf → fa-brands-400-R2XQZCET.ttf} +0 -0
  225. package/public/media/fa-regular-400-QSNYFYRT.woff2 +0 -0
  226. package/public/media/{fa-regular-400-2FI4ICQD.ttf → fa-regular-400-XUOPSR7E.ttf} +0 -0
  227. package/public/media/fa-solid-900-5ZUYHGA7.woff2 +0 -0
  228. package/public/media/{fa-solid-900-XVWCCN5V.ttf → fa-solid-900-PJNKLK6W.ttf} +0 -0
  229. package/public/polyfills-GCAZ7JAV.js +2 -0
  230. package/public/prerendered-routes.json +3 -0
  231. package/public/styles-PKR3EGHP.css +1 -0
  232. package/scripts/upgrade-install-plugin.sh +1 -1
  233. package/public/chunk-3KSUXL3K.js +0 -20
  234. package/public/chunk-422JXES4.js +0 -23
  235. package/public/chunk-4R6MSI5I.js +0 -14
  236. package/public/chunk-5UYN5OWH.js +0 -1
  237. package/public/chunk-7564WJJL.js +0 -1
  238. package/public/chunk-7R6JSPNH.js +0 -1
  239. package/public/chunk-B6C32ZRK.js +0 -1
  240. package/public/chunk-B6G7GTDI.js +0 -1
  241. package/public/chunk-BQLALGZ5.js +0 -4
  242. package/public/chunk-BROUJ7PT.js +0 -1
  243. package/public/chunk-C4OONTE3.js +0 -1
  244. package/public/chunk-DOLYKWZH.js +0 -1
  245. package/public/chunk-DRWF7R4E.js +0 -1
  246. package/public/chunk-F22FMU37.js +0 -1
  247. package/public/chunk-FBP5C7VG.js +0 -1
  248. package/public/chunk-FPOZAQLC.js +0 -5
  249. package/public/chunk-IGUSDGD6.js +0 -8
  250. package/public/chunk-JM7QCDMZ.js +0 -1
  251. package/public/chunk-K3YXRBTH.js +0 -1
  252. package/public/chunk-K6TZNXIW.js +0 -1
  253. package/public/chunk-LS7T2AVU.js +0 -8
  254. package/public/chunk-NZPTOWFC.js +0 -20
  255. package/public/chunk-RID7V4NP.js +0 -1
  256. package/public/chunk-RIWBPQF3.js +0 -1
  257. package/public/chunk-S4SOWUAW.js +0 -1
  258. package/public/chunk-SJTXTMYT.js +0 -2
  259. package/public/chunk-T5QVI4H2.js +0 -1
  260. package/public/chunk-TBJQ2Y3M.js +0 -1
  261. package/public/chunk-THFLPY67.js +0 -7
  262. package/public/chunk-TS27NWVA.js +0 -20
  263. package/public/chunk-VROGSJLF.js +0 -1
  264. package/public/chunk-VVILZWTF.js +0 -1
  265. package/public/chunk-WCDFKYP6.js +0 -5
  266. package/public/chunk-WCQIGCXO.js +0 -1
  267. package/public/chunk-Z47RP4BH.js +0 -1
  268. package/public/chunk-ZEONO5N6.js +0 -1
  269. package/public/main-VTRWQ63R.js +0 -6
  270. package/public/media/01-RQ3S2L53.png +0 -0
  271. package/public/media/02-VNCG2I2A.png +0 -0
  272. package/public/media/03-HI42L4ZG.png +0 -0
  273. package/public/media/04-FJLL55LZ.png +0 -0
  274. package/public/media/05-V3EO6SPT.png +0 -0
  275. package/public/media/06-EOJZCQZN.png +0 -0
  276. package/public/media/07-KMKB5PBD.png +0 -0
  277. package/public/media/08-UQJRF6B2.png +0 -0
  278. package/public/media/09-2DJQFRHH.png +0 -0
  279. package/public/media/arrow_left-CQT7FZM7.svg +0 -4
  280. package/public/media/arrow_right-SBUDRR2G.svg +0 -4
  281. package/public/media/fa-brands-400-MDS4TU4L.woff2 +0 -0
  282. package/public/media/fa-regular-400-N56QV3DR.woff2 +0 -0
  283. package/public/media/fa-solid-900-Z3HFQTXF.woff2 +0 -0
  284. package/public/polyfills-CE2SNIQF.js +0 -2
  285. package/public/scripts-6GVLYD7F.js +0 -62
  286. package/public/styles-7ETWN6DQ.css +0 -1
  287. /package/public/assets/{bootstrap-4 → bootstrap-5}/cssframework/assets.json +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.service.js","sourceRoot":"","sources":["../../../src/modules/plugins/plugins.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugins.service.js","sourceRoot":"","sources":["../../../src/modules/plugins/plugins.service.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,13 @@
1
+ import type { FastifyRequest } from 'fastify';
2
+ import { Logger } from '../../core/logger/logger.service';
1
3
  import { ChildBridgesService } from '../child-bridges/child-bridges.service';
2
4
  import { HomebridgeMdnsSettingDto, HomebridgeNetworkInterfacesDto } from './server.dto';
3
5
  import { ServerService } from './server.service';
4
6
  export declare class ServerController {
5
7
  private serverService;
6
8
  private childBridgesService;
7
- constructor(serverService: ServerService, childBridgesService: ChildBridgesService);
9
+ private logger;
10
+ constructor(serverService: ServerService, childBridgesService: ChildBridgesService, logger: Logger);
8
11
  restartServer(): Promise<{
9
12
  ok: boolean;
10
13
  command: string;
@@ -26,17 +29,34 @@ export declare class ServerController {
26
29
  isPaired: boolean;
27
30
  }>;
28
31
  resetHomebridgeAccessory(): Promise<void>;
29
- resetCachedAccessories(): Promise<{
32
+ deleteAllCachedAccessories(): Promise<{
30
33
  ok: boolean;
31
34
  }>;
32
35
  getCachedAccessories(): Promise<any[]>;
33
36
  deleteCachedAccessory(uuid: string, cacheFile?: string): Promise<{
34
37
  ok: boolean;
35
38
  }>;
39
+ deleteCachedAccessories(accessories?: {
40
+ uuid: string;
41
+ cacheFile: string;
42
+ }[]): Promise<{
43
+ ok: boolean;
44
+ }>;
36
45
  getDevicePairings(): Promise<any[]>;
37
46
  getDevicePairingById(deviceId: string): Promise<any>;
38
- deleteDevicePairing(deviceId: string): Promise<void>;
47
+ deleteDevicePairing(deviceId: string, resetPairingInfo?: string): Promise<{
48
+ ok: boolean;
49
+ }>;
50
+ deleteDevicesPairings(bridges?: {
51
+ id: string;
52
+ resetPairingInfo: boolean;
53
+ }[]): Promise<{
54
+ ok: boolean;
55
+ }>;
39
56
  deleteDeviceAccessories(deviceId: string): Promise<void>;
57
+ deleteDevicesAccessories(bridges?: {
58
+ id: string;
59
+ }[]): Promise<void>;
40
60
  lookupUnusedPort(): Promise<{
41
61
  port: number;
42
62
  }>;
@@ -45,10 +65,20 @@ export declare class ServerController {
45
65
  setHomebridgeNetworkInterfaces(body: HomebridgeNetworkInterfacesDto): Promise<void>;
46
66
  getHomebridgeMdnsSetting(): Promise<HomebridgeMdnsSettingDto>;
47
67
  setHomebridgeMdnsSetting(body: HomebridgeMdnsSettingDto): Promise<void>;
68
+ setHomebridgeName(body: {
69
+ name: string;
70
+ }): Promise<void>;
48
71
  getHomebridgePort(): Promise<{
49
72
  port: number;
50
73
  }>;
51
74
  setHomebridgePort(body: {
52
75
  port: number;
53
76
  }): Promise<void>;
77
+ getUsablePort(): Promise<{
78
+ start?: number;
79
+ end?: number;
80
+ }>;
81
+ setUsablePorts(body: any): Promise<void>;
82
+ uploadWallpaper(req: FastifyRequest): Promise<void>;
83
+ deleteWallpaper(): Promise<void>;
54
84
  }
@@ -17,13 +17,15 @@ const common_1 = require("@nestjs/common");
17
17
  const passport_1 = require("@nestjs/passport");
18
18
  const swagger_1 = require("@nestjs/swagger");
19
19
  const admin_guard_1 = require("../../core/auth/guards/admin.guard");
20
+ const logger_service_1 = require("../../core/logger/logger.service");
20
21
  const child_bridges_service_1 = require("../child-bridges/child-bridges.service");
21
22
  const server_dto_1 = require("./server.dto");
22
23
  const server_service_1 = require("./server.service");
23
24
  let ServerController = class ServerController {
24
- constructor(serverService, childBridgesService) {
25
+ constructor(serverService, childBridgesService, logger) {
25
26
  this.serverService = serverService;
26
27
  this.childBridgesService = childBridgesService;
28
+ this.logger = logger;
27
29
  }
28
30
  restartServer() {
29
31
  return this.serverService.restartServer();
@@ -43,8 +45,8 @@ let ServerController = class ServerController {
43
45
  resetHomebridgeAccessory() {
44
46
  return this.serverService.resetHomebridgeAccessory();
45
47
  }
46
- resetCachedAccessories() {
47
- return this.serverService.resetCachedAccessories();
48
+ deleteAllCachedAccessories() {
49
+ return this.serverService.deleteAllCachedAccessories();
48
50
  }
49
51
  getCachedAccessories() {
50
52
  return this.serverService.getCachedAccessories();
@@ -52,18 +54,28 @@ let ServerController = class ServerController {
52
54
  deleteCachedAccessory(uuid, cacheFile) {
53
55
  return this.serverService.deleteCachedAccessory(uuid, cacheFile);
54
56
  }
57
+ deleteCachedAccessories(accessories) {
58
+ return this.serverService.deleteCachedAccessories(accessories);
59
+ }
55
60
  getDevicePairings() {
56
61
  return this.serverService.getDevicePairings();
57
62
  }
58
63
  getDevicePairingById(deviceId) {
59
64
  return this.serverService.getDevicePairingById(deviceId);
60
65
  }
61
- deleteDevicePairing(deviceId) {
62
- return this.serverService.deleteDevicePairing(deviceId);
66
+ deleteDevicePairing(deviceId, resetPairingInfo) {
67
+ const resetPairingInfoBool = resetPairingInfo === 'true';
68
+ return this.serverService.deleteDevicePairing(deviceId, resetPairingInfoBool);
69
+ }
70
+ deleteDevicesPairings(bridges) {
71
+ return this.serverService.deleteDevicesPairing(bridges);
63
72
  }
64
73
  deleteDeviceAccessories(deviceId) {
65
74
  return this.serverService.deleteDeviceAccessories(deviceId);
66
75
  }
76
+ deleteDevicesAccessories(bridges) {
77
+ return this.serverService.deleteDevicesAccessories(bridges);
78
+ }
67
79
  lookupUnusedPort() {
68
80
  return this.serverService.lookupUnusedPort();
69
81
  }
@@ -82,12 +94,37 @@ let ServerController = class ServerController {
82
94
  setHomebridgeMdnsSetting(body) {
83
95
  return this.serverService.setHomebridgeMdnsSetting(body);
84
96
  }
97
+ setHomebridgeName(body) {
98
+ return this.serverService.setHomebridgeName(body.name);
99
+ }
85
100
  getHomebridgePort() {
86
101
  return this.serverService.getHomebridgePort();
87
102
  }
88
103
  setHomebridgePort(body) {
89
104
  return this.serverService.setHomebridgePort(body.port);
90
105
  }
106
+ getUsablePort() {
107
+ return this.serverService.getUsablePorts();
108
+ }
109
+ setUsablePorts(body) {
110
+ return this.serverService.setUsablePorts(body);
111
+ }
112
+ async uploadWallpaper(req) {
113
+ try {
114
+ const data = await req.file();
115
+ if (data.file.truncated) {
116
+ throw new common_1.InternalServerErrorException(`Wallpaper exceeds maximum size ${globalThis.backup.maxBackupSizeText}.`);
117
+ }
118
+ await this.serverService.uploadWallpaper(data);
119
+ }
120
+ catch (err) {
121
+ this.logger.error(`Wallpaper upload failed as ${err.message}`);
122
+ throw new common_1.InternalServerErrorException(err.message);
123
+ }
124
+ }
125
+ async deleteWallpaper() {
126
+ await this.serverService.deleteWallpaper();
127
+ }
91
128
  };
92
129
  exports.ServerController = ServerController;
93
130
  __decorate([
@@ -102,7 +139,6 @@ __decorate([
102
139
  (0, common_1.Put)('/restart/:deviceId'),
103
140
  (0, swagger_1.ApiOperation)({
104
141
  summary: 'Restart a child bridge instance.',
105
- description: 'This method is only supported on setups running hb-service.',
106
142
  }),
107
143
  __param(0, (0, common_1.Param)('deviceId')),
108
144
  __metadata("design:type", Function),
@@ -114,7 +150,6 @@ __decorate([
114
150
  (0, common_1.Put)('/stop/:deviceId'),
115
151
  (0, swagger_1.ApiOperation)({
116
152
  summary: 'Stop a child bridge instance.',
117
- description: 'This method is only supported on setups running hb-service.',
118
153
  }),
119
154
  __param(0, (0, common_1.Param)('deviceId')),
120
155
  __metadata("design:type", Function),
@@ -126,7 +161,6 @@ __decorate([
126
161
  (0, common_1.Put)('/start/:deviceId'),
127
162
  (0, swagger_1.ApiOperation)({
128
163
  summary: 'Start a child bridge instance.',
129
- description: 'This method is only supported on setups running hb-service.',
130
164
  }),
131
165
  __param(0, (0, common_1.Param)('deviceId')),
132
166
  __metadata("design:type", Function),
@@ -135,14 +169,14 @@ __decorate([
135
169
  ], ServerController.prototype, "startChildBridge", null);
136
170
  __decorate([
137
171
  (0, common_1.Get)('/pairing'),
138
- (0, swagger_1.ApiOperation)({ summary: 'Get the Homebridge HomeKit pairing information and status.' }),
172
+ (0, swagger_1.ApiOperation)({ summary: 'Get the Homebridge <> HomeKit pairing information and status.' }),
139
173
  __metadata("design:type", Function),
140
174
  __metadata("design:paramtypes", []),
141
175
  __metadata("design:returntype", void 0)
142
176
  ], ServerController.prototype, "getBridgePairingInformation", null);
143
177
  __decorate([
144
178
  (0, common_1.UseGuards)(admin_guard_1.AdminGuard),
145
- (0, swagger_1.ApiOperation)({ summary: 'Unpair / Reset the Homebridge instance and remove cached accessories.' }),
179
+ (0, swagger_1.ApiOperation)({ summary: 'Reset the main Homebridge bridge, and change its username and pin. Also remove cached bridges and accessories.' }),
146
180
  (0, common_1.Put)('/reset-homebridge-accessory'),
147
181
  __metadata("design:type", Function),
148
182
  __metadata("design:paramtypes", []),
@@ -150,12 +184,14 @@ __decorate([
150
184
  ], ServerController.prototype, "resetHomebridgeAccessory", null);
151
185
  __decorate([
152
186
  (0, common_1.UseGuards)(admin_guard_1.AdminGuard),
153
- (0, swagger_1.ApiOperation)({ summary: 'Remove Homebridge cached accessories (hb-service only).' }),
187
+ (0, swagger_1.ApiOperation)({
188
+ summary: 'Remove Homebridge cached accessories.',
189
+ }),
154
190
  (0, common_1.Put)('/reset-cached-accessories'),
155
191
  __metadata("design:type", Function),
156
192
  __metadata("design:paramtypes", []),
157
193
  __metadata("design:returntype", void 0)
158
- ], ServerController.prototype, "resetCachedAccessories", null);
194
+ ], ServerController.prototype, "deleteAllCachedAccessories", null);
159
195
  __decorate([
160
196
  (0, common_1.UseGuards)(admin_guard_1.AdminGuard),
161
197
  (0, swagger_1.ApiOperation)({ summary: 'List cached Homebridge accessories.' }),
@@ -166,7 +202,9 @@ __decorate([
166
202
  ], ServerController.prototype, "getCachedAccessories", null);
167
203
  __decorate([
168
204
  (0, common_1.UseGuards)(admin_guard_1.AdminGuard),
169
- (0, swagger_1.ApiOperation)({ summary: 'Remove a single Homebridge cached accessory (hb-service only).' }),
205
+ (0, swagger_1.ApiOperation)({
206
+ summary: 'Remove a single Homebridge cached accessory.',
207
+ }),
170
208
  (0, swagger_1.ApiParam)({ name: 'uuid' }),
171
209
  (0, swagger_1.ApiQuery)({ name: 'cacheFile' }),
172
210
  (0, common_1.Delete)('/cached-accessories/:uuid'),
@@ -177,6 +215,19 @@ __decorate([
177
215
  __metadata("design:paramtypes", [String, String]),
178
216
  __metadata("design:returntype", void 0)
179
217
  ], ServerController.prototype, "deleteCachedAccessory", null);
218
+ __decorate([
219
+ (0, common_1.UseGuards)(admin_guard_1.AdminGuard),
220
+ (0, swagger_1.ApiOperation)({
221
+ summary: 'Remove multiple Homebridge cached accessories.',
222
+ }),
223
+ (0, swagger_1.ApiBody)({ description: 'Array of accessories (uuid and cacheFile) to remove from the cache', type: 'json', isArray: true }),
224
+ (0, common_1.Delete)('/cached-accessories'),
225
+ (0, common_1.HttpCode)(204),
226
+ __param(0, (0, common_1.Body)()),
227
+ __metadata("design:type", Function),
228
+ __metadata("design:paramtypes", [Array]),
229
+ __metadata("design:returntype", void 0)
230
+ ], ServerController.prototype, "deleteCachedAccessories", null);
180
231
  __decorate([
181
232
  (0, common_1.UseGuards)(admin_guard_1.AdminGuard),
182
233
  (0, swagger_1.ApiOperation)({ summary: 'List all paired accessories (main bridge, external cameras, TVs etc).' }),
@@ -187,7 +238,7 @@ __decorate([
187
238
  ], ServerController.prototype, "getDevicePairings", null);
188
239
  __decorate([
189
240
  (0, common_1.UseGuards)(admin_guard_1.AdminGuard),
190
- (0, swagger_1.ApiOperation)({ summary: 'Get a single device pairing' }),
241
+ (0, swagger_1.ApiOperation)({ summary: 'Get a single device pairing.' }),
191
242
  (0, common_1.Get)('/pairings/:deviceId'),
192
243
  __param(0, (0, common_1.Param)('deviceId')),
193
244
  __metadata("design:type", Function),
@@ -196,18 +247,37 @@ __decorate([
196
247
  ], ServerController.prototype, "getDevicePairingById", null);
197
248
  __decorate([
198
249
  (0, common_1.UseGuards)(admin_guard_1.AdminGuard),
199
- (0, swagger_1.ApiOperation)({ summary: 'Remove a single paired accessory (hb-service only).' }),
250
+ (0, swagger_1.ApiOperation)({
251
+ summary: 'Remove a single paired bridge.',
252
+ }),
200
253
  (0, swagger_1.ApiParam)({ name: 'deviceId' }),
254
+ (0, swagger_1.ApiQuery)({ name: 'resetPairingInfo', type: Boolean }),
201
255
  (0, common_1.Delete)('/pairings/:deviceId'),
202
256
  (0, common_1.HttpCode)(204),
203
257
  __param(0, (0, common_1.Param)('deviceId')),
258
+ __param(1, (0, common_1.Query)('resetPairingInfo')),
204
259
  __metadata("design:type", Function),
205
- __metadata("design:paramtypes", [String]),
260
+ __metadata("design:paramtypes", [String, String]),
206
261
  __metadata("design:returntype", void 0)
207
262
  ], ServerController.prototype, "deleteDevicePairing", null);
208
263
  __decorate([
209
264
  (0, common_1.UseGuards)(admin_guard_1.AdminGuard),
210
- (0, swagger_1.ApiOperation)({ summary: 'Remove a single bridge\'s accessory.' }),
265
+ (0, swagger_1.ApiOperation)({
266
+ summary: 'Remove multiple paired bridges.',
267
+ }),
268
+ (0, swagger_1.ApiBody)({ description: 'Array of paired bridges (id and resetPairingInfo) to remove from the cache', type: 'json', isArray: true }),
269
+ (0, common_1.Delete)('/pairings'),
270
+ (0, common_1.HttpCode)(204),
271
+ __param(0, (0, common_1.Body)()),
272
+ __metadata("design:type", Function),
273
+ __metadata("design:paramtypes", [Array]),
274
+ __metadata("design:returntype", void 0)
275
+ ], ServerController.prototype, "deleteDevicesPairings", null);
276
+ __decorate([
277
+ (0, common_1.UseGuards)(admin_guard_1.AdminGuard),
278
+ (0, swagger_1.ApiOperation)({
279
+ summary: 'Remove a paired bridge\'s cached accessories.',
280
+ }),
211
281
  (0, swagger_1.ApiParam)({ name: 'deviceId' }),
212
282
  (0, common_1.Delete)('/pairings/:deviceId/accessories'),
213
283
  (0, common_1.HttpCode)(204),
@@ -216,6 +286,19 @@ __decorate([
216
286
  __metadata("design:paramtypes", [String]),
217
287
  __metadata("design:returntype", void 0)
218
288
  ], ServerController.prototype, "deleteDeviceAccessories", null);
289
+ __decorate([
290
+ (0, common_1.UseGuards)(admin_guard_1.AdminGuard),
291
+ (0, swagger_1.ApiOperation)({
292
+ summary: 'Remove multiple paired bridges\'s cached accessories.',
293
+ }),
294
+ (0, swagger_1.ApiBody)({ description: 'Array of bridges (id) for which to remove accessories.', type: 'json', isArray: true }),
295
+ (0, common_1.Delete)('/pairings/accessories'),
296
+ (0, common_1.HttpCode)(204),
297
+ __param(0, (0, common_1.Body)()),
298
+ __metadata("design:type", Function),
299
+ __metadata("design:paramtypes", [Array]),
300
+ __metadata("design:returntype", void 0)
301
+ ], ServerController.prototype, "deleteDevicesAccessories", null);
219
302
  __decorate([
220
303
  (0, common_1.UseGuards)(admin_guard_1.AdminGuard),
221
304
  (0, swagger_1.ApiOperation)({ summary: 'Return a random, unused port.' }),
@@ -251,7 +334,7 @@ __decorate([
251
334
  ], ServerController.prototype, "setHomebridgeNetworkInterfaces", null);
252
335
  __decorate([
253
336
  (0, common_1.UseGuards)(admin_guard_1.AdminGuard),
254
- (0, swagger_1.ApiOperation)({ summary: 'Return the current mdns advertiser settings.' }),
337
+ (0, swagger_1.ApiOperation)({ summary: 'Return the current mDNS advertiser settings.' }),
255
338
  (0, common_1.Get)('/mdns-advertiser'),
256
339
  __metadata("design:type", Function),
257
340
  __metadata("design:paramtypes", []),
@@ -259,13 +342,22 @@ __decorate([
259
342
  ], ServerController.prototype, "getHomebridgeMdnsSetting", null);
260
343
  __decorate([
261
344
  (0, common_1.UseGuards)(admin_guard_1.AdminGuard),
262
- (0, swagger_1.ApiOperation)({ summary: 'Set the mdns advertiser settings.' }),
345
+ (0, swagger_1.ApiOperation)({ summary: 'Set the mDNS advertiser settings.' }),
263
346
  (0, common_1.Put)('/mdns-advertiser'),
264
347
  __param(0, (0, common_1.Body)()),
265
348
  __metadata("design:type", Function),
266
349
  __metadata("design:paramtypes", [server_dto_1.HomebridgeMdnsSettingDto]),
267
350
  __metadata("design:returntype", void 0)
268
351
  ], ServerController.prototype, "setHomebridgeMdnsSetting", null);
352
+ __decorate([
353
+ (0, common_1.UseGuards)(admin_guard_1.AdminGuard),
354
+ (0, swagger_1.ApiOperation)({ summary: 'Set the Homebridge name.' }),
355
+ (0, common_1.Put)('/name'),
356
+ __param(0, (0, common_1.Body)()),
357
+ __metadata("design:type", Function),
358
+ __metadata("design:paramtypes", [Object]),
359
+ __metadata("design:returntype", void 0)
360
+ ], ServerController.prototype, "setHomebridgeName", null);
269
361
  __decorate([
270
362
  (0, common_1.UseGuards)(admin_guard_1.AdminGuard),
271
363
  (0, swagger_1.ApiOperation)({ summary: 'Get the Homebridge port.' }),
@@ -283,12 +375,62 @@ __decorate([
283
375
  __metadata("design:paramtypes", [Object]),
284
376
  __metadata("design:returntype", void 0)
285
377
  ], ServerController.prototype, "setHomebridgePort", null);
378
+ __decorate([
379
+ (0, common_1.UseGuards)(admin_guard_1.AdminGuard),
380
+ (0, swagger_1.ApiOperation)({ summary: 'Get the usable ports as set in the config file.' }),
381
+ (0, common_1.Get)('/ports'),
382
+ __metadata("design:type", Function),
383
+ __metadata("design:paramtypes", []),
384
+ __metadata("design:returntype", void 0)
385
+ ], ServerController.prototype, "getUsablePort", null);
386
+ __decorate([
387
+ (0, common_1.UseGuards)(admin_guard_1.AdminGuard),
388
+ (0, common_1.Put)('/ports'),
389
+ (0, swagger_1.ApiOperation)({ summary: 'Update the usable ports for Homebridge.' }),
390
+ (0, swagger_1.ApiBody)({ description: 'Object with start and end properties.', type: 'json', isArray: false }),
391
+ (0, common_1.Put)(),
392
+ __param(0, (0, common_1.Body)()),
393
+ __metadata("design:type", Function),
394
+ __metadata("design:paramtypes", [Object]),
395
+ __metadata("design:returntype", void 0)
396
+ ], ServerController.prototype, "setUsablePorts", null);
397
+ __decorate([
398
+ (0, common_1.UseGuards)(admin_guard_1.AdminGuard),
399
+ (0, common_1.Post)('/wallpaper'),
400
+ (0, swagger_1.ApiOperation)({ summary: 'Upload an image file to the Homebridge storage directory and reference this as a wallpaper in the config file.' }),
401
+ (0, swagger_1.ApiConsumes)('multipart/form-data'),
402
+ (0, swagger_1.ApiBody)({
403
+ schema: {
404
+ type: 'object',
405
+ properties: {
406
+ file: {
407
+ type: 'string',
408
+ format: 'binary',
409
+ },
410
+ },
411
+ },
412
+ }),
413
+ __param(0, (0, common_1.Req)()),
414
+ __metadata("design:type", Function),
415
+ __metadata("design:paramtypes", [Object]),
416
+ __metadata("design:returntype", Promise)
417
+ ], ServerController.prototype, "uploadWallpaper", null);
418
+ __decorate([
419
+ (0, common_1.UseGuards)(admin_guard_1.AdminGuard),
420
+ (0, swagger_1.ApiOperation)({ summary: 'Delete the current wallpaper file and remove the reference from the config file.' }),
421
+ (0, common_1.Delete)('/wallpaper'),
422
+ (0, common_1.HttpCode)(204),
423
+ __metadata("design:type", Function),
424
+ __metadata("design:paramtypes", []),
425
+ __metadata("design:returntype", Promise)
426
+ ], ServerController.prototype, "deleteWallpaper", null);
286
427
  exports.ServerController = ServerController = __decorate([
287
428
  (0, swagger_1.ApiTags)('Homebridge'),
288
429
  (0, swagger_1.ApiBearerAuth)(),
289
430
  (0, common_1.UseGuards)((0, passport_1.AuthGuard)()),
290
431
  (0, common_1.Controller)('server'),
291
432
  __metadata("design:paramtypes", [server_service_1.ServerService,
292
- child_bridges_service_1.ChildBridgesService])
433
+ child_bridges_service_1.ChildBridgesService,
434
+ logger_service_1.Logger])
293
435
  ], ServerController);
294
436
  //# sourceMappingURL=server.controller.js.map