@duplicati/ngclient 0.0.162 → 0.0.163

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 (167) hide show
  1. package/assets/images/console.avif +0 -0
  2. package/chunk-2ASSYS3L.js +1 -0
  3. package/chunk-2RJJX7C2.js +1 -0
  4. package/chunk-35ZUPRX7.js +1 -0
  5. package/chunk-3OT227W4.js +1 -0
  6. package/chunk-3UJSVCAS.js +1 -0
  7. package/{chunk-XXVFRNSP.js → chunk-4HEWGBUJ.js} +1 -1
  8. package/{chunk-Z7WHLTVV.js → chunk-4VZNWPWO.js} +1 -1
  9. package/chunk-52VBZ35Q.js +1 -0
  10. package/chunk-53OIXPHF.js +1 -0
  11. package/chunk-5KAFOFRJ.js +1 -0
  12. package/chunk-5P2YZRI5.js +1 -0
  13. package/chunk-5PANYSIG.js +2 -0
  14. package/chunk-5XN6KKQ5.js +3 -0
  15. package/chunk-6QSMEZZ4.js +1 -0
  16. package/chunk-7I3YOHEE.js +1 -0
  17. package/chunk-7V6AACW7.js +1 -0
  18. package/chunk-7XAN363E.js +1 -0
  19. package/chunk-7ZE4C4XQ.js +1 -0
  20. package/chunk-A4RKBIZK.js +1 -0
  21. package/{chunk-5LX6M65H.js → chunk-AE7T2DAH.js} +1 -1
  22. package/chunk-AKJZOLGH.js +1 -0
  23. package/{chunk-YCORZV4Z.js → chunk-AL7GMUVT.js} +1 -1
  24. package/{chunk-JYWOYPSQ.js → chunk-AT6BXXSP.js} +1 -1
  25. package/chunk-ATGKEH5N.js +2 -0
  26. package/{chunk-4VY6SMSL.js → chunk-AWXWGD4T.js} +1 -1
  27. package/chunk-D2T243VR.js +1 -0
  28. package/{chunk-NSAY2K7E.js → chunk-DQAT6VCF.js} +1 -1
  29. package/chunk-EBVPGAHS.js +1 -0
  30. package/chunk-EUVXYJ2O.js +1 -0
  31. package/{chunk-NYILY6CE.js → chunk-FEJ33TSO.js} +3 -3
  32. package/chunk-FFL4DKFK.js +1 -0
  33. package/chunk-FLSO56F3.js +1 -0
  34. package/chunk-FO5YOQUM.js +1 -0
  35. package/chunk-G3QBP5CU.js +1 -0
  36. package/chunk-G6RLXZXM.js +2 -0
  37. package/{chunk-I2LW33GO.js → chunk-GNJTDWT4.js} +1 -1
  38. package/chunk-H3W2UQY2.js +1 -0
  39. package/chunk-HJAQV4HF.js +1 -0
  40. package/{chunk-LN26XMBJ.js → chunk-HVB6ARTT.js} +1 -1
  41. package/chunk-IDTGMCDE.js +1 -0
  42. package/{chunk-YJPY33RI.js → chunk-ISCGGOPN.js} +1 -1
  43. package/{chunk-CSL7HCLZ.js → chunk-IXLGVEIK.js} +1 -1
  44. package/chunk-J34TTKLN.js +1 -0
  45. package/chunk-JKXAMBD7.js +1 -0
  46. package/chunk-KCVV72VV.js +1 -0
  47. package/chunk-L34PDBPD.js +1 -0
  48. package/chunk-LC4PL7V2.js +1 -0
  49. package/chunk-LH6XLRJU.js +1 -0
  50. package/chunk-LMEZWWBD.js +1 -0
  51. package/{chunk-5ZSBXGHQ.js → chunk-NXROYR6L.js} +1 -1
  52. package/chunk-O5W6EGCB.js +1 -0
  53. package/chunk-OMKP4YQX.js +1 -0
  54. package/{chunk-H7ZKBS2Q.js → chunk-OYO6MNWR.js} +1 -1
  55. package/chunk-PIMTQKQK.js +1 -0
  56. package/{chunk-SR4YENFS.js → chunk-PKK4MIRQ.js} +1 -1
  57. package/{chunk-MHPSC3FM.js → chunk-POJT4MSX.js} +1 -1
  58. package/chunk-Q6KQWWNZ.js +1 -0
  59. package/chunk-Q7SVWHVY.js +1 -0
  60. package/{chunk-3V4DGTSM.js → chunk-QSPA3G65.js} +1 -1
  61. package/chunk-QU7TANXU.js +1 -0
  62. package/chunk-QY6647RY.js +1 -0
  63. package/chunk-R6CC4KYP.js +1 -0
  64. package/{chunk-K2BANUEJ.js → chunk-R7B32VI4.js} +1 -1
  65. package/chunk-R7CYCJUU.js +1 -0
  66. package/{chunk-RPUPXDQE.js → chunk-RAIB7LN4.js} +1 -1
  67. package/{chunk-GXGIGJ4W.js → chunk-RIX6H2ZX.js} +1 -1
  68. package/chunk-RPJFKWMV.js +2 -0
  69. package/chunk-SVQCV5AE.js +1 -0
  70. package/chunk-TC7HZO7D.js +1 -0
  71. package/chunk-TZQE4VY2.js +1 -0
  72. package/chunk-U5APXPQC.js +1 -0
  73. package/chunk-UYQXV7FY.js +1 -0
  74. package/chunk-V7NZ5WF5.js +1 -0
  75. package/{chunk-Z35OG2DV.js → chunk-VCLWADQK.js} +1 -1
  76. package/chunk-VITGSIEL.js +2 -0
  77. package/{chunk-Z27IQRKV.js → chunk-WJDMMKWE.js} +1 -1
  78. package/{chunk-S4OFJD2F.js → chunk-XTFTWEJS.js} +1 -1
  79. package/{chunk-ABYM5HWA.js → chunk-XUN5TTJC.js} +1 -1
  80. package/chunk-YATBNEED.js +1 -0
  81. package/chunk-YB374JOK.js +1 -0
  82. package/chunk-YOP2YAQF.js +1 -0
  83. package/chunk-YPAJPRDF.js +1 -0
  84. package/chunk-YWDTUV3V.js +1 -0
  85. package/chunk-Z4MDYLVI.js +1 -0
  86. package/chunk-ZBK64QS2.js +4 -0
  87. package/chunk-ZCH336WN.js +1 -0
  88. package/chunk-ZDBKQQ47.js +1 -0
  89. package/index.html +1 -1
  90. package/locale/messages.cs.json +4 -3
  91. package/locale/messages.da.json +4 -3
  92. package/locale/messages.de.json +59 -54
  93. package/locale/messages.en_GB.json +4 -3
  94. package/locale/messages.es.json +4 -3
  95. package/locale/messages.fr.json +4 -3
  96. package/locale/messages.it.json +34 -28
  97. package/locale/messages.ja_JP.json +4 -4
  98. package/locale/messages.nl_NL.json +188 -18
  99. package/locale/messages.pl.json +7 -10
  100. package/locale/messages.pt.json +4 -3
  101. package/locale/messages.pt_BR.json +4 -3
  102. package/locale/messages.ru.json +4 -3
  103. package/locale/messages.sr_RS.json +4 -3
  104. package/locale/messages.sv_SE.json +4 -3
  105. package/locale/messages.zh-Hans.json +302 -25
  106. package/locale/messages.zh_CN.json +299 -24
  107. package/locale/messages.zh_TW.json +5 -3
  108. package/main-TUINGPOM.js +1 -0
  109. package/package.json +1 -1
  110. package/chunk-2KU5X7TN.js +0 -1
  111. package/chunk-2MIEBBFN.js +0 -1
  112. package/chunk-2YGOHGD2.js +0 -1
  113. package/chunk-4FWCJIJ4.js +0 -1
  114. package/chunk-4KEA3KF7.js +0 -1
  115. package/chunk-4NOWNXOS.js +0 -1
  116. package/chunk-5CTM5KYC.js +0 -1
  117. package/chunk-5MWPORZW.js +0 -1
  118. package/chunk-6XI3IP27.js +0 -1
  119. package/chunk-7U37G3C3.js +0 -1
  120. package/chunk-AUR4SBGD.js +0 -1
  121. package/chunk-AVTEJPQ4.js +0 -1
  122. package/chunk-B32YSHV5.js +0 -1
  123. package/chunk-BB5RQS6P.js +0 -1
  124. package/chunk-BF2IYOUB.js +0 -1
  125. package/chunk-BK2MSH26.js +0 -1
  126. package/chunk-BNUMPQFL.js +0 -1
  127. package/chunk-BZ2XGEV5.js +0 -2
  128. package/chunk-CATZTYW5.js +0 -1
  129. package/chunk-CTAP3SAA.js +0 -1
  130. package/chunk-D4PLSKJA.js +0 -1
  131. package/chunk-DJQOPNQJ.js +0 -1
  132. package/chunk-DRNYRWHF.js +0 -1
  133. package/chunk-DUCPSWRQ.js +0 -1
  134. package/chunk-E6H2XELA.js +0 -2
  135. package/chunk-F5Z5ZAIL.js +0 -1
  136. package/chunk-FIOBQPE7.js +0 -1
  137. package/chunk-FSG362SU.js +0 -2
  138. package/chunk-FYTYEGRJ.js +0 -3
  139. package/chunk-G6VJHFTW.js +0 -1
  140. package/chunk-GMUNZKVL.js +0 -1
  141. package/chunk-H44BDPZE.js +0 -1
  142. package/chunk-HHU5JW5J.js +0 -1
  143. package/chunk-HYQ6MPYI.js +0 -1
  144. package/chunk-IUK3B6GX.js +0 -1
  145. package/chunk-KK24REOX.js +0 -1
  146. package/chunk-KXJZEADJ.js +0 -1
  147. package/chunk-M7QQEZOU.js +0 -1
  148. package/chunk-MGB2HZP6.js +0 -1
  149. package/chunk-OJ3H3ZRA.js +0 -2
  150. package/chunk-PB6FTE7O.js +0 -1
  151. package/chunk-PXDRFPNP.js +0 -1
  152. package/chunk-QF5WMLMJ.js +0 -1
  153. package/chunk-QONLYWYC.js +0 -4
  154. package/chunk-SPMSFKWG.js +0 -1
  155. package/chunk-SWAQMTBY.js +0 -1
  156. package/chunk-TI6AQ6OL.js +0 -1
  157. package/chunk-U3Q7TTKT.js +0 -1
  158. package/chunk-U562AGPC.js +0 -1
  159. package/chunk-U7GOWS7E.js +0 -1
  160. package/chunk-UCS5RU7N.js +0 -1
  161. package/chunk-WBPAKJQO.js +0 -1
  162. package/chunk-WNJSKJGQ.js +0 -1
  163. package/chunk-XZDYDGZ7.js +0 -1
  164. package/chunk-YPJRYB54.js +0 -2
  165. package/chunk-YYJFEUNT.js +0 -1
  166. package/chunk-Z6M25FYI.js +0 -1
  167. package/main-IH6ESA7A.js +0 -1
package/chunk-F5Z5ZAIL.js DELETED
@@ -1 +0,0 @@
1
- import{a as Ye}from"./chunk-E6H2XELA.js";import{a as se}from"./chunk-HYQ6MPYI.js";import{a as ne}from"./chunk-YCORZV4Z.js";import{b as _e}from"./chunk-Z27IQRKV.js";import{a as Xe}from"./chunk-BK2MSH26.js";import{a as q}from"./chunk-3V4DGTSM.js";import{a as oe}from"./chunk-5LX6M65H.js";import{a as Je}from"./chunk-LN26XMBJ.js";import{b as R,d as h}from"./chunk-ABYM5HWA.js";import{B as J,G as Be,K as xe,L as Ve,O as We,V as ze,b as ve,c as A,e as G,f as k,i as Ae,j as w,l as Ge,o as B,q as x,r as V,s as ke,t as W,u as z,z as we}from"./chunk-RPUPXDQE.js";import{i as X}from"./chunk-OJ3H3ZRA.js";import{la as ie}from"./chunk-5ZSBXGHQ.js";import{$b as D,Ac as ye,B as Oe,Bc as be,Cb as g,Db as r,Eb as l,F as U,Fb as c,Fc as ae,Gc as $e,H as O,Hc as De,Jb as b,Kb as $,L as Ce,Mb as H,P as Ne,Q,Qc as le,Rc as v,Sa as d,Tb as S,Ub as T,V as fe,Vb as m,Wb as he,Xb as Pe,Zb as C,_,cb as L,ea as N,fa as f,hb as Re,i as me,kc as Ie,nc as j,o as Ee,pa as p,pc as Le,qc as Me,sc as Z,tc as ee,uc as te,x as re,xb as M,y as Fe,yb as y}from"./chunk-QONLYWYC.js";var Ue=new V,qe=()=>Ue.group({passphrase:Ue.control("")}),pe=class a{#t=_(X);#e=_(P);#o=_(h);#n=_(R);encryptionForm=this.#e.encryptionForm;creatingTemporaryBackup=p(!1);settings=p([]);next(){let i=this.#e.destinationTargetUrl();if(!i)throw new Error("No target URL");this.creatingTemporaryBackup.set(!0);let e=this.encryptionForm.value?.passphrase??null,t=[];e?t.push({Name:"--passphrase",Value:e}):t.push({Name:"--no-encryption",Value:"true"}),this.settings().forEach(o=>{let n=o.Name?.trim();n&&n!=="--"&&(n.startsWith("--")||(n=`--${n}`),t.push({Name:n,Value:o.Value??""}))}),this.#t.postApiV1Backups({requestBody:{Backup:{TargetURL:i,Settings:t}},temporary:!0}).pipe(O(()=>this.creatingTemporaryBackup.set(!1))).subscribe({next:o=>{let n=o.ID;this.#o.navigate([`/restore-draft/${n}`])},error:o=>{console.error(o)}})}back(){this.#e.isFileRestore()?this.#o.navigate(["destination"],{relativeTo:this.#n.parent}):this.#e.exit()}static \u0275fac=function(e){return new(e||a)};static \u0275cmp=L({type:a,selectors:[["app-restore-encryption"]],decls:16,vars:3,consts:()=>{let i;i=$localize`Enter backup passphrase if defined.`;let e;e=$localize`Password`;let t;t=$localize`Advanced options`;let o;o=$localize`${"\uFFFD#12\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_SH_ICON: Back `;let n;return n=$localize`${"\uFFFD#15\uFFFD"}:START_TAG_SH_ICON:arrow-right${"\uFFFD/#15\uFFFD"}:CLOSE_TAG_SH_ICON: Continue `,[e,t,o,n,[3,"submit","formGroup"],["for","password"],["type","password","id","password","placeholder",i,"formControlName","passphrase"],["title",""],[3,"optionsChange","options","hasFreeTextSettings"],[1,"form-actions"],["shButton","","type","button",3,"click"],["shButton","","type","submit",1,"raised","primary"]]},template:function(e,t){e&1&&(r(0,"form",4),C("submit",function(){return t.next()}),r(1,"sh-form-field")(2,"label",5),m(3,0),l(),c(4,"input",6),l(),r(5,"app-toggle-card"),b(6,7),m(7,1),$(),r(8,"app-options-list",8),te("optionsChange",function(n){return ee(t.settings,n)||(t.settings=n),n}),l()(),r(9,"div",9)(10,"button",10),C("click",function(){return t.back()}),S(11,2),c(12,"sh-icon"),T(),l(),r(13,"button",11),S(14,3),c(15,"sh-icon"),T(),l()()()),e&2&&(g("formGroup",t.encryptionForm),d(8),Z("options",t.settings),g("hasFreeTextSettings",!0))},dependencies:[W,w,A,G,k,B,x,Be,z,J,ne,Ye],styles:["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"],changeDetection:0})};var Ze=()=>({standalone:!0});function et(a,i){a&1&&c(0,"sh-progress-bar",8)}function tt(a,i){if(a&1&&(j(0),ae(1,"bytes")),a&2){let e=D().$implicit;Le(" (",$e(1,1,e.FileSizes),") ")}}function it(a,i){a&1&&(r(0,"span",16),m(1,4),l())}function ot(a,i){if(a&1&&(r(0,"div",15),j(1),ae(2,"date"),M(3,tt,2,3),M(4,it,2,0,"span",16),l()),a&2){let e=i.$implicit;d(),Me(" ",e.Version,": ",De(2,4,e.Time,"medium")," "),d(2),y(e.FileSizes?3:-1),d(),y(e.IsFullBackup===!1?4:-1)}}function nt(a,i){a&1&&c(0,"sh-progress-bar",8)}function st(a,i){if(a&1&&(r(0,"app-file-tree",14)(1,"label",17),m(2,5),l(),c(3,"input",18),l()),a&2){let e=D(2);g("rootPaths",e.rootPaths())("initialNodes",e.initialNodes())("backupSettings",e.backupSettings())("multiSelect",!0)("showFiles",!0)}}function rt(a,i){if(a&1){let e=H();r(0,"sh-select",12),C("cleared",function(){N(e);let o=D();return f(o.abortLoading())}),r(1,"input",13),te("ngModelChange",function(o){N(e);let n=D();return ee(n.selectOption,o)||(n.selectOption=o),f(o)}),l(),Re(2,ot,5,7,"ng-template"),l(),M(3,nt,1,0,"sh-progress-bar",8),M(4,st,4,5,"app-file-tree",14)}if(a&2){let e=D();g("options",e.versionOptions())("isClearable",!1),d(),Z("ngModel",e.selectOption),g("ngModelOptions",be(6,Ze)),d(2),y(e.isRepairing()||e.versionOptionsLoading()||e.loadingRootPath()?3:-1),d(),y(e.showFileTree()?4:-1)}}var ue=new V,Ke=()=>ue.group({filesToRestore:ue.control(""),passphrase:ue.control(null)}),de=class a{#t=_(X);#e=_(P);#o=_(Xe);#n=_(oe);#i=_(h);#s=_(R);#l=_(ie);#a=null;#_=null;#r=p([]);selectFilesForm=this.#e.selectFilesForm;selectFilesFormSignal=this.#e.selectFilesFormSignal;selectOption=this.#e.selectOption;backupId=this.#e.backupId;versionOptionsLoading=this.#e.versionOptionsLoading;versionOptions=this.#e.versionOptions;isFileRestore=this.#e.isFileRestore;needsDatabaseRepair=le(()=>this.#e.backup()?.Backup?.IsTemporary??!0);showFileTree=p(!1);backupSettings=p(null);rootPaths=p([]);initialNodes=p([]);loadingRootPath=p(!1);isRepairing=le(()=>this.#r().length>0);loadedVersions=p({});loadingEffect=v(()=>{if(this.versionOptionsLoading())return;let e=this.versionOptions();if(e&&e?.length>0){let t=e[0].Version;this.selectOption.set(t.toString())}});backupSettingsEffect=v(()=>{let i=this.backupId(),e=this.selectOption(),t=this.isRepairing(),o=this.loadedVersions();if(!e||!i)return;let s=this.versionOptions()?.find(K=>K.Version===parseInt(e))?.Time??null;if(!s)return;let u=`${i}+${s}`,F=o[u];if(this.needsDatabaseRepair()&&(!F||t))return;let I={id:i+"",time:s};this.backupSettings.set(I),this.getRootPath(I)});repairEffect=v(()=>{if(!this.needsDatabaseRepair())return;let i=this.selectOption(),e=this.versionOptions();if(i){let t=e.find(s=>s.Version===parseInt(i));if(t===void 0)return;let o=this.backupId(),n=`${o}+${t.Time}`;if(this.#_===n||(this.#_=n,this.#r().includes(n)))return;this.#r.update(s=>[...s,n]),this.#t.postApiV1BackupByIdRepairupdate({id:o,requestBody:{only_paths:!0,time:t.Time}}).pipe(Q(this.abortLoading$),O(()=>{this.#_=null})).subscribe(s=>{let u=s.ID;this.#o.waitForTaskToComplete(u).pipe(U(1)).subscribe(()=>{this.#r.update(F=>F.filter(I=>I!==n)),this.loadedVersions.update(F=>(F[n]=!0,F))})})}});getRootPath(i){let e={id:i.id+"",time:i.time,prefixOnly:!0,folderContents:!1},t=i.id+"";this.isRepairing()||this.#a===t||(this.#a=t,this.loadingRootPath.set(!0),this.showFileTree.set(!1),this.#n.hasV2ListOperations()?this.#t.postApiV2BackupListFolder({requestBody:{BackupId:i.id,Time:i.time,Paths:null,PageSize:0,Page:0}}).pipe(Q(this.abortLoading$),O(()=>{this.showFileTree.set(!0),this.loadingRootPath.set(!1),this.#a=null})).subscribe({next:o=>{let n=(o.Data??[]).map(s=>s.Path??"");n.length>0?(this.initialNodes.set([]),this.rootPaths.set(n)):(this.initialNodes.set([]),this.rootPaths.set(["/"]))}}):this.#t.getApiV1BackupByIdFiles(e).pipe(Q(this.abortLoading$),O(()=>{this.showFileTree.set(!0),this.loadingRootPath.set(!1)})).subscribe({next:o=>{let n=o.Files.map(s=>s.Path??"");n.length>0?(this.initialNodes.set([]),this.rootPaths.set(n)):(this.initialNodes.set([]),this.rootPaths.set(["/"]))}}))}abortLoading$=new me;abortLoading(){this.showFileTree.set(!1),this.loadingRootPath.set(!1),this.abortLoading$.next(!0)}displayFn(){let i=this.versionOptions();return e=>{if(!e)return"";let t=i?.find(o=>typeof o.Version=="number"&&o.Version.toString()===e);return t?`${t.Version}: ${this.#l.transform(t.Time,"medium")}`:""}}next(){this.#i.navigate(["options"],{relativeTo:this.#s.parent})}back(){this.#e.isFileRestore()?this.#i.navigate(["encryption"],{relativeTo:this.#s.parent}):this.#e.exit()}static \u0275fac=function(e){return new(e||a)};static \u0275cmp=L({type:a,selectors:[["app-select-files"]],features:[ye([ie])],decls:13,vars:3,consts:()=>{let i;i=$localize`Select files`;let e;e=$localize`${"\uFFFD#9\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SH_ICON: ${"\uFFFD0\uFFFD"}:INTERPOLATION: `;let t;t=$localize`${"\uFFFD#12\uFFFD"}:START_TAG_SH_ICON:arrow-right${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_SH_ICON: Continue `;let o;o=$localize`Select an option...`;let n;n=$localize`(partial)`;let s;return s=$localize`Path`,[["formRef",""],i,e,t,n,s,[3,"submit","formGroup"],[1,"title-30"],[1,"indeterminate","primary"],[1,"form-actions"],["shButton","","type","button",3,"click"],["shButton","","type","submit",1,"raised","primary"],["value","Version",3,"cleared","options","isClearable"],["type","text","placeholder",o,3,"ngModelChange","ngModel","ngModelOptions"],[3,"rootPaths","initialNodes","backupSettings","multiSelect","showFiles"],[1,"custom-option"],[1,"partial"],["for","path"],["type","text","id","path","formControlName","filesToRestore"]]},template:function(e,t){if(e&1){let o=H();r(0,"form",6,0),C("submit",function(){return N(o),f(t.next())}),r(2,"h3",7),m(3,1),l(),M(4,et,1,0,"sh-progress-bar",8)(5,rt,5,7),r(6,"div",9)(7,"button",10),C("click",function(){return N(o),f(t.back())}),S(8,2),c(9,"sh-icon"),T(),l(),r(10,"button",11),S(11,3),c(12,"sh-icon"),T(),l()()()}e&2&&(g("formGroup",t.selectFilesForm),d(4),y(t.versionOptionsLoading()?4:5),d(5),he(t.isFileRestore()?"Back":"Exit"),Pe(8))},dependencies:[ke,w,A,G,k,Ae,W,B,x,se,J,z,We,xe,ie,Je],styles:["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}.partial[_ngcontent-%COMP%]{color:var(--base-9);font-style:italic}"],changeDetection:0})};var P=class a{#t=_(h);#e=_(R);#o=_(oe);#n=_(we);#i=_(X);backupId=p(null);backup=p(null);destinationTargetUrl=p(null);selectFilesForm=Ke();optionsForm=Qe();encryptionForm=qe();optionsFormSignal=_e(this.optionsForm.valueChanges);selectFilesFormSignal=_e(this.selectFilesForm.valueChanges);selectOption=p(null);versionOptionsLoading=p(!1);versionOptions=p([]);isSubmitting=p(!1);isFileRestore=p(!1);isFullWidthPage=p(!1);#s=p("");#l=p(null);#a=null;testSignal=this.#s.asReadonly();testErrorMessage=this.#l.asReadonly();#_=v(()=>{let i=this.destinationTargetUrl(),e=this.#s(),t=this.#a;this.#a=i,!(e==="testing"||t===null||t===i)&&(this.#s.set(""),this.#l.set(null))});init(i,e=!1){this.backupId.set(i),this.isFileRestore.set(e),e&&this.#t.navigate(["/restore-from-files/destination"]),e||this.getBackup(!0)}setTestState(i,e){this.#s.set(i),this.#l.set(e??null)}updateTargetUrl(i){this.destinationTargetUrl.set(i)}submit(){this.isSubmitting.set(!0);let i=this.backupId();this.backup()?.Backup?.IsTemporary??!1?this.#i.postApiV1BackupByIdCopytotemp({id:this.backupId()??""}).subscribe({next:t=>{this.#r(t.ID??"")},error:t=>this.showErrorDialog($localize`An error occurred while copying the backup to a temporary location: ${t.message}`)}):this.#r(i??"")}showErrorDialog(i){this.#n.open(q,{data:{title:$localize`Error occured`,message:i,confirmText:$localize`OK`,cancelText:void 0},closed:e=>{}})}#r(i){let e=this.optionsForm.value,t=this.selectFilesForm.value,o=this.selectOption(),n=this.versionOptions()?.find(s=>s.Version===(o&&parseInt(o)));this.#i.postApiV1BackupByIdRestore({id:i??"",requestBody:{paths:t.filesToRestore?.split("\0").map(s=>s.endsWith("/")||s.endsWith("\\")?`${s}*`:s)??[],passphrase:t.passphrase??null,time:n?.Time,restore_path:e.restoreFromPath,overwrite:e.handleExisting==="overwrite",permissions:e.permissions,skip_metadata:!e.includeMetadata}}).pipe(O(()=>this.isSubmitting.set(!1))).subscribe({next:s=>{this.#t.navigate([`./${s.ID}`,"progress"],{relativeTo:this.#e})},error:s=>{console.error("restore error",s)}})}exit(){this.#n.open(q,{data:{title:$localize`Confirm exit?`,message:$localize`Are you sure you want to exit?`,confirmText:$localize`Yes`,cancelText:$localize`Cancel`},closed:i=>{i&&(this.#p(),this.#t.navigate(["/"]))}})}getVersionOptions(){this.versionOptions()}loadFilesetsWithRetryv2(i,e=2){return this.#i.postApiV2BackupListFilesets({requestBody:{BackupId:i}}).pipe(Oe(t=>{let o=t?.error?.body?.StatusCode==="EncryptedStorageNoPassphrase",n=t?.error?.body?.StatusCode==="FolderMissing",s=t?.error?.body?.StatusCode==="EmptyRemoteFolder";return o||n||s||e===0?Ee(()=>t):Fe(1e3).pipe(Ne(()=>this.loadFilesetsWithRetryv2(i,e-1)))}))}getBackup(i=!1){let e=this.backupId();this.versionOptionsLoading.set(!0),this.#o.hasV2ListOperations()?re([this.#i.getApiV1BackupById({id:e}),this.loadFilesetsWithRetryv2(e)]).pipe(U(1),O(()=>this.versionOptionsLoading.set(!1))).subscribe({next:([t,o])=>{if(o.Error)throw new Error(o.Error);if(!(t.Backup?.IsTemporary??!0)&&t?.Backup?.DBPathExists===!1){this.#n.open(q,{data:{title:$localize`Missing Local Database`,message:$localize`The local database for this backup is missing. Please repair or recreate the local database before restoring.`,confirmText:$localize`OK`,cancelText:void 0},closed:s=>{this.#t.navigate(["/backup",e,"database"])}});return}this.versionOptions.set((o.Data??[]).map(s=>({Version:s.Version??-1,IsFullBackup:s.IsFullBackup??void 0,Time:s.Time??"<missing>",FileCount:s.FileCount??void 0,FileSizes:s.FileSizes??void 0}))),this.backup.set(t)},error:t=>{let o=t?.error?.body?.StatusCode==="EncryptedStorageNoPassphrase",n=t?.error?.body?.StatusCode==="FolderMissing",s=t?.error?.body?.StatusCode==="EmptyRemoteFolder",u=$localize`An error occurred while loading the backup filesets: ${t.message}`;o&&(u=$localize`The remote storage is encrypted. Please enter the passphrase to access the backup.`),n&&(u=$localize`The backup storage folder was not found.`),s&&(u=$localize`The backup storage folder does not contain any filesets.`),this.#n.open(q,{data:{title:$localize`Failed to load backup filesets`,message:u,confirmText:$localize`OK`,cancelText:void 0},closed:F=>{this.#t.navigate([o?"/restore-from-files/encryption":"/restore-from-files/destination"])}})}}):re([this.#i.getApiV1BackupById({id:e}),this.#i.getApiV1BackupByIdFilesets({id:e}).pipe(Ce(3))]).pipe(U(1),O(()=>this.versionOptionsLoading.set(!1))).subscribe({next:([t,o])=>{this.versionOptions.set(o.map(n=>({Version:n.Version??-1,IsFullBackup:(n.IsFullBackup??1)==1,Time:n.Time??"<missing>",FileCount:n.FileCount??void 0,FileSizes:n.FileSizes??void 0}))),this.backup.set(t)}})}#p(){this.selectFilesForm.reset(),this.optionsForm.reset()}static \u0275fac=function(e){return new(e||a)};static \u0275prov=fe({token:a,factory:a.\u0275fac,providedIn:"root"})};var Y=new V,Qe=()=>Y.group({restoreFrom:Y.control("orignal"),restoreFromPath:Y.control(""),handleExisting:Y.control("overwrite"),permissions:Y.control(!1),includeMetadata:Y.control(!0)}),Se=class a{#t=_(P);#e=_(h);#o=_(R);optionsForm=this.#t.optionsForm;optionsFormSignal=this.#t.optionsFormSignal;isSubmitting=this.#t.isSubmitting;goBack(){this.#e.navigate(["select-files"],{relativeTo:this.#o.parent})}submit(){this.#t.submit()}static \u0275fac=function(e){return new(e||a)};static \u0275cmp=L({type:a,selectors:[["app-advanced-options-settings"]],decls:42,vars:7,consts:()=>{let i;i=$localize`Restore options`;let e;e=$localize`Where do you want to restore files to?`;let t;t=$localize` Original location ${"\uFFFD#9\uFFFD\uFFFD/#9\uFFFD"}:TAG_INPUT:`;let o;o=$localize` Pick location ${"\uFFFD#12\uFFFD\uFFFD/#12\uFFFD"}:TAG_INPUT:`;let n;n=$localize`How do you want to handle existing files?`;let s;s=$localize` Overwrite ${"\uFFFD#22\uFFFD\uFFFD/#22\uFFFD"}:TAG_INPUT:`;let u;u=$localize` Save different versions with timestamp in file name ${"\uFFFD#25\uFFFD\uFFFD/#25\uFFFD"}:TAG_INPUT:`;let F;F=$localize`Metadata settings`;let I;I=$localize` Restore file metadata ${"\uFFFD#31\uFFFD\uFFFD/#31\uFFFD"}:TAG_INPUT:`;let K;K=$localize` Restore read/write permissions ${"\uFFFD#34\uFFFD\uFFFD/#34\uFFFD"}:TAG_INPUT:`;let Te;Te=$localize`${"\uFFFD#38\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#38\uFFFD"}:CLOSE_TAG_SH_ICON: Go back `;let ge;return ge=$localize`${"\uFFFD#41\uFFFD"}:START_TAG_SH_ICON:arrow-right${"\uFFFD/#41\uFFFD"}:CLOSE_TAG_SH_ICON: Submit `,[["formRef",""],i,e,t,o,n,s,u,F,I,K,Te,ge,[3,"submit","formGroup"],[1,"title-30"],[3,"disallowToggle"],["title",""],[1,"raised","primary"],["type","radio","name","restoreFrom","value","orignal","formControlName","restoreFrom"],["type","radio","name","restoreFrom","value","pickLocation","formControlName","restoreFrom"],[3,"disabled","enableCreateFolder"],["for","path"],["type","text","id","path","formControlName","restoreFromPath"],["type","radio","name","handleExisting","value","overwrite","formControlName","handleExisting"],["type","radio","name","handleExisting","value","saveTimestamp","formControlName","handleExisting"],[1,"primary","raised"],["type","checkbox","formControlName","includeMetadata"],["type","checkbox","formControlName","permissions"],[1,"form-actions"],["shButton","","type","button",3,"click"],["shButton","","type","submit",1,"raised","primary"]]},template:function(e,t){if(e&1){let o=H();r(0,"form",13,0),C("submit",function(){return N(o),f(t.submit())}),r(2,"h3",14),m(3,1),l(),r(4,"app-toggle-card",15),b(5,16),m(6,2),$(),r(7,"sh-radio",17),S(8,3),c(9,"input",18),T(),l(),r(10,"sh-radio",17),S(11,4),c(12,"input",19),T(),l(),r(13,"app-file-tree",20)(14,"label",21),j(15,"Path"),l(),c(16,"input",22),l()(),r(17,"app-toggle-card",15),b(18,16),m(19,5),$(),r(20,"sh-radio",17),S(21,6),c(22,"input",23),T(),l(),r(23,"sh-radio",17),S(24,7),c(25,"input",24),T(),l()(),r(26,"app-toggle-card"),b(27,16),m(28,8),$(),r(29,"sh-toggle",25),S(30,9),c(31,"input",26),T(),l(),r(32,"sh-toggle",25),S(33,10),c(34,"input",27),T(),l()(),r(35,"div",28)(36,"button",29),C("click",function(){return N(o),f(t.goBack())}),S(37,11),c(38,"sh-icon"),T(),l(),r(39,"button",30),S(40,12),c(41,"sh-icon"),T(),l()()()}if(e&2){let o;g("formGroup",t.optionsForm),d(4),g("disallowToggle",!0),d(9),g("disabled",((o=t.optionsFormSignal())==null?null:o.restoreFrom)!=="pickLocation")("enableCreateFolder",!0),d(4),g("disallowToggle",!0),d(22),Ie("loader",t.isSubmitting())}},dependencies:[W,w,A,ve,Ge,G,k,B,x,ne,se,ze,Ve,J,z],styles:["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"],changeDetection:0})};export{Qe as a,Se as b,qe as c,pe as d,Ke as e,de as f,P as g};
package/chunk-FIOBQPE7.js DELETED
@@ -1 +0,0 @@
1
- import{a}from"./chunk-LN26XMBJ.js";import"./chunk-5ZSBXGHQ.js";import"./chunk-FPPZ4BUR.js";import"./chunk-QONLYWYC.js";import"./chunk-EUDKD2JW.js";export{a as BytesPipe};
package/chunk-FSG362SU.js DELETED
@@ -1,2 +0,0 @@
1
- import{d as k,r as w}from"./chunk-RPUPXDQE.js";import{i as U}from"./chunk-OJ3H3ZRA.js";import{H as C,Qc as R,V as E,_ as A,pa as z,r as S}from"./chunk-QONLYWYC.js";import{a as i,b as D}from"./chunk-EUDKD2JW.js";var h=class{constructor(t){this.loader=t}_data=z(void 0);_isLoading=!1;_loaded=!1;load(){return!this._loaded&&!this._isLoading&&(this._isLoading=!0,this.loader().pipe(C(()=>this._isLoading=!1)).subscribe(t=>{this._data.set(t),this._loaded=!0})),this._data.asReadonly()}value(){return this._data.asReadonly()}isLoading(){return this._isLoading}isLoaded(){return this._loaded}reset(){this._data.set(void 0),this._loaded=!1}};var g=class e{#e=A(U);#o=new h(()=>this.getS3Config("Providers"));#n=new h(()=>this.getS3Config("Regions"));#r=new h(()=>this.getS3Config("RegionHosts"));#s=new h(()=>this.getS3Config("StorageClasses"));#i=R(()=>{let t=this.#o.value()(),o=this.#r.value()(),r=[...t??[],...o?.map(n=>({key:`Amazon ${n.key}`,value:n.value}))??[]];return Array.from(new Map(r.map(n=>[n.value,n])).values())});#a=new h(()=>this.getStorjConfig("Satellites"));#l=new h(()=>this.getStorjConfig("AuthenticationMethods"));#c=new h(()=>this.getOpenstackConfig("Providers"));#p=new h(()=>this.getOpenstackConfig("Versions"));#u=new h(()=>this.getGcsConfig("Locations"));#m=new h(()=>this.getGcsConfig("StorageClasses"));getS3AllProviders(){return this.#o.load(),this.#r.load(),this.#i}getS3Providers(){return this.#o.load()}getS3Regions(){return this.#n.load()}getS3RegionHosts(){return this.#r.load()}getS3StorageClasses(){return this.#s.load()}getStorjSatellites(){return this.#a.load()}getStorjAuthenticationMethods(){return this.#l.load()}getOpenstackProviders(){return this.#c.load()}getOpenstackVersions(){return this.#p.load()}getGcsLocations(){return this.#u.load()}getGcsStorageClasses(){return this.#m.load()}getS3Config(t){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"s3-getconfig",requestBody:{"s3-config":t}}).pipe(S(o=>this.#t(o)))}createS3IamUser(t,o){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"s3-iamconfig",requestBody:{"s3-operation":"CanCreateUser","s3-username":t,"s3-password":o}})}createS3PolicyIAM(t){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"s3-iamconfig",requestBody:{"s3-operation":"GetPolicyDoc",path:t}})}getStorjConfig(t){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"storj-getconfig",requestBody:{"storj-config":t}}).pipe(S(o=>this.#t(o)))}getOpenstackConfig(t){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"openstack-getconfig",requestBody:{"openstack-config":t}}).pipe(S(o=>this.#t(o)))}getGcsConfig(t){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"gcs-getconfig",requestBody:{"gcs-config":t}}).pipe(S(o=>this.#t(o)))}#t(t){return(t.Result&&typeof t.Result=="object"&&Object.entries(t.Result).map(([o,r])=>({key:o,value:r})))??[]}static \u0275fac=function(o){return new(o||e)};static \u0275prov=E({token:e,factory:e.\u0275fac,providedIn:"root"})};var s=new w,p={type:"error",message:$localize`Using a leading slash is most likely wrong, and will result in objects being created with a leading slash in the name.`},V={description:$localize`Unknown destination type`,icon:"assets/dest-icons/file-system.png",isDefaultEntry:!0,customFields:{path:{type:"String",name:"path",doubleSlash:p,shortDescription:$localize`Path`,formElement:e=>s.control(e??"")}},mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>{let n=o.startsWith(`${e}:///`)?o.split(`${e}:///`)[1]:o.split(`${e}://`)[1];return i({destinationType:e,custom:{path:n.split("?")[0]}},l(e,t))}}},G=[{key:"file",displayName:$localize`File system`,description:$localize`Store backups on your local file system.`,icon:"assets/dest-icons/file-system.png",searchTerms:"local disk harddrive localdisk filesystem unc server share drive",sortOrder:100,customFields:{path:{type:"FolderTree",name:"path",doubleSlash:p,shortDescription:$localize`File path`,longDescription:$localize`The path to store the backup`,formElement:e=>s.control(e??""),isMandatory:!0}},mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>{let r=o.startsWith("file:///"),n=decodeURIComponent(r?o.split("file:///")[1]:o.split("file://")[1]),u=n.slice(1).startsWith(":\\")||n.slice(1).startsWith(":/")||n.startsWith("\\\\")?n:"/"+n;return i({destinationType:e,custom:{path:u.split("?")[0]}},l(e,t))}}},{key:"ssh",displayName:$localize`SSH`,description:$localize`Store backups with SSH.`,icon:"assets/dest-icons/ssh.png",searchTerms:"sftp scp secure shell",sortOrder:80,customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`The server to connect to`,formElement:e=>s.control(e??""),isMandatory:!0},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`The port to connect to`,formElement:e=>s.control(e??"",[k.required,k.max(65535)])},path:{type:"Path",name:"path",shortDescription:$localize`Folder path`,longDescription:$localize`Folder path`,doubleSlash:{type:"warning",message:$localize`Using a leading slash makes the path absolute, pointing to the root of the filesystem.`},formElement:e=>s.control(e??"")}},dynamicFields:[{name:"auth-username",isMandatory:!0}],advancedFields:[{type:"FileTree",name:"ssh-keyfile",accepts:".key,",shortDescription:$localize`This is a path to a private key file locally on the machine`,longDescription:$localize`This is a path to a private key file locally on the machine`},{type:"FreeText",name:"ssh-key",shortDescription:$localize`SSH private key`,longDescription:$localize`An SSH private key. Supported formats are OpenSSL, OpenSSH, PuTTY, and PEM.`}],mapper:{to:e=>{let{server:t,port:o,path:r}=e.custom;return c(e,t,o,r)},from:(e,t,o)=>{let{server:r,port:n,path:a}=m(t);return i({destinationType:e,custom:{server:r,port:n,path:a}},l(e,t))}}},{key:"s3",displayName:$localize`S3 Compatible`,description:$localize`Store backups in any S3 compatible bucket.`,icon:"assets/dest-icons/s3compat.png",searchTerms:"amazon aws spaces cloud mycloudyplace impossible scaleway hosteurope dunkel dreamhost dincloud poli systems ibm cos storadera wasabi infomaniak infomaniak \u3055\u304F\u3089\u306E\u30AF\u30E9\u30A6\u30C9 seagate lyve digitalocean backblaze b2 cloudian minio linode bunnycdn microsoft azure google storage ibm oracle cloudflare alibaba huawei tencent baidu jd ucloud qiniu aliyun tcloud tencent ",sortOrder:90,customFields:{bucket:{type:"Bucketname",name:"bucket",shortDescription:$localize`Bucket name`,longDescription:$localize`Bucket name`,formElement:e=>s.control(e??""),isMandatory:!0},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Folder path`,longDescription:$localize`Folder path`,formElement:e=>s.control(e??"")}},dynamicFields:[{name:"s3-server-name",order:1,shortDescription:$localize`Server`,longDescription:$localize`The hostname of the S3 compatible server to connect to`,type:"NonValidatedSelectableString",loadOptions:e=>e.get(g).getS3AllProviders(),isMandatory:!0,formElement:e=>s.control(e??"")},{name:"use-ssl",order:2},{name:"auth-username",isMandatory:!0},{name:"auth-password",isMandatory:!0}],advancedFields:[{name:"s3-client",type:"Enumeration",loadOptions:()=>z([{key:"AWS Library",value:"aws"},{key:"MinIO Library",value:"minio"}])},{name:"s3-storage-class",type:"NonValidatedSelectableString",loadOptions:e=>e.get(g).getS3StorageClasses()},{name:"s3-location-constraint",type:"NonValidatedSelectableString",loadOptions:e=>e.get(g).getS3Regions()}],mapper:{to:e=>{let{bucket:t,path:o}=e.custom;return c(e,t,null,o)},from:(e,t,o)=>{let{server:r,path:n}=m(t);return i({destinationType:e,custom:{path:n,bucket:r}},l(e,t))}}},{key:"gcs",displayName:$localize`Google Cloud Storage`,description:$localize`Store backups in Google Cloud Storage.`,icon:"assets/dest-icons/google-cloud.png",oauthField:"authid",searchTerms:"gcp googlecloud",sortOrder:70,customFields:{bucket:{type:"Bucketname",name:"bucket",shortDescription:$localize`Bucket name`,longDescription:$localize`Bucket name`,formElement:e=>s.control(e??""),isMandatory:!0},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Folder path`,longDescription:$localize`Folder path`,formElement:e=>s.control(e??"")}},dynamicFields:[{name:"authid",isMandatory:!0,longDescription:$localize`An OAuth token with access to the Google Cloud Storage. Not required if service account JSON is provided.`}],advancedFields:[{name:"gcs-location",type:"NonValidatedSelectableString",loadOptions:e=>e.get(g).getGcsLocations()},{name:"gcs-storage-class",type:"NonValidatedSelectableString",loadOptions:e=>e.get(g).getGcsStorageClasses()},{name:"gcs-service-account-file",type:"FileTree",accepts:".json,",shortDescription:$localize`Service account JSON file`,longDescription:$localize`Pick the path to a file with service account JSON.`},{name:"gcs-service-account-json",type:"FreeText",shortDescription:$localize`Service account JSON`,longDescription:$localize`Paste the service account JSON here.`}],mapper:{to:e=>{let{bucket:t,path:o}=e.custom;return c(e,t,null,o)},from:(e,t,o)=>{let{server:r,path:n}=m(t);return i({destinationType:e,custom:{path:n,bucket:r}},l(e,t))}}},{key:"googledrive",displayName:$localize`Google Drive`,description:$localize`Store backups in Google Drive.`,icon:"assets/dest-icons/google-drive.png",oauthField:"authid",searchTerms:"gdrive",customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Folder path`,longDescription:$localize`Folder path`,formElement:e=>s.control(e??"")}},dynamicFields:[{name:"authid",type:"Password",isMandatory:!0}],mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>i({destinationType:e,custom:{path:d(t)}},l(e,t))}},{key:"pcloud",displayName:$localize`pCloud`,description:$localize`Store backups in pCloud.`,icon:"assets/dest-icons/pcloud.png",oauthField:"authid",customFields:{server:{type:"Enumeration",name:"server",loadOptions:()=>z([{key:"pCloud Global",value:"api.pcloud.com"},{key:"pCloud Europe",value:"eapi.pcloud.com"}]),shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>s.control(e??""),isMandatory:!0},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Folder path`,longDescription:$localize`Folder path`,formElement:e=>s.control(e??"")}},dynamicFields:[{name:"authid",type:"Password",oauthVersion:2,isMandatory:!0}],mapper:{to:e=>{let{server:t,path:o}=e.custom;return c(e,t,null,o)},from:(e,t,o)=>{let{server:r,path:n}=m(t);return i({destinationType:e,custom:{server:r,path:n}},l(e,t))}}},{key:"azure",displayName:$localize`Azure Blob Storage`,description:$localize`Store backups in Azure Blob Storage.`,icon:"assets/dest-icons/azure.png",searchTerms:"microsoft ms",sortOrder:60,customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Container name`,longDescription:$localize`Container name`,formElement:e=>s.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Account name`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Access key`,isMandatory:!0}],mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>i({destinationType:e,custom:{path:d(t)}},l(e,t))}},{key:"onedrivev2",displayName:$localize`OneDrive`,description:$localize`Store backups in OneDrive.`,icon:"assets/dest-icons/one-drive.png",oauthField:"authid",searchTerms:"micorsoft ms",customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>s.control(e??"")}},dynamicFields:[{name:"authid",isMandatory:!0}],mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>i({destinationType:e,custom:{path:d(t)}},l(e,t))}},{key:"od4b",displayName:$localize`OneDrive Business`,description:$localize`Store backups in OneDrive Business.`,icon:"assets/dest-icons/one-drive.png",searchTerms:"microsoft ms",customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>s.control(e??""),isMandatory:!0},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`Port`,formElement:e=>s.control(e??"")},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>s.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Account name`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Access key`,isMandatory:!0}],mapper:{to:e=>{let{port:t,server:o,path:r}=e.custom;return c(e,o,t,r)},from:(e,t,o)=>{let{server:r,port:n,path:a}=m(t);return i({destinationType:e,custom:{server:r,port:n,path:a}},l(e,t))}}},{key:"mssp",displayName:$localize`Microsoft SharePoint`,description:$localize`Store backups in Microsoft SharePoint.`,icon:"assets/dest-icons/sharepoint.png",searchTerms:"microsoft ms",customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>s.control(e??""),isMandatory:!0},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`Port`,formElement:e=>s.control(e??"")},path:{type:"String",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>s.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Account name`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Access key`,isMandatory:!0}],mapper:{to:e=>{let{port:t,server:o,path:r}=e.custom;return c(e,o,t,r)},from:(e,t,o)=>{let{server:r,port:n,path:a}=m(t);return i({destinationType:e,custom:{server:r,port:n,path:a}},l(e,t))}}},{key:"sharepoint",displayName:$localize`Microsoft SharePoint v2`,description:$localize`Store backups in Microsoft SharePoint.`,icon:"assets/dest-icons/sharepoint.png",oauthField:"authid",searchTerms:"microsoft ms",customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>s.control(e??"")}},dynamicFields:[{name:"site-id",isMandatory:!0},{name:"authid",isMandatory:!0}],mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>i({destinationType:e,custom:{path:d(t)}},l(e,t))}},{key:"dropbox",displayName:$localize`Dropbox`,description:$localize`Store backups in Dropbox.`,icon:"assets/dest-icons/dropbox.png",oauthField:"authid",searchTerms:"dbx",customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>s.control(e??"")}},dynamicFields:[{name:"authid",isMandatory:!0}],mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>i({destinationType:e,custom:{path:d(t)}},l(e,t))}},{key:"box",displayName:$localize`Box.com`,description:$localize`Store backups in Box.com.`,icon:"assets/dest-icons/box-com.png",oauthField:"authid",customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>s.control(e??"")}},dynamicFields:[{name:"authid",isMandatory:!0}],mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>i({destinationType:e,custom:{path:d(t)}},l(e,t))}},{key:"jottacloud",displayName:$localize`Jottacloud`,description:$localize`Store backups in Jottacloud.`,icon:"assets/dest-icons/jottacloud.png",oauthField:"authid",customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>s.control(e??"")}},dynamicFields:[{name:"authid",isMandatory:!0}],mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>i({destinationType:e,custom:{path:d(t)}},l(e,t))}},{key:"b2",displayName:$localize`B2 Cloud Storage`,description:$localize`Store backups in B2 Cloud Storage.`,icon:"assets/dest-icons/backblaze.png",searchTerms:"backblaze",customFields:{bucket:{type:"Bucketname",name:"bucket",shortDescription:$localize`Bucket name`,longDescription:$localize`Bucket name`,formElement:e=>s.control(e??""),isMandatory:!0},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path in the bucket`,longDescription:$localize`Path in the bucket`,formElement:e=>s.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Application ID`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Application Key`,isMandatory:!0}],mapper:{to:e=>{let{bucket:t,path:o}=e.custom;return c(e,t,null,o)},from:(e,t,o)=>{let{server:r,path:n}=m(t);return i({destinationType:e,custom:{path:n,bucket:r}},l(e,t))}}},{key:"e2",displayName:$localize`IDrive e2`,description:$localize`Store backups in IDrive e2.`,icon:"assets/dest-icons/idrive-e2.png",customFields:{bucket:{type:"Bucketname",name:"bucket",shortDescription:$localize`Bucket name`,longDescription:$localize`Bucket name`,formElement:e=>s.control(e??""),isMandatory:!0},path:{type:"String",name:"path",doubleSlash:p,shortDescription:$localize`Path in the bucket`,longDescription:$localize`Path in the bucket`,formElement:e=>s.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Access ID`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Access Secret`,isMandatory:!0}],mapper:{to:e=>{let{bucket:t,path:o}=e.custom;return c(e,t,null,o)},from:(e,t,o)=>{let{server:r,path:n}=m(t);return i({destinationType:e,custom:{bucket:r,path:n}},l(e,t))}}},{key:"mega",displayName:$localize`Mega.nz`,description:$localize`Store backups in Mega.nz.`,icon:"assets/dest-icons/mega-nz.png",sortOrder:-1,customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>s.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Username`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Password`,isMandatory:!0}],mapper:{to:e=>{let t=e.custom.path;return c(e,null,null,t)},from:(e,t,o)=>i({destinationType:e,custom:{path:d(t)}},l(e,t))}},{key:"msgroup",displayName:$localize`Microsoft Office 365 Group`,description:$localize`Store backups in Microsoft Office 365 Group.`,icon:"assets/dest-icons/office-365.png",oauthField:"authid",searchTerms:"ms",customFields:{groupEmail:{type:"Email",name:"groupEmail",shortDescription:$localize`Group email`,longDescription:$localize`Group email`,formElement:e=>s.control(e??"",[k.email]),isMandatory:!0},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>s.control(e??"")}},dynamicFields:[{name:"authid",isMandatory:!0}],mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>i({destinationType:e,custom:{path:d(t)}},l(e,t))}},{key:"cloudfiles",displayName:$localize`Rackspace CloudFiles`,description:$localize`Store backups in Rackspace CloudFiles.`,icon:"assets/dest-icons/rackspace.png",customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>s.control(e??""),isMandatory:!0},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`Port`,formElement:e=>s.control(e??"")},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>s.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Username`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Password`,isMandatory:!0}],mapper:{to:e=>{let{port:t,server:o,path:r}=e.custom;return c(e,o,t,r)},from:(e,t,o)=>{let{server:r,port:n,path:a}=m(t);return i({destinationType:e,custom:{server:r,port:n,path:a}},l(e,t))}}},{key:"rclone",displayName:$localize`Rclone`,description:$localize`Store backups in Rclone.`,icon:"assets/dest-icons/rclone.png",searchTerms:"rcl",dynamicFields:[{name:"rclone-local-repository",shortDescription:$localize`Local repository`,defaultValue:""},{name:"rclone-remote-repository",shortDescription:$localize`Remote repository`,defaultValue:""},{name:"rclone-remote-path",type:"Path",shortDescription:$localize`Path on remote repository`,defaultValue:""}],mapper:{to:e=>{let t=e.dynamic["rclone-remote-repository"],o=e.dynamic["rclone-remote-path"],r=Object.entries(e.dynamic).filter(([n])=>!["rclone-remote-repository","rclone-remote-path"].includes(n));return v(e.destinationType??"rclone",t,null,o,[...Object.entries(e.advanced),...r])},from:(e,t,o)=>{let{advanced:r,dynamic:n}=l(e,t),{server:a,path:u}=m(t);return i({destinationType:e,dynamic:i({"rclone-remote-repository":a,"rclone-remote-path":u},n)},r)}}},{key:"openstack",displayName:$localize`OpenStack Object Storage`,description:$localize`Store backups in OpenStack Object Storage.`,icon:"assets/dest-icons/open-stack.png",searchTerms:"swift",customFields:{bucket:{type:"Bucketname",name:"bucket",shortDescription:$localize`Bucket`,longDescription:$localize`Bucket`,formElement:e=>s.control(e??""),isMandatory:!0}},dynamicFields:[{name:"openstack-authuri",shortDescription:$localize`Auth URI`,type:"Enumeration",loadOptions:e=>e.get(g).getOpenstackProviders(),isMandatory:!0},{name:"openstack-version",shortDescription:$localize`Version`,type:"Enumeration",loadOptions:e=>e.get(g).getOpenstackVersions()},{name:"openstack-domain-name",type:"Hostname",shortDescription:$localize`Domain name`},{name:"openstack-tenant-name",shortDescription:$localize`Tenant name`},{name:"openstack-region",shortDescription:$localize`Region`}],mapper:{to:e=>{let{bucket:t}=e.custom;return c(e,t,null,null)},from:(e,t,o)=>{let{server:r,path:n}=m(t);return i({destinationType:e,custom:{path:n,bucket:r}},l(e,t))}}},{key:"webdav",displayName:$localize`WebDAV`,description:$localize`Store backups in WebDAV.`,icon:"assets/dest-icons/webdav.png",searchTerms:"web dav",customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>s.control(e??""),isMandatory:!0},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`Port`,formElement:e=>s.control(e??"")},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>s.control(e??"")}},dynamicFields:[{name:"use-ssl",shortDescription:$localize`Use SSL`},{name:"auth-username",shortDescription:$localize`Username`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Password`,isMandatory:!0}],mapper:{to:e=>{let{server:t,port:o,path:r}=e.custom;return c(e,t,o,r)},from:(e,t,o)=>{let{server:r,port:n,path:a}=m(t);return i({destinationType:e,custom:{server:r,port:n,path:a}},l(e,t))}}},{key:"aftp",displayName:$localize`Alternative FTP`,description:$localize`Store backups in FTP.`,icon:"assets/dest-icons/ftp.png",searchTerms:"alt file transfer protocol ftps",customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>s.control(e??""),isMandatory:!0},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`Port`,formElement:e=>s.control(e??"")},path:{type:"Path",name:"path",shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,doubleSlash:{type:"warning",message:$localize`Using a leading slash makes the path absolute, pointing to the root of the filesystem.`},formElement:e=>s.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Username`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Password`,isMandatory:!0}],mapper:{to:e=>{let{server:t,port:o,path:r}=e.custom;return c(e,t,o,r)},from:(e,t,o)=>{let{server:r,port:n,path:a}=m(t);return i({destinationType:e,custom:{server:r,port:n,path:a}},l(e,t))}}},{key:"ftp",displayName:$localize`FTP`,description:$localize`Store backups in FTP.`,icon:"assets/dest-icons/ftp.png",searchTerms:"file transfer protocol ftps",customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>s.control(e??""),isMandatory:!0},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`Port`,formElement:e=>s.control(e??"")},path:{type:"Path",name:"path",shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,doubleSlash:{type:"warning",message:$localize`Using a leading slash makes the path absolute, pointing to the root of the filesystem.`},formElement:e=>s.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Username`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Password`,isMandatory:!0}],mapper:{to:e=>{let{port:t,server:o,path:r}=e.custom;return c(e,o,t,r)},from:(e,t,o)=>{let{server:r,port:n,path:a}=m(t);return i({destinationType:e,custom:{server:r,port:n,path:a}},l(e,t))}}},{key:"sia",displayName:$localize`Sia Decentrilized Cloud`,description:$localize`Store backups in Sia Decentrilized Cloud.`,icon:"assets/dest-icons/sia-cloud.png",customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>s.control(e??""),isMandatory:!0}},dynamicFields:["sia-targetpath","sia-password","sia-redundancy"],mapper:{to:e=>{let t=e.custom.server,o=e.dynamic["sia-targetpath"],r=[...Object.entries(e.advanced),...Object.entries(e.dynamic).filter(([n])=>n!=="sia-targetpath")];return v(e.destinationType??"sia",t,null,o,r)},from:(e,t,o)=>i({destinationType:e,custom:{path:d(t)}},l(e,t))}},{key:"cos",displayName:$localize`Tencent COS`,description:$localize`Store backups in Tencent COS.`,icon:"assets/dest-icons/tencent-cloud.png",customFields:{bucket:{name:"bucket",type:"Bucketname",shortDescription:$localize`Bucket`,isMandatory:!0,formElement:e=>s.control(e??"")},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>s.control(e??"")}},dynamicFields:[{name:"cos-region",shortDescription:$localize`Region`},{name:"cos-app-id",shortDescription:$localize`COS App Id`,isMandatory:!0},{name:"cos-secret-id",shortDescription:$localize`COS Secret Id`,isMandatory:!0},{name:"cos-secret-key",shortDescription:$localize`COS Secret Key`,isMandatory:!0}],mapper:{to:e=>{let{bucket:t,path:o}=e.custom,r=D(i({},e),{advanced:D(i({},e.advanced),{"cos-bucket":t})});return c(r,null,null,o)},from:(e,t,o)=>{let r=l(e,t),n=r.advanced["cos-bucket"];return delete r.advanced["cos-bucket"],i({destinationType:e,custom:{path:d(t),bucket:n}},r)}}},{key:"tahoe",displayName:$localize`Tahoe LAFS`,description:$localize`Store backups in Tahoe LAFS.`,icon:"assets/dest-icons/tahoelafs.png",searchTerms:"least authority file system",customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>s.control(e??""),isMandatory:!0},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`Port`,formElement:e=>s.control(e??"")},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>s.control(e??"")}},dynamicFields:[{name:"use-ssl",shortDescription:$localize`Use SSL`}],mapper:{to:e=>{let{server:t,port:o,path:r}=e.custom;return c(e,t,o,r)},from:(e,t,o)=>{let{server:r,port:n,path:a}=m(t);return i({destinationType:e,custom:{server:r,port:n,path:a}},l(e,t))}}},{key:"smb",displayName:$localize`Windows Share (SMB)`,description:$localize`Store backups on SMB storage.`,icon:"assets/dest-icons/smb.png",searchTerms:"cifs samba",customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>s.control(e??""),isMandatory:!0},share:{type:"Hostname",name:"share",shortDescription:$localize`Share Name`,longDescription:$localize`Share Name`,formElement:e=>s.control(e??""),isMandatory:!0},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>s.control(e??"")}},dynamicFields:["transport",{name:"auth-username",isMandatory:!0},{name:"auth-password",isMandatory:!0},"auth-domain"],mapper:{to:e=>{let{share:t,server:o,path:r}=e.custom;return c(e,o,null,M(t,r))},from:(e,t,o)=>{let{server:r,path:n}=m(t),a=n.split("/")[0],u=n.split("/").slice(1).join("/");return i({destinationType:e,custom:{server:r,share:a,path:u}},l(e,t))}}},{key:"cifs",displayName:$localize`CIFS (deprecated)`,description:$localize`Same as SMB backend, but with a different name. Use SMB instead.`,icon:"assets/dest-icons/smb.png",sortOrder:-1,mapper:V.mapper},{key:"filen",displayName:$localize`Filen.io`,description:$localize`Store backups in Filen.io.`,icon:"assets/dest-icons/filen.png",customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on Filen`,longDescription:$localize`Path on Filen`,formElement:e=>s.control(e??"")}},dynamicFields:[{name:"auth-username",isMandatory:!0},{name:"auth-password",isMandatory:!0}],mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>i({destinationType:e,custom:{path:d(t)}},l(e,t))}},{key:"filejump",displayName:$localize`Filejump`,description:$localize`Store backups in Filejump.`,icon:"assets/dest-icons/file-jump.png",customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on Filejump`,longDescription:$localize`Path on Filejump`,formElement:e=>s.control(e??"")}},dynamicFields:[{type:"Password",name:"api-token",shortDescription:$localize`API Token`,longDescription:$localize`Filejump API Token`,formElement:e=>s.control(e??""),isMandatory:!0}],mapper:{to:e=>{let{path:t}=e.custom;return c(e,null,null,t)},from:(e,t,o)=>i({destinationType:e,custom:{path:d(t)}},l(e,t))}},{key:"storj",customKey:"storjAccessGrant",displayName:$localize`Storj Access Grant`,description:$localize`Store backups in Storj Access Grant.`,icon:"assets/dest-icons/storj.png",dynamicFields:[{name:"storj-shared-access",shortDescription:$localize`Access Grant`,isMandatory:!0},{name:"storj-bucket",type:"Bucketname",shortDescription:$localize`Bucket`,isMandatory:!0},{name:"storj-folder",type:"Path",shortDescription:$localize`Path on server`,doubleSlash:p},{name:"storj-satellite",shortDescription:$localize`Satellite`,type:"Enumeration",loadOptions:e=>e.get(g).getStorjSatellites(),isMandatory:!0}],mapper:{to:e=>{let t={"storj-auth-method":"Acccess grant"};return`storj://storj.io/config${F([...Object.entries(e.advanced),...Object.entries(e.dynamic),...Object.entries(t)])}`},from:(e,t,o)=>{let r=l(e,t);return delete r.advanced["storj-auth-method"],i({destinationType:e},r)}}},{key:"storj",customKey:"storjApiKey",displayName:$localize`Storj API Key`,description:$localize`Store backups in Storj API Key.`,icon:"assets/dest-icons/storj.png",dynamicFields:[{name:"storj-satellite",shortDescription:$localize`Satellite`,type:"Enumeration",loadOptions:e=>e.get(g).getStorjSatellites(),isMandatory:!0},{name:"storj-api-key",shortDescription:$localize`API Key`,isMandatory:!0},{name:"storj-secret",shortDescription:$localize`Secret`,isMandatory:!0},{name:"storj-bucket",type:"Bucketname",shortDescription:$localize`Bucket`,isMandatory:!0},{name:"storj-folder",type:"Path",shortDescription:$localize`Path on server`,doubleSlash:p}],mapper:{to:e=>{let t={"storj-auth-method":"API key"};return`storj://storj.io/config${F([...Object.entries(e.advanced),...Object.entries(e.dynamic),...Object.entries(t)])}`},from:(e,t,o)=>{let r=l(e,t);return delete r.advanced["storj-auth-method"],i({destinationType:e},r)}}},{key:"aliyunoss",displayName:$localize`Aliyun OSS`,description:$localize`Store backups in Aliyun OSS`,icon:"assets/dest-icons/aliyun.png",customFields:{bucket:{type:"Bucketname",name:"bucket",shortDescription:$localize`Bucket name`,formElement:e=>s.control(e??""),isMandatory:!0},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path in bucket`,longDescription:$localize`Path in bucket`,formElement:e=>s.control(e??"")}},dynamicFields:[{name:"oss-endpoint",isMandatory:!0},{name:"oss-access-key-id",isMandatory:!0},{name:"oss-access-key-secret",isMandatory:!0}],mapper:{to:e=>{let{bucket:t,path:o}=e.custom,r=D(i({},e),{advanced:D(i({},e.advanced),{"oss-bucket-name":t})});return c(r,null,null,o)},from:(e,t,o)=>{let r=l(e,t),n=r.advanced["oss-bucket-name"];return delete r.advanced["oss-bucket-name"],i({destinationType:e,custom:{path:d(t),bucket:n}},r)}}}],le={".amazonaws.com":"Amazon S3",".mycloudyplace.com":"MyCloudyPlace S3",".impossibleapi.net":"Impossible Cloud S3",".scw.cloud":"Scaleway S3",".hosteurope.de":"Hosteurope S3",".dunkel.de":"Dunkel S3",".dreamhost.com":"DreamHost S3",".dincloud.com":"dinCloud S3",".polisystems.ch":"Poli Systems S3",".softlayer.net":"IBM COS (S3)",".storadera.com":"Storadera S3",".wasabisys.com":"Wasabi S3",".infomaniak.com":"Infomaniak S3",".infomaniak.cloud":"Infomaniak S3",".sakurastorage.jp":"\u3055\u304F\u3089\u306E\u30AF\u30E9\u30A6\u30C9 S3",".lyvecloud.seagate.com":"Seagate Lyve S3",".digitaloceanspaces.com":"DigitalOcean S3",".backblazeb2.com":"Backblaze B2 S3",".cloudian.com":"Cloudian S3",".min.io":"MinIO S3",".linodeobjects.com":"Linode S3",".bunnycdn.com":"BunnyCDN S3",".azure.com":"Microsoft Azure S3",".googleapis.com":"Google Cloud Storage S3",".ibm.com":"IBM Cloud S3",".oracle.com":"Oracle Cloud S3",".cloudflare.com":"Cloudflare S3",".alibaba.com":"Alibaba Cloud S3",".huawei.com":"Huawei Cloud S3",".tencent.com":"Tencent Cloud S3",".baidu.com":"Baidu Cloud S3",".jd.com":"JD Cloud S3",".ucloud.cn":"UCloud S3",".qiniu.com":"Qiniu Cloud S3",".aliyuncs.com":"Aliyun S3",".tcloud.com":"TCloud S3",".tencentcloudapi.com":"Tencent Cloud S3"};function c(e,t,o,r){return v(e.destinationType??"file",t,o,r,[...Object.entries(e.advanced),...Object.entries(e.dynamic)])}function v(e,t,o,r,n){let a=F(n),u=encodeURIComponent(j(t)),$=u==""?"":u+B(o),y=r??"",O=y.slice(1).startsWith(":\\")&&e=="file"?"file:///":`${e}://`,f=M($,I(y));return`${O}${f}${a}`}function N(e){return e==null||e===""?"":e.startsWith("/")?e.substring(1):e}function M(...e){if(e.length===0)return"";if(e.length===1)return e[0]??"";let t="";for(let o of e)o==null||o===""||(t+=t.endsWith("/")||t==""?o:"/"+o);return t}function I(e){return e.split("/").map(encodeURIComponent).join("/")}function d(e){if(e==null||e==="")return"";if(typeof e=="string")try{e=new URL(e)}catch{return""}return decodeURIComponent(e.hostname??"")+decodeURIComponent(e.pathname=="/"?"":e.pathname??"")}function j(e){return e==null||e===""?"":e.endsWith("/")?e.substring(0,e.length-1):e}function B(e){return e==null||e===""?"":":"+e.toString()}function b(e){return G.find(o=>o.key===e||o.customKey===e)??G.find(o=>`${o.key}s`===e)??null??i({key:e,displayName:e},V)}function m(e){return{server:decodeURIComponent(e.hostname),port:e.port,path:N(decodeURIComponent(e.pathname))}}function l(e,t){let o={},r={},n=b(e);return t.searchParams.forEach((a,u)=>{n?.dynamicFields?.some(y=>y===u||y?.name===u)?r[u]=decodeURIComponent(a):o[u]=decodeURIComponent(a)}),{advanced:o,dynamic:r}}function F(e,t=!1){let o=e.map(([n,a])=>`${n}=${a?encodeURIComponent(a.toString()):""}`).join("&");return o?(t?"":"?")+o:""}function me(e){let t=e.destinationType??"";return b(t)?.mapper.to(e)??""}function de(e){let t=e.split("://")[0],o=e.split("://")[1],r=t==="file"?"http://dummy":"http://"+o;if(!o)return null;if(o.startsWith("%")&&t==="file")return b(t).mapper.from(t,new URL("http://localhost"),e);let n=b(t),a="";`${n.key}s`===t&&(a+=r.indexOf("?")===-1?"?":"&",a+="use-ssl=true",e=n.key+e.substring(t.length)),t==="file"&&o.indexOf("?")!==-1&&(a+=a.indexOf("?")===-1?"?":"&",a+=o.split("?")[1]??"");try{let u=new URL(r+a);if(u.host==="undefined")return null;let $=o.split("?")[0].split("/")[0],y=!isNaN(Number(u.host.replaceAll(".",""))),P=$.split("."),O=P.length===4&&P.every(f=>f.length&&f.length<=3&&!isNaN(Number(f))&&parseInt(f)<=255);return y&&!O?null:n.mapper.from(n.key,u,e)}catch(u){return console.error("Error while parsing target path",u),null}}function L(e){return typeof e!="string"||!e.trim()?[]:e.split(`
2
- `).map(t=>t.trim()).filter(t=>t).map(t=>{let[o,...r]=t.split("="),n=r.join("=").trim();return o.trim()?[o.trim(),n]:null}).filter(t=>t!==null)}function he(e){return L(e).map(([t,o])=>({Name:t,Value:o}))}function ge(e){return Object.fromEntries(L(e))}export{b as a,me as b,de as c,he as d,ge as e,le as f};
package/chunk-FYTYEGRJ.js DELETED
@@ -1,3 +0,0 @@
1
- import{a as Se}from"./chunk-E6H2XELA.js";import"./chunk-HHU5JW5J.js";import"./chunk-FSG362SU.js";import{a as Ee}from"./chunk-KXJZEADJ.js";import{h as A}from"./chunk-BNUMPQFL.js";import"./chunk-HYQ6MPYI.js";import{a as Me}from"./chunk-YCORZV4Z.js";import"./chunk-4VY6SMSL.js";import{b as O}from"./chunk-Z27IQRKV.js";import{a as ge}from"./chunk-H7ZKBS2Q.js";import"./chunk-2YGOHGD2.js";import"./chunk-BK2MSH26.js";import"./chunk-3V4DGTSM.js";import"./chunk-6Q6SSTBK.js";import"./chunk-5LX6M65H.js";import"./chunk-LN26XMBJ.js";import"./chunk-S4OFJD2F.js";import"./chunk-6XI3IP27.js";import{b as j,d as q,e as Q}from"./chunk-ABYM5HWA.js";import"./chunk-Z35OG2DV.js";import{B as _e,F as de,G as Ce,K as ce,O as ue,c as Y,e as Z,f as ee,j as te,n as ne,o as ie,p as oe,q as ae,r as re,s as le,t as se,u as me}from"./chunk-RPUPXDQE.js";import{h as pe,i as Ne}from"./chunk-OJ3H3ZRA.js";import"./chunk-I2LW33GO.js";import"./chunk-5ZSBXGHQ.js";import"./chunk-FPPZ4BUR.js";import"./chunk-JYWOYPSQ.js";import{$b as M,Ab as B,Ac as z,Bb as G,Bc as H,Cb as p,Db as a,Eb as n,Fb as r,Jb as f,Kb as F,Mb as y,Rc as W,Sa as m,Tb as g,Ub as E,Vb as C,Wb as v,Xb as U,Zb as x,_ as u,cb as R,ea as S,fa as T,kc as w,pa as D,sc as K,tc as J,uc as X,xb as $,yb as b,zb as k,zc as V}from"./chunk-QONLYWYC.js";import"./chunk-EUDKD2JW.js";var Te=()=>["backup"];function fe(l,t){l&1&&r(0,"sh-progress-bar",12)}function Fe(l,t){if(l&1&&(a(0,"sh-form-field"),r(1,"input",32),n()),l&2){let e=t.$implicit,s=t.$index;m(),p("id",V("filter-",s))("formControl",e)}}function Oe(l,t){if(l&1){let e=y();a(0,"form",13)(1,"sh-select",14)(2,"label",15),C(3,1),n(),r(4,"input",16),n(),a(5,"sh-form-field")(6,"label",17),C(7,2),n(),r(8,"textarea",18),n(),a(9,"sh-form-field")(10,"label",19),C(11,3),n(),r(12,"textarea",20),n()(),a(13,"sh-divider"),C(14,4),n(),a(15,"form",13)(16,"sh-form-field")(17,"label",21),C(18,5),n(),r(19,"input",22),n(),a(20,"sh-form-field")(21,"label",23),C(22,6),n(),r(23,"input",24),n(),a(24,"app-toggle-card",25),f(25,26),C(26,7),F(),f(27,27),B(28,Fe,2,3,"sh-form-field",null,k),F(),n()(),a(30,"p"),g(31,8),r(32,"a",28),E(),n(),a(33,"app-options-list",29),X("optionsChange",function(o){S(e);let c=M();return J(c.settings,o)||(c.settings=o),T(o)}),n(),a(34,"div",30)(35,"button",31),x("click",function(){S(e);let o=M();return T(o.submit())}),g(36,9),r(37,"sh-icon"),E(),n()()}if(l&2){let e=M();p("formGroup",e.baseCmdForm),m(),p("options",e.commandOptions()??H(10,Te))("inlineSearch",!0),m(14),p("formGroup",e.standardFields),m(9),p("disallowToggle",!0),m(4),G(e.standardFields.controls.filters.controls),m(5),K("options",e.settings),p("hasFreeTextSettings",!0),m(2),w("loader",e.isSubmitting()),m(2),v(e.baseCmdForm.value.command),U(36)}}var _=new re,P=class l{#e=u(A);#t=u(Ne);#n=u(q);#i=u(j);#o=u(pe);#a=u(ge);#r=O(this.#i.params);commandOptions=O(this.#o.getApiV1Commandline());isSubmitting=D(!1);optionsFields=this.#e.optionsFields;standardFields=_.group({"backup-id":_.control(""),"backup-name":_.control(""),dbpath:_.control(""),filters:_.array([])});baseCmdForm=_.group({command:_.control("backup"),targetUrl:_.control(""),arguments:_.control("")});finishedLoading=this.#e.finishedLoading;backupId=this.#e.backupId;settings=this.#e.settings;#s=W(()=>{let t=this.#r()?.id;this.#e.backupId.set(t),this.getBackup(t)});getBackup(t){this.#t.getApiV1BackupById({id:t}).subscribe({next:e=>{this.#e.mapScheduleToForm(e.Schedule??null),e.Backup&&(this.#e.mapGeneralToForm(e.Backup),this.mapStandardFieldsToForm(e.Backup),this.mapBaseCmdToForm(e.Backup),this.#e.mapOptionsToForms(e.Backup)),this.#e.finishedLoading.set(!0)}})}mapStandardFieldsToForm(t){this.standardFields.patchValue({dbpath:t.DBPath,"backup-id":t.ID,"backup-name":t.Name}),t.Filters&&t.Filters.length&&t.Filters.map(e=>{this.standardFields.controls.filters.push(_.control(`${e.Include?"":"-"}${e.Expression}`))})}submit(){this.#a.resumeDialogCheck(()=>this.#l())}#l(){this.isSubmitting.set(!0);let t=this.baseCmdForm.value,e=t.targetUrl??"",s=t.arguments?.split(`
2
- `).filter(i=>i.length>0)??[],o=this.standardFields.value,c=o.filters??[],N=[t.command,e,...s,`--backup-name=${o["backup-name"]}`,`--dbpath=${o.dbpath}`,`--backup-id=${o["backup-id"]}`,...c.filter(i=>i).map(i=>i.startsWith("-")?`--exclude=${i?.slice(1)}`:`--include=${i}`),...this.#e.mapFormsToSettings(["backup-id","backup-name","dbpath"]).map(i=>`${i.Name.startsWith("--")?"":"--"}${i.Name}=${i.Value}`),"--disable-module=console-password-input"];this.#t.postApiV1Commandline({requestBody:N}).subscribe(i=>{i.Status==="OK"&&this.#n.navigate(["backup",this.backupId(),"commandline",i.ID])})}mapBaseCmdToForm(t){let e=t.TargetURL??null;e&&this.baseCmdForm.patchValue({targetUrl:e??"",arguments:t.Sources?.join(`
3
- `)??""})}static \u0275fac=function(e){return new(e||l)};static \u0275cmp=R({type:l,selectors:[["app-commandline"]],features:[z([A])],decls:8,vars:1,consts:()=>{let t;t=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SH_ICON: Back `;let e;e=$localize`Command`;let s;s=$localize`TargetUrl`;let o;o=$localize`Commandline Arguments`;let c;c=$localize`Advanced options`;let N;N=$localize`Backup ID`;let i;i=$localize`Backup Name`;let I;I=$localize`Filters`;let h;h=$localize` The backups will be split up into multiple files called volumes. Here you can set the maximum size of the individual volume files. ${"\uFFFD#32\uFFFD"}:START_LINK:Read more${"\uFFFD/#32\uFFFD"}:CLOSE_LINK:`;let L;return L=$localize`${"\uFFFD#37\uFFFD"}:START_TAG_SH_ICON:arrow-right${"\uFFFD/#37\uFFFD"}:CLOSE_TAG_SH_ICON: Run "${"\uFFFD0\uFFFD"}:INTERPOLATION:" command now `,[t,e,s,o,c,N,i,I,h,L,[1,"back"],["type","button","shButton","","routerLink","/",1,"small"],[1,"indeterminate","primary"],[3,"formGroup"],["placeholder","Select a command...",3,"options","inlineSearch"],["for","command"],["type","text","id","command","formControlName","command"],["for","targetUrl"],["id","targetUrl","autocomplete","off","formControlName","targetUrl"],["for","arguments"],["id","arguments","autocomplete","off","formControlName","arguments"],["for","backup-id"],["id","backup-id","formControlName","backup-id"],["for","backup-name"],["id","backup-name","formControlName","backup-name"],[3,"disallowToggle"],["title",""],["content","","formGroupName","filters"],["href","#",1,"sh-primary"],[3,"optionsChange","options","hasFreeTextSettings"],[1,"form-actions"],["shButton","",1,"raised","primary",3,"click"],[3,"id","formControl"]]},template:function(e,s){e&1&&(r(0,"app-status-bar"),a(1,"section")(2,"div",10)(3,"button",11),g(4,0),r(5,"sh-icon"),E(),n()(),$(6,fe,1,0,"sh-progress-bar",12)(7,Oe,38,11),n()),e&2&&(m(6),b(s.finishedLoading()?7:6))},dependencies:[le,te,Y,Z,ee,Ee,Se,Me,se,ne,ie,ae,oe,Q,Ce,_e,de,ue,ce,me],styles:["[_nghost-%COMP%]{display:block}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%;max-width:40rem;padding:2.5rem;gap:1.25rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end}.row-inputs[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.5rem}.row-inputs[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1 0}"],changeDetection:0})};export{P as default};
package/chunk-G6VJHFTW.js DELETED
@@ -1 +0,0 @@
1
- import{a as c}from"./chunk-S4OFJD2F.js";import{za as l}from"./chunk-5ZSBXGHQ.js";import{Qc as r,Rc as o,V as s,Y as n,_ as e,ka as a,pa as t,za as d}from"./chunk-QONLYWYC.js";var m=new n("WindowToken",{providedIn:"root",factory:()=>typeof window<"u"?window:{}});var h=class i{#i=e(m);#t=e(a);#s=e(d);#e=c("darkTheme",null,!0);#o=t(this.#i.innerWidth);isMobile=r(()=>this.#o()<1024);sidenavType=t(this.isMobile()?"overlay":"");isNavOpen=t(!1);isDarkMode=this.#e.asReadonly();darkModeEffect=o(()=>{this.#e()?(this.#t.documentElement.classList.add("dark"),this.#t.documentElement.classList.remove("light")):(this.#t.documentElement.classList.remove("dark"),this.#t.documentElement.classList.add("light"))});isMobileEffect=o(()=>{this.isNavOpen.set(!this.isMobile()),this.sidenavType.set(this.isMobile()?"overlay":"")});constructor(){l(this.#s)&&this.#i?.addEventListener("resize",()=>{this.#o.set(this.#i.innerWidth)})}toggleNav(){this.isNavOpen.set(!this.isNavOpen())}toggleBodyClass(){this.#e.set(!this.isDarkMode())}setDarkMode(){this.#e.set(!0)}setLightMode(){this.#e.set(!1)}static \u0275fac=function(f){return new(f||i)};static \u0275prov=s({token:i,factory:i.\u0275fac,providedIn:"root"})};export{h as a};
package/chunk-GMUNZKVL.js DELETED
@@ -1 +0,0 @@
1
- import{a as Re,c as fe,d as B}from"./chunk-4VY6SMSL.js";import{b as he}from"./chunk-Z27IQRKV.js";import{a as Ne}from"./chunk-2YGOHGD2.js";import"./chunk-BK2MSH26.js";import"./chunk-6Q6SSTBK.js";import"./chunk-5LX6M65H.js";import"./chunk-S4OFJD2F.js";import"./chunk-6XI3IP27.js";import{b as te,d as ne,e as ie}from"./chunk-ABYM5HWA.js";import"./chunk-Z35OG2DV.js";import{A as Ce,B as Ee,G as Pe,K as Se,V as me,X as ge,b as re,c as se,d as g,e as ae,f as _e,j as le,o as ce,q as pe,r as Fe,t as de,u as ue,w as Te}from"./chunk-RPUPXDQE.js";import{d as oe,i as Oe}from"./chunk-OJ3H3ZRA.js";import"./chunk-5ZSBXGHQ.js";import"./chunk-FPPZ4BUR.js";import{$b as u,Bc as ee,Cb as P,Db as a,Eb as r,Fb as l,H as A,Mb as M,P as Q,Qc as $,Rc as G,Sa as s,Tb as c,Ub as p,Vb as S,Wb as y,Xb as L,Yb as X,Zb as m,_ as C,cb as W,ea as w,fa as D,kc as h,nc as x,oc as Y,pa as E,qc as Z,xb as F,yb as d}from"./chunk-QONLYWYC.js";import"./chunk-EUDKD2JW.js";var Ie=()=>["/"];function we(t,o){t&1&&(a(0,"sh-toggle",23),c(1,5),l(2,"input",26),p(),r())}function De(t,o){t&1&&(a(0,"span",29),S(1,9),r())}function xe(t,o){if(t&1&&(a(0,"span",29),S(1,10),r()),t&2){let e=u(2);s(),y(e.exportForm.controls.password.errors==null?null:e.exportForm.controls.password.errors.minlength.requiredLength),L(1)}}function $e(t,o){if(t&1&&l(0,"sh-progress-bar",36),t&2){let e=u(2);h("error",e.calculatePasswordStrength()===1)("warn",e.calculatePasswordStrength()===2)("primary",e.calculatePasswordStrength()===4)("success",e.calculatePasswordStrength()===5),P("value",e.calculatePasswordStrength()*(100/5))}}function Ae(t,o){t&1&&(a(0,"span",29),S(1,11),r())}function Me(t,o){t&1&&(a(0,"span",29),S(1,12),r())}function ye(t,o){if(t&1&&(a(0,"span",29),S(1,13),r()),t&2){let e=u(2);s(),y(e.exportForm.controls.repeatPassword.errors==null?null:e.exportForm.controls.repeatPassword.errors.minlength.requiredLength),L(1)}}function Le(t,o){t&1&&(c(0,7,1),l(1,"sh-icon"),p())}function Xe(t,o){t&1&&(c(0,7,2),l(1,"sh-icon"),p())}function Ge(t,o){t&1&&(c(0,14,1),l(1,"sh-icon",38),p())}function Be(t,o){t&1&&(c(0,14,2),l(1,"sh-icon"),p())}function be(t,o){if(t&1){let e=M();a(0,"button",37),m("click",function(){w(e);let i=u(2);return D(i.copyPassword())}),c(1,14),F(2,Ge,2,0)(3,Be,2,0),p(),r()}if(t&2){let e=u(2);s(2),d(e.copiedPassword()?2:3)}}function ve(t,o){t&1&&(a(0,"sh-alert",35),S(1,15),r())}function ke(t,o){if(t&1){let e=M();a(0,"div",24)(1,"sh-form-field")(2,"label",27),c(3,6),l(4,"sup"),p(),r(),l(5,"input",28),F(6,De,2,0,"span",29)(7,xe,2,1,"span",29),r(),F(8,$e,1,9,"sh-progress-bar",30),a(9,"sh-form-field"),l(10,"input",31),F(11,Ae,2,0,"span",29)(12,Me,2,0,"span",29)(13,ye,2,1,"span",29),r(),a(14,"div",32)(15,"button",33),m("click",function(){w(e);let i=u();return D(i.showPassword.set(!i.showPassword()))}),c(16,7),F(17,Le,2,0)(18,Xe,2,0),p(),r(),a(19,"button",33),m("click",function(){w(e);let i=u();return D(i.generatePassword())}),c(20,8),l(21,"sh-icon"),p(),r(),F(22,be,4,1,"button",34),r(),F(23,ve,2,0,"sh-alert",35),r()}if(t&2){let e=u();s(5),P("type",e.showPassword()?"text":"password"),s(),d(e.exportForm.controls.password.errors!=null&&e.exportForm.controls.password.errors.required?6:e.exportForm.controls.password.errors!=null&&e.exportForm.controls.password.errors.minlength?7:-1),s(2),d(e.exportForm.value.password?8:-1),s(2),P("type",e.showPassword()?"text":"password"),s(),d(e.exportForm.value.repeatPassword&&e.exportForm.value.repeatPassword!==e.exportForm.value.password?11:e.exportForm.controls.repeatPassword.errors!=null&&e.exportForm.controls.repeatPassword.errors.required?12:e.exportForm.controls.repeatPassword.errors!=null&&e.exportForm.controls.repeatPassword.errors.minlength?13:-1),s(6),d(e.showPassword()?17:18),s(5),d(e.showCopyPassword()?22:-1),s(),d(e.exportForm.value.password&&e.exportForm.value.password===e.exportForm.value.repeatPassword?23:-1)}}function Ue(t,o){if(t&1&&(a(0,"div",25)(1,"code"),x(2),r()()),t&2){let e=u();s(2),Y(e.exportedCmd())}}var R=new Fe,b=class t{#o=C(Re);#t=C(Oe);#e=C(te);#n=C(ne);#i=C(oe);#r=C(Ne);isExporting=E(!1);exportType=E("file");exportedCmd=E(null);exportForm=R.group({exportPasswords:R.control(!0),encryption:R.control(!1,[g.required,fe()]),password:R.control("",[B("encryption",!0,[g.required,g.minLength(3)])]),repeatPassword:R.control("",[B("encryption",!0,[g.required,g.minLength(3)])])});exportFormSignal=he(this.exportForm.valueChanges);encryptionFieldSignal=$(()=>(this.exportFormSignal()?.encryption??!1)&&this.exportType()==="file");activeBackup=$(()=>this.#r.backups().find(o=>o.Backup?.ID===this.#e.snapshot.params.id));showPassword=E(!1);copiedPassword=E(!1);showCopyPassword=E(!1);calculatePasswordStrength=$(()=>{let e=this.exportFormSignal()?.password??"";return this.#o.calculatePasswordStrength(e)});showPasswordEffect=G(()=>{this.showPassword()&&this.exportForm.updateValueAndValidity()});disablePasswordForCommandLine=G(()=>{this.exportType()==="cmd"&&this.exportForm.controls.encryption.setValue(!1)});submit(){this.isExporting.set(!0),this.exportType()==="file"?this.#t.postApiV1AuthIssuetokenByOperation({operation:"export"}).pipe(Q(o=>{let e=i=>{let O=Object.entries(i);return O?"?"+O.filter(([N,T])=>T!=null).map(([N,T])=>`${encodeURIComponent(N)}=${encodeURIComponent(T)}`).join("&"):""},n=this.exportFormSignal()?.password?.length?this.exportFormSignal()?.password:void 0;return this.#i.get(`/api/v1/backup/${this.#e.snapshot.params.id}/export${e({"export-passwords":this.exportFormSignal()?.exportPasswords??void 0,passphrase:n,token:o.Token})}`,{responseType:"blob"})}),A(()=>this.isExporting.set(!1))).subscribe({next:o=>{let n=this.activeBackup()?.Backup?.Name??"Backup",i=this.exportFormSignal()?.encryption?"aes":"json";this.downloadFile(o,`${n}-duplicati-config.${i}`),this.#n.navigate(["/"])},error:o=>{}}):this.#t.getApiV1BackupByIdExportCmdline({id:this.#e.snapshot.params.id,exportPasswords:this.exportFormSignal()?.exportPasswords??void 0,passphrase:this.exportFormSignal()?.password??void 0}).pipe(A(()=>this.isExporting.set(!1))).subscribe({next:o=>{this.exportedCmd.set(o.Command??null)},error:o=>{}})}downloadFile(o,e){let n=window.URL.createObjectURL(o),i=document.createElement("a");i.href=n,i.download=e,i.click(),window.URL.revokeObjectURL(n)}async copyPassword(){let o=this.exportForm.controls.password.value;await this.#s(o??""),this.copiedPassword.set(!0)}async#s(o){try{await navigator.clipboard.writeText(o)}catch{try{let n=document.createElement("textarea");n.value=o,document.body.appendChild(n),n.select(),document.execCommand("copy"),document.body.removeChild(n)}catch(n){console.error("Failed to copy text: ",n)}}}generatePassword(){this.copiedPassword.set(!1);let o=this.#o.generate(16);this.exportForm.controls.password.setValue(o),this.exportForm.controls.repeatPassword.setValue(o),this.showCopyPassword.set(!0)}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=W({type:t,selectors:[["app-export"]],decls:26,vars:15,consts:()=>{let o;o=$localize`Remember to copy the password`;let e;e=$localize`${"\uFFFD#6\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#6\uFFFD"}:CLOSE_TAG_SH_ICON: Back `;let n;n=$localize`${"\uFFFD#9\uFFFD"}:START_TAG_SH_ICON:export${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SH_ICON: Export `;let i;i=$localize`${"\uFFFD#16\uFFFD"}:START_TAG_SH_ICON:terminal-window${"\uFFFD/#16\uFFFD"}:CLOSE_TAG_SH_ICON: As command line `;let O;O=$localize`${"\uFFFD#19\uFFFD"}:START_TAG_SH_ICON:file${"\uFFFD/#19\uFFFD"}:CLOSE_TAG_SH_ICON: To file `;let N;N=$localize` Export passwords ${"\uFFFD#22\uFFFD\uFFFD/#22\uFFFD"}:TAG_INPUT:`;let T;T=$localize` Encrypt file ${"\uFFFD#2\uFFFD\uFFFD/#2\uFFFD"}:TAG_INPUT:`;let v;v=$localize`Password`;let k;k=$localize`Repeat password`;let U;U=$localize` Create a password ${"\uFFFD#4\uFFFD"}:START_SUPERSCRIPT:*${"\uFFFD/#4\uFFFD"}:CLOSE_SUPERSCRIPT:`;let f;f=$localize`${"\uFFFD*17:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:eye-slash${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: hide ${"\uFFFD/*17:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*18:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:eye${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: show ${"\uFFFD/*18:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,f=X(f);let K;K=$localize`${"\uFFFD#21\uFFFD"}:START_TAG_SH_ICON:password${"\uFFFD/#21\uFFFD"}:CLOSE_TAG_SH_ICON: Generate password `;let J;J=$localize`Passwords are required`;let z;z=$localize` Passwords must be at least ${"\uFFFD0\uFFFD"}:INTERPOLATION: characters long `;let H;H=$localize`Passwords do not match`;let V;V=$localize`Passwords are required`;let q;q=$localize` Passwords must be at least ${"\uFFFD0\uFFFD"}:INTERPOLATION: characters long `;let I;I=$localize`${"\uFFFD*2:1\uFFFD"}:START_BLOCK_IF:${"\uFFFD#1:1\uFFFD"}:START_TAG_SH_ICON:check${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Copied password ${"\uFFFD/*2:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*3:2\uFFFD"}:START_BLOCK_ELSE:${"\uFFFD#1:2\uFFFD"}:START_TAG_SH_ICON_1:copy${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Copy password ${"\uFFFD/*3:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,I=X(I);let j;return j=$localize` Tip: Be sure to save your password. If you lose it, you will not be able to import the configuration. `,[e,n,i,O,N,T,U,f,K,J,z,H,V,q,I,j,[1,"actions"],["shButton","",1,"outlined",3,"routerLink"],["shButton","","shTooltip",o,1,"raised","primary",3,"click","disabled"],["autocomplete","off",3,"formGroup"],["type","button",3,"click"],[1,"raised","primary"],["type","checkbox","formControlName","exportPasswords"],[1,"primary","raised"],[1,"passwords"],[1,"cmd-output"],["type","checkbox","formControlName","encryption"],["for","password"],["id","password","tabindex","4","autocomplete","off","placeholder",v,"formControlName","password",3,"type"],["error",""],[1,"raised",3,"error","warn","primary","success","value"],["id","repeatPassword","tabindex","5","autocomplete","off","placeholder",k,"formControlName","repeatPassword",3,"type"],[1,"password-actions"],["shButton","","type","button",1,"small",3,"click"],["shButton","","type","button",1,"small","copy"],[1,"primary"],[1,"raised",3,"value"],["shButton","","type","button",1,"small","copy",3,"click"],[1,"sh-success"]]},template:function(e,n){if(e&1&&(a(0,"header")(1,"h3"),x(2," Export backup configuration "),a(3,"div",16)(4,"button",17),c(5,0),l(6,"sh-icon"),p(),r(),a(7,"button",18),m("click",function(){return n.submit()}),c(8,1),l(9,"sh-icon"),p(),r()()(),a(10,"p"),x(11),r()(),a(12,"form",19)(13,"sh-button-group")(14,"button",20),m("click",function(){return n.exportType.set("cmd")}),c(15,2),l(16,"sh-icon"),p(),r(),a(17,"button",20),m("click",function(){return n.exportType.set("file")}),c(18,3),l(19,"sh-icon"),p(),r()(),a(20,"sh-toggle",21),c(21,4),l(22,"input",22),p(),r(),F(23,we,3,0,"sh-toggle",23),F(24,ke,24,8,"div",24),F(25,Ue,3,1,"div",25),r()),e&2){let i;s(4),P("routerLink",ee(14,Ie)),s(3),h("loading",n.isExporting()),P("disabled",n.exportForm.invalid||n.showCopyPassword()&&!n.copiedPassword()||n.encryptionFieldSignal()&&n.exportForm.value.repeatPassword!==n.exportForm.value.password),s(4),Z("#",(i=n.activeBackup())==null||i.Backup==null?null:i.Backup.ID,": ",(i=n.activeBackup())==null||i.Backup==null?null:i.Backup.Name),s(),P("formGroup",n.exportForm),s(2),h("active",n.exportType()==="cmd"),s(3),h("active",n.exportType()==="file"),s(6),d(n.exportType()==="file"?23:-1),s(),d(n.encryptionFieldSignal()?24:-1),s(),d(n.exportedCmd()?25:-1)}},dependencies:[de,le,se,re,ae,_e,ce,pe,ie,Ce,me,ue,Pe,Ee,Te,Se,ge],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:2rem;padding:3rem}h3[_ngcontent-%COMP%]{font:var(--title-30);display:flex;align-items:center;justify-content:space-between}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem;max-width:31.25rem}.passwords[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.password-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;align-items:center}.copy[_ngcontent-%COMP%] sh-icon.sh-success[_ngcontent-%COMP%]{color:var(--success-8)}.hide[_ngcontent-%COMP%]{display:none}"],changeDetection:0})};export{b as default};
package/chunk-H44BDPZE.js DELETED
@@ -1 +0,0 @@
1
- import{a as A}from"./chunk-KXJZEADJ.js";import"./chunk-H7ZKBS2Q.js";import"./chunk-2YGOHGD2.js";import"./chunk-BK2MSH26.js";import"./chunk-3V4DGTSM.js";import"./chunk-6Q6SSTBK.js";import"./chunk-5LX6M65H.js";import"./chunk-LN26XMBJ.js";import"./chunk-S4OFJD2F.js";import"./chunk-6XI3IP27.js";import{c as u,e as N,f as c}from"./chunk-ABYM5HWA.js";import"./chunk-Z35OG2DV.js";import{T as S}from"./chunk-RPUPXDQE.js";import"./chunk-OJ3H3ZRA.js";import"./chunk-I2LW33GO.js";import"./chunk-5ZSBXGHQ.js";import"./chunk-FPPZ4BUR.js";import"./chunk-JYWOYPSQ.js";import{Db as e,Eb as t,Fb as T,Vb as n,cb as g}from"./chunk-QONLYWYC.js";import"./chunk-EUDKD2JW.js";var l=class s{static \u0275fac=function(o){return new(o||s)};static \u0275cmp=g({type:s,selectors:[["app-about"]],decls:19,vars:0,consts:()=>{let i;i=$localize`General`;let o;o=$localize`Changelog`;let r;r=$localize`Libraries`;let C;C=$localize`System info`;let a;a=$localize`Server settings`;let E;E=$localize`Logs`;let O;return O=$localize`Crash log`,[i,o,r,C,a,E,O,[1,"content"],[1,"primary"],["tab","","routerLink","/about/general","routerLinkActive","active"],["tab","","routerLink","/about/changelog","routerLinkActive","active"],["tab","","routerLink","/about/libraries","routerLinkActive","active"],["tab","","routerLink","/about/system-info","routerLinkActive","active"],["tab","","routerLink","/about/server-settings","routerLinkActive","active"],["tab","","routerLink","/about/logs","routerLinkActive","active"],["tab","","routerLink","/about/crashlogs","routerLinkActive","active"]]},template:function(o,r){o&1&&(T(0,"app-status-bar"),e(1,"div",7)(2,"sh-tabs",8)(3,"button",9),n(4,0),t(),e(5,"button",10),n(6,1),t(),e(7,"button",11),n(8,2),t(),e(9,"button",12),n(10,3),t(),e(11,"button",13),n(12,4),t(),e(13,"button",14),n(14,5),t(),e(15,"button",15),n(16,6),t()(),e(17,"section"),T(18,"router-outlet"),t()())},dependencies:[A,S,u,N,c],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:0}.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:1rem 0}.content[_ngcontent-%COMP%] sh-tabs[_ngcontent-%COMP%]{margin:0 2rem 2rem}.content[_ngcontent-%COMP%] section[_ngcontent-%COMP%]{padding:0}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:2rem}"],changeDetection:0})};export{l as default};
package/chunk-HHU5JW5J.js DELETED
@@ -1 +0,0 @@
1
- import{G as j,J as U,a as L,c as w,e as V,i as x,k as z,s as G}from"./chunk-RPUPXDQE.js";import{$b as I,Ab as S,Ac as R,Bb as O,Cb as u,Db as p,Eb as a,Jb as b,Kb as P,Mb as v,Qc as m,Rc as T,Sa as i,Vb as c,Wb as g,Wc as h,Xb as _,Zb as y,ac as D,bc as d,cb as f,ea as C,fa as M,pa as r,sc as F,tc as A,ub as E,uc as $,zb as N}from"./chunk-QONLYWYC.js";var k=[[["label"]],[["","prefix",""]],[["","suffix",""]]],B=["label","[prefix]","[suffix]"];function J(o,e){if(o&1){let t=v();p(0,"button",7),y("click",function(){let s=C(t).$implicit,l=I();return M(l.updateUnit(s.value))}),c(1,1),a()}if(o&2){let t=e.$implicit;i(),g(t.label),_(1)}}var X=[{value:"s",label:$localize`Seconds`},{value:"m",label:$localize`Minutes`},{value:"h",label:$localize`Hours`}],Y=[{value:"Y",label:$localize`Years`},{value:"M",label:$localize`Months`},{value:"W",label:$localize`Weeks`},{value:"D",label:$localize`Days`}],H=["retry-delay","web-timeout","read-write-timeout","run-script-timeout","list-timeout","short-timeout"],W=class o{customId=h();inputType=h();timespan=r(0);#e="D";unit=r(this.#e);unitLabel=m(()=>{let e=this.timeOptions(),t=e.findIndex(n=>n.value===this.unit());return e[t]?.label??this.unit()});isShortTime=m(()=>{let e=this.inputType();return e&&H.includes(e.replace("--",""))});timeOptions=m(()=>this.isShortTime()?X:Y);readonly=r(!1);onChange=()=>{};onTouched=()=>{};onChangeEffect=T(()=>{this.onChange(this.getValue())});inputTypeEffect=T(()=>{let e=this.timeOptions(),t=this.isShortTime()?"s":"D";this.#e=t,this.unit.set(t)});updateUnit(e){this.unit.set(e)}writeValue(e){let t=this.isShortTime();if(e){let n=t?/(\d+)([smh])/i:/^(\d+)([YMWD])$/i,s=e.match(n);s?(this.timespan.set(parseInt(s[1],10)),this.unit.set(s[2])):(this.timespan.set(0),this.unit.set(this.#e))}else this.timespan.set(0),this.unit.set(this.#e)}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.readonly.set(e)}getValue(){return`${this.timespan()}${this.unit()}`}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=f({type:o,selectors:[["app-timespan"]],inputs:{customId:[1,"customId"],inputType:[1,"inputType"]},features:[R([{provide:L,useExisting:o,multi:!0}])],ngContentSelectors:B,decls:11,vars:6,consts:()=>{let e;e=$localize`${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let t;return t=$localize`${"\uFFFD0\uFFFD"}:INTERPOLATION:`,[e,t,["type","number",3,"ngModelChange","id","ngModel","disabled"],[3,"openIndicator"],["shButton","","type","button",1,"trigger"],["menu",""],["shButton","","type","button",1,"small"],["shButton","","type","button",1,"small",3,"click"]]},template:function(t,n){t&1&&(D(k),d(0,0,["ngProjectAs","label",5,["label"]]),p(1,"sh-form-field")(2,"input",2),$("ngModelChange",function(l){return A(n.timespan,l)||(n.timespan=l),l}),a(),d(3,1),d(4,2),a(),p(5,"sh-menu",3)(6,"button",4),c(7,0),a(),b(8,5),S(9,J,2,1,"button",6,N),P(),a()),t&2&&(i(),E("readonly",n.readonly()||void 0),i(),u("id",n.customId()),F("ngModel",n.timespan),u("disabled",n.readonly()),i(3),u("openIndicator",!0),i(2),g(n.unitLabel()),_(7),i(2),O(n.timeOptions()))},dependencies:[U,j,G,w,z,V,x],styles:['[_nghost-%COMP%]{display:grid;grid-template-areas:"label label" "input unit";grid-template-columns:3fr 1fr;gap:.5rem;align-items:flex-end}[_nghost-%COMP%] .label[_ngcontent-%COMP%]{grid-area:label;grid-column:1/-1}[_nghost-%COMP%] sh-form-field[_ngcontent-%COMP%]{grid-area:input}[_nghost-%COMP%] sh-menu[_ngcontent-%COMP%]{grid-area:unit}[_nghost-%COMP%] sh-menu[_ngcontent-%COMP%] button.trigger[_ngcontent-%COMP%]{width:100%}'],changeDetection:0})};export{W as a};
package/chunk-HYQ6MPYI.js DELETED
@@ -1 +0,0 @@
1
- import{a as We}from"./chunk-3V4DGTSM.js";import{a as Ve}from"./chunk-5LX6M65H.js";import{A as Re,B as Ie,G as te,I as Le,K as Ae,O as Be,V as ke,a as Oe,c as U,e as Y,i as Z,k as ye,s as ee,u as xe,y as we,z as De}from"./chunk-RPUPXDQE.js";import{i as $e}from"./chunk-OJ3H3ZRA.js";import{ea as Fe}from"./chunk-5ZSBXGHQ.js";import{$b as p,Ab as he,Ac as Me,B as pe,Bb as _e,Bc as Ne,Cb as O,Cc as Q,Db as c,Dc as ve,Eb as d,Fb as X,H as ne,Jc as Se,Lb as ie,Mb as L,Qc as D,Rc as R,Sa as h,Tb as ge,Ub as me,Vb as A,Vc as se,Wb as fe,Wc as C,Xb as Ce,Xc as le,Zb as x,_ as j,ac as q,bc as w,cb as J,ea as N,fa as v,gc as oe,hb as W,hc as Te,ic as re,jc as K,kc as y,n as ce,nc as b,oc as Ee,pa as P,pc as Pe,qc as be,r as H,sc as B,tc as k,ub as ue,uc as $,x as de,xb as S,yb as F}from"./chunk-QONLYWYC.js";import{a as G,b as z}from"./chunk-EUDKD2JW.js";var qe=["treeContainer"],Ke=["formRef"],Qe=[[["label"]],[["label"]],[["input"]]],Ue=["label","label","input"],Ye=o=>({children:o,level:0}),Ge=o=>({$implicit:o}),Ze=(o,t)=>({children:o,level:t}),et=()=>({maxWidth:"700px",width:"100%"}),tt=(o,t)=>t.id;function nt(o,t){if(o&1){let e=L();c(0,"sh-button-group")(1,"button",19),x("click",function(){N(e);let i=p();return v(i.pathDiscoveryMethod.set("browse"))}),A(2,4),d(),c(3,"button",19),x("click",function(){N(e);let i=p();return v(i.pathDiscoveryMethod.set("path"))}),A(4,5),d()()}if(o&2){let e=p();h(),y("active",e.pathDiscoveryMethod()==="browse"),h(2),y("active",e.pathDiscoveryMethod()==="path")}}function it(o,t){o&1&&X(0,"sh-progress-bar",12)}function ot(o,t){o&1&&(c(0,"sh-icon",24),b(1,"caret-down"),d())}function rt(o,t){o&1&&X(0,"sh-icon",24)}function st(o,t){o&1&&(c(0,"sh-icon",24),b(1,"caret-right"),d())}function lt(o,t){o&1&&(c(0,"sh-icon",22),b(1,"folder-open"),d())}function at(o,t){o&1&&(c(0,"sh-icon",22),b(1,"folder-user"),d())}function ct(o,t){o&1&&(c(0,"sh-icon",22),b(1,"file"),d())}function dt(o,t){o&1&&(c(0,"sh-icon",22),b(1,"folder"),d())}function pt(o,t){if(o&1&&(S(0,ot,2,0,"sh-icon",24)(1,rt,1,0,"sh-icon",24)(2,st,2,0,"sh-icon",24),S(3,lt,2,0,"sh-icon",22)(4,at,2,0,"sh-icon",22)(5,ct,2,0,"sh-icon",22)(6,dt,2,0,"sh-icon",22)),o&2){let e=p(2).$implicit;F(e.children.length?0:e.cls==="file"?1:2),h(3),F(e.children.length?3:e.id==="%HOME%"?4:e.cls==="file"?5:6)}}function ut(o,t){o&1&&(c(0,"sh-icon",22),b(1,"desktop-tower"),d())}function ht(o,t){o&1&&ie(0)}function _t(o,t){if(o&1&&W(0,ht,1,0,"ng-container",13),o&2){let e=p(2).$implicit,n=p().$implicit;p();let i=re(7);O("ngTemplateOutlet",i)("ngTemplateOutletContext",Q(5,Ge,ve(2,Ze,e.children,n.level+1)))}}function gt(o,t){if(o&1){let e=L();c(0,"div",20,3),x("click",function(){N(e);let i=p().$implicit,r=p(2);return v(r.toggleNode(i.id,i))}),c(2,"div",21),S(3,pt,7,2)(4,ut,2,0,"sh-icon",22),d(),c(5,"div",23),x("click",function(i){N(e);let r=p().$implicit,a=p(2);return v(a.toggleSelectedNode(i,r))}),b(6),d()(),S(7,_t,1,7,"ng-container")}if(o&2){let e=p().$implicit,n=p().$implicit,i=p();y("accepted",e.accepted===!0)("active",e.evalState===i.TreeEvalEnum.Included)("indeterminate",e.isIndeterminate)("open",e.children.length)("usually-hidden",e.hidden)("root",n.level===0),h(2),y("file",e.cls==="file"),h(),F(e.id!=="/"?3:4),h(3),Pe(" ",e.text," "),h(),F(e.children.length>0?7:-1)}}function mt(o,t){if(o&1&&S(0,gt,8,17),o&2){let e=t.$implicit,n=p(2);F(e.hidden&&n._showHiddenNodes()||!e.hidden?0:-1)}}function ft(o,t){if(o&1&&(c(0,"sh-list"),he(1,mt,1,1,null,null,tt),d()),o&2){let e=t.$implicit;K("padding-left",e.level*.25,"rem"),h(),_e(e.children)}}function Ct(o,t){o&1&&ie(0)}function Tt(o,t){if(o&1){let e=L();c(0,"sh-toggle",25),x("click",function(){N(e);let i=p();return v(i._showHiddenNodes.set(!i._showHiddenNodes()))}),A(1,6),d()}if(o&2){let e=p();y("active",e._showHiddenNodes()),h(),fe(e.showFiles()?"files":"folders"),Ce(1)}}function Et(o,t){if(o&1){let e=L();c(0,"button",26),x("click",function(){N(e);let i=p();return v(i.openCreateFolderDialog())}),A(1,7),d()}if(o&2){let e=p();O("disabled",!e.isCurrentPathFolder())}}function Pt(o,t){if(o&1){let e=L();c(0,"sh-dialog",27),$("isOpenChange",function(i){N(e);let r=p();return k(r.createFolderDialogOpen,i)||(r.createFolderDialogOpen=i),v(i)}),c(1,"header",28)(2,"h2"),A(3,8),d()(),c(4,"div",29)(5,"div"),b(6," Folder will be created under "),c(7,"pre"),b(8),d()(),c(9,"sh-form-field")(10,"textarea",30),$("ngModelChange",function(i){N(e);let r=p();return k(r.createFolderPath,i)||(r.createFolderPath=i),v(i)}),d()()(),c(11,"footer",31)(12,"button",32),x("click",function(){N(e);let i=p();return v(i.closeCreateFolderDialog(!1))}),b(13,"Cancel"),d(),c(14,"button",33),x("click",function(){N(e);let i=p();return v(i.closeCreateFolderDialog(!0))}),ge(15,9),X(16,"sh-icon"),me(),d()()()}if(o&2){let e,n=p();B("isOpen",n.createFolderDialogOpen),O("options",Ne(5,et)),h(8),Ee(n.currentPath()),h(2),B("ngModel",n.createFolderPath),h(4),O("disabled",!((e=n.createFolderPath())!=null&&e.length))}}var ze=(r=>(r[r.ExcludedByParent=-2]="ExcludedByParent",r[r.Excluded=-1]="Excluded",r[r.None=0]="None",r[r.Included=1]="Included",r[r.IncludedByParent=2]="IncludedByParent",r))(ze||{}),M="/",ae=class o{#t=j($e);#i=j(Ve);#c=j(De);multiSelect=C(!1);disabled=C(!1);showFiles=C(!1);selectFiles=C(!1);accepts=C(null);startingPath=C(null);rootPaths=C([]);initialNodes=C([]);backupSettings=C(null);pathRefreshTrigger=C(!1);showHiddenNodes=C(!1);enableCreateFolder=C(!1);hideShortcuts=C(!1);includes=se();excludes=se();_showHiddenNodes=P(!1);createFolderDialogOpen=P(!1);createFolderPath=P(null);treeContainerRef=le("treeContainer");formRef=le("formRef");pathDiscoveryMethod=P("browse");isLoading=P(!1);currentPath=P("/");#o=P(null);treeSearchQuery=P("");treeNodes=P([]);isWindows=D(()=>this.#i.systemInfo()?.OSType==="Windows");pathDelimiter=D(()=>this.isWindows()?"\\":"/");filterGroups=this.#i.filterGroups();isByBackupSettings=D(()=>{let t=this.backupSettings();return!(t===void 0||t?.id===void 0||t?.time===void 0)});searchableTreeNodes=D(()=>{let t=this.treeSearchQuery();return t?this.treeNodes().filter(e=>e.text?.toLowerCase().includes(t.toLowerCase())):this.treeNodes()});TreeEvalEnum=ze;treeStructure=D(()=>{let t=this.showHiddenNodes(),e=this.currentPath().split("\0").filter(l=>l!==""&&l!==M),n=structuredClone(e);for(let l=0;l<n.length;l++){let f=n[l].slice(1);if(f.startsWith("{")&&f.endsWith("}")){let _=f.slice(1,-1),g=this.filterGroups?.FilterGroups[_];if(g&&g.length){let T=g.map(E=>`-${E}`);n.splice(l,1,...T)}}}let i=this.searchableTreeNodes(),r=this.rootPaths(),a=this.accepts(),m=this.pathDelimiter(),s=[];return r.length>0?s=r.map(l=>{let u=this.#r(n,l,"folder",null);return{id:l,resolvedpath:l,text:l,parentPath:"",children:[],evalState:u,isIndeterminate:!1,cls:this.#e(l,m)?"folder":"file"}}):s=[{id:M,resolvedpath:M,text:$localize`Computer`,parentPath:"",children:[],evalState:0,isIndeterminate:!1,cls:"folder"}],s.map(l=>{let u=new Map;if(!l.id)return;let f=l.id;a&&(l.accepted=!0),u.set(f,l);let _=r.length>0?i.filter(g=>g.parentPath.startsWith(f)):i;for(let g of _){if(!g.id)continue;let T=g.id;if(!g.cls||u.has(T))continue;let E=u.get(g.parentPath),V=g.hidden===!0&&t?0:this.#r(n,T,g.cls,E),I=z(G({},g),{isIndeterminate:this.isIndeterminate(n,T),evalState:V,children:[]});a&&(I.accepted=this.matchAccepts(a,I)),u.set(T,I),E&&E.children.push(I)}return l}),s});#d(t){let e=this.pathDelimiter();return t?t.endsWith(e)||t===M?t:t+e:M}#r(t,e,n,i){if(i&&i.evalState===-1)return-2;let r=0,a=this.pathDelimiter(),m=t.filter(u=>!u.startsWith("-")&&!u.startsWith("+")),s=t.filter(u=>u.startsWith("-")||u.startsWith("+")),l=this.multiSelect();if(m.length===0)return r;for(let u=0;u<m.length;u++){let f=m[u];if(e===f){r=1;break}if(!l||!this.#e(f,a))continue;if(e?.startsWith(f)){r=1;break}}if(s.length===0)return r;for(let u=0;u<s.length;u++){let f=s[u],_=f.slice(1),g=f.startsWith("-")?-1:1;if(this.#e(_,a)){if(n!=="folder")continue;if(e===_){r=g;break}}if(_.startsWith("*")&&_.endsWith(`*${a}`)){if(n!=="folder")continue;let E=_.slice(1,-2);if(E==="")break;if(e?.includes(E+a)){r=g;break}}if(_.startsWith("[.*")&&_.endsWith(`[^\\${a}]*]`)){if(n!=="file")continue;let E=_.slice(3,-7);if(new RegExp(E).test(e)){r=g;break}}if(_.startsWith("[")&&_.endsWith("]")){let E=_.slice(1,-1),V=this.translateCSharpRegex(E);if(new RegExp(`${V}`).test(e)){r=g;break}}if(_.startsWith("*.")){if(n!=="file"||_.replace("*.","").length===0)continue;if(this.#s(e,_,!0)){r=g;break}}if(_==="")continue;if(_===e){r=g;break}if(this.#s(e,_,!0)){r=g;break}}return r}translateCSharpRegex(t){let e=t;e=e.replace(/^@/,"");let n=/\(\?<(?<name>\w+)>(?<pattern>[^)]+)\)/g;return e=e.replace(n,(i,r,a)=>`(${a})`),e=e.replace(/\\/g,"\\\\"),e}isIndeterminate(t,e){return t.filter(n=>!n.startsWith("-")&&this.#e(n,this.pathDelimiter())).some(n=>n.startsWith(e))}isCurrentPathFolder(){let t=this.currentPath();return t?t.endsWith(this.pathDelimiter())||t.startsWith("%")&&t.endsWith("%")&&!t.includes(this.pathDelimiter()):!1}#s(t,e,n=!1){let i=e.replace(/\*/g,".*").replace(/\?/g,".").replace(/\[!([^\]]+)\]/g,"[^$1]");return new RegExp(`${i}${n?"$":""}`).test(t)}showHiddenNodesEffect=R(()=>this._showHiddenNodes.set(this.showHiddenNodes()));pathDiscoveryMethodEffect=R(()=>{let t=this.pathDiscoveryMethod(),e=this.#o();t==="browse"&&e&&this.currentPath.set(e.value)});matchAccepts(t,e){if(!t||e.cls==="folder"||e.id===M)return!0;let n=t.split(",");if(n.length===0)return!0;let i="."+e.id.slice(e.id.indexOf("."));return i?n.some(r=>i.endsWith(r)):!1}currentPathEffect=R(()=>{let t=this.#o();t&&(t.value=this.currentPath(),t.dispatchEvent(new Event("input")))});inputValueChangeAbortController=null;inputRefEffect=R(()=>{let t=this.formRef()?.nativeElement?.querySelector("input");t&&(this.#p(t),this.inputValueChangeAbortController&&this.inputValueChangeAbortController.abort(),this.inputValueChangeAbortController=new AbortController,t.addEventListener("inputValueChanged",e=>{this.currentPath.set(e.detail.value)},{signal:this.inputValueChangeAbortController.signal}),this.#o.set(t),t.autocomplete="off")});ngOnInit(){let t=this.startingPath();if(t)this.currentPath.set(t),this.#_(t);else{let e=this.rootPaths(),n=this.initialNodes();e&&e.length>0?(n&&n.length>0&&this.treeNodes.set(n.map(i=>({id:i.id,leaf:i.leaf,cls:i.cls,text:i.text,iconCls:i.iconCls,fileSize:i.fileSize,resolvedpath:i.resolvedpath,parentPath:this.getParentPath(i.id??"")}))),this.#n(null,e[0])):this.#n(null,M)}}getParentPath(t){let e=this.pathDelimiter(),n=t.split(e);return n.length<=1?M:(n.pop(),n.length!==0&&n.pop(),n.join(e)+e)}toggleSelectedNode(t,e){if(e.id===M||(t.stopPropagation(),e.evalState===-2))return;if(this.selectFiles()&&e.cls==="folder"){this.toggleNode(e.id,e);return}if(this.accepts()&&!e.accepted)return;let i=this.currentPath().split("\0").filter(s=>s!==""&&s!==M),a=this.isChildOfSelected(e)?`-${e.id}`:e.id,m=this.#e(e.id,this.pathDelimiter());if(this.multiSelect())if(i.includes(e.id))this.currentPath.set(i.filter(s=>s!==e.id&&!(m&&s.startsWith(a))).join("\0"));else if(i.some(s=>s==a))this.currentPath.set(i.filter(s=>s!==a).join("\0"));else{let s=m?i.filter(l=>!l.startsWith(e.id)):i;this.currentPath.set([...s,a].join("\0"))}else i.includes(e.id)?this.currentPath.set(i.filter(s=>s!==e.id).join("\0")):this.currentPath.set(e.id)}isChildOfSelected(t){return this.currentPath().split("\0").filter(n=>n!==""&&n!==M&&this.#e(n,this.pathDelimiter())).some(n=>t.id?.startsWith(n)||`-${t.id}`.startsWith(n))}toggleNode(t,e=null){e?.cls==="folder"&&(e?.children.length?this.treeNodes.update(n=>n.filter(i=>!i.id?.startsWith(e.id)||i.id===e.id)):this.#n(e,t))}openCreateFolderDialog(){return this.createFolderPath.set(null),this.createFolderDialogOpen.set(!0),!1}closeCreateFolderDialog(t){if(t&&this.createFolderPath()?.length&&this.isCurrentPathFolder()){let e=this.createFolderPath()?.trim();if(e){let n=this.currentPath(),i=this.#d(e),r=n+i;this.#t.postApiV1RemoteoperationCreate({requestBody:{path:"file://"+r}}).subscribe({next:()=>{this.currentPath.set(r),this.#n(null,n),setTimeout(()=>{this.#l()},500),this.createFolderDialogOpen.set(!1)},error:a=>{let m=a?.message?.match(/user-information\s*:\s*(.*?)(?:\s*,|$)/i),s=m?m[1]:a?.message||$localize`An error occurred while trying to create the folder.`;this.#c.open(We,{data:{title:$localize`Cannot create folder`,message:s,confirmText:$localize`OK`,cancelText:void 0}})}})}}else this.createFolderDialogOpen.set(!1);return!1}#l(){setTimeout(()=>{let e=this.treeContainerRef()?.nativeElement?.querySelector(".active");e&&e.scrollIntoView({behavior:"smooth",block:"center"})},100)}#p(t){return Object.defineProperty(t,"value",{configurable:!0,get(){return Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value").get.call(this)},set(e){return Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value").set.call(this,e),this.dispatchEvent(new CustomEvent("inputValueChanged",{bubbles:!0,cancelable:!0,detail:{value:e}})),e}}),t}#u(t){return this.#t.postApiV1Filesystem({showHidden:!0,requestBody:{path:t},onlyFolders:!this.showFiles()})}#h(t){let e=this.backupSettings();if(this.#i.hasV2ListOperations())return this.#t.postApiV2BackupListFolder({requestBody:{BackupId:e.id,Time:e.time,Paths:t?[t]:null,PageSize:0,Page:0}}).pipe(H(n=>n.Data??[]));{let n={id:e.id+"",prefixOnly:!1,folderContents:!0,time:e.time,filter:t?"@"+t:void 0};return this.#t.getApiV1BackupByIdFiles(n).pipe(H(i=>i.Files??[]))}}#a(t){return this.isByBackupSettings()?this.#h(t):this.#u(t)}#_(t){let e=this.pathDelimiter(),n=t.split("\0").filter(s=>s.startsWith("-")).map(s=>s.slice(1,-1)),r=t.split("\0").filter(s=>!s.startsWith("-")).filter(Boolean).map(s=>{let l=s.split(e);return l.at(-1)!==""&&l.pop(),l}),a=[M];r.forEach(s=>{s.forEach((l,u)=>{let f=s.slice(0,u+1).join(e);f!==""&&(a.includes(f)||a.push(f))})}),this.isLoading.set(!0);let m=a.map(s=>this.#a(s).pipe(H(l=>({status:"success",value:l,url:s})),pe(l=>ce({status:"error",value:l,url:s}))));de(m).pipe(ne(()=>this.isLoading.set(!1))).subscribe({next:s=>{let l=s.filter(f=>f.status==="success"),u=s.filter(f=>f.status==="error");this.treeNodes.update(f=>{let _=l.flatMap(T=>Array.isArray(T.value)?T.value.map(E=>z(G({},E),{parentPath:T.url})):[]),g=[...new Map([...f,..._].map(T=>[T.id,T])).values()];return this.#l(),this.hideShortcuts()?g.filter(T=>!T.id.startsWith("%")):g})}})}#e(t,e){return t.startsWith("%")&&t.endsWith("%")||t.endsWith(e)}#n(t=null,e=M){let n=this.pathDelimiter();this.isLoading.set(!0),this.#a(e).pipe(ne(()=>this.isLoading.set(!1))).subscribe({next:i=>{let r=this.isByBackupSettings()?i.map(a=>({text:a.Path.split(n).filter(m=>m!=="").pop(),id:a.Path,cls:this.#e(a.Path,n)?"folder":"file",leaf:t!==null,resolvedpath:a.Path,hidden:!1})):i;this.treeNodes.update(a=>{let m=r.map(l=>{let u=this.#e(l.id,n)?"folder":"file";return z(G({},l),{cls:u,parentPath:e})}),s=[...new Map([...a,...m].map(l=>[l.id,l])).values()];return this.hideShortcuts()?s.filter(l=>!l.id.startsWith("%")):s})}})}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=J({type:o,selectors:[["app-file-tree"]],viewQuery:function(e,n){e&1&&(oe(n.treeContainerRef,qe,5),oe(n.formRef,Ke,5)),e&2&&Te(2)},hostVars:2,hostBindings:function(e,n){e&2&&y("disabled",n.disabled())},inputs:{multiSelect:[1,"multiSelect"],disabled:[1,"disabled"],showFiles:[1,"showFiles"],selectFiles:[1,"selectFiles"],accepts:[1,"accepts"],startingPath:[1,"startingPath"],rootPaths:[1,"rootPaths"],initialNodes:[1,"initialNodes"],backupSettings:[1,"backupSettings"],pathRefreshTrigger:[1,"pathRefreshTrigger"],showHiddenNodes:[1,"showHiddenNodes"],enableCreateFolder:[1,"enableCreateFolder"],hideShortcuts:[1,"hideShortcuts"]},outputs:{includes:"includes",excludes:"excludes"},ngContentSelectors:Ue,decls:18,vars:17,consts:()=>{let t;t=$localize` Browse path `;let e;e=$localize` Manually type path `;let n;n=$localize` Show hidden ${"\uFFFD0\uFFFD"}:INTERPOLATION: `;let i;i=$localize` Create folder `;let r;r=$localize`Enter new folder path`;let a;return a=$localize` Create folder ${"\uFFFD#16\uFFFD"}:START_TAG_SH_ICON:folder-plus${"\uFFFD/#16\uFFFD"}:CLOSE_TAG_SH_ICON:`,[["treeContainer",""],["recursiveTree",""],["formRef",""],["treeNode",""],t,e,n,i,r,a,[1,"section"],[1,"browse-files"],[1,"indeterminate","primary"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"footer"],[1,"primary","raised","browse-files-toggle",3,"active"],["shButton","","type","button",1,"small","create-folder",3,"disabled"],[1,"form-field"],[3,"isOpen","options"],["type","button",3,"click"],["action","",3,"click"],[1,"icon"],[1,"primary"],[1,"text",3,"click"],[1,"small"],[1,"primary","raised","browse-files-toggle",3,"click"],["shButton","","type","button",1,"small","create-folder",3,"click","disabled"],[3,"isOpenChange","isOpen","options"],["header",""],["content",""],["id","targetUrl","autocomplete","off",3,"ngModelChange","ngModel"],["footer",""],["shButton","","type","button",3,"click"],["shButton","",1,"raised","primary",3,"click","disabled"]]},template:function(e,n){if(e&1&&(q(Qe),S(0,nt,5,4,"sh-button-group"),c(1,"div",10),w(2,0,["ngProjectAs","label",5,["label"]]),c(3,"div",11,0),S(5,it,1,0,"sh-progress-bar",12),W(6,ft,3,2,"ng-template",null,1,Se)(8,Ct,1,0,"ng-container",13),d(),c(9,"div",14),S(10,Tt,2,3,"sh-toggle",15),S(11,Et,2,1,"button",16),d()(),c(12,"div",17,2)(14,"sh-form-field"),w(15,1,["ngProjectAs","label",5,["label"]]),w(16,2,["ngProjectAs","input",5,["input"]]),d()(),S(17,Pt,17,6,"sh-dialog",18)),e&2){let i=re(7);F(n.multiSelect()?-1:0),h(),y("hidden",n.pathDiscoveryMethod()!=="browse"),h(2),y("visualize-accepted",n.accepts()),h(2),F(n.isLoading()?5:-1),h(3),O("ngTemplateOutlet",i)("ngTemplateOutletContext",Q(15,Ge,Q(13,Ye,n.treeStructure()))),h(2),F(!n.accepts()&&!n.isByBackupSettings()?10:-1),h(),F(n.enableCreateFolder()?11:-1),h(),y("hidden",n.pathDiscoveryMethod()!=="path"),h(5),F(n.createFolderDialogOpen()?17:-1)}},dependencies:[Ie,Re,ke,xe,te,Le,Ae,we,Fe,ee,U,Y,Z],styles:['[_nghost-%COMP%]{display:flex;flex-direction:column;gap:1rem}.disabled[_nghost-%COMP%]{opacity:.5;-webkit-user-select:none;user-select:none;pointer-events:none;position:relative}.disabled[_nghost-%COMP%]:before{content:"";position:absolute;inset:0;background:transparent}.fill[_nghost-%COMP%]{height:auto;overflow:hidden;flex:1 0}.fill[_nghost-%COMP%] .section[_ngcontent-%COMP%]{height:auto;overflow:hidden;flex:1 0;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;grid-template-areas:"label toggle" "tree tree"}.fill[_nghost-%COMP%] .browse-files[_ngcontent-%COMP%]{resize:none;height:initial;grid-area:tree}.fill[_nghost-%COMP%] label[_ngcontent-%COMP%]{grid-area:label}.fill[_nghost-%COMP%] sh-toggle[_ngcontent-%COMP%]{grid-area:toggle;flex-direction:row-reverse}.section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.form-field.hidden[_ngcontent-%COMP%]{display:none}.browse-files[_ngcontent-%COMP%]{display:flex;gap:.5rem;padding:.5rem 1rem;height:12.5rem;border:1px solid var(--base-4);border-radius:var(--shape-3);overflow:auto;resize:vertical;background:var(--base-1);position:relative}.browse-files[_ngcontent-%COMP%] sh-progress-bar[_ngcontent-%COMP%]{position:absolute;top:0;left:0;right:0}.browse-files.visualize-accepted[_ngcontent-%COMP%] [action][_ngcontent-%COMP%]:not(.accepted){opacity:.5}.browse-files.visualize-accepted[_ngcontent-%COMP%] [action].accepted[_ngcontent-%COMP%]{opacity:1}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%]{--list-active-bg: var(--base-3);gap:.125rem;padding:0;height:min-content;min-width:min-content}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%]{padding:0;gap:0;border:1px solid transparent}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action].active[_ngcontent-%COMP%]{border-color:transparent;--list-active-bg: var(--primary-2)}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action].indeterminate[_ngcontent-%COMP%]{border-color:var(--primary-4)}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action].usually-hidden[_ngcontent-%COMP%]{opacity:.6}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action].root[_ngcontent-%COMP%]{gap:.25rem}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action].root[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]:has(sh-icon:nth-child(2)){width:3rem}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action].root[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{width:1.5rem}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{flex:1 0;height:100%;width:max-content;display:flex;align-items:center}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{width:3rem;gap:.25rem;height:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%] .icon.file[_ngcontent-%COMP%]{width:3rem;padding:0 .25rem}.browse-files-toggle[_ngcontent-%COMP%]{color:var(--base-9)}.hidden[_ngcontent-%COMP%]{display:none}.footer[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:space-between;align-items:center}'],changeDetection:0})};var bt=[[["label"]],[["","prefix",""]],[["","suffix",""]]],Mt=["label","[prefix]","[suffix]"];function Nt(o,t){if(o&1&&b(0),o&2){let e=t.$implicit,n=p();be("",e.label,"",n.hasPerSecond()?"/s":"")}}var vt=["throttle-upload","throttle-download"],St=[{value:"KB",label:"KB"},{value:"MB",label:"MB"},{value:"GB",label:"GB"},{value:"TB",label:"TB"},{value:"PB",label:"PB"}],Ft=o=>{if(!o||typeof o!="string"||o.length===0)return{size:0,unit:"MB"};let t=o.match(/^(\d+)(bytes|kb|mb|gb|tb|pb|b)$/i);return t&&(t[2].toUpperCase()==="B"||t[2].toUpperCase()==="BYTES")?{size:1,unit:"KB"}:{size:t?parseInt(t[1],10):0,unit:t?t[2].toUpperCase():"MB"}},He=class o{customId=C();inputType=C();timespan=P(0);unit=P("MB");sizeOptions=P(St);readonly=P(!1);hasPerSecond=D(()=>{let t=this.inputType();return t&&vt.includes(t)});onChange=()=>{};onTouched=()=>{};onChangeEffect=R(()=>{this.onChange(this.getValue())});writeValue(t){if(t){let e=Ft(t);e?queueMicrotask(()=>{this.timespan.set(e.size),this.unit.set(e.unit)}):(this.timespan.set(0),this.unit.set("MB"))}else this.timespan.set(0),this.unit.set("MB")}registerOnChange(t){this.onChange=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this.readonly.set(t)}getValue(){return`${this.timespan()}${this.unit()}`}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=J({type:o,selectors:[["app-size"]],inputs:{customId:[1,"customId"],inputType:[1,"inputType"]},features:[Me([{provide:Oe,useExisting:o,multi:!0}])],ngContentSelectors:Mt,decls:9,vars:10,consts:[[1,"label"],["type","number",3,"ngModelChange","id","ngModel","disabled"],["value","value","label","label",3,"options","readonly","isClearable"],["type","text",3,"ngModelChange","ngModel"]],template:function(e,n){e&1&&(q(bt),c(0,"div",0),w(1,0,["ngProjectAs","label",5,["label"]]),d(),c(2,"sh-form-field")(3,"input",1),$("ngModelChange",function(r){return k(n.timespan,r)||(n.timespan=r),r}),d(),w(4,1),w(5,2),d(),c(6,"sh-select",2)(7,"input",3),$("ngModelChange",function(r){return k(n.unit,r)||(n.unit=r),r}),d(),W(8,Nt,1,2,"ng-template"),d()),e&2&&(h(2),ue("readonly",n.readonly()||void 0),h(),O("id",n.customId()),B("ngModel",n.timespan),O("disabled",n.readonly()),h(3),K("--miw",0),O("options",n.sizeOptions())("readonly",n.readonly())("isClearable",!1),h(),B("ngModel",n.unit))},dependencies:[Be,te,ee,U,ye,Y,Z],styles:['[_nghost-%COMP%]{display:grid;grid-template-areas:"label label" "input unit";grid-template-columns:3fr 1fr;gap:.5rem;align-items:flex-end}[_nghost-%COMP%] .label[_ngcontent-%COMP%]{grid-area:label;grid-column:1/-1}[_nghost-%COMP%] sh-form-field[_ngcontent-%COMP%]{grid-area:input}[_nghost-%COMP%] sh-select[_ngcontent-%COMP%]{grid-area:unit}'],changeDetection:0})};export{ae as a,St as b,Ft as c,He as d};
package/chunk-IUK3B6GX.js DELETED
@@ -1 +0,0 @@
1
- import{e as a,f as b}from"./chunk-F5Z5ZAIL.js";import"./chunk-E6H2XELA.js";import"./chunk-HHU5JW5J.js";import"./chunk-FSG362SU.js";import"./chunk-HYQ6MPYI.js";import"./chunk-YCORZV4Z.js";import"./chunk-Z27IQRKV.js";import"./chunk-BK2MSH26.js";import"./chunk-3V4DGTSM.js";import"./chunk-5LX6M65H.js";import"./chunk-LN26XMBJ.js";import"./chunk-6XI3IP27.js";import"./chunk-ABYM5HWA.js";import"./chunk-Z35OG2DV.js";import"./chunk-RPUPXDQE.js";import"./chunk-OJ3H3ZRA.js";import"./chunk-5ZSBXGHQ.js";import"./chunk-FPPZ4BUR.js";import"./chunk-QONLYWYC.js";import"./chunk-EUDKD2JW.js";export{a as createRestoreSelectFilesForm,b as default};
package/chunk-KK24REOX.js DELETED
@@ -1 +0,0 @@
1
- import"./chunk-EUDKD2JW.js";var o=[{path:"",redirectTo:"general",pathMatch:"full"},{path:"general",loadComponent:()=>import("./chunk-DRNYRWHF.js")},{path:"destination",loadComponent:()=>import("./chunk-Z6M25FYI.js")},{path:"source-data",loadComponent:()=>import("./chunk-D4PLSKJA.js")},{path:"schedule",loadComponent:()=>import("./chunk-BB5RQS6P.js")},{path:"options",loadComponent:()=>import("./chunk-MGB2HZP6.js")}];export{o as default};
package/chunk-KXJZEADJ.js DELETED
@@ -1 +0,0 @@
1
- import{a as Pe}from"./chunk-H7ZKBS2Q.js";import{a as Ne}from"./chunk-2YGOHGD2.js";import{a as Oe}from"./chunk-BK2MSH26.js";import{a as Ee}from"./chunk-5LX6M65H.js";import{b as oe}from"./chunk-6XI3IP27.js";import{B as Te,D as pe,G as ce,K as de,L as me,N as ge,O as Ce,c as ae,e as se,i as le,k as _e,s as x,u as re,w as ue,z as Se}from"./chunk-RPUPXDQE.js";import{i as P}from"./chunk-OJ3H3ZRA.js";import{a as fe}from"./chunk-I2LW33GO.js";import{la as ie}from"./chunk-5ZSBXGHQ.js";import{$b as d,Ab as Z,Bb as q,Cb as R,Db as s,Eb as l,Fb as C,Fc as H,Gc as te,H as U,Hc as ne,Mb as D,Qc as G,Sa as _,Tb as E,Ub as O,Vb as S,Vc as k,Yb as Q,Zb as T,_ as c,cb as N,ea as h,fa as M,jc as ee,kc as m,nc as g,pa as p,pc as v,qc as z,sc as b,tc as B,uc as L,xb as I,yb as F,zb as Y}from"./chunk-QONLYWYC.js";function De(a,n){if(a&1){let i=D();s(0,"sh-radio",10),T("click",function(){let t=h(i).$implicit,o=d();return M(o.pauseOption.set(t.value))}),g(1),l()}if(a&2){let i=n.$implicit,e=d();m("active",e.pauseOption()===i.value),_(),v(" ",i.label," ")}}var be=[{label:$localize`5 minutes`,value:"5m"},{label:$localize`10 minutes`,value:"10m"},{label:$localize`15 minutes`,value:"15m"},{label:$localize`30 minutes`,value:"30m"},{label:$localize`1 hour`,value:"1h"},{label:$localize`4 hours`,value:"4h"},{label:$localize`8 hours`,value:"8h"},{label:$localize`24 hours`,value:"24h"},{label:$localize`Until resumed`,value:void 0}],$=class a{#e=c(P);pauseOptions=p(be);closed=k();isSubmitting=p(!1);pauseTransfers=p(!1);pauseOption=p(void 0);submit(){this.isSubmitting.set(!0);let n=this.pauseTransfers()||null,i=this.pauseOption();this.#e.postApiV1ServerstatePause({duration:i,pauseTransfers:n}).pipe(U(()=>this.isSubmitting.set(!1))).subscribe({next:e=>{this.closed.emit()}})}static \u0275fac=function(i){return new(i||a)};static \u0275cmp=N({type:a,selectors:[["app-pause-dialog"]],outputs:{closed:"closed"},decls:17,vars:4,consts:()=>{let n;n=$localize`Pause settings`;let i;i=$localize` Also pause transfers `;let e;e=$localize`If you pause transfers they could time out and cause retries or failures.`;let t;t=$localize`Cancel`;let o;return o=$localize` Update settings `,[n,i,e,t,o,["header",""],["content",""],[1,"radios"],[1,"primary","raised",3,"active"],[1,"check-wrap"],[1,"primary","raised",3,"click"],["type","warning"],["footer",""],["shButton","",3,"click"],["shButton","",1,"raised","primary",3,"click"]]},template:function(i,e){i&1&&(s(0,"header",5)(1,"h3"),S(2,0),l()(),s(3,"div",6)(4,"div",7),Z(5,De,2,3,"sh-radio",8,Y),l(),s(7,"div",9)(8,"sh-checkbox",10),T("click",function(){return e.pauseTransfers.set(!e.pauseTransfers())}),S(9,1),l(),s(10,"sh-alert",11),S(11,2),l()()(),s(12,"footer",12)(13,"button",13),T("click",function(){return e.closed.emit()}),S(14,3),l(),s(15,"button",14),T("click",function(){return e.submit()}),S(16,4),l()()),i&2&&(_(5),q(e.pauseOptions()),_(3),m("active",e.pauseTransfers()),_(7),m("loader",e.isSubmitting()))},dependencies:[x,me,pe,ue],styles:["[_nghost-%COMP%]{--dialog-p: 1.5rem;display:block}h3[_ngcontent-%COMP%]{font:var(--title-30)}.radios[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.check-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;padding:2rem 0 0}"],changeDetection:0})};var Me={Byte:"B",KByte:"KB",MByte:"MB",GByte:"GB",TByte:"TB",PByte:"PB"},Be=["mbps","gbps"],Ie=8,V=1024,w=V*1024,W=w*1024,K=W*1024,Fe=K*1024,Le={B:1,KB:V,MB:w,GB:W,TB:K,PB:Fe},Ge=1e3,X=Ge*1e3,J=X*1e3,ye=[{threshold:Fe,unitPrefix:"PByte"},{threshold:K,unitPrefix:"TByte"},{threshold:W,unitPrefix:"GByte"},{threshold:w,unitPrefix:"MByte"},{threshold:V,unitPrefix:"KByte"},{threshold:1,unitPrefix:"Byte"}],y=class a{#e=c(P);closed=k();isSubmitting=p(!1);sizeOptions=p([...Be]);maxUpload=p(0);maxDownload=p(0);maxUploadUnit=p("mbps");maxDownloadUnit=p("mbps");ngOnInit(){this.init()}convertToBitsPerSecondUnits(n,i){let t=n*(Le[i.toUpperCase()]||w)*Ie;return t===0?{value:0,unit:"mbps"}:t>=J?{value:parseFloat((t/J).toFixed(2)),unit:"gbps"}:{value:parseFloat((t/X).toFixed(2)),unit:"mbps"}}convertFromBitsPerSecondUnits(n,i){let e=0;switch(i){case"gbps":e=n*J;break;case"mbps":e=n*X;break}let t=e/Ie;if(t===0)return{valueForApi:0,unitPrefixForApi:"Byte"};for(let{threshold:o,unitPrefix:r}of ye)if(t>=o)return{valueForApi:Math.round(t/o),unitPrefixForApi:r};return{valueForApi:Math.round(t),unitPrefixForApi:"Byte"}}init(){this.#e.getApiV1Serversettings().subscribe({next:n=>{let i=n?.["max-upload-speed"],e=n?.["max-download-speed"];if(i&&i!==""){let t=i.match(/^(\d+(?:\.\d+)?)([A-Za-z]+)$/);if(t){let o=parseFloat(t[1]),r=t[2],u=this.convertToBitsPerSecondUnits(o,r);this.maxUpload.set(u.value),this.maxUploadUnit.set(u.unit)}else console.warn("Unexpected max-upload-speed format from API:",i),this.resetUpload()}else this.resetUpload();if(e&&e!==""){let t=e.match(/^(\d+(?:\.\d+)?)([A-Za-z]+)$/);if(t){let o=parseFloat(t[1]),r=t[2],u=this.convertToBitsPerSecondUnits(o,r);this.maxDownload.set(u.value),this.maxDownloadUnit.set(u.unit)}else console.warn("Unexpected max-download-speed format from API:",e),this.resetDownload()}else this.resetDownload()},error:n=>{console.error("Failed to get server settings:",n),this.resetDownload(),this.resetUpload()}})}resetDownload(){this.maxDownload.set(0),this.maxDownloadUnit.set("mbps")}resetUpload(){this.maxUpload.set(0),this.maxUploadUnit.set("mbps")}blockDecimalKeys(n){if([".",","].includes(n.key))return n.preventDefault()}cleanupInputAfterPasting(n){n.preventDefault();let i=n.clipboardData?.getData("text/plain");if(!i)return;let e=i.replaceAll(/[\.,]/g,"");n.target.value=e}submit(){this.isSubmitting.set(!0);let n="",i="",e=this.maxUpload()??0,t=this.maxUploadUnit(),o=this.maxDownload()??0,r=this.maxDownloadUnit();if(e>0){let{valueForApi:u,unitPrefixForApi:f}=this.convertFromBitsPerSecondUnits(e,t),A=Me[f];A?n=`${u}${A}`:console.error(`Invalid unit prefix for API submission (upload): ${f}. Defaulting to empty string.`)}if(o){let{valueForApi:u,unitPrefixForApi:f}=this.convertFromBitsPerSecondUnits(o,r),A=Me[f];A?i=`${u}${A}`:console.error(`Invalid unit prefix for API submission (download): ${f}. Defaulting to empty string.`)}this.#e.patchApiV1Serversettings({requestBody:{"max-upload-speed":n,"max-download-speed":i}}).pipe(U(()=>this.isSubmitting.set(!1))).subscribe({next:()=>{this.closed.emit(!0)},error:u=>{console.error("Failed to submit throttle settings:",u)}})}static \u0275fac=function(i){return new(i||a)};static \u0275cmp=N({type:a,selectors:[["app-throttle-settings-dialog"]],outputs:{closed:"closed"},decls:26,vars:10,consts:()=>{let n;n=$localize`Throttle network speed`;let i;i=$localize`We will round bits to the nearest byte value.`;let e;e=$localize`Max upload speed`;let t;t=$localize`Max download speed`;let o;o=$localize`Cancel`;let r;return r=$localize` Update settings `,[n,i,e,t,o,r,["content",""],[1,"column"],[1,"field-row"],["type","number",3,"paste","keydown","ngModelChange","ngModel"],[3,"isClearable","options"],["type","text",3,"ngModelChange","ngModel"],["footer",""],["shButton","",3,"click"],["shButton","",1,"raised","primary",3,"click"]]},template:function(i,e){i&1&&(s(0,"header")(1,"h3"),S(2,0),l(),s(3,"p"),S(4,1),l()(),s(5,"div",6)(6,"div",7)(7,"div",8)(8,"label"),S(9,2),l(),s(10,"sh-form-field")(11,"input",9),T("paste",function(o){return e.cleanupInputAfterPasting(o)})("keydown",function(o){return e.blockDecimalKeys(o)}),L("ngModelChange",function(o){return B(e.maxUpload,o)||(e.maxUpload=o),o}),l()(),s(12,"sh-select",10)(13,"input",11),L("ngModelChange",function(o){return B(e.maxUploadUnit,o)||(e.maxUploadUnit=o),o}),l()()(),s(14,"div",8)(15,"label"),S(16,3),l(),s(17,"sh-form-field")(18,"input",9),T("paste",function(o){return e.cleanupInputAfterPasting(o)})("keydown",function(o){return e.blockDecimalKeys(o)}),L("ngModelChange",function(o){return B(e.maxDownload,o)||(e.maxDownload=o),o}),l()(),s(19,"sh-select",10)(20,"input",11),L("ngModelChange",function(o){return B(e.maxDownloadUnit,o)||(e.maxDownloadUnit=o),o}),l()()()()(),s(21,"footer",12)(22,"button",13),T("click",function(){return e.closed.emit(!1)}),S(23,4),l(),s(24,"button",14),T("click",function(){return e.submit()}),S(25,5),l()()),i&2&&(_(11),b("ngModel",e.maxUpload),_(),R("isClearable",!1)("options",e.sizeOptions()),_(),b("ngModel",e.maxUploadUnit),_(5),b("ngModel",e.maxDownload),_(),R("isClearable",!1)("options",e.sizeOptions()),_(),b("ngModel",e.maxDownloadUnit),_(4),m("loader",e.isSubmitting()))},dependencies:[x,ae,_e,se,le,ce,Ce],styles:['[_nghost-%COMP%]{display:block}h3[_ngcontent-%COMP%]{font:var(--title-30)}header[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:1rem;gap:.5rem;margin-bottom:1rem}.column[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.field-row[_ngcontent-%COMP%]{display:grid;grid-template-areas:"label label" "input select";grid-template-columns:1fr auto;align-items:center;gap:.5rem;width:100%}.field-row[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{grid-area:label}.field-row[_ngcontent-%COMP%] sh-form-field[_ngcontent-%COMP%]{grid-area:input}.field-row[_ngcontent-%COMP%] sh-select[_ngcontent-%COMP%]{grid-area:select}'],changeDetection:0})};function Ue(a,n){if(a&1&&(s(0,"div"),g(1),l(),C(2,"sh-progress-bar",11)),a&2){let i=d();_(),z("",i.statusData().actionText," - ",i.statusData().statusText),_(),R("value",i.statusData().progress*100)}}function ve(a,n){if(a&1&&(s(0,"div",7),g(1),s(2,"sh-icon"),g(3,"clock"),l(),g(4),H(5,"relativeTime"),H(6,"date"),l()),a&2){let i,e=d();_(),v(" ",(i=e.nextBackup().backup)==null||i.Backup==null?null:i.Backup.Name," - "),_(3),z(" ",te(5,3,e.nextBackup().time)," at ",ne(6,5,e.nextBackup().time,"shortTime")," ")}}function ke(a,n){a&1&&(s(0,"div",7),S(1,1),l())}function xe(a,n){a&1&&(s(0,"div",8),E(1,2),C(2,"sh-spinner"),O(),l()),a&2&&(_(2),ee("--spinner-size","12px")("--spinner-thickness","2px"))}function $e(a,n){if(a&1){let i=D();s(0,"button",10),T("click",function(){h(i);let t=d(2);return M(t.abort())}),E(1,3),C(2,"sh-icon"),O(),l()}}function we(a,n){if(a&1){let i=D();s(0,"button",10),T("click",function(){h(i);let t=d(2);return M(t.stop())}),E(1,4),C(2,"sh-icon"),O(),l()}}function ze(a,n){if(a&1&&I(0,$e,3,0,"button",12)(1,we,3,0,"button",12),a&2){let i=d();F(i.isStopping()?0:1)}}function He(a,n){a&1&&(E(0,0,1),C(1,"sh-icon"),O())}function Je(a,n){a&1&&(E(0,0,2),C(1,"sh-icon"),O())}var Re=new Date,j=class a{#e=c(P);#t=c(Pe);#n=c(Se);#a=c(Ne);#s=c(oe);#l=c(Ee);#i=c(Oe);minsAgo=Re.setMinutes(Re.getMinutes()-1);statusData=this.#t.statusData;serverState=this.#t.serverState;clientIsRunning=this.#t.clientIsRunning;isResuming=this.#t.isResuming;runningTask=G(()=>this.#i.serverState()?.ActiveTask?.Item1);isStopping=G(()=>this.runningTask()==this.#o());#o=p(-1);pgState=G(()=>this.#i.serverState());nextBackup=G(()=>{let n=this.#a.backups();return{backup:this.serverState()?.ProposedSchedule?.[0]?.backup,time:this.serverState()?.ProposedSchedule?.[0]?.Item2}});openThrottleSettingsDialog(){this.#n.open(y,{maxWidth:"550px",width:"100%"})}openPauseDialog(){this.#n.open($,{maxWidth:"550px",width:"100%"})}pauseResume(){if(this.clientIsRunning()){this.openPauseDialog();return}this.#t.pauseResume().subscribe()}stop(){let n=this.runningTask();n&&(this.#o.set(n),this.#e.postApiV1TaskByTaskidStop({taskid:n}).subscribe())}abort(){let n=this.runningTask();n&&this.#e.postApiV1TaskByTaskidAbort({taskid:n}).subscribe()}ngAfterViewInit(){let n=this.#s.relayIsEnabled()||!this.#l.hasWebSocket()?"longpoll":"websocket";this.#t.setConnectionMethod(n)}static \u0275fac=function(i){return new(i||a)};static \u0275cmp=N({type:a,selectors:[["app-status-bar"]],decls:15,vars:5,consts:()=>{let n;n=$localize`${"\uFFFD*10:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:pause${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Pause ${"\uFFFD/*10:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*11:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:play${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Start ${"\uFFFD/*11:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,n=Q(n);let i;i=$localize`No scheduled tasks`;let e;e=$localize` Loading ${"\uFFFD#2\uFFFD"}:START_TAG_SH_SPINNER:${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_SPINNER:`;let t;t=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:skull${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON: Abort `;let o;return o=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:stop${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON: Stop `,[n,i,e,t,o,[1,"current-backup"],[1,"current-backup-progress"],[1,"label"],[1,"label","label-loading"],[1,"current-backup-actions"],["shButton","",3,"click"],[1,"raised","primary",3,"value"],["shButton",""]]},template:function(i,e){if(i&1&&(s(0,"div",5)(1,"div",6),I(2,Ue,3,3)(3,ve,7,8,"div",7)(4,ke,2,0,"div",7)(5,xe,3,4,"div",8),l(),s(6,"div",9),I(7,ze,2,1),s(8,"button",10),T("click",function(){return e.pauseResume()}),E(9,0),I(10,He,2,0)(11,Je,2,0),O(),l(),s(12,"button",10),T("click",function(){return e.openThrottleSettingsDialog()}),s(13,"sh-icon"),g(14,"speedometer"),l()()()()),i&2){let t;_(2),F((t=e.serverState())!=null&&t.ActiveTask&&(!((t=e.statusData())==null||t.task==null)&&t.task.Status)&&((t=e.statusData())==null||t.task==null?null:t.task.Status)!=="Completed"?2:e.nextBackup().backup||e.nextBackup().time?3:(t=e.serverState())!=null&&t.ActiveTask?5:4),_(5),F(e.runningTask()?7:-1),_(),m("loader",e.isResuming()),_(2),F(e.clientIsRunning()?10:11)}},dependencies:[de,re,Te,ge,fe,ie],styles:["[_nghost-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:1rem;min-height:3.875rem;border-bottom:1px solid var(--base-4);position:sticky;top:0;z-index:2000;background:var(--base-1)}.current-backup[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;width:100%;gap:.5rem}.current-backup-progress[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;min-width:18.75rem;flex:1 0}.current-backup-progress[_ngcontent-%COMP%] sh-progress-bar[_ngcontent-%COMP%]{max-width:18.75rem;width:100%}.current-backup-progress[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}.current-backup-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}.label-loading[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem}"],changeDetection:0})};export{j as a};
package/chunk-M7QQEZOU.js DELETED
@@ -1 +0,0 @@
1
- import{a}from"./chunk-I2LW33GO.js";import"./chunk-5ZSBXGHQ.js";import"./chunk-FPPZ4BUR.js";import"./chunk-JYWOYPSQ.js";import"./chunk-QONLYWYC.js";import"./chunk-EUDKD2JW.js";export{a as RelativeTimePipe};
package/chunk-MGB2HZP6.js DELETED
@@ -1 +0,0 @@
1
- import{a as _e}from"./chunk-E6H2XELA.js";import{a as le}from"./chunk-HHU5JW5J.js";import"./chunk-FSG362SU.js";import{h as ae}from"./chunk-BNUMPQFL.js";import{b as oe,c as ie,d as se}from"./chunk-HYQ6MPYI.js";import"./chunk-YCORZV4Z.js";import"./chunk-4VY6SMSL.js";import"./chunk-Z27IQRKV.js";import"./chunk-3V4DGTSM.js";import"./chunk-6Q6SSTBK.js";import"./chunk-5LX6M65H.js";import{b as W,d as V}from"./chunk-ABYM5HWA.js";import"./chunk-Z35OG2DV.js";import{B as ee,G as ne,O as te,c as H,e as q,i as Y,k as j,s as Q,u as Z}from"./chunk-RPUPXDQE.js";import"./chunk-OJ3H3ZRA.js";import"./chunk-5ZSBXGHQ.js";import"./chunk-FPPZ4BUR.js";import{$b as p,Bc as U,Cb as m,Db as t,Eb as i,Fb as O,Mb as h,Qc as J,Sa as c,Tb as S,Ub as C,Vb as r,Xc as X,Zb as I,_ as g,cb as z,ea as N,fa as P,gc as v,hc as x,kc as K,pa as B,sc as u,tc as d,uc as T,xb as E,yb as f}from"./chunk-QONLYWYC.js";import"./chunk-EUDKD2JW.js";var re=["formRef"],ce=()=>["--skip-files-larger-than","dblock-size","encryption-module","no-encryption","--no-encryption","compression-module","--exclude-files-attributes","keep-time","keep-versions","retention-policy"];function pe(a,l){a&1&&(S(0,1,1),O(1,"sh-icon",20),C())}function ue(a,l){a&1&&(t(0,"p",21),r(1,6),i())}function de(a,l){a&1&&(t(0,"p"),r(1,7),i())}function Te(a,l){if(a&1){let n=h();t(0,"p"),r(1,8),i(),t(2,"app-timespan",18),T("ngModelChange",function(s){N(n);let o=p();return d(o.optionsFields.backupRetentionTime,s)||(o.optionsFields.backupRetentionTime=s),P(s)}),t(3,"label",30),r(4,9),i()()}if(a&2){let n=p();c(2),m("customId","backupRetentionTime"),u("ngModel",n.optionsFields.backupRetentionTime)}}function Se(a,l){if(a&1){let n=h();t(0,"p"),r(1,10),i(),t(2,"sh-form-field")(3,"label",31),r(4,11),i(),t(5,"input",32),T("ngModelChange",function(s){N(n);let o=p();return d(o.optionsFields.backupRetentionVersions,s)||(o.optionsFields.backupRetentionVersions=s),P(s)}),i()()}if(a&2){let n=p();c(5),u("ngModel",n.optionsFields.backupRetentionVersions)}}function Ce(a,l){a&1&&(t(0,"p"),r(1,12),i())}function me(a,l){if(a&1){let n=h();t(0,"p"),r(1,13),i(),t(2,"sh-form-field")(3,"p"),r(4,14),i(),t(5,"label",33),r(6,15),i(),t(7,"input",34),T("ngModelChange",function(s){N(n);let o=p();return d(o.optionsFields.backupRetentionCustom,s)||(o.optionsFields.backupRetentionCustom=s),P(s)}),i()()}if(a&2){let n=p();c(7),u("ngModel",n.optionsFields.backupRetentionCustom)}}var Oe=[{value:"all",name:$localize`Keep all backups`},{value:"time",name:$localize`Delete backups that are older than`},{value:"versions",name:$localize`Keep a specific number of backups`},{value:"smart",name:$localize`Smart backup retention`},{value:"custom",name:$localize`Custom backup retention`}],ge=1024*1024*1024*2,Ne=1024*1024*5,F=class a{#e=g(ae);#n=g(V);#t=g(W);formRef=X.required("formRef");isSubmitting=this.#e.isSubmitting;settings=this.#e.settings;optionsFields=this.#e.optionsFields;applicationOptions=this.#e.applicationOptions;retentionOptions=B(Oe);exceededVolumeSize=J(()=>{let{size:l,unit:n}=ie(this.optionsFields.remoteVolumeSize());if(l==null||n===null||n===void 0)return!1;let e=l*Math.pow(1024,oe.findIndex(s=>s.value===n));return e>ge||e<Ne});goBack(){this.#n.navigate(["schedule"],{relativeTo:this.#t.parent})}submit(){this.#e.submit()}static \u0275fac=function(n){return new(n||a)};static \u0275cmp=z({type:a,selectors:[["app-advanced-options-settings"]],viewQuery:function(n,e){n&1&&v(e.formRef,re,5),n&2&&x()},decls:30,vars:16,consts:()=>{let l;l=$localize`Options`;let n;n=$localize` Remote volume size ${"\uFFFD*7:1\uFFFD"}:START_BLOCK_IF:${"\uFFFD#1:1\uFFFD"}:START_TAG_SH_ICON:warning${"\uFFFD/#1:1\uFFFD"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*7:1\uFFFD"}:CLOSE_BLOCK_IF:`;let e;e=$localize` The backups will be split up into multiple files called volumes. Here you can set the maximum size of the individual volume files. ${"\uFFFD#11\uFFFD"}:START_LINK: Read more ${"\uFFFD#12\uFFFD"}:START_TAG_SH_ICON:arrow-square-out${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#11\uFFFD"}:CLOSE_LINK:`;let s;s=$localize`Backup retention`;let o;o=$localize`${"\uFFFD#26\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#26\uFFFD"}:CLOSE_TAG_SH_ICON: Go back `;let M;M=$localize`${"\uFFFD#29\uFFFD"}:START_TAG_SH_ICON:arrow-right${"\uFFFD/#29\uFFFD"}:CLOSE_TAG_SH_ICON: Submit `;let R;R=$localize` The chosen size is outside the recommended range. This may cause performance issues, excessively large temporary files or other problems. `;let A;A=$localize`Nothing will be deleted. The backup size will grow with each change.`;let b;b=$localize`If at least one newer backup is found, all backups older than this date are deleted.`;let y;y=$localize`Time to keep versions`;let $;$=$localize`Once there are more backups than the specified number, the oldest backups are deleted.`;let k;k=$localize`Number of versions`;let L;L=$localize` Over time backups will be deleted automatically. There will remain one backup for each of the last 7 days, each of the last 4 weeks, each of the last 12 months. There will always be at least one remaining backup. `;let w;w=$localize` Enter a retention strategy manually. Placeholders are D/W/Y for days/weeks/years and U for unlimited. The syntax is: 7D:1D,4W:1W,36M:1M. This example keeps one backup for each of the next 7 days, one for each of the next 4 weeks, and one for each of the next 36 months. This can also be written as 1W:1D,1M:1W,3Y:1M. `;let G;G=$localize`Once there are more backups than the specified number, the oldest backups are deleted.`;let D;return D=$localize`Retention expression`,[l,n,e,s,o,M,R,A,b,y,$,k,L,w,G,D,[1,"title-30"],[1,"remote-volume-wrap"],[3,"ngModelChange","customId","ngModel"],["for","size"],[1,"warning"],[1,"warn"],["href","https://forum.duplicati.com/t/choosing-sizes-in-duplicati/17683","target","_blank",1,"sh-primary"],["suffix",""],["value","value","label","name",3,"options","inlineSearch","isClearable"],["type","text",3,"ngModelChange","ngModel"],[3,"optionsChange","options","applicationOptions","hasFreeTextSettings","hiddenOptions"],[1,"form-actions"],["shButton","","type","button",3,"click"],["shButton","",1,"raised","primary",3,"click"],["for","backupRetentionTime"],["for","backupRetentionVersions"],["type","number","id","backupRetentionVersions",3,"ngModelChange","ngModel"],["for","backupRetentionCustom"],["type","text","id","backupRetentionCustom",3,"ngModelChange","ngModel"]]},template:function(n,e){n&1&&(t(0,"section")(1,"h3",16),r(2,0),i(),t(3,"div",17)(4,"app-size",18),T("ngModelChange",function(o){return d(e.optionsFields.remoteVolumeSize,o)||(e.optionsFields.remoteVolumeSize=o),o}),t(5,"label",19),S(6,1),E(7,pe,2,0,"sh-icon",20),C(),i()(),E(8,ue,2,0,"p",21),t(9,"p"),S(10,2),t(11,"a",22),O(12,"sh-icon",23),i(),C(),i()(),t(13,"sh-select",24)(14,"label",19),r(15,3),i(),t(16,"input",25),T("ngModelChange",function(o){return d(e.optionsFields.backupRetention,o)||(e.optionsFields.backupRetention=o),o}),i()(),E(17,de,2,0,"p")(18,Te,5,2)(19,Se,6,1)(20,Ce,2,0,"p")(21,me,8,1),t(22,"app-options-list",26),T("optionsChange",function(o){return d(e.settings,o)||(e.settings=o),o}),i(),t(23,"div",27)(24,"button",28),I("click",function(){return e.goBack()}),S(25,4),O(26,"sh-icon"),C(),i(),t(27,"button",29),I("click",function(){return e.submit()}),S(28,5),O(29,"sh-icon"),C(),i()()()),n&2&&(c(4),m("customId","size"),u("ngModel",e.optionsFields.remoteVolumeSize),c(3),f(e.exceededVolumeSize()?7:-1),c(),f(e.exceededVolumeSize()?8:-1),c(5),m("options",e.retentionOptions())("inlineSearch",!0)("isClearable",!1),c(3),u("ngModel",e.optionsFields.backupRetention),c(),f(e.optionsFields.backupRetention()==="all"?17:e.optionsFields.backupRetention()==="time"?18:e.optionsFields.backupRetention()==="versions"?19:e.optionsFields.backupRetention()==="smart"?20:e.optionsFields.backupRetention()==="custom"?21:-1),c(5),u("options",e.settings),m("applicationOptions",e.applicationOptions())("hasFreeTextSettings",!0)("hiddenOptions",U(15,ce)),c(5),K("loader",e.isSubmitting()))},dependencies:[Q,H,j,q,Y,_e,se,le,ee,Z,te,ne],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:32.5rem;padding:2.5rem}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem;padding-bottom:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}.form-wrap[_ngcontent-%COMP%]{display:grid;grid-template-columns:2fr 2.5rem;gap:.5rem;align-items:flex-end}.remote-volume-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.remote-volume-wrap[_ngcontent-%COMP%] p.warning[_ngcontent-%COMP%]{color:#7d7d00}.row-inputs[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.5rem}.advanced-option[_ngcontent-%COMP%]{display:grid;gap:.5rem;grid-template-columns:1fr 1fr 2.5rem;align-items:flex-end}sh-select[_ngcontent-%COMP%]{--miw: p2r(120)}"],changeDetection:0})};export{F as default};
package/chunk-OJ3H3ZRA.js DELETED
@@ -1,2 +0,0 @@
1
- import{a as De,b as we}from"./chunk-FPPZ4BUR.js";import{$ as Be,B as ae,C as Te,H as ve,P as $,S as w,V as P,Y as S,Z as R,_ as T,ba as Pe,ca as Ve,f as oe,ka as ke,la as Ee,lb as Ie,n as z,o as ne,r as D,ra as Oe,x as ge,z as Re}from"./chunk-QONLYWYC.js";import{a as I,b as be}from"./chunk-EUDKD2JW.js";var F=class{},L=class{},g=class s{headers;normalizedNames=new Map;lazyInit;lazyUpdate=null;constructor(e){e?typeof e=="string"?this.lazyInit=()=>{this.headers=new Map,e.split(`
2
- `).forEach(t=>{let r=t.indexOf(":");if(r>0){let o=t.slice(0,r),n=t.slice(r+1).trim();this.addHeaderEntry(o,n)}})}:typeof Headers<"u"&&e instanceof Headers?(this.headers=new Map,e.forEach((t,r)=>{this.addHeaderEntry(r,t)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(e).forEach(([t,r])=>{this.setHeaderEntries(t,r)})}:this.headers=new Map}has(e){return this.init(),this.headers.has(e.toLowerCase())}get(e){this.init();let t=this.headers.get(e.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(e){return this.init(),this.headers.get(e.toLowerCase())||null}append(e,t){return this.clone({name:e,value:t,op:"a"})}set(e,t){return this.clone({name:e,value:t,op:"s"})}delete(e,t){return this.clone({name:e,value:t,op:"d"})}maybeSetNormalizedName(e,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,e)}init(){this.lazyInit&&(this.lazyInit instanceof s?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(e=>this.applyUpdate(e)),this.lazyUpdate=null))}copyFrom(e){e.init(),Array.from(e.headers.keys()).forEach(t=>{this.headers.set(t,e.headers.get(t)),this.normalizedNames.set(t,e.normalizedNames.get(t))})}clone(e){let t=new s;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof s?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([e]),t}applyUpdate(e){let t=e.name.toLowerCase();switch(e.op){case"a":case"s":let r=e.value;if(typeof r=="string"&&(r=[r]),r.length===0)return;this.maybeSetNormalizedName(e.name,t);let o=(e.op==="a"?this.headers.get(t):void 0)||[];o.push(...r),this.headers.set(t,o);break;case"d":let n=e.value;if(!n)this.headers.delete(t),this.normalizedNames.delete(t);else{let i=this.headers.get(t);if(!i)return;i=i.filter(u=>n.indexOf(u)===-1),i.length===0?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,i)}break}}addHeaderEntry(e,t){let r=e.toLowerCase();this.maybeSetNormalizedName(e,r),this.headers.has(r)?this.headers.get(r).push(t):this.headers.set(r,[t])}setHeaderEntries(e,t){let r=(Array.isArray(t)?t:[t]).map(n=>n.toString()),o=e.toLowerCase();this.headers.set(o,r),this.maybeSetNormalizedName(e,o)}forEach(e){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>e(this.normalizedNames.get(t),this.headers.get(t)))}};var Q=class{encodeKey(e){return Se(e)}encodeValue(e){return Se(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}};function Ye(s,e){let t=new Map;return s.length>0&&s.replace(/^\?/,"").split("&").forEach(o=>{let n=o.indexOf("="),[i,u]=n==-1?[e.decodeKey(o),""]:[e.decodeKey(o.slice(0,n)),e.decodeValue(o.slice(n+1))],d=t.get(i)||[];d.push(u),t.set(i,d)}),t}var Qe=/%(\d[a-f0-9])/gi,Ze={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function Se(s){return encodeURIComponent(s).replace(Qe,(e,t)=>Ze[t]??e)}function H(s){return`${s}`}var E=class s{map;encoder;updates=null;cloneFrom=null;constructor(e={}){if(this.encoder=e.encoder||new Q,e.fromString){if(e.fromObject)throw new w(2805,!1);this.map=Ye(e.fromString,this.encoder)}else e.fromObject?(this.map=new Map,Object.keys(e.fromObject).forEach(t=>{let r=e.fromObject[t],o=Array.isArray(r)?r.map(H):[H(r)];this.map.set(t,o)})):this.map=null}has(e){return this.init(),this.map.has(e)}get(e){this.init();let t=this.map.get(e);return t?t[0]:null}getAll(e){return this.init(),this.map.get(e)||null}keys(){return this.init(),Array.from(this.map.keys())}append(e,t){return this.clone({param:e,value:t,op:"a"})}appendAll(e){let t=[];return Object.keys(e).forEach(r=>{let o=e[r];Array.isArray(o)?o.forEach(n=>{t.push({param:r,value:n,op:"a"})}):t.push({param:r,value:o,op:"a"})}),this.clone(t)}set(e,t){return this.clone({param:e,value:t,op:"s"})}delete(e,t){return this.clone({param:e,value:t,op:"d"})}toString(){return this.init(),this.keys().map(e=>{let t=this.encoder.encodeKey(e);return this.map.get(e).map(r=>t+"="+this.encoder.encodeValue(r)).join("&")}).filter(e=>e!=="").join("&")}clone(e){let t=new s({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(e),t}init(){this.map===null&&(this.map=new Map),this.cloneFrom!==null&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(e=>this.map.set(e,this.cloneFrom.map.get(e))),this.updates.forEach(e=>{switch(e.op){case"a":case"s":let t=(e.op==="a"?this.map.get(e.param):void 0)||[];t.push(H(e.value)),this.map.set(e.param,t);break;case"d":if(e.value!==void 0){let r=this.map.get(e.param)||[],o=r.indexOf(H(e.value));o!==-1&&r.splice(o,1),r.length>0?this.map.set(e.param,r):this.map.delete(e.param)}else{this.map.delete(e.param);break}}}),this.cloneFrom=this.updates=null)}};var Z=class{map=new Map;set(e,t){return this.map.set(e,t),this}get(e){return this.map.has(e)||this.map.set(e,e.defaultValue()),this.map.get(e)}delete(e){return this.map.delete(e),this}has(e){return this.map.has(e)}keys(){return this.map.keys()}};function et(s){switch(s){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}function Ne(s){return typeof ArrayBuffer<"u"&&s instanceof ArrayBuffer}function xe(s){return typeof Blob<"u"&&s instanceof Blob}function Me(s){return typeof FormData<"u"&&s instanceof FormData}function tt(s){return typeof URLSearchParams<"u"&&s instanceof URLSearchParams}var J="Content-Type",ee="Accept",le="X-Request-URL",Ce="text/plain",Fe="application/json",Le=`${Fe}, ${Ce}, */*`,C=class s{url;body=null;headers;context;reportProgress=!1;withCredentials=!1;credentials;keepalive=!1;cache;priority;mode;redirect;referrer;integrity;responseType="json";method;params;urlWithParams;transferCache;timeout;constructor(e,t,r,o){this.url=t,this.method=e.toUpperCase();let n;if(et(this.method)||o?(this.body=r!==void 0?r:null,n=o):n=r,n){if(this.reportProgress=!!n.reportProgress,this.withCredentials=!!n.withCredentials,this.keepalive=!!n.keepalive,n.responseType&&(this.responseType=n.responseType),n.headers&&(this.headers=n.headers),n.context&&(this.context=n.context),n.params&&(this.params=n.params),n.priority&&(this.priority=n.priority),n.cache&&(this.cache=n.cache),n.credentials&&(this.credentials=n.credentials),typeof n.timeout=="number"){if(n.timeout<1||!Number.isInteger(n.timeout))throw new w(2822,"");this.timeout=n.timeout}n.mode&&(this.mode=n.mode),n.redirect&&(this.redirect=n.redirect),n.integrity&&(this.integrity=n.integrity),n.referrer&&(this.referrer=n.referrer),this.transferCache=n.transferCache}if(this.headers??=new g,this.context??=new Z,!this.params)this.params=new E,this.urlWithParams=t;else{let i=this.params.toString();if(i.length===0)this.urlWithParams=t;else{let u=t.indexOf("?"),d=u===-1?"?":u<t.length-1?"&":"";this.urlWithParams=t+d+i}}}serializeBody(){return this.body===null?null:typeof this.body=="string"||Ne(this.body)||xe(this.body)||Me(this.body)||tt(this.body)?this.body:this.body instanceof E?this.body.toString():typeof this.body=="object"||typeof this.body=="boolean"||Array.isArray(this.body)?JSON.stringify(this.body):this.body.toString()}detectContentTypeHeader(){return this.body===null||Me(this.body)?null:xe(this.body)?this.body.type||null:Ne(this.body)?null:typeof this.body=="string"?Ce:this.body instanceof E?"application/x-www-form-urlencoded;charset=UTF-8":typeof this.body=="object"||typeof this.body=="number"||typeof this.body=="boolean"?Fe:null}clone(e={}){let t=e.method||this.method,r=e.url||this.url,o=e.responseType||this.responseType,n=e.keepalive??this.keepalive,i=e.priority||this.priority,u=e.cache||this.cache,d=e.mode||this.mode,h=e.redirect||this.redirect,f=e.credentials||this.credentials,b=e.referrer||this.referrer,N=e.integrity||this.integrity,x=e.transferCache??this.transferCache,m=e.timeout??this.timeout,M=e.body!==void 0?e.body:this.body,c=e.withCredentials??this.withCredentials,l=e.reportProgress??this.reportProgress,A=e.headers||this.headers,v=e.params||this.params,y=e.context??this.context;return e.setHeaders!==void 0&&(A=Object.keys(e.setHeaders).reduce((B,k)=>B.set(k,e.setHeaders[k]),A)),e.setParams&&(v=Object.keys(e.setParams).reduce((B,k)=>B.set(k,e.setParams[k]),v)),new s(t,r,M,{params:v,headers:A,context:y,reportProgress:l,responseType:o,withCredentials:c,transferCache:x,keepalive:n,cache:u,priority:i,timeout:m,mode:d,redirect:h,credentials:f,referrer:b,integrity:N})}},O=(function(s){return s[s.Sent=0]="Sent",s[s.UploadProgress=1]="UploadProgress",s[s.ResponseHeader=2]="ResponseHeader",s[s.DownloadProgress=3]="DownloadProgress",s[s.Response=4]="Response",s[s.User=5]="User",s})(O||{}),_=class{headers;status;statusText;url;ok;type;redirected;constructor(e,t=200,r="OK"){this.headers=e.headers||new g,this.status=e.status!==void 0?e.status:t,this.statusText=e.statusText||r,this.url=e.url||null,this.redirected=e.redirected,this.ok=this.status>=200&&this.status<300}},X=class s extends _{constructor(e={}){super(e)}type=O.ResponseHeader;clone(e={}){return new s({headers:e.headers||this.headers,status:e.status!==void 0?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}},j=class s extends _{body;constructor(e={}){super(e),this.body=e.body!==void 0?e.body:null}type=O.Response;clone(e={}){return new s({body:e.body!==void 0?e.body:this.body,headers:e.headers||this.headers,status:e.status!==void 0?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0,redirected:e.redirected??this.redirected})}},V=class extends _{name="HttpErrorResponse";message;error;ok=!1;constructor(e){super(e,0,"Unknown Error"),this.status>=200&&this.status<300?this.message=`Http failure during parsing for ${e.url||"(unknown url)"}`:this.message=`Http failure response for ${e.url||"(unknown url)"}: ${e.status} ${e.statusText}`,this.error=e.error||null}},_e=200,st=204;function pe(s,e){return{body:e,headers:s.headers,context:s.context,observe:s.observe,params:s.params,reportProgress:s.reportProgress,responseType:s.responseType,withCredentials:s.withCredentials,credentials:s.credentials,transferCache:s.transferCache,timeout:s.timeout,keepalive:s.keepalive,priority:s.priority,cache:s.cache,mode:s.mode,redirect:s.redirect,integrity:s.integrity,referrer:s.referrer}}var U=(()=>{class s{handler;constructor(t){this.handler=t}request(t,r,o={}){let n;if(t instanceof C)n=t;else{let d;o.headers instanceof g?d=o.headers:d=new g(o.headers);let h;o.params&&(o.params instanceof E?h=o.params:h=new E({fromObject:o.params})),n=new C(t,r,o.body!==void 0?o.body:null,{headers:d,context:o.context,params:h,reportProgress:o.reportProgress,responseType:o.responseType||"json",withCredentials:o.withCredentials,transferCache:o.transferCache,keepalive:o.keepalive,priority:o.priority,cache:o.cache,mode:o.mode,redirect:o.redirect,credentials:o.credentials,referrer:o.referrer,integrity:o.integrity,timeout:o.timeout})}let i=z(n).pipe(Te(d=>this.handler.handle(d)));if(t instanceof C||o.observe==="events")return i;let u=i.pipe(Re(d=>d instanceof j));switch(o.observe||"body"){case"body":switch(n.responseType){case"arraybuffer":return u.pipe(D(d=>{if(d.body!==null&&!(d.body instanceof ArrayBuffer))throw new w(2806,!1);return d.body}));case"blob":return u.pipe(D(d=>{if(d.body!==null&&!(d.body instanceof Blob))throw new w(2807,!1);return d.body}));case"text":return u.pipe(D(d=>{if(d.body!==null&&typeof d.body!="string")throw new w(2808,!1);return d.body}));case"json":default:return u.pipe(D(d=>d.body))}case"response":return u;default:throw new w(2809,!1)}}delete(t,r={}){return this.request("DELETE",t,r)}get(t,r={}){return this.request("GET",t,r)}head(t,r={}){return this.request("HEAD",t,r)}jsonp(t,r){return this.request("JSONP",t,{params:new E().append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,r={}){return this.request("OPTIONS",t,r)}patch(t,r,o={}){return this.request("PATCH",t,pe(o,r))}post(t,r,o={}){return this.request("POST",t,pe(o,r))}put(t,r,o={}){return this.request("PUT",t,pe(o,r))}static \u0275fac=function(r){return new(r||s)(R(F))};static \u0275prov=P({token:s,factory:s.\u0275fac})}return s})(),rt=/^\)\]\}',?\n/;function Ge(s){if(s.url)return s.url;let e=le.toLocaleLowerCase();return s.headers.get(e)}var je=new S(""),Y=(()=>{class s{fetchImpl=T(de,{optional:!0})?.fetch??((...t)=>globalThis.fetch(...t));ngZone=T(Ie);destroyRef=T(Ee);destroyed=!1;constructor(){this.destroyRef.onDestroy(()=>{this.destroyed=!0})}handle(t){return new oe(r=>{let o=new AbortController;this.doRequest(t,o.signal,r).then(ue,i=>r.error(new V({error:i})));let n;return t.timeout&&(n=this.ngZone.runOutsideAngular(()=>setTimeout(()=>{o.signal.aborted||o.abort(new DOMException("signal timed out","TimeoutError"))},t.timeout))),()=>{n!==void 0&&clearTimeout(n),o.abort()}})}async doRequest(t,r,o){let n=this.createRequestInit(t),i;try{let m=this.ngZone.runOutsideAngular(()=>this.fetchImpl(t.urlWithParams,I({signal:r},n)));it(m),o.next({type:O.Sent}),i=await m}catch(m){o.error(new V({error:m,status:m.status??0,statusText:m.statusText,url:t.urlWithParams,headers:m.headers}));return}let u=new g(i.headers),d=i.statusText,h=Ge(i)??t.urlWithParams,f=i.status,b=null;if(t.reportProgress&&o.next(new X({headers:u,status:f,statusText:d,url:h})),i.body){let m=i.headers.get("content-length"),M=[],c=i.body.getReader(),l=0,A,v,y=typeof Zone<"u"&&Zone.current,B=!1;if(await this.ngZone.runOutsideAngular(async()=>{for(;;){if(this.destroyed){await c.cancel(),B=!0;break}let{done:G,value:ie}=await c.read();if(G)break;if(M.push(ie),l+=ie.length,t.reportProgress){v=t.responseType==="text"?(v??"")+(A??=new TextDecoder).decode(ie,{stream:!0}):void 0;let Ae=()=>o.next({type:O.DownloadProgress,total:m?+m:void 0,loaded:l,partialText:v});y?y.run(Ae):Ae()}}}),B){o.complete();return}let k=this.concatChunks(M,l);try{let G=i.headers.get(J)??"";b=this.parseBody(t,k,G,f)}catch(G){o.error(new V({error:G,headers:new g(i.headers),status:i.status,statusText:i.statusText,url:Ge(i)??t.urlWithParams}));return}}f===0&&(f=b?_e:0);let N=f>=200&&f<300,x=i.redirected;N?(o.next(new j({body:b,headers:u,status:f,statusText:d,url:h,redirected:x})),o.complete()):o.error(new V({error:b,headers:u,status:f,statusText:d,url:h,redirected:x}))}parseBody(t,r,o,n){switch(t.responseType){case"json":let i=new TextDecoder().decode(r).replace(rt,"");if(i==="")return null;try{return JSON.parse(i)}catch(u){if(n<200||n>=300)return i;throw u}case"text":return new TextDecoder().decode(r);case"blob":return new Blob([r],{type:o});case"arraybuffer":return r.buffer}}createRequestInit(t){let r={},o;if(o=t.credentials,t.withCredentials&&(o="include"),t.headers.forEach((n,i)=>r[n]=i.join(",")),t.headers.has(ee)||(r[ee]=Le),!t.headers.has(J)){let n=t.detectContentTypeHeader();n!==null&&(r[J]=n)}return{body:t.serializeBody(),method:t.method,headers:r,credentials:o,keepalive:t.keepalive,cache:t.cache,priority:t.priority,mode:t.mode,redirect:t.redirect,referrer:t.referrer,integrity:t.integrity}}concatChunks(t,r){let o=new Uint8Array(r),n=0;for(let i of t)o.set(i,n),n+=i.length;return o}static \u0275fac=function(r){return new(r||s)};static \u0275prov=P({token:s,factory:s.\u0275fac})}return s})(),de=class{};function ue(){}function it(s){s.then(ue,ue)}function ot(s,e){return e(s)}function nt(s,e,t){return(r,o)=>Ve(t,()=>e(r,n=>s(n,o)))}var he=new S(""),Ue=new S(""),qe=new S("",{providedIn:"root",factory:()=>!0});var te=(()=>{class s extends F{backend;injector;chain=null;pendingTasks=T(Oe);contributeToStability=T(qe);constructor(t,r){super(),this.backend=t,this.injector=r}handle(t){if(this.chain===null){let r=Array.from(new Set([...this.injector.get(he),...this.injector.get(Ue,[])]));this.chain=r.reduceRight((o,n)=>nt(o,n,this.injector),ot)}if(this.contributeToStability){let r=this.pendingTasks.add();return this.chain(t,o=>this.backend.handle(o)).pipe(ve(r))}else return this.chain(t,r=>this.backend.handle(r))}static \u0275fac=function(r){return new(r||s)(R(L),R(Pe))};static \u0275prov=P({token:s,factory:s.\u0275fac})}return s})();var at=/^\)\]\}',?\n/,pt=RegExp(`^${le}:`,"m");function dt(s){return"responseURL"in s&&s.responseURL?s.responseURL:pt.test(s.getAllResponseHeaders())?s.getResponseHeader(le):null}var ce=(()=>{class s{xhrFactory;constructor(t){this.xhrFactory=t}handle(t){if(t.method==="JSONP")throw new w(-2800,!1);let r=this.xhrFactory;return z(null).pipe($(()=>new oe(n=>{let i=r.build();if(i.open(t.method,t.urlWithParams),t.withCredentials&&(i.withCredentials=!0),t.headers.forEach((c,l)=>i.setRequestHeader(c,l.join(","))),t.headers.has(ee)||i.setRequestHeader(ee,Le),!t.headers.has(J)){let c=t.detectContentTypeHeader();c!==null&&i.setRequestHeader(J,c)}if(t.timeout&&(i.timeout=t.timeout),t.responseType){let c=t.responseType.toLowerCase();i.responseType=c!=="json"?c:"text"}let u=t.serializeBody(),d=null,h=()=>{if(d!==null)return d;let c=i.statusText||"OK",l=new g(i.getAllResponseHeaders()),A=dt(i)||t.url;return d=new X({headers:l,status:i.status,statusText:c,url:A}),d},f=()=>{let{headers:c,status:l,statusText:A,url:v}=h(),y=null;l!==st&&(y=typeof i.response>"u"?i.responseText:i.response),l===0&&(l=y?_e:0);let B=l>=200&&l<300;if(t.responseType==="json"&&typeof y=="string"){let k=y;y=y.replace(at,"");try{y=y!==""?JSON.parse(y):null}catch(G){y=k,B&&(B=!1,y={error:G,text:y})}}B?(n.next(new j({body:y,headers:c,status:l,statusText:A,url:v||void 0})),n.complete()):n.error(new V({error:y,headers:c,status:l,statusText:A,url:v||void 0}))},b=c=>{let{url:l}=h(),A=new V({error:c,status:i.status||0,statusText:i.statusText||"Unknown Error",url:l||void 0});n.error(A)},N=b;t.timeout&&(N=c=>{let{url:l}=h(),A=new V({error:new DOMException("Request timed out","TimeoutError"),status:i.status||0,statusText:i.statusText||"Request timeout",url:l||void 0});n.error(A)});let x=!1,m=c=>{x||(n.next(h()),x=!0);let l={type:O.DownloadProgress,loaded:c.loaded};c.lengthComputable&&(l.total=c.total),t.responseType==="text"&&i.responseText&&(l.partialText=i.responseText),n.next(l)},M=c=>{let l={type:O.UploadProgress,loaded:c.loaded};c.lengthComputable&&(l.total=c.total),n.next(l)};return i.addEventListener("load",f),i.addEventListener("error",b),i.addEventListener("timeout",N),i.addEventListener("abort",b),t.reportProgress&&(i.addEventListener("progress",m),u!==null&&i.upload&&i.upload.addEventListener("progress",M)),i.send(u),n.next({type:O.Sent}),()=>{i.removeEventListener("error",b),i.removeEventListener("abort",b),i.removeEventListener("load",f),i.removeEventListener("timeout",N),t.reportProgress&&(i.removeEventListener("progress",m),u!==null&&i.upload&&i.upload.removeEventListener("progress",M)),i.readyState!==i.DONE&&i.abort()}})))}static \u0275fac=function(r){return new(r||s)(R(we))};static \u0275prov=P({token:s,factory:s.\u0275fac})}return s})(),ze=new S(""),ut="XSRF-TOKEN",ct=new S("",{providedIn:"root",factory:()=>ut}),lt="X-XSRF-TOKEN",ht=new S("",{providedIn:"root",factory:()=>lt}),W=class{},yt=(()=>{class s{doc;cookieName;lastCookieString="";lastToken=null;parseCount=0;constructor(t,r){this.doc=t,this.cookieName=r}getToken(){let t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=De(t,this.cookieName),this.lastCookieString=t),this.lastToken}static \u0275fac=function(r){return new(r||s)(R(ke),R(ct))};static \u0275prov=P({token:s,factory:s.\u0275fac})}return s})();function ft(s,e){let t=s.url.toLowerCase();if(!T(ze)||s.method==="GET"||s.method==="HEAD"||t.startsWith("http://")||t.startsWith("https://"))return e(s);let r=T(W).getToken(),o=T(ht);return r!=null&&!s.headers.has(o)&&(s=s.clone({headers:s.headers.set(o,r)})),e(s)}var se=(function(s){return s[s.Interceptors=0]="Interceptors",s[s.LegacyInterceptors=1]="LegacyInterceptors",s[s.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",s[s.NoXsrfProtection=3]="NoXsrfProtection",s[s.JsonpSupport=4]="JsonpSupport",s[s.RequestsMadeViaParent=5]="RequestsMadeViaParent",s[s.Fetch=6]="Fetch",s})(se||{});function $e(s,e){return{\u0275kind:s,\u0275providers:e}}function mt(...s){let e=[U,ce,te,{provide:F,useExisting:te},{provide:L,useFactory:()=>T(je,{optional:!0})??T(ce)},{provide:he,useValue:ft,multi:!0},{provide:ze,useValue:!0},{provide:W,useClass:yt}];for(let t of s)e.push(...t.\u0275providers);return Be(e)}function At(s){return $e(se.Interceptors,s.map(e=>({provide:he,useValue:e,multi:!0})))}function bt(){return $e(se.Fetch,[Y,{provide:je,useExisting:Y},{provide:L,useExisting:Y}])}var ye=class{_fns;constructor(){this._fns=[]}eject(e){let t=this._fns.indexOf(e);t!==-1&&(this._fns=[...this._fns.slice(0,t),...this._fns.slice(t+1)])}use(e){this._fns=[...this._fns,e]}},a={BASE:"",CREDENTIALS:"include",ENCODE_PATH:void 0,HEADERS:void 0,PASSWORD:void 0,TOKEN:void 0,USERNAME:void 0,VERSION:"1",WITH_CREDENTIALS:!1,interceptors:{response:new ye}};var q=class extends Error{url;status;statusText;body;request;constructor(e,t,r){super(r),this.name="ApiError",this.url=t.url,this.status=t.status,this.statusText=t.statusText,this.body=t.body,this.request=e}};var K=s=>typeof s=="string",fe=s=>K(s)&&s!=="",me=s=>s instanceof Blob,Je=s=>s instanceof FormData,Rt=s=>{try{return btoa(s)}catch{return Buffer.from(s).toString("base64")}},Tt=s=>{let e=[],t=(o,n)=>{e.push(`${encodeURIComponent(o)}=${encodeURIComponent(String(n))}`)},r=(o,n)=>{n!=null&&(n instanceof Date?t(o,n.toISOString()):Array.isArray(n)?n.forEach(i=>r(o,i)):typeof n=="object"?Object.entries(n).forEach(([i,u])=>r(`${o}[${i}]`,u)):t(o,n))};return Object.entries(s).forEach(([o,n])=>r(o,n)),e.length?`?${e.join("&")}`:""},vt=(s,e)=>{let t=s.ENCODE_PATH||encodeURI,r=e.url.replace("{api-version}",s.VERSION).replace(/{(.*?)}/g,(n,i)=>e.path?.hasOwnProperty(i)?t(String(e.path[i])):n),o=s.BASE+r;return e.query?o+Tt(e.query):o},Bt=s=>{if(s.formData){let e=new FormData,t=(r,o)=>{K(o)||me(o)?e.append(r,o):e.append(r,JSON.stringify(o))};return Object.entries(s.formData).filter(([,r])=>r!=null).forEach(([r,o])=>{Array.isArray(o)?o.forEach(n=>t(r,n)):t(r,o)}),e}},re=async(s,e)=>typeof e=="function"?e(s):e,Pt=(s,e)=>ge({token:re(e,s.TOKEN),username:re(e,s.USERNAME),password:re(e,s.PASSWORD),additionalHeaders:re(e,s.HEADERS)}).pipe(D(({token:t,username:r,password:o,additionalHeaders:n})=>{let i=Object.entries(I(I({Accept:"application/json"},n),e.headers)).filter(([,u])=>u!=null).reduce((u,[d,h])=>be(I({},u),{[d]:String(h)}),{});if(fe(t)&&(i.Authorization=`Bearer ${t}`),fe(r)&&fe(o)){let u=Rt(`${r}:${o}`);i.Authorization=`Basic ${u}`}return e.body!==void 0&&(e.mediaType?i["Content-Type"]=e.mediaType:me(e.body)?i["Content-Type"]=e.body.type||"application/octet-stream":K(e.body)?i["Content-Type"]="text/plain":Je(e.body)||(i["Content-Type"]="application/json")),new g(i)})),Vt=s=>{if(s.body)return s.mediaType?.includes("application/json")||s.mediaType?.includes("+json")?JSON.stringify(s.body):K(s.body)||me(s.body)||Je(s.body)?s.body:JSON.stringify(s.body)},kt=(s,e,t,r,o,n,i)=>t.request(e.method,r,{headers:i,body:o??n,withCredentials:s.WITH_CREDENTIALS,observe:"response"}),Et=(s,e)=>{if(e){let t=s.headers.get(e);if(K(t))return t}},Ot=s=>{if(s.status!==204&&s.body!==null)return s.body},It=(s,e)=>{let r=I({400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"Im a teapot",421:"Misdirected Request",422:"Unprocessable Content",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",510:"Not Extended",511:"Network Authentication Required"},s.errors)[e.status];if(r)throw new q(s,e,r);if(!e.ok){let o=e.status??"unknown",n=e.statusText??"unknown",i=(()=>{try{return JSON.stringify(e.body,null,2)}catch{return}})();throw new q(s,e,`Generic Error: status: ${o}; status text: ${n}; body: ${i}`)}},p=(s,e,t)=>{let r=vt(s,t),o=Bt(t),n=Vt(t);return Pt(s,t).pipe($(i=>kt(s,t,e,r,n,o,i)),$(async i=>{for(let f of s.interceptors.response._fns)i=await f(i);let u=Ot(i),d=Et(i,t.responseHeader),h=u;return t.responseTransformer&&i.ok&&(h=await t.responseTransformer(u)),{url:r,ok:i.ok,status:i.status,statusText:i.statusText,body:d??h}}),ae(i=>i.status?z({url:r,ok:i.ok,status:i.status,statusText:i.statusText,body:i.error??i.statusText}):ne(()=>i)),D(i=>(It(t,i),i.body)),ae(i=>ne(()=>i)))};var Xe=class s{constructor(e){this.http=e}getApiV1Commandline(){return p(a,this.http,{method:"GET",url:"/api/v1/commandline"})}static \u0275fac=function(t){return new(t||s)(R(U))};static \u0275prov=P({token:s,factory:s.\u0275fac,providedIn:"root"})},We=class s{constructor(e){this.http=e}postApiV1Commandline(e){return p(a,this.http,{method:"POST",url:"/api/v1/commandline",body:e.requestBody,mediaType:"application/json"})}getApiV1Acknowledgements(){return p(a,this.http,{method:"GET",url:"/api/v1/acknowledgements"})}postApiV1AuthRefresh(e={}){return p(a,this.http,{method:"POST",url:"/api/v1/auth/refresh",body:e.requestBody,mediaType:"application/json"})}postApiV1AuthSignin(e){return p(a,this.http,{method:"POST",url:"/api/v1/auth/signin",body:e.requestBody,mediaType:"application/json"})}postApiV1AuthLogin(e){return p(a,this.http,{method:"POST",url:"/api/v1/auth/login",body:e.requestBody,mediaType:"application/json"})}postApiV1AuthIssuesignintoken(e){return p(a,this.http,{method:"POST",url:"/api/v1/auth/issuesignintoken",body:e.requestBody,mediaType:"application/json"})}postApiV1AuthRefreshLogout(e={}){return p(a,this.http,{method:"POST",url:"/api/v1/auth/refresh/logout",body:e.requestBody,mediaType:"application/json"})}postApiV1AuthIssuetokenByOperation(e){return p(a,this.http,{method:"POST",url:"/api/v1/auth/issuetoken/{operation}",path:{operation:e.operation}})}postApiV1AuthIssueForeverToken(){return p(a,this.http,{method:"POST",url:"/api/v1/auth/issue-forever-token"})}getApiV1Backupdefaults(){return p(a,this.http,{method:"GET",url:"/api/v1/backupdefaults"})}getApiV1Backups(e={}){return p(a,this.http,{method:"GET",url:"/api/v1/backups",query:{orderBy:e.orderBy}})}postApiV1Backups(e){return p(a,this.http,{method:"POST",url:"/api/v1/backups",query:{temporary:e.temporary,existingdb:e.existingdb},body:e.requestBody,mediaType:"application/json"})}postApiV1BackupsImport(e){return p(a,this.http,{method:"POST",url:"/api/v1/backups/import",body:e.requestBody,mediaType:"application/json"})}getApiV1BugreportByReportid(e){return p(a,this.http,{method:"GET",url:"/api/v1/bugreport/{reportid}",path:{reportid:e.reportid},query:{token:e.token}})}getApiV1Changelog(e={}){return p(a,this.http,{method:"GET",url:"/api/v1/changelog",query:{"from-update":e.fromUpdate}})}getApiV1CommandlineByRunid(e){return p(a,this.http,{method:"GET",url:"/api/v1/commandline/{runid}",path:{runid:e.runid},query:{offset:e.offset,pagesize:e.pagesize}})}postApiV1CommandlineByRunidAbort(e){return p(a,this.http,{method:"POST",url:"/api/v1/commandline/{runid}/abort",path:{runid:e.runid}})}postApiV1Filesystem(e){return p(a,this.http,{method:"POST",url:"/api/v1/filesystem",query:{onlyFolders:e.onlyFolders,showHidden:e.showHidden},body:e.requestBody,mediaType:"application/json"})}postApiV1FilesystemValidate(e){return p(a,this.http,{method:"POST",url:"/api/v1/filesystem/validate",body:e.requestBody,mediaType:"application/json"})}getApiV1Licenses(){return p(a,this.http,{method:"GET",url:"/api/v1/licenses"})}getApiV1LogdataPoll(e){return p(a,this.http,{method:"GET",url:"/api/v1/logdata/poll",query:{level:e.level,id:e.id,pagesize:e.pagesize}})}getApiV1LogdataLog(e={}){return p(a,this.http,{method:"GET",url:"/api/v1/logdata/log",query:{offset:e.offset,pagesize:e.pagesize}})}getApiV1LogdataCrashlog(){return p(a,this.http,{method:"GET",url:"/api/v1/logdata/crashlog"})}getApiV1NotificationById(e){return p(a,this.http,{method:"GET",url:"/api/v1/notification/{id}",path:{id:e.id}})}deleteApiV1NotificationById(e){return p(a,this.http,{method:"DELETE",url:"/api/v1/notification/{id}",path:{id:e.id}})}getApiV1Notifications(){return p(a,this.http,{method:"GET",url:"/api/v1/notifications"})}getApiV1Progressstate(){return p(a,this.http,{method:"GET",url:"/api/v1/progressstate"})}getApiV1RemotecontrolStatus(){return p(a,this.http,{method:"GET",url:"/api/v1/remotecontrol/status"})}postApiV1RemoteoperationDbpath(e){return p(a,this.http,{method:"POST",url:"/api/v1/remoteoperation/dbpath",body:e.requestBody,mediaType:"application/json"})}postApiV1RemoteoperationTest(e){return p(a,this.http,{method:"POST",url:"/api/v1/remoteoperation/test",query:{autocreate:e.autocreate},body:e.requestBody,mediaType:"application/json"})}postApiV1RemoteoperationCreate(e){return p(a,this.http,{method:"POST",url:"/api/v1/remoteoperation/create",body:e.requestBody,mediaType:"application/json"})}getApiV1Serversettings(){return p(a,this.http,{method:"GET",url:"/api/v1/serversettings"})}patchApiV1Serversettings(e){return p(a,this.http,{method:"PATCH",url:"/api/v1/serversettings",body:e.requestBody,mediaType:"application/json"})}getApiV1ServersettingByKey(e){return p(a,this.http,{method:"GET",url:"/api/v1/serversetting/{key}",path:{key:e.key}})}putApiV1ServersettingByKey(e){return p(a,this.http,{method:"PUT",url:"/api/v1/serversetting/{key}",path:{key:e.key},body:e.requestBody,mediaType:"application/json"})}getApiV1Serverstate(e={}){return p(a,this.http,{method:"GET",url:"/api/v1/serverstate",query:{lastEventId:e.lastEventId,longpoll:e.longpoll,duration:e.duration}})}postApiV1ServerstatePause(e={}){return p(a,this.http,{method:"POST",url:"/api/v1/serverstate/pause",query:{duration:e.duration,pauseTransfers:e.pauseTransfers}})}postApiV1ServerstateResume(){return p(a,this.http,{method:"POST",url:"/api/v1/serverstate/resume"})}getApiV1Systeminfo(){return p(a,this.http,{method:"GET",url:"/api/v1/systeminfo"})}getApiV1SysteminfoFiltergroups(){return p(a,this.http,{method:"GET",url:"/api/v1/systeminfo/filtergroups"})}getApiV1Tasks(){return p(a,this.http,{method:"GET",url:"/api/v1/tasks"})}getApiV1TaskByTaskid(e){return p(a,this.http,{method:"GET",url:"/api/v1/task/{taskid}",path:{taskid:e.taskid}})}postApiV1TaskByTaskidStop(e){return p(a,this.http,{method:"POST",url:"/api/v1/task/{taskid}/stop",path:{taskid:e.taskid}})}postApiV1TaskByTaskidAbort(e){return p(a,this.http,{method:"POST",url:"/api/v1/task/{taskid}/abort",path:{taskid:e.taskid}})}getApiV1Uisettings(){return p(a,this.http,{method:"GET",url:"/api/v1/uisettings"})}postApiV1Uisettings(e){return p(a,this.http,{method:"POST",url:"/api/v1/uisettings",body:e.requestBody,mediaType:"application/json"})}getApiV1UisettingsByScheme(e){return p(a,this.http,{method:"GET",url:"/api/v1/uisettings/{scheme}",path:{scheme:e.scheme}})}patchApiV1UisettingsByScheme(e){return p(a,this.http,{method:"PATCH",url:"/api/v1/uisettings/{scheme}",path:{scheme:e.scheme},body:e.requestBody,mediaType:"application/json"})}postApiV1UpdatesCheck(){return p(a,this.http,{method:"POST",url:"/api/v1/updates/check"})}postApiV1WebmoduleByModulekey(e){return p(a,this.http,{method:"POST",url:"/api/v1/webmodule/{modulekey}",path:{modulekey:e.modulekey},body:e.requestBody,mediaType:"application/json"})}getApiV1BackupById(e){return p(a,this.http,{method:"GET",url:"/api/v1/backup/{id}",path:{id:e.id}})}putApiV1BackupById(e){return p(a,this.http,{method:"PUT",url:"/api/v1/backup/{id}",path:{id:e.id},body:e.requestBody,mediaType:"application/json"})}deleteApiV1BackupById(e){return p(a,this.http,{method:"DELETE",url:"/api/v1/backup/{id}",path:{id:e.id},query:{"delete-remote-files":e.deleteRemoteFiles,"delete-local-db":e.deleteLocalDb,force:e.force}})}getApiV1BackupByIdFiles(e){return p(a,this.http,{method:"GET",url:"/api/v1/backup/{id}/files",path:{id:e.id},query:{filter:e.filter,time:e.time,"all-versions":e.allVersions,"prefix-only":e.prefixOnly,"folder-contents":e.folderContents}})}getApiV1BackupByIdLog(e){return p(a,this.http,{method:"GET",url:"/api/v1/backup/{id}/log",path:{id:e.id},query:{offset:e.offset,pagesize:e.pagesize}})}getApiV1BackupByIdRemotelog(e){return p(a,this.http,{method:"GET",url:"/api/v1/backup/{id}/remotelog",path:{id:e.id},query:{offset:e.offset,pagesize:e.pagesize}})}getApiV1BackupByIdFilesets(e){return p(a,this.http,{method:"GET",url:"/api/v1/backup/{id}/filesets",path:{id:e.id},query:{"include-metadata":e.includeMetadata,"from-remote-only":e.fromRemoteOnly}})}getApiV1BackupByIdExportArgsonly(e){return p(a,this.http,{method:"GET",url:"/api/v1/backup/{id}/export-argsonly",path:{id:e.id},query:{"export-passwords":e.exportPasswords,passphrase:e.passphrase}})}getApiV1BackupByIdExportCmdline(e){return p(a,this.http,{method:"GET",url:"/api/v1/backup/{id}/export-cmdline",path:{id:e.id},query:{"export-passwords":e.exportPasswords,passphrase:e.passphrase}})}getApiV1BackupByIdExport(e){return p(a,this.http,{method:"GET",url:"/api/v1/backup/{id}/export",path:{id:e.id},query:{"export-passwords":e.exportPasswords,passphrase:e.passphrase,token:e.token}})}getApiV1BackupByIdIsdbusedelsewhere(e){return p(a,this.http,{method:"GET",url:"/api/v1/backup/{id}/isdbusedelsewhere",path:{id:e.id}})}getApiV1BackupByIdIsactive(e){return p(a,this.http,{method:"GET",url:"/api/v1/backup/{id}/isactive",path:{id:e.id}})}postApiV1BackupByIdDeletedb(e){return p(a,this.http,{method:"POST",url:"/api/v1/backup/{id}/deletedb",path:{id:e.id}})}postApiV1BackupByIdMovedb(e){return p(a,this.http,{method:"POST",url:"/api/v1/backup/{id}/movedb",path:{id:e.id},body:e.requestBody,mediaType:"application/json"})}postApiV1BackupByIdUpdatedb(e){return p(a,this.http,{method:"POST",url:"/api/v1/backup/{id}/updatedb",path:{id:e.id},body:e.requestBody,mediaType:"application/json"})}postApiV1BackupByIdRestore(e){return p(a,this.http,{method:"POST",url:"/api/v1/backup/{id}/restore",path:{id:e.id},body:e.requestBody,mediaType:"application/json"})}postApiV1BackupByIdCreatereport(e){return p(a,this.http,{method:"POST",url:"/api/v1/backup/{id}/createreport",path:{id:e.id}})}postApiV1BackupByIdRepair(e){return p(a,this.http,{method:"POST",url:"/api/v1/backup/{id}/repair",path:{id:e.id},body:e.requestBody,mediaType:"application/json"})}postApiV1BackupByIdRepairupdate(e){return p(a,this.http,{method:"POST",url:"/api/v1/backup/{id}/repairupdate",path:{id:e.id},body:e.requestBody,mediaType:"application/json"})}postApiV1BackupByIdVacuum(e){return p(a,this.http,{method:"POST",url:"/api/v1/backup/{id}/vacuum",path:{id:e.id}})}postApiV1BackupByIdVerify(e){return p(a,this.http,{method:"POST",url:"/api/v1/backup/{id}/verify",path:{id:e.id}})}postApiV1BackupByIdCompact(e){return p(a,this.http,{method:"POST",url:"/api/v1/backup/{id}/compact",path:{id:e.id}})}postApiV1BackupByIdStart(e){return p(a,this.http,{method:"POST",url:"/api/v1/backup/{id}/start",path:{id:e.id},query:{skipQueue:e.skipQueue}})}postApiV1BackupByIdRun(e){return p(a,this.http,{method:"POST",url:"/api/v1/backup/{id}/run",path:{id:e.id},query:{skipQueue:e.skipQueue}})}postApiV1BackupByIdReportRemoteSize(e){return p(a,this.http,{method:"POST",url:"/api/v1/backup/{id}/report-remote-size",path:{id:e.id}})}postApiV1BackupByIdCopytotemp(e){return p(a,this.http,{method:"POST",url:"/api/v1/backup/{id}/copytotemp",path:{id:e.id}})}postApiV1RemotecontrolEnable(){return p(a,this.http,{method:"POST",url:"/api/v1/remotecontrol/enable"})}postApiV1RemotecontrolDisable(){return p(a,this.http,{method:"POST",url:"/api/v1/remotecontrol/disable"})}deleteApiV1RemotecontrolRegistration(){return p(a,this.http,{method:"DELETE",url:"/api/v1/remotecontrol/registration"})}postApiV1RemotecontrolRegister(e){return p(a,this.http,{method:"POST",url:"/api/v1/remotecontrol/register",body:e.requestBody,mediaType:"application/json"})}deleteApiV1RemotecontrolRegister(){return p(a,this.http,{method:"DELETE",url:"/api/v1/remotecontrol/register"})}postApiV2BackupListFilesets(e){return p(a,this.http,{method:"POST",url:"/api/v2/backup/list-filesets",body:e.requestBody,mediaType:"application/json"})}postApiV2BackupListFolder(e){return p(a,this.http,{method:"POST",url:"/api/v2/backup/list-folder",body:e.requestBody,mediaType:"application/json"})}postApiV2BackupListVersions(e){return p(a,this.http,{method:"POST",url:"/api/v2/backup/list-versions",body:e.requestBody,mediaType:"application/json"})}postApiV2BackupSearch(e){return p(a,this.http,{method:"POST",url:"/api/v2/backup/search",body:e.requestBody,mediaType:"application/json"})}postApiV2DestinationTest(e){return p(a,this.http,{method:"POST",url:"/api/v2/destination/test",body:e.requestBody,mediaType:"application/json"})}static \u0275fac=function(t){return new(t||s)(R(U))};static \u0275prov=P({token:s,factory:s.\u0275fac,providedIn:"root"})},Ke=class s{constructor(e){this.http=e}getApiV1Webmodules(){return p(a,this.http,{method:"GET",url:"/api/v1/webmodules"})}static \u0275fac=function(t){return new(t||s)(R(U))};static \u0275prov=P({token:s,factory:s.\u0275fac,providedIn:"root"})};export{g as a,j as b,V as c,U as d,mt as e,At as f,bt as g,Xe as h,We as i,Ke as j};
package/chunk-PB6FTE7O.js DELETED
@@ -1 +0,0 @@
1
- import{a as W}from"./chunk-KXJZEADJ.js";import"./chunk-H7ZKBS2Q.js";import{a as H}from"./chunk-2YGOHGD2.js";import"./chunk-BK2MSH26.js";import"./chunk-3V4DGTSM.js";import"./chunk-6Q6SSTBK.js";import"./chunk-5LX6M65H.js";import"./chunk-LN26XMBJ.js";import"./chunk-S4OFJD2F.js";import"./chunk-6XI3IP27.js";import{e as R}from"./chunk-ABYM5HWA.js";import"./chunk-Z35OG2DV.js";import{B as m,C as g,F as w,K as z,u as C}from"./chunk-RPUPXDQE.js";import{i as j}from"./chunk-OJ3H3ZRA.js";import"./chunk-I2LW33GO.js";import"./chunk-5ZSBXGHQ.js";import"./chunk-FPPZ4BUR.js";import"./chunk-JYWOYPSQ.js";import{$b as d,Ab as x,Bb as G,Bc as u,Cb as E,Cc as X,Db as t,Eb as o,Fb as r,Jb as b,Kb as y,Sa as c,Tb as p,Ub as T,Vb as _,Wb as B,Xb as v,_ as S,cb as h,ib as I,nc as s,qc as J,sb as $,tb as L,xb as A,yb as k,zb as D}from"./chunk-QONLYWYC.js";import"./chunk-EUDKD2JW.js";var q=()=>[g,m,C,R],V=()=>["/restore-from-files"],K=()=>["/restore/from-config"],Q=n=>["/restore",n];function U(n,i){if(n&1&&(t(0,"sh-card",8),r(1,"img",13),t(2,"div",10)(3,"h3"),_(4,4),o(),t(5,"p"),s(6),o()(),t(7,"button",11),p(8,5),r(9,"sh-icon"),T(),o()()),n&2){let e=i.$implicit;E("routerLink",X(4,Q,e.Backup.ID)),c(4),B(e.Backup.Name??"Backup name missing"),v(4),c(2),J(" ",(e.Backup.Metadata==null?null:e.Backup.Metadata.SourceSizeString)??"-"," / ",(e.Backup.Metadata==null?null:e.Backup.Metadata.BackupListCount)??"-"," ")}}function Y(n,i){if(n&1&&x(0,U,10,6,"sh-card",8,D),n&2){let e=d(2);G(e.backups())}}function Z(n,i){n&1&&(b(0),_(1,6),y())}function ee(n,i){if(n&1&&A(0,Y,2,0)(1,Z,2,0,"ng-container"),n&2){let e=d();k(e.backups().length?0:1)}}function te(n,i){n&1&&(t(0,"div",14),r(1,"sh-progress-bar",15),t(2,"div",10)(3,"h3"),_(4,7),o()()())}var O=class n{#e=S(H);#t=S(j);backups=this.#e.backups;backupsLoading=this.#e.backupsLoading;ngOnInit(){this.#e.getBackups(!0)}restoreNow(i){this.#t.postApiV1BackupByIdRestore({id:i.Backup?.ID,requestBody:{}})}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=h({type:n,selectors:[["app-restore"]],decls:31,vars:5,consts:()=>{let i;i=$localize`Where do you want to restore from?`;let e;e=$localize`Restore from configuration`;let l;l=$localize`Load destination from an exported job`;let N;N=$localize` Start ${"\uFFFD#24\uFFFD"}:START_TAG_SH_ICON:play-circle${"\uFFFD/#24\uFFFD"}:CLOSE_TAG_SH_ICON:`;let f;f=$localize`${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let P;P=$localize` Restore ${"\uFFFD#9\uFFFD"}:START_TAG_SH_ICON:arrow-right${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SH_ICON:`;let M;M=$localize`No backups founds`;let F;return F=$localize`Loading backups...`,[i,e,l,N,f,P,M,F,[1,"type-a","actionable",3,"routerLink"],["src","assets/images/backup.png","alt","","width","48px"],[1,"text"],["shButton",""],["src","assets/images/restore.png","alt","","width","48px"],["src","assets/images/folder.png","alt","","width","48px"],[1,"loading-list"],[1,"indeterminate","primary"]]},template:function(e,l){e&1&&(r(0,"app-status-bar"),t(1,"section")(2,"h2"),_(3,0),o(),t(4,"sh-card",8),r(5,"img",9),t(6,"div",10)(7,"h3"),s(8,"Direct restore from backup files"),o(),t(9,"p"),s(10,"Point to your backup files and restore from there."),o()(),t(11,"button",11),s(12," Start "),t(13,"sh-icon"),s(14,"play-circle"),o()()(),t(15,"sh-card",8),r(16,"img",12),t(17,"div",10)(18,"h3"),_(19,1),o(),t(20,"p"),_(21,2),o()(),t(22,"button",11),p(23,3),r(24,"sh-icon"),T(),o()(),t(25,"sh-divider"),s(26,"Or existing"),o(),I(27,ee,2,1)(28,te,5,0),$(29,27,q,null,28),o()),e&2&&(c(4),E("routerLink",u(3,V)),c(11),E("routerLink",u(4,K)),c(14),L(!l.backupsLoading()))},dependencies:[W,g,m,w,C,z,R],styles:["[_nghost-%COMP%]{display:block}h2[_ngcontent-%COMP%]{font:var(--title-30);text-align:center;padding:2rem}section[_ngcontent-%COMP%]{max-width:43.75rem;margin:0 auto;padding:2rem 1rem;display:flex;flex-direction:column;gap:1rem}sh-divider[_ngcontent-%COMP%]{color:var(--base-8)}sh-card[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;--card-padding: 2rem}sh-card[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{flex:1 0;display:flex;flex-direction:column;gap:.25rem}.actionable[_ngcontent-%COMP%]{cursor:pointer}.actionable[_ngcontent-%COMP%]:after{transition:inset .1s linear}.actionable[_ngcontent-%COMP%]:hover{--card-shp: 0}"],changeDetection:0})};export{O as default};
package/chunk-PXDRFPNP.js DELETED
@@ -1 +0,0 @@
1
- import{g as C}from"./chunk-F5Z5ZAIL.js";import"./chunk-E6H2XELA.js";import"./chunk-HHU5JW5J.js";import"./chunk-FSG362SU.js";import{a as w}from"./chunk-KXJZEADJ.js";import{h as k}from"./chunk-BNUMPQFL.js";import"./chunk-HYQ6MPYI.js";import"./chunk-YCORZV4Z.js";import"./chunk-4VY6SMSL.js";import{b as u}from"./chunk-Z27IQRKV.js";import"./chunk-H7ZKBS2Q.js";import"./chunk-2YGOHGD2.js";import"./chunk-BK2MSH26.js";import"./chunk-3V4DGTSM.js";import"./chunk-6Q6SSTBK.js";import"./chunk-5LX6M65H.js";import"./chunk-LN26XMBJ.js";import"./chunk-S4OFJD2F.js";import"./chunk-6XI3IP27.js";import{a as A,b as $,c as M,d as I,e as G,f as W}from"./chunk-ABYM5HWA.js";import"./chunk-Z35OG2DV.js";import{L as v,Q as y}from"./chunk-RPUPXDQE.js";import"./chunk-OJ3H3ZRA.js";import"./chunk-I2LW33GO.js";import"./chunk-5ZSBXGHQ.js";import"./chunk-FPPZ4BUR.js";import"./chunk-JYWOYPSQ.js";import{$b as O,Ac as N,Bc as R,Cb as _,Cc as p,Db as i,Eb as n,Fb as s,Rc as L,Sa as r,Tb as F,Ub as l,_ as c,cb as P,kc as D,pa as f,xb as E,yb as g}from"./chunk-QONLYWYC.js";import"./chunk-EUDKD2JW.js";var b=()=>["/restore-from-files/destination"],x=()=>["/restore-from-files/encryption"],H=()=>["/restore-from-files/select-files"],J=()=>["/restore-from-files/options"],X=t=>["/restore",t,"select-files"],z=t=>["/restore",t,"options"];function B(t,o){t&1&&(i(0,"div",7),F(1,0),s(2,"sh-radio"),l(),n(),i(3,"div",7),F(4,1),s(5,"sh-radio"),l(),n(),i(6,"div",7),F(7,2),s(8,"sh-radio"),l(),n(),i(9,"div",7),F(10,3),s(11,"sh-radio"),l(),n()),t&2&&(_("routerLink",R(4,b)),r(3),_("routerLink",R(5,x)),r(3),_("routerLink",R(6,H)),r(3),_("routerLink",R(7,J)))}function U(t,o){if(t&1&&(i(0,"div",7),F(1,4),s(2,"sh-radio"),l(),n(),i(3,"div",7),F(4,5),s(5,"sh-radio"),l(),n()),t&2){let e=O(2);_("routerLink",p(2,X,e.backupId())),r(3),_("routerLink",p(4,z,e.backupId()))}}function j(t,o){if(t&1&&(i(0,"sh-stepper",6),E(1,B,12,8)(2,U,6,6),n()),t&2){let e=O();r(),g(e.isFileRestore()?1:2)}}var h=class t{#e=c($);#o=c(I);#t=c(C);#i=u(this.#e.params);#n=u(this.#e.url);#s=u(this.#e.children[0].url);backupId=this.#t.backupId;isFileRestore=this.#t.isFileRestore;isProgressPage=f(!1);paramsChanged=L(()=>{let o=this.#s(),e=this.#i()?.id,a=!!this.#n()?.find(S=>S.path==="restore-from-files"),T=!!o?.find(S=>S.path==="progress");this.isProgressPage.set(T),this.#t.init(e,a)});ngOnInit(){this.#o.events.subscribe(o=>{if(o instanceof A){let e=o.urlAfterRedirects;this.isProgressPage.set(e.includes("progress"))}})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=P({type:t,selectors:[["app-restore-flow"]],hostVars:2,hostBindings:function(e,a){e&2&&D("full-width",a.isProgressPage())},features:[N([C,k])],decls:4,vars:1,consts:()=>{let o;o=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_RADIO:${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_RADIO: Destination `;let e;e=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SH_RADIO:${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SH_RADIO: Encryption `;let a;a=$localize`${"\uFFFD#8\uFFFD"}:START_TAG_SH_RADIO:${"\uFFFD/#8\uFFFD"}:CLOSE_TAG_SH_RADIO: Select files `;let T;T=$localize`${"\uFFFD#11\uFFFD"}:START_TAG_SH_RADIO:${"\uFFFD/#11\uFFFD"}:CLOSE_TAG_SH_RADIO: Options `;let S;S=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_RADIO:${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_RADIO: Select files `;let m;return m=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SH_RADIO:${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SH_RADIO: Options `,[o,e,a,T,S,m,[1,"primary"],["step","","routerLinkActive","active",3,"routerLink"]]},template:function(e,a){e&1&&(s(0,"app-status-bar"),E(1,j,3,1,"sh-stepper",6),i(2,"section"),s(3,"router-outlet"),n()),e&2&&(r(),g(a.isProgressPage()?-1:1))},dependencies:[y,v,w,M,G,W],styles:["[_nghost-%COMP%]{display:block}.full-width[_nghost-%COMP%] section[_ngcontent-%COMP%]{max-width:62.5rem}sh-stepper[_ngcontent-%COMP%]{max-width:31.25rem;margin:2.5rem auto}section[_ngcontent-%COMP%]{max-width:31.25rem;margin:0 auto 2.5rem}"],changeDetection:0})};export{h as default};
package/chunk-QF5WMLMJ.js DELETED
@@ -1 +0,0 @@
1
- import"./chunk-EUDKD2JW.js";var o=[{path:"",loadComponent:()=>import("./chunk-TI6AQ6OL.js"),children:[{path:"",redirectTo:"stored",pathMatch:"full"},{path:"stored",loadComponent:()=>import("./chunk-K2BANUEJ.js")},{path:"live",loadComponent:()=>import("./chunk-AVTEJPQ4.js")}]}],t=o;export{t as default};