@duplicati/ngclient 0.0.214 → 0.0.219

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 (136) hide show
  1. package/assets/sh-bold.woff2 +0 -0
  2. package/assets/sh.woff2 +0 -0
  3. package/assets/ship.css +0 -2
  4. package/{chunk-XAYG4QT7.js → chunk-22AR7ES3.js} +1 -1
  5. package/{chunk-3XCT4PYH.js → chunk-23SRH7FI.js} +1 -1
  6. package/{chunk-QRLREAIK.js → chunk-2J2554EV.js} +1 -1
  7. package/chunk-37ODVJFS.js +1 -0
  8. package/chunk-3RCF6UT4.js +1 -0
  9. package/{chunk-S3FBC24H.js → chunk-4E7D5F6K.js} +1 -1
  10. package/chunk-4J6L5OV3.js +1 -0
  11. package/chunk-4OA2FFS5.js +1 -0
  12. package/chunk-4OJPTRZJ.js +1 -0
  13. package/{chunk-YGHS3INE.js → chunk-5KJPC3V5.js} +1 -1
  14. package/{chunk-EGTYGTQI.js → chunk-5RNU5BNO.js} +1 -1
  15. package/{chunk-AZRNX5LU.js → chunk-6JS7B4FW.js} +1 -1
  16. package/chunk-7C2YZVSQ.js +1 -0
  17. package/chunk-ACTATISC.js +1 -0
  18. package/chunk-ACTJSKQZ.js +2 -0
  19. package/{chunk-XZNYCTQB.js → chunk-AIAUP7OE.js} +1 -1
  20. package/{chunk-LU7TIW3P.js → chunk-ANSV4G2K.js} +1 -1
  21. package/{chunk-YMUS7QSB.js → chunk-BACKG7KA.js} +1 -1
  22. package/{chunk-J6WVOYQ6.js → chunk-BKEJZADV.js} +2 -2
  23. package/{chunk-FMDSOHVR.js → chunk-BLSV7CNZ.js} +1 -1
  24. package/{chunk-PBYZZEYM.js → chunk-BZXBH4CN.js} +1 -1
  25. package/chunk-C3PQFWVO.js +1 -0
  26. package/{chunk-R6TFME5I.js → chunk-C6PICAXB.js} +1 -1
  27. package/{chunk-5L2OOKRZ.js → chunk-CAQ3XMFP.js} +1 -1
  28. package/chunk-DJXLNIMV.js +11 -0
  29. package/{chunk-QAQMMCTH.js → chunk-DSYNIXJF.js} +1 -1
  30. package/chunk-DSZ644JT.js +1 -0
  31. package/chunk-EADZVBRA.js +1 -0
  32. package/{chunk-CQYKOCGO.js → chunk-EDLHTWBA.js} +1 -1
  33. package/{chunk-KHFOQETZ.js → chunk-EKVZKEQJ.js} +1 -1
  34. package/{chunk-CYY7RVDE.js → chunk-ELCA5MKF.js} +2 -2
  35. package/chunk-EPIYGHPM.js +1 -0
  36. package/{chunk-J5TWEZOP.js → chunk-EXMYBMGI.js} +1 -1
  37. package/{chunk-OZEGNE5W.js → chunk-FBU3EBFO.js} +1 -1
  38. package/{chunk-APAWDC4O.js → chunk-FD5CKX3J.js} +1 -1
  39. package/{chunk-22PELS6R.js → chunk-GKGMP6VF.js} +1 -1
  40. package/chunk-GN7AO4B6.js +1 -0
  41. package/{chunk-TZEOQBIX.js → chunk-GRE6GKVP.js} +2 -2
  42. package/chunk-I6MIXWIT.js +1 -0
  43. package/{chunk-ZK3S23CJ.js → chunk-IFSZJSGH.js} +1 -1
  44. package/{chunk-AMSFSVKQ.js → chunk-IG7XUEED.js} +1 -1
  45. package/chunk-IMQUTGIK.js +1 -0
  46. package/{chunk-ZXQSQRKN.js → chunk-IQL3REGJ.js} +1 -1
  47. package/chunk-IRT2UBDI.js +2 -0
  48. package/{chunk-GE3DHZ5E.js → chunk-JPCUISZG.js} +1 -1
  49. package/{chunk-3PUCEFO5.js → chunk-KDV2OE64.js} +1 -1
  50. package/{chunk-VGBTP4QP.js → chunk-KZTFESBJ.js} +1 -1
  51. package/{chunk-7PYUNUEY.js → chunk-M3PW6DLD.js} +1 -1
  52. package/{chunk-BRL4YYWO.js → chunk-N2AU7VKX.js} +1 -1
  53. package/chunk-N3NJW75G.js +1 -0
  54. package/{chunk-VI7MBIGT.js → chunk-NHS6CQO2.js} +1 -1
  55. package/{chunk-V7UJAXBT.js → chunk-NKUA7I47.js} +2 -2
  56. package/chunk-NPFPMA4P.js +1 -0
  57. package/{chunk-WALKMFYR.js → chunk-NX35OQ3V.js} +1 -1
  58. package/{chunk-L2QOWZDR.js → chunk-O2SMJYPC.js} +1 -1
  59. package/{chunk-7FDLOZXV.js → chunk-OHYENIPP.js} +1 -1
  60. package/{chunk-FSHBOASN.js → chunk-OPHQNXYO.js} +1 -1
  61. package/chunk-P4R3ERID.js +1 -0
  62. package/chunk-PG4G4RLP.js +1 -0
  63. package/{chunk-QQLV7J6T.js → chunk-PIGMTUUT.js} +1 -1
  64. package/chunk-PXI3UZ4R.js +1 -0
  65. package/chunk-QDDVZ4CR.js +1 -0
  66. package/{chunk-CW43F6WE.js → chunk-QOWXL7ZL.js} +1 -1
  67. package/chunk-QZQS7M3D.js +1 -0
  68. package/{chunk-HHDCI6IF.js → chunk-RGFJ5UMA.js} +1 -1
  69. package/{chunk-I625OICV.js → chunk-RJ2JM7C7.js} +1 -1
  70. package/{chunk-JMLM4A3C.js → chunk-RLWICOKH.js} +1 -1
  71. package/chunk-RRDLQLTM.js +1 -0
  72. package/{chunk-ADB5QRUO.js → chunk-TCXCC5BM.js} +1 -1
  73. package/chunk-TQTOIWBK.js +4 -0
  74. package/{chunk-EQNDYV43.js → chunk-UTXZPAY6.js} +1 -1
  75. package/chunk-VC55KFAX.js +1 -0
  76. package/chunk-VKQQDCUN.js +1 -0
  77. package/{chunk-XCVBN7EK.js → chunk-WOKYULBU.js} +1 -1
  78. package/{chunk-5FQ5SDPZ.js → chunk-X276XFCH.js} +1 -1
  79. package/chunk-X4BDJA6L.js +3 -0
  80. package/{chunk-B7CQXYTS.js → chunk-XDBSTUYC.js} +1 -1
  81. package/chunk-XEG3CP74.js +1 -0
  82. package/chunk-XWTB7XRI.js +1 -0
  83. package/chunk-XXVDL5TR.js +1 -0
  84. package/{chunk-MRSBKQQM.js → chunk-YCJYEQF7.js} +1 -1
  85. package/chunk-YWBZLU6M.js +1 -0
  86. package/chunk-YWUUX3S6.js +1 -0
  87. package/{chunk-BDQJFOCO.js → chunk-ZC23RK4J.js} +1 -1
  88. package/{chunk-OBF6ZSYT.js → chunk-ZEFSBETQ.js} +1 -1
  89. package/chunk-ZHQI6LYB.js +1 -0
  90. package/chunk-ZNYN6ES6.js +1 -0
  91. package/chunk-ZNYRWXQR.js +1 -0
  92. package/{chunk-VCIINZCU.js → chunk-ZP3QZ43W.js} +1 -1
  93. package/{chunk-WIE7KXIC.js → chunk-ZYRB2TUK.js} +1 -1
  94. package/index.html +2 -2
  95. package/{main-7HIGYDD6.js → main-JR6IVB6K.js} +1 -1
  96. package/package.json +1 -1
  97. package/ship-ui-assets/mcp/components.json +2907 -2456
  98. package/styles-S2CJL4OY.css +1 -0
  99. package/chunk-22YUDKKU.js +0 -1
  100. package/chunk-2E5PWPGZ.js +0 -1
  101. package/chunk-2NLWVJNK.js +0 -1
  102. package/chunk-35APLYI4.js +0 -1
  103. package/chunk-522J6R6I.js +0 -1
  104. package/chunk-7ED2GUWQ.js +0 -1
  105. package/chunk-7WOSHJ7G.js +0 -1
  106. package/chunk-7YSKL3IG.js +0 -1
  107. package/chunk-AJZA5YWT.js +0 -1
  108. package/chunk-B3T2NEGO.js +0 -1
  109. package/chunk-BME6TJIR.js +0 -1
  110. package/chunk-BP66ERTI.js +0 -1
  111. package/chunk-C2NKW2QW.js +0 -1
  112. package/chunk-DTIGWCAE.js +0 -2
  113. package/chunk-EU6N52DH.js +0 -1
  114. package/chunk-GCYBVLSX.js +0 -3
  115. package/chunk-GO22QPW4.js +0 -1
  116. package/chunk-HO6FQWDR.js +0 -1
  117. package/chunk-HYYZB4AS.js +0 -1
  118. package/chunk-IJHPC43D.js +0 -1
  119. package/chunk-KHZ5AXGT.js +0 -1
  120. package/chunk-LOFKRPRH.js +0 -1
  121. package/chunk-M5RTYP7N.js +0 -2
  122. package/chunk-NBKLLQQO.js +0 -1
  123. package/chunk-NCXKMSRH.js +0 -1
  124. package/chunk-OO32MPRQ.js +0 -1
  125. package/chunk-QUXPHHDZ.js +0 -1
  126. package/chunk-R5OX4JTJ.js +0 -1
  127. package/chunk-T2X5J6MQ.js +0 -1
  128. package/chunk-TJNL6F5S.js +0 -1
  129. package/chunk-U34FLIYL.js +0 -1
  130. package/chunk-U3A754M6.js +0 -1
  131. package/chunk-UH2E7MMT.js +0 -4
  132. package/chunk-VDHWNNO7.js +0 -1
  133. package/chunk-Y3BYCXUX.js +0 -1
  134. package/chunk-Y3YNTMT5.js +0 -11
  135. package/chunk-YPWKWP5H.js +0 -1
  136. package/styles-43GHZ572.css +0 -1
