homebridge-config-ui-x 5.0.0-beta.23 → 5.0.0-beta.25

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 (134) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/bin/hb-service.d.ts +2 -2
  3. package/dist/bin/hb-service.js +1 -1
  4. package/dist/bin/hb-service.js.map +1 -1
  5. package/dist/core/auth/auth.controller.js.map +1 -1
  6. package/dist/main.js.map +1 -1
  7. package/dist/modules/backup/backup.service.js +3 -3
  8. package/dist/modules/backup/backup.service.js.map +1 -1
  9. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js.map +1 -1
  10. package/dist/modules/plugins/plugins.service.js +17 -7
  11. package/dist/modules/plugins/plugins.service.js.map +1 -1
  12. package/package.json +3 -4
  13. package/public/3rdpartylicenses.txt +24 -24
  14. package/public/{chunk-PH3WWITU.js → chunk-23M23WV2.js} +1 -1
  15. package/public/chunk-3NLI5MWV.js +1 -0
  16. package/public/chunk-3O7UXDCP.js +1 -0
  17. package/public/{chunk-LJNRODOH.js → chunk-3S35VE6D.js} +1 -1
  18. package/public/{chunk-CKXSP7IR.js → chunk-3YGT5XDE.js} +2 -2
  19. package/public/{chunk-FCTX2YEK.js → chunk-45QQI3VL.js} +1 -1
  20. package/public/{chunk-YG5UHXGO.js → chunk-466ZAM7C.js} +1 -1
  21. package/public/{chunk-CEFSEL4J.js → chunk-474BOAR2.js} +1 -1
  22. package/public/{chunk-JHT7FCNA.js → chunk-4LIVGQGH.js} +1 -1
  23. package/public/chunk-5GARK6H2.js +1 -0
  24. package/public/{chunk-2DMDQOK2.js → chunk-5KLZWFYX.js} +1 -1
  25. package/public/{chunk-EOXXEC54.js → chunk-5MHVRMBE.js} +1 -1
  26. package/public/{chunk-Q4VBD4HY.js → chunk-675OFXLW.js} +1 -1
  27. package/public/{chunk-LJNOSMWT.js → chunk-7BCHGXO4.js} +1 -1
  28. package/public/chunk-7CTHDMRF.js +1 -0
  29. package/public/{chunk-YSOWPBAG.js → chunk-ABLKZIQ3.js} +2 -2
  30. package/public/chunk-AQQPDAYK.js +1 -0
  31. package/public/{chunk-P2OEQDP7.js → chunk-BDIXMVA7.js} +1 -1
  32. package/public/{chunk-LAFQ6QBN.js → chunk-BFPRGWPN.js} +1 -1
  33. package/public/chunk-BMWLHPL2.js +1 -0
  34. package/public/{chunk-BOYCBPUU.js → chunk-BWSYEFYX.js} +1 -1
  35. package/public/{chunk-IF47NAUS.js → chunk-C2XBPNOQ.js} +1 -1
  36. package/public/chunk-CALVGL3N.js +1 -0
  37. package/public/chunk-CKNHTRCL.js +7 -0
  38. package/public/chunk-D4Q2TS6P.js +1 -0
  39. package/public/chunk-DIFP2ZEW.js +1 -0
  40. package/public/chunk-DQUIBW3A.js +1 -0
  41. package/public/{chunk-MA3HOSPP.js → chunk-DWL7BAZR.js} +1 -1
  42. package/public/{chunk-33OXRXUC.js → chunk-E6TOS5PQ.js} +1 -1
  43. package/public/chunk-FEBFQ3DL.js +1 -0
  44. package/public/chunk-FMV2U5UJ.js +1 -0
  45. package/public/chunk-FOYTSKFL.js +1 -0
  46. package/public/{chunk-E4LCOK4T.js → chunk-GDU27W4Y.js} +1 -1
  47. package/public/{chunk-EJFSW4SK.js → chunk-GTXRRXBZ.js} +1 -1
  48. package/public/chunk-GWQ6LQZL.js +1 -0
  49. package/public/{chunk-YXTLNUTK.js → chunk-HA6CO5NZ.js} +1 -1
  50. package/public/chunk-HTDHOIID.js +1 -0
  51. package/public/{chunk-2SJOCVSL.js → chunk-HUGKO4YQ.js} +1 -1
  52. package/public/{chunk-27FPUPTN.js → chunk-IMHBRR76.js} +1 -1
  53. package/public/chunk-IPMME72S.js +1 -0
  54. package/public/{chunk-E2YV2VI5.js → chunk-J6PRMQON.js} +1 -1
  55. package/public/{chunk-GZ5DOCVG.js → chunk-JCSR43VP.js} +1 -1
  56. package/public/{chunk-67EN4M44.js → chunk-JF5AT3NK.js} +1 -1
  57. package/public/chunk-JN4FOPPF.js +1 -0
  58. package/public/{chunk-C5RNSBNS.js → chunk-K2R3BPLP.js} +1 -1
  59. package/public/chunk-MSB3OVAL.js +1 -0
  60. package/public/{chunk-75LZTZGF.js → chunk-MV3ERMGJ.js} +1 -1
  61. package/public/chunk-N2PCJZX2.js +1 -0
  62. package/public/chunk-N5KOQEZ2.js +1 -0
  63. package/public/{chunk-4MKTUK3C.js → chunk-NFG4Y4PX.js} +1 -1
  64. package/public/chunk-NITUCSNQ.js +1 -0
  65. package/public/{chunk-5SBO5IQQ.js → chunk-NSCP3SOQ.js} +1 -1
  66. package/public/chunk-NU6AAZWI.js +1 -0
  67. package/public/chunk-OAHWWVO7.js +1 -0
  68. package/public/{chunk-7WGR5I6Z.js → chunk-PKJCXZE5.js} +1 -1
  69. package/public/{chunk-2F3XEUAD.js → chunk-QADJSVPE.js} +1 -1
  70. package/public/chunk-QYT5LYC6.js +1 -0
  71. package/public/{chunk-CBI3LF3A.js → chunk-R32JIOK7.js} +1 -1
  72. package/public/{chunk-EBVMWV7Q.js → chunk-T3GI7KUT.js} +1 -1
  73. package/public/chunk-T6YC67I2.js +1 -0
  74. package/public/chunk-TKS2P7BY.js +1 -0
  75. package/public/chunk-TVWBCLU3.js +1 -0
  76. package/public/chunk-TYGAKDLQ.js +1 -0
  77. package/public/{chunk-K2VKBYPF.js → chunk-TYU5VELI.js} +4 -4
  78. package/public/chunk-UKJNJQYA.js +1 -0
  79. package/public/chunk-UKPIYCWA.js +1 -0
  80. package/public/chunk-VEP4HNXH.js +1 -0
  81. package/public/chunk-VSKGHU6T.js +6 -0
  82. package/public/{chunk-QADRQCUN.js → chunk-WBYIFSS4.js} +2 -2
  83. package/public/{chunk-J4I2UKEG.js → chunk-WFTXQQES.js} +1 -1
  84. package/public/chunk-WGB7S5X7.js +1 -0
  85. package/public/chunk-WJ474LWO.js +1 -0
  86. package/public/chunk-WV6F7JKU.js +1 -0
  87. package/public/{chunk-JHGDWS5G.js → chunk-XFK2EZ3K.js} +1 -1
  88. package/public/{chunk-AGHJJT2B.js → chunk-XP7D2PRA.js} +1 -1
  89. package/public/{chunk-ACRDELJP.js → chunk-XQNHUDX7.js} +1 -1
  90. package/public/{chunk-QQELI3RK.js → chunk-YIQ2YNEE.js} +1 -1
  91. package/public/{chunk-UUOIJNVA.js → chunk-YLEC7AUG.js} +1 -1
  92. package/public/chunk-YUE3OQJS.js +32 -0
  93. package/public/{chunk-NNPWW7QY.js → chunk-ZK726DZI.js} +1 -1
  94. package/public/{chunk-V6DGQLQO.js → chunk-ZW6ZWLX2.js} +1 -1
  95. package/public/index.html +1 -1
  96. package/public/main-UX5KVBA6.js +1 -0
  97. package/public/chunk-3T7LR3KP.js +0 -1
  98. package/public/chunk-4GEGP5GO.js +0 -1
  99. package/public/chunk-4XUOS275.js +0 -1
  100. package/public/chunk-5PUZ56HW.js +0 -1
  101. package/public/chunk-6KTSVDPB.js +0 -1
  102. package/public/chunk-7PD4QI6O.js +0 -1
  103. package/public/chunk-7VZO5R4J.js +0 -1
  104. package/public/chunk-CFFLJ5JD.js +0 -1
  105. package/public/chunk-DBMSQ32L.js +0 -1
  106. package/public/chunk-EE3AXC6U.js +0 -1
  107. package/public/chunk-ET5ASDZV.js +0 -1
  108. package/public/chunk-F3YCS6HT.js +0 -1
  109. package/public/chunk-GABFFUBD.js +0 -1
  110. package/public/chunk-GEH6XWDN.js +0 -1
  111. package/public/chunk-HPJ3LUSD.js +0 -1
  112. package/public/chunk-HVJRSDCO.js +0 -1
  113. package/public/chunk-IYYWSVBH.js +0 -6
  114. package/public/chunk-K7SACHXO.js +0 -1
  115. package/public/chunk-KMMOUPYM.js +0 -1
  116. package/public/chunk-L224W57S.js +0 -1
  117. package/public/chunk-LXRPNSLW.js +0 -1
  118. package/public/chunk-MP2566JB.js +0 -1
  119. package/public/chunk-NFFAXZA6.js +0 -1
  120. package/public/chunk-NHJLTSH3.js +0 -7
  121. package/public/chunk-NRCSHT3L.js +0 -1
  122. package/public/chunk-P6375ABC.js +0 -1
  123. package/public/chunk-QN6P2WRK.js +0 -1
  124. package/public/chunk-RMEDSCQG.js +0 -1
  125. package/public/chunk-SYZ2D5X2.js +0 -1
  126. package/public/chunk-TQODQLMU.js +0 -1
  127. package/public/chunk-W3NZWHLA.js +0 -1
  128. package/public/chunk-WTYP6A2G.js +0 -1
  129. package/public/chunk-X34XL3Z7.js +0 -1
  130. package/public/chunk-XT73VRCU.js +0 -1
  131. package/public/chunk-YCLJUAE2.js +0 -1
  132. package/public/chunk-YQQIYYEJ.js +0 -32
  133. package/public/chunk-Z4LQDDZT.js +0 -1
  134. package/public/main-VBJHYWNC.js +0 -1
@@ -1 +1 @@
1
- import{m as k}from"./chunk-J4I2UKEG.js";import{b as g}from"./chunk-Q4VBD4HY.js";import{Bb as x,Cc as m,Dc as r,Lb as d,Qb as p,Rb as I,Wb as n,Xb as o,Yb as f,dc as s,ec as B,ib as t,na as v,oc as a,pc as u,qc as b,ub as _}from"./chunk-NHJLTSH3.js";function y(i,M){if(i&1&&f(0,"i",14),i&2){let c=B();p("fas fa-fw ",c.faIconClass," mb-4")}}var L=(()=>{class i{$activeModal=v(k);title;message;confirmButtonLabel;confirmButtonClass;faIconClass;constructor(){}static \u0275fac=function(l){return new(l||i)};static \u0275cmp=_({type:i,selectors:[["ng-component"]],inputs:{title:"title",message:"message",confirmButtonLabel:"confirmButtonLabel",confirmButtonClass:"confirmButtonClass",faIconClass:"faIconClass"},decls:22,vars:16,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body","w-100","text-center"],[2,"font-size","75px",3,"class"],[1,"w-100","text-center"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-right"],["type","button","data-dismiss","modal",3,"click"],[2,"font-size","75px"]],template:function(l,e){l&1&&(n(0,"div",0)(1,"div",1)(2,"h5",2),a(3),o(),n(4,"button",3),m(5,"translate"),s("click",function(){return e.$activeModal.dismiss("Dismiss")}),n(6,"span",4),a(7,"\xD7"),o()()(),n(8,"div",5),x(9,y,1,3,"i",6),n(10,"p",7),a(11),o()(),n(12,"div",8)(13,"div",9)(14,"button",10),m(15,"translate"),s("click",function(){return e.$activeModal.dismiss("Dismiss")}),a(16),m(17,"translate"),o()(),f(18,"div",11),n(19,"div",12)(20,"button",13),s("click",function(){return e.$activeModal.close()}),a(21),o()()()()),l&2&&(t(3),u(e.title),t(),d("aria-label",r(5,10,"form.button_close")),t(5),I(e.faIconClass?9:-1),t(2),u(e.message),t(3),d("aria-label",r(15,12,"form.button_close")),t(2),b(" ",r(17,14,"form.button_close")," "),t(4),p("btn ",e.confirmButtonClass||"btn-primary",""),t(),b(" ",e.confirmButtonLabel," "))},dependencies:[g],encapsulation:2})}return i})();export{L as a};
1
+ import{m as g}from"./chunk-WFTXQQES.js";import{b as k}from"./chunk-675OFXLW.js";import{Bb as x,Cc as m,Dc as r,Lb as d,Qb as p,Rb as I,Wb as n,Xb as o,Yb as f,dc as s,ec as B,ib as t,na as v,oc as a,pc as u,qc as b,ub as _}from"./chunk-CKNHTRCL.js";function y(i,M){if(i&1&&f(0,"i",14),i&2){let c=B();p("fas fa-fw ",c.faIconClass," mb-4")}}var L=(()=>{class i{$activeModal=v(g);title;message;confirmButtonLabel;confirmButtonClass;faIconClass;constructor(){}static \u0275fac=function(l){return new(l||i)};static \u0275cmp=_({type:i,selectors:[["ng-component"]],inputs:{title:"title",message:"message",confirmButtonLabel:"confirmButtonLabel",confirmButtonClass:"confirmButtonClass",faIconClass:"faIconClass"},decls:22,vars:16,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body","w-100","text-center"],[2,"font-size","75px",3,"class"],[1,"w-100","text-center"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-right"],["type","button","data-dismiss","modal",3,"click"],[2,"font-size","75px"]],template:function(l,e){l&1&&(n(0,"div",0)(1,"div",1)(2,"h5",2),a(3),o(),n(4,"button",3),m(5,"translate"),s("click",function(){return e.$activeModal.dismiss("Dismiss")}),n(6,"span",4),a(7,"\xD7"),o()()(),n(8,"div",5),x(9,y,1,3,"i",6),n(10,"p",7),a(11),o()(),n(12,"div",8)(13,"div",9)(14,"button",10),m(15,"translate"),s("click",function(){return e.$activeModal.dismiss("Dismiss")}),a(16),m(17,"translate"),o()(),f(18,"div",11),n(19,"div",12)(20,"button",13),s("click",function(){return e.$activeModal.close()}),a(21),o()()()()),l&2&&(t(3),u(e.title),t(),d("aria-label",r(5,10,"form.button_close")),t(5),I(e.faIconClass?9:-1),t(2),u(e.message),t(3),d("aria-label",r(15,12,"form.button_close")),t(2),b(" ",r(17,14,"form.button_close")," "),t(4),p("btn ",e.confirmButtonClass||"btn-primary",""),t(),b(" ",e.confirmButtonLabel," "))},dependencies:[k],encapsulation:2})}return i})();export{L as a};
@@ -1 +1 @@
1
- import{a as N,b as U}from"./chunk-LJNOSMWT.js";import{m as H}from"./chunk-J4I2UKEG.js";import{a as D}from"./chunk-E4LCOK4T.js";import{d as V}from"./chunk-EBVMWV7Q.js";import{b as E,j as z}from"./chunk-HVJRSDCO.js";import{c as I,d as w}from"./chunk-YXTLNUTK.js";import{a as P,b as A}from"./chunk-Q4VBD4HY.js";import{Bb as f,Cc as l,Dc as d,Ec as F,Lb as S,Mb as b,Rb as c,Wb as s,Xb as o,Yb as u,ac as R,dc as x,ec as p,g as $,h as k,ib as i,na as _,oc as a,pc as h,qc as v,ub as y,xa as C,ya as g,yc as B}from"./chunk-NHJLTSH3.js";var M=$(N(),1),W=$(U(),1);var j=t=>({maxBackupSizeText:t});function q(t,m){if(t&1&&(s(0,"div"),u(1,"input",11),o()),t&2){let e=p(2);i(),b("value",e.selectedBackup.fileName)}}function O(t,m){if(t&1){let e=R();s(0,"div",10)(1,"input",12),x("change",function(n){C(e);let T=p(2);return g(T.handleRestoreFileInput(n.target.files))}),o(),s(2,"label",13),a(3),l(4,"translate"),o()()}if(t&2){let e=p(2);i(3),v(" ",d(4,1,(e.selectedFile==null?null:e.selectedFile.name)||"backup.label_choose_backup_file_to_restore")," ")}}function G(t,m){if(t&1&&(s(0,"div",5)(1,"div",8),u(2,"i",9),o(),s(3,"p"),a(4),l(5,"translate"),o(),s(6,"ul")(7,"li"),a(8),l(9,"translate"),o(),s(10,"li"),a(11),l(12,"translate"),o(),s(13,"li"),a(14),l(15,"translate"),o()(),f(16,q,2,1,"div")(17,O,5,3,"div",10),o()),t&2){let e=p();i(4),h(d(5,6,"backup.restore_help_one")),i(4),h(d(9,8,"backup.restore_help_two")),i(3),h(F(12,10,"backup.restore_max_size",B(15,j,e.maxFileSizeText))),i(3),h(d(15,13,"backup.restore_warning")),i(2),c(e.selectedBackup?16:-1),i(),c(e.selectedBackup?-1:17)}}function J(t,m){t&1&&u(0,"i",19)}function K(t,m){if(t&1&&(s(0,"span"),a(1),o()),t&2){let e=p(3);i(),v("",e.uploadPercent,"% - ")}}function L(t,m){t&1&&(s(0,"span"),a(1," Extracting Archive"),o())}function Q(t,m){t&1&&(s(0,"span"),a(1),l(2,"translate"),o()),t&2&&(i(),v(" ",d(2,1,"backup.label_uploading"),""))}function X(t,m){if(t&1&&(s(0,"span"),f(1,J,1,0,"i",19)(2,K,2,1,"span")(3,L,2,0,"span")(4,Q,3,3,"span"),o()),t&2){let e=p(2);i(),c(!e.uploadPercent||e.uploadPercent===100?1:-1),i(),c(e.uploadPercent&&e.uploadPercent!==100?2:-1),i(),c(e.uploadPercent===100?3:-1),i(),c(e.uploadPercent!==100?4:-1)}}function Y(t,m){t&1&&(s(0,"span"),a(1),l(2,"translate"),o()),t&2&&(i(),h(d(2,1,"form.button_restore")))}function Z(t,m){if(t&1){let e=R();s(0,"div",7)(1,"div",14)(2,"button",15),l(3,"translate"),x("click",function(){C(e);let n=p();return g(n.$activeModal.dismiss("Dismiss"))}),a(4),l(5,"translate"),o()(),u(6,"div",16),s(7,"div",17)(8,"button",18),x("click",function(){C(e);let n=p();return g(n.onRestoreBackupClick())}),f(9,X,5,4,"span")(10,Y,3,3,"span"),o()()()}if(t&2){let e=p();i(2),b("disabled",e.clicked),S("aria-label",d(3,6,"form.button_close")),i(2),v(" ",d(5,8,"form.button_close")," "),i(4),b("disabled",!e.selectedBackup&&!e.selectedFile||e.clicked),i(),c(e.clicked?9:-1),i(),c(e.clicked?-1:10)}}function ee(t,m){if(t&1){let e=R();s(0,"div",7),u(1,"div",14),s(2,"div",16)(3,"button",20),x("click",function(){C(e);let n=p();return g(n.postBackupRestart())}),a(4),l(5,"translate"),o()(),u(6,"div",17),o()}t&2&&(i(4),v(" ",d(5,1,"menu.hbrestart.title")," "))}var me=(()=>{class t{$activeModal=_(H);$api=_(E);$route=_(V);$toastr=_(z);$translate=_(P);$ws=_(D);setupWizardRestore=!1;selectedBackup=null;clicked=!1;maxFileSizeText=globalThis.backup.maxBackupSizeText;selectedFile;restoreInProgress=!1;restoreStarted=!1;restoreFailed=!1;restoreArchiveType="homebridge";uploadPercent=0;term=new M.Terminal;termTarget;fitAddon=new W.FitAddon;io;constructor(){}ngOnInit(){return k(this,null,function*(){this.io=this.$ws.connectToNamespace("backup"),this.termTarget=document.getElementById("plugin-log-output"),this.term.open(this.termTarget),this.fitAddon.fit(),this.io.socket.on("stdout",e=>{this.term.write(e)}),this.setupWizardRestore&&(this.restoreStarted=!0,this.restoreInProgress=!0,this.startRestore())})}onRestoreBackupClick(){this.selectedBackup?this.restoreScheduledBackup():this.restoreArchiveType==="homebridge"?this.uploadHomebridgeArchive():this.restoreArchiveType==="hbfx"&&this.uploadHbfxArchive()}uploadHomebridgeArchive(){this.term.reset(),this.clicked=!0;let e=new FormData;e.append("restoreArchive",this.selectedFile,this.selectedFile.name),this.$api.post("/backup/restore",e).subscribe({next:()=>{this.restoreStarted=!0,this.restoreInProgress=!0,setTimeout(()=>{this.startRestore()},500),this.clicked=!1},error:r=>{var n;console.error(r),this.$toastr.error(((n=r.error)==null?void 0:n.message)||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error")),this.clicked=!1}})}restoreScheduledBackup(){return k(this,null,function*(){this.term.reset(),this.clicked=!0,this.$api.post(`/backup/scheduled-backups/${this.selectedBackup.id}/restore`,{}).subscribe({next:()=>{this.restoreStarted=!0,this.restoreInProgress=!0,setTimeout(()=>{this.startRestore()},500),this.clicked=!1},error:e=>{var r;console.error(e),this.$toastr.error(((r=e.error)==null?void 0:r.message)||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error")),this.clicked=!1}})})}startRestore(){return k(this,null,function*(){this.io.request("do-restore").subscribe({next:()=>{this.restoreInProgress=!1,this.$toastr.success(this.$translate.instant("backup.backup_restored"),this.$translate.instant("toast.title_success")),this.setupWizardRestore&&this.postBackupRestart()},error:e=>{this.restoreFailed=!0,console.error(e),this.$toastr.error(this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"))}})})}uploadHbfxArchive(){this.term.reset(),this.clicked=!0;let e=new FormData;e.append("restoreArchive",this.selectedFile,this.selectedFile.name),this.$api.post("/backup/restore/hbfx",e,{reportProgress:!0,observe:"events"}).subscribe({next:r=>{r.type===I.UploadProgress?this.uploadPercent=Math.round(100*r.loaded/r.total):r instanceof w&&(this.restoreStarted=!0,this.restoreInProgress=!0,setTimeout(()=>{this.startHbfxRestore()},500),this.clicked=!1)},error:r=>{var n;this.clicked=!1,console.error(r),this.$toastr.error(((n=r.error)==null?void 0:n.message)||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"))}})}startHbfxRestore(){return k(this,null,function*(){this.io.request("do-restore-hbfx").subscribe({next:()=>{this.restoreInProgress=!1,this.$toastr.success(this.$translate.instant("backup.backup_restored"),this.$translate.instant("toast.title_success"))},error:e=>{this.restoreFailed=!0,console.error(e),this.$toastr.error(this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"))}})})}handleRestoreFileInput(e){e.length?(this.selectedFile=e[0],this.selectedFile.name.endsWith(".hbfx")?this.restoreArchiveType="hbfx":this.restoreArchiveType="homebridge"):delete this.selectedFile}postBackupRestart(){this.$api.put("/backup/restart",{}).subscribe({next:()=>{this.$activeModal.close(!0),this.$route.navigate(["/"])},error:()=>{}})}ngOnDestroy(){this.io.end()}static \u0275fac=function(r){return new(r||t)};static \u0275cmp=y({type:t,selectors:[["ng-component"]],inputs:{setupWizardRestore:"setupWizardRestore",selectedBackup:"selectedBackup"},decls:13,vars:11,consts:[[1,"modal-content","hb-backup-modal"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],["id","plugin-log-output",1,"modal-body",3,"hidden"],[1,"modal-footer","justify-content-between"],[1,"text-center","mt-2","mb-3"],[1,"fas","fa-fw","fa-hard-drive","primary-text",2,"font-size","75px"],[1,"custom-file"],["type","text","disabled","",1,"form-control","custom-input",3,"value"],["type","file","id","restoreFileUpload","accept","application/gzip, .gz, .hbfx",1,"custom-file-input",3,"change"],["for","restoreFileUpload",1,"custom-file-label"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-center"],[1,"text-right"],["type","button","data-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"],[1,"fa","fa-fw","fa-circle-notch","fa-spin"],["type","button","data-dismiss","modal",1,"btn","btn-primary",3,"click"]],template:function(r,n){r&1&&(s(0,"div",0)(1,"div",1)(2,"h5",2),a(3),l(4,"translate"),o(),s(5,"button",3),l(6,"translate"),x("click",function(){return n.$activeModal.dismiss("Dismiss")}),s(7,"span",4),a(8,"\xD7"),o()()(),f(9,G,18,17,"div",5),u(10,"div",6),f(11,Z,11,10,"div",7)(12,ee,7,3,"div",7),o()),r&2&&(i(3),h(d(4,7,"form.button_restore")),i(2),b("disabled",n.restoreInProgress),S("aria-label",d(6,9,"form.button_close")),i(4),c(!n.restoreStarted&&!n.setupWizardRestore?9:-1),i(),b("hidden",!n.restoreStarted),i(),c(!n.restoreStarted||n.restoreFailed===!0?11:-1),i(),c(!n.restoreInProgress&&n.restoreStarted?12:-1))},dependencies:[A],encapsulation:2})}return t})();export{me as a};
1
+ import{a as N,b as U}from"./chunk-7BCHGXO4.js";import{m as E}from"./chunk-WFTXQQES.js";import{a as H}from"./chunk-GDU27W4Y.js";import{d as V}from"./chunk-T3GI7KUT.js";import{h as z,k as D}from"./chunk-N2PCJZX2.js";import{c as I,d as w}from"./chunk-HA6CO5NZ.js";import{a as P,b as A}from"./chunk-675OFXLW.js";import{Bb as f,Cc as l,Dc as d,Ec as F,Lb as S,Mb as b,Rb as c,Wb as s,Xb as o,Yb as u,ac as R,dc as x,ec as p,g as $,h as k,ib as i,na as _,oc as a,pc as h,qc as v,ub as y,xa as C,ya as g,yc as B}from"./chunk-CKNHTRCL.js";var M=$(N(),1),W=$(U(),1);var j=t=>({maxBackupSizeText:t});function q(t,m){if(t&1&&(s(0,"div"),u(1,"input",11),o()),t&2){let e=p(2);i(),b("value",e.selectedBackup.fileName)}}function O(t,m){if(t&1){let e=R();s(0,"div",10)(1,"input",12),x("change",function(n){C(e);let T=p(2);return g(T.handleRestoreFileInput(n.target.files))}),o(),s(2,"label",13),a(3),l(4,"translate"),o()()}if(t&2){let e=p(2);i(3),v(" ",d(4,1,(e.selectedFile==null?null:e.selectedFile.name)||"backup.label_choose_backup_file_to_restore")," ")}}function G(t,m){if(t&1&&(s(0,"div",5)(1,"div",8),u(2,"i",9),o(),s(3,"p"),a(4),l(5,"translate"),o(),s(6,"ul")(7,"li"),a(8),l(9,"translate"),o(),s(10,"li"),a(11),l(12,"translate"),o(),s(13,"li"),a(14),l(15,"translate"),o()(),f(16,q,2,1,"div")(17,O,5,3,"div",10),o()),t&2){let e=p();i(4),h(d(5,6,"backup.restore_help_one")),i(4),h(d(9,8,"backup.restore_help_two")),i(3),h(F(12,10,"backup.restore_max_size",B(15,j,e.maxFileSizeText))),i(3),h(d(15,13,"backup.restore_warning")),i(2),c(e.selectedBackup?16:-1),i(),c(e.selectedBackup?-1:17)}}function J(t,m){t&1&&u(0,"i",19)}function K(t,m){if(t&1&&(s(0,"span"),a(1),o()),t&2){let e=p(3);i(),v("",e.uploadPercent,"% - ")}}function L(t,m){t&1&&(s(0,"span"),a(1," Extracting Archive"),o())}function Q(t,m){t&1&&(s(0,"span"),a(1),l(2,"translate"),o()),t&2&&(i(),v(" ",d(2,1,"backup.label_uploading"),""))}function X(t,m){if(t&1&&(s(0,"span"),f(1,J,1,0,"i",19)(2,K,2,1,"span")(3,L,2,0,"span")(4,Q,3,3,"span"),o()),t&2){let e=p(2);i(),c(!e.uploadPercent||e.uploadPercent===100?1:-1),i(),c(e.uploadPercent&&e.uploadPercent!==100?2:-1),i(),c(e.uploadPercent===100?3:-1),i(),c(e.uploadPercent!==100?4:-1)}}function Y(t,m){t&1&&(s(0,"span"),a(1),l(2,"translate"),o()),t&2&&(i(),h(d(2,1,"form.button_restore")))}function Z(t,m){if(t&1){let e=R();s(0,"div",7)(1,"div",14)(2,"button",15),l(3,"translate"),x("click",function(){C(e);let n=p();return g(n.$activeModal.dismiss("Dismiss"))}),a(4),l(5,"translate"),o()(),u(6,"div",16),s(7,"div",17)(8,"button",18),x("click",function(){C(e);let n=p();return g(n.onRestoreBackupClick())}),f(9,X,5,4,"span")(10,Y,3,3,"span"),o()()()}if(t&2){let e=p();i(2),b("disabled",e.clicked),S("aria-label",d(3,6,"form.button_close")),i(2),v(" ",d(5,8,"form.button_close")," "),i(4),b("disabled",!e.selectedBackup&&!e.selectedFile||e.clicked),i(),c(e.clicked?9:-1),i(),c(e.clicked?-1:10)}}function ee(t,m){if(t&1){let e=R();s(0,"div",7),u(1,"div",14),s(2,"div",16)(3,"button",20),x("click",function(){C(e);let n=p();return g(n.postBackupRestart())}),a(4),l(5,"translate"),o()(),u(6,"div",17),o()}t&2&&(i(4),v(" ",d(5,1,"menu.hbrestart.title")," "))}var me=(()=>{class t{$activeModal=_(E);$api=_(D);$route=_(V);$toastr=_(z);$translate=_(P);$ws=_(H);setupWizardRestore=!1;selectedBackup=null;clicked=!1;maxFileSizeText=globalThis.backup.maxBackupSizeText;selectedFile;restoreInProgress=!1;restoreStarted=!1;restoreFailed=!1;restoreArchiveType="homebridge";uploadPercent=0;term=new M.Terminal;termTarget;fitAddon=new W.FitAddon;io;constructor(){}ngOnInit(){return k(this,null,function*(){this.io=this.$ws.connectToNamespace("backup"),this.termTarget=document.getElementById("plugin-log-output"),this.term.open(this.termTarget),this.fitAddon.fit(),this.io.socket.on("stdout",e=>{this.term.write(e)}),this.setupWizardRestore&&(this.restoreStarted=!0,this.restoreInProgress=!0,this.startRestore())})}onRestoreBackupClick(){this.selectedBackup?this.restoreScheduledBackup():this.restoreArchiveType==="homebridge"?this.uploadHomebridgeArchive():this.restoreArchiveType==="hbfx"&&this.uploadHbfxArchive()}uploadHomebridgeArchive(){this.term.reset(),this.clicked=!0;let e=new FormData;e.append("restoreArchive",this.selectedFile,this.selectedFile.name),this.$api.post("/backup/restore",e).subscribe({next:()=>{this.restoreStarted=!0,this.restoreInProgress=!0,setTimeout(()=>{this.startRestore()},500),this.clicked=!1},error:r=>{var n;console.error(r),this.$toastr.error(((n=r.error)==null?void 0:n.message)||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error")),this.clicked=!1}})}restoreScheduledBackup(){return k(this,null,function*(){this.term.reset(),this.clicked=!0,this.$api.post(`/backup/scheduled-backups/${this.selectedBackup.id}/restore`,{}).subscribe({next:()=>{this.restoreStarted=!0,this.restoreInProgress=!0,setTimeout(()=>{this.startRestore()},500),this.clicked=!1},error:e=>{var r;console.error(e),this.$toastr.error(((r=e.error)==null?void 0:r.message)||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error")),this.clicked=!1}})})}startRestore(){return k(this,null,function*(){this.io.request("do-restore").subscribe({next:()=>{this.restoreInProgress=!1,this.$toastr.success(this.$translate.instant("backup.backup_restored"),this.$translate.instant("toast.title_success")),this.setupWizardRestore&&this.postBackupRestart()},error:e=>{this.restoreFailed=!0,console.error(e),this.$toastr.error(this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"))}})})}uploadHbfxArchive(){this.term.reset(),this.clicked=!0;let e=new FormData;e.append("restoreArchive",this.selectedFile,this.selectedFile.name),this.$api.post("/backup/restore/hbfx",e,{reportProgress:!0,observe:"events"}).subscribe({next:r=>{r.type===I.UploadProgress?this.uploadPercent=Math.round(100*r.loaded/r.total):r instanceof w&&(this.restoreStarted=!0,this.restoreInProgress=!0,setTimeout(()=>{this.startHbfxRestore()},500),this.clicked=!1)},error:r=>{var n;this.clicked=!1,console.error(r),this.$toastr.error(((n=r.error)==null?void 0:n.message)||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"))}})}startHbfxRestore(){return k(this,null,function*(){this.io.request("do-restore-hbfx").subscribe({next:()=>{this.restoreInProgress=!1,this.$toastr.success(this.$translate.instant("backup.backup_restored"),this.$translate.instant("toast.title_success"))},error:e=>{this.restoreFailed=!0,console.error(e),this.$toastr.error(this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"))}})})}handleRestoreFileInput(e){e.length?(this.selectedFile=e[0],this.selectedFile.name.endsWith(".hbfx")?this.restoreArchiveType="hbfx":this.restoreArchiveType="homebridge"):delete this.selectedFile}postBackupRestart(){this.$api.put("/backup/restart",{}).subscribe({next:()=>{this.$activeModal.close(!0),this.$route.navigate(["/"])},error:()=>{}})}ngOnDestroy(){this.io.end()}static \u0275fac=function(r){return new(r||t)};static \u0275cmp=y({type:t,selectors:[["ng-component"]],inputs:{setupWizardRestore:"setupWizardRestore",selectedBackup:"selectedBackup"},decls:13,vars:11,consts:[[1,"modal-content","hb-backup-modal"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],["id","plugin-log-output",1,"modal-body",3,"hidden"],[1,"modal-footer","justify-content-between"],[1,"text-center","mt-2","mb-3"],[1,"fas","fa-fw","fa-hard-drive","primary-text",2,"font-size","75px"],[1,"custom-file"],["type","text","disabled","",1,"form-control","custom-input",3,"value"],["type","file","id","restoreFileUpload","accept","application/gzip, .gz, .hbfx",1,"custom-file-input",3,"change"],["for","restoreFileUpload",1,"custom-file-label"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-center"],[1,"text-right"],["type","button","data-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"],[1,"fa","fa-fw","fa-circle-notch","fa-spin"],["type","button","data-dismiss","modal",1,"btn","btn-primary",3,"click"]],template:function(r,n){r&1&&(s(0,"div",0)(1,"div",1)(2,"h5",2),a(3),l(4,"translate"),o(),s(5,"button",3),l(6,"translate"),x("click",function(){return n.$activeModal.dismiss("Dismiss")}),s(7,"span",4),a(8,"\xD7"),o()()(),f(9,G,18,17,"div",5),u(10,"div",6),f(11,Z,11,10,"div",7)(12,ee,7,3,"div",7),o()),r&2&&(i(3),h(d(4,7,"form.button_restore")),i(2),b("disabled",n.restoreInProgress),S("aria-label",d(6,9,"form.button_close")),i(4),c(!n.restoreStarted&&!n.setupWizardRestore?9:-1),i(),b("hidden",!n.restoreStarted),i(),c(!n.restoreStarted||n.restoreFailed===!0?11:-1),i(),c(!n.restoreInProgress&&n.restoreStarted?12:-1))},dependencies:[A],encapsulation:2})}return t})();export{me as a};
package/public/index.html CHANGED
@@ -20,5 +20,5 @@
20
20
 
21
21
  <body>
22
22
  <app-root></app-root>
23
- <link rel="modulepreload" href="chunk-C5RNSBNS.js"><link rel="modulepreload" href="chunk-K2VKBYPF.js"><link rel="modulepreload" href="chunk-AGHJJT2B.js"><link rel="modulepreload" href="chunk-4XUOS275.js"><link rel="modulepreload" href="chunk-YG5UHXGO.js"><link rel="modulepreload" href="chunk-BOYCBPUU.js"><link rel="modulepreload" href="chunk-IYYWSVBH.js"><link rel="modulepreload" href="chunk-E2YV2VI5.js"><link rel="modulepreload" href="chunk-MP2566JB.js"><link rel="modulepreload" href="chunk-ACRDELJP.js"><script src="polyfills-C6JHVXJJ.js" type="module" crossorigin="use-credentials"></script><script src="scripts-6GVLYD7F.js" defer crossorigin="use-credentials"></script><script src="main-VBJHYWNC.js" type="module" crossorigin="use-credentials"></script></body>
23
+ <link rel="modulepreload" href="chunk-K2R3BPLP.js"><link rel="modulepreload" href="chunk-TYU5VELI.js"><link rel="modulepreload" href="chunk-XP7D2PRA.js"><link rel="modulepreload" href="chunk-GWQ6LQZL.js"><link rel="modulepreload" href="chunk-466ZAM7C.js"><link rel="modulepreload" href="chunk-BWSYEFYX.js"><link rel="modulepreload" href="chunk-VSKGHU6T.js"><link rel="modulepreload" href="chunk-J6PRMQON.js"><link rel="modulepreload" href="chunk-FOYTSKFL.js"><link rel="modulepreload" href="chunk-XQNHUDX7.js"><script src="polyfills-C6JHVXJJ.js" type="module" crossorigin="use-credentials"></script><script src="scripts-6GVLYD7F.js" defer crossorigin="use-credentials"></script><script src="main-UX5KVBA6.js" type="module" crossorigin="use-credentials"></script></body>
24
24
  </html>