@@ -1,2 +1,2 @@
1
- import{d as O,r as M}from"./chunk-NCXKMSRH.js";import{d as B}from"./chunk-QAQMMCTH.js";import{F as N,Rc as w,V as L,_ as I,pa as z,q as f}from"./chunk-UH2E7MMT.js";import{a,b as D}from"./chunk-7CGTOI24.js";var y=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(N(()=>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 d=class e{#e=I(B);#o=new y(()=>this.getS3Config("Providers"));#n=new y(()=>this.getS3Config("Regions"));#r=new y(()=>this.getS3Config("RegionHosts"));#s=new y(()=>this.getS3Config("StorageClasses"));#i=w(()=>{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 y(()=>this.getStorjConfig("Satellites"));#l=new y(()=>this.getStorjConfig("AuthenticationMethods"));#c=new y(()=>this.getOpenstackConfig("Providers"));#p=new y(()=>this.getOpenstackConfig("Versions"));#u=new y(()=>this.getGcsConfig("Locations"));#m=new y(()=>this.getGcsConfig("StorageClasses"));getS3AllProviders(){return this.#o.load(),this.#r.load(),this.#i}getS3ProvidersFiltered(t){return w(()=>this.getS3AllProviders()().filter(t))}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(f(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(f(o=>this.#t(o)))}getOpenstackConfig(t){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"openstack-getconfig",requestBody:{"openstack-config":t}}).pipe(f(o=>this.#t(o)))}getGcsConfig(t){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"gcs-getconfig",requestBody:{"gcs-config":t}}).pipe(f(o=>this.#t(o)))}#t(t){return(t.Result&&typeof t.Result=="object"&&Object.entries(t.Result).map(([o,r])=>({key:o,value:r})))??[]}getDuplicatiStorageBackups(t){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"duplicati-list-backups",requestBody:{action:"ListBackups",url:t}}).pipe(f(o=>this.#t(o)),f(o=>o.find(r=>r.key==="folders")?.value),f(o=>JSON.parse(o)))}getFilenApiKey(t,o){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"filen-get-api-key",requestBody:{"filen-operation":"GetApiKey","backup-id":o??"",url:t}}).pipe(f(r=>this.#t(r)),f(r=>r.find(n=>n.key==="api-key")?.value))}static \u0275fac=function(o){return new(o||e)};static \u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"})};var s=new M,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.`},U={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 a({destinationType:e,custom:{path:n.split("?")[0]}},l(e,t))}}},F={key:"s3",displayName:$localize`S3 Compatible`,description:$localize`Store backups in any S3 compatible bucket.`,icon:"assets/dest-icons/s3compat.png",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(d).getS3AllProviders(),isMandatory:!0,formElement:e=>s.control(e??"")},{name:"auth-username",isMandatory:!0},{name:"auth-password",isMandatory:!0},{name:"use-ssl"}],advancedFields:[{name:"s3-client",type:"Enumeration",loadOptions:()=>z([{key:"AWS Library",value:"aws"},{key:"MinIO Library",value:"minio"}]),validate:e=>({type:"warning",message:$localize`Invalid client selected`})}],mapper:{to:e=>{let{bucket:t,path:o}=e.custom;return c(e,t,null,o)},from:(e,t,o)=>{let{bucket:r,path:n}=m(t);return a({destinationType:e,custom:{path:n,bucket:r}},l(e,t))}}},P=[{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 a({destinationType:e,custom:{path:u.split("?")[0]}},l(e,t))}}},{key:"duplicati",displayName:$localize`Duplicati Storage`,description:$localize`Store backups with Duplicati Storage.`,icon:"assets/dest-icons/duplicati.png",searchTerms:"duplicati internal built-in",sortOrder:-2,dynamicFields:[{name:"duplicati-backup-id",type:"DuplicatiBackupId",isMandatory:!0,shortDescription:$localize`Unique Backup ID`,longDescription:$localize`A unique identifier for the backup job. It is recommended to not change this value.`}],mapper:{to:e=>c(e,null,null,null),from:(e,t,o)=>a({destinationType:e},l(e,t)),default:e=>e&&e.length>0?`duplicati://?duplicati-backup-id=${encodeURIComponent(e)}`:"duplicati://"}},{key:"ssh",displayName:$localize`SFTP (SSH)`,description:$localize`Store backups with SFTP (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??"",[O.required,O.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",shortDescription:$localize`Username`,longDescription:$localize`Username`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Password`,longDescription:$localize`Password`}],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:i}=m(t);return a({destinationType:e,custom:{server:r,port:n,path:i}},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:"spaces cloud digitalocean cloudian minio linode bunnycdn 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(d).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(d).getS3StorageClasses()},{name:"s3-location-constraint",type:"NonValidatedSelectableString",loadOptions:e=>e.get(d).getS3Regions()}],mapper:{to:e=>{let{bucket:t,path:o}=e.custom;return c(e,t,null,o)},from:(e,t,o)=>{let{bucket:r,path:n}=m(t);return a({destinationType:e,custom:{path:n,bucket:r}},l(e,t))}}},{key:"s3",customKey:"s3-aws",displayName:$localize`Amazon S3`,description:$localize`Store backups in Amazon S3.`,icon:"assets/dest-icons/aws.png",searchTerms:"amazon aws",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(d).getS3ProvidersFiltered(t=>t.value.endsWith(".amazonaws.com")),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(d).getS3StorageClasses()},{name:"s3-location-constraint",type:"NonValidatedSelectableString",loadOptions:e=>e.get(d).getS3Regions()}],mapper:{to:e=>{let{bucket:t,path:o}=e.custom;return e.dynamic["s3-server-name"]?.endsWith(".amazonaws.com")&&(e.destinationType="s3"),c(e,t,null,o)},from:(e,t,o)=>{let{bucket:r,path:n}=m(t);return a({destinationType:e,custom:{path:n,bucket:r}},l(e,t))},default:e=>"s3-aws://?use-ssl=true",intercept:e=>e.searchParams.get("s3-server-name")?.endsWith(".amazonaws.com")??!1}},{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(d).getGcsLocations()},{name:"gcs-storage-class",type:"NonValidatedSelectableString",loadOptions:e=>e.get(d).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{bucket:r,path:n}=m(t);return a({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)=>a({destinationType:e,custom:{path:h(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 a({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)=>a({destinationType:e,custom:{path:h(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)=>a({destinationType:e,custom:{path:h(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:i}=m(t);return a({destinationType:e,custom:{server:r,port:n,path:i}},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:i}=m(t);return a({destinationType:e,custom:{server:r,port:n,path:i}},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)=>a({destinationType:e,custom:{path:h(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)=>a({destinationType:e,custom:{path:h(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)=>a({destinationType:e,custom:{path:h(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)=>a({destinationType:e,custom:{path:h(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,validate:e=>{function t(o){if(!o)return!1;let r=o.length;return!(r<6||r>63||!/^[a-zA-Z0-9.-]+$/.test(o)||!/^[a-zA-Z0-9]/.test(o)||!/[a-zA-Z0-9]$/.test(o)||/^\d{1,3}(\.\d{1,3}){3}$/.test(o)||/(\.\.)|(\.-)|(-\.)/.test(o)||o.toLowerCase().startsWith("b2-"))}return t(e)?null:{type:"error",message:$localize`Invalid bucket name.`}}},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{bucket:r,path:n}=m(t);return a({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{bucket:r,path:n}=m(t);return a({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)=>a({destinationType:e,custom:{path:h(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??"",[O.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)=>a({destinationType:e,custom:{path:h(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:i}=m(t);return a({destinationType:e,custom:{server:r,port:n,path:i}},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),{bucket:i,path:u}=m(t);return{destinationType:e,dynamic:a({"rclone-remote-repository":i,"rclone-remote-path":u},n),advanced:a({},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(d).getOpenstackProviders(),isMandatory:!0},{name:"openstack-version",shortDescription:$localize`Version`,type:"Enumeration",loadOptions:e=>e.get(d).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{bucket:r,path:n}=m(t);return a({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:i}=m(t);return a({destinationType:e,custom:{server:r,port:n,path:i}},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:i}=m(t);return a({destinationType:e,custom:{server:r,port:n,path:i}},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:i}=m(t);return a({destinationType:e,custom:{server:r,port:n,path:i}},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)=>a({destinationType:e,custom:{path:h(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(a({},e),{advanced:D(a({},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"],a({destinationType:e,custom:{path:h(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:i}=m(t);return a({destinationType:e,custom:{server:r,port:n,path:i}},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,E(t,r))},from:(e,t,o)=>{let{server:r,path:n}=m(t),i=n.split("/")[0],u=n.split("/").slice(1).join("/");return a({destinationType:e,custom:{server:r,share:i,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:U.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},{name:"two-factor-code",type:"Filen2FACode"}],mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>a({destinationType:e,custom:{path:h(t)}},l(e,t))}},{key:"filejump",displayName:$localize`Filejump`,description:$localize`Store backups in Filejump.`,icon:"assets/dest-icons/file-jump.png",sortOrder:-1,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)=>a({destinationType:e,custom:{path:h(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:"NonValidatedSelectableString",loadOptions:e=>e.get(d).getStorjSatellites(),isMandatory:!0}],mapper:{to:e=>{let t={"storj-auth-method":"Acccess grant"};return`storj://storj.io/config${b([...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"],a({destinationType:e},r)},intercept:e=>e.protocol!=="storj:"?!1:!!(e.searchParams.get("storj-shared-access")||e.searchParams.get("storj-auth-method")==="Acccess grant"),default:()=>"storj://?storj-shared-access=&storj-auth-method=Acccess+grant"}},{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:"NonValidatedSelectableString",loadOptions:e=>e.get(d).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${b([...Object.entries(e.advanced),...Object.entries(e.dynamic),...Object.entries(t)])}`},from:(e,t,o)=>{let r=l("storjApiKey",t);return delete r.advanced["storj-auth-method"],a({destinationType:e},r)},intercept:e=>e.protocol!=="storj:"?!1:!!(e.searchParams.get("storj-api-key")||e.searchParams.get("storj-secret")||e.searchParams.get("storj-auth-method")==="API key"),default:()=>"storj://?storj-api-key=&storj-secret=&storj-auth-method=API+key"}},{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(a({},e),{advanced:D(a({},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"],a({destinationType:e,custom:{path:h(t),bucket:n}},r)}}},{key:"office365",displayName:$localize`Microsoft Office 365`,description:$localize`Create backups of Microsoft Office 365 data.`,icon:"assets/dest-icons/office365.png",isNonFree:!0,dynamicFields:[{name:"auth-username",shortDescription:$localize`Client ID`,longDescription:$localize`Application (client) ID from your Azure AD app registration.`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Client Secret`,longDescription:$localize`Client Secret from your Azure AD app registration.`,isMandatory:!0},{name:"office365-tenant-id",shortDescription:$localize`Tenant ID`,isMandatory:!0}],advancedFields:[{name:"office365-certificate-path",type:"FileTree"}],mapper:{to:e=>`office365://${b([...Object.entries(e.advanced),...Object.entries(e.dynamic)])}`,from:(e,t,o)=>{let{advanced:r,dynamic:n}=l(e,t);return{destinationType:e,advanced:a({},r),dynamic:a({},n)}}}},{key:"googleworkspace",displayName:$localize`Google Workspace`,description:$localize`Create backups of Google Workspace data.`,icon:"assets/dest-icons/googleworkspace.png",isNonFree:!0,dynamicFields:[{name:"google-admin-email",type:"Email",shortDescription:$localize`Admin Email`,longDescription:$localize`Email address of the Google Workspace admin user.`,isMandatory:!0},{name:"google-service-account-json",type:"FreeText",shortDescription:$localize`Service account JSON`,longDescription:$localize`Paste the service account JSON here.`,isMandatory:!0}],advancedFields:[{name:"google-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.`}],mapper:{to:e=>`googleworkspace://${b([...Object.entries(e.advanced),...Object.entries(e.dynamic)])}`,from:(e,t,o)=>{let{advanced:r,dynamic:n}=l(e,t);return{destinationType:e,advanced:a({},r),dynamic:a({},n)}}}},g("rabata","Rabata.io",null,"assets/dest-icons/rabata.png",[".rabata.io"]),g("wasabi","Wasabi Hot Storage",null,"assets/dest-icons/wasabi.png",[".wasabisys.com"]),g("impossiblecloud","Impossible Cloud",null,"assets/dest-icons/impossiblecloud.png",[".impossibleapi.net"]),g("scaleway","Scaleway",null,"assets/dest-icons/scaleway.png",[".scw.cloud"]),g("hosteurope","Hosteurope",null,"assets/dest-icons/hosteurope.png",[".hosteurope.de"]),g("dunkel","Dunkel",null,"assets/dest-icons/dunkel.png",[".dunkel.de"]),g("dreamhost","DreamHost",null,"assets/dest-icons/dreamhost.png",[".dreamhost.com"]),g("dincloud","dinCloud",null,"assets/dest-icons/dincloud.png",[".dincloud.com"]),g("polisystems","Poli Systems",null,"assets/dest-icons/polisystems.png",[".polisystems.ch"]),g("ibmcos","IBM COS",null,"assets/dest-icons/ibmcos.png",[".softlayer.net"]),g("storadera","Storadera",null,"assets/dest-icons/storadera.png",[".storadera.com"]),g("infomaniak","Infomaniak",null,"assets/dest-icons/infomaniak.png",[".infomaniak.com",".infomaniak.cloud"]),g("sakuracloud","\u3055\u304F\u3089\u306E\u30AF\u30E9\u30A6\u30C9",null,"assets/dest-icons/sakuracloud.png",[".sakurastorage.jp"]),g("seagatelyve","Seagate Lyve",null,"assets/dest-icons/seagatelyve.png",[".lyvecloud.seagate.com"]),g("internxt","Internxt",null,"assets/dest-icons/internxt.png",[".internxt.com"]),g("selectel","Selectel",null,"assets/dest-icons/selectel.png",[".storage.selcloud.ru",".srvstorage.uz",".srvstorage.kz"])],he={".amazonaws.com":"Amazon 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",".rabata.io":"Rabata S3",".internxt.com":"Internxt S3",".storage.selcloud.ru":"Selectel S3",".srvstorage.uz":"Selectel S3",".srvstorage.kz":"Selectel S3"};var x=new M,v=class{host;hostname;exactHostname;pathname;port;protocol;search;username;password;searchParams;originalUrl;constructor(t){let o=new URL(t);this.originalUrl=t,this.host=o.host,this.hostname=o.hostname,this.exactHostname=this.extractExactHostname(t),this.pathname=o.pathname,this.port=o.port,this.protocol=o.protocol,this.search=o.search,this.username=o.username,this.password=o.password,this.searchParams=o.searchParams}extractExactHostname(t){let o=t.match(/^[a-zA-Z][a-zA-Z0-9+.-]*:\/\/(?:[^@\/?#]*@)?(\[[a-fA-F0-9:.]+\]|[^:\/?#]+)/);return o?o[1]:""}};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 i=b(n),u=encodeURIComponent(R(t)),k=u==""?"":u+H(o),S=r??"",A=S.slice(1).startsWith(":\\")&&e=="file"?"file:///":`${e}://`,$=E(k,W(S));return`${A}${$}${i}`}function T(e){return e==null||e===""?"":e.startsWith("/")?e.substring(1):e}function E(...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 W(e){return e.split("/").map(encodeURIComponent).join("/")}function h(e){if(e==null||e==="")return"";if(typeof e=="string")try{e=new v(e)}catch{return""}return decodeURIComponent(e.exactHostname??"")+decodeURIComponent(e.pathname=="/"?"":e.pathname??"")}function R(e){return e==null||e===""?"":e.endsWith("/")?e.substring(0,e.length-1):e}function H(e){return e==null||e===""?"":":"+e.toString()}function _(e){try{let o=new v(e),r=P.find(n=>n.mapper.intercept?.(o));if(r)return r}catch{}let t=e.split("://")[0];return C(t)}function C(e){return P.find(o=>o.key===e||o.customKey===e)??P.find(o=>`${o.key}s`===e)??null??a({key:e,displayName:e},U)}function ve(e){return P.filter(t=>t.key===e||t.customKey===e)}function m(e){return{bucket:decodeURIComponent(e.exactHostname),server:decodeURIComponent(e.exactHostname||e.hostname),port:e.port,path:T(decodeURIComponent(e.pathname))}}function l(e,t){let o={},r={},n=C(e);return t.searchParams.forEach((i,u)=>{n?.dynamicFields?.some(S=>S===u||S?.name===u)?r[u]=decodeURIComponent(i):o[u]=decodeURIComponent(i)}),{advanced:o,dynamic:r}}function b(e,t=!1){let o=e.map(([n,i])=>`${n}=${i?encodeURIComponent(i.toString()):""}`).join("&");return o?(t?"":"?")+o:""}function Fe(e){let t=e.destinationType??"";return C(t)?.mapper.to(e)??""}function Pe(e){let t=e.split("://")[0],o=e.split("://")[1],r=t==="file"?"http://dummy":o==""||o.startsWith("?")?`${t}://`+o:"http://"+o;if(!o)return null;let n=_(e),i="";if(`${n.key}s`===t&&(i+=r.indexOf("?")===-1?"?":"&",i+="use-ssl=true",e=n.key+e.substring(t.length)),t==="file"&&o.indexOf("?")!==-1&&(i+=i.indexOf("?")===-1?"?":"&",i+=o.split("?")[1]??""),t==="file"&&o.startsWith("%")&&!o.startsWith("%5C"))return C(t).mapper.from(t,new v("http://localhost"+i),e);try{let u=new v(r+i);if(u.host==="undefined")return null;let k=o.split("?")[0].split("/")[0],S=u.host!=""&&!isNaN(Number(u.host.replaceAll(".",""))),G=k.split("."),A=G.length===4&&G.every($=>$.length&&$.length<=3&&!isNaN(Number($))&&parseInt($)<=255);return S&&!A?null:n.mapper.from(n.key,u,e)}catch(u){return console.error("Error while parsing target path",e,r+i,u),null}}function j(e){return typeof e!="string"||!e.trim()?[]:e.split(`
1
+ import{d as O,r as M}from"./chunk-VKQQDCUN.js";import{d as B}from"./chunk-DSYNIXJF.js";import{F as N,Qc as w,V as L,_ as I,pa as z,q as f}from"./chunk-TQTOIWBK.js";import{a,b as D}from"./chunk-7CGTOI24.js";var y=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(N(()=>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 d=class e{#e=I(B);#o=new y(()=>this.getS3Config("Providers"));#n=new y(()=>this.getS3Config("Regions"));#r=new y(()=>this.getS3Config("RegionHosts"));#s=new y(()=>this.getS3Config("StorageClasses"));#i=w(()=>{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 y(()=>this.getStorjConfig("Satellites"));#l=new y(()=>this.getStorjConfig("AuthenticationMethods"));#c=new y(()=>this.getOpenstackConfig("Providers"));#p=new y(()=>this.getOpenstackConfig("Versions"));#u=new y(()=>this.getGcsConfig("Locations"));#m=new y(()=>this.getGcsConfig("StorageClasses"));getS3AllProviders(){return this.#o.load(),this.#r.load(),this.#i}getS3ProvidersFiltered(t){return w(()=>this.getS3AllProviders()().filter(t))}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(f(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(f(o=>this.#t(o)))}getOpenstackConfig(t){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"openstack-getconfig",requestBody:{"openstack-config":t}}).pipe(f(o=>this.#t(o)))}getGcsConfig(t){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"gcs-getconfig",requestBody:{"gcs-config":t}}).pipe(f(o=>this.#t(o)))}#t(t){return(t.Result&&typeof t.Result=="object"&&Object.entries(t.Result).map(([o,r])=>({key:o,value:r})))??[]}getDuplicatiStorageBackups(t){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"duplicati-list-backups",requestBody:{action:"ListBackups",url:t}}).pipe(f(o=>this.#t(o)),f(o=>o.find(r=>r.key==="folders")?.value),f(o=>JSON.parse(o)))}getFilenApiKey(t,o){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"filen-get-api-key",requestBody:{"filen-operation":"GetApiKey","backup-id":o??"",url:t}}).pipe(f(r=>this.#t(r)),f(r=>r.find(n=>n.key==="api-key")?.value))}static \u0275fac=function(o){return new(o||e)};static \u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"})};var s=new M,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.`},U={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 a({destinationType:e,custom:{path:n.split("?")[0]}},l(e,t))}}},F={key:"s3",displayName:$localize`S3 Compatible`,description:$localize`Store backups in any S3 compatible bucket.`,icon:"assets/dest-icons/s3compat.png",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(d).getS3AllProviders(),isMandatory:!0,formElement:e=>s.control(e??"")},{name:"auth-username",isMandatory:!0},{name:"auth-password",isMandatory:!0},{name:"use-ssl"}],advancedFields:[{name:"s3-client",type:"Enumeration",loadOptions:()=>z([{key:"AWS Library",value:"aws"},{key:"MinIO Library",value:"minio"}]),validate:e=>({type:"warning",message:$localize`Invalid client selected`})}],mapper:{to:e=>{let{bucket:t,path:o}=e.custom;return c(e,t,null,o)},from:(e,t,o)=>{let{bucket:r,path:n}=m(t);return a({destinationType:e,custom:{path:n,bucket:r}},l(e,t))}}},P=[{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 a({destinationType:e,custom:{path:u.split("?")[0]}},l(e,t))}}},{key:"duplicati",displayName:$localize`Duplicati Storage`,description:$localize`Store backups with Duplicati Storage.`,icon:"assets/dest-icons/duplicati.png",searchTerms:"duplicati internal built-in",sortOrder:-2,dynamicFields:[{name:"duplicati-backup-id",type:"DuplicatiBackupId",isMandatory:!0,shortDescription:$localize`Unique Backup ID`,longDescription:$localize`A unique identifier for the backup job. It is recommended to not change this value.`}],mapper:{to:e=>c(e,null,null,null),from:(e,t,o)=>a({destinationType:e},l(e,t)),default:e=>e&&e.length>0?`duplicati://?duplicati-backup-id=${encodeURIComponent(e)}`:"duplicati://"}},{key:"ssh",displayName:$localize`SFTP (SSH)`,description:$localize`Store backups with SFTP (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??"",[O.required,O.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",shortDescription:$localize`Username`,longDescription:$localize`Username`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Password`,longDescription:$localize`Password`}],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:i}=m(t);return a({destinationType:e,custom:{server:r,port:n,path:i}},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:"spaces cloud digitalocean cloudian minio linode bunnycdn 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(d).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(d).getS3StorageClasses()},{name:"s3-location-constraint",type:"NonValidatedSelectableString",loadOptions:e=>e.get(d).getS3Regions()}],mapper:{to:e=>{let{bucket:t,path:o}=e.custom;return c(e,t,null,o)},from:(e,t,o)=>{let{bucket:r,path:n}=m(t);return a({destinationType:e,custom:{path:n,bucket:r}},l(e,t))}}},{key:"s3",customKey:"s3-aws",displayName:$localize`Amazon S3`,description:$localize`Store backups in Amazon S3.`,icon:"assets/dest-icons/aws.png",searchTerms:"amazon aws",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(d).getS3ProvidersFiltered(t=>t.value.endsWith(".amazonaws.com")),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(d).getS3StorageClasses()},{name:"s3-location-constraint",type:"NonValidatedSelectableString",loadOptions:e=>e.get(d).getS3Regions()}],mapper:{to:e=>{let{bucket:t,path:o}=e.custom;return e.dynamic["s3-server-name"]?.endsWith(".amazonaws.com")&&(e.destinationType="s3"),c(e,t,null,o)},from:(e,t,o)=>{let{bucket:r,path:n}=m(t);return a({destinationType:e,custom:{path:n,bucket:r}},l(e,t))},default:e=>"s3-aws://?use-ssl=true",intercept:e=>e.searchParams.get("s3-server-name")?.endsWith(".amazonaws.com")??!1}},{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(d).getGcsLocations()},{name:"gcs-storage-class",type:"NonValidatedSelectableString",loadOptions:e=>e.get(d).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{bucket:r,path:n}=m(t);return a({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)=>a({destinationType:e,custom:{path:h(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 a({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)=>a({destinationType:e,custom:{path:h(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)=>a({destinationType:e,custom:{path:h(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:i}=m(t);return a({destinationType:e,custom:{server:r,port:n,path:i}},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:i}=m(t);return a({destinationType:e,custom:{server:r,port:n,path:i}},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)=>a({destinationType:e,custom:{path:h(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)=>a({destinationType:e,custom:{path:h(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)=>a({destinationType:e,custom:{path:h(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)=>a({destinationType:e,custom:{path:h(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,validate:e=>{function t(o){if(!o)return!1;let r=o.length;return!(r<6||r>63||!/^[a-zA-Z0-9.-]+$/.test(o)||!/^[a-zA-Z0-9]/.test(o)||!/[a-zA-Z0-9]$/.test(o)||/^\d{1,3}(\.\d{1,3}){3}$/.test(o)||/(\.\.)|(\.-)|(-\.)/.test(o)||o.toLowerCase().startsWith("b2-"))}return t(e)?null:{type:"error",message:$localize`Invalid bucket name.`}}},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{bucket:r,path:n}=m(t);return a({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{bucket:r,path:n}=m(t);return a({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)=>a({destinationType:e,custom:{path:h(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??"",[O.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)=>a({destinationType:e,custom:{path:h(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:i}=m(t);return a({destinationType:e,custom:{server:r,port:n,path:i}},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),{bucket:i,path:u}=m(t);return{destinationType:e,dynamic:a({"rclone-remote-repository":i,"rclone-remote-path":u},n),advanced:a({},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(d).getOpenstackProviders(),isMandatory:!0},{name:"openstack-version",shortDescription:$localize`Version`,type:"Enumeration",loadOptions:e=>e.get(d).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{bucket:r,path:n}=m(t);return a({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:i}=m(t);return a({destinationType:e,custom:{server:r,port:n,path:i}},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:i}=m(t);return a({destinationType:e,custom:{server:r,port:n,path:i}},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:i}=m(t);return a({destinationType:e,custom:{server:r,port:n,path:i}},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)=>a({destinationType:e,custom:{path:h(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(a({},e),{advanced:D(a({},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"],a({destinationType:e,custom:{path:h(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:i}=m(t);return a({destinationType:e,custom:{server:r,port:n,path:i}},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,E(t,r))},from:(e,t,o)=>{let{server:r,path:n}=m(t),i=n.split("/")[0],u=n.split("/").slice(1).join("/");return a({destinationType:e,custom:{server:r,share:i,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:U.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},{name:"two-factor-code",type:"Filen2FACode"}],mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>a({destinationType:e,custom:{path:h(t)}},l(e,t))}},{key:"filejump",displayName:$localize`Filejump`,description:$localize`Store backups in Filejump.`,icon:"assets/dest-icons/file-jump.png",sortOrder:-1,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)=>a({destinationType:e,custom:{path:h(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:"NonValidatedSelectableString",loadOptions:e=>e.get(d).getStorjSatellites(),isMandatory:!0}],mapper:{to:e=>{let t={"storj-auth-method":"Acccess grant"};return`storj://storj.io/config${b([...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"],a({destinationType:e},r)},intercept:e=>e.protocol!=="storj:"?!1:!!(e.searchParams.get("storj-shared-access")||e.searchParams.get("storj-auth-method")==="Acccess grant"),default:()=>"storj://?storj-shared-access=&storj-auth-method=Acccess+grant"}},{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:"NonValidatedSelectableString",loadOptions:e=>e.get(d).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${b([...Object.entries(e.advanced),...Object.entries(e.dynamic),...Object.entries(t)])}`},from:(e,t,o)=>{let r=l("storjApiKey",t);return delete r.advanced["storj-auth-method"],a({destinationType:e},r)},intercept:e=>e.protocol!=="storj:"?!1:!!(e.searchParams.get("storj-api-key")||e.searchParams.get("storj-secret")||e.searchParams.get("storj-auth-method")==="API key"),default:()=>"storj://?storj-api-key=&storj-secret=&storj-auth-method=API+key"}},{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(a({},e),{advanced:D(a({},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"],a({destinationType:e,custom:{path:h(t),bucket:n}},r)}}},{key:"office365",displayName:$localize`Microsoft Office 365`,description:$localize`Create backups of Microsoft Office 365 data.`,icon:"assets/dest-icons/office365.png",isNonFree:!0,dynamicFields:[{name:"auth-username",shortDescription:$localize`Client ID`,longDescription:$localize`Application (client) ID from your Azure AD app registration.`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Client Secret`,longDescription:$localize`Client Secret from your Azure AD app registration.`,isMandatory:!0},{name:"office365-tenant-id",shortDescription:$localize`Tenant ID`,isMandatory:!0}],advancedFields:[{name:"office365-certificate-path",type:"FileTree"}],mapper:{to:e=>`office365://${b([...Object.entries(e.advanced),...Object.entries(e.dynamic)])}`,from:(e,t,o)=>{let{advanced:r,dynamic:n}=l(e,t);return{destinationType:e,advanced:a({},r),dynamic:a({},n)}}}},{key:"googleworkspace",displayName:$localize`Google Workspace`,description:$localize`Create backups of Google Workspace data.`,icon:"assets/dest-icons/googleworkspace.png",isNonFree:!0,dynamicFields:[{name:"google-admin-email",type:"Email",shortDescription:$localize`Admin Email`,longDescription:$localize`Email address of the Google Workspace admin user.`,isMandatory:!0},{name:"google-service-account-json",type:"FreeText",shortDescription:$localize`Service account JSON`,longDescription:$localize`Paste the service account JSON here.`,isMandatory:!0}],advancedFields:[{name:"google-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.`}],mapper:{to:e=>`googleworkspace://${b([...Object.entries(e.advanced),...Object.entries(e.dynamic)])}`,from:(e,t,o)=>{let{advanced:r,dynamic:n}=l(e,t);return{destinationType:e,advanced:a({},r),dynamic:a({},n)}}}},g("rabata","Rabata.io",null,"assets/dest-icons/rabata.png",[".rabata.io"]),g("wasabi","Wasabi Hot Storage",null,"assets/dest-icons/wasabi.png",[".wasabisys.com"]),g("impossiblecloud","Impossible Cloud",null,"assets/dest-icons/impossiblecloud.png",[".impossibleapi.net"]),g("scaleway","Scaleway",null,"assets/dest-icons/scaleway.png",[".scw.cloud"]),g("hosteurope","Hosteurope",null,"assets/dest-icons/hosteurope.png",[".hosteurope.de"]),g("dunkel","Dunkel",null,"assets/dest-icons/dunkel.png",[".dunkel.de"]),g("dreamhost","DreamHost",null,"assets/dest-icons/dreamhost.png",[".dreamhost.com"]),g("dincloud","dinCloud",null,"assets/dest-icons/dincloud.png",[".dincloud.com"]),g("polisystems","Poli Systems",null,"assets/dest-icons/polisystems.png",[".polisystems.ch"]),g("ibmcos","IBM COS",null,"assets/dest-icons/ibmcos.png",[".softlayer.net"]),g("storadera","Storadera",null,"assets/dest-icons/storadera.png",[".storadera.com"]),g("infomaniak","Infomaniak",null,"assets/dest-icons/infomaniak.png",[".infomaniak.com",".infomaniak.cloud"]),g("sakuracloud","\u3055\u304F\u3089\u306E\u30AF\u30E9\u30A6\u30C9",null,"assets/dest-icons/sakuracloud.png",[".sakurastorage.jp"]),g("seagatelyve","Seagate Lyve",null,"assets/dest-icons/seagatelyve.png",[".lyvecloud.seagate.com"]),g("internxt","Internxt",null,"assets/dest-icons/internxt.png",[".internxt.com"]),g("selectel","Selectel",null,"assets/dest-icons/selectel.png",[".storage.selcloud.ru",".srvstorage.uz",".srvstorage.kz"])],he={".amazonaws.com":"Amazon 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",".rabata.io":"Rabata S3",".internxt.com":"Internxt S3",".storage.selcloud.ru":"Selectel S3",".srvstorage.uz":"Selectel S3",".srvstorage.kz":"Selectel S3"};var x=new M,v=class{host;hostname;exactHostname;pathname;port;protocol;search;username;password;searchParams;originalUrl;constructor(t){let o=new URL(t);this.originalUrl=t,this.host=o.host,this.hostname=o.hostname,this.exactHostname=this.extractExactHostname(t),this.pathname=o.pathname,this.port=o.port,this.protocol=o.protocol,this.search=o.search,this.username=o.username,this.password=o.password,this.searchParams=o.searchParams}extractExactHostname(t){let o=t.match(/^[a-zA-Z][a-zA-Z0-9+.-]*:\/\/(?:[^@\/?#]*@)?(\[[a-fA-F0-9:.]+\]|[^:\/?#]+)/);return o?o[1]:""}};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 i=b(n),u=encodeURIComponent(R(t)),k=u==""?"":u+H(o),S=r??"",A=S.slice(1).startsWith(":\\")&&e=="file"?"file:///":`${e}://`,$=E(k,W(S));return`${A}${$}${i}`}function T(e){return e==null||e===""?"":e.startsWith("/")?e.substring(1):e}function E(...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 W(e){return e.split("/").map(encodeURIComponent).join("/")}function h(e){if(e==null||e==="")return"";if(typeof e=="string")try{e=new v(e)}catch{return""}return decodeURIComponent(e.exactHostname??"")+decodeURIComponent(e.pathname=="/"?"":e.pathname??"")}function R(e){return e==null||e===""?"":e.endsWith("/")?e.substring(0,e.length-1):e}function H(e){return e==null||e===""?"":":"+e.toString()}function _(e){try{let o=new v(e),r=P.find(n=>n.mapper.intercept?.(o));if(r)return r}catch{}let t=e.split("://")[0];return C(t)}function C(e){return P.find(o=>o.key===e||o.customKey===e)??P.find(o=>`${o.key}s`===e)??null??a({key:e,displayName:e},U)}function ve(e){return P.filter(t=>t.key===e||t.customKey===e)}function m(e){return{bucket:decodeURIComponent(e.exactHostname),server:decodeURIComponent(e.exactHostname||e.hostname),port:e.port,path:T(decodeURIComponent(e.pathname))}}function l(e,t){let o={},r={},n=C(e);return t.searchParams.forEach((i,u)=>{n?.dynamicFields?.some(S=>S===u||S?.name===u)?r[u]=decodeURIComponent(i):o[u]=decodeURIComponent(i)}),{advanced:o,dynamic:r}}function b(e,t=!1){let o=e.map(([n,i])=>`${n}=${i?encodeURIComponent(i.toString()):""}`).join("&");return o?(t?"":"?")+o:""}function Fe(e){let t=e.destinationType??"";return C(t)?.mapper.to(e)??""}function Pe(e){let t=e.split("://")[0],o=e.split("://")[1],r=t==="file"?"http://dummy":o==""||o.startsWith("?")?`${t}://`+o:"http://"+o;if(!o)return null;let n=_(e),i="";if(`${n.key}s`===t&&(i+=r.indexOf("?")===-1?"?":"&",i+="use-ssl=true",e=n.key+e.substring(t.length)),t==="file"&&o.indexOf("?")!==-1&&(i+=i.indexOf("?")===-1?"?":"&",i+=o.split("?")[1]??""),t==="file"&&o.startsWith("%")&&!o.startsWith("%5C"))return C(t).mapper.from(t,new v("http://localhost"+i),e);try{let u=new v(r+i);if(u.host==="undefined")return null;let k=o.split("?")[0].split("/")[0],S=u.host!=""&&!isNaN(Number(u.host.replaceAll(".",""))),G=k.split("."),A=G.length===4&&G.every($=>$.length&&$.length<=3&&!isNaN(Number($))&&parseInt($)<=255);return S&&!A?null:n.mapper.from(n.key,u,e)}catch(u){return console.error("Error while parsing target path",e,r+i,u),null}}function j(e){return typeof e!="string"||!e.trim()?[]:e.split(`
2
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 Oe(e){return j(e).map(([t,o])=>({Name:t,Value:o}))}function Me(e){return Object.fromEntries(j(e))}function Ve(e){if(!e)return!1;let t=e.length;return!(t<3||t>63||!/^[a-z0-9.-]+$/.test(e)||!/^[a-z0-9]/.test(e)||!/[a-z0-9]$/.test(e)||/^\d{1,3}(\.\d{1,3}){3}$/.test(e)||/(\.\.)|(\.-)|(-\.)/.test(e))}function Ce(e){if(!e||e.length>253)return!1;let t=e.split(".");for(let o of t)if(!o||o.length>63||!/^[a-zA-Z0-9]([-a-zA-Z0-9]*[a-zA-Z0-9])?$/.test(o))return!1;return!0}function g(e,t,o,r,n){return D(a({},F),{customKey:`s3-${e}`,icon:r??F.icon,displayName:$localize`${t} (S3)`,description:o??$localize`Store backups in ${t} storage.`,dynamicFields:[...(F.dynamicFields??[]).filter(i=>i?.name!=="s3-server-name"),{name:"s3-server-name",order:1,shortDescription:$localize`Server`,longDescription:$localize`The hostname of the ${t} endpoint`,type:"NonValidatedSelectableString",loadOptions:i=>i.get(d).getS3ProvidersFiltered(u=>n.some(k=>u.value.endsWith(k))),isMandatory:!0,formElement:i=>x.control(i??"")}],mapper:D(a({},F.mapper),{to:i=>{let{bucket:u,path:k}=i.custom;return n.some(S=>i.dynamic["s3-server-name"]?.endsWith(S))&&(i.destinationType="s3"),c(i,u,null,k)},default:i=>`s3-${e}://?use-ssl=true`,intercept:i=>n.some(u=>i.searchParams.get("s3-server-name")?.endsWith(u))??!1})})}export{d as a,h as b,_ as c,C as d,ve as e,Fe as f,Pe as g,Oe as h,Me as i,Ve as j,Ce as k,he as l};
@@ -0,0 +1 @@
1
+ import{a}from"./chunk-GRE6GKVP.js";import"./chunk-VC55KFAX.js";import"./chunk-ZEFSBETQ.js";import"./chunk-YCJYEQF7.js";import"./chunk-IMQUTGIK.js";import"./chunk-C6PICAXB.js";import"./chunk-VKQQDCUN.js";import"./chunk-DSYNIXJF.js";import"./chunk-N2AU7VKX.js";import"./chunk-ZC23RK4J.js";import"./chunk-OPHQNXYO.js";import"./chunk-TQTOIWBK.js";import"./chunk-7CGTOI24.js";export{a as OptionsListComponent};
@@ -0,0 +1 @@
1
+ import{a}from"./chunk-YCJYEQF7.js";import"./chunk-ZC23RK4J.js";import"./chunk-OPHQNXYO.js";import"./chunk-TQTOIWBK.js";import"./chunk-7CGTOI24.js";export{a as BytesPipe};
@@ -0,0 +1 @@
1
+ import{a as ne}from"./chunk-GRE6GKVP.js";import{q as ee}from"./chunk-DJXLNIMV.js";import"./chunk-CAQ3XMFP.js";import{d as Z}from"./chunk-VC55KFAX.js";import"./chunk-ZEFSBETQ.js";import"./chunk-6Q6SSTBK.js";import"./chunk-YCJYEQF7.js";import"./chunk-OHYENIPP.js";import"./chunk-UTXZPAY6.js";import"./chunk-IMQUTGIK.js";import"./chunk-BACKG7KA.js";import"./chunk-IQL3REGJ.js";import"./chunk-AIAUP7OE.js";import"./chunk-C6PICAXB.js";import"./chunk-6JS7B4FW.js";import{B as j,H as Q,P as q,c as X,e as W,i as z,k as V,s as H,v as Y}from"./chunk-VKQQDCUN.js";import"./chunk-DSYNIXJF.js";import{b as U,d as J}from"./chunk-NPFPMA4P.js";import"./chunk-O2SMJYPC.js";import"./chunk-N2AU7VKX.js";import"./chunk-ZC23RK4J.js";import"./chunk-OPHQNXYO.js";import{$b as c,Ac as D,Cb as m,Db as i,Eb as a,Fb as P,Mb as g,Sa as p,Tb as N,Ub as E,Vb as l,Xc as K,Zb as f,_ as C,da as O,ea as S,gb as $,gc as v,hc as B,kc as x,pa as w,sc as d,tc as T,uc as u,wb as L,xb as G}from"./chunk-TQTOIWBK.js";import"./chunk-7CGTOI24.js";var te=["formRef"],ie=()=>["--skip-files-larger-than","encryption-module","no-encryption","--no-encryption","compression-module","--exclude-files-attributes","keep-time","keep-versions","retention-policy"];function oe(s,r){s&1&&(i(0,"p"),l(1,4),a())}function ae(s,r){if(s&1){let n=g();i(0,"p"),l(1,5),a(),i(2,"app-timespan",21),u("ngModelChange",function(o){O(n);let t=c();return T(t.optionsFields.backupRetentionTime,o)||(t.optionsFields.backupRetentionTime=o),S(o)}),i(3,"label",22),l(4,6),a()()}if(s&2){let n=c();p(2),m("customId","backupRetentionTime"),d("ngModel",n.optionsFields.backupRetentionTime)}}function se(s,r){if(s&1){let n=g();i(0,"p"),l(1,7),a(),i(2,"sh-form-field")(3,"label",23),l(4,8),a(),i(5,"input",24),u("ngModelChange",function(o){O(n);let t=c();return T(t.optionsFields.backupRetentionVersions,o)||(t.optionsFields.backupRetentionVersions=o),S(o)}),a()()}if(s&2){let n=c();p(5),d("ngModel",n.optionsFields.backupRetentionVersions)}}function _e(s,r){s&1&&(i(0,"p"),l(1,9),a())}function le(s,r){if(s&1){let n=g();i(0,"p"),l(1,10),a(),i(2,"sh-form-field")(3,"p"),l(4,11),a(),i(5,"label",25),l(6,12),a(),i(7,"input",26),u("ngModelChange",function(o){O(n);let t=c();return T(t.optionsFields.backupRetentionCustom,o)||(t.optionsFields.backupRetentionCustom=o),S(o)}),a()()}if(s&2){let n=c();p(7),d("ngModel",n.optionsFields.backupRetentionCustom)}}var re=[{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`}],h=class s{#e=C(ee);#n=C(J);#t=C(U);formRef=K.required("formRef");isSubmitting=this.#e.isSubmitting;settings=this.#e.settings;optionsFields=this.#e.optionsFields;applicationOptions=this.#e.applicationOptions;retentionOptions=w(re);goBack(){this.#n.navigate(["schedule"],{relativeTo:this.#t.parent})}submit(){switch(this.#e.validateBeforeSubmit()){case"general":this.#n.navigate(["general"],{relativeTo:this.#t.parent});return;case"destination":this.#n.navigate(["destination"],{relativeTo:this.#t.parent});return;case"source":this.#n.navigate(["source-data"],{relativeTo:this.#t.parent});return}this.#e.submit()}static \u0275fac=function(n){return new(n||s)};static \u0275cmp=$({type:s,selectors:[["app-advanced-options-settings"]],viewQuery:function(n,e){n&1&&v(e.formRef,te,5),n&2&&B()},decls:20,vars:12,consts:()=>{let r;r=$localize`Options`;let n;n=$localize`Backup retention`;let e;e=$localize`${"\uFFFD#16\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#16\uFFFD"}:CLOSE_TAG_SH_ICON: Go back `;let o;o=$localize`${"\uFFFD#19\uFFFD"}:START_TAG_SH_ICON:arrow-right${"\uFFFD/#19\uFFFD"}:CLOSE_TAG_SH_ICON: Submit `;let t;t=$localize`Nothing will be deleted. The backup size will grow with each change.`;let M;M=$localize`If at least one newer backup is found, all backups older than this date are deleted.`;let I;I=$localize`Time to keep versions`;let R;R=$localize`Once there are more backups than the specified number, the oldest backups are deleted.`;let b;b=$localize`Number of versions`;let y;y=$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 A;A=$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 k;k=$localize`Once there are more backups than the specified number, the oldest backups are deleted.`;let F;return F=$localize`Retention expression`,[r,n,e,o,t,M,I,R,b,y,A,k,F,[1,"title-30"],["value","value","label","name",3,"options","inlineSearch","isClearable"],["for","size"],["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"],[3,"ngModelChange","customId","ngModel"],["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&&(i(0,"section")(1,"h3",13),l(2,0),a(),i(3,"sh-select",14)(4,"label",15),l(5,1),a(),i(6,"input",16),u("ngModelChange",function(t){return T(e.optionsFields.backupRetention,t)||(e.optionsFields.backupRetention=t),t}),a()(),L(7,oe,2,0,"p")(8,ae,5,2)(9,se,6,1)(10,_e,2,0,"p")(11,le,8,1),i(12,"app-options-list",17),u("optionsChange",function(t){return T(e.settings,t)||(e.settings=t),t}),a(),i(13,"div",18)(14,"button",19),f("click",function(){return e.goBack()}),N(15,2),P(16,"sh-icon"),E(),a(),i(17,"button",20),f("click",function(){return e.submit()}),N(18,3),P(19,"sh-icon"),E(),a()()()),n&2&&(p(3),m("options",e.retentionOptions())("inlineSearch",!0)("isClearable",!1),p(3),d("ngModel",e.optionsFields.backupRetention),p(),G(e.optionsFields.backupRetention()==="all"?7:e.optionsFields.backupRetention()==="time"?8:e.optionsFields.backupRetention()==="versions"?9:e.optionsFields.backupRetention()==="smart"?10:e.optionsFields.backupRetention()==="custom"?11:-1),p(5),d("options",e.settings),m("applicationOptions",e.applicationOptions())("hasFreeTextSettings",!0)("hiddenOptions",D(11,ie)),p(5),x("loading",e.isSubmitting()))},dependencies:[H,X,V,W,z,ne,Z,j,Y,q,Q],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:37.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{h as default};
@@ -1 +1 @@
1
- import{a as pn}from"./chunk-ZK3S23CJ.js";import"./chunk-GO22QPW4.js";import"./chunk-FMDSOHVR.js";import"./chunk-NBKLLQQO.js";import{a as ee}from"./chunk-KHFOQETZ.js";import"./chunk-I625OICV.js";import{a as me}from"./chunk-XCVBN7EK.js";import"./chunk-ADB5QRUO.js";import"./chunk-22PELS6R.js";import"./chunk-6Q6SSTBK.js";import{a as Z}from"./chunk-MRSBKQQM.js";import"./chunk-7FDLOZXV.js";import"./chunk-EQNDYV43.js";import"./chunk-35APLYI4.js";import"./chunk-LU7TIW3P.js";import"./chunk-YMUS7QSB.js";import{b as Cn,c as Ge}from"./chunk-ZXQSQRKN.js";import"./chunk-XZNYCTQB.js";import"./chunk-R6TFME5I.js";import"./chunk-AZRNX5LU.js";import{B as Oe,E as cn,G as un,L as Le,U as dn,V as En,v as q}from"./chunk-NCXKMSRH.js";import{d as Ne}from"./chunk-QAQMMCTH.js";import{b as rn,e as sn}from"./chunk-KHZ5AXGT.js";import"./chunk-L2QOWZDR.js";import"./chunk-BRL4YYWO.js";import{ha as j,ka as Se}from"./chunk-BDQJFOCO.js";import"./chunk-FSHBOASN.js";import{$b as E,Ab as x,Bb as k,Cb as w,Db as _,Eb as o,F as en,Fb as F,Gc as T,Hc as f,Ic as I,Jb as $,Jc as X,Kb as M,L as nn,Mb as R,Rc as ge,Sa as a,Tb as p,Tc as Fn,Ub as g,Vb as c,Wb as u,Xb as d,Xc as Te,Yb as m,Zb as B,_ as z,da as A,ea as P,gb as W,kc as Y,nc as C,oc as K,p as Ze,pa as h,pc as V,q as H,qc as tn,rc as on,sc as _n,tc as an,uc as ln,vc as Ce,wb as S,wc as pe,xb as O,xc as J,yb as y}from"./chunk-UH2E7MMT.js";import{a as Ee}from"./chunk-7CGTOI24.js";function Sn(n,t){n&1&&F(0,"sh-progress-bar",51)}function On(n,t){n&1&&F(0,"div",54)}function Ln(n,t){n&1&&F(0,"div",54)}function Nn(n,t){n&1&&F(0,"div",55)}function mn(n,t){n&1&&F(0,"div",56)}function Gn(n,t){if(n&1&&(_(0,"details",65)(1,"summary"),p(2,15),F(3,"sh-icon"),_(4,"div",67),F(5,"sh-icon",59),o(),g(),o(),_(6,"div",68)(7,"p"),c(8,16),T(9,"date"),o(),_(10,"p"),c(11,17),T(12,"date"),o(),_(13,"p"),c(14,18),T(15,"durationFormat"),o(),_(16,"p"),c(17,19),o(),F(18,"sh-divider"),_(19,"p"),c(20,20),o(),_(21,"p"),c(22,21),o()()(),_(23,"details",65)(24,"summary"),p(25,22),F(26,"sh-icon"),_(27,"div",67),F(28,"sh-icon",59),o(),g(),o(),_(29,"div",68)(30,"p"),c(31,23),T(32,"date"),o(),_(33,"p"),c(34,24),T(35,"date"),o(),_(36,"p"),c(37,25),T(38,"durationFormat"),o(),F(39,"sh-divider"),_(40,"p"),c(41,26),T(42,"bytes"),o(),_(43,"p"),c(44,27),T(45,"bytes"),o(),_(46,"p"),c(47,28),T(48,"bytes"),o(),F(49,"sh-divider"),_(50,"p"),c(51,29),o(),_(52,"p"),c(53,30),o()()()),n&2){let e=E(2).$implicit;a(9),u(I(9,17,e.data==null||e.data.TestResults==null?null:e.data.TestResults.BeginTime,"medium")),d(8),a(3),u(I(12,20,e.data==null||e.data.TestResults==null?null:e.data.TestResults.EndTime,"medium")),d(11),a(3),u(f(15,23,e.data==null||e.data.TestResults==null?null:e.data.TestResults.Duration)),d(14),a(2),u(e.data==null||e.data.TestResults==null?null:e.data.TestResults.VerificationsActualLength),d(17),a(3),u(e.data==null||e.data.TestResults==null?null:e.data.TestResults.WarningsActualLength),d(20),a(2),u(e.data==null||e.data.TestResults==null?null:e.data.TestResults.ErrorsActualLength),d(22),a(10),u(I(32,25,e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.BeginTime,"medium")),d(31),a(3),u(I(35,28,e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.EndTime,"medium")),d(34),a(3),u(f(38,31,e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.Duration)),d(37),a(4),u(e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.DeletedFileCount)(X(42,33,e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.DeletedFileSize,!0,!0)),d(41),a(3),u(e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.DownloadedFileCount)(X(45,37,e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.DownloadedFileSize,!0,!0)),d(44),a(3),u(e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.UploadedFileCount)(X(48,41,e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.UploadedFileSize,!0,!0)),d(47),a(3),u(e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.WarningsActualLength),d(51),a(2),u(e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.ErrorsActualLength),d(53)}}function Dn(n,t){n&1&&(_(0,"p"),C(1,"No messages"),o())}function An(n,t){n&1&&(p(0,43,1),F(1,"sh-icon"),g())}function Pn(n,t){n&1&&(p(0,43,2),F(1,"sh-icon"),g())}function Rn(n,t){if(n&1){let e=R();_(0,"div",69)(1,"code"),C(2),o(),_(3,"button",70),B("click",function(l){let r=A(e).$implicit,L=E(5);return P(L.copyToClipboard(l,r,r))}),p(4,43),S(5,An,2,0,"sh-icon")(6,Pn,2,0,"sh-icon"),g(),o()()}if(n&2){let e=t.$implicit,i=E(5);a(2),K(e),a(3),O(i.copied()==e?5:6)}}function In(n,t){n&1&&(_(0,"p"),C(1,"No warnings"),o())}function $n(n,t){n&1&&(p(0,44,1),F(1,"sh-icon"),g())}function Mn(n,t){n&1&&(p(0,44,2),F(1,"sh-icon"),g())}function fn(n,t){if(n&1){let e=R();_(0,"div",69)(1,"code"),C(2),o(),_(3,"button",70),B("click",function(l){let r=A(e).$implicit,L=E(5);return P(L.copyToClipboard(l,r,r))}),p(4,44),S(5,$n,2,0,"sh-icon")(6,Mn,2,0,"sh-icon"),g(),o()()}if(n&2){let e=t.$implicit,i=E(5);a(2),K(e),a(3),O(i.copied()==e?5:6)}}function hn(n,t){n&1&&(_(0,"p"),C(1,"No errors"),o())}function Bn(n,t){n&1&&(p(0,45,1),F(1,"sh-icon"),g())}function vn(n,t){n&1&&(p(0,45,2),F(1,"sh-icon"),g())}function yn(n,t){if(n&1){let e=R();_(0,"div",69)(1,"code"),C(2),o(),_(3,"button",70),B("click",function(l){let r=A(e).$implicit,L=E(5);return P(L.copyToClipboard(l,r,r))}),p(4,45),S(5,Bn,2,0,"sh-icon")(6,vn,2,0,"sh-icon"),g(),o()()}if(n&2){let e=t.$implicit,i=E(5);a(2),K(e),a(3),O(i.copied()==e?5:6)}}function xn(n,t){if(n&1&&(_(0,"details",65)(1,"summary"),p(2,31),F(3,"sh-icon"),_(4,"div",67),F(5,"sh-icon",59),o(),g(),o(),_(6,"div",68)(7,"p"),c(8,32),T(9,"date"),o(),_(10,"p"),c(11,33),T(12,"date"),o(),_(13,"p"),c(14,34),T(15,"durationFormat"),o(),F(16,"sh-divider"),_(17,"p"),c(18,35),T(19,"bytes"),o(),_(20,"p"),c(21,36),o(),_(22,"p"),c(23,37),o(),_(24,"p"),c(25,38),o(),_(26,"p"),c(27,39),o(),F(28,"sh-divider"),_(29,"details",71)(30,"summary"),p(31,40),F(32,"sh-icon"),_(33,"div",67),F(34,"sh-icon",59),o(),g(),o(),_(35,"div",68),S(36,Dn,2,0,"p"),x(37,Rn,7,2,"div",69,y),o()(),_(39,"details",72)(40,"summary"),p(41,41),F(42,"sh-icon"),_(43,"div",67),F(44,"sh-icon",59),o(),g(),o(),_(45,"div",68),S(46,In,2,0,"p"),x(47,fn,7,2,"div",69,y),o()(),_(49,"details",73)(50,"summary"),p(51,42),F(52,"sh-icon"),_(53,"div",67),F(54,"sh-icon",59),o(),g(),o(),_(55,"div",68),S(56,hn,2,0,"p"),x(57,yn,7,2,"div",69,y),o()(),F(59,"sh-divider"),o()()),n&2){let e=t.$implicit;a(5),u(e.Destination),d(2),a(4),u(I(9,16,e.BeginTime,"medium")),d(8),a(3),u(I(12,19,e.EndTime,"medium")),d(11),a(3),u(f(15,22,e.Duration)),d(14),a(4),u(e.CopiedFileCount)(X(19,24,e.CopiedFileSize,!0,!0)),d(18),a(2),u(e.DeletedFileCount),d(21),a(2),u(e.RenamedFileCount),d(23),a(2),u(e.VerifiedFileCount),d(25),a(2),u(e.FailedVerificationCount),d(27),a(7),u(e.MessagesActualLength),d(31),a(2),O((e.Messages==null?null:e.Messages.length)===0?36:-1),a(),k(e.Messages),a(7),u(e.WarningsActualLength),d(41),a(2),O((e.Warnings==null?null:e.Warnings.length)===0?46:-1),a(),k(e.Warnings),a(7),u(e.ErrorsActualLength),d(51),a(2),O((e.Errors==null?null:e.Errors.length)===0?56:-1),a(),k(e.Errors)}}function kn(n,t){if(n&1&&x(0,xn,60,28,"details",65,y),n&2){let e=E(2).$implicit;k(e.data==null?null:e.data.RemoteSynchronizationResults)}}function bn(n,t){if(n&1&&(_(0,"code"),C(1),T(2,"json"),o()),n&2){let e=t.$implicit;a(),K(f(2,1,e))}}function Kn(n,t){if(n&1&&(_(0,"details",65)(1,"summary"),p(2,46),F(3,"sh-icon"),_(4,"div",67),F(5,"sh-icon",59),o(),g(),o(),_(6,"div",68),x(7,bn,3,3,"code",null,y),o()()),n&2){let e=E(2).$implicit;a(5),u(e.data.VerificationsActualLength),d(2),a(2),k(e.data.Verifications)}}function Un(n,t){n&1&&(_(0,"sh-icon"),C(1,"check"),o())}function wn(n,t){n&1&&(_(0,"sh-icon"),C(1,"copy"),o())}function Jn(n,t){n&1&&($(0),p(1,47),F(2,"sh-icon"),g(),M())}function Xn(n,t){n&1&&($(0),p(1,48),F(2,"sh-icon"),g(),M())}function zn(n,t){n&1&&($(0),p(1,49),F(2,"sh-icon"),g(),M())}function Vn(n,t){if(n&1){let e=R();_(0,"button",75),B("click",function(){A(e),E();let l=J(0),r=E(3);return P(r.toggleWarningSuppression(l.MessageId))}),S(1,Jn,3,0,"ng-container")(2,Xn,3,0,"ng-container")(3,zn,3,0,"ng-container"),o()}if(n&2){E();let e=J(0),i=E(3),l=i.isWarningSuppressed(e.MessageId);w("disabled",i.isSuppressingWarning()),a(),O(i.isSuppressingWarning()?1:l?2:3)}}function Hn(n,t){if(n&1){let e=R();Ce(0),_(1,"div",69)(2,"code"),C(3),o(),_(4,"button",70),B("click",function(l){let r=A(e).$implicit,L=E(3);return P(L.copyToClipboard(l,r,r))}),C(5," Copy "),S(6,Un,2,0,"sh-icon")(7,wn,2,0,"sh-icon"),o(),S(8,Vn,4,2,"button",74),o()}if(n&2){let e=t.$implicit,i=E(3),l=pe(i.parseWarning(e));a(3),K(e),a(3),O(i.copied()==e?6:7),a(2),O(l!=null&&l.MessageId?8:-1)}}function Wn(n,t){n&1&&(_(0,"p"),C(1,"No errors"),o())}function jn(n,t){n&1&&(p(0,50,1),F(1,"sh-icon"),g())}function qn(n,t){n&1&&(p(0,50,2),F(1,"sh-icon"),g())}function Qn(n,t){if(n&1){let e=R();_(0,"div",69)(1,"code"),C(2),o(),_(3,"button",70),B("click",function(l){let r=A(e).$implicit,L=E(3);return P(L.copyToClipboard(l,r,r))}),p(4,50),S(5,jn,2,0,"sh-icon")(6,qn,2,0,"sh-icon"),g(),o()()}if(n&2){let e=t.$implicit,i=E(3);a(2),K(e),a(3),O(i.copied()==e?5:6)}}function Yn(n,t){n&1&&(_(0,"sh-icon"),C(1,"check"),o())}function Zn(n,t){n&1&&(_(0,"sh-icon"),C(1,"copy"),o())}function et(n,t){if(n&1){let e=R();_(0,"section",60)(1,"sh-toggle-card",61),$(2,62),_(3,"h3"),c(4,0),o(),M(),$(5,63),_(6,"p"),c(7,1),T(8,"date"),o(),_(9,"p"),c(10,2),T(11,"date"),o(),_(12,"p"),c(13,3),T(14,"durationFormat"),o(),M(),o(),_(15,"sh-toggle-card",61),$(16,62),_(17,"h3"),c(18,4),o(),M(),$(19,63),_(20,"p"),c(21,5),T(22,"bytes"),o(),_(23,"p"),c(24,6),T(25,"bytes"),o(),_(26,"p"),c(27,7),T(28,"bytes"),o(),_(29,"p"),c(30,8),T(31,"bytes"),o(),_(32,"p"),c(33,9),o(),_(34,"p"),c(35,10),o(),_(36,"p"),c(37,11),o(),M(),o(),_(38,"div",64),F(39,"sh-divider"),S(40,Gn,54,45),S(41,kn,2,0),S(42,Kn,9,1,"details",65),_(43,"details",66)(44,"summary"),p(45,12),F(46,"sh-icon"),_(47,"div",67),F(48,"sh-icon",59),o(),g(),o(),_(49,"div",68),x(50,Hn,9,4,"div",69,y),o()(),_(52,"details",66)(53,"summary"),p(54,13),F(55,"sh-icon"),_(56,"div",67),F(57,"sh-icon",59),o(),g(),o(),_(58,"div",68),S(59,Wn,2,0,"p"),x(60,Qn,7,2,"div",69,y),o()(),F(62,"sh-divider"),_(63,"details")(64,"summary"),p(65,14),F(66,"sh-icon"),_(67,"div",67),F(68,"sh-icon",59),o(),g(),o(),_(69,"code")(70,"button",70),B("click",function(l){A(e);let r=E().$implicit,L=E();return P(L.copyToClipboard(l,L.stringify(r.data),"all"))}),C(71," Copy "),S(72,Yn,2,0,"sh-icon")(73,Zn,2,0,"sh-icon"),o(),C(74),T(75,"json"),o()()()()}if(n&2){let e=E().$implicit,i=E();a(),w("disableToggle",!0),a(7),u(I(8,26,e.data==null?null:e.data.BeginTime,"medium")),d(7),a(3),u(I(11,29,e.data==null?null:e.data.EndTime,"medium")),d(10),a(3),u(f(14,32,e.data==null?null:e.data.Duration)),d(13),a(),w("disableToggle",!0),a(7),u(e.data==null?null:e.data.ExaminedFiles)(X(22,34,e.data==null?null:e.data.SizeOfExaminedFiles,!0,!0)),d(21),a(3),u(e.data==null?null:e.data.OpenedFiles)(X(25,38,e.data==null?null:e.data.SizeOfOpenedFiles,!0,!0)),d(24),a(3),u(e.data==null?null:e.data.AddedFiles)(X(28,42,e.data==null?null:e.data.SizeOfAddedFiles,!0,!0)),d(27),a(3),u(e.data==null?null:e.data.ModifiedFiles)(X(31,46,e.data==null?null:e.data.SizeOfModifiedFiles,!0,!0)),d(30),a(2),u(e.data==null?null:e.data.DeletedFiles),d(33),a(2),u(e.data==null?null:e.data.TooLargeFiles),d(35),a(2),u(e.data==null?null:e.data.FilesWithError),d(37),a(3),O(e.data!=null&&e.data.TestResults?40:-1),a(),O(e.data!=null&&e.data.RemoteSynchronizationResults?41:-1),a(),O((e.data==null?null:e.data.MainOperation)==="Test"?42:-1),a(),w("open",e.id===i.openEntry()&&i.openSection()==="warnings"),a(5),u(e.data==null?null:e.data.WarningsActualLength),d(45),a(2),k(e.data==null?null:e.data.Warnings),a(2),w("open",e.id===i.openEntry()&&i.openSection()==="errors"),a(5),u(e.data==null?null:e.data.ErrorsActualLength),d(54),a(2),O((e.data==null||e.data.Errors==null?null:e.data.Errors.length)===0?59:-1),a(),k(e.data==null?null:e.data.Errors),a(12),O(i.copied()=="all"?72:73),a(2),V(" ",f(75,50,e.data)," ")}}function nt(n,t){if(n&1){let e=R();_(0,"article",52)(1,"header",53),B("click",function(){let l=A(e).$implicit,r=E();return P(r.toggleOpenEntry(l))}),S(2,On,1,0,"div",54)(3,Ln,1,0,"div",54)(4,Nn,1,0,"div",55)(5,mn,1,0,"div",56),_(6,"h3"),C(7),T(8,"date"),o(),_(9,"p"),C(10),o(),F(11,"div",57),_(12,"div",58)(13,"sh-icon",59),C(14,"caret-down"),o()()(),S(15,et,76,52,"section",60),o()}if(n&2){let e=t.$implicit,i=E(),l=(e.data==null?null:e.data.ParsedResult)||"Unknown";a(2),O(l=="Fatal"?2:l=="Error"?3:l=="Warning"?4:5),a(5),K(I(8,7,e.timestamp,"medium")),a(3),tn(" ",e.data==null?null:e.data.MainOperation," ",i.getLocalizedSummary(e)," "),a(3),Y("open",e.id===i.openEntry()),a(2),O(e.id===i.openEntry()?15:-1)}}var De=class n{#e=z(Ne);#n=z(me);#t=new Z;#i=new ee;backupId=Te.required();isSuppressingWarning=h(!1);copied=h(null);backupResource=Fn({params:()=>({id:this.backupId()}),loader:({params:t})=>Ze(this.#e.getApiV1BackupById({id:t.id}))});suppressedWarningIds=ge(()=>{let t=this.backupResource.value();if(!t?.Backup?.Settings)return new Set;let e=t.Backup.Settings.find(i=>i.Name==="--suppress-warnings");return e?.Value?new Set(e.Value.split(",").map(i=>i.trim()).filter(Boolean)):new Set});openEntry=h(null);openSection=h(null);pagination=h({offset:0,pagesize:100});resource=Ge({params:()=>Ee({id:this.backupId()},this.pagination()),stream:({params:t})=>this.#e.getApiV1BackupByIdLog({id:t.id,pagesize:100}).pipe(H(e=>e.map(i=>({id:i.ID,operationId:i.OperationID,timestamp:i.Timestamp*1e3,type:i.Type,data:JSON.parse(i.Message),exception:JSON.stringify(i.Exception)==="{}"?null:i.Exception}))))});getLocalizedSummary(t){let e=t.data?.ErrorsActualLength??0,i=t.data?.WarningsActualLength??0,l=[];if(t.data?.MainOperation=="Backup"){if(t.data?.Duration){let r=this.#i.transform(t.data?.Duration,!0);r.startsWith("0h ")&&(r=r.slice(3)),r.startsWith("0m ")&&(r=r.slice(3)),l.push($localize`took ${r}`)}t.data?.BackendStatistics?.BytesUploaded&&l.push($localize`uploaded ${this.#t.transform(t.data?.BackendStatistics?.BytesUploaded)}`),t.data?.BackendStatistics?.KnownFileSize&&l.push($localize`backup size ${this.#t.transform(t.data?.BackendStatistics?.KnownFileSize)}`)}return e!==0&&l.push($localize`:@@errorCount:${e} error${e===1?"":"s"}`),i!==0&&l.push($localize`:@@warningCount:${i} warning${i===1?"":"s"}`),l.length===0?"":`(${l.join(", ")})`}toggleOpenEntry(t){let e=t.id;if(this.openEntry()===e){this.openEntry.set(null),this.openSection.set(null);return}let i=t.data?.ErrorsActualLength??0,l=t.data?.WarningsActualLength??0;i>0?this.openSection.set("errors"):l>0?this.openSection.set("warnings"):this.openSection.set(null),this.openEntry.set(e)}parseWarning(t){let e=t.match(/^(.*?) - \[(.*?)-(.*?)-(.*?)\]: (.*)$/);if(!e)return null;let[,i,l,r,L,G]=e;return{Timestamp:i,LogLevel:l,Source:r,MessageId:L,Message:G}}isWarningSuppressed(t){return this.suppressedWarningIds().has(t)}toggleWarningSuppression(t){let e=this.backupId();!e||!t||(this.isSuppressingWarning.set(!0),this.#e.getApiV1BackupById({id:e}).pipe(nn(i=>{let l=i.Backup?.Settings??[],r=l.findIndex(N=>N.Name==="--suppress-warnings"),L=this.isWarningSuppressed(t),G="";if(r>=0){let v=(l[r].Value??"").split(",").map(U=>U.trim()).filter(Boolean);L?v=v.filter(U=>U!==t):v.includes(t)||v.push(t),G=v.join(",")}else L||(G=t);let b=l.map(N=>({Name:N.Name,Value:N.Value,Filter:N.Filter}));return r>=0?G===""?b.splice(r,1):b[r]={Name:"--suppress-warnings",Value:G,Filter:null}:G!==""&&b.push({Name:"--suppress-warnings",Value:G,Filter:null}),this.#e.putApiV1BackupById({id:e,requestBody:{Backup:{Name:i.Backup?.Name,Description:i.Backup?.Description,DBPath:i.Backup?.DBPath,Tags:i.Backup?.Tags??[],TargetURL:i.Backup?.TargetURL,ConnectionStringID:i.Backup?.ConnectionStringID,Sources:i.Backup?.Sources??[],Settings:b,Filters:i.Backup?.Filters?.map(N=>({Expression:N.Expression,Include:N.Include,Order:N.Order})),Metadata:i.Backup?.Metadata??{},AdditionalTargetURLs:i.Backup?.AdditionalTargetURLs?.map(N=>({TargetUrl:N.TargetUrl,UrlKey:N.UrlKey,Mode:N.Mode,Interval:N.Interval,ConnectionStringID:N.ConnectionStringID,Options:N.Options}))},Schedule:i.Schedule?{Repeat:i.Schedule.Repeat,Time:i.Schedule.Time,AllowedDays:i.Schedule.AllowedDays}:void 0}})}),en(()=>this.isSuppressingWarning.set(!1))).subscribe({next:()=>{this.#n.getBackups(!0),this.backupResource.reload()},error:i=>{console.error("Failed to toggle warning suppression:",i)}}))}copyToClipboard(t,e,i){t.stopPropagation(),navigator.clipboard.writeText(e),this.copied.set(i),setTimeout(()=>{this.copied.set(null)},2e3)}stringify(t){return JSON.stringify(t,null,2)}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=W({type:n,selectors:[["app-general-log"]],inputs:{backupId:[1,"backupId"]},decls:3,vars:1,consts:()=>{let t;t=$localize`Time`;let e;e=$localize`Start: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let i;i=$localize`End: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let l;l=$localize`Duration: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let r;r=$localize`Source files`;let L;L=$localize` Evaluated: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:) `;let G;G=$localize`Opened: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:)`;let b;b=$localize`Added: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:)`;let N;N=$localize` Modified: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:) `;let v;v=$localize`Deleted: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let U;U=$localize`Too large: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Q;Q=$localize`Files with error: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let D;D=$localize`${"\uFFFD#46\uFFFD"}:START_TAG_SH_ICON:warning-circle${"[\uFFFD/#46\uFFFD|\uFFFD/#48\uFFFD]"}:CLOSE_TAG_SH_ICON: Warnings ${"\uFFFD0\uFFFD"}:INTERPOLATION: ${"\uFFFD#47\uFFFD"}:START_TAG_DIV:${"\uFFFD#48\uFFFD"}:START_TAG_SH_ICON_1:caret-down${"[\uFFFD/#46\uFFFD|\uFFFD/#48\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#47\uFFFD"}:CLOSE_TAG_DIV:`,D=m(D);let ne;ne=$localize`${"\uFFFD#55\uFFFD"}:START_TAG_SH_ICON:warning${"[\uFFFD/#55\uFFFD|\uFFFD/#57\uFFFD]"}:CLOSE_TAG_SH_ICON: Errors ${"\uFFFD0\uFFFD"}:INTERPOLATION: ${"\uFFFD#56\uFFFD"}:START_TAG_DIV:${"\uFFFD#57\uFFFD"}:START_TAG_SH_ICON_1:caret-down${"[\uFFFD/#55\uFFFD|\uFFFD/#57\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#56\uFFFD"}:CLOSE_TAG_DIV:`,ne=m(ne);let te;te=$localize`${"\uFFFD#66\uFFFD"}:START_TAG_SH_ICON:notepad${"[\uFFFD/#66\uFFFD|\uFFFD/#68\uFFFD]"}:CLOSE_TAG_SH_ICON: Complete log ${"\uFFFD#67\uFFFD"}:START_TAG_DIV:${"\uFFFD#68\uFFFD"}:START_TAG_SH_ICON_1:caret-down${"[\uFFFD/#66\uFFFD|\uFFFD/#68\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#67\uFFFD"}:CLOSE_TAG_DIV:`,te=m(te);let ie;ie=$localize`${"\uFFFD#3\uFFFD"}:START_TAG_SH_ICON:circle-half-tilt${"[\uFFFD/#3\uFFFD|\uFFFD/#5\uFFFD]"}:CLOSE_TAG_SH_ICON: Test phase ${"\uFFFD#4\uFFFD"}:START_TAG_DIV:${"\uFFFD#5\uFFFD"}:START_TAG_SH_ICON_1:caret-down${"[\uFFFD/#3\uFFFD|\uFFFD/#5\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_DIV:`,ie=m(ie);let Re;Re=$localize`Start: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Ie;Ie=$localize`End: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let $e;$e=$localize`Duration: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Me;Me=$localize`Verifications: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let fe;fe=$localize`Warnings: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let he;he=$localize`Errors: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let oe;oe=$localize`${"\uFFFD#26\uFFFD"}:START_TAG_SH_ICON:file-archive${"[\uFFFD/#26\uFFFD|\uFFFD/#28\uFFFD]"}:CLOSE_TAG_SH_ICON: Compact phase ${"\uFFFD#27\uFFFD"}:START_TAG_DIV:${"\uFFFD#28\uFFFD"}:START_TAG_SH_ICON_1:caret-down${"[\uFFFD/#26\uFFFD|\uFFFD/#28\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#27\uFFFD"}:CLOSE_TAG_DIV:`,oe=m(oe);let Be;Be=$localize`Start: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let ve;ve=$localize`End: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let ye;ye=$localize`Duration: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let xe;xe=$localize` Deleted files: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:) `;let ke;ke=$localize` Downloaded files: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:) `;let be;be=$localize` Uploaded files: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:) `;let Ke;Ke=$localize`Warnings: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Ue;Ue=$localize`Errors: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let _e;_e=$localize`${"\uFFFD#3\uFFFD"}:START_TAG_SH_ICON:arrows-clockwise${"[\uFFFD/#3\uFFFD|\uFFFD/#5\uFFFD]"}:CLOSE_TAG_SH_ICON: Secondary destination: ${"\uFFFD0\uFFFD"}:INTERPOLATION: ${"\uFFFD#4\uFFFD"}:START_TAG_DIV:${"\uFFFD#5\uFFFD"}:START_TAG_SH_ICON_1:caret-down${"[\uFFFD/#3\uFFFD|\uFFFD/#5\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_DIV:`,_e=m(_e);let we;we=$localize`Start: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Je;Je=$localize`End: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Xe;Xe=$localize`Duration: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let ze;ze=$localize` Files copied: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:) `;let Ve;Ve=$localize`Files deleted: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let He;He=$localize`Files renamed: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let We;We=$localize`Files verified: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let je;je=$localize`Failed verifications: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let ae;ae=$localize`${"\uFFFD#32\uFFFD"}:START_TAG_SH_ICON:info${"[\uFFFD/#32\uFFFD|\uFFFD/#34\uFFFD]"}:CLOSE_TAG_SH_ICON: Messages ${"\uFFFD0\uFFFD"}:INTERPOLATION: ${"\uFFFD#33\uFFFD"}:START_TAG_DIV:${"\uFFFD#34\uFFFD"}:START_TAG_SH_ICON_1:caret-down${"[\uFFFD/#32\uFFFD|\uFFFD/#34\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#33\uFFFD"}:CLOSE_TAG_DIV:`,ae=m(ae);let le;le=$localize`${"\uFFFD#42\uFFFD"}:START_TAG_SH_ICON:warning-circle${"[\uFFFD/#42\uFFFD|\uFFFD/#44\uFFFD]"}:CLOSE_TAG_SH_ICON: Warnings ${"\uFFFD0\uFFFD"}:INTERPOLATION: ${"\uFFFD#43\uFFFD"}:START_TAG_DIV:${"\uFFFD#44\uFFFD"}:START_TAG_SH_ICON_1:caret-down${"[\uFFFD/#42\uFFFD|\uFFFD/#44\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#43\uFFFD"}:CLOSE_TAG_DIV:`,le=m(le);let Fe;Fe=$localize`${"\uFFFD#52\uFFFD"}:START_TAG_SH_ICON:warning${"[\uFFFD/#52\uFFFD|\uFFFD/#54\uFFFD]"}:CLOSE_TAG_SH_ICON: Errors ${"\uFFFD0\uFFFD"}:INTERPOLATION: ${"\uFFFD#53\uFFFD"}:START_TAG_DIV:${"\uFFFD#54\uFFFD"}:START_TAG_SH_ICON_1:caret-down${"[\uFFFD/#52\uFFFD|\uFFFD/#54\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#53\uFFFD"}:CLOSE_TAG_DIV:`,Fe=m(Fe);let re;re=$localize` Copy ${"\uFFFD*5:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:check${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*5:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*6:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:copy${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*6:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,re=m(re);let se;se=$localize` Copy ${"\uFFFD*5:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:check${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*5:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*6:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:copy${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*6:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,se=m(se);let ce;ce=$localize` Copy ${"\uFFFD*5:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:check${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*5:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*6:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:copy${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*6:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,ce=m(ce);let ue;ue=$localize`${"\uFFFD#3\uFFFD"}:START_TAG_SH_ICON:warning-circle${"[\uFFFD/#3\uFFFD|\uFFFD/#5\uFFFD]"}:CLOSE_TAG_SH_ICON: Verifications ${"\uFFFD0\uFFFD"}:INTERPOLATION: ${"\uFFFD#4\uFFFD"}:START_TAG_DIV:${"\uFFFD#5\uFFFD"}:START_TAG_SH_ICON_1:caret-down${"[\uFFFD/#3\uFFFD|\uFFFD/#5\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_DIV:`,ue=m(ue);let qe;qe=$localize` Updating ${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:spinner${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON:`;let Qe;Qe=$localize` Un-suppress ${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:bell${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON:`;let Ye;Ye=$localize` Suppress ${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:bell-slash${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON:`;let de;return de=$localize` Copy ${"\uFFFD*5:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:check${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*5:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*6:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:copy${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*6:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,de=m(de),[t,e,i,l,r,L,G,b,N,v,U,Q,D,ne,te,ie,Re,Ie,$e,Me,fe,he,oe,Be,ve,ye,xe,ke,be,Ke,Ue,_e,we,Je,Xe,ze,Ve,He,We,je,ae,le,Fe,re,se,ce,ue,qe,Qe,Ye,de,[1,"indeterminate","primary"],[1,"log-entry"],[3,"click"],[1,"status","error"],[1,"status","warn"],[1,"status"],[1,"spacer"],[1,"action"],[1,"toggle-indicator"],[1,"log-content"],[3,"disableToggle"],["title",""],["content",""],[1,"extra-info"],["name","details"],["name","details",3,"open"],[1,"actions"],[1,"content"],[1,"warning-item"],["shButton","",1,"small",3,"click"],["name","details-messages"],["name","details-warnings"],["name","details-errors"],["shButton","",1,"small",3,"disabled"],["shButton","",1,"small",3,"click","disabled"]]},template:function(e,i){e&1&&(S(0,Sn,1,0,"sh-progress-bar",51),x(1,nt,16,10,"article",52,y)),e&2&&(O(i.resource.isLoading()?0:-1),a(),k(i.resource.value()))},dependencies:[En,un,Le,Oe,q,Z,j,ee,Se],styles:["[_nghost-%COMP%]{display:block}.log-entry[_ngcontent-%COMP%]{display:flex;flex-direction:column;cursor:pointer}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;padding:1rem;border-bottom:1px solid var(--base-4);background-color:var(--base-1);cursor:pointer}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%]:hover{background-color:var(--base-2)}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font:var(--paragraph-30);margin:0}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font:var(--paragraph-30);color:var(--base-8)}.toggle-indicator[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;height:1.25rem;transition:transform 125ms linear}.toggle-indicator.open[_ngcontent-%COMP%]{transform:rotate(180deg)}details[_ngcontent-%COMP%]{display:flex;flex-direction:column}details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]{cursor:pointer;display:flex;align-items:center;gap:.5rem;padding:.75rem;border-radius:var(--shape-2);background-color:var(--base-2)}details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]:focus{outline:none}details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]:hover{background-color:var(--base-3)}details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]::marker{font-size:0}details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;flex:1 0;gap:.5rem;-webkit-user-select:none;user-select:none}details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] sh-icon[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;height:2rem;transition:transform 125ms linear}details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] sh-icon.toggle-indicator[_ngcontent-%COMP%]{transform:rotate(0)}details[open][_ngcontent-%COMP%] > summary[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] sh-icon.toggle-indicator[_ngcontent-%COMP%]{transform:rotate(180deg)}details[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:.75rem 1rem 0;display:flex;flex-direction:column;gap:.75rem}details[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0}details[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{margin-top:.75rem;position:relative}details[_ngcontent-%COMP%] code[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{position:absolute;top:.75rem;right:.75rem}.extra-info[_ngcontent-%COMP%]{grid-column:1/-1;display:flex;flex-direction:column;gap:1rem}.extra-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.extra-info[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{white-space:pre-wrap;padding:1rem;display:block;border-radius:var(--shape-2);background-color:var(--base-2)}.log-content[_ngcontent-%COMP%]{padding:1rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem}.status[_ngcontent-%COMP%]{display:block;width:1rem;height:1rem;background-color:var(--success-8);border-radius:50%}.status.error[_ngcontent-%COMP%]{background-color:var(--error-8)}.status.warn[_ngcontent-%COMP%]{background-color:var(--warn-8)}.warning-item[_ngcontent-%COMP%]{display:flex;flex-direction:row;gap:.5rem;padding:.75rem;border-radius:var(--shape-2);background-color:var(--base-2)}.warning-item[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{margin:0;white-space:pre-wrap;word-break:break-word}.warning-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{align-self:flex-start;white-space:nowrap}"],changeDetection:0})};function tt(n,t){n&1&&F(0,"sh-progress-bar",1)}function it(n,t){n&1&&(p(0,0,1),F(1,"sh-icon"),g())}function ot(n,t){n&1&&(p(0,0,2),F(1,"sh-icon"),g())}function _t(n,t){if(n&1){let e=R();_(0,"section",6)(1,"button",7),B("click",function(){A(e);let l=E(),r=l.$implicit,L=l.$index,G=E();return P(G.copyToClipboard(r.data,L))}),p(2,0),S(3,it,2,0)(4,ot,2,0),g(),o(),_(5,"code"),C(6),T(7,"json"),o()()}if(n&2){let e=E(),i=e.$implicit,l=e.$index,r=E();a(),Y("success",r.copiedFromIndex()===l),a(2),O(r.copiedFromIndex()===l?3:4),a(3),K(f(7,4,i.data))}}function at(n,t){if(n&1){let e=R();_(0,"article",2)(1,"header",3),B("click",function(){let l=A(e).$implicit,r=E();return P(r.toggleOpenEntry(l.id))}),_(2,"h3"),C(3),T(4,"date"),o(),_(5,"div",4)(6,"sh-icon",5),C(7,"caret-down"),o()()(),S(8,_t,8,6,"section",6),o()}if(n&2){let e=t.$implicit,i=E();a(3),on("",I(4,6,e.timestamp,"medium"),": ",e.operation," ",e.path),a(3),Y("open",e.id===i.openEntry()),a(2),O(e.id===i.openEntry()?8:-1)}}var Ae=class n{#e=z(Ne);backupId=Te.required();openEntry=h(null);pagination=h({offset:0,pagesize:100});copiedFromIndex=h(null);resource=Ge({params:()=>Ee({id:this.backupId()},this.pagination()),stream:({params:t})=>this.#e.getApiV1BackupByIdRemotelog({id:t.id,pagesize:100}).pipe(H(e=>e.map((i,l)=>({id:i.ID,operationId:i.OperationID,timestamp:i.Timestamp*1e3,operation:i.Operation,path:i.Path,data:typeof i.Data=="string"?JSON.parse(i.Data):null}))))});toggleOpenEntry(t){if(this.openEntry()===t){this.openEntry.set(null);return}this.openEntry.set(t)}copyToClipboard(t,e){let i=JSON.stringify(t,null,2);navigator.clipboard.writeText(i),this.copiedFromIndex.set(e),setTimeout(()=>{this.copiedFromIndex.set(null)},3e3)}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=W({type:n,selectors:[["app-remote-log"]],inputs:{backupId:[1,"backupId"]},decls:3,vars:1,consts:()=>{let t;return t=$localize`${"\uFFFD*3:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:check${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Copied ${"\uFFFD/*3:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*4:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:copy${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Copy to clipboard ${"\uFFFD/*4:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,t=m(t),[t,[1,"indeterminate","primary"],[1,"log-entry"],[3,"click"],[1,"actions"],[1,"toggle-indicator"],[1,"log-content"],["shButton","",1,"small",3,"click"]]},template:function(e,i){e&1&&(S(0,tt,1,0,"sh-progress-bar",1),x(1,at,9,9,"article",2,y)),e&2&&(O(i.resource.isLoading()?0:-1),a(),k(i.resource.value()))},dependencies:[Le,q,Se,j],styles:["[_nghost-%COMP%]{display:block}.log-entry[_ngcontent-%COMP%]{display:flex;flex-direction:column}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:1rem;border-bottom:1px solid var(--base-4);background-color:var(--base-1);cursor:pointer}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%]:hover{background-color:var(--base-2)}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font:var(--paragraph-30);margin:0;-webkit-user-select:none;user-select:none}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font:var(--paragraph-30);color:var(--base-8)}.toggle-indicator[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;height:1.25rem;transition:transform 125ms linear}.toggle-indicator.open[_ngcontent-%COMP%]{transform:rotate(180deg)}.log-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:1rem;position:relative}.log-content[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{position:absolute;top:2rem;right:2rem;background:transparent}code[_ngcontent-%COMP%]{white-space:pre-wrap;padding:1rem;display:block;border-radius:var(--shape-2);background-color:var(--base-2)}"],changeDetection:0})};function lt(n,t){if(n&1&&(C(0," - "),$(1),c(2,6),M(),C(3),T(4,"durationFormat")),n&2){E(2);let e=J(6);a(3),V(" ",f(4,1,e.Backup.Metadata==null?null:e.Backup.Metadata.LastBackupDuration)," ")}}function Ft(n,t){n&1&&($(0),c(1,7),M())}function rt(n,t){if(n&1&&(C(0),T(1,"bytes")),n&2){E(2);let e=J(6);V(" ",f(1,1,e.Backup.Metadata==null?null:e.Backup.Metadata.SourceFilesSize)," ")}}function st(n,t){n&1&&($(0),c(1,8),M())}function ct(n,t){if(n&1&&(C(0),T(1,"bytes")),n&2){E(2);let e=J(6);V(" ",f(1,1,e.Backup.Metadata==null?null:e.Backup.Metadata.TargetFilesSize)," ")}}function ut(n,t){n&1&&($(0),c(1,9),M())}function dt(n,t){if(n&1&&(_(0,"sh-chip",20),c(1,10),o()),n&2){E(2);let e=J(6);a(),u(e.Backup.Metadata==null?null:e.Backup.Metadata.BackupListCount),d(1)}}function Et(n,t){n&1&&(_(0,"sh-chip",21),c(1,11),o())}function Ct(n,t){if(n&1&&(_(0,"div",14)(1,"div",19)(2,"h3"),C(3),_(4,"sh-icon"),C(5,"database"),o()(),_(6,"p")(7,"span"),c(8,3),o(),C(9),T(10,"date"),S(11,lt,5,3)(12,Ft,2,0,"ng-container"),o(),_(13,"p")(14,"span"),c(15,4),o(),S(16,rt,2,3)(17,st,2,0,"ng-container"),o(),_(18,"p")(19,"span"),c(20,5),o(),S(21,ct,2,3)(22,ut,2,0,"ng-container"),o()(),S(23,dt,2,1,"sh-chip",20)(24,Et,2,0,"sh-chip",21),o()),n&2){let e=E(),i=J(6);a(3),V(" ",i.Backup.Name??e.MISSING_BACKUP_NAME," "),a(6),V(" ",I(10,6,i.Backup.Metadata==null?null:i.Backup.Metadata.LastBackupDate,"short")," "),a(2),O(i.Backup.Metadata!=null&&i.Backup.Metadata.LastBackupDuration?11:12),a(5),O(i.Backup.Metadata!=null&&i.Backup.Metadata.SourceFilesSize?16:17),a(5),O(i.Backup.Metadata!=null&&i.Backup.Metadata.TargetFilesSize?21:22),a(2),O(i.Backup.Metadata!=null&&i.Backup.Metadata.BackupListCount?23:24)}}function pt(n,t){if(n&1&&F(0,"app-general-log",18),n&2){let e=E();w("backupId",e.backupId())}}function gt(n,t){if(n&1&&F(0,"app-remote-log",18),n&2){let e=E();w("backupId",e.backupId())}}var Pe=class n{#e=z(rn);#n=z(me);MISSING_BACKUP_NAME=$localize`Backup name missing`;activeTab=h("general");backupId=Cn(this.#e.params.pipe(H(t=>t.id)));backup=ge(()=>{let t=this.backupId();return t?this.#n.getBackupById(t):null});static \u0275fac=function(e){return new(e||n)};static \u0275cmp=W({type:n,selectors:[["app-log"]],decls:15,vars:5,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`General`;let i;i=$localize`Destination`;let l;l=$localize`Last successful backup:`;let r;r=$localize`Source:`;let L;L=$localize`Destination:`;let G;G=$localize`took`;let b;b=$localize`N/A`;let N;N=$localize`N/A`;let v;v=$localize`N/A`;let U;U=$localize`${"\uFFFD0\uFFFD"}:INTERPOLATION: Version`;let Q;return Q=$localize`No version yet`,[t,e,i,l,r,L,G,b,N,v,U,Q,[1,"back"],["type","button","shButton","","routerLink","/",1,"small"],[1,"backup"],[1,"primary",3,"valueChange","value"],["value","general"],["value","destination"],[3,"backupId"],[1,"text"],[1,"simple","success"],[1,"simple"]]},template:function(e,i){if(e&1){let l=R();F(0,"app-status-bar"),_(1,"section")(2,"div",12)(3,"button",13),p(4,0),F(5,"sh-icon"),g(),o()(),Ce(6),S(7,Ct,25,9,"div",14),_(8,"sh-tabs",15),ln("valueChange",function(L){return A(l),an(i.activeTab,L)||(i.activeTab=L),P(L)}),_(9,"button",16),c(10,1),o(),_(11,"button",17),c(12,2),o()(),S(13,pt,1,1,"app-general-log",18),S(14,gt,1,1,"app-remote-log",18),o()}if(e&2){a(6);let l=pe(i.backup());a(),O(l?7:-1),a(),_n("value",i.activeTab),a(5),O(i.activeTab()==="general"?13:-1),a(),O(i.activeTab()==="destination"?14:-1)}},dependencies:[dn,De,Ae,sn,pn,q,Oe,cn,Z,ee,j],styles:["[_nghost-%COMP%]{display:block}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:1rem 1.5rem;gap:1rem}sh-tabs[_ngcontent-%COMP%]{margin-bottom:1rem}.backup[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:2rem;gap:1rem;border:1px solid var(--base-4);border-radius:var(--shape-3);box-shadow:var(--box-shadow-10)}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:40%}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] sh-icon[_ngcontent-%COMP%]{color:var(--base-8)}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font:var(--paragraph-30);color:var(--base-8)}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] p[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:var(--base-12)}"],changeDetection:0})};export{Pe as default};
1
+ import{a as pn}from"./chunk-IFSZJSGH.js";import"./chunk-QDDVZ4CR.js";import"./chunk-BLSV7CNZ.js";import"./chunk-I6MIXWIT.js";import{a as ee}from"./chunk-EKVZKEQJ.js";import"./chunk-RJ2JM7C7.js";import{a as me}from"./chunk-WOKYULBU.js";import"./chunk-TCXCC5BM.js";import"./chunk-GKGMP6VF.js";import"./chunk-6Q6SSTBK.js";import{a as Z}from"./chunk-YCJYEQF7.js";import"./chunk-OHYENIPP.js";import"./chunk-UTXZPAY6.js";import"./chunk-IMQUTGIK.js";import"./chunk-ANSV4G2K.js";import"./chunk-BACKG7KA.js";import{b as Cn,c as Ge}from"./chunk-IQL3REGJ.js";import"./chunk-AIAUP7OE.js";import"./chunk-C6PICAXB.js";import"./chunk-6JS7B4FW.js";import{B as Oe,E as cn,G as un,L as Le,U as dn,V as En,v as q}from"./chunk-VKQQDCUN.js";import{d as Ne}from"./chunk-DSYNIXJF.js";import{b as rn,e as sn}from"./chunk-NPFPMA4P.js";import"./chunk-O2SMJYPC.js";import"./chunk-N2AU7VKX.js";import{ha as j,ka as Se}from"./chunk-ZC23RK4J.js";import"./chunk-OPHQNXYO.js";import{$b as E,Ab as x,Bb as b,Cb as w,Db as a,Eb as o,F as en,Fb as F,Fc as T,Gc as f,Hc as I,Ic as X,Jb as $,Kb as M,L as nn,Mb as R,Qc as ge,Sa as _,Sc as Fn,Tb as p,Ub as g,Vb as c,Wb as u,Wc as Te,Xb as d,Yb as m,Zb as y,_ as z,da as A,ea as P,gb as W,kc as Y,nc as C,oc as K,p as Ze,pa as h,pc as V,q as H,qc as tn,rc as on,sc as an,tc as _n,uc as ln,vc as Ce,wb as S,wc as pe,xb as O,xc as J,yb as v}from"./chunk-TQTOIWBK.js";import{a as Ee}from"./chunk-7CGTOI24.js";function Sn(n,t){n&1&&F(0,"sh-progress-bar",51)}function On(n,t){n&1&&F(0,"div",54)}function Ln(n,t){n&1&&F(0,"div",54)}function Nn(n,t){n&1&&F(0,"div",55)}function mn(n,t){n&1&&F(0,"div",56)}function Gn(n,t){if(n&1&&(a(0,"details",65)(1,"summary"),p(2,15),F(3,"sh-icon"),a(4,"div",67),F(5,"sh-icon",59),o(),g(),o(),a(6,"div",68)(7,"p"),c(8,16),T(9,"date"),o(),a(10,"p"),c(11,17),T(12,"date"),o(),a(13,"p"),c(14,18),T(15,"durationFormat"),o(),a(16,"p"),c(17,19),o(),F(18,"sh-divider"),a(19,"p"),c(20,20),o(),a(21,"p"),c(22,21),o()()(),a(23,"details",65)(24,"summary"),p(25,22),F(26,"sh-icon"),a(27,"div",67),F(28,"sh-icon",59),o(),g(),o(),a(29,"div",68)(30,"p"),c(31,23),T(32,"date"),o(),a(33,"p"),c(34,24),T(35,"date"),o(),a(36,"p"),c(37,25),T(38,"durationFormat"),o(),F(39,"sh-divider"),a(40,"p"),c(41,26),T(42,"bytes"),o(),a(43,"p"),c(44,27),T(45,"bytes"),o(),a(46,"p"),c(47,28),T(48,"bytes"),o(),F(49,"sh-divider"),a(50,"p"),c(51,29),o(),a(52,"p"),c(53,30),o()()()),n&2){let e=E(2).$implicit;_(9),u(I(9,17,e.data==null||e.data.TestResults==null?null:e.data.TestResults.BeginTime,"medium")),d(8),_(3),u(I(12,20,e.data==null||e.data.TestResults==null?null:e.data.TestResults.EndTime,"medium")),d(11),_(3),u(f(15,23,e.data==null||e.data.TestResults==null?null:e.data.TestResults.Duration)),d(14),_(2),u(e.data==null||e.data.TestResults==null?null:e.data.TestResults.VerificationsActualLength),d(17),_(3),u(e.data==null||e.data.TestResults==null?null:e.data.TestResults.WarningsActualLength),d(20),_(2),u(e.data==null||e.data.TestResults==null?null:e.data.TestResults.ErrorsActualLength),d(22),_(10),u(I(32,25,e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.BeginTime,"medium")),d(31),_(3),u(I(35,28,e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.EndTime,"medium")),d(34),_(3),u(f(38,31,e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.Duration)),d(37),_(4),u(e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.DeletedFileCount)(X(42,33,e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.DeletedFileSize,!0,!0)),d(41),_(3),u(e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.DownloadedFileCount)(X(45,37,e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.DownloadedFileSize,!0,!0)),d(44),_(3),u(e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.UploadedFileCount)(X(48,41,e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.UploadedFileSize,!0,!0)),d(47),_(3),u(e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.WarningsActualLength),d(51),_(2),u(e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.ErrorsActualLength),d(53)}}function Dn(n,t){n&1&&(a(0,"p"),C(1,"No messages"),o())}function An(n,t){n&1&&(p(0,43,1),F(1,"sh-icon"),g())}function Pn(n,t){n&1&&(p(0,43,2),F(1,"sh-icon"),g())}function Rn(n,t){if(n&1){let e=R();a(0,"div",69)(1,"code"),C(2),o(),a(3,"button",70),y("click",function(l){let r=A(e).$implicit,L=E(5);return P(L.copyToClipboard(l,r,r))}),p(4,43),S(5,An,2,0,"sh-icon")(6,Pn,2,0,"sh-icon"),g(),o()()}if(n&2){let e=t.$implicit,i=E(5);_(2),K(e),_(3),O(i.copied()==e?5:6)}}function In(n,t){n&1&&(a(0,"p"),C(1,"No warnings"),o())}function $n(n,t){n&1&&(p(0,44,1),F(1,"sh-icon"),g())}function Mn(n,t){n&1&&(p(0,44,2),F(1,"sh-icon"),g())}function fn(n,t){if(n&1){let e=R();a(0,"div",69)(1,"code"),C(2),o(),a(3,"button",70),y("click",function(l){let r=A(e).$implicit,L=E(5);return P(L.copyToClipboard(l,r,r))}),p(4,44),S(5,$n,2,0,"sh-icon")(6,Mn,2,0,"sh-icon"),g(),o()()}if(n&2){let e=t.$implicit,i=E(5);_(2),K(e),_(3),O(i.copied()==e?5:6)}}function hn(n,t){n&1&&(a(0,"p"),C(1,"No errors"),o())}function yn(n,t){n&1&&(p(0,45,1),F(1,"sh-icon"),g())}function Bn(n,t){n&1&&(p(0,45,2),F(1,"sh-icon"),g())}function vn(n,t){if(n&1){let e=R();a(0,"div",69)(1,"code"),C(2),o(),a(3,"button",70),y("click",function(l){let r=A(e).$implicit,L=E(5);return P(L.copyToClipboard(l,r,r))}),p(4,45),S(5,yn,2,0,"sh-icon")(6,Bn,2,0,"sh-icon"),g(),o()()}if(n&2){let e=t.$implicit,i=E(5);_(2),K(e),_(3),O(i.copied()==e?5:6)}}function xn(n,t){if(n&1&&(a(0,"details",65)(1,"summary"),p(2,31),F(3,"sh-icon"),a(4,"div",67),F(5,"sh-icon",59),o(),g(),o(),a(6,"div",68)(7,"p"),c(8,32),T(9,"date"),o(),a(10,"p"),c(11,33),T(12,"date"),o(),a(13,"p"),c(14,34),T(15,"durationFormat"),o(),F(16,"sh-divider"),a(17,"p"),c(18,35),T(19,"bytes"),o(),a(20,"p"),c(21,36),o(),a(22,"p"),c(23,37),o(),a(24,"p"),c(25,38),o(),a(26,"p"),c(27,39),o(),F(28,"sh-divider"),a(29,"details",71)(30,"summary"),p(31,40),F(32,"sh-icon"),a(33,"div",67),F(34,"sh-icon",59),o(),g(),o(),a(35,"div",68),S(36,Dn,2,0,"p"),x(37,Rn,7,2,"div",69,v),o()(),a(39,"details",72)(40,"summary"),p(41,41),F(42,"sh-icon"),a(43,"div",67),F(44,"sh-icon",59),o(),g(),o(),a(45,"div",68),S(46,In,2,0,"p"),x(47,fn,7,2,"div",69,v),o()(),a(49,"details",73)(50,"summary"),p(51,42),F(52,"sh-icon"),a(53,"div",67),F(54,"sh-icon",59),o(),g(),o(),a(55,"div",68),S(56,hn,2,0,"p"),x(57,vn,7,2,"div",69,v),o()(),F(59,"sh-divider"),o()()),n&2){let e=t.$implicit;_(5),u(e.Destination),d(2),_(4),u(I(9,16,e.BeginTime,"medium")),d(8),_(3),u(I(12,19,e.EndTime,"medium")),d(11),_(3),u(f(15,22,e.Duration)),d(14),_(4),u(e.CopiedFileCount)(X(19,24,e.CopiedFileSize,!0,!0)),d(18),_(2),u(e.DeletedFileCount),d(21),_(2),u(e.RenamedFileCount),d(23),_(2),u(e.VerifiedFileCount),d(25),_(2),u(e.FailedVerificationCount),d(27),_(7),u(e.MessagesActualLength),d(31),_(2),O((e.Messages==null?null:e.Messages.length)===0?36:-1),_(),b(e.Messages),_(7),u(e.WarningsActualLength),d(41),_(2),O((e.Warnings==null?null:e.Warnings.length)===0?46:-1),_(),b(e.Warnings),_(7),u(e.ErrorsActualLength),d(51),_(2),O((e.Errors==null?null:e.Errors.length)===0?56:-1),_(),b(e.Errors)}}function bn(n,t){if(n&1&&x(0,xn,60,28,"details",65,v),n&2){let e=E(2).$implicit;b(e.data==null?null:e.data.RemoteSynchronizationResults)}}function kn(n,t){if(n&1&&(a(0,"code"),C(1),T(2,"json"),o()),n&2){let e=t.$implicit;_(),K(f(2,1,e))}}function Kn(n,t){if(n&1&&(a(0,"details",65)(1,"summary"),p(2,46),F(3,"sh-icon"),a(4,"div",67),F(5,"sh-icon",59),o(),g(),o(),a(6,"div",68),x(7,kn,3,3,"code",null,v),o()()),n&2){let e=E(2).$implicit;_(5),u(e.data.VerificationsActualLength),d(2),_(2),b(e.data.Verifications)}}function Un(n,t){n&1&&(a(0,"sh-icon"),C(1,"check"),o())}function wn(n,t){n&1&&(a(0,"sh-icon"),C(1,"copy"),o())}function Jn(n,t){n&1&&($(0),p(1,47),F(2,"sh-icon"),g(),M())}function Xn(n,t){n&1&&($(0),p(1,48),F(2,"sh-icon"),g(),M())}function zn(n,t){n&1&&($(0),p(1,49),F(2,"sh-icon"),g(),M())}function Vn(n,t){if(n&1){let e=R();a(0,"button",75),y("click",function(){A(e),E();let l=J(0),r=E(3);return P(r.toggleWarningSuppression(l.MessageId))}),S(1,Jn,3,0,"ng-container")(2,Xn,3,0,"ng-container")(3,zn,3,0,"ng-container"),o()}if(n&2){E();let e=J(0),i=E(3),l=i.isWarningSuppressed(e.MessageId);w("disabled",i.isSuppressingWarning()),_(),O(i.isSuppressingWarning()?1:l?2:3)}}function Hn(n,t){if(n&1){let e=R();Ce(0),a(1,"div",69)(2,"code"),C(3),o(),a(4,"button",70),y("click",function(l){let r=A(e).$implicit,L=E(3);return P(L.copyToClipboard(l,r,r))}),C(5," Copy "),S(6,Un,2,0,"sh-icon")(7,wn,2,0,"sh-icon"),o(),S(8,Vn,4,2,"button",74),o()}if(n&2){let e=t.$implicit,i=E(3),l=pe(i.parseWarning(e));_(3),K(e),_(3),O(i.copied()==e?6:7),_(2),O(l!=null&&l.MessageId?8:-1)}}function Wn(n,t){n&1&&(a(0,"p"),C(1,"No errors"),o())}function jn(n,t){n&1&&(p(0,50,1),F(1,"sh-icon"),g())}function qn(n,t){n&1&&(p(0,50,2),F(1,"sh-icon"),g())}function Qn(n,t){if(n&1){let e=R();a(0,"div",69)(1,"code"),C(2),o(),a(3,"button",70),y("click",function(l){let r=A(e).$implicit,L=E(3);return P(L.copyToClipboard(l,r,r))}),p(4,50),S(5,jn,2,0,"sh-icon")(6,qn,2,0,"sh-icon"),g(),o()()}if(n&2){let e=t.$implicit,i=E(3);_(2),K(e),_(3),O(i.copied()==e?5:6)}}function Yn(n,t){n&1&&(a(0,"sh-icon"),C(1,"check"),o())}function Zn(n,t){n&1&&(a(0,"sh-icon"),C(1,"copy"),o())}function et(n,t){if(n&1){let e=R();a(0,"section",60)(1,"sh-toggle-card",61),$(2,62),a(3,"h3"),c(4,0),o(),M(),$(5,63),a(6,"p"),c(7,1),T(8,"date"),o(),a(9,"p"),c(10,2),T(11,"date"),o(),a(12,"p"),c(13,3),T(14,"durationFormat"),o(),M(),o(),a(15,"sh-toggle-card",61),$(16,62),a(17,"h3"),c(18,4),o(),M(),$(19,63),a(20,"p"),c(21,5),T(22,"bytes"),o(),a(23,"p"),c(24,6),T(25,"bytes"),o(),a(26,"p"),c(27,7),T(28,"bytes"),o(),a(29,"p"),c(30,8),T(31,"bytes"),o(),a(32,"p"),c(33,9),o(),a(34,"p"),c(35,10),o(),a(36,"p"),c(37,11),o(),M(),o(),a(38,"div",64),F(39,"sh-divider"),S(40,Gn,54,45),S(41,bn,2,0),S(42,Kn,9,1,"details",65),a(43,"details",66)(44,"summary"),p(45,12),F(46,"sh-icon"),a(47,"div",67),F(48,"sh-icon",59),o(),g(),o(),a(49,"div",68),x(50,Hn,9,4,"div",69,v),o()(),a(52,"details",66)(53,"summary"),p(54,13),F(55,"sh-icon"),a(56,"div",67),F(57,"sh-icon",59),o(),g(),o(),a(58,"div",68),S(59,Wn,2,0,"p"),x(60,Qn,7,2,"div",69,v),o()(),F(62,"sh-divider"),a(63,"details")(64,"summary"),p(65,14),F(66,"sh-icon"),a(67,"div",67),F(68,"sh-icon",59),o(),g(),o(),a(69,"code")(70,"button",70),y("click",function(l){A(e);let r=E().$implicit,L=E();return P(L.copyToClipboard(l,L.stringify(r.data),"all"))}),C(71," Copy "),S(72,Yn,2,0,"sh-icon")(73,Zn,2,0,"sh-icon"),o(),C(74),T(75,"json"),o()()()()}if(n&2){let e=E().$implicit,i=E();_(),w("disableToggle",!0),_(7),u(I(8,26,e.data==null?null:e.data.BeginTime,"medium")),d(7),_(3),u(I(11,29,e.data==null?null:e.data.EndTime,"medium")),d(10),_(3),u(f(14,32,e.data==null?null:e.data.Duration)),d(13),_(),w("disableToggle",!0),_(7),u(e.data==null?null:e.data.ExaminedFiles)(X(22,34,e.data==null?null:e.data.SizeOfExaminedFiles,!0,!0)),d(21),_(3),u(e.data==null?null:e.data.OpenedFiles)(X(25,38,e.data==null?null:e.data.SizeOfOpenedFiles,!0,!0)),d(24),_(3),u(e.data==null?null:e.data.AddedFiles)(X(28,42,e.data==null?null:e.data.SizeOfAddedFiles,!0,!0)),d(27),_(3),u(e.data==null?null:e.data.ModifiedFiles)(X(31,46,e.data==null?null:e.data.SizeOfModifiedFiles,!0,!0)),d(30),_(2),u(e.data==null?null:e.data.DeletedFiles),d(33),_(2),u(e.data==null?null:e.data.TooLargeFiles),d(35),_(2),u(e.data==null?null:e.data.FilesWithError),d(37),_(3),O(e.data!=null&&e.data.TestResults?40:-1),_(),O(e.data!=null&&e.data.RemoteSynchronizationResults?41:-1),_(),O((e.data==null?null:e.data.MainOperation)==="Test"?42:-1),_(),w("open",e.id===i.openEntry()&&i.openSection()==="warnings"),_(5),u(e.data==null?null:e.data.WarningsActualLength),d(45),_(2),b(e.data==null?null:e.data.Warnings),_(2),w("open",e.id===i.openEntry()&&i.openSection()==="errors"),_(5),u(e.data==null?null:e.data.ErrorsActualLength),d(54),_(2),O((e.data==null||e.data.Errors==null?null:e.data.Errors.length)===0?59:-1),_(),b(e.data==null?null:e.data.Errors),_(12),O(i.copied()=="all"?72:73),_(2),V(" ",f(75,50,e.data)," ")}}function nt(n,t){if(n&1){let e=R();a(0,"article",52)(1,"header",53),y("click",function(){let l=A(e).$implicit,r=E();return P(r.toggleOpenEntry(l))}),S(2,On,1,0,"div",54)(3,Ln,1,0,"div",54)(4,Nn,1,0,"div",55)(5,mn,1,0,"div",56),a(6,"h3"),C(7),T(8,"date"),o(),a(9,"p"),C(10),o(),F(11,"div",57),a(12,"div",58)(13,"sh-icon",59),C(14,"caret-down"),o()()(),S(15,et,76,52,"section",60),o()}if(n&2){let e=t.$implicit,i=E(),l=(e.data==null?null:e.data.ParsedResult)||"Unknown";_(2),O(l=="Fatal"?2:l=="Error"?3:l=="Warning"?4:5),_(5),K(I(8,7,e.timestamp,"medium")),_(3),tn(" ",e.data==null?null:e.data.MainOperation," ",i.getLocalizedSummary(e)," "),_(3),Y("open",e.id===i.openEntry()),_(2),O(e.id===i.openEntry()?15:-1)}}var De=class n{#e=z(Ne);#n=z(me);#t=new Z;#i=new ee;backupId=Te.required();isSuppressingWarning=h(!1);copied=h(null);backupResource=Fn({params:()=>({id:this.backupId()}),loader:({params:t})=>Ze(this.#e.getApiV1BackupById({id:t.id}))});suppressedWarningIds=ge(()=>{let t=this.backupResource.value();if(!t?.Backup?.Settings)return new Set;let e=t.Backup.Settings.find(i=>i.Name==="--suppress-warnings");return e?.Value?new Set(e.Value.split(",").map(i=>i.trim()).filter(Boolean)):new Set});openEntry=h(null);openSection=h(null);pagination=h({offset:0,pagesize:100});resource=Ge({params:()=>Ee({id:this.backupId()},this.pagination()),stream:({params:t})=>this.#e.getApiV1BackupByIdLog({id:t.id,pagesize:100}).pipe(H(e=>e.map(i=>({id:i.ID,operationId:i.OperationID,timestamp:i.Timestamp*1e3,type:i.Type,data:JSON.parse(i.Message),exception:JSON.stringify(i.Exception)==="{}"?null:i.Exception}))))});getLocalizedSummary(t){let e=t.data?.ErrorsActualLength??0,i=t.data?.WarningsActualLength??0,l=[];if(t.data?.MainOperation=="Backup"){if(t.data?.Duration){let r=this.#i.transform(t.data?.Duration,!0);r.startsWith("0h ")&&(r=r.slice(3)),r.startsWith("0m ")&&(r=r.slice(3)),l.push($localize`took ${r}`)}t.data?.BackendStatistics?.BytesUploaded&&l.push($localize`uploaded ${this.#t.transform(t.data?.BackendStatistics?.BytesUploaded)}`),t.data?.BackendStatistics?.KnownFileSize&&l.push($localize`backup size ${this.#t.transform(t.data?.BackendStatistics?.KnownFileSize)}`)}return e!==0&&l.push($localize`:@@errorCount:${e} error${e===1?"":"s"}`),i!==0&&l.push($localize`:@@warningCount:${i} warning${i===1?"":"s"}`),l.length===0?"":`(${l.join(", ")})`}toggleOpenEntry(t){let e=t.id;if(this.openEntry()===e){this.openEntry.set(null),this.openSection.set(null);return}let i=t.data?.ErrorsActualLength??0,l=t.data?.WarningsActualLength??0;i>0?this.openSection.set("errors"):l>0?this.openSection.set("warnings"):this.openSection.set(null),this.openEntry.set(e)}parseWarning(t){let e=t.match(/^(.*?) - \[(.*?)-(.*?)-(.*?)\]: (.*)$/);if(!e)return null;let[,i,l,r,L,G]=e;return{Timestamp:i,LogLevel:l,Source:r,MessageId:L,Message:G}}isWarningSuppressed(t){return this.suppressedWarningIds().has(t)}toggleWarningSuppression(t){let e=this.backupId();!e||!t||(this.isSuppressingWarning.set(!0),this.#e.getApiV1BackupById({id:e}).pipe(nn(i=>{let l=i.Backup?.Settings??[],r=l.findIndex(N=>N.Name==="--suppress-warnings"),L=this.isWarningSuppressed(t),G="";if(r>=0){let B=(l[r].Value??"").split(",").map(U=>U.trim()).filter(Boolean);L?B=B.filter(U=>U!==t):B.includes(t)||B.push(t),G=B.join(",")}else L||(G=t);let k=l.map(N=>({Name:N.Name,Value:N.Value,Filter:N.Filter}));return r>=0?G===""?k.splice(r,1):k[r]={Name:"--suppress-warnings",Value:G,Filter:null}:G!==""&&k.push({Name:"--suppress-warnings",Value:G,Filter:null}),this.#e.putApiV1BackupById({id:e,requestBody:{Backup:{Name:i.Backup?.Name,Description:i.Backup?.Description,DBPath:i.Backup?.DBPath,Tags:i.Backup?.Tags??[],TargetURL:i.Backup?.TargetURL,ConnectionStringID:i.Backup?.ConnectionStringID,Sources:i.Backup?.Sources??[],Settings:k,Filters:i.Backup?.Filters?.map(N=>({Expression:N.Expression,Include:N.Include,Order:N.Order})),Metadata:i.Backup?.Metadata??{},AdditionalTargetURLs:i.Backup?.AdditionalTargetURLs?.map(N=>({TargetUrl:N.TargetUrl,UrlKey:N.UrlKey,Mode:N.Mode,Interval:N.Interval,ConnectionStringID:N.ConnectionStringID,Options:N.Options}))},Schedule:i.Schedule?{Repeat:i.Schedule.Repeat,Time:i.Schedule.Time,AllowedDays:i.Schedule.AllowedDays}:void 0}})}),en(()=>this.isSuppressingWarning.set(!1))).subscribe({next:()=>{this.#n.getBackups(!0),this.backupResource.reload()},error:i=>{console.error("Failed to toggle warning suppression:",i)}}))}copyToClipboard(t,e,i){t.stopPropagation(),navigator.clipboard.writeText(e),this.copied.set(i),setTimeout(()=>{this.copied.set(null)},2e3)}stringify(t){return JSON.stringify(t,null,2)}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=W({type:n,selectors:[["app-general-log"]],inputs:{backupId:[1,"backupId"]},decls:3,vars:1,consts:()=>{let t;t=$localize`Time`;let e;e=$localize`Start: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let i;i=$localize`End: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let l;l=$localize`Duration: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let r;r=$localize`Source files`;let L;L=$localize` Evaluated: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:) `;let G;G=$localize`Opened: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:)`;let k;k=$localize`Added: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:)`;let N;N=$localize` Modified: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:) `;let B;B=$localize`Deleted: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let U;U=$localize`Too large: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Q;Q=$localize`Files with error: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let D;D=$localize`${"\uFFFD#46\uFFFD"}:START_TAG_SH_ICON:warning-circle${"[\uFFFD/#46\uFFFD|\uFFFD/#48\uFFFD]"}:CLOSE_TAG_SH_ICON: Warnings ${"\uFFFD0\uFFFD"}:INTERPOLATION: ${"\uFFFD#47\uFFFD"}:START_TAG_DIV:${"\uFFFD#48\uFFFD"}:START_TAG_SH_ICON_1:caret-down${"[\uFFFD/#46\uFFFD|\uFFFD/#48\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#47\uFFFD"}:CLOSE_TAG_DIV:`,D=m(D);let ne;ne=$localize`${"\uFFFD#55\uFFFD"}:START_TAG_SH_ICON:warning${"[\uFFFD/#55\uFFFD|\uFFFD/#57\uFFFD]"}:CLOSE_TAG_SH_ICON: Errors ${"\uFFFD0\uFFFD"}:INTERPOLATION: ${"\uFFFD#56\uFFFD"}:START_TAG_DIV:${"\uFFFD#57\uFFFD"}:START_TAG_SH_ICON_1:caret-down${"[\uFFFD/#55\uFFFD|\uFFFD/#57\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#56\uFFFD"}:CLOSE_TAG_DIV:`,ne=m(ne);let te;te=$localize`${"\uFFFD#66\uFFFD"}:START_TAG_SH_ICON:notepad${"[\uFFFD/#66\uFFFD|\uFFFD/#68\uFFFD]"}:CLOSE_TAG_SH_ICON: Complete log ${"\uFFFD#67\uFFFD"}:START_TAG_DIV:${"\uFFFD#68\uFFFD"}:START_TAG_SH_ICON_1:caret-down${"[\uFFFD/#66\uFFFD|\uFFFD/#68\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#67\uFFFD"}:CLOSE_TAG_DIV:`,te=m(te);let ie;ie=$localize`${"\uFFFD#3\uFFFD"}:START_TAG_SH_ICON:circle-half-tilt${"[\uFFFD/#3\uFFFD|\uFFFD/#5\uFFFD]"}:CLOSE_TAG_SH_ICON: Test phase ${"\uFFFD#4\uFFFD"}:START_TAG_DIV:${"\uFFFD#5\uFFFD"}:START_TAG_SH_ICON_1:caret-down${"[\uFFFD/#3\uFFFD|\uFFFD/#5\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_DIV:`,ie=m(ie);let Re;Re=$localize`Start: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Ie;Ie=$localize`End: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let $e;$e=$localize`Duration: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Me;Me=$localize`Verifications: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let fe;fe=$localize`Warnings: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let he;he=$localize`Errors: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let oe;oe=$localize`${"\uFFFD#26\uFFFD"}:START_TAG_SH_ICON:file-archive${"[\uFFFD/#26\uFFFD|\uFFFD/#28\uFFFD]"}:CLOSE_TAG_SH_ICON: Compact phase ${"\uFFFD#27\uFFFD"}:START_TAG_DIV:${"\uFFFD#28\uFFFD"}:START_TAG_SH_ICON_1:caret-down${"[\uFFFD/#26\uFFFD|\uFFFD/#28\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#27\uFFFD"}:CLOSE_TAG_DIV:`,oe=m(oe);let ye;ye=$localize`Start: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Be;Be=$localize`End: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let ve;ve=$localize`Duration: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let xe;xe=$localize` Deleted files: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:) `;let be;be=$localize` Downloaded files: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:) `;let ke;ke=$localize` Uploaded files: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:) `;let Ke;Ke=$localize`Warnings: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Ue;Ue=$localize`Errors: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let ae;ae=$localize`${"\uFFFD#3\uFFFD"}:START_TAG_SH_ICON:arrows-clockwise${"[\uFFFD/#3\uFFFD|\uFFFD/#5\uFFFD]"}:CLOSE_TAG_SH_ICON: Secondary destination: ${"\uFFFD0\uFFFD"}:INTERPOLATION: ${"\uFFFD#4\uFFFD"}:START_TAG_DIV:${"\uFFFD#5\uFFFD"}:START_TAG_SH_ICON_1:caret-down${"[\uFFFD/#3\uFFFD|\uFFFD/#5\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_DIV:`,ae=m(ae);let we;we=$localize`Start: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Je;Je=$localize`End: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Xe;Xe=$localize`Duration: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let ze;ze=$localize` Files copied: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:) `;let Ve;Ve=$localize`Files deleted: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let He;He=$localize`Files renamed: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let We;We=$localize`Files verified: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let je;je=$localize`Failed verifications: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let _e;_e=$localize`${"\uFFFD#32\uFFFD"}:START_TAG_SH_ICON:info${"[\uFFFD/#32\uFFFD|\uFFFD/#34\uFFFD]"}:CLOSE_TAG_SH_ICON: Messages ${"\uFFFD0\uFFFD"}:INTERPOLATION: ${"\uFFFD#33\uFFFD"}:START_TAG_DIV:${"\uFFFD#34\uFFFD"}:START_TAG_SH_ICON_1:caret-down${"[\uFFFD/#32\uFFFD|\uFFFD/#34\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#33\uFFFD"}:CLOSE_TAG_DIV:`,_e=m(_e);let le;le=$localize`${"\uFFFD#42\uFFFD"}:START_TAG_SH_ICON:warning-circle${"[\uFFFD/#42\uFFFD|\uFFFD/#44\uFFFD]"}:CLOSE_TAG_SH_ICON: Warnings ${"\uFFFD0\uFFFD"}:INTERPOLATION: ${"\uFFFD#43\uFFFD"}:START_TAG_DIV:${"\uFFFD#44\uFFFD"}:START_TAG_SH_ICON_1:caret-down${"[\uFFFD/#42\uFFFD|\uFFFD/#44\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#43\uFFFD"}:CLOSE_TAG_DIV:`,le=m(le);let Fe;Fe=$localize`${"\uFFFD#52\uFFFD"}:START_TAG_SH_ICON:warning${"[\uFFFD/#52\uFFFD|\uFFFD/#54\uFFFD]"}:CLOSE_TAG_SH_ICON: Errors ${"\uFFFD0\uFFFD"}:INTERPOLATION: ${"\uFFFD#53\uFFFD"}:START_TAG_DIV:${"\uFFFD#54\uFFFD"}:START_TAG_SH_ICON_1:caret-down${"[\uFFFD/#52\uFFFD|\uFFFD/#54\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#53\uFFFD"}:CLOSE_TAG_DIV:`,Fe=m(Fe);let re;re=$localize` Copy ${"\uFFFD*5:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:check${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*5:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*6:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:copy${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*6:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,re=m(re);let se;se=$localize` Copy ${"\uFFFD*5:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:check${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*5:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*6:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:copy${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*6:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,se=m(se);let ce;ce=$localize` Copy ${"\uFFFD*5:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:check${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*5:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*6:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:copy${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*6:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,ce=m(ce);let ue;ue=$localize`${"\uFFFD#3\uFFFD"}:START_TAG_SH_ICON:warning-circle${"[\uFFFD/#3\uFFFD|\uFFFD/#5\uFFFD]"}:CLOSE_TAG_SH_ICON: Verifications ${"\uFFFD0\uFFFD"}:INTERPOLATION: ${"\uFFFD#4\uFFFD"}:START_TAG_DIV:${"\uFFFD#5\uFFFD"}:START_TAG_SH_ICON_1:caret-down${"[\uFFFD/#3\uFFFD|\uFFFD/#5\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_DIV:`,ue=m(ue);let qe;qe=$localize` Updating ${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:spinner${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON:`;let Qe;Qe=$localize` Un-suppress ${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:bell${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON:`;let Ye;Ye=$localize` Suppress ${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:bell-slash${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON:`;let de;return de=$localize` Copy ${"\uFFFD*5:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:check${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*5:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*6:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:copy${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*6:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,de=m(de),[t,e,i,l,r,L,G,k,N,B,U,Q,D,ne,te,ie,Re,Ie,$e,Me,fe,he,oe,ye,Be,ve,xe,be,ke,Ke,Ue,ae,we,Je,Xe,ze,Ve,He,We,je,_e,le,Fe,re,se,ce,ue,qe,Qe,Ye,de,[1,"indeterminate","primary"],[1,"log-entry"],[3,"click"],[1,"status","error"],[1,"status","warn"],[1,"status"],[1,"spacer"],[1,"action"],[1,"toggle-indicator"],[1,"log-content"],[3,"disableToggle"],["title",""],["content",""],[1,"extra-info"],["name","details"],["name","details",3,"open"],[1,"actions"],[1,"content"],[1,"warning-item"],["shButton","",1,"small",3,"click"],["name","details-messages"],["name","details-warnings"],["name","details-errors"],["shButton","",1,"small",3,"disabled"],["shButton","",1,"small",3,"click","disabled"]]},template:function(e,i){e&1&&(S(0,Sn,1,0,"sh-progress-bar",51),x(1,nt,16,10,"article",52,v)),e&2&&(O(i.resource.isLoading()?0:-1),_(),b(i.resource.value()))},dependencies:[En,un,Le,Oe,q,Z,j,ee,Se],styles:["[_nghost-%COMP%]{display:block}.log-entry[_ngcontent-%COMP%]{display:flex;flex-direction:column;cursor:pointer}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;padding:1rem;border-bottom:1px solid var(--base-4);background-color:var(--base-1);cursor:pointer}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%]:hover{background-color:var(--base-2)}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font:var(--paragraph-30);margin:0}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font:var(--paragraph-30);color:var(--base-8)}.toggle-indicator[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;height:1.25rem;transition:transform 125ms linear}.toggle-indicator.open[_ngcontent-%COMP%]{transform:rotate(180deg)}details[_ngcontent-%COMP%]{display:flex;flex-direction:column}details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]{cursor:pointer;display:flex;align-items:center;gap:.5rem;padding:.75rem;border-radius:var(--shape-2);background-color:var(--base-2)}details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]:focus{outline:none}details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]:hover{background-color:var(--base-3)}details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]::marker{font-size:0}details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;flex:1 0;gap:.5rem;-webkit-user-select:none;user-select:none}details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] sh-icon[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;height:2rem;transition:transform 125ms linear}details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] sh-icon.toggle-indicator[_ngcontent-%COMP%]{transform:rotate(0)}details[open][_ngcontent-%COMP%] > summary[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] sh-icon.toggle-indicator[_ngcontent-%COMP%]{transform:rotate(180deg)}details[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:.75rem 1rem 0;display:flex;flex-direction:column;gap:.75rem}details[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0}details[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{margin-top:.75rem;position:relative}details[_ngcontent-%COMP%] code[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{position:absolute;top:.75rem;right:.75rem}.extra-info[_ngcontent-%COMP%]{grid-column:1/-1;display:flex;flex-direction:column;gap:1rem}.extra-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.extra-info[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{white-space:pre-wrap;padding:1rem;display:block;border-radius:var(--shape-2);background-color:var(--base-2)}.log-content[_ngcontent-%COMP%]{padding:1rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem}.status[_ngcontent-%COMP%]{display:block;width:1rem;height:1rem;background-color:var(--success-8);border-radius:50%}.status.error[_ngcontent-%COMP%]{background-color:var(--error-8)}.status.warn[_ngcontent-%COMP%]{background-color:var(--warn-8)}.warning-item[_ngcontent-%COMP%]{display:flex;flex-direction:row;gap:.5rem;padding:.75rem;border-radius:var(--shape-2);background-color:var(--base-2)}.warning-item[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{margin:0;white-space:pre-wrap;word-break:break-word}.warning-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{align-self:flex-start;white-space:nowrap}"],changeDetection:0})};function tt(n,t){n&1&&F(0,"sh-progress-bar",1)}function it(n,t){n&1&&(p(0,0,1),F(1,"sh-icon"),g())}function ot(n,t){n&1&&(p(0,0,2),F(1,"sh-icon"),g())}function at(n,t){if(n&1){let e=R();a(0,"section",6)(1,"button",7),y("click",function(){A(e);let l=E(),r=l.$implicit,L=l.$index,G=E();return P(G.copyToClipboard(r.data,L))}),p(2,0),S(3,it,2,0)(4,ot,2,0),g(),o(),a(5,"code"),C(6),T(7,"json"),o()()}if(n&2){let e=E(),i=e.$implicit,l=e.$index,r=E();_(),Y("success",r.copiedFromIndex()===l),_(2),O(r.copiedFromIndex()===l?3:4),_(3),K(f(7,4,i.data))}}function _t(n,t){if(n&1){let e=R();a(0,"article",2)(1,"header",3),y("click",function(){let l=A(e).$implicit,r=E();return P(r.toggleOpenEntry(l.id))}),a(2,"h3"),C(3),T(4,"date"),o(),a(5,"div",4)(6,"sh-icon",5),C(7,"caret-down"),o()()(),S(8,at,8,6,"section",6),o()}if(n&2){let e=t.$implicit,i=E();_(3),on("",I(4,6,e.timestamp,"medium"),": ",e.operation," ",e.path),_(3),Y("open",e.id===i.openEntry()),_(2),O(e.id===i.openEntry()?8:-1)}}var Ae=class n{#e=z(Ne);backupId=Te.required();openEntry=h(null);pagination=h({offset:0,pagesize:100});copiedFromIndex=h(null);resource=Ge({params:()=>Ee({id:this.backupId()},this.pagination()),stream:({params:t})=>this.#e.getApiV1BackupByIdRemotelog({id:t.id,pagesize:100}).pipe(H(e=>e.map((i,l)=>({id:i.ID,operationId:i.OperationID,timestamp:i.Timestamp*1e3,operation:i.Operation,path:i.Path,data:typeof i.Data=="string"?JSON.parse(i.Data):null}))))});toggleOpenEntry(t){if(this.openEntry()===t){this.openEntry.set(null);return}this.openEntry.set(t)}copyToClipboard(t,e){let i=JSON.stringify(t,null,2);navigator.clipboard.writeText(i),this.copiedFromIndex.set(e),setTimeout(()=>{this.copiedFromIndex.set(null)},3e3)}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=W({type:n,selectors:[["app-remote-log"]],inputs:{backupId:[1,"backupId"]},decls:3,vars:1,consts:()=>{let t;return t=$localize`${"\uFFFD*3:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:check${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Copied ${"\uFFFD/*3:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*4:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:copy${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Copy to clipboard ${"\uFFFD/*4:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,t=m(t),[t,[1,"indeterminate","primary"],[1,"log-entry"],[3,"click"],[1,"actions"],[1,"toggle-indicator"],[1,"log-content"],["shButton","",1,"small",3,"click"]]},template:function(e,i){e&1&&(S(0,tt,1,0,"sh-progress-bar",1),x(1,_t,9,9,"article",2,v)),e&2&&(O(i.resource.isLoading()?0:-1),_(),b(i.resource.value()))},dependencies:[Le,q,Se,j],styles:["[_nghost-%COMP%]{display:block}.log-entry[_ngcontent-%COMP%]{display:flex;flex-direction:column}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:1rem;border-bottom:1px solid var(--base-4);background-color:var(--base-1);cursor:pointer}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%]:hover{background-color:var(--base-2)}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font:var(--paragraph-30);margin:0;-webkit-user-select:none;user-select:none}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font:var(--paragraph-30);color:var(--base-8)}.toggle-indicator[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;height:1.25rem;transition:transform 125ms linear}.toggle-indicator.open[_ngcontent-%COMP%]{transform:rotate(180deg)}.log-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:1rem;position:relative}.log-content[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{position:absolute;top:2rem;right:2rem;background:transparent}code[_ngcontent-%COMP%]{white-space:pre-wrap;padding:1rem;display:block;border-radius:var(--shape-2);background-color:var(--base-2)}"],changeDetection:0})};function lt(n,t){if(n&1&&(C(0," - "),$(1),c(2,6),M(),C(3),T(4,"durationFormat")),n&2){E(2);let e=J(6);_(3),V(" ",f(4,1,e.Backup.Metadata==null?null:e.Backup.Metadata.LastBackupDuration)," ")}}function Ft(n,t){n&1&&($(0),c(1,7),M())}function rt(n,t){if(n&1&&(C(0),T(1,"bytes")),n&2){E(2);let e=J(6);V(" ",f(1,1,e.Backup.Metadata==null?null:e.Backup.Metadata.SourceFilesSize)," ")}}function st(n,t){n&1&&($(0),c(1,8),M())}function ct(n,t){if(n&1&&(C(0),T(1,"bytes")),n&2){E(2);let e=J(6);V(" ",f(1,1,e.Backup.Metadata==null?null:e.Backup.Metadata.TargetFilesSize)," ")}}function ut(n,t){n&1&&($(0),c(1,9),M())}function dt(n,t){if(n&1&&(a(0,"sh-chip",20),c(1,10),o()),n&2){E(2);let e=J(6);_(),u(e.Backup.Metadata==null?null:e.Backup.Metadata.BackupListCount),d(1)}}function Et(n,t){n&1&&(a(0,"sh-chip",21),c(1,11),o())}function Ct(n,t){if(n&1&&(a(0,"div",14)(1,"div",19)(2,"h3"),C(3),a(4,"sh-icon"),C(5,"database"),o()(),a(6,"p")(7,"span"),c(8,3),o(),C(9),T(10,"date"),S(11,lt,5,3)(12,Ft,2,0,"ng-container"),o(),a(13,"p")(14,"span"),c(15,4),o(),S(16,rt,2,3)(17,st,2,0,"ng-container"),o(),a(18,"p")(19,"span"),c(20,5),o(),S(21,ct,2,3)(22,ut,2,0,"ng-container"),o()(),S(23,dt,2,1,"sh-chip",20)(24,Et,2,0,"sh-chip",21),o()),n&2){let e=E(),i=J(6);_(3),V(" ",i.Backup.Name??e.MISSING_BACKUP_NAME," "),_(6),V(" ",I(10,6,i.Backup.Metadata==null?null:i.Backup.Metadata.LastBackupDate,"short")," "),_(2),O(i.Backup.Metadata!=null&&i.Backup.Metadata.LastBackupDuration?11:12),_(5),O(i.Backup.Metadata!=null&&i.Backup.Metadata.SourceFilesSize?16:17),_(5),O(i.Backup.Metadata!=null&&i.Backup.Metadata.TargetFilesSize?21:22),_(2),O(i.Backup.Metadata!=null&&i.Backup.Metadata.BackupListCount?23:24)}}function pt(n,t){if(n&1&&F(0,"app-general-log",18),n&2){let e=E();w("backupId",e.backupId())}}function gt(n,t){if(n&1&&F(0,"app-remote-log",18),n&2){let e=E();w("backupId",e.backupId())}}var Pe=class n{#e=z(rn);#n=z(me);MISSING_BACKUP_NAME=$localize`Backup name missing`;activeTab=h("general");backupId=Cn(this.#e.params.pipe(H(t=>t.id)));backup=ge(()=>{let t=this.backupId();return t?this.#n.getBackupById(t):null});static \u0275fac=function(e){return new(e||n)};static \u0275cmp=W({type:n,selectors:[["app-log"]],decls:15,vars:5,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`General`;let i;i=$localize`Destination`;let l;l=$localize`Last successful backup:`;let r;r=$localize`Source:`;let L;L=$localize`Destination:`;let G;G=$localize`took`;let k;k=$localize`N/A`;let N;N=$localize`N/A`;let B;B=$localize`N/A`;let U;U=$localize`${"\uFFFD0\uFFFD"}:INTERPOLATION: Version`;let Q;return Q=$localize`No version yet`,[t,e,i,l,r,L,G,k,N,B,U,Q,[1,"back"],["type","button","shButton","","routerLink","/",1,"small"],[1,"backup"],[1,"primary",3,"valueChange","value"],["value","general"],["value","destination"],[3,"backupId"],[1,"text"],[1,"simple","success"],[1,"simple"]]},template:function(e,i){if(e&1){let l=R();F(0,"app-status-bar"),a(1,"section")(2,"div",12)(3,"button",13),p(4,0),F(5,"sh-icon"),g(),o()(),Ce(6),S(7,Ct,25,9,"div",14),a(8,"sh-tabs",15),ln("valueChange",function(L){return A(l),_n(i.activeTab,L)||(i.activeTab=L),P(L)}),a(9,"button",16),c(10,1),o(),a(11,"button",17),c(12,2),o()(),S(13,pt,1,1,"app-general-log",18),S(14,gt,1,1,"app-remote-log",18),o()}if(e&2){_(6);let l=pe(i.backup());_(),O(l?7:-1),_(),an("value",i.activeTab),_(5),O(i.activeTab()==="general"?13:-1),_(),O(i.activeTab()==="destination"?14:-1)}},dependencies:[dn,De,Ae,sn,pn,q,Oe,cn,Z,ee,j],styles:["[_nghost-%COMP%]{display:block}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:1rem 1.5rem;gap:1rem}sh-tabs[_ngcontent-%COMP%]{margin-bottom:1rem}.backup[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:2rem;gap:1rem;border:1px solid var(--base-4);border-radius:var(--shape-3);box-shadow:var(--box-shadow-10)}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:40%}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] sh-icon[_ngcontent-%COMP%]{color:var(--base-8)}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font:var(--paragraph-30);color:var(--base-8)}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] p[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:var(--base-12)}"],changeDetection:0})};export{Pe as default};
@@ -1 +1 @@
1
- import{a as $}from"./chunk-ZK3S23CJ.js";import"./chunk-GO22QPW4.js";import"./chunk-FMDSOHVR.js";import"./chunk-NBKLLQQO.js";import"./chunk-I625OICV.js";import"./chunk-XCVBN7EK.js";import"./chunk-ADB5QRUO.js";import"./chunk-22PELS6R.js";import"./chunk-6Q6SSTBK.js";import"./chunk-MRSBKQQM.js";import"./chunk-7FDLOZXV.js";import"./chunk-EQNDYV43.js";import"./chunk-35APLYI4.js";import"./chunk-LU7TIW3P.js";import"./chunk-YMUS7QSB.js";import{b as f}from"./chunk-ZXQSQRKN.js";import"./chunk-XZNYCTQB.js";import"./chunk-R6TFME5I.js";import"./chunk-AZRNX5LU.js";import{B as b,v as h}from"./chunk-NCXKMSRH.js";import{d as P}from"./chunk-QAQMMCTH.js";import{b as B,e as A}from"./chunk-KHZ5AXGT.js";import"./chunk-L2QOWZDR.js";import"./chunk-BRL4YYWO.js";import"./chunk-BDQJFOCO.js";import"./chunk-FSHBOASN.js";import{Ab as p,Bb as I,Cb as E,Cc as R,Db as a,Eb as F,Fb as _,Rc as D,Sa as i,Tb as c,Ub as d,Vb as r,Yb as N,Zb as L,_ as C,gb as S,nc as M,pa as l,pc as O,wb as s,xb as u,yb as T}from"./chunk-UH2E7MMT.js";import"./chunk-7CGTOI24.js";var k=e=>({state:e});function v(e,t){e&1&&r(0,2,1)}function y(e,t){e&1&&r(0,2,2)}function U(e,t){e&1&&r(0,2,3)}function G(e,t){e&1&&r(0,2,4)}function K(e,t){if(e&1&&(M(0),_(1,"br")),e&2){let o=t.$implicit;O(" ",o," ")}}var g=class e{#t=C(P);#e=C(B);#n=f(this.#e.params);#o=f(this.#e.queryParams);runId=D(()=>this.#n()?.runId);stateId=D(()=>this.#o()?.state);offset=l(0);status=l("starting");messageLog=l([]);interval=setInterval(()=>{this.#t.getApiV1CommandlineByRunid({runid:this.runId(),offset:this.offset(),pagesize:100}).subscribe(t=>{this.offset.set(t.Count),this.evalStatus(t),this.messageLog.update(o=>[...o,...t.Items])})},1e3);evalStatus(t){t.Started===!0&&t.Finished===!0&&(this.status.set("finished"),clearInterval(this.interval)),t.Started===!0&&t.Finished===!1&&this.status.set("started")}abort(){this.#t.postApiV1CommandlineByRunidAbort({runid:this.runId()}).subscribe({next:t=>{this.status.set("aborted"),clearInterval(this.interval)}})}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=S({type:e,selectors:[["app-commandline-result"]],decls:18,vars:7,consts:()=>{let t;t=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SH_ICON: Back `;let o;o=$localize` Running commandline task... ${"\uFFFD#8\uFFFD"}:START_TAG_BUTTON:Abort${"\uFFFD/#8\uFFFD"}:CLOSE_TAG_BUTTON:`;let n;return n=$localize`${"\uFFFD*11:1\uFFFD"}:START_BLOCK_IF: Starting... ${"[\uFFFD/*11:1\uFFFD|\uFFFD/*12:2\uFFFD|\uFFFD/*13:3\uFFFD|\uFFFD/*14:4\uFFFD]"}:CLOSE_BLOCK_IF:${"\uFFFD*12:2\uFFFD"}:START_BLOCK_IF_1: Started! ${"[\uFFFD/*11:1\uFFFD|\uFFFD/*12:2\uFFFD|\uFFFD/*13:3\uFFFD|\uFFFD/*14:4\uFFFD]"}:CLOSE_BLOCK_IF:${"\uFFFD*13:3\uFFFD"}:START_BLOCK_IF_2: Finished! ${"[\uFFFD/*11:1\uFFFD|\uFFFD/*12:2\uFFFD|\uFFFD/*13:3\uFFFD|\uFFFD/*14:4\uFFFD]"}:CLOSE_BLOCK_IF:${"\uFFFD*14:4\uFFFD"}:START_BLOCK_IF_3: Aborted! ${"[\uFFFD/*11:1\uFFFD|\uFFFD/*12:2\uFFFD|\uFFFD/*13:3\uFFFD|\uFFFD/*14:4\uFFFD]"}:CLOSE_BLOCK_IF:`,n=N(n),[t,o,n,[1,"back"],["type","button","shButton","","routerLink","../",1,"small",3,"queryParams"],["type","button","shButton","",1,"small",3,"click"],[1,"status"]]},template:function(o,n){o&1&&(_(0,"app-status-bar"),a(1,"section")(2,"div",3)(3,"button",4),c(4,0),_(5,"sh-icon"),d(),F()(),a(6,"h3"),c(7,1),a(8,"button",5),L("click",function(){return n.abort()}),F(),d(),F(),a(9,"div",6),c(10,2),s(11,v,1,0),s(12,y,1,0),s(13,U,1,0),s(14,G,1,0),d(),F(),a(15,"code"),p(16,K,2,1,null,null,T),F()()),o&2&&(i(3),E("queryParams",R(5,k,n.stateId())),i(8),u(n.status()==="starting"?11:-1),i(),u(n.status()==="started"?12:-1),i(),u(n.status()==="finished"?13:-1),i(),u(n.status()==="aborted"?14:-1),i(2),I(n.messageLog()))},dependencies:[$,h,b,A],styles:["[_nghost-%COMP%]{display:block}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%;padding:2.5rem;gap:1.25rem}code[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--base-8),#000 70%);color:#fff;padding:2.5rem 2.5rem 2.5rem 1.5rem;border-radius:var(--shape-3);overflow:auto;white-space:pre}"],changeDetection:0})};export{g as default};
1
+ import{a as $}from"./chunk-IFSZJSGH.js";import"./chunk-QDDVZ4CR.js";import"./chunk-BLSV7CNZ.js";import"./chunk-I6MIXWIT.js";import"./chunk-RJ2JM7C7.js";import"./chunk-WOKYULBU.js";import"./chunk-TCXCC5BM.js";import"./chunk-GKGMP6VF.js";import"./chunk-6Q6SSTBK.js";import"./chunk-YCJYEQF7.js";import"./chunk-OHYENIPP.js";import"./chunk-UTXZPAY6.js";import"./chunk-IMQUTGIK.js";import"./chunk-ANSV4G2K.js";import"./chunk-BACKG7KA.js";import{b as f}from"./chunk-IQL3REGJ.js";import"./chunk-AIAUP7OE.js";import"./chunk-C6PICAXB.js";import"./chunk-6JS7B4FW.js";import{B as h,v as b}from"./chunk-VKQQDCUN.js";import{d as P}from"./chunk-DSYNIXJF.js";import{b as B,e as A}from"./chunk-NPFPMA4P.js";import"./chunk-O2SMJYPC.js";import"./chunk-N2AU7VKX.js";import"./chunk-ZC23RK4J.js";import"./chunk-OPHQNXYO.js";import{Ab as p,Bb as I,Bc as R,Cb as E,Db as a,Eb as F,Fb as _,Qc as D,Sa as i,Tb as c,Ub as d,Vb as r,Yb as N,Zb as L,_ as C,gb as S,nc as M,pa as l,pc as O,wb as s,xb as u,yb as T}from"./chunk-TQTOIWBK.js";import"./chunk-7CGTOI24.js";var k=e=>({state:e});function v(e,t){e&1&&r(0,2,1)}function y(e,t){e&1&&r(0,2,2)}function U(e,t){e&1&&r(0,2,3)}function G(e,t){e&1&&r(0,2,4)}function K(e,t){if(e&1&&(M(0),_(1,"br")),e&2){let o=t.$implicit;O(" ",o," ")}}var g=class e{#t=C(P);#e=C(B);#n=f(this.#e.params);#o=f(this.#e.queryParams);runId=D(()=>this.#n()?.runId);stateId=D(()=>this.#o()?.state);offset=l(0);status=l("starting");messageLog=l([]);interval=setInterval(()=>{this.#t.getApiV1CommandlineByRunid({runid:this.runId(),offset:this.offset(),pagesize:100}).subscribe(t=>{this.offset.set(t.Count),this.evalStatus(t),this.messageLog.update(o=>[...o,...t.Items])})},1e3);evalStatus(t){t.Started===!0&&t.Finished===!0&&(this.status.set("finished"),clearInterval(this.interval)),t.Started===!0&&t.Finished===!1&&this.status.set("started")}abort(){this.#t.postApiV1CommandlineByRunidAbort({runid:this.runId()}).subscribe({next:t=>{this.status.set("aborted"),clearInterval(this.interval)}})}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=S({type:e,selectors:[["app-commandline-result"]],decls:18,vars:7,consts:()=>{let t;t=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SH_ICON: Back `;let o;o=$localize` Running commandline task... ${"\uFFFD#8\uFFFD"}:START_TAG_BUTTON:Abort${"\uFFFD/#8\uFFFD"}:CLOSE_TAG_BUTTON:`;let n;return n=$localize`${"\uFFFD*11:1\uFFFD"}:START_BLOCK_IF: Starting... ${"[\uFFFD/*11:1\uFFFD|\uFFFD/*12:2\uFFFD|\uFFFD/*13:3\uFFFD|\uFFFD/*14:4\uFFFD]"}:CLOSE_BLOCK_IF:${"\uFFFD*12:2\uFFFD"}:START_BLOCK_IF_1: Started! ${"[\uFFFD/*11:1\uFFFD|\uFFFD/*12:2\uFFFD|\uFFFD/*13:3\uFFFD|\uFFFD/*14:4\uFFFD]"}:CLOSE_BLOCK_IF:${"\uFFFD*13:3\uFFFD"}:START_BLOCK_IF_2: Finished! ${"[\uFFFD/*11:1\uFFFD|\uFFFD/*12:2\uFFFD|\uFFFD/*13:3\uFFFD|\uFFFD/*14:4\uFFFD]"}:CLOSE_BLOCK_IF:${"\uFFFD*14:4\uFFFD"}:START_BLOCK_IF_3: Aborted! ${"[\uFFFD/*11:1\uFFFD|\uFFFD/*12:2\uFFFD|\uFFFD/*13:3\uFFFD|\uFFFD/*14:4\uFFFD]"}:CLOSE_BLOCK_IF:`,n=N(n),[t,o,n,[1,"back"],["type","button","shButton","","routerLink","../",1,"small",3,"queryParams"],["type","button","shButton","",1,"small",3,"click"],[1,"status"]]},template:function(o,n){o&1&&(_(0,"app-status-bar"),a(1,"section")(2,"div",3)(3,"button",4),c(4,0),_(5,"sh-icon"),d(),F()(),a(6,"h3"),c(7,1),a(8,"button",5),L("click",function(){return n.abort()}),F(),d(),F(),a(9,"div",6),c(10,2),s(11,v,1,0),s(12,y,1,0),s(13,U,1,0),s(14,G,1,0),d(),F(),a(15,"code"),p(16,K,2,1,null,null,T),F()()),o&2&&(i(3),E("queryParams",R(5,k,n.stateId())),i(8),u(n.status()==="starting"?11:-1),i(),u(n.status()==="started"?12:-1),i(),u(n.status()==="finished"?13:-1),i(),u(n.status()==="aborted"?14:-1),i(2),I(n.messageLog()))},dependencies:[$,b,h,A],styles:["[_nghost-%COMP%]{display:block}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%;padding:2.5rem;gap:1.25rem}code[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--base-8),#000 70%);color:#fff;padding:2.5rem 2.5rem 2.5rem 1.5rem;border-radius:var(--shape-3);overflow:auto;white-space:pre}"],changeDetection:0})};export{g as default};