@nocobase/plugin-backups 2.2.0-beta.5 → 2.2.0-beta.6

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.
@@ -1,3 +1,11 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
1
9
  import React from 'react';
2
10
  import { BackupFile } from './BackupsTable';
3
11
  export declare const RestoreFromBackup: ({ backup }: {
@@ -1,2 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
1
9
  import React from 'react';
2
10
  export declare const RestoreFromLocal: () => React.JSX.Element;
@@ -7,4 +7,4 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
 
10
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@ant-design/icons"),require("react"),require("antd"),require("@formily/react"),require("@formily/shared"),require("@formily/antd-v5"),require("@formily/reactive"),require("ahooks"),require("@nocobase/client")):"function"==typeof define&&define.amd?define("@nocobase/plugin-backups",["@ant-design/icons","react","antd","@formily/react","@formily/shared","@formily/antd-v5","@formily/reactive","ahooks","@nocobase/client"],t):"object"==typeof exports?exports["@nocobase/plugin-backups"]=t(require("@ant-design/icons"),require("react"),require("antd"),require("@formily/react"),require("@formily/shared"),require("@formily/antd-v5"),require("@formily/reactive"),require("ahooks"),require("@nocobase/client")):e["@nocobase/plugin-backups"]=t(e["@ant-design/icons"],e.react,e.antd,e["@formily/react"],e["@formily/shared"],e["@formily/antd-v5"],e["@formily/reactive"],e.ahooks,e["@nocobase/client"])}(self,function(e,t,r,n,o,a,u,c,i){return function(){var s={6574:function(e,t,r){var n,o;void 0===(o="function"==typeof(n=function(){"use strict";function t(e,t,r){var n=new XMLHttpRequest;n.open("GET",e),n.responseType="blob",n.onload=function(){c(n.response,t,r)},n.onerror=function(){console.error("could not download file")},n.send()}function n(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(e){}return 200<=t.status&&299>=t.status}function o(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(r){var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var a="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof r.g&&r.g.global===r.g?r.g:void 0,u=a.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),c=a.saveAs||("object"!=typeof window||window!==a?function(){}:"download"in HTMLAnchorElement.prototype&&!u?function(e,r,u){var c=a.URL||a.webkitURL,i=document.createElement("a");i.download=r=r||e.name||"download",i.rel="noopener","string"==typeof e?(i.href=e,i.origin===location.origin?o(i):n(i.href)?t(e,r,u):o(i,i.target="_blank")):(i.href=c.createObjectURL(e),setTimeout(function(){c.revokeObjectURL(i.href)},4e4),setTimeout(function(){o(i)},0))}:"msSaveOrOpenBlob"in navigator?function(e,r,a){if(r=r||e.name||"download","string"!=typeof e){var u;navigator.msSaveOrOpenBlob((void 0===(u=a)?u={autoBom:!1}:"object"!=typeof u&&(console.warn("Deprecated: Expected third argument to be a object"),u={autoBom:!u}),u.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\uFEFF",e],{type:e.type}):e),r)}else if(n(e))t(e,r,a);else{var c=document.createElement("a");c.href=e,c.target="_blank",setTimeout(function(){o(c)})}}:function(e,r,n,o){if((o=o||open("","_blank"))&&(o.document.title=o.document.body.innerText="downloading..."),"string"==typeof e)return t(e,r,n);var c="application/octet-stream"===e.type,i=/constructor/i.test(a.HTMLElement)||a.safari,s=/CriOS\/[\d]+/.test(navigator.userAgent);if((s||c&&i||u)&&"u">typeof FileReader){var l=new FileReader;l.onloadend=function(){var e=l.result;e=s?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),o?o.location.href=e:location=e,o=null},l.readAsDataURL(e)}else{var f=a.URL||a.webkitURL,p=f.createObjectURL(e);o?o.location=p:location.href=p,o=null,setTimeout(function(){f.revokeObjectURL(p)},4e4)}});a.saveAs=c.saveAs=c,e.exports=c})?n.apply(t,[]):n)||(e.exports=o)},7737:function(e,t,r){e.exports=r(3789)(r(5036),"DataView")},5072:function(e,t,r){var n=r(9763),o=r(3879),a=r(8150),u=r(7106),c=r(938);function i(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}i.prototype.clear=n,i.prototype.delete=o,i.prototype.get=a,i.prototype.has=u,i.prototype.set=c,e.exports=i},5332:function(e,t,r){var n=r(3023),o=r(4747),a=r(9978),u=r(6734),c=r(4710);function i(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}i.prototype.clear=n,i.prototype.delete=o,i.prototype.get=a,i.prototype.has=u,i.prototype.set=c,e.exports=i},16:function(e,t,r){e.exports=r(3789)(r(5036),"Map")},1708:function(e,t,r){var n=r(615),o=r(9859),a=r(5170),u=r(8470),c=r(7646);function i(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}i.prototype.clear=n,i.prototype.delete=o,i.prototype.get=a,i.prototype.has=u,i.prototype.set=c,e.exports=i},1767:function(e,t,r){e.exports=r(3789)(r(5036),"Promise")},7802:function(e,t,r){e.exports=r(3789)(r(5036),"Set")},9310:function(e,t,r){var n=r(5332),o=r(9333),a=r(1893),u=r(9676),c=r(6536),i=r(3336);function s(e){var t=this.__data__=new n(e);this.size=t.size}s.prototype.clear=o,s.prototype.delete=a,s.prototype.get=u,s.prototype.has=c,s.prototype.set=i,e.exports=s},7432:function(e,t,r){e.exports=r(5036).Symbol},181:function(e,t,r){e.exports=r(5036).Uint8Array},20:function(e,t,r){e.exports=r(3789)(r(5036),"WeakMap")},2130:function(e){e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e}},5773:function(e){e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length,o=0,a=[];++r<n;){var u=e[r];t(u,r,e)&&(a[o++]=u)}return a}},6272:function(e,t,r){var n=r(8355),o=r(7933),a=r(9464),u=r(5752),c=r(1574),i=r(264),s=Object.prototype.hasOwnProperty;e.exports=function(e,t){var r=a(e),l=!r&&o(e),f=!r&&!l&&u(e),p=!r&&!l&&!f&&i(e),b=r||l||f||p,d=b?n(e.length,String):[],y=d.length;for(var v in e)(t||s.call(e,v))&&!(b&&("length"==v||f&&("offset"==v||"parent"==v)||p&&("buffer"==v||"byteLength"==v||"byteOffset"==v)||c(v,y)))&&d.push(v);return d}},1595:function(e){e.exports=function(e,t){for(var r=-1,n=t.length,o=e.length;++r<n;)e[o+r]=t[r];return e}},6312:function(e,t,r){var n=r(6571),o=r(9679),a=Object.prototype.hasOwnProperty;e.exports=function(e,t,r){var u=e[t];a.call(e,t)&&o(u,r)&&(void 0!==r||t in e)||n(e,t,r)}},5096:function(e,t,r){var n=r(9679);e.exports=function(e,t){for(var r=e.length;r--;)if(n(e[r][0],t))return r;return -1}},2516:function(e,t,r){var n=r(5634),o=r(9125);e.exports=function(e,t){return e&&n(t,o(t),e)}},5771:function(e,t,r){var n=r(5634),o=r(7798);e.exports=function(e,t){return e&&n(t,o(t),e)}},6571:function(e,t,r){var n=r(6514);e.exports=function(e,t,r){"__proto__"==t&&n?n(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}},9192:function(e,t,r){var n=r(9310),o=r(2130),a=r(6312),u=r(2516),c=r(5771),i=r(1733),s=r(5240),l=r(6752),f=r(4239),p=r(1679),b=r(6628),d=r(1344),y=r(7928),v=r(4290),h=r(6082),m=r(9464),g=r(5752),w=r(6043),x=r(6130),j=r(6885),O=r(9125),_=r(7798),k="[object Arguments]",S="[object Function]",A="[object Object]",E={};E[k]=E["[object Array]"]=E["[object ArrayBuffer]"]=E["[object DataView]"]=E["[object Boolean]"]=E["[object Date]"]=E["[object Float32Array]"]=E["[object Float64Array]"]=E["[object Int8Array]"]=E["[object Int16Array]"]=E["[object Int32Array]"]=E["[object Map]"]=E["[object Number]"]=E[A]=E["[object RegExp]"]=E["[object Set]"]=E["[object String]"]=E["[object Symbol]"]=E["[object Uint8Array]"]=E["[object Uint8ClampedArray]"]=E["[object Uint16Array]"]=E["[object Uint32Array]"]=!0,E["[object Error]"]=E[S]=E["[object WeakMap]"]=!1,e.exports=function e(t,r,P,C,I,T){var B,F=1&r,R=2&r,M=4&r;if(P&&(B=I?P(t,C,I,T):P(t)),void 0!==B)return B;if(!x(t))return t;var q=m(t);if(q){if(B=y(t),!F)return s(t,B)}else{var U=d(t),D=U==S||"[object GeneratorFunction]"==U;if(g(t))return i(t,F);if(U==A||U==k||D&&!I){if(B=R||D?{}:h(t),!F)return R?f(t,c(B,t)):l(t,u(B,t))}else{if(!E[U])return I?t:{};B=v(t,U,F)}}T||(T=new n);var z=T.get(t);if(z)return z;T.set(t,B),j(t)?t.forEach(function(n){B.add(e(n,r,P,n,t,T))}):w(t)&&t.forEach(function(n,o){B.set(o,e(n,r,P,o,t,T))});var L=M?R?b:p:R?_:O,$=q?void 0:L(t);return o($||t,function(n,o){$&&(n=t[o=n]),a(B,o,e(n,r,P,o,t,T))}),B}},6309:function(e,t,r){var n=r(6130),o=Object.create;e.exports=function(){function e(){}return function(t){if(!n(t))return{};if(o)return o(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}()},4090:function(e,t,r){var n=r(1595),o=r(9464);e.exports=function(e,t,r){var a=t(e);return o(e)?a:n(a,r(e))}},6077:function(e,t,r){var n=r(7432),o=r(4444),a=r(3371),u=n?n.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":u&&u in Object(e)?o(e):a(e)}},5301:function(e,t,r){var n=r(6077),o=r(4189);e.exports=function(e){return o(e)&&"[object Arguments]"==n(e)}},1939:function(e,t,r){var n=r(1344),o=r(4189);e.exports=function(e){return o(e)&&"[object Map]"==n(e)}},9950:function(e,t,r){var n=r(6553),o=r(3909),a=r(6130),u=r(2760),c=/^\[object .+?Constructor\]$/,i=Object.prototype,s=Function.prototype.toString,l=i.hasOwnProperty,f=RegExp("^"+s.call(l).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!a(e)||o(e))&&(n(e)?f:c).test(u(e))}},8685:function(e,t,r){var n=r(1344),o=r(4189);e.exports=function(e){return o(e)&&"[object Set]"==n(e)}},8912:function(e,t,r){var n=r(6077),o=r(5841),a=r(4189),u={};u["[object Float32Array]"]=u["[object Float64Array]"]=u["[object Int8Array]"]=u["[object Int16Array]"]=u["[object Int32Array]"]=u["[object Uint8Array]"]=u["[object Uint8ClampedArray]"]=u["[object Uint16Array]"]=u["[object Uint32Array]"]=!0,u["[object Arguments]"]=u["[object Array]"]=u["[object ArrayBuffer]"]=u["[object Boolean]"]=u["[object DataView]"]=u["[object Date]"]=u["[object Error]"]=u["[object Function]"]=u["[object Map]"]=u["[object Number]"]=u["[object Object]"]=u["[object RegExp]"]=u["[object Set]"]=u["[object String]"]=u["[object WeakMap]"]=!1,e.exports=function(e){return a(e)&&o(e.length)&&!!u[n(e)]}},4829:function(e,t,r){var n=r(2632),o=r(9963),a=Object.prototype.hasOwnProperty;e.exports=function(e){if(!n(e))return o(e);var t=[];for(var r in Object(e))a.call(e,r)&&"constructor"!=r&&t.push(r);return t}},9262:function(e,t,r){var n=r(6130),o=r(2632),a=r(312),u=Object.prototype.hasOwnProperty;e.exports=function(e){if(!n(e))return a(e);var t=o(e),r=[];for(var c in e)"constructor"==c&&(t||!u.call(e,c))||r.push(c);return r}},8355:function(e){e.exports=function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}},7746:function(e){e.exports=function(e){return function(t){return e(t)}}},990:function(e,t,r){var n=r(181);e.exports=function(e){var t=new e.constructor(e.byteLength);return new n(t).set(new n(e)),t}},1733:function(e,t,r){e=r.nmd(e);var n=r(5036),o=t&&!t.nodeType&&t,a=o&&e&&!e.nodeType&&e,u=a&&a.exports===o?n.Buffer:void 0,c=u?u.allocUnsafe:void 0;e.exports=function(e,t){if(t)return e.slice();var r=e.length,n=c?c(r):new e.constructor(r);return e.copy(n),n}},9842:function(e,t,r){var n=r(990);e.exports=function(e,t){var r=t?n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}},7054:function(e){var t=/\w*$/;e.exports=function(e){var r=new e.constructor(e.source,t.exec(e));return r.lastIndex=e.lastIndex,r}},6923:function(e,t,r){var n=r(7432),o=n?n.prototype:void 0,a=o?o.valueOf:void 0;e.exports=function(e){return a?Object(a.call(e)):{}}},1058:function(e,t,r){var n=r(990);e.exports=function(e,t){var r=t?n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}},5240:function(e){e.exports=function(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}},5634:function(e,t,r){var n=r(6312),o=r(6571);e.exports=function(e,t,r,a){var u=!r;r||(r={});for(var c=-1,i=t.length;++c<i;){var s=t[c],l=a?a(r[s],e[s],s,r,e):void 0;void 0===l&&(l=e[s]),u?o(r,s,l):n(r,s,l)}return r}},6752:function(e,t,r){var n=r(5634),o=r(1809);e.exports=function(e,t){return n(e,o(e),t)}},4239:function(e,t,r){var n=r(5634),o=r(9242);e.exports=function(e,t){return n(e,o(e),t)}},4780:function(e,t,r){e.exports=r(5036)["__core-js_shared__"]},6514:function(e,t,r){var n=r(3789);e.exports=function(){try{var e=n(Object,"defineProperty");return e({},"",{}),e}catch(e){}}()},8565:function(e,t,r){e.exports="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g},1679:function(e,t,r){var n=r(4090),o=r(1809),a=r(9125);e.exports=function(e){return n(e,a,o)}},6628:function(e,t,r){var n=r(4090),o=r(9242),a=r(7798);e.exports=function(e){return n(e,a,o)}},5930:function(e,t,r){var n=r(29);e.exports=function(e,t){var r=e.__data__;return n(t)?r["string"==typeof t?"string":"hash"]:r.map}},3789:function(e,t,r){var n=r(9950),o=r(8869);e.exports=function(e,t){var r=o(e,t);return n(r)?r:void 0}},4754:function(e,t,r){e.exports=r(2344)(Object.getPrototypeOf,Object)},4444:function(e,t,r){var n=r(7432),o=Object.prototype,a=o.hasOwnProperty,u=o.toString,c=n?n.toStringTag:void 0;e.exports=function(e){var t=a.call(e,c),r=e[c];try{e[c]=void 0;var n=!0}catch(e){}var o=u.call(e);return n&&(t?e[c]=r:delete e[c]),o}},1809:function(e,t,r){var n=r(5773),o=r(3864),a=Object.prototype.propertyIsEnumerable,u=Object.getOwnPropertySymbols;e.exports=u?function(e){return null==e?[]:n(u(e=Object(e)),function(t){return a.call(e,t)})}:o},9242:function(e,t,r){var n=r(1595),o=r(4754),a=r(1809),u=r(3864);e.exports=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)n(t,a(e)),e=o(e);return t}:u},1344:function(e,t,r){var n=r(7737),o=r(16),a=r(1767),u=r(7802),c=r(20),i=r(6077),s=r(2760),l="[object Map]",f="[object Promise]",p="[object Set]",b="[object WeakMap]",d="[object DataView]",y=s(n),v=s(o),h=s(a),m=s(u),g=s(c),w=i;(n&&w(new n(new ArrayBuffer(1)))!=d||o&&w(new o)!=l||a&&w(a.resolve())!=f||u&&w(new u)!=p||c&&w(new c)!=b)&&(w=function(e){var t=i(e),r="[object Object]"==t?e.constructor:void 0,n=r?s(r):"";if(n)switch(n){case y:return d;case v:return l;case h:return f;case m:return p;case g:return b}return t}),e.exports=w},8869:function(e){e.exports=function(e,t){return null==e?void 0:e[t]}},9763:function(e,t,r){var n=r(267);e.exports=function(){this.__data__=n?n(null):{},this.size=0}},3879:function(e){e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=!!t,t}},8150:function(e,t,r){var n=r(267),o=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(n){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return o.call(t,e)?t[e]:void 0}},7106:function(e,t,r){var n=r(267),o=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return n?void 0!==t[e]:o.call(t,e)}},938:function(e,t,r){var n=r(267);e.exports=function(e,t){var r=this.__data__;return this.size+=+!this.has(e),r[e]=n&&void 0===t?"__lodash_hash_undefined__":t,this}},7928:function(e){var t=Object.prototype.hasOwnProperty;e.exports=function(e){var r=e.length,n=new e.constructor(r);return r&&"string"==typeof e[0]&&t.call(e,"index")&&(n.index=e.index,n.input=e.input),n}},4290:function(e,t,r){var n=r(990),o=r(9842),a=r(7054),u=r(6923),c=r(1058);e.exports=function(e,t,r){var i=e.constructor;switch(t){case"[object ArrayBuffer]":return n(e);case"[object Boolean]":case"[object Date]":return new i(+e);case"[object DataView]":return o(e,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return c(e,r);case"[object Map]":case"[object Set]":return new i;case"[object Number]":case"[object String]":return new i(e);case"[object RegExp]":return a(e);case"[object Symbol]":return u(e)}}},6082:function(e,t,r){var n=r(6309),o=r(4754),a=r(2632);e.exports=function(e){return"function"!=typeof e.constructor||a(e)?{}:n(o(e))}},1574:function(e){var t=/^(?:0|[1-9]\d*)$/;e.exports=function(e,r){var n=typeof e;return!!(r=null==r?0x1fffffffffffff:r)&&("number"==n||"symbol"!=n&&t.test(e))&&e>-1&&e%1==0&&e<r}},29:function(e){e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},3909:function(e,t,r){var n,o=r(4780),a=(n=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"";e.exports=function(e){return!!a&&a in e}},2632:function(e){var t=Object.prototype;e.exports=function(e){var r=e&&e.constructor;return e===("function"==typeof r&&r.prototype||t)}},3023:function(e){e.exports=function(){this.__data__=[],this.size=0}},4747:function(e,t,r){var n=r(5096),o=Array.prototype.splice;e.exports=function(e){var t=this.__data__,r=n(t,e);return!(r<0)&&(r==t.length-1?t.pop():o.call(t,r,1),--this.size,!0)}},9978:function(e,t,r){var n=r(5096);e.exports=function(e){var t=this.__data__,r=n(t,e);return r<0?void 0:t[r][1]}},6734:function(e,t,r){var n=r(5096);e.exports=function(e){return n(this.__data__,e)>-1}},4710:function(e,t,r){var n=r(5096);e.exports=function(e,t){var r=this.__data__,o=n(r,e);return o<0?(++this.size,r.push([e,t])):r[o][1]=t,this}},615:function(e,t,r){var n=r(5072),o=r(5332),a=r(16);e.exports=function(){this.size=0,this.__data__={hash:new n,map:new(a||o),string:new n}}},9859:function(e,t,r){var n=r(5930);e.exports=function(e){var t=n(this,e).delete(e);return this.size-=!!t,t}},5170:function(e,t,r){var n=r(5930);e.exports=function(e){return n(this,e).get(e)}},8470:function(e,t,r){var n=r(5930);e.exports=function(e){return n(this,e).has(e)}},7646:function(e,t,r){var n=r(5930);e.exports=function(e,t){var r=n(this,e),o=r.size;return r.set(e,t),this.size+=+(r.size!=o),this}},267:function(e,t,r){e.exports=r(3789)(Object,"create")},9963:function(e,t,r){e.exports=r(2344)(Object.keys,Object)},312:function(e){e.exports=function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}},1172:function(e,t,r){e=r.nmd(e);var n=r(8565),o=t&&!t.nodeType&&t,a=o&&e&&!e.nodeType&&e,u=a&&a.exports===o&&n.process,c=function(){try{var e=a&&a.require&&a.require("util").types;if(e)return e;return u&&u.binding&&u.binding("util")}catch(e){}}();e.exports=c},3371:function(e){var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},2344:function(e){e.exports=function(e,t){return function(r){return e(t(r))}}},5036:function(e,t,r){var n=r(8565),o="object"==typeof self&&self&&self.Object===Object&&self;e.exports=n||o||Function("return this")()},9333:function(e,t,r){var n=r(5332);e.exports=function(){this.__data__=new n,this.size=0}},1893:function(e){e.exports=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}},9676:function(e){e.exports=function(e){return this.__data__.get(e)}},6536:function(e){e.exports=function(e){return this.__data__.has(e)}},3336:function(e,t,r){var n=r(5332),o=r(16),a=r(1708);e.exports=function(e,t){var r=this.__data__;if(r instanceof n){var u=r.__data__;if(!o||u.length<199)return u.push([e,t]),this.size=++r.size,this;r=this.__data__=new a(u)}return r.set(e,t),this.size=r.size,this}},2760:function(e){var t=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return t.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},1454:function(e,t,r){var n=r(9192);e.exports=function(e){return n(e,5)}},9679:function(e){e.exports=function(e,t){return e===t||e!=e&&t!=t}},7933:function(e,t,r){var n=r(5301),o=r(4189),a=Object.prototype,u=a.hasOwnProperty,c=a.propertyIsEnumerable;e.exports=n(function(){return arguments}())?n:function(e){return o(e)&&u.call(e,"callee")&&!c.call(e,"callee")}},9464:function(e){e.exports=Array.isArray},623:function(e,t,r){var n=r(6553),o=r(5841);e.exports=function(e){return null!=e&&o(e.length)&&!n(e)}},5752:function(e,t,r){e=r.nmd(e);var n=r(5036),o=r(8042),a=t&&!t.nodeType&&t,u=a&&e&&!e.nodeType&&e,c=u&&u.exports===a?n.Buffer:void 0,i=c?c.isBuffer:void 0;e.exports=i||o},6553:function(e,t,r){var n=r(6077),o=r(6130);e.exports=function(e){if(!o(e))return!1;var t=n(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},5841:function(e){e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=0x1fffffffffffff}},6043:function(e,t,r){var n=r(1939),o=r(7746),a=r(1172),u=a&&a.isMap;e.exports=u?o(u):n},6130:function(e){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},4189:function(e){e.exports=function(e){return null!=e&&"object"==typeof e}},6885:function(e,t,r){var n=r(8685),o=r(7746),a=r(1172),u=a&&a.isSet;e.exports=u?o(u):n},264:function(e,t,r){var n=r(8912),o=r(7746),a=r(1172),u=a&&a.isTypedArray;e.exports=u?o(u):n},9125:function(e,t,r){var n=r(6272),o=r(4829),a=r(623);e.exports=function(e){return a(e)?n(e):o(e)}},7798:function(e,t,r){var n=r(6272),o=r(9262),a=r(623);e.exports=function(e){return a(e)?n(e,!0):o(e)}},3864:function(e){e.exports=function(){return[]}},8042:function(e){e.exports=function(){return!1}},7375:function(t){"use strict";t.exports=e},418:function(e){"use strict";e.exports=a},5230:function(e){"use strict";e.exports=n},7992:function(e){"use strict";e.exports=u},166:function(e){"use strict";e.exports=o},3342:function(e){"use strict";e.exports=i},2625:function(e){"use strict";e.exports=c},2059:function(e){"use strict";e.exports=r},9155:function(e){"use strict";e.exports=t}},l={};function f(e){var t=l[e];if(void 0!==t)return t.exports;var r=l[e]={id:e,loaded:!1,exports:{}};return s[e].call(r.exports,r,r.exports,f),r.loaded=!0,r.exports}f.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(t,{a:t}),t},f.d=function(e,t){for(var r in t)f.o(t,r)&&!f.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},f.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),f.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},f.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.nmd=function(e){return e.paths=[],e.children||(e.children=[]),e},f.g.importScripts&&(p=f.g.location+"");var p,b=f.g.document;if(!p&&b&&(b.currentScript&&"SCRIPT"===b.currentScript.tagName.toUpperCase()&&(p=b.currentScript.src),!p)){var d=b.getElementsByTagName("script");if(d.length)for(var y=d.length-1;y>-1&&(!p||!/^http(s?):/.test(p));)p=d[y--].src}if(!p)throw Error("Automatic publicPath is not supported in this browser");f.p=p.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/");var v={};return!function(){"use strict";var e="",t="u">typeof document?document.currentScript:null;if(t&&t.src&&(e=t.src.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")),!e){var r=window.__webpack_public_path__||"";r&&("/"!==r.charAt(r.length-1)&&(r+="/"),e=r+"static/plugins/@nocobase/plugin-backups/dist/client/")}if(!e){var n=window.__nocobase_modern_client_prefix__||"v",o="/"+(n=String(n).replace(/^\/+|\/+$/g,"")||"v")+"/";if(!(e=window.__nocobase_public_path__||"")&&window.location&&window.location.pathname){var a=window.location.pathname||"/",u=a.indexOf(o);e=u>=0?a.slice(0,u+1):"/"}e&&(e=e.replace(RegExp("/"+n+"/?$"),"/")),e||(e="/"),"/"!==e.charAt(e.length-1)&&(e+="/"),e+="static/plugins/@nocobase/plugin-backups/dist/client/"}f.p=e}(),!function(){"use strict";f.r(v),f.d(v,{PluginBackupsClient:function(){return ei},default:function(){return es}});var e=f(3342),t=f(418),r=f(5230),n=f(7992),o=f(166),a=f(2059),u=f(1454),c=f.n(u),i=f(9155),s=f.n(i),l="backups";function p(){var t=(0,e.useApp)();return(0,i.useCallback)(function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t.i18n.t(e,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({ns:[l,"client"]},r))},[t])}function b(e,t,r,n,o,a,u){try{var c=e[a](u),i=c.value}catch(e){r(e);return}c.done?t(i):Promise.resolve(i).then(n,o)}function d(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function u(e){b(a,n,o,u,c,"next",e)}function c(e){b(a,n,o,u,c,"throw",e)}u(void 0)})}}function y(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function h(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){y(e,t,r[t])})}return e}function m(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(u,"next",{value:i(0)}),c(u,"throw",{value:i(1)}),c(u,"return",{value:i(2)}),"function"==typeof Symbol&&c(u,Symbol.iterator,{value:function(){return this}}),u;function i(c){return function(i){var s=[c,i];if(r)throw TypeError("Generator is already executing.");for(;u&&(u=0,s[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],n=0}finally{r=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}var g=function(t){var r,n,o=(0,e.useActionContext)().visible;return(0,e.useRequest)({url:"backupSettings:get/1"},(r=h({},t),n=n={refreshDeps:[o]},Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(n)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(n)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(n,e))}),r))},w=function(){var t=(0,e.useActionContext)().setVisible,n=(0,r.useForm)(),o=(0,e.useAPIClient)(),u=a.App.useApp().message,i=p(),s=(0,e.useRequest)({url:"backupSettings:get/1"}),l=s.data,f=s.mutate;return{run:function(){return d(function(){var e;return m(this,function(r){switch(r.label){case 0:return[4,n.submit()];case 1:return r.sent(),e=c()(n.values),f({data:h({},null==l?void 0:l.data,e)}),[4,o.request({url:"backupSettings:update/1",method:"post",data:e})];case 2:return r.sent(),u.success(i("Saved successfully")),t(!1),[2]}})})()}}},x={type:"object",properties:y({},(0,o.uid)(),{"x-decorator":"Form","x-decorator-props":{useValues:"{{ useBackupSettingsValues }}"},"x-component":"div",type:"void",properties:{setCron:{type:"void",title:'{{t("Automatic backup")}}',"x-component":"FormItem","x-component-props":{},properties:{scheduled:{required:!0,type:"boolean","x-component":"Checkbox","x-component-props":{children:'{{t("Run automatic backup on the cron schedule")}}'}},cron:{type:"string","x-component":"Cron","x-component-props":{clearButton:!1,defaultValue:"0 0 * * *",disabled:"{{!$values.scheduled}}"}}}},keep:{required:!0,type:"number",title:'{{t("Maximum number of backups")}}',description:'{{t("The maximum number of backups to keep, older backups are automatically deleted.")}}',"x-decorator":"FormItem","x-component":"InputNumber","x-component-props":{min:1}},storageId:{type:"string",title:'{{t("Sync backups to cloud storage")}}',"x-decorator":"FormItem","x-component":"Select","x-reactions":["{{useAsyncDataSource()}}"]},enableFilesBackup:{type:"boolean",title:'{{t("Backup local storage files")}}',"x-decorator":"FormItem","x-component":t.Switch},encryptionPassword:{type:"string",title:'{{t("Restore password")}}',description:'{{t("If a restore password is set, it must be entered when restoring the backup.")}}',"x-decorator":"FormItem","x-component":a.Input.Password,"x-component-props":{autoComplete:"new-password"}},footer1:{type:"void","x-component":"ActionBar","x-component-props":{layout:"one-column"},properties:{submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",htmlType:"submit",useAction:"{{ useSaveBackupSettingsValues }}"}}}}}})},j=function(){var t=(0,e.useAPIClient)(),r=p();return s().createElement(a.Card,{bordered:!1},s().createElement(e.SchemaComponent,{scope:{useSaveBackupSettingsValues:w,useBackupSettingsValues:g,useAsyncDataSource:function(){return function(e){return d(function(){var r;return m(this,function(o){switch(o.label){case 0:e.loading=!0,o.label=1;case 1:return o.trys.push([1,,3,4]),[4,t.request({url:"storages:list"})];case 2:return r=o.sent(),n.action.bound(function(){var t;e.dataSource=((null==r||null==(t=r.data)?void 0:t.data)||[]).filter(function(e){return"local"!==e.type}).map(function(e){return{label:e.title,value:e.id}})})(),[3,4];case 3:return e.loading=!1,[7];case 4:return[2]}})})()}},t:r},schema:x,components:{Cron:e.Cron,Action:e.Action,Form:e.Form,Input:e.Input,FormItem:e.FormItem,Select:e.Select,Checkbox:e.Checkbox}}))},O=f(6574),_=(0,i.createContext)(null),k=function(){var e=(0,i.useContext)(_);if(!e)throw Error("BackupsContext provider is missing");return e},S=f(2625),A=function(){var t=(0,e.useApp)();return{showCheckBackupMessage:(0,S.useMemoizedFn)(function(){t.maintaining=!0,t.error={command:{name:"APP Restoring"},message:"checking backup...",code:"APP_COMMANDING"}}),hideCheckBackupMessage:(0,S.useMemoizedFn)(function(){t.maintaining=!1})}};function E(e,t,r,n,o,a,u){try{var c=e[a](u),i=c.value}catch(e){r(e);return}c.done?t(i):Promise.resolve(i).then(n,o)}function P(){var t=(0,e.useAPIClient)(),r=s().useRef(null),n=a.App.useApp().notification,o=(0,e.useApp)().maintaining,u=A().hideCheckBackupMessage;return(0,i.useEffect)(function(){var e=setInterval(function(){var e;return(e=function(){var e;return function(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(u,"next",{value:i(0)}),c(u,"throw",{value:i(1)}),c(u,"return",{value:i(2)}),"function"==typeof Symbol&&c(u,Symbol.iterator,{value:function(){return this}}),u;function i(c){return function(i){var s=[c,i];if(r)throw TypeError("Generator is already executing.");for(;u&&(u=0,s[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],n=0}finally{r=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}(this,function(o){switch(o.label){case 0:if(!r.current)return[2];o.label=1;case 1:return o.trys.push([1,3,,4]),[4,t.request({url:"".concat(l,":restoreStatus"),method:"get",params:{task:r.current}})];case 2:return(e=o.sent().data.data).inProgress||(r.current=null),e.message&&(u(),n.error({message:e.message,role:"alert"})),[3,4];case 3:return console.error(o.sent()),[3,4];case 4:return[2]}})},function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function u(e){E(a,n,o,u,c,"next",e)}function c(e){E(a,n,o,u,c,"throw",e)}u(void 0)})})()},3e3);return function(){return clearInterval(e)}},[t,u,o,n]),r}var C=function(){var t,r,n=(0,e.useAPIClient)(),o=(0,S.useMemoizedFn)(function(){return n.request({url:"backups:appInfo"})}),a=(0,S.useRequest)(o,{cacheKey:"backupAppInfo",staleTime:-1}).data;return{database:{dialect:null==a||null==(t=a.data)?void 0:t.data.database.dialect,schema:null==a||null==(r=a.data)?void 0:r.data.database.schema}}};function I(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function T(e,t,r,n,o,a,u){try{var c=e[a](u),i=c.value}catch(e){r(e);return}c.done?t(i):Promise.resolve(i).then(n,o)}function B(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],u=!0,c=!1;try{for(o=o.call(e);!(u=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);u=!0);}catch(e){c=!0,n=e}finally{try{u||null==o.return||o.return()}finally{if(c)throw n}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return I(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return I(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var F=function(t){var r=t.backup,n=p(),o=B(s().useState(!1),2),u=o[0],c=o[1],i=B(s().useState(""),2),l=i[0],f=i[1],b=B(s().useState(!1),2),d=b[0],y=b[1],v=B(s().useState(""),2),h=v[0],m=v[1],g=(0,e.useAPIClient)(),w=P(),x=A().showCheckBackupMessage,j=C().database,O=j.schema,_=j.dialect,k=function(){c(!1),f(""),m("")};return s().createElement(s().Fragment,null,s().createElement("a",{type:"link",role:"button",onClick:function(){c(!0)}},n("Restore")),s().createElement(a.Modal,{title:n("Restore"),open:u,onCancel:k,footer:[s().createElement(a.Button,{key:"back",onClick:k},n("Cancel")),s().createElement(a.Button,{key:"submit",type:"primary",loading:d,onClick:function(){var e;return(e=function(){var e;return function(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(u,"next",{value:i(0)}),c(u,"throw",{value:i(1)}),c(u,"return",{value:i(2)}),"function"==typeof Symbol&&c(u,Symbol.iterator,{value:function(){return this}}),u;function i(c){return function(i){var s=[c,i];if(r)throw TypeError("Generator is already executing.");for(;u&&(u=0,s[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],n=0}finally{r=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}(this,function(t){switch(t.label){case 0:y(!0),t.label=1;case 1:return t.trys.push([1,3,,4]),[4,g.request({url:"backups:restore",method:"post",data:{name:r.name,password:l,dbSchema:h}})];case 2:return w.current=null==(e=t.sent().data.data)?void 0:e.task,x(),[3,4];case 3:return console.error(t.sent()),[3,4];case 4:return y(!1),c(!1),f(""),m(""),[2]}})},function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function u(e){T(a,n,o,u,c,"next",e)}function c(e){T(a,n,o,u,c,"throw",e)}u(void 0)})})()}},n("Submit"))]},s().createElement(a.Form,{layout:"vertical",autoComplete:"off"},"postgres"===_&&s().createElement(a.Form.Item,{label:s().createElement("strong",null,n("Confirm the application database schema")),help:n("Required if application database schema is different with the backup",{currentDbSchemaTips:O?"[".concat(O,"]"):""})},s().createElement(a.Input,{autoComplete:"new-password",value:h,onChange:function(e){return m(e.target.value)}})),s().createElement(a.Form.Item,{colon:!0,label:s().createElement("strong",null,n("Restore password"))},s().createElement(a.Input.Password,{value:l,autoComplete:"new-password",onChange:function(e){return f(e.target.value)}})))))};function R(e,t,r,n,o,a,u){try{var c=e[a](u),i=c.value}catch(e){r(e);return}c.done?t(i):Promise.resolve(i).then(n,o)}function M(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function u(e){R(a,n,o,u,c,"next",e)}function c(e){R(a,n,o,u,c,"throw",e)}u(void 0)})}}function q(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(u,"next",{value:i(0)}),c(u,"throw",{value:i(1)}),c(u,"return",{value:i(2)}),"function"==typeof Symbol&&c(u,Symbol.iterator,{value:function(){return this}}),u;function i(c){return function(i){var s=[c,i];if(r)throw TypeError("Generator is already executing.");for(;u&&(u=0,s[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],n=0}finally{r=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}var U=function(){var t=p(),r=(0,e.useAPIClient)(),n=(0,e.useCurrentAppInfo)(),o=a.App.useApp().modal,u=k(),c=u.data,i=u.loading,f=u.refreshAsync,b=(0,e.useRequest)({url:"".concat(l,":destroy"),method:"post"},{manual:!0}).runAsync,d=function(e){o.confirm({title:t("Delete record"),content:t("Are you sure you want to delete it?"),onOk:function(){return M(function(){return q(this,function(r){switch(r.label){case 0:return[4,b({filterByTk:e.name})];case 1:return r.sent(),[4,f()];case 2:return r.sent(),a.message.success(t("The deletion was successful.")),[2]}})})()}})},y=function(e){return e.inProgress?{colSpan:0}:{}},v=[{title:t("Backup list"),dataIndex:"name",width:400,onCell:function(e){return e.inProgress?{colSpan:4}:{}},render:function(e,r){return r.inProgress?s().createElement("div",{style:{color:"rgba(0, 0, 0, 0.88)"}},e,"(",t("Backing up"),"...)"):s().createElement("div",null,e)}},{title:t("File size"),dataIndex:"fileSize",onCell:y},{title:t("Created at"),dataIndex:"createdAt",onCell:y,render:function(t){return s().createElement(e.DatePicker.ReadPretty,{value:t,showTime:!0})}},{title:t("Actions"),dataIndex:"actions",onCell:y,render:function(e,o){return s().createElement(a.Space,{split:s().createElement(a.Divider,{type:"vertical"})},s().createElement(F,{backup:o}),s().createElement("a",{type:"link",onClick:function(){M(function(){var e,t,a,u;return q(this,function(c){switch(c.label){case 0:return t=null==n||null==(e=n.data)?void 0:e.name,a={filterByTk:o.name},t&&(a.__appName=t),[4,r.request({url:"backups:download",method:"get",params:a,responseType:"blob"})];case 1:return u=new Blob([c.sent().data]),(0,O.saveAs)(u,o.name),[2]}})})()}},t("Download")),s().createElement("a",{onClick:function(){return d(o)}},t("Delete")))}}];return s().createElement(a.Table,{rowKey:"name",dataSource:null==c?void 0:c.data,loading:i,columns:v})},D=f(7375),z=function(){var e=p(),t=k(),r=t.refresh,n=t.loading,o=n?D.LoadingOutlined:D.ReloadOutlined;return s().createElement(a.Button,{onClick:r,icon:s().createElement(o,null),disabled:n},e("Refresh"))};function L(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function $(e,t,r,n,o,a,u){try{var c=e[a](u),i=c.value}catch(e){r(e);return}c.done?t(i):Promise.resolve(i).then(n,o)}function N(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],u=!0,c=!1;try{for(o=o.call(e);!(u=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);u=!0);}catch(e){c=!0,n=e}finally{try{u||null==o.return||o.return()}finally{if(c)throw n}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return L(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return L(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var V=function(){var t=p(),r=a.App.useApp().notification,n=N((0,i.useState)(!1),2),o=n[0],u=n[1],c=N((0,i.useState)(!1),2),l=c[0],f=c[1],b=N((0,i.useState)(""),2),d=b[0],y=b[1],v=N((0,i.useState)(""),2),h=v[0],m=v[1],g=N((0,i.useState)(null),2),w=g[0],x=g[1],j=N((0,i.useState)([]),2),O=j[0],_=j[1],k=(0,e.useAPIClient)(),S=P(),E=A().showCheckBackupMessage,I=C().database,T=I.schema,B=I.dialect,F=function(){y(""),_([]),u(!1),m("")};return s().createElement(s().Fragment,null,s().createElement(a.Button,{icon:s().createElement(D.UploadOutlined,null),onClick:function(){u(!0)}},t("Restore backup from local")),s().createElement(a.Modal,{title:t("Restore backup from local"),open:o,onCancel:F,footer:[s().createElement(a.Button,{key:"back",onClick:F},t("Cancel")),s().createElement(a.Button,{key:"submit",type:"primary",loading:l,onClick:function(){var e;return(e=function(){var e,n;return function(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(u,"next",{value:i(0)}),c(u,"throw",{value:i(1)}),c(u,"return",{value:i(2)}),"function"==typeof Symbol&&c(u,Symbol.iterator,{value:function(){return this}}),u;function i(c){return function(i){var s=[c,i];if(r)throw TypeError("Generator is already executing.");for(;u&&(u=0,s[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],n=0}finally{r=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}(this,function(o){switch(o.label){case 0:if(!w)return r.error({message:t("Please select a backup file")}),[2];f(!0),(e=new FormData).append("file",w),e.append("password",d),e.append("dbSchema",h),o.label=1;case 1:return o.trys.push([1,3,,4]),[4,k.request({url:"backups:upload",method:"post",data:e})];case 2:return S.current=null==(n=o.sent().data.data)?void 0:n.task,E(),[3,4];case 3:return console.error(o.sent()),[3,4];case 4:return f(!1),u(!1),y(""),_([]),m(""),[2]}})},function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function u(e){$(a,n,o,u,c,"next",e)}function c(e){$(a,n,o,u,c,"throw",e)}u(void 0)})})()}},t("Submit"))]},s().createElement(a.Form,{layout:"vertical",autoComplete:"off"},s().createElement(a.Form.Item,null,s().createElement(a.Upload.Dragger,{onRemove:function(e){_([]),x(null)},fileList:O,multiple:!1,maxCount:1,beforeUpload:function(e){return x(e),_([e]),!1}},s().createElement("p",{className:"ant-upload-drag-icon"},s().createElement(D.InboxOutlined,null)),s().createElement("p",{className:"ant-upload-text"}," ",t("Click or drag file to this area to upload")))),"postgres"===B&&s().createElement(a.Form.Item,{label:s().createElement("strong",null,t("Confirm the application database schema")),help:t("Required if application database schema is different with the backup",{currentDbSchemaTips:T?"[".concat(T,"]"):""})},s().createElement(a.Input,{autoComplete:"new-password",value:h,onChange:function(e){return m(e.target.value)}})),s().createElement(a.Form.Item,{colon:!0,label:s().createElement("strong",null,t("Restore password"))},s().createElement(a.Input.Password,{autoComplete:"new-password",value:d,onChange:function(e){return y(e.target.value)}})))))};function G(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function W(e,t,r,n,o,a,u){try{var c=e[a](u),i=c.value}catch(e){r(e);return}c.done?t(i):Promise.resolve(i).then(n,o)}function H(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function u(e){W(a,n,o,u,c,"next",e)}function c(e){W(a,n,o,u,c,"throw",e)}u(void 0)})}}function K(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],u=!0,c=!1;try{for(o=o.call(e);!(u=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);u=!0);}catch(e){c=!0,n=e}finally{try{u||null==o.return||o.return()}finally{if(c)throw n}}return a}}(e,t)||J(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function X(e){return function(e){if(Array.isArray(e))return G(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||J(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function J(e,t){if(e){if("string"==typeof e)return G(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return G(e,t)}}function Q(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(u,"next",{value:i(0)}),c(u,"throw",{value:i(1)}),c(u,"return",{value:i(2)}),"function"==typeof Symbol&&c(u,Symbol.iterator,{value:function(){return this}}),u;function i(c){return function(i){var s=[c,i];if(r)throw TypeError("Generator is already executing.");for(;u&&(u=0,s[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],n=0}finally{r=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}var Y=function(){var t=K((0,i.useState)([]),2),r=t[0],n=t[1],o=p(),u=a.App.useApp(),c=u.message,f=u.notification,b=u.modal,d=k().refreshAsync,y=(0,e.useRequest)({url:"".concat(l,":create"),method:"post"},{manual:!0,throttleWait:1e3}),v=y.runAsync,h=y.loading,m=(0,e.useRequest)({url:"".concat(l,":taskStatus"),method:"get"},{manual:!0}).runAsync;(0,i.useEffect)(function(){if(0!==r.length){var e=setInterval(function(){return H(function(){var e,t,a,u,i,s,l,p,b,y,v,h;return Q(this,function(g){switch(g.label){case 0:return[4,m({names:r})];case 1:e=g.sent(),t=[],a=[],u=!0,i=!1,s=void 0;try{for(l=Object.entries(e.data)[Symbol.iterator]();!(u=(p=l.next()).done);u=!0)y=(b=K(p.value,2))[0],(v=b[1]).inProgress||(v.message?(a.push(y),f.error({message:v.message,role:"alert"})):t.push(y))}catch(e){i=!0,s=e}finally{try{u||null==l.return||l.return()}finally{if(i)throw s}}if(h=X(t).concat(X(a)),!(t.length>0))return[3,3];return c.success(o("NEW_BACKUPS_CREATED",{names:t.join(", ")})),[4,d()];case 2:g.sent(),g.label=3;case 3:return h.length>0&&n(r.filter(function(e){return!h.includes(e)})),[2]}})})()},3e3);return function(){clearInterval(e)}}},[r,c,f,m,d,o]);var g=h?D.LoadingOutlined:D.PlusOutlined;return s().createElement(s().Fragment,null,s().createElement(a.Button,{icon:s().createElement(g,null),disabled:h,type:"primary",onClick:function(){return H(function(){return Q(this,function(e){return b.confirm({title:o("New backup"),content:o("Are you sure you want to create new backup?"),onOk:function(){return H(function(){return Q(this,function(e){switch(e.label){case 0:return[4,H(function(){var e;return Q(this,function(t){switch(t.label){case 0:return[4,v()];case 1:return e=t.sent(),n(X(r).concat([e.data.name])),c.success(o("New backup operation started")),[4,d()];case 2:return t.sent(),[2]}})})()];case 1:return e.sent(),[2]}})})()}}),[2]})})()}},o("New backup")))},Z=function(){var t=(0,e.useRequest)({url:"".concat(l,":list"),method:"get"});return s().createElement(_.Provider,{value:t},s().createElement(a.Card,{bordered:!1},s().createElement(e.Space,{style:{float:"right",marginBottom:16}},s().createElement(z,null),s().createElement(V,null),s().createElement(Y,null)),s().createElement(U,null)))};function ee(e,t,r,n,o,a,u){try{var c=e[a](u),i=c.value}catch(e){r(e);return}c.done?t(i):Promise.resolve(i).then(n,o)}function et(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function u(e){ee(a,n,o,u,c,"next",e)}function c(e){ee(a,n,o,u,c,"throw",e)}u(void 0)})}}function er(e,t,r){return(er=eu()?Reflect.construct:function(e,t,r){var n=[null];n.push.apply(n,t);var o=new(Function.bind.apply(e,n));return r&&eo(o,r.prototype),o}).apply(null,arguments)}function en(e){return(en=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function eo(e,t){return(eo=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ea(e){var t="function"==typeof Map?new Map:void 0;return(ea=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return er(e,arguments,en(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),eo(r,e)})(e)}function eu(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(eu=function(){return!!e})()}function ec(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(u,"next",{value:i(0)}),c(u,"throw",{value:i(1)}),c(u,"return",{value:i(2)}),"function"==typeof Symbol&&c(u,Symbol.iterator,{value:function(){return this}}),u;function i(c){return function(i){var s=[c,i];if(r)throw TypeError("Generator is already executing.");for(;u&&(u=0,s[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],n=0}finally{r=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}var ei=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function r(){var e,t;if(!(this instanceof r))throw TypeError("Cannot call a class as a function");return e=r,t=arguments,e=en(e),function(e,t){var r;if(t&&("object"==((r=t)&&"u">typeof Symbol&&r.constructor===Symbol?"symbol":typeof r)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,eu()?Reflect.construct(e,t||[],en(this).constructor):e.apply(this,t))}return r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),e&&eo(r,e),t=[{key:"afterAdd",value:function(){return et(function(){return ec(this,function(e){return[2]})})()}},{key:"beforeLoad",value:function(){return et(function(){return ec(this,function(e){return[2]})})()}},{key:"load",value:function(){return et(function(){return ec(this,function(e){return this.app.pluginSettingsManager.add("".concat(l),{title:this.t("Backup manager"),icon:"CloudServerOutlined"}),this.app.pluginSettingsManager.add("".concat(l,".list"),{title:this.t("Backup list"),icon:"CloudServerOutlined",Component:Z,aclSnippet:"pm.".concat(l)}),this.app.pluginSettingsManager.add("".concat(l,".settings"),{title:this.t("Settings"),icon:"SettingOutlined",Component:j,aclSnippet:"pm.".concat(l,".settings")}),[2]})}).call(this)}}],function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(r.prototype,t),r}(ea(e.Plugin)),es=ei}(),v}()});
10
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@ant-design/icons"),require("react"),require("antd"),require("@formily/react"),require("@formily/shared"),require("@formily/antd-v5"),require("@formily/reactive"),require("ahooks"),require("@nocobase/client")):"function"==typeof define&&define.amd?define("@nocobase/plugin-backups",["@ant-design/icons","react","antd","@formily/react","@formily/shared","@formily/antd-v5","@formily/reactive","ahooks","@nocobase/client"],t):"object"==typeof exports?exports["@nocobase/plugin-backups"]=t(require("@ant-design/icons"),require("react"),require("antd"),require("@formily/react"),require("@formily/shared"),require("@formily/antd-v5"),require("@formily/reactive"),require("ahooks"),require("@nocobase/client")):e["@nocobase/plugin-backups"]=t(e["@ant-design/icons"],e.react,e.antd,e["@formily/react"],e["@formily/shared"],e["@formily/antd-v5"],e["@formily/reactive"],e.ahooks,e["@nocobase/client"])}(self,function(e,t,r,n,o,a,u,c,i){return function(){var s={6574:function(e,t,r){var n,o;void 0===(o="function"==typeof(n=function(){"use strict";function t(e,t,r){var n=new XMLHttpRequest;n.open("GET",e),n.responseType="blob",n.onload=function(){c(n.response,t,r)},n.onerror=function(){console.error("could not download file")},n.send()}function n(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(e){}return 200<=t.status&&299>=t.status}function o(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(r){var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var a="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof r.g&&r.g.global===r.g?r.g:void 0,u=a.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),c=a.saveAs||("object"!=typeof window||window!==a?function(){}:"download"in HTMLAnchorElement.prototype&&!u?function(e,r,u){var c=a.URL||a.webkitURL,i=document.createElement("a");i.download=r=r||e.name||"download",i.rel="noopener","string"==typeof e?(i.href=e,i.origin===location.origin?o(i):n(i.href)?t(e,r,u):o(i,i.target="_blank")):(i.href=c.createObjectURL(e),setTimeout(function(){c.revokeObjectURL(i.href)},4e4),setTimeout(function(){o(i)},0))}:"msSaveOrOpenBlob"in navigator?function(e,r,a){if(r=r||e.name||"download","string"!=typeof e){var u;navigator.msSaveOrOpenBlob((void 0===(u=a)?u={autoBom:!1}:"object"!=typeof u&&(console.warn("Deprecated: Expected third argument to be a object"),u={autoBom:!u}),u.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\uFEFF",e],{type:e.type}):e),r)}else if(n(e))t(e,r,a);else{var c=document.createElement("a");c.href=e,c.target="_blank",setTimeout(function(){o(c)})}}:function(e,r,n,o){if((o=o||open("","_blank"))&&(o.document.title=o.document.body.innerText="downloading..."),"string"==typeof e)return t(e,r,n);var c="application/octet-stream"===e.type,i=/constructor/i.test(a.HTMLElement)||a.safari,s=/CriOS\/[\d]+/.test(navigator.userAgent);if((s||c&&i||u)&&"u">typeof FileReader){var l=new FileReader;l.onloadend=function(){var e=l.result;e=s?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),o?o.location.href=e:location=e,o=null},l.readAsDataURL(e)}else{var f=a.URL||a.webkitURL,p=f.createObjectURL(e);o?o.location=p:location.href=p,o=null,setTimeout(function(){f.revokeObjectURL(p)},4e4)}});a.saveAs=c.saveAs=c,e.exports=c})?n.apply(t,[]):n)||(e.exports=o)},7737:function(e,t,r){e.exports=r(3789)(r(5036),"DataView")},5072:function(e,t,r){var n=r(9763),o=r(3879),a=r(8150),u=r(7106),c=r(938);function i(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}i.prototype.clear=n,i.prototype.delete=o,i.prototype.get=a,i.prototype.has=u,i.prototype.set=c,e.exports=i},5332:function(e,t,r){var n=r(3023),o=r(4747),a=r(9978),u=r(6734),c=r(4710);function i(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}i.prototype.clear=n,i.prototype.delete=o,i.prototype.get=a,i.prototype.has=u,i.prototype.set=c,e.exports=i},16:function(e,t,r){e.exports=r(3789)(r(5036),"Map")},1708:function(e,t,r){var n=r(615),o=r(9859),a=r(5170),u=r(8470),c=r(7646);function i(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}i.prototype.clear=n,i.prototype.delete=o,i.prototype.get=a,i.prototype.has=u,i.prototype.set=c,e.exports=i},1767:function(e,t,r){e.exports=r(3789)(r(5036),"Promise")},7802:function(e,t,r){e.exports=r(3789)(r(5036),"Set")},9310:function(e,t,r){var n=r(5332),o=r(9333),a=r(1893),u=r(9676),c=r(6536),i=r(3336);function s(e){var t=this.__data__=new n(e);this.size=t.size}s.prototype.clear=o,s.prototype.delete=a,s.prototype.get=u,s.prototype.has=c,s.prototype.set=i,e.exports=s},7432:function(e,t,r){e.exports=r(5036).Symbol},181:function(e,t,r){e.exports=r(5036).Uint8Array},20:function(e,t,r){e.exports=r(3789)(r(5036),"WeakMap")},2130:function(e){e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e}},5773:function(e){e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length,o=0,a=[];++r<n;){var u=e[r];t(u,r,e)&&(a[o++]=u)}return a}},6272:function(e,t,r){var n=r(8355),o=r(7933),a=r(9464),u=r(5752),c=r(1574),i=r(264),s=Object.prototype.hasOwnProperty;e.exports=function(e,t){var r=a(e),l=!r&&o(e),f=!r&&!l&&u(e),p=!r&&!l&&!f&&i(e),b=r||l||f||p,d=b?n(e.length,String):[],y=d.length;for(var v in e)(t||s.call(e,v))&&!(b&&("length"==v||f&&("offset"==v||"parent"==v)||p&&("buffer"==v||"byteLength"==v||"byteOffset"==v)||c(v,y)))&&d.push(v);return d}},1595:function(e){e.exports=function(e,t){for(var r=-1,n=t.length,o=e.length;++r<n;)e[o+r]=t[r];return e}},6312:function(e,t,r){var n=r(6571),o=r(9679),a=Object.prototype.hasOwnProperty;e.exports=function(e,t,r){var u=e[t];a.call(e,t)&&o(u,r)&&(void 0!==r||t in e)||n(e,t,r)}},5096:function(e,t,r){var n=r(9679);e.exports=function(e,t){for(var r=e.length;r--;)if(n(e[r][0],t))return r;return -1}},2516:function(e,t,r){var n=r(5634),o=r(9125);e.exports=function(e,t){return e&&n(t,o(t),e)}},5771:function(e,t,r){var n=r(5634),o=r(7798);e.exports=function(e,t){return e&&n(t,o(t),e)}},6571:function(e,t,r){var n=r(6514);e.exports=function(e,t,r){"__proto__"==t&&n?n(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}},9192:function(e,t,r){var n=r(9310),o=r(2130),a=r(6312),u=r(2516),c=r(5771),i=r(1733),s=r(5240),l=r(6752),f=r(4239),p=r(1679),b=r(6628),d=r(1344),y=r(7928),v=r(4290),h=r(6082),m=r(9464),g=r(5752),w=r(6043),x=r(6130),j=r(6885),O=r(9125),k=r(7798),_="[object Arguments]",S="[object Function]",A="[object Object]",E={};E[_]=E["[object Array]"]=E["[object ArrayBuffer]"]=E["[object DataView]"]=E["[object Boolean]"]=E["[object Date]"]=E["[object Float32Array]"]=E["[object Float64Array]"]=E["[object Int8Array]"]=E["[object Int16Array]"]=E["[object Int32Array]"]=E["[object Map]"]=E["[object Number]"]=E[A]=E["[object RegExp]"]=E["[object Set]"]=E["[object String]"]=E["[object Symbol]"]=E["[object Uint8Array]"]=E["[object Uint8ClampedArray]"]=E["[object Uint16Array]"]=E["[object Uint32Array]"]=!0,E["[object Error]"]=E[S]=E["[object WeakMap]"]=!1,e.exports=function e(t,r,P,C,I,T){var B,F=1&r,R=2&r,M=4&r;if(P&&(B=I?P(t,C,I,T):P(t)),void 0!==B)return B;if(!x(t))return t;var q=m(t);if(q){if(B=y(t),!F)return s(t,B)}else{var U=d(t),D=U==S||"[object GeneratorFunction]"==U;if(g(t))return i(t,F);if(U==A||U==_||D&&!I){if(B=R||D?{}:h(t),!F)return R?f(t,c(B,t)):l(t,u(B,t))}else{if(!E[U])return I?t:{};B=v(t,U,F)}}T||(T=new n);var z=T.get(t);if(z)return z;T.set(t,B),j(t)?t.forEach(function(n){B.add(e(n,r,P,n,t,T))}):w(t)&&t.forEach(function(n,o){B.set(o,e(n,r,P,o,t,T))});var L=M?R?b:p:R?k:O,$=q?void 0:L(t);return o($||t,function(n,o){$&&(n=t[o=n]),a(B,o,e(n,r,P,o,t,T))}),B}},6309:function(e,t,r){var n=r(6130),o=Object.create;e.exports=function(){function e(){}return function(t){if(!n(t))return{};if(o)return o(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}()},4090:function(e,t,r){var n=r(1595),o=r(9464);e.exports=function(e,t,r){var a=t(e);return o(e)?a:n(a,r(e))}},6077:function(e,t,r){var n=r(7432),o=r(4444),a=r(3371),u=n?n.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":u&&u in Object(e)?o(e):a(e)}},5301:function(e,t,r){var n=r(6077),o=r(4189);e.exports=function(e){return o(e)&&"[object Arguments]"==n(e)}},1939:function(e,t,r){var n=r(1344),o=r(4189);e.exports=function(e){return o(e)&&"[object Map]"==n(e)}},9950:function(e,t,r){var n=r(6553),o=r(3909),a=r(6130),u=r(2760),c=/^\[object .+?Constructor\]$/,i=Object.prototype,s=Function.prototype.toString,l=i.hasOwnProperty,f=RegExp("^"+s.call(l).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!a(e)||o(e))&&(n(e)?f:c).test(u(e))}},8685:function(e,t,r){var n=r(1344),o=r(4189);e.exports=function(e){return o(e)&&"[object Set]"==n(e)}},8912:function(e,t,r){var n=r(6077),o=r(5841),a=r(4189),u={};u["[object Float32Array]"]=u["[object Float64Array]"]=u["[object Int8Array]"]=u["[object Int16Array]"]=u["[object Int32Array]"]=u["[object Uint8Array]"]=u["[object Uint8ClampedArray]"]=u["[object Uint16Array]"]=u["[object Uint32Array]"]=!0,u["[object Arguments]"]=u["[object Array]"]=u["[object ArrayBuffer]"]=u["[object Boolean]"]=u["[object DataView]"]=u["[object Date]"]=u["[object Error]"]=u["[object Function]"]=u["[object Map]"]=u["[object Number]"]=u["[object Object]"]=u["[object RegExp]"]=u["[object Set]"]=u["[object String]"]=u["[object WeakMap]"]=!1,e.exports=function(e){return a(e)&&o(e.length)&&!!u[n(e)]}},4829:function(e,t,r){var n=r(2632),o=r(9963),a=Object.prototype.hasOwnProperty;e.exports=function(e){if(!n(e))return o(e);var t=[];for(var r in Object(e))a.call(e,r)&&"constructor"!=r&&t.push(r);return t}},9262:function(e,t,r){var n=r(6130),o=r(2632),a=r(312),u=Object.prototype.hasOwnProperty;e.exports=function(e){if(!n(e))return a(e);var t=o(e),r=[];for(var c in e)"constructor"==c&&(t||!u.call(e,c))||r.push(c);return r}},8355:function(e){e.exports=function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}},7746:function(e){e.exports=function(e){return function(t){return e(t)}}},990:function(e,t,r){var n=r(181);e.exports=function(e){var t=new e.constructor(e.byteLength);return new n(t).set(new n(e)),t}},1733:function(e,t,r){e=r.nmd(e);var n=r(5036),o=t&&!t.nodeType&&t,a=o&&e&&!e.nodeType&&e,u=a&&a.exports===o?n.Buffer:void 0,c=u?u.allocUnsafe:void 0;e.exports=function(e,t){if(t)return e.slice();var r=e.length,n=c?c(r):new e.constructor(r);return e.copy(n),n}},9842:function(e,t,r){var n=r(990);e.exports=function(e,t){var r=t?n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}},7054:function(e){var t=/\w*$/;e.exports=function(e){var r=new e.constructor(e.source,t.exec(e));return r.lastIndex=e.lastIndex,r}},6923:function(e,t,r){var n=r(7432),o=n?n.prototype:void 0,a=o?o.valueOf:void 0;e.exports=function(e){return a?Object(a.call(e)):{}}},1058:function(e,t,r){var n=r(990);e.exports=function(e,t){var r=t?n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}},5240:function(e){e.exports=function(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}},5634:function(e,t,r){var n=r(6312),o=r(6571);e.exports=function(e,t,r,a){var u=!r;r||(r={});for(var c=-1,i=t.length;++c<i;){var s=t[c],l=a?a(r[s],e[s],s,r,e):void 0;void 0===l&&(l=e[s]),u?o(r,s,l):n(r,s,l)}return r}},6752:function(e,t,r){var n=r(5634),o=r(1809);e.exports=function(e,t){return n(e,o(e),t)}},4239:function(e,t,r){var n=r(5634),o=r(9242);e.exports=function(e,t){return n(e,o(e),t)}},4780:function(e,t,r){e.exports=r(5036)["__core-js_shared__"]},6514:function(e,t,r){var n=r(3789);e.exports=function(){try{var e=n(Object,"defineProperty");return e({},"",{}),e}catch(e){}}()},8565:function(e,t,r){e.exports="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g},1679:function(e,t,r){var n=r(4090),o=r(1809),a=r(9125);e.exports=function(e){return n(e,a,o)}},6628:function(e,t,r){var n=r(4090),o=r(9242),a=r(7798);e.exports=function(e){return n(e,a,o)}},5930:function(e,t,r){var n=r(29);e.exports=function(e,t){var r=e.__data__;return n(t)?r["string"==typeof t?"string":"hash"]:r.map}},3789:function(e,t,r){var n=r(9950),o=r(8869);e.exports=function(e,t){var r=o(e,t);return n(r)?r:void 0}},4754:function(e,t,r){e.exports=r(2344)(Object.getPrototypeOf,Object)},4444:function(e,t,r){var n=r(7432),o=Object.prototype,a=o.hasOwnProperty,u=o.toString,c=n?n.toStringTag:void 0;e.exports=function(e){var t=a.call(e,c),r=e[c];try{e[c]=void 0;var n=!0}catch(e){}var o=u.call(e);return n&&(t?e[c]=r:delete e[c]),o}},1809:function(e,t,r){var n=r(5773),o=r(3864),a=Object.prototype.propertyIsEnumerable,u=Object.getOwnPropertySymbols;e.exports=u?function(e){return null==e?[]:n(u(e=Object(e)),function(t){return a.call(e,t)})}:o},9242:function(e,t,r){var n=r(1595),o=r(4754),a=r(1809),u=r(3864);e.exports=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)n(t,a(e)),e=o(e);return t}:u},1344:function(e,t,r){var n=r(7737),o=r(16),a=r(1767),u=r(7802),c=r(20),i=r(6077),s=r(2760),l="[object Map]",f="[object Promise]",p="[object Set]",b="[object WeakMap]",d="[object DataView]",y=s(n),v=s(o),h=s(a),m=s(u),g=s(c),w=i;(n&&w(new n(new ArrayBuffer(1)))!=d||o&&w(new o)!=l||a&&w(a.resolve())!=f||u&&w(new u)!=p||c&&w(new c)!=b)&&(w=function(e){var t=i(e),r="[object Object]"==t?e.constructor:void 0,n=r?s(r):"";if(n)switch(n){case y:return d;case v:return l;case h:return f;case m:return p;case g:return b}return t}),e.exports=w},8869:function(e){e.exports=function(e,t){return null==e?void 0:e[t]}},9763:function(e,t,r){var n=r(267);e.exports=function(){this.__data__=n?n(null):{},this.size=0}},3879:function(e){e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=!!t,t}},8150:function(e,t,r){var n=r(267),o=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(n){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return o.call(t,e)?t[e]:void 0}},7106:function(e,t,r){var n=r(267),o=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return n?void 0!==t[e]:o.call(t,e)}},938:function(e,t,r){var n=r(267);e.exports=function(e,t){var r=this.__data__;return this.size+=+!this.has(e),r[e]=n&&void 0===t?"__lodash_hash_undefined__":t,this}},7928:function(e){var t=Object.prototype.hasOwnProperty;e.exports=function(e){var r=e.length,n=new e.constructor(r);return r&&"string"==typeof e[0]&&t.call(e,"index")&&(n.index=e.index,n.input=e.input),n}},4290:function(e,t,r){var n=r(990),o=r(9842),a=r(7054),u=r(6923),c=r(1058);e.exports=function(e,t,r){var i=e.constructor;switch(t){case"[object ArrayBuffer]":return n(e);case"[object Boolean]":case"[object Date]":return new i(+e);case"[object DataView]":return o(e,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return c(e,r);case"[object Map]":case"[object Set]":return new i;case"[object Number]":case"[object String]":return new i(e);case"[object RegExp]":return a(e);case"[object Symbol]":return u(e)}}},6082:function(e,t,r){var n=r(6309),o=r(4754),a=r(2632);e.exports=function(e){return"function"!=typeof e.constructor||a(e)?{}:n(o(e))}},1574:function(e){var t=/^(?:0|[1-9]\d*)$/;e.exports=function(e,r){var n=typeof e;return!!(r=null==r?0x1fffffffffffff:r)&&("number"==n||"symbol"!=n&&t.test(e))&&e>-1&&e%1==0&&e<r}},29:function(e){e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},3909:function(e,t,r){var n,o=r(4780),a=(n=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"";e.exports=function(e){return!!a&&a in e}},2632:function(e){var t=Object.prototype;e.exports=function(e){var r=e&&e.constructor;return e===("function"==typeof r&&r.prototype||t)}},3023:function(e){e.exports=function(){this.__data__=[],this.size=0}},4747:function(e,t,r){var n=r(5096),o=Array.prototype.splice;e.exports=function(e){var t=this.__data__,r=n(t,e);return!(r<0)&&(r==t.length-1?t.pop():o.call(t,r,1),--this.size,!0)}},9978:function(e,t,r){var n=r(5096);e.exports=function(e){var t=this.__data__,r=n(t,e);return r<0?void 0:t[r][1]}},6734:function(e,t,r){var n=r(5096);e.exports=function(e){return n(this.__data__,e)>-1}},4710:function(e,t,r){var n=r(5096);e.exports=function(e,t){var r=this.__data__,o=n(r,e);return o<0?(++this.size,r.push([e,t])):r[o][1]=t,this}},615:function(e,t,r){var n=r(5072),o=r(5332),a=r(16);e.exports=function(){this.size=0,this.__data__={hash:new n,map:new(a||o),string:new n}}},9859:function(e,t,r){var n=r(5930);e.exports=function(e){var t=n(this,e).delete(e);return this.size-=!!t,t}},5170:function(e,t,r){var n=r(5930);e.exports=function(e){return n(this,e).get(e)}},8470:function(e,t,r){var n=r(5930);e.exports=function(e){return n(this,e).has(e)}},7646:function(e,t,r){var n=r(5930);e.exports=function(e,t){var r=n(this,e),o=r.size;return r.set(e,t),this.size+=+(r.size!=o),this}},267:function(e,t,r){e.exports=r(3789)(Object,"create")},9963:function(e,t,r){e.exports=r(2344)(Object.keys,Object)},312:function(e){e.exports=function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}},1172:function(e,t,r){e=r.nmd(e);var n=r(8565),o=t&&!t.nodeType&&t,a=o&&e&&!e.nodeType&&e,u=a&&a.exports===o&&n.process,c=function(){try{var e=a&&a.require&&a.require("util").types;if(e)return e;return u&&u.binding&&u.binding("util")}catch(e){}}();e.exports=c},3371:function(e){var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},2344:function(e){e.exports=function(e,t){return function(r){return e(t(r))}}},5036:function(e,t,r){var n=r(8565),o="object"==typeof self&&self&&self.Object===Object&&self;e.exports=n||o||Function("return this")()},9333:function(e,t,r){var n=r(5332);e.exports=function(){this.__data__=new n,this.size=0}},1893:function(e){e.exports=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}},9676:function(e){e.exports=function(e){return this.__data__.get(e)}},6536:function(e){e.exports=function(e){return this.__data__.has(e)}},3336:function(e,t,r){var n=r(5332),o=r(16),a=r(1708);e.exports=function(e,t){var r=this.__data__;if(r instanceof n){var u=r.__data__;if(!o||u.length<199)return u.push([e,t]),this.size=++r.size,this;r=this.__data__=new a(u)}return r.set(e,t),this.size=r.size,this}},2760:function(e){var t=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return t.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},1454:function(e,t,r){var n=r(9192);e.exports=function(e){return n(e,5)}},9679:function(e){e.exports=function(e,t){return e===t||e!=e&&t!=t}},7933:function(e,t,r){var n=r(5301),o=r(4189),a=Object.prototype,u=a.hasOwnProperty,c=a.propertyIsEnumerable;e.exports=n(function(){return arguments}())?n:function(e){return o(e)&&u.call(e,"callee")&&!c.call(e,"callee")}},9464:function(e){e.exports=Array.isArray},623:function(e,t,r){var n=r(6553),o=r(5841);e.exports=function(e){return null!=e&&o(e.length)&&!n(e)}},5752:function(e,t,r){e=r.nmd(e);var n=r(5036),o=r(8042),a=t&&!t.nodeType&&t,u=a&&e&&!e.nodeType&&e,c=u&&u.exports===a?n.Buffer:void 0,i=c?c.isBuffer:void 0;e.exports=i||o},6553:function(e,t,r){var n=r(6077),o=r(6130);e.exports=function(e){if(!o(e))return!1;var t=n(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},5841:function(e){e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=0x1fffffffffffff}},6043:function(e,t,r){var n=r(1939),o=r(7746),a=r(1172),u=a&&a.isMap;e.exports=u?o(u):n},6130:function(e){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},4189:function(e){e.exports=function(e){return null!=e&&"object"==typeof e}},6885:function(e,t,r){var n=r(8685),o=r(7746),a=r(1172),u=a&&a.isSet;e.exports=u?o(u):n},264:function(e,t,r){var n=r(8912),o=r(7746),a=r(1172),u=a&&a.isTypedArray;e.exports=u?o(u):n},9125:function(e,t,r){var n=r(6272),o=r(4829),a=r(623);e.exports=function(e){return a(e)?n(e):o(e)}},7798:function(e,t,r){var n=r(6272),o=r(9262),a=r(623);e.exports=function(e){return a(e)?n(e,!0):o(e)}},3864:function(e){e.exports=function(){return[]}},8042:function(e){e.exports=function(){return!1}},7375:function(t){"use strict";t.exports=e},418:function(e){"use strict";e.exports=a},5230:function(e){"use strict";e.exports=n},7992:function(e){"use strict";e.exports=u},166:function(e){"use strict";e.exports=o},3342:function(e){"use strict";e.exports=i},2625:function(e){"use strict";e.exports=c},2059:function(e){"use strict";e.exports=r},9155:function(e){"use strict";e.exports=t}},l={};function f(e){var t=l[e];if(void 0!==t)return t.exports;var r=l[e]={id:e,loaded:!1,exports:{}};return s[e].call(r.exports,r,r.exports,f),r.loaded=!0,r.exports}f.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(t,{a:t}),t},f.d=function(e,t){for(var r in t)f.o(t,r)&&!f.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},f.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),f.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},f.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.nmd=function(e){return e.paths=[],e.children||(e.children=[]),e},f.g.importScripts&&(p=f.g.location+"");var p,b=f.g.document;if(!p&&b&&(b.currentScript&&"SCRIPT"===b.currentScript.tagName.toUpperCase()&&(p=b.currentScript.src),!p)){var d=b.getElementsByTagName("script");if(d.length)for(var y=d.length-1;y>-1&&(!p||!/^http(s?):/.test(p));)p=d[y--].src}if(!p)throw Error("Automatic publicPath is not supported in this browser");f.p=p.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/");var v={};return!function(){"use strict";var e="",t="u">typeof document?document.currentScript:null;if(t&&t.src){var r=t.src.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"");r.indexOf("/static/plugins/@nocobase/plugin-backups/dist/client/")>=0&&(e=r.replace(/\/[^\/]+$/,"/"))}if(!e){var n=window.__webpack_public_path__||"";n&&("/"!==n.charAt(n.length-1)&&(n+="/"),e=n+"static/plugins/@nocobase/plugin-backups/dist/client/")}if(!e){var o=window.__nocobase_modern_client_prefix__||"v",a="/"+(o=String(o).replace(/^\/+|\/+$/g,"")||"v")+"/";if(!(e=window.__nocobase_public_path__||"")&&window.location&&window.location.pathname){var u=window.location.pathname||"/",c=u.indexOf(a);e=c>=0?u.slice(0,c+1):"/"}e&&(e=e.replace(RegExp("/"+o+"/?$"),"/")),e||(e="/"),"/"!==e.charAt(e.length-1)&&(e+="/"),e+="static/plugins/@nocobase/plugin-backups/dist/client/"}f.p=e}(),!function(){"use strict";f.r(v),f.d(v,{PluginBackupsClient:function(){return ei},default:function(){return es}});var e=f(3342),t=f(418),r=f(5230),n=f(7992),o=f(166),a=f(2059),u=f(1454),c=f.n(u),i=f(9155),s=f.n(i),l="backups";function p(){var t=(0,e.useApp)();return(0,i.useCallback)(function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t.i18n.t(e,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({ns:[l,"client"]},r))},[t])}function b(e,t,r,n,o,a,u){try{var c=e[a](u),i=c.value}catch(e){r(e);return}c.done?t(i):Promise.resolve(i).then(n,o)}function d(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function u(e){b(a,n,o,u,c,"next",e)}function c(e){b(a,n,o,u,c,"throw",e)}u(void 0)})}}function y(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function h(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){y(e,t,r[t])})}return e}function m(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(u,"next",{value:i(0)}),c(u,"throw",{value:i(1)}),c(u,"return",{value:i(2)}),"function"==typeof Symbol&&c(u,Symbol.iterator,{value:function(){return this}}),u;function i(c){return function(i){var s=[c,i];if(r)throw TypeError("Generator is already executing.");for(;u&&(u=0,s[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],n=0}finally{r=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}var g=function(t){var r,n,o=(0,e.useActionContext)().visible;return(0,e.useRequest)({url:"backupSettings:get/1"},(r=h({},t),n=n={refreshDeps:[o]},Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(n)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(n)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(n,e))}),r))},w=function(){var t=(0,e.useActionContext)().setVisible,n=(0,r.useForm)(),o=(0,e.useAPIClient)(),u=a.App.useApp().message,i=p(),s=(0,e.useRequest)({url:"backupSettings:get/1"}),l=s.data,f=s.mutate;return{run:function(){return d(function(){var e;return m(this,function(r){switch(r.label){case 0:return[4,n.submit()];case 1:return r.sent(),e=c()(n.values),f({data:h({},null==l?void 0:l.data,e)}),[4,o.request({url:"backupSettings:update/1",method:"post",data:e})];case 2:return r.sent(),u.success(i("Saved successfully")),t(!1),[2]}})})()}}},x={type:"object",properties:y({},(0,o.uid)(),{"x-decorator":"Form","x-decorator-props":{useValues:"{{ useBackupSettingsValues }}"},"x-component":"div",type:"void",properties:{setCron:{type:"void",title:'{{t("Automatic backup")}}',"x-component":"FormItem","x-component-props":{},properties:{scheduled:{required:!0,type:"boolean","x-component":"Checkbox","x-component-props":{children:'{{t("Run automatic backup on the cron schedule")}}'}},cron:{type:"string","x-component":"Cron","x-component-props":{clearButton:!1,defaultValue:"0 0 * * *",disabled:"{{!$values.scheduled}}"}}}},keep:{required:!0,type:"number",title:'{{t("Maximum number of backups")}}',description:'{{t("The maximum number of backups to keep, older backups are automatically deleted.")}}',"x-decorator":"FormItem","x-component":"InputNumber","x-component-props":{min:1}},storageId:{type:"string",title:'{{t("Sync backups to cloud storage")}}',"x-decorator":"FormItem","x-component":"Select","x-reactions":["{{useAsyncDataSource()}}"]},enableFilesBackup:{type:"boolean",title:'{{t("Backup local storage files")}}',"x-decorator":"FormItem","x-component":t.Switch},encryptionPassword:{type:"string",title:'{{t("Restore password")}}',description:'{{t("If a restore password is set, it must be entered when restoring the backup.")}}',"x-decorator":"FormItem","x-component":a.Input.Password,"x-component-props":{autoComplete:"new-password"}},footer1:{type:"void","x-component":"ActionBar","x-component-props":{layout:"one-column"},properties:{submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",htmlType:"submit",useAction:"{{ useSaveBackupSettingsValues }}"}}}}}})},j=function(){var t=(0,e.useAPIClient)(),r=p();return s().createElement(a.Card,{bordered:!1},s().createElement(e.SchemaComponent,{scope:{useSaveBackupSettingsValues:w,useBackupSettingsValues:g,useAsyncDataSource:function(){return function(e){return d(function(){var r;return m(this,function(o){switch(o.label){case 0:e.loading=!0,o.label=1;case 1:return o.trys.push([1,,3,4]),[4,t.request({url:"storages:list"})];case 2:return r=o.sent(),n.action.bound(function(){var t;e.dataSource=((null==r||null==(t=r.data)?void 0:t.data)||[]).filter(function(e){return"local"!==e.type}).map(function(e){return{label:e.title,value:e.id}})})(),[3,4];case 3:return e.loading=!1,[7];case 4:return[2]}})})()}},t:r},schema:x,components:{Cron:e.Cron,Action:e.Action,Form:e.Form,Input:e.Input,FormItem:e.FormItem,Select:e.Select,Checkbox:e.Checkbox}}))},O=f(6574),k=(0,i.createContext)(null),_=function(){var e=(0,i.useContext)(k);if(!e)throw Error("BackupsContext provider is missing");return e},S=f(2625),A=function(){var t=(0,e.useApp)();return{showCheckBackupMessage:(0,S.useMemoizedFn)(function(){t.maintaining=!0,t.error={command:{name:"APP Restoring"},message:"checking backup...",code:"APP_COMMANDING"}}),hideCheckBackupMessage:(0,S.useMemoizedFn)(function(){t.maintaining=!1})}};function E(e,t,r,n,o,a,u){try{var c=e[a](u),i=c.value}catch(e){r(e);return}c.done?t(i):Promise.resolve(i).then(n,o)}function P(){var t=(0,e.useAPIClient)(),r=s().useRef(null),n=a.App.useApp().notification,o=(0,e.useApp)().maintaining,u=A().hideCheckBackupMessage;return(0,i.useEffect)(function(){var e=setInterval(function(){var e;return(e=function(){var e;return function(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(u,"next",{value:i(0)}),c(u,"throw",{value:i(1)}),c(u,"return",{value:i(2)}),"function"==typeof Symbol&&c(u,Symbol.iterator,{value:function(){return this}}),u;function i(c){return function(i){var s=[c,i];if(r)throw TypeError("Generator is already executing.");for(;u&&(u=0,s[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],n=0}finally{r=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}(this,function(o){switch(o.label){case 0:if(!r.current)return[2];o.label=1;case 1:return o.trys.push([1,3,,4]),[4,t.request({url:"".concat(l,":restoreStatus"),method:"get",params:{task:r.current}})];case 2:return(e=o.sent().data.data).inProgress||(r.current=null),e.message&&(u(),n.error({message:e.message,role:"alert"})),[3,4];case 3:return console.error(o.sent()),[3,4];case 4:return[2]}})},function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function u(e){E(a,n,o,u,c,"next",e)}function c(e){E(a,n,o,u,c,"throw",e)}u(void 0)})})()},3e3);return function(){return clearInterval(e)}},[t,u,o,n]),r}var C=function(){var t,r,n=(0,e.useAPIClient)(),o=(0,S.useMemoizedFn)(function(){return n.request({url:"backups:appInfo"})}),a=(0,S.useRequest)(o,{cacheKey:"backupAppInfo",staleTime:-1}).data;return{database:{dialect:null==a||null==(t=a.data)?void 0:t.data.database.dialect,schema:null==a||null==(r=a.data)?void 0:r.data.database.schema}}};function I(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function T(e,t,r,n,o,a,u){try{var c=e[a](u),i=c.value}catch(e){r(e);return}c.done?t(i):Promise.resolve(i).then(n,o)}function B(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],u=!0,c=!1;try{for(o=o.call(e);!(u=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);u=!0);}catch(e){c=!0,n=e}finally{try{u||null==o.return||o.return()}finally{if(c)throw n}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return I(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return I(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var F=function(t){var r=t.backup,n=p(),o=B(s().useState(!1),2),u=o[0],c=o[1],i=B(s().useState(""),2),l=i[0],f=i[1],b=B(s().useState(!1),2),d=b[0],y=b[1],v=B(s().useState(""),2),h=v[0],m=v[1],g=(0,e.useAPIClient)(),w=P(),x=A().showCheckBackupMessage,j=C().database,O=j.schema,k=j.dialect,_=function(){c(!1),f(""),m("")};return s().createElement(s().Fragment,null,s().createElement("a",{type:"link",role:"button",onClick:function(){c(!0)}},n("Restore")),s().createElement(a.Modal,{title:n("Restore"),open:u,onCancel:_,footer:[s().createElement(a.Button,{key:"back",onClick:_},n("Cancel")),s().createElement(a.Button,{key:"submit",type:"primary",loading:d,onClick:function(){var e;return(e=function(){var e;return function(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(u,"next",{value:i(0)}),c(u,"throw",{value:i(1)}),c(u,"return",{value:i(2)}),"function"==typeof Symbol&&c(u,Symbol.iterator,{value:function(){return this}}),u;function i(c){return function(i){var s=[c,i];if(r)throw TypeError("Generator is already executing.");for(;u&&(u=0,s[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],n=0}finally{r=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}(this,function(t){switch(t.label){case 0:y(!0),t.label=1;case 1:return t.trys.push([1,3,,4]),[4,g.request({url:"backups:restore",method:"post",data:{name:r.name,password:l,dbSchema:h}})];case 2:return w.current=null==(e=t.sent().data.data)?void 0:e.task,x(),[3,4];case 3:return console.error(t.sent()),[3,4];case 4:return y(!1),c(!1),f(""),m(""),[2]}})},function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function u(e){T(a,n,o,u,c,"next",e)}function c(e){T(a,n,o,u,c,"throw",e)}u(void 0)})})()}},n("Submit"))]},s().createElement(a.Form,{layout:"vertical",autoComplete:"off"},["postgres","kingbase"].includes(k)&&s().createElement(a.Form.Item,{label:s().createElement("strong",null,n("Confirm the application database schema")),help:n("Required if application database schema is different with the backup",{currentDbSchemaTips:O?"[".concat(O,"]"):""})},s().createElement(a.Input,{autoComplete:"new-password",value:h,onChange:function(e){return m(e.target.value)}})),s().createElement(a.Form.Item,{colon:!0,label:s().createElement("strong",null,n("Restore password"))},s().createElement(a.Input.Password,{value:l,autoComplete:"new-password",onChange:function(e){return f(e.target.value)}})))))};function R(e,t,r,n,o,a,u){try{var c=e[a](u),i=c.value}catch(e){r(e);return}c.done?t(i):Promise.resolve(i).then(n,o)}function M(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function u(e){R(a,n,o,u,c,"next",e)}function c(e){R(a,n,o,u,c,"throw",e)}u(void 0)})}}function q(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(u,"next",{value:i(0)}),c(u,"throw",{value:i(1)}),c(u,"return",{value:i(2)}),"function"==typeof Symbol&&c(u,Symbol.iterator,{value:function(){return this}}),u;function i(c){return function(i){var s=[c,i];if(r)throw TypeError("Generator is already executing.");for(;u&&(u=0,s[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],n=0}finally{r=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}var U=function(){var t=p(),r=(0,e.useAPIClient)(),n=(0,e.useCurrentAppInfo)(),o=a.App.useApp().modal,u=_(),c=u.data,i=u.loading,f=u.refreshAsync,b=(0,e.useRequest)({url:"".concat(l,":destroy"),method:"post"},{manual:!0}).runAsync,d=function(e){o.confirm({title:t("Delete record"),content:t("Are you sure you want to delete it?"),onOk:function(){return M(function(){return q(this,function(r){switch(r.label){case 0:return[4,b({filterByTk:e.name})];case 1:return r.sent(),[4,f()];case 2:return r.sent(),a.message.success(t("The deletion was successful.")),[2]}})})()}})},y=function(e){return e.inProgress?{colSpan:0}:{}},v=[{title:t("Backup list"),dataIndex:"name",width:400,onCell:function(e){return e.inProgress?{colSpan:4}:{}},render:function(e,r){return r.inProgress?s().createElement("div",{style:{color:"rgba(0, 0, 0, 0.88)"}},e,"(",t("Backing up"),"...)"):s().createElement("div",null,e)}},{title:t("File size"),dataIndex:"fileSize",onCell:y},{title:t("Created at"),dataIndex:"createdAt",onCell:y,render:function(t){return s().createElement(e.DatePicker.ReadPretty,{value:t,showTime:!0})}},{title:t("Actions"),dataIndex:"actions",onCell:y,render:function(e,o){return s().createElement(a.Space,{split:s().createElement(a.Divider,{type:"vertical"})},s().createElement(F,{backup:o}),s().createElement("a",{type:"link",onClick:function(){M(function(){var e,t,a,u;return q(this,function(c){switch(c.label){case 0:return t=null==n||null==(e=n.data)?void 0:e.name,a={filterByTk:o.name},t&&(a.__appName=t),[4,r.request({url:"backups:download",method:"get",params:a,responseType:"blob"})];case 1:return u=new Blob([c.sent().data]),(0,O.saveAs)(u,o.name),[2]}})})()}},t("Download")),s().createElement("a",{onClick:function(){return d(o)}},t("Delete")))}}];return s().createElement(a.Table,{rowKey:"name",dataSource:null==c?void 0:c.data,loading:i,columns:v})},D=f(7375),z=function(){var e=p(),t=_(),r=t.refresh,n=t.loading,o=n?D.LoadingOutlined:D.ReloadOutlined;return s().createElement(a.Button,{onClick:r,icon:s().createElement(o,null),disabled:n},e("Refresh"))};function L(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function $(e,t,r,n,o,a,u){try{var c=e[a](u),i=c.value}catch(e){r(e);return}c.done?t(i):Promise.resolve(i).then(n,o)}function N(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],u=!0,c=!1;try{for(o=o.call(e);!(u=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);u=!0);}catch(e){c=!0,n=e}finally{try{u||null==o.return||o.return()}finally{if(c)throw n}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return L(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return L(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var V=function(){var t=p(),r=a.App.useApp().notification,n=N((0,i.useState)(!1),2),o=n[0],u=n[1],c=N((0,i.useState)(!1),2),l=c[0],f=c[1],b=N((0,i.useState)(""),2),d=b[0],y=b[1],v=N((0,i.useState)(""),2),h=v[0],m=v[1],g=N((0,i.useState)(null),2),w=g[0],x=g[1],j=N((0,i.useState)([]),2),O=j[0],k=j[1],_=(0,e.useAPIClient)(),S=P(),E=A().showCheckBackupMessage,I=C().database,T=I.schema,B=I.dialect,F=function(){y(""),k([]),u(!1),m("")};return s().createElement(s().Fragment,null,s().createElement(a.Button,{icon:s().createElement(D.UploadOutlined,null),onClick:function(){u(!0)}},t("Restore backup from local")),s().createElement(a.Modal,{title:t("Restore backup from local"),open:o,onCancel:F,footer:[s().createElement(a.Button,{key:"back",onClick:F},t("Cancel")),s().createElement(a.Button,{key:"submit",type:"primary",loading:l,onClick:function(){var e;return(e=function(){var e,n;return function(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(u,"next",{value:i(0)}),c(u,"throw",{value:i(1)}),c(u,"return",{value:i(2)}),"function"==typeof Symbol&&c(u,Symbol.iterator,{value:function(){return this}}),u;function i(c){return function(i){var s=[c,i];if(r)throw TypeError("Generator is already executing.");for(;u&&(u=0,s[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],n=0}finally{r=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}(this,function(o){switch(o.label){case 0:if(!w)return r.error({message:t("Please select a backup file")}),[2];f(!0),(e=new FormData).append("file",w),e.append("password",d),e.append("dbSchema",h),o.label=1;case 1:return o.trys.push([1,3,,4]),[4,_.request({url:"backups:upload",method:"post",data:e})];case 2:return S.current=null==(n=o.sent().data.data)?void 0:n.task,E(),[3,4];case 3:return console.error(o.sent()),[3,4];case 4:return f(!1),u(!1),y(""),k([]),m(""),[2]}})},function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function u(e){$(a,n,o,u,c,"next",e)}function c(e){$(a,n,o,u,c,"throw",e)}u(void 0)})})()}},t("Submit"))]},s().createElement(a.Form,{layout:"vertical",autoComplete:"off"},s().createElement(a.Form.Item,null,s().createElement(a.Upload.Dragger,{onRemove:function(e){k([]),x(null)},fileList:O,multiple:!1,maxCount:1,beforeUpload:function(e){return x(e),k([e]),!1}},s().createElement("p",{className:"ant-upload-drag-icon"},s().createElement(D.InboxOutlined,null)),s().createElement("p",{className:"ant-upload-text"}," ",t("Click or drag file to this area to upload")))),["postgres","kingbase"].includes(B)&&s().createElement(a.Form.Item,{label:s().createElement("strong",null,t("Confirm the application database schema")),help:t("Required if application database schema is different with the backup",{currentDbSchemaTips:T?"[".concat(T,"]"):""})},s().createElement(a.Input,{autoComplete:"new-password",value:h,onChange:function(e){return m(e.target.value)}})),s().createElement(a.Form.Item,{colon:!0,label:s().createElement("strong",null,t("Restore password"))},s().createElement(a.Input.Password,{autoComplete:"new-password",value:d,onChange:function(e){return y(e.target.value)}})))))};function G(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function W(e,t,r,n,o,a,u){try{var c=e[a](u),i=c.value}catch(e){r(e);return}c.done?t(i):Promise.resolve(i).then(n,o)}function H(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function u(e){W(a,n,o,u,c,"next",e)}function c(e){W(a,n,o,u,c,"throw",e)}u(void 0)})}}function K(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],u=!0,c=!1;try{for(o=o.call(e);!(u=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);u=!0);}catch(e){c=!0,n=e}finally{try{u||null==o.return||o.return()}finally{if(c)throw n}}return a}}(e,t)||J(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function X(e){return function(e){if(Array.isArray(e))return G(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||J(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function J(e,t){if(e){if("string"==typeof e)return G(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return G(e,t)}}function Q(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(u,"next",{value:i(0)}),c(u,"throw",{value:i(1)}),c(u,"return",{value:i(2)}),"function"==typeof Symbol&&c(u,Symbol.iterator,{value:function(){return this}}),u;function i(c){return function(i){var s=[c,i];if(r)throw TypeError("Generator is already executing.");for(;u&&(u=0,s[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],n=0}finally{r=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}var Y=function(){var t=K((0,i.useState)([]),2),r=t[0],n=t[1],o=p(),u=a.App.useApp(),c=u.message,f=u.notification,b=u.modal,d=_().refreshAsync,y=(0,e.useRequest)({url:"".concat(l,":create"),method:"post"},{manual:!0,throttleWait:1e3}),v=y.runAsync,h=y.loading,m=(0,e.useRequest)({url:"".concat(l,":taskStatus"),method:"get"},{manual:!0}).runAsync;(0,i.useEffect)(function(){if(0!==r.length){var e=setInterval(function(){return H(function(){var e,t,a,u,i,s,l,p,b,y,v,h;return Q(this,function(g){switch(g.label){case 0:return[4,m({names:r})];case 1:e=g.sent(),t=[],a=[],u=!0,i=!1,s=void 0;try{for(l=Object.entries(e.data)[Symbol.iterator]();!(u=(p=l.next()).done);u=!0)y=(b=K(p.value,2))[0],(v=b[1]).inProgress||(v.message?(a.push(y),f.error({message:v.message,role:"alert"})):t.push(y))}catch(e){i=!0,s=e}finally{try{u||null==l.return||l.return()}finally{if(i)throw s}}if(h=X(t).concat(X(a)),!(t.length>0))return[3,3];return c.success(o("NEW_BACKUPS_CREATED",{names:t.join(", ")})),[4,d()];case 2:g.sent(),g.label=3;case 3:return h.length>0&&n(r.filter(function(e){return!h.includes(e)})),[2]}})})()},3e3);return function(){clearInterval(e)}}},[r,c,f,m,d,o]);var g=h?D.LoadingOutlined:D.PlusOutlined;return s().createElement(s().Fragment,null,s().createElement(a.Button,{icon:s().createElement(g,null),disabled:h,type:"primary",onClick:function(){return H(function(){return Q(this,function(e){return b.confirm({title:o("New backup"),content:o("Are you sure you want to create new backup?"),onOk:function(){return H(function(){return Q(this,function(e){switch(e.label){case 0:return[4,H(function(){var e;return Q(this,function(t){switch(t.label){case 0:return[4,v()];case 1:return e=t.sent(),n(X(r).concat([e.data.name])),c.success(o("New backup operation started")),[4,d()];case 2:return t.sent(),[2]}})})()];case 1:return e.sent(),[2]}})})()}}),[2]})})()}},o("New backup")))},Z=function(){var t=(0,e.useRequest)({url:"".concat(l,":list"),method:"get"});return s().createElement(k.Provider,{value:t},s().createElement(a.Card,{bordered:!1},s().createElement(e.Space,{style:{float:"right",marginBottom:16}},s().createElement(z,null),s().createElement(V,null),s().createElement(Y,null)),s().createElement(U,null)))};function ee(e,t,r,n,o,a,u){try{var c=e[a](u),i=c.value}catch(e){r(e);return}c.done?t(i):Promise.resolve(i).then(n,o)}function et(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function u(e){ee(a,n,o,u,c,"next",e)}function c(e){ee(a,n,o,u,c,"throw",e)}u(void 0)})}}function er(e,t,r){return(er=eu()?Reflect.construct:function(e,t,r){var n=[null];n.push.apply(n,t);var o=new(Function.bind.apply(e,n));return r&&eo(o,r.prototype),o}).apply(null,arguments)}function en(e){return(en=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function eo(e,t){return(eo=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ea(e){var t="function"==typeof Map?new Map:void 0;return(ea=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return er(e,arguments,en(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),eo(r,e)})(e)}function eu(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(eu=function(){return!!e})()}function ec(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(u,"next",{value:i(0)}),c(u,"throw",{value:i(1)}),c(u,"return",{value:i(2)}),"function"==typeof Symbol&&c(u,Symbol.iterator,{value:function(){return this}}),u;function i(c){return function(i){var s=[c,i];if(r)throw TypeError("Generator is already executing.");for(;u&&(u=0,s[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],n=0}finally{r=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}var ei=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function r(){var e,t;if(!(this instanceof r))throw TypeError("Cannot call a class as a function");return e=r,t=arguments,e=en(e),function(e,t){var r;if(t&&("object"==((r=t)&&"u">typeof Symbol&&r.constructor===Symbol?"symbol":typeof r)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,eu()?Reflect.construct(e,t||[],en(this).constructor):e.apply(this,t))}return r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),e&&eo(r,e),t=[{key:"afterAdd",value:function(){return et(function(){return ec(this,function(e){return[2]})})()}},{key:"beforeLoad",value:function(){return et(function(){return ec(this,function(e){return[2]})})()}},{key:"load",value:function(){return et(function(){return ec(this,function(e){return this.app.pluginSettingsManager.add("".concat(l),{title:this.t("Backup manager"),icon:"CloudServerOutlined"}),this.app.pluginSettingsManager.add("".concat(l,".list"),{title:this.t("Backup list"),icon:"CloudServerOutlined",Component:Z,aclSnippet:"pm.".concat(l)}),this.app.pluginSettingsManager.add("".concat(l,".settings"),{title:this.t("Settings"),icon:"SettingOutlined",Component:j,aclSnippet:"pm.".concat(l,".settings")}),[2]})}).call(this)}}],function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(r.prototype,t),r}(ea(e.Plugin)),es=ei}(),v}()});
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ (self.webpackChunk_nocobase_plugin_backups_client_v2=self.webpackChunk_nocobase_plugin_backups_client_v2||[]).push([["567"],{574:function(e,t,n){var r,a;void 0===(a="function"==typeof(r=function(){"use strict";function t(e,t,n){var r=new XMLHttpRequest;r.open("GET",e),r.responseType="blob",r.onload=function(){l(r.response,t,n)},r.onerror=function(){console.error("could not download file")},r.send()}function r(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(e){}return 200<=t.status&&299>=t.status}function a(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(n){var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var o="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof n.g&&n.g.global===n.g?n.g:void 0,u=o.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),l=o.saveAs||("object"!=typeof window||window!==o?function(){}:"download"in HTMLAnchorElement.prototype&&!u?function(e,n,u){var l=o.URL||o.webkitURL,i=document.createElement("a");i.download=n=n||e.name||"download",i.rel="noopener","string"==typeof e?(i.href=e,i.origin===location.origin?a(i):r(i.href)?t(e,n,u):a(i,i.target="_blank")):(i.href=l.createObjectURL(e),setTimeout(function(){l.revokeObjectURL(i.href)},4e4),setTimeout(function(){a(i)},0))}:"msSaveOrOpenBlob"in navigator?function(e,n,o){if(n=n||e.name||"download","string"!=typeof e){var u;navigator.msSaveOrOpenBlob((void 0===(u=o)?u={autoBom:!1}:"object"!=typeof u&&(console.warn("Deprecated: Expected third argument to be a object"),u={autoBom:!u}),u.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\uFEFF",e],{type:e.type}):e),n)}else if(r(e))t(e,n,o);else{var l=document.createElement("a");l.href=e,l.target="_blank",setTimeout(function(){a(l)})}}:function(e,n,r,a){if((a=a||open("","_blank"))&&(a.document.title=a.document.body.innerText="downloading..."),"string"==typeof e)return t(e,n,r);var l="application/octet-stream"===e.type,i=/constructor/i.test(o.HTMLElement)||o.safari,c=/CriOS\/[\d]+/.test(navigator.userAgent);if((c||l&&i||u)&&"u">typeof FileReader){var s=new FileReader;s.onloadend=function(){var e=s.result;e=c?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),a?a.location.href=e:location=e,a=null},s.readAsDataURL(e)}else{var f=o.URL||o.webkitURL,p=f.createObjectURL(e);a?a.location=p:location.href=p,a=null,setTimeout(function(){f.revokeObjectURL(p)},4e4)}});o.saveAs=l.saveAs=l,e.exports=l})?r.apply(t,[]):r)||(e.exports=a)},258:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return Y}});var r=n(694),a=n(625),o=n(59),u=n(155),l=n.n(u),i=n(485),c=n(185),s=n.n(c),f=n(574),p=n(401),d=(0,u.createContext)(null),b=function(){var e=(0,u.useContext)(d);if(!e)throw Error("BackupsContext provider is missing");return e},m=n(488);function v(e,t,n,r,a,o,u){try{var l=e[o](u),i=l.value}catch(e){n(e);return}l.done?t(i):Promise.resolve(i).then(r,a)}var h={database:{dialect:""}},y=function(){var e=(0,r.useFlowContext)(),t=(0,a.useMemoizedFn)(function(){var t;return(t=function(){var t,n;return function(e,t){var n,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(u,"next",{value:i(0)}),l(u,"throw",{value:i(1)}),l(u,"return",{value:i(2)}),"function"==typeof Symbol&&l(u,Symbol.iterator,{value:function(){return this}}),u;function i(l){return function(i){var c=[l,i];if(n)throw TypeError("Generator is already executing.");for(;u&&(u=0,c[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(r){switch(r.label){case 0:return[4,e.api.request({url:"backups:appInfo"})];case 1:return[2,null!=(t=null==(n=r.sent().data)?void 0:n.data)?t:h]}})},function(){var e=this,n=arguments;return new Promise(function(r,a){var o=t.apply(e,n);function u(e){v(o,r,a,u,l,"next",e)}function l(e){v(o,r,a,u,l,"throw",e)}u(void 0)})})()}),n=(0,a.useRequest)(t,{cacheKey:"backupAppInfo",staleTime:-1}).data;return null!=n?n:h},w=function(){var e=(0,r.useFlowEngine)(),t=(0,i.useApp)();return{showCheckBackupMessage:(0,a.useMemoizedFn)(function(){var n=e.context[p.l];n?n.showCheckBackupMessage():("function"==typeof t.setMaintaining?t.setMaintaining(!0):t.maintaining=!0,t.error={command:{name:"APP Restoring"},message:"checking backup...",code:"APP_COMMANDING"})}),hideCheckBackupMessage:(0,a.useMemoizedFn)(function(){var n=e.context[p.l];n?n.hideCheckBackupMessage():"function"==typeof t.setMaintaining?t.setMaintaining(!1):t.maintaining=!1})}};function g(e,t,n,r,a,o,u){try{var l=e[o](u),i=l.value}catch(e){n(e);return}l.done?t(i):Promise.resolve(i).then(r,a)}function k(){var e=(0,r.useFlowContext)(),t=(0,i.useApp)(),n=l().useRef(null),a=o.App.useApp().notification,c=w().hideCheckBackupMessage;return(0,u.useEffect)(function(){var t=setInterval(function(){var t;return(t=function(){var t,r;return function(e,t){var n,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(u,"next",{value:i(0)}),l(u,"throw",{value:i(1)}),l(u,"return",{value:i(2)}),"function"==typeof Symbol&&l(u,Symbol.iterator,{value:function(){return this}}),u;function i(l){return function(i){var c=[l,i];if(n)throw TypeError("Generator is already executing.");for(;u&&(u=0,c[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(o){switch(o.label){case 0:if(!n.current)return[2];o.label=1;case 1:return o.trys.push([1,3,,4]),[4,e.api.request({url:"".concat(p.C,":restoreStatus"),method:"get",params:{task:n.current}})];case 2:if(!(r=null==(t=o.sent().data)?void 0:t.data))return[2];return r.inProgress||(n.current=null),r.message&&(c(),a.error({message:r.message,role:"alert"})),[3,4];case 3:return console.error(o.sent()),[3,4];case 4:return[2]}})},function(){var e=this,n=arguments;return new Promise(function(r,a){var o=t.apply(e,n);function u(e){g(o,r,a,u,l,"next",e)}function l(e){g(o,r,a,u,l,"throw",e)}u(void 0)})})()},3e3);return function(){return clearInterval(t)}},[t.maintaining,e.api,c,a]),n}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function C(e,t,n,r,a,o,u){try{var l=e[o](u),i=l.value}catch(e){n(e);return}l.done?t(i):Promise.resolve(i).then(r,a)}function S(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var o=[],u=!0,l=!1;try{for(a=a.call(e);!(u=(n=a.next()).done)&&(o.push(n.value),!t||o.length!==t);u=!0);}catch(e){l=!0,r=e}finally{try{u||null==a.return||a.return()}finally{if(l)throw r}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return E(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return E(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var x=function(e){var t=e.backup,n=(0,m.k)(),a=(0,r.useFlowContext)(),u=S(l().useState(!1),2),i=u[0],c=u[1],s=S(l().useState(""),2),f=s[0],p=s[1],d=S(l().useState(!1),2),b=d[0],v=d[1],h=S(l().useState(""),2),g=h[0],E=h[1],x=k(),A=w().showCheckBackupMessage,O=y().database,j=O.schema,I=O.dialect,P=function(){p(""),E("")},M=function(){c(!1),P()};return l().createElement(l().Fragment,null,l().createElement(o.Button,{type:"link",size:"small",onClick:function(){c(!0)}},n("Restore")),l().createElement(o.Modal,{title:n("Restore"),open:i,onCancel:M,footer:[l().createElement(o.Button,{key:"back",onClick:M},n("Cancel")),l().createElement(o.Button,{key:"submit",type:"primary",loading:b,onClick:function(){var e;return(e=function(){var e,n,r;return function(e,t){var n,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(u,"next",{value:i(0)}),l(u,"throw",{value:i(1)}),l(u,"return",{value:i(2)}),"function"==typeof Symbol&&l(u,Symbol.iterator,{value:function(){return this}}),u;function i(l){return function(i){var c=[l,i];if(n)throw TypeError("Generator is already executing.");for(;u&&(u=0,c[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(o){switch(o.label){case 0:v(!0),o.label=1;case 1:return o.trys.push([1,3,,4]),[4,a.api.request({url:"backups:restore",method:"post",data:{name:t.name,password:f,dbSchema:g}})];case 2:return x.current=null!=(e=null==(r=o.sent().data)||null==(n=r.data)?void 0:n.task)?e:null,A(),[3,4];case 3:return console.error(o.sent()),[3,4];case 4:return v(!1),c(!1),P(),[2]}})},function(){var t=this,n=arguments;return new Promise(function(r,a){var o=e.apply(t,n);function u(e){C(o,r,a,u,l,"next",e)}function l(e){C(o,r,a,u,l,"throw",e)}u(void 0)})})()}},n("Submit"))]},l().createElement(o.Form,{layout:"vertical",autoComplete:"off"},["postgres","kingbase"].includes(I)&&l().createElement(o.Form.Item,{label:l().createElement("strong",null,n("Confirm the application database schema")),help:n("Required if application database schema is different with the backup",{currentDbSchemaTips:j?"[".concat(j,"]"):""})},l().createElement(o.Input,{autoComplete:"new-password",value:g,onChange:function(e){return E(e.target.value)}})),l().createElement(o.Form.Item,{colon:!0,label:l().createElement("strong",null,n("Restore password"))},l().createElement(o.Input.Password,{value:f,autoComplete:"new-password",onChange:function(e){return p(e.target.value)}})))))};function A(e,t,n,r,a,o,u){try{var l=e[o](u),i=l.value}catch(e){n(e);return}l.done?t(i):Promise.resolve(i).then(r,a)}function O(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var o=e.apply(t,n);function u(e){A(o,r,a,u,l,"next",e)}function l(e){A(o,r,a,u,l,"throw",e)}u(void 0)})}}function j(e,t){var n,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(u,"next",{value:i(0)}),l(u,"throw",{value:i(1)}),l(u,"return",{value:i(2)}),"function"==typeof Symbol&&l(u,Symbol.iterator,{value:function(){return this}}),u;function i(l){return function(i){var c=[l,i];if(n)throw TypeError("Generator is already executing.");for(;u&&(u=0,c[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var I=function(){var e,t=(0,m.k)(),n=(0,r.useFlowContext)(),c=(0,i.useCurrentAppInfo)(),d=o.theme.useToken().token,v=o.App.useApp(),h=v.modal,y=v.message,w=b(),g=w.data,k=w.loading,E=w.refreshAsync,C=(0,a.useRequest)(function(e){return O(function(){var t;return j(this,function(r){switch(r.label){case 0:return[4,n.api.request({url:"".concat(p.C,":destroy"),method:"post",params:{filterByTk:e}})];case 1:return[2,null==(t=r.sent().data)?void 0:t.data]}})})()},{manual:!0}).runAsync,S=(0,u.useCallback)(function(e){h.confirm({title:t("Delete record"),content:t("Are you sure you want to delete it?"),onOk:function(){return O(function(){return j(this,function(n){switch(n.label){case 0:return[4,C(e.name)];case 1:return n.sent(),[4,E()];case 2:return n.sent(),y.success(t("The deletion was successful.")),[2]}})})()}})},[C,y,h,E,t]),A=(0,u.useCallback)(function(e){return O(function(){var t,r,a,o,u;return j(this,function(l){switch(l.label){case 0:return a=null!=(t=null==c?void 0:c.name)?t:null==c||null==(r=c.data)?void 0:r.name,o={filterByTk:e.name},a&&(o.__appName=a),[4,n.api.request({url:"backups:download",method:"get",params:o,responseType:"blob"})];case 1:return u=new Blob([l.sent().data]),(0,f.saveAs)(u,e.name),[2]}})})()},[n.api,null==c||null==(e=c.data)?void 0:e.name,null==c?void 0:c.name]),I=function(e){return e.inProgress?{colSpan:0}:{}},P=(0,u.useMemo)(function(){return[{title:t("Backup list"),dataIndex:"name",width:400,onCell:function(e){return e.inProgress?{colSpan:4}:{}},render:function(e,n){return n.inProgress?l().createElement("span",{style:{color:d.colorText}},e,"(",t("Backing up"),"...)"):l().createElement("span",null,e)}},{title:t("File size"),dataIndex:"fileSize",onCell:I},{title:t("Created at"),dataIndex:"createdAt",onCell:I,render:function(e){return e?s()(e).format("YYYY-MM-DD HH:mm:ss"):null}},{title:t("Actions"),dataIndex:"actions",onCell:I,render:function(e,n){return l().createElement(o.Space,{split:l().createElement(o.Divider,{type:"vertical"})},l().createElement(x,{backup:n}),l().createElement("a",{onClick:function(){A(n)}},t("Download")),l().createElement("a",{onClick:function(){return S(n)}},t("Delete")))}}]},[S,A,t,d.colorText]);return l().createElement(i.Table,{rowKey:"name",dataSource:null==g?void 0:g.data,loading:k,columns:P})},P=n(375);function M(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function R(e,t,n,r,a,o,u){try{var l=e[o](u),i=l.value}catch(e){n(e);return}l.done?t(i):Promise.resolve(i).then(r,a)}function T(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var o=e.apply(t,n);function u(e){R(o,r,a,u,l,"next",e)}function l(e){R(o,r,a,u,l,"throw",e)}u(void 0)})}}function B(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var o=[],u=!0,l=!1;try{for(a=a.call(e);!(u=(n=a.next()).done)&&(o.push(n.value),!t||o.length!==t);u=!0);}catch(e){l=!0,r=e}finally{try{u||null==a.return||a.return()}finally{if(l)throw r}}return o}}(e,t)||q(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function F(e){return function(e){if(Array.isArray(e))return M(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||q(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function q(e,t){if(e){if("string"==typeof e)return M(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return M(e,t)}}function _(e,t){var n,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(u,"next",{value:i(0)}),l(u,"throw",{value:i(1)}),l(u,"return",{value:i(2)}),"function"==typeof Symbol&&l(u,Symbol.iterator,{value:function(){return this}}),u;function i(l){return function(i){var c=[l,i];if(n)throw TypeError("Generator is already executing.");for(;u&&(u=0,c[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var D=function(){var e=B((0,u.useState)([]),2),t=e[0],n=e[1],i=(0,m.k)(),c=(0,r.useFlowContext)(),s=o.App.useApp(),f=s.message,d=s.notification,v=s.modal,h=b().refreshAsync,y=(0,a.useRequest)(function(){return T(function(){var e;return _(this,function(t){switch(t.label){case 0:return[4,c.api.request({url:"".concat(p.C,":create"),method:"post"})];case 1:return[2,null==(e=t.sent().data)?void 0:e.data]}})})()},{manual:!0,throttleWait:1e3}),w=y.runAsync,g=y.loading,k=(0,a.useRequest)(function(e){return T(function(){var t,n;return _(this,function(r){switch(r.label){case 0:return[4,c.api.request({url:"".concat(p.C,":taskStatus"),method:"get",params:{names:e}})];case 1:return[2,null!=(t=null==(n=r.sent().data)?void 0:n.data)?t:{}]}})})()},{manual:!0}).runAsync;(0,u.useEffect)(function(){if(0!==t.length){var e=setInterval(function(){return T(function(){var e,r,a,o,u,l,c,s,p,b,m,v;return _(this,function(y){switch(y.label){case 0:return[4,k(t)];case 1:e=y.sent(),r=[],a=[],o=!0,u=!1,l=void 0;try{for(c=Object.entries(e)[Symbol.iterator]();!(o=(s=c.next()).done);o=!0)b=(p=B(s.value,2))[0],(m=p[1]).inProgress||(m.message?(a.push(b),d.error({message:m.message,role:"alert"})):r.push(b))}catch(e){u=!0,l=e}finally{try{o||null==c.return||c.return()}finally{if(u)throw l}}if(v=F(r).concat(F(a)),!(r.length>0))return[3,3];return f.success(i("NEW_BACKUPS_CREATED",{names:r.join(", ")})),[4,h()];case 2:y.sent(),y.label=3;case 3:return v.length>0&&n(function(e){return e.filter(function(e){return!v.includes(e)})}),[2]}})})()},3e3);return function(){clearInterval(e)}}},[t,f,d,k,h,i]);var E=g?P.LoadingOutlined:P.PlusOutlined;return l().createElement(o.Button,{icon:l().createElement(E,null),disabled:g,type:"primary",onClick:function(){return T(function(){return _(this,function(e){return v.confirm({title:i("New backup"),content:i("Are you sure you want to create new backup?"),onOk:function(){return T(function(){return _(this,function(e){switch(e.label){case 0:return[4,T(function(){var e;return _(this,function(t){switch(t.label){case 0:return[4,w()];case 1:return(null==(e=t.sent())?void 0:e.name)&&n(function(t){return F(t).concat([e.name])}),f.success(i("New backup operation started")),[4,h()];case 2:return t.sent(),[2]}})})()];case 1:return e.sent(),[2]}})})()}}),[2]})})()}},i("New backup"))},L=function(){var e=(0,m.k)(),t=b(),n=t.refresh,r=t.loading,a=r?P.LoadingOutlined:P.ReloadOutlined;return l().createElement(o.Button,{onClick:n,icon:l().createElement(a,null),disabled:r},e("Refresh"))};function U(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function G(e,t,n,r,a,o,u){try{var l=e[o](u),i=l.value}catch(e){n(e);return}l.done?t(i):Promise.resolve(i).then(r,a)}function N(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var o=[],u=!0,l=!1;try{for(a=a.call(e);!(u=(n=a.next()).done)&&(o.push(n.value),!t||o.length!==t);u=!0);}catch(e){l=!0,r=e}finally{try{u||null==a.return||a.return()}finally{if(l)throw r}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return U(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return U(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var H=function(){var e=(0,m.k)(),t=(0,r.useFlowContext)(),n=o.App.useApp().notification,a=N((0,u.useState)(!1),2),i=a[0],c=a[1],s=N((0,u.useState)(!1),2),f=s[0],p=s[1],d=N((0,u.useState)(""),2),b=d[0],v=d[1],h=N((0,u.useState)(""),2),g=h[0],E=h[1],C=N((0,u.useState)(null),2),S=C[0],x=C[1],A=N((0,u.useState)([]),2),O=A[0],j=A[1],I=k(),M=w().showCheckBackupMessage,R=y().database,T=R.schema,B=R.dialect,F=function(){v(""),x(null),j([]),E("")},q=function(){c(!1),F()};return l().createElement(l().Fragment,null,l().createElement(o.Button,{icon:l().createElement(P.UploadOutlined,null),onClick:function(){c(!0)}},e("Restore backup from local")),l().createElement(o.Modal,{title:e("Restore backup from local"),open:i,onCancel:q,footer:[l().createElement(o.Button,{key:"back",onClick:q},e("Cancel")),l().createElement(o.Button,{key:"submit",type:"primary",loading:f,onClick:function(){var r;return(r=function(){var r,a,o,u;return function(e,t){var n,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(u,"next",{value:i(0)}),l(u,"throw",{value:i(1)}),l(u,"return",{value:i(2)}),"function"==typeof Symbol&&l(u,Symbol.iterator,{value:function(){return this}}),u;function i(l){return function(i){var c=[l,i];if(n)throw TypeError("Generator is already executing.");for(;u&&(u=0,c[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(l){switch(l.label){case 0:if(!S)return n.error({message:e("Please select a backup file")}),[2];p(!0),(r=new FormData).append("file",S),r.append("password",b),r.append("dbSchema",g),l.label=1;case 1:return l.trys.push([1,3,,4]),[4,t.api.request({url:"backups:upload",method:"post",data:r})];case 2:return I.current=null!=(a=null==(u=l.sent().data)||null==(o=u.data)?void 0:o.task)?a:null,M(),[3,4];case 3:return console.error(l.sent()),[3,4];case 4:return p(!1),c(!1),F(),[2]}})},function(){var e=this,t=arguments;return new Promise(function(n,a){var o=r.apply(e,t);function u(e){G(o,n,a,u,l,"next",e)}function l(e){G(o,n,a,u,l,"throw",e)}u(void 0)})})()}},e("Submit"))]},l().createElement(o.Form,{layout:"vertical",autoComplete:"off"},l().createElement(o.Form.Item,null,l().createElement(o.Upload.Dragger,{onRemove:function(){j([]),x(null)},fileList:O,multiple:!1,maxCount:1,beforeUpload:function(e){return x(e),j([e]),!1}},l().createElement("p",{className:"ant-upload-drag-icon"},l().createElement(P.InboxOutlined,null)),l().createElement("p",{className:"ant-upload-text"},e("Click or drag file to this area to upload")))),["postgres","kingbase"].includes(B)&&l().createElement(o.Form.Item,{label:l().createElement("strong",null,e("Confirm the application database schema")),help:e("Required if application database schema is different with the backup",{currentDbSchemaTips:T?"[".concat(T,"]"):""})},l().createElement(o.Input,{autoComplete:"new-password",value:g,onChange:function(e){return E(e.target.value)}})),l().createElement(o.Form.Item,{colon:!0,label:l().createElement("strong",null,e("Restore password"))},l().createElement(o.Input.Password,{autoComplete:"new-password",value:b,onChange:function(e){return v(e.target.value)}})))))};function z(e,t,n,r,a,o,u){try{var l=e[o](u),i=l.value}catch(e){n(e);return}l.done?t(i):Promise.resolve(i).then(r,a)}var K={data:[]},Y=function(){var e=(0,r.useFlowContext)(),t=(0,a.useRequest)(function(){var t;return(t=function(){var t;return function(e,t){var n,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(u,"next",{value:i(0)}),l(u,"throw",{value:i(1)}),l(u,"return",{value:i(2)}),"function"==typeof Symbol&&l(u,Symbol.iterator,{value:function(){return this}}),u;function i(l){return function(i){var c=[l,i];if(n)throw TypeError("Generator is already executing.");for(;u&&(u=0,c[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(n){switch(n.label){case 0:return[4,e.api.request({url:"".concat(p.C,":list"),method:"get"})];case 1:return[2,null!=(t=n.sent().data)?t:K]}})},function(){var e=this,n=arguments;return new Promise(function(r,a){var o=t.apply(e,n);function u(e){z(o,r,a,u,l,"next",e)}function l(e){z(o,r,a,u,l,"throw",e)}u(void 0)})})()});return l().createElement(d.Provider,{value:t},l().createElement(o.Card,{bordered:!1},l().createElement(o.Space,{style:{float:"right",marginBottom:16}},l().createElement(L,null),l().createElement(H,null),l().createElement(D,null)),l().createElement(I,null)))}},488:function(e,t,n){"use strict";n.d(t,{k:function(){return o}});var r=n(694),a=n(401);function o(){var e=(0,r.useFlowEngine)();return function(t,n){return e.context.t(t,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({ns:[a.C,"client"]},n))}}}}]);
@@ -7,4 +7,4 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
 
10
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("ahooks"),require("@nocobase/client-v2"),require("dayjs"),require("react"),require("antd"),require("@ant-design/icons"),require("@nocobase/flow-engine")):"function"==typeof define&&define.amd?define("@nocobase/plugin-backups/client-v2",["ahooks","@nocobase/client-v2","dayjs","react","antd","@ant-design/icons","@nocobase/flow-engine"],t):"object"==typeof exports?exports["@nocobase/plugin-backups/client-v2"]=t(require("ahooks"),require("@nocobase/client-v2"),require("dayjs"),require("react"),require("antd"),require("@ant-design/icons"),require("@nocobase/flow-engine")):e["@nocobase/plugin-backups/client-v2"]=t(e.ahooks,e["@nocobase/client-v2"],e.dayjs,e.react,e.antd,e["@ant-design/icons"],e["@nocobase/flow-engine"])}(self,function(e,t,n,r,o,i,c){return function(){"use strict";var a,u,l,s={401:function(e,t,n){n.d(t,{C:function(){return r},l:function(){return o}});var r="backups",o="backupRestoreRuntime"},375:function(e){e.exports=i},485:function(e){e.exports=t},694:function(e){e.exports=c},625:function(t){t.exports=e},59:function(e){e.exports=o},185:function(e){e.exports=n},155:function(e){e.exports=r}},p={};function f(e){var t=p[e];if(void 0!==t)return t.exports;var n=p[e]={id:e,exports:{}};return s[e].call(n.exports,n,n.exports,f),n.exports}f.m=s,f.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(t,{a:t}),t},f.d=function(e,t){for(var n in t)f.o(t,n)&&!f.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},f.f={},f.e=function(e){return Promise.all(Object.keys(f.f).reduce(function(t,n){return f.f[n](e,t),t},[]))},f.u=function(e){return""+e+"."+({105:"064f69093e98a2dd",346:"45d02ff0f75c76e4",567:"d39a82a6aa6452a0"})[e]+".js"},f.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),f.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},b={},f.l=function(e,t,n,r){if(b[e])return void b[e].push(t);if(void 0!==n)for(var o,i,c=document.getElementsByTagName("script"),a=0;a<c.length;a++){var u=c[a];if(u.getAttribute("src")==e||u.getAttribute("data-rspack")=="@nocobase/plugin-backups/client-v2:"+n){o=u;break}}o||(i=!0,(o=document.createElement("script")).timeout=120,f.nc&&o.setAttribute("nonce",f.nc),o.setAttribute("data-rspack","@nocobase/plugin-backups/client-v2:"+n),o.src=e),b[e]=[t];var l=function(t,n){o.onerror=o.onload=null,clearTimeout(s);var r=b[e];if(delete b[e],o.parentNode&&o.parentNode.removeChild(o),r&&r.forEach(function(e){return e(n)}),t)return t(n)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),i&&document.head.appendChild(o)},f.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.nc=void 0,f.g.importScripts&&(d=f.g.location+"");var b,d,h=f.g.document;if(!d&&h&&(h.currentScript&&"SCRIPT"===h.currentScript.tagName.toUpperCase()&&(d=h.currentScript.src),!d)){var g=h.getElementsByTagName("script");if(g.length)for(var v=g.length-1;v>-1&&(!d||!/^http(s?):/.test(d));)d=g[v--].src}if(!d)throw Error("Automatic publicPath is not supported in this browser");f.p=d.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a={889:0},f.f.j=function(e,t){var n=f.o(a,e)?a[e]:void 0;if(0!==n)if(n)t.push(n[2]);else{var r=new Promise(function(t,r){n=a[e]=[t,r]});t.push(n[2]=r);var o=f.p+f.u(e),i=Error();f.l(o,function(t){if(f.o(a,e)&&(0!==(n=a[e])&&(a[e]=void 0),n)){var r=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;i.message="Loading chunk "+e+" failed.\n("+r+": "+o+")",i.name="ChunkLoadError",i.type=r,i.request=o,n[1](i)}},"chunk-"+e,e)}},u=function(e,t){var n,r,o=t[0],i=t[1],c=t[2],u=0;if(o.some(function(e){return 0!==a[e]})){for(n in i)f.o(i,n)&&(f.m[n]=i[n]);c&&c(f)}for(e&&e(t);u<o.length;u++)r=o[u],f.o(a,r)&&a[r]&&a[r][0](),a[r]=0},(l=self.webpackChunk_nocobase_plugin_backups_client_v2=self.webpackChunk_nocobase_plugin_backups_client_v2||[]).forEach(u.bind(null,0)),l.push=u.bind(null,l.push.bind(l));var y={};return!function(){var e="",t="u">typeof document?document.currentScript:null;if(t&&t.src&&(e=t.src.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")),!e){var n=window.__webpack_public_path__||"";n&&("/"!==n.charAt(n.length-1)&&(n+="/"),e=n+"static/plugins/@nocobase/plugin-backups/dist/client-v2/")}if(!e){var r=window.__nocobase_modern_client_prefix__||"v",o="/"+(r=String(r).replace(/^\/+|\/+$/g,"")||"v")+"/";if(!(e=window.__nocobase_public_path__||"")&&window.location&&window.location.pathname){var i=window.location.pathname||"/",c=i.indexOf(o);e=c>=0?i.slice(0,c+1):"/"}e&&(e=e.replace(RegExp("/"+r+"/?$"),"/")),e||(e="/"),"/"!==e.charAt(e.length-1)&&(e+="/"),e+="static/plugins/@nocobase/plugin-backups/dist/client-v2/"}f.p=e}(),!function(){f.r(y),f.d(y,{default:function(){return u}});var e=f(485),t=f(401);function n(e,t,n,r,o,i,c){try{var a=e[i](c),u=a.value}catch(e){n(e);return}a.done?t(u):Promise.resolve(u).then(r,o)}function r(e,t,n){return(r=a()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&i(o,n.prototype),o}).apply(null,arguments)}function o(e){return(o=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function i(e,t){return(i=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function c(e){var t="function"==typeof Map?new Map:void 0;return(c=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return r(e,arguments,o(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),i(n,e)})(e)}function a(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(a=function(){return!!e})()}var u=function(e){var r;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function c(){var e,t;if(!(this instanceof c))throw TypeError("Cannot call a class as a function");return e=c,t=arguments,e=o(e),function(e,t){var n;if(t&&("object"==((n=t)&&"u">typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,a()?Reflect.construct(e,t||[],o(this).constructor):e.apply(this,t))}return c.prototype=Object.create(e&&e.prototype,{constructor:{value:c,writable:!0,configurable:!0}}),e&&i(c,e),r=[{key:"load",value:function(){var e;return(e=function(){var e;return function(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},c=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),a=Object.defineProperty;return a(c,"next",{value:u(0)}),a(c,"throw",{value:u(1)}),a(c,"return",{value:u(2)}),"function"==typeof Symbol&&a(c,Symbol.iterator,{value:function(){return this}}),c;function u(a){return function(u){var l=[a,u];if(n)throw TypeError("Generator is already executing.");for(;c&&(c=0,l[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return i.label++,{value:l[1],done:!1};case 5:i.label++,r=l[1],l=[0];continue;case 7:l=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===l[0]||2===l[0])){i=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){i.label=l[1];break}if(6===l[0]&&i.label<o[1]){i.label=o[1],o=l;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(l);break}o[2]&&i.ops.pop(),i.trys.pop();continue}l=t.call(e,i)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}(this,function(n){return e=this.t("Backup manager"),this.flowEngine.context.defineProperty(t.l,{value:this.createBackupRestoreRuntime()}),this.pluginSettingsManager.addMenuItem({key:t.C,title:e,icon:"CloudServerOutlined",showTabs:!0}),this.pluginSettingsManager.addPageTabItem({menuKey:t.C,key:"list",title:this.t("Backup list"),icon:"CloudServerOutlined",aclSnippet:"pm.".concat(t.C),componentLoader:function(){return f.e("567").then(f.bind(f,258))}}),this.pluginSettingsManager.addPageTabItem({menuKey:t.C,key:"settings",title:this.t("Settings"),icon:"SettingOutlined",aclSnippet:"pm.".concat(t.C,".settings"),componentLoader:function(){return Promise.all([f.e("346"),f.e("105")]).then(f.bind(f,696))}}),[2]})},function(){var t=this,r=arguments;return new Promise(function(o,i){var c=e.apply(t,r);function a(e){n(c,o,i,a,u,"next",e)}function u(e){n(c,o,i,a,u,"throw",e)}a(void 0)})}).call(this)}},{key:"createBackupRestoreRuntime",value:function(){var e=this.app;return{showCheckBackupMessage:function(){"function"==typeof e.setMaintaining?e.setMaintaining(!0):e.maintaining=!0,e.error={command:{name:"APP Restoring"},message:"checking backup...",code:"APP_COMMANDING"}},hideCheckBackupMessage:function(){"function"==typeof e.setMaintaining?e.setMaintaining(!1):e.maintaining=!1}}}}],function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(c.prototype,r),c}(c(e.Plugin))}(),y}()});
10
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("ahooks"),require("@nocobase/client-v2"),require("dayjs"),require("react"),require("antd"),require("@ant-design/icons"),require("@nocobase/flow-engine")):"function"==typeof define&&define.amd?define("@nocobase/plugin-backups/client-v2",["ahooks","@nocobase/client-v2","dayjs","react","antd","@ant-design/icons","@nocobase/flow-engine"],t):"object"==typeof exports?exports["@nocobase/plugin-backups/client-v2"]=t(require("ahooks"),require("@nocobase/client-v2"),require("dayjs"),require("react"),require("antd"),require("@ant-design/icons"),require("@nocobase/flow-engine")):e["@nocobase/plugin-backups/client-v2"]=t(e.ahooks,e["@nocobase/client-v2"],e.dayjs,e.react,e.antd,e["@ant-design/icons"],e["@nocobase/flow-engine"])}(self,function(e,t,n,r,o,i,c){return function(){"use strict";var a,u,l,s={401:function(e,t,n){n.d(t,{C:function(){return r},l:function(){return o}});var r="backups",o="backupRestoreRuntime"},375:function(e){e.exports=i},485:function(e){e.exports=t},694:function(e){e.exports=c},625:function(t){t.exports=e},59:function(e){e.exports=o},185:function(e){e.exports=n},155:function(e){e.exports=r}},p={};function f(e){var t=p[e];if(void 0!==t)return t.exports;var n=p[e]={id:e,exports:{}};return s[e].call(n.exports,n,n.exports,f),n.exports}f.m=s,f.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(t,{a:t}),t},f.d=function(e,t){for(var n in t)f.o(t,n)&&!f.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},f.f={},f.e=function(e){return Promise.all(Object.keys(f.f).reduce(function(t,n){return f.f[n](e,t),t},[]))},f.u=function(e){return""+e+"."+({105:"064f69093e98a2dd",346:"45d02ff0f75c76e4",567:"5dc7a93062ea3649"})[e]+".js"},f.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),f.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},b={},f.l=function(e,t,n,r){if(b[e])return void b[e].push(t);if(void 0!==n)for(var o,i,c=document.getElementsByTagName("script"),a=0;a<c.length;a++){var u=c[a];if(u.getAttribute("src")==e||u.getAttribute("data-rspack")=="@nocobase/plugin-backups/client-v2:"+n){o=u;break}}o||(i=!0,(o=document.createElement("script")).timeout=120,f.nc&&o.setAttribute("nonce",f.nc),o.setAttribute("data-rspack","@nocobase/plugin-backups/client-v2:"+n),o.src=e),b[e]=[t];var l=function(t,n){o.onerror=o.onload=null,clearTimeout(s);var r=b[e];if(delete b[e],o.parentNode&&o.parentNode.removeChild(o),r&&r.forEach(function(e){return e(n)}),t)return t(n)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),i&&document.head.appendChild(o)},f.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.nc=void 0,f.g.importScripts&&(d=f.g.location+"");var b,d,g=f.g.document;if(!d&&g&&(g.currentScript&&"SCRIPT"===g.currentScript.tagName.toUpperCase()&&(d=g.currentScript.src),!d)){var h=g.getElementsByTagName("script");if(h.length)for(var v=h.length-1;v>-1&&(!d||!/^http(s?):/.test(d));)d=h[v--].src}if(!d)throw Error("Automatic publicPath is not supported in this browser");f.p=d.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a={889:0},f.f.j=function(e,t){var n=f.o(a,e)?a[e]:void 0;if(0!==n)if(n)t.push(n[2]);else{var r=new Promise(function(t,r){n=a[e]=[t,r]});t.push(n[2]=r);var o=f.p+f.u(e),i=Error();f.l(o,function(t){if(f.o(a,e)&&(0!==(n=a[e])&&(a[e]=void 0),n)){var r=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;i.message="Loading chunk "+e+" failed.\n("+r+": "+o+")",i.name="ChunkLoadError",i.type=r,i.request=o,n[1](i)}},"chunk-"+e,e)}},u=function(e,t){var n,r,o=t[0],i=t[1],c=t[2],u=0;if(o.some(function(e){return 0!==a[e]})){for(n in i)f.o(i,n)&&(f.m[n]=i[n]);c&&c(f)}for(e&&e(t);u<o.length;u++)r=o[u],f.o(a,r)&&a[r]&&a[r][0](),a[r]=0},(l=self.webpackChunk_nocobase_plugin_backups_client_v2=self.webpackChunk_nocobase_plugin_backups_client_v2||[]).forEach(u.bind(null,0)),l.push=u.bind(null,l.push.bind(l));var y={};return!function(){var e="",t="u">typeof document?document.currentScript:null;if(t&&t.src){var n=t.src.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"");n.indexOf("/static/plugins/@nocobase/plugin-backups/dist/client-v2/")>=0&&(e=n.replace(/\/[^\/]+$/,"/"))}if(!e){var r=window.__webpack_public_path__||"";r&&("/"!==r.charAt(r.length-1)&&(r+="/"),e=r+"static/plugins/@nocobase/plugin-backups/dist/client-v2/")}if(!e){var o=window.__nocobase_modern_client_prefix__||"v",i="/"+(o=String(o).replace(/^\/+|\/+$/g,"")||"v")+"/";if(!(e=window.__nocobase_public_path__||"")&&window.location&&window.location.pathname){var c=window.location.pathname||"/",a=c.indexOf(i);e=a>=0?c.slice(0,a+1):"/"}e&&(e=e.replace(RegExp("/"+o+"/?$"),"/")),e||(e="/"),"/"!==e.charAt(e.length-1)&&(e+="/"),e+="static/plugins/@nocobase/plugin-backups/dist/client-v2/"}f.p=e}(),!function(){f.r(y),f.d(y,{default:function(){return u}});var e=f(485),t=f(401);function n(e,t,n,r,o,i,c){try{var a=e[i](c),u=a.value}catch(e){n(e);return}a.done?t(u):Promise.resolve(u).then(r,o)}function r(e,t,n){return(r=a()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&i(o,n.prototype),o}).apply(null,arguments)}function o(e){return(o=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function i(e,t){return(i=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function c(e){var t="function"==typeof Map?new Map:void 0;return(c=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return r(e,arguments,o(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),i(n,e)})(e)}function a(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(a=function(){return!!e})()}var u=function(e){var r;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function c(){var e,t;if(!(this instanceof c))throw TypeError("Cannot call a class as a function");return e=c,t=arguments,e=o(e),function(e,t){var n;if(t&&("object"==((n=t)&&"u">typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,a()?Reflect.construct(e,t||[],o(this).constructor):e.apply(this,t))}return c.prototype=Object.create(e&&e.prototype,{constructor:{value:c,writable:!0,configurable:!0}}),e&&i(c,e),r=[{key:"load",value:function(){var e;return(e=function(){var e;return function(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},c=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),a=Object.defineProperty;return a(c,"next",{value:u(0)}),a(c,"throw",{value:u(1)}),a(c,"return",{value:u(2)}),"function"==typeof Symbol&&a(c,Symbol.iterator,{value:function(){return this}}),c;function u(a){return function(u){var l=[a,u];if(n)throw TypeError("Generator is already executing.");for(;c&&(c=0,l[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return i.label++,{value:l[1],done:!1};case 5:i.label++,r=l[1],l=[0];continue;case 7:l=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===l[0]||2===l[0])){i=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){i.label=l[1];break}if(6===l[0]&&i.label<o[1]){i.label=o[1],o=l;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(l);break}o[2]&&i.ops.pop(),i.trys.pop();continue}l=t.call(e,i)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}(this,function(n){return e=this.t("Backup manager"),this.flowEngine.context.defineProperty(t.l,{value:this.createBackupRestoreRuntime()}),this.pluginSettingsManager.addMenuItem({key:t.C,title:e,icon:"CloudServerOutlined",showTabs:!0}),this.pluginSettingsManager.addPageTabItem({menuKey:t.C,key:"list",title:this.t("Backup list"),icon:"CloudServerOutlined",aclSnippet:"pm.".concat(t.C),componentLoader:function(){return f.e("567").then(f.bind(f,258))}}),this.pluginSettingsManager.addPageTabItem({menuKey:t.C,key:"settings",title:this.t("Settings"),icon:"SettingOutlined",aclSnippet:"pm.".concat(t.C,".settings"),componentLoader:function(){return Promise.all([f.e("346"),f.e("105")]).then(f.bind(f,696))}}),[2]})},function(){var t=this,r=arguments;return new Promise(function(o,i){var c=e.apply(t,r);function a(e){n(c,o,i,a,u,"next",e)}function u(e){n(c,o,i,a,u,"throw",e)}a(void 0)})}).call(this)}},{key:"createBackupRestoreRuntime",value:function(){var e=this.app;return{showCheckBackupMessage:function(){"function"==typeof e.setMaintaining?e.setMaintaining(!0):e.maintaining=!0,e.error={command:{name:"APP Restoring"},message:"checking backup...",code:"APP_COMMANDING"}},hideCheckBackupMessage:function(){"function"==typeof e.setMaintaining?e.setMaintaining(!1):e.maintaining=!1}}}}],function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(c.prototype,r),c}(c(e.Plugin))}(),y}()});
@@ -8,17 +8,17 @@
8
8
  */
9
9
 
10
10
  module.exports = {
11
- "@nocobase/client": "2.2.0-beta.5",
11
+ "@nocobase/client": "2.2.0-beta.6",
12
12
  "react": "18.2.0",
13
- "@nocobase/flow-engine": "2.2.0-beta.5",
14
- "@nocobase/client-v2": "2.2.0-beta.5",
15
- "@nocobase/cache": "2.2.0-beta.5",
16
- "@nocobase/lock-manager": "2.2.0-beta.5",
17
- "@nocobase/server": "2.2.0-beta.5",
13
+ "@nocobase/flow-engine": "2.2.0-beta.6",
14
+ "@nocobase/client-v2": "2.2.0-beta.6",
15
+ "@nocobase/cache": "2.2.0-beta.6",
16
+ "@nocobase/lock-manager": "2.2.0-beta.6",
17
+ "@nocobase/server": "2.2.0-beta.6",
18
18
  "lodash": "4.18.1",
19
- "@nocobase/database": "2.2.0-beta.5",
19
+ "@nocobase/database": "2.2.0-beta.6",
20
20
  "sequelize": "6.35.2",
21
- "@nocobase/test": "2.2.0-beta.5",
21
+ "@nocobase/test": "2.2.0-beta.6",
22
22
  "@formily/antd-v5": "1.2.3",
23
23
  "@formily/react": "2.3.7",
24
24
  "@formily/reactive": "2.3.7",
@@ -27,7 +27,7 @@ module.exports = {
27
27
  "@ant-design/icons": "5.6.1",
28
28
  "ahooks": "3.7.8",
29
29
  "dayjs": "1.11.13",
30
- "@nocobase/plugin-file-manager": "2.2.0-beta.5",
31
- "@nocobase/resourcer": "2.2.0-beta.5",
32
- "@nocobase/utils": "2.2.0-beta.5"
30
+ "@nocobase/plugin-file-manager": "2.2.0-beta.6",
31
+ "@nocobase/resourcer": "2.2.0-beta.6",
32
+ "@nocobase/utils": "2.2.0-beta.6"
33
33
  };
@@ -1 +1 @@
1
- {"name":"archiver","version":"5.3.2","description":"a streaming interface for archive generation","homepage":"https://github.com/archiverjs/node-archiver","author":{"name":"Chris Talkington","url":"http://christalkington.com/"},"repository":{"type":"git","url":"https://github.com/archiverjs/node-archiver.git"},"bugs":{"url":"https://github.com/archiverjs/node-archiver/issues"},"license":"MIT","main":"index.js","files":["index.js","lib"],"engines":{"node":">= 10"},"scripts":{"test":"mocha --reporter dot","bench":"node benchmark/simple/pack-zip.js"},"dependencies":{"archiver-utils":"^2.1.0","async":"^3.2.4","buffer-crc32":"^0.2.1","readable-stream":"^3.6.0","readdir-glob":"^1.1.2","tar-stream":"^2.2.0","zip-stream":"^4.1.0"},"devDependencies":{"archiver-jsdoc-theme":"^1.1.3","chai":"^4.3.7","jsdoc":"^3.6.4","mkdirp":"^2.1.5","mocha":"^9.0.2","rimraf":"^4.3.1","stream-bench":"^0.1.2","tar":"^6.1.13","yauzl":"^2.9.0"},"keywords":["archive","archiver","stream","zip","tar"],"publishConfig":{"registry":"https://registry.npmjs.org/"},"_lastModified":"2026-06-16T14:52:01.696Z"}
1
+ {"name":"archiver","version":"5.3.2","description":"a streaming interface for archive generation","homepage":"https://github.com/archiverjs/node-archiver","author":{"name":"Chris Talkington","url":"http://christalkington.com/"},"repository":{"type":"git","url":"https://github.com/archiverjs/node-archiver.git"},"bugs":{"url":"https://github.com/archiverjs/node-archiver/issues"},"license":"MIT","main":"index.js","files":["index.js","lib"],"engines":{"node":">= 10"},"scripts":{"test":"mocha --reporter dot","bench":"node benchmark/simple/pack-zip.js"},"dependencies":{"archiver-utils":"^2.1.0","async":"^3.2.4","buffer-crc32":"^0.2.1","readable-stream":"^3.6.0","readdir-glob":"^1.1.2","tar-stream":"^2.2.0","zip-stream":"^4.1.0"},"devDependencies":{"archiver-jsdoc-theme":"^1.1.3","chai":"^4.3.7","jsdoc":"^3.6.4","mkdirp":"^2.1.5","mocha":"^9.0.2","rimraf":"^4.3.1","stream-bench":"^0.1.2","tar":"^6.1.13","yauzl":"^2.9.0"},"keywords":["archive","archiver","stream","zip","tar"],"publishConfig":{"registry":"https://registry.npmjs.org/"},"_lastModified":"2026-06-22T05:35:29.943Z"}
@@ -1 +1 @@
1
- {"name":"cron-parser","version":"4.4.0","description":"Node.js library for parsing crontab instructions","main":"lib/parser.js","types":"index.d.ts","typesVersions":{"<4.1":{"*":["types/ts3/*"]}},"directories":{"test":"test"},"scripts":{"test:tsd":"tsd","test:unit":"TZ=UTC tap ./test/*.js","test:cover":"TZ=UTC tap --coverage-report=html ./test/*.js","lint":"eslint .","lint:fix":"eslint --fix .","test":"npm run lint && npm run test:unit && npm run test:tsd"},"repository":{"type":"git","url":"https://github.com/harrisiirak/cron-parser.git"},"keywords":["cron","crontab","parser"],"author":"Harri Siirak","contributors":["Nicholas Clawson","Daniel Prentis <daniel@salsitasoft.com>","Renault John Lecoultre","Richard Astbury <richard.astbury@gmail.com>","Meaglin Wasabi <Meaglin.wasabi@gmail.com>","Mike Kusold <hello@mikekusold.com>","Alex Kit <alex.kit@atmajs.com>","Santiago Gimeno <santiago.gimeno@gmail.com>","Daniel <darc.tec@gmail.com>","Christian Steininger <christian.steininger.cs@gmail.com>","Mykola Piskovyi <m.piskovyi@gmail.com>","Brian Vaughn <brian.david.vaughn@gmail.com>","Nicholas Clawson <nickclaw@gmail.com>","Yasuhiroki <yasuhiroki.duck@gmail.com>","Nicholas Clawson <nickclaw@gmail.com>","Brendan Warkentin <faazshift@gmail.com>","Charlie Fish <fishcharlie.code@gmail.com>","Ian Graves <ian+diskimage@iangrav.es>","Andy Thompson <me@andytson.com>","Regev Brody <regevbr@gmail.com>"],"license":"MIT","dependencies":{"luxon":"^1.28.0"},"devDependencies":{"eslint":"^8.2.0","sinon":"^10.0.0","tap":"^16.0.1","tsd":"^0.19.0"},"engines":{"node":">=0.8"},"browser":{"fs":false},"tap":{"check-coverage":false},"tsd":{"directory":"test","compilerOptions":{"lib":["es2017","dom"]}},"_lastModified":"2026-06-16T14:52:00.178Z"}
1
+ {"name":"cron-parser","version":"4.4.0","description":"Node.js library for parsing crontab instructions","main":"lib/parser.js","types":"index.d.ts","typesVersions":{"<4.1":{"*":["types/ts3/*"]}},"directories":{"test":"test"},"scripts":{"test:tsd":"tsd","test:unit":"TZ=UTC tap ./test/*.js","test:cover":"TZ=UTC tap --coverage-report=html ./test/*.js","lint":"eslint .","lint:fix":"eslint --fix .","test":"npm run lint && npm run test:unit && npm run test:tsd"},"repository":{"type":"git","url":"https://github.com/harrisiirak/cron-parser.git"},"keywords":["cron","crontab","parser"],"author":"Harri Siirak","contributors":["Nicholas Clawson","Daniel Prentis <daniel@salsitasoft.com>","Renault John Lecoultre","Richard Astbury <richard.astbury@gmail.com>","Meaglin Wasabi <Meaglin.wasabi@gmail.com>","Mike Kusold <hello@mikekusold.com>","Alex Kit <alex.kit@atmajs.com>","Santiago Gimeno <santiago.gimeno@gmail.com>","Daniel <darc.tec@gmail.com>","Christian Steininger <christian.steininger.cs@gmail.com>","Mykola Piskovyi <m.piskovyi@gmail.com>","Brian Vaughn <brian.david.vaughn@gmail.com>","Nicholas Clawson <nickclaw@gmail.com>","Yasuhiroki <yasuhiroki.duck@gmail.com>","Nicholas Clawson <nickclaw@gmail.com>","Brendan Warkentin <faazshift@gmail.com>","Charlie Fish <fishcharlie.code@gmail.com>","Ian Graves <ian+diskimage@iangrav.es>","Andy Thompson <me@andytson.com>","Regev Brody <regevbr@gmail.com>"],"license":"MIT","dependencies":{"luxon":"^1.28.0"},"devDependencies":{"eslint":"^8.2.0","sinon":"^10.0.0","tap":"^16.0.1","tsd":"^0.19.0"},"engines":{"node":">=0.8"},"browser":{"fs":false},"tap":{"check-coverage":false},"tsd":{"directory":"test","compilerOptions":{"lib":["es2017","dom"]}},"_lastModified":"2026-06-22T05:35:28.434Z"}
@@ -1 +1 @@
1
- {"name":"fs-extra","version":"9.1.0","description":"fs-extra contains methods that aren't included in the vanilla Node.js fs package. Such as recursive mkdir, copy, and remove.","engines":{"node":">=10"},"homepage":"https://github.com/jprichardson/node-fs-extra","repository":{"type":"git","url":"https://github.com/jprichardson/node-fs-extra"},"keywords":["fs","file","file system","copy","directory","extra","mkdirp","mkdir","mkdirs","recursive","json","read","write","extra","delete","remove","touch","create","text","output","move","promise"],"author":"JP Richardson <jprichardson@gmail.com>","license":"MIT","dependencies":{"at-least-node":"^1.0.0","graceful-fs":"^4.2.0","jsonfile":"^6.0.1","universalify":"^2.0.0"},"devDependencies":{"coveralls":"^3.0.0","klaw":"^2.1.1","klaw-sync":"^3.0.2","minimist":"^1.1.1","mocha":"^5.0.5","nyc":"^15.0.0","proxyquire":"^2.0.1","read-dir-files":"^0.1.1","standard":"^14.1.0"},"main":"./lib/index.js","files":["lib/","!lib/**/__tests__/"],"scripts":{"full-ci":"npm run lint && npm run coverage","coverage":"nyc -r lcovonly npm run unit","coveralls":"coveralls < coverage/lcov.info","lint":"standard","test-find":"find ./lib/**/__tests__ -name *.test.js | xargs mocha","test":"npm run lint && npm run unit","unit":"node test.js"},"_lastModified":"2026-06-16T14:52:00.547Z"}
1
+ {"name":"fs-extra","version":"9.1.0","description":"fs-extra contains methods that aren't included in the vanilla Node.js fs package. Such as recursive mkdir, copy, and remove.","engines":{"node":">=10"},"homepage":"https://github.com/jprichardson/node-fs-extra","repository":{"type":"git","url":"https://github.com/jprichardson/node-fs-extra"},"keywords":["fs","file","file system","copy","directory","extra","mkdirp","mkdir","mkdirs","recursive","json","read","write","extra","delete","remove","touch","create","text","output","move","promise"],"author":"JP Richardson <jprichardson@gmail.com>","license":"MIT","dependencies":{"at-least-node":"^1.0.0","graceful-fs":"^4.2.0","jsonfile":"^6.0.1","universalify":"^2.0.0"},"devDependencies":{"coveralls":"^3.0.0","klaw":"^2.1.1","klaw-sync":"^3.0.2","minimist":"^1.1.1","mocha":"^5.0.5","nyc":"^15.0.0","proxyquire":"^2.0.1","read-dir-files":"^0.1.1","standard":"^14.1.0"},"main":"./lib/index.js","files":["lib/","!lib/**/__tests__/"],"scripts":{"full-ci":"npm run lint && npm run coverage","coverage":"nyc -r lcovonly npm run unit","coveralls":"coveralls < coverage/lcov.info","lint":"standard","test-find":"find ./lib/**/__tests__ -name *.test.js | xargs mocha","test":"npm run lint && npm run unit","unit":"node test.js"},"_lastModified":"2026-06-22T05:35:28.785Z"}
@@ -1 +1 @@
1
- {"name":"semver","version":"7.6.0","description":"The semantic version parser used by npm.","main":"index.js","scripts":{"test":"tap","snap":"tap","lint":"eslint \"**/*.{js,cjs,ts,mjs,jsx,tsx}\"","postlint":"template-oss-check","lintfix":"npm run lint -- --fix","posttest":"npm run lint","template-oss-apply":"template-oss-apply --force"},"devDependencies":{"@npmcli/eslint-config":"^4.0.0","@npmcli/template-oss":"4.21.3","tap":"^16.0.0"},"license":"ISC","repository":{"type":"git","url":"https://github.com/npm/node-semver.git"},"bin":{"semver":"bin/semver.js"},"files":["bin/","lib/","classes/","functions/","internal/","ranges/","index.js","preload.js","range.bnf"],"tap":{"timeout":30,"coverage-map":"map.js","nyc-arg":["--exclude","tap-snapshots/**"]},"engines":{"node":">=10"},"dependencies":{"lru-cache":"^6.0.0"},"author":"GitHub Inc.","templateOSS":{"//@npmcli/template-oss":"This file is partially managed by @npmcli/template-oss. Edits may be overwritten.","version":"4.21.3","engines":">=10","distPaths":["classes/","functions/","internal/","ranges/","index.js","preload.js","range.bnf"],"allowPaths":["/classes/","/functions/","/internal/","/ranges/","/index.js","/preload.js","/range.bnf"],"publish":"true"},"_lastModified":"2026-06-16T14:52:02.268Z"}
1
+ {"name":"semver","version":"7.6.0","description":"The semantic version parser used by npm.","main":"index.js","scripts":{"test":"tap","snap":"tap","lint":"eslint \"**/*.{js,cjs,ts,mjs,jsx,tsx}\"","postlint":"template-oss-check","lintfix":"npm run lint -- --fix","posttest":"npm run lint","template-oss-apply":"template-oss-apply --force"},"devDependencies":{"@npmcli/eslint-config":"^4.0.0","@npmcli/template-oss":"4.21.3","tap":"^16.0.0"},"license":"ISC","repository":{"type":"git","url":"https://github.com/npm/node-semver.git"},"bin":{"semver":"bin/semver.js"},"files":["bin/","lib/","classes/","functions/","internal/","ranges/","index.js","preload.js","range.bnf"],"tap":{"timeout":30,"coverage-map":"map.js","nyc-arg":["--exclude","tap-snapshots/**"]},"engines":{"node":">=10"},"dependencies":{"lru-cache":"^6.0.0"},"author":"GitHub Inc.","templateOSS":{"//@npmcli/template-oss":"This file is partially managed by @npmcli/template-oss. Edits may be overwritten.","version":"4.21.3","engines":">=10","distPaths":["classes/","functions/","internal/","ranges/","index.js","preload.js","range.bnf"],"allowPaths":["/classes/","/functions/","/internal/","/ranges/","/index.js","/preload.js","/range.bnf"],"publish":"true"},"_lastModified":"2026-06-22T05:35:30.624Z"}
@@ -1 +1 @@
1
- {"name":"yauzl","version":"3.3.0","description":"yet another unzip library for node","engines":{"node":">=12"},"main":"index.js","scripts":{"test":"node test/test.js"},"repository":{"type":"git","url":"git+https://github.com/thejoshwolfe/yauzl.git"},"keywords":["unzip","zip","stream","archive","file"],"author":"Josh Wolfe <thejoshwolfe@gmail.com>","license":"MIT","bugs":{"url":"https://github.com/thejoshwolfe/yauzl/issues"},"homepage":"https://github.com/thejoshwolfe/yauzl","dependencies":{"buffer-crc32":"~0.2.3","pend":"~1.2.0"},"devDependencies":{"bl":"^6.0.11"},"files":["fd-slicer.js","index.js"],"_lastModified":"2026-06-16T14:52:00.372Z"}
1
+ {"name":"yauzl","version":"3.3.0","description":"yet another unzip library for node","engines":{"node":">=12"},"main":"index.js","scripts":{"test":"node test/test.js"},"repository":{"type":"git","url":"git+https://github.com/thejoshwolfe/yauzl.git"},"keywords":["unzip","zip","stream","archive","file"],"author":"Josh Wolfe <thejoshwolfe@gmail.com>","license":"MIT","bugs":{"url":"https://github.com/thejoshwolfe/yauzl/issues"},"homepage":"https://github.com/thejoshwolfe/yauzl","dependencies":{"buffer-crc32":"~0.2.3","pend":"~1.2.0"},"devDependencies":{"bl":"^6.0.11"},"files":["fd-slicer.js","index.js"],"_lastModified":"2026-06-22T05:35:28.614Z"}
@@ -17,9 +17,12 @@ export type DBRestoreOptions = {
17
17
  filePath: string;
18
18
  schema?: string;
19
19
  skipDropAllTables?: boolean;
20
+ toolchain?: DBBackupToolchain;
20
21
  };
22
+ export type DBBackupToolchain = 'postgres' | 'kingbase';
21
23
  export interface DBAdapter {
22
24
  dbOpts: DatabaseOptions;
25
+ backupToolchain?: DBBackupToolchain;
23
26
  backup(options: DBBackupOptions): Promise<void>;
24
27
  restore(options: DBRestoreOptions): Promise<void>;
25
28
  check(op: 'backup' | 'restore'): Promise<void>;
@@ -97,6 +97,14 @@ class BaseDBAdapter {
97
97
  );
98
98
  }
99
99
  };
100
+ hasCommand(command) {
101
+ try {
102
+ (0, import_child_process.execSync)(`${command} --version`);
103
+ return true;
104
+ } catch (_error) {
105
+ return false;
106
+ }
107
+ }
100
108
  }
101
109
  class MySQLAdapter extends BaseDBAdapter {
102
110
  #backupCmd = "mysqldump";
@@ -327,24 +335,36 @@ class MySQLAdapter extends BaseDBAdapter {
327
335
  }
328
336
  }
329
337
  class PostgresAdapter extends BaseDBAdapter {
330
- get #backupCmd() {
338
+ get backupToolchain() {
339
+ return "postgres";
340
+ }
341
+ getBackupCommandName(_toolchain = this.backupToolchain) {
331
342
  return formatPathInEnv(process.env.PG_DUMP_PATH) || "pg_dump";
332
343
  }
333
- get #restoreCmd() {
344
+ getRestoreCommandName(_toolchain = this.backupToolchain) {
334
345
  return formatPathInEnv(process.env.PG_RESTORE_PATH) || "pg_restore";
335
346
  }
347
+ getSqlCommandName(_toolchain = this.backupToolchain) {
348
+ return formatPathInEnv(process.env.PSQL_PATH) || "psql";
349
+ }
350
+ getPasswordEnvVars(password, _toolchain = this.backupToolchain) {
351
+ return { PGPASSWORD: password };
352
+ }
353
+ getBackupSchema() {
354
+ return this.dbOpts.schema;
355
+ }
336
356
  async check(op) {
337
357
  switch (op) {
338
358
  case "backup":
339
- this.assertCommand(this.#backupCmd);
359
+ this.assertCommand(this.getBackupCommandName());
340
360
  break;
341
361
  case "restore":
342
- this.assertCommand(this.#restoreCmd);
362
+ this.assertCommand(this.getRestoreCommandName());
343
363
  break;
344
364
  }
345
365
  }
346
366
  async clientVersion(op) {
347
- const cmd = op === "backup" ? this.#backupCmd : this.#restoreCmd;
367
+ const cmd = op === "backup" ? this.getBackupCommandName() : this.getRestoreCommandName();
348
368
  try {
349
369
  return (0, import_child_process.execSync)(`${cmd} --version`).toString();
350
370
  } catch (_error) {
@@ -352,15 +372,21 @@ class PostgresAdapter extends BaseDBAdapter {
352
372
  }
353
373
  }
354
374
  async backup({ dir, includeTables, excludeTables }) {
355
- const { username, host, port, database, password, schema: backupSchema } = this.dbOpts;
375
+ const { username, host, port, database, password } = this.dbOpts;
356
376
  const filePath = `${dir}/data`;
377
+ const backupSchema = this.getBackupSchema();
357
378
  const schemaOption = backupSchema ? `--schema=${backupSchema}` : "";
358
379
  const includeOption = Array.isArray(includeTables) && includeTables.length ? includeTables.map((table) => `-t ${quotePgTablePattern(qualifyPgTablePattern(table, backupSchema))}`).join(" ") : "";
359
380
  const excludeOption = Array.isArray(excludeTables) && excludeTables.length ? excludeTables.map((table) => `-T ${quotePgTablePattern(qualifyPgTablePattern(table, backupSchema))}`).join(" ") : "";
360
- const command = `${this.#backupCmd} ${includeOption} ${excludeOption} -U ${username} -h ${host} ${port ? `-p ${port}` : ""} -F c -b --quote-all-identifiers ${schemaOption} -f ${filePath} ${database}`;
361
- await run(command, { PGPASSWORD: password });
381
+ const command = `${this.getBackupCommandName()} ${includeOption} ${excludeOption} -U ${username} -h ${host} ${port ? `-p ${port}` : ""} -F c -b --quote-all-identifiers ${schemaOption} -f ${filePath} ${database}`;
382
+ await run(command, this.getPasswordEnvVars(password));
362
383
  }
363
- async restore({ filePath, schema, skipDropAllTables = false }) {
384
+ async restore({
385
+ filePath,
386
+ schema,
387
+ skipDropAllTables = false,
388
+ toolchain = this.backupToolchain
389
+ }) {
364
390
  const { username, host, port, database, password } = this.dbOpts;
365
391
  let schemaOption = this.dbOpts.schema;
366
392
  if (schema && !schemaOption) {
@@ -377,7 +403,7 @@ class PostgresAdapter extends BaseDBAdapter {
377
403
  const schemaNameCondition = schemaOption ? `WHERE schemaname = '${schemaOption}'` : `WHERE schemaname NOT IN ('pg_catalog', 'information_schema')`;
378
404
  const relnamespaceCondition = schemaOption ? `WHERE relnamespace = '${schemaOption}'::regnamespace` : `WHERE tgrelid IN (SELECT oid FROM pg_class WHERE relnamespace NOT IN (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname IN ('pg_catalog', 'information_schema')))`;
379
405
  if (!skipDropAllTables) {
380
- const dropDataCommand = `psql -U ${username} -h ${host} ${port ? `-p ${port}` : ""} -d ${database} -c "
406
+ const dropDataCommand = `${this.getSqlCommandName(toolchain)} -U ${username} -h ${host} ${port ? `-p ${port}` : ""} -d ${database} -c "
381
407
  DO ${D$$} DECLARE r RECORD;
382
408
  BEGIN
383
409
  FOR r IN (SELECT viewname,schemaname FROM pg_views ${schemaNameCondition}) LOOP
@@ -417,21 +443,26 @@ class PostgresAdapter extends BaseDBAdapter {
417
443
  END LOOP;
418
444
 
419
445
  END ${D$$};"`.replace(/\n/g, " ");
420
- await run(dropDataCommand, { PGPASSWORD: password });
446
+ await run(dropDataCommand, this.getPasswordEnvVars(password, toolchain));
421
447
  }
422
448
  if (schema === schemaOption || !schemaOption) {
423
- const pgRestoreCommand = `${this.#restoreCmd} -U ${username} -h ${host} ${port ? `-p ${port}` : ""} -d ${database} --clean --if-exists --no-owner -j ${j} ${filePath}`;
424
- await run(pgRestoreCommand, { PGPASSWORD: password });
449
+ const pgRestoreCommand = `${this.getRestoreCommandName(toolchain)} -U ${username} -h ${host} ${port ? `-p ${port}` : ""} -d ${database} --clean --if-exists --no-owner -j ${j} ${filePath}`;
450
+ await run(pgRestoreCommand, this.getPasswordEnvVars(password, toolchain));
425
451
  } else {
426
452
  const srcSchema = schema || "public";
427
- const pgRestoreCommand = `${this.#restoreCmd} -U ${username} -h ${host} ${port ? `-p ${port}` : ""} -n ${srcSchema} -d ${database} --clean --if-exists --no-owner -j ${j} ${filePath}`;
428
- await this.#restoreSchema(srcSchema, schemaOption, pgRestoreCommand);
453
+ const pgRestoreCommand = this.buildSchemaRestoreCommand(srcSchema, schemaOption, filePath, j, toolchain);
454
+ await this.restoreSchema(srcSchema, schemaOption, pgRestoreCommand, toolchain);
429
455
  }
430
456
  }
431
- async #restoreSchema(srcSchema, targetSchema, pgRestoreCommand) {
457
+ buildSchemaRestoreCommand(srcSchema, _targetSchema, filePath, jobs, toolchain = this.backupToolchain) {
458
+ const { username, host, port, database } = this.dbOpts;
459
+ return `${this.getRestoreCommandName(toolchain)} -U ${username} -h ${host} ${port ? `-p ${port}` : ""} -n ${srcSchema} -d ${database} --clean --if-exists --no-owner -j ${jobs} ${filePath}`;
460
+ }
461
+ async restoreSchema(srcSchema, targetSchema, pgRestoreCommand, toolchain = this.backupToolchain) {
432
462
  const { username, host, port, database, password } = this.dbOpts;
433
463
  const ts = Date.now();
434
- const preCommand = `psql -U ${username} -h ${host} ${port ? `-p ${port}` : ""} -d ${database} -c "
464
+ const sqlCommandName = this.getSqlCommandName(toolchain);
465
+ const preCommand = `${sqlCommandName} -U ${username} -h ${host} ${port ? `-p ${port}` : ""} -d ${database} -c "
435
466
  DO ${D$$}
436
467
  BEGIN
437
468
  IF EXISTS (SELECT 1 FROM information_schema.schemata WHERE schema_name = '${srcSchema}') THEN
@@ -439,7 +470,7 @@ class PostgresAdapter extends BaseDBAdapter {
439
470
  END IF;
440
471
  EXECUTE 'CREATE SCHEMA ${srcSchema}';
441
472
  END ${D$$};"`.replace(/\n/g, " ");
442
- const postCommand = `psql -U ${username} -h ${host} ${port ? `-p ${port}` : ""} -d ${database} -c "
473
+ const postCommand = `${sqlCommandName} -U ${username} -h ${host} ${port ? `-p ${port}` : ""} -d ${database} -c "
443
474
  DO ${D$$}
444
475
  BEGIN
445
476
  EXECUTE 'DROP SCHEMA ${targetSchema} CASCADE';
@@ -448,21 +479,21 @@ class PostgresAdapter extends BaseDBAdapter {
448
479
  EXECUTE 'ALTER SCHEMA ${srcSchema}_${ts} RENAME TO ${srcSchema}';
449
480
  END IF;
450
481
  END ${D$$};"`.replace(/\n/g, " ");
451
- await run(preCommand, { PGPASSWORD: password });
482
+ await run(preCommand, this.getPasswordEnvVars(password, toolchain));
452
483
  try {
453
- await run(pgRestoreCommand, { PGPASSWORD: password });
484
+ await run(pgRestoreCommand, this.getPasswordEnvVars(password, toolchain));
454
485
  } finally {
455
- await run(postCommand, { PGPASSWORD: password });
486
+ await run(postCommand, this.getPasswordEnvVars(password, toolchain));
456
487
  }
457
- await this.#syncCollectionSchemaMetadata(srcSchema, targetSchema);
488
+ await this.syncCollectionSchemaMetadata(srcSchema, targetSchema, toolchain);
458
489
  }
459
- async #syncCollectionSchemaMetadata(srcSchema, targetSchema) {
490
+ async syncCollectionSchemaMetadata(srcSchema, targetSchema, toolchain = this.backupToolchain) {
460
491
  const { username, host, port, database, password, tablePrefix } = this.dbOpts;
461
492
  const collectionsTable = `${tablePrefix || ""}collections`;
462
493
  const targetSchemaLiteral = escapeStringLiteral(targetSchema);
463
494
  const srcSchemaLiteral = escapeStringLiteral(srcSchema);
464
495
  const collectionsTableLiteral = escapeStringLiteral(collectionsTable);
465
- const updateCollectionSchemaCommand = `psql -U ${username} -h ${host} ${port ? `-p ${port}` : ""} -d ${database} -c "
496
+ const updateCollectionSchemaCommand = `${this.getSqlCommandName(toolchain)} -U ${username} -h ${host} ${port ? `-p ${port}` : ""} -d ${database} -c "
466
497
  DO ${D$$}
467
498
  DECLARE
468
499
  collections_table text := '${collectionsTableLiteral}';
@@ -482,7 +513,61 @@ class PostgresAdapter extends BaseDBAdapter {
482
513
  );
483
514
  END IF;
484
515
  END ${D$$};"`.replace(/\n/g, " ");
485
- await run(updateCollectionSchemaCommand, { PGPASSWORD: password });
516
+ await run(updateCollectionSchemaCommand, this.getPasswordEnvVars(password, toolchain));
517
+ }
518
+ }
519
+ class KingbaseAdapter extends PostgresAdapter {
520
+ get backupToolchain() {
521
+ return this.hasKingbaseToolchain() ? "kingbase" : "postgres";
522
+ }
523
+ getKingbaseBackupCommandName() {
524
+ return formatPathInEnv(process.env.KINGBASE_DUMP_PATH) || "sys_dump";
525
+ }
526
+ getKingbaseRestoreCommandName() {
527
+ return formatPathInEnv(process.env.KINGBASE_RESTORE_PATH) || "sys_restore";
528
+ }
529
+ getKingbaseSqlCommandName() {
530
+ return formatPathInEnv(process.env.KINGBASE_PSQL_PATH) || "ksql";
531
+ }
532
+ hasKingbaseToolchain() {
533
+ return this.hasCommand(this.getKingbaseBackupCommandName()) && this.hasCommand(this.getKingbaseRestoreCommandName()) && this.hasCommand(this.getKingbaseSqlCommandName());
534
+ }
535
+ getBackupCommandName(toolchain = this.backupToolchain) {
536
+ return toolchain === "kingbase" ? this.getKingbaseBackupCommandName() : super.getBackupCommandName(toolchain);
537
+ }
538
+ getRestoreCommandName(toolchain = this.backupToolchain) {
539
+ return toolchain === "kingbase" ? this.getKingbaseRestoreCommandName() : super.getRestoreCommandName(toolchain);
540
+ }
541
+ getSqlCommandName(toolchain = this.backupToolchain) {
542
+ return toolchain === "kingbase" ? this.getKingbaseSqlCommandName() : super.getSqlCommandName(toolchain);
543
+ }
544
+ getPasswordEnvVars(password, toolchain = this.backupToolchain) {
545
+ if (toolchain === "postgres") {
546
+ return super.getPasswordEnvVars(password, toolchain);
547
+ }
548
+ return { KINGBASE_PASSWORD: password };
549
+ }
550
+ getBackupSchema() {
551
+ return this.dbOpts.schema || "public";
552
+ }
553
+ buildSchemaRestoreCommand(srcSchema, targetSchema, filePath, jobs, toolchain = this.backupToolchain) {
554
+ if (toolchain === "postgres") {
555
+ return super.buildSchemaRestoreCommand(srcSchema, targetSchema, filePath, jobs, toolchain);
556
+ }
557
+ const { username, host, port, database } = this.dbOpts;
558
+ return `${this.getRestoreCommandName(toolchain)} -U ${username} -h ${host} ${port ? `-p ${port}` : ""} -g ${srcSchema} -G ${targetSchema} -d ${database} --clean --if-exists --no-owner -j ${jobs} ${filePath}`;
559
+ }
560
+ async restoreSchema(srcSchema, targetSchema, restoreCommand, toolchain = this.backupToolchain) {
561
+ if (toolchain === "postgres") {
562
+ await super.restoreSchema(srcSchema, targetSchema, restoreCommand, toolchain);
563
+ return;
564
+ }
565
+ const { username, host, port, database, password } = this.dbOpts;
566
+ const targetSchemaIdentifier = quotePgIdentifier(targetSchema).replace(/"/g, '\\"');
567
+ const createSchemaCommand = `${this.getSqlCommandName(toolchain)} -U ${username} -h ${host} ${port ? `-p ${port}` : ""} -d ${database} -c "CREATE SCHEMA IF NOT EXISTS ${targetSchemaIdentifier};"`;
568
+ await run(createSchemaCommand, this.getPasswordEnvVars(password, toolchain));
569
+ await run(restoreCommand, this.getPasswordEnvVars(password, toolchain));
570
+ await this.syncCollectionSchemaMetadata(srcSchema, targetSchema, toolchain);
486
571
  }
487
572
  }
488
573
  class SQLiteAdapter extends BaseDBAdapter {
@@ -503,6 +588,7 @@ class MariaDBAdapter extends MySQLAdapter {
503
588
  const adapterMap = {
504
589
  mysql: MySQLAdapter,
505
590
  postgres: PostgresAdapter,
591
+ kingbase: KingbaseAdapter,
506
592
  sqlite: SQLiteAdapter,
507
593
  mariadb: MariaDBAdapter
508
594
  };
@@ -99,7 +99,10 @@ class BackupManager {
99
99
  }
100
100
  async backup(fileBaseName, opts) {
101
101
  const contentPath = import_path.default.join(this.#tempDir, fileBaseName);
102
- return this.#runBackupTask({ ...this.#settings, ...opts ?? {} }, fileBaseName, contentPath);
102
+ const runtimeTables = [...this.app.db.collections.values()].filter((collection) => collection.dataCategory === "runtime").map((collection) => collection.getTableNameWithSchemaAsString());
103
+ const backupOptions = { ...this.#settings, ...opts ?? {} };
104
+ backupOptions.excludeTables = [.../* @__PURE__ */ new Set([...backupOptions.excludeTables ?? [], ...runtimeTables])];
105
+ return this.#runBackupTask(backupOptions, fileBaseName, contentPath);
103
106
  }
104
107
  async destroy(fileName) {
105
108
  const filePath = this.#getValidatedFilePath(fileName);
@@ -194,6 +197,7 @@ class BackupManager {
194
197
  createdBy: opts.createdBy,
195
198
  database: {
196
199
  dialect,
200
+ toolchain: this.#dbAdapter.backupToolchain,
197
201
  underscored,
198
202
  tablePrefix,
199
203
  schema,
@@ -142,7 +142,8 @@ class RestoreManager {
142
142
  await this.#dbAdapter.restore({
143
143
  filePath: import_path.default.join(extractedDir, dbFile),
144
144
  schema: metadata.database.schema,
145
- skipDropAllTables: (options == null ? void 0 : options.skipDropAllTables) === true
145
+ skipDropAllTables: (options == null ? void 0 : options.skipDropAllTables) === true,
146
+ toolchain: this.#resolveRestoreToolchain(metadata)
146
147
  });
147
148
  this.ctx.logger.info("Database restored successfully", { module: import_utils2.BACKUPS });
148
149
  await this.#restoreFilesAndCleanup(restoreUploads, extractedDir);
@@ -195,7 +196,7 @@ class RestoreManager {
195
196
  await this.#restoreFilesAndCleanup(uploadsExist, extractedDir);
196
197
  await this.ctx.app.runCommand("upgrade");
197
198
  } else {
198
- if (!tolerentMode && this.#dbAdapter.dbOpts.dialect === "postgres") {
199
+ if (!tolerentMode && this.#isPostgresLikeDialect(this.#dbAdapter.dbOpts.dialect)) {
199
200
  const backupClientVersion = Number((0, import_utils2.toMajorVersion)(metadata.database.backupClientVersion));
200
201
  const dbServerVersion = Number((0, import_utils2.toMajorVersion)(dbVersion));
201
202
  if (backupClientVersion > 16 && dbServerVersion <= 16) {
@@ -248,7 +249,7 @@ class RestoreManager {
248
249
  if ((metadata.database.tablePrefix || "") !== (tablePrefix || "")) {
249
250
  throw new Error(this.#t("Database table prefix mismatch"));
250
251
  }
251
- const forceSchemaRestore = (options == null ? void 0 : options.forceSchemaRestore) === true && dialect === "postgres";
252
+ const forceSchemaRestore = (options == null ? void 0 : options.forceSchemaRestore) === true && this.#isPostgresLikeDialect(dialect);
252
253
  if (!forceSchemaRestore) {
253
254
  if (((_b = (_a = this.ctx.request) == null ? void 0 : _a.body) == null ? void 0 : _b.dbSchema) && ((_d = (_c = this.ctx.request) == null ? void 0 : _c.body) == null ? void 0 : _d.dbSchema) !== (schema || "public")) {
254
255
  throw new Error(this.#t("Database schema mismatch"));
@@ -289,6 +290,25 @@ class RestoreManager {
289
290
  }
290
291
  return true;
291
292
  }
293
+ #isPostgresLikeDialect(dialect) {
294
+ return dialect === "postgres" || dialect === "kingbase";
295
+ }
296
+ #resolveRestoreToolchain(metadata) {
297
+ if (metadata.database.dialect !== "kingbase") {
298
+ return void 0;
299
+ }
300
+ if (metadata.database.toolchain === "kingbase" || metadata.database.toolchain === "postgres") {
301
+ return metadata.database.toolchain;
302
+ }
303
+ const backupClientVersion = metadata.database.backupClientVersion || "";
304
+ if (/sys_dump/i.test(backupClientVersion)) {
305
+ return "kingbase";
306
+ }
307
+ if (/pg_dump|postgresql/i.test(backupClientVersion)) {
308
+ return "postgres";
309
+ }
310
+ return this.#dbAdapter.backupToolchain;
311
+ }
292
312
  async #decompressFiles(filePath, password) {
293
313
  const fileBaseName = import_path.default.basename(filePath, `.${import_utils2.BACKUP_EXTENSION}`);
294
314
  const outputDir = import_path.default.join(this.#tempDir, fileBaseName);
@@ -372,7 +392,8 @@ class RestoreManager {
372
392
  await this.#dbAdapter.restore({
373
393
  filePath: import_path.default.join(extractedDir, dbFile),
374
394
  schema: metadata.database.schema,
375
- skipDropAllTables: (options == null ? void 0 : options.skipDropAllTables) === true
395
+ skipDropAllTables: (options == null ? void 0 : options.skipDropAllTables) === true,
396
+ toolchain: this.#resolveRestoreToolchain(metadata)
376
397
  });
377
398
  this.ctx.logger.info("Database restored successfully", { module: import_utils2.BACKUPS });
378
399
  if (restoreUploads) {
@@ -210,7 +210,8 @@ const dbVersionCommands = {
210
210
  sqlite: "select sqlite_version() as version",
211
211
  mysql: "select version() as version",
212
212
  mariadb: "select version() as version",
213
- postgres: "select version() as version"
213
+ postgres: "select version() as version",
214
+ kingbase: "select version() as version"
214
215
  };
215
216
  async function getDBVersion(db) {
216
217
  var _a;
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "displayName.zh-CN": "备份管理器",
5
5
  "description": "Provides backup and restore functionality, supports scheduled backups, and ensures data security and quick recovery.",
6
6
  "description.zh-CN": "提供备份与还原功能,支持定时备份,确保数据安全与快速恢复。",
7
- "version": "2.2.0-beta.5",
7
+ "version": "2.2.0-beta.6",
8
8
  "license": "Apache-2.0",
9
9
  "main": "dist/server/index.js",
10
10
  "nocobase": {
@@ -50,5 +50,5 @@
50
50
  "keywords": [
51
51
  "System management"
52
52
  ],
53
- "gitHead": "81eab2cfa9d3d989e99ba0c914807b38db55f023"
53
+ "gitHead": "dc9246516f8a3efd6056f22fe7b3bc947bd4575b"
54
54
  }
@@ -1,10 +0,0 @@
1
- /**
2
- * This file is part of the NocoBase (R) project.
3
- * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
- * Authors: NocoBase Team.
5
- *
6
- * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
- * For more information, please refer to: https://www.nocobase.com/agreement.
8
- */
9
-
10
- (self.webpackChunk_nocobase_plugin_backups_client_v2=self.webpackChunk_nocobase_plugin_backups_client_v2||[]).push([["567"],{574:function(e,t,n){var r,a;void 0===(a="function"==typeof(r=function(){"use strict";function t(e,t,n){var r=new XMLHttpRequest;r.open("GET",e),r.responseType="blob",r.onload=function(){l(r.response,t,n)},r.onerror=function(){console.error("could not download file")},r.send()}function r(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(e){}return 200<=t.status&&299>=t.status}function a(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(n){var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var o="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof n.g&&n.g.global===n.g?n.g:void 0,u=o.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),l=o.saveAs||("object"!=typeof window||window!==o?function(){}:"download"in HTMLAnchorElement.prototype&&!u?function(e,n,u){var l=o.URL||o.webkitURL,i=document.createElement("a");i.download=n=n||e.name||"download",i.rel="noopener","string"==typeof e?(i.href=e,i.origin===location.origin?a(i):r(i.href)?t(e,n,u):a(i,i.target="_blank")):(i.href=l.createObjectURL(e),setTimeout(function(){l.revokeObjectURL(i.href)},4e4),setTimeout(function(){a(i)},0))}:"msSaveOrOpenBlob"in navigator?function(e,n,o){if(n=n||e.name||"download","string"!=typeof e){var u;navigator.msSaveOrOpenBlob((void 0===(u=o)?u={autoBom:!1}:"object"!=typeof u&&(console.warn("Deprecated: Expected third argument to be a object"),u={autoBom:!u}),u.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\uFEFF",e],{type:e.type}):e),n)}else if(r(e))t(e,n,o);else{var l=document.createElement("a");l.href=e,l.target="_blank",setTimeout(function(){a(l)})}}:function(e,n,r,a){if((a=a||open("","_blank"))&&(a.document.title=a.document.body.innerText="downloading..."),"string"==typeof e)return t(e,n,r);var l="application/octet-stream"===e.type,i=/constructor/i.test(o.HTMLElement)||o.safari,c=/CriOS\/[\d]+/.test(navigator.userAgent);if((c||l&&i||u)&&"u">typeof FileReader){var s=new FileReader;s.onloadend=function(){var e=s.result;e=c?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),a?a.location.href=e:location=e,a=null},s.readAsDataURL(e)}else{var f=o.URL||o.webkitURL,p=f.createObjectURL(e);a?a.location=p:location.href=p,a=null,setTimeout(function(){f.revokeObjectURL(p)},4e4)}});o.saveAs=l.saveAs=l,e.exports=l})?r.apply(t,[]):r)||(e.exports=a)},258:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return Y}});var r=n(694),a=n(625),o=n(59),u=n(155),l=n.n(u),i=n(485),c=n(185),s=n.n(c),f=n(574),p=n(401),d=(0,u.createContext)(null),b=function(){var e=(0,u.useContext)(d);if(!e)throw Error("BackupsContext provider is missing");return e},m=n(488);function v(e,t,n,r,a,o,u){try{var l=e[o](u),i=l.value}catch(e){n(e);return}l.done?t(i):Promise.resolve(i).then(r,a)}var h={database:{dialect:""}},y=function(){var e=(0,r.useFlowContext)(),t=(0,a.useMemoizedFn)(function(){var t;return(t=function(){var t,n;return function(e,t){var n,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(u,"next",{value:i(0)}),l(u,"throw",{value:i(1)}),l(u,"return",{value:i(2)}),"function"==typeof Symbol&&l(u,Symbol.iterator,{value:function(){return this}}),u;function i(l){return function(i){var c=[l,i];if(n)throw TypeError("Generator is already executing.");for(;u&&(u=0,c[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(r){switch(r.label){case 0:return[4,e.api.request({url:"backups:appInfo"})];case 1:return[2,null!=(t=null==(n=r.sent().data)?void 0:n.data)?t:h]}})},function(){var e=this,n=arguments;return new Promise(function(r,a){var o=t.apply(e,n);function u(e){v(o,r,a,u,l,"next",e)}function l(e){v(o,r,a,u,l,"throw",e)}u(void 0)})})()}),n=(0,a.useRequest)(t,{cacheKey:"backupAppInfo",staleTime:-1}).data;return null!=n?n:h},w=function(){var e=(0,r.useFlowEngine)(),t=(0,i.useApp)();return{showCheckBackupMessage:(0,a.useMemoizedFn)(function(){var n=e.context[p.l];n?n.showCheckBackupMessage():("function"==typeof t.setMaintaining?t.setMaintaining(!0):t.maintaining=!0,t.error={command:{name:"APP Restoring"},message:"checking backup...",code:"APP_COMMANDING"})}),hideCheckBackupMessage:(0,a.useMemoizedFn)(function(){var n=e.context[p.l];n?n.hideCheckBackupMessage():"function"==typeof t.setMaintaining?t.setMaintaining(!1):t.maintaining=!1})}};function g(e,t,n,r,a,o,u){try{var l=e[o](u),i=l.value}catch(e){n(e);return}l.done?t(i):Promise.resolve(i).then(r,a)}function k(){var e=(0,r.useFlowContext)(),t=(0,i.useApp)(),n=l().useRef(null),a=o.App.useApp().notification,c=w().hideCheckBackupMessage;return(0,u.useEffect)(function(){var t=setInterval(function(){var t;return(t=function(){var t,r;return function(e,t){var n,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(u,"next",{value:i(0)}),l(u,"throw",{value:i(1)}),l(u,"return",{value:i(2)}),"function"==typeof Symbol&&l(u,Symbol.iterator,{value:function(){return this}}),u;function i(l){return function(i){var c=[l,i];if(n)throw TypeError("Generator is already executing.");for(;u&&(u=0,c[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(o){switch(o.label){case 0:if(!n.current)return[2];o.label=1;case 1:return o.trys.push([1,3,,4]),[4,e.api.request({url:"".concat(p.C,":restoreStatus"),method:"get",params:{task:n.current}})];case 2:if(!(r=null==(t=o.sent().data)?void 0:t.data))return[2];return r.inProgress||(n.current=null),r.message&&(c(),a.error({message:r.message,role:"alert"})),[3,4];case 3:return console.error(o.sent()),[3,4];case 4:return[2]}})},function(){var e=this,n=arguments;return new Promise(function(r,a){var o=t.apply(e,n);function u(e){g(o,r,a,u,l,"next",e)}function l(e){g(o,r,a,u,l,"throw",e)}u(void 0)})})()},3e3);return function(){return clearInterval(t)}},[t.maintaining,e.api,c,a]),n}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function C(e,t,n,r,a,o,u){try{var l=e[o](u),i=l.value}catch(e){n(e);return}l.done?t(i):Promise.resolve(i).then(r,a)}function S(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var o=[],u=!0,l=!1;try{for(a=a.call(e);!(u=(n=a.next()).done)&&(o.push(n.value),!t||o.length!==t);u=!0);}catch(e){l=!0,r=e}finally{try{u||null==a.return||a.return()}finally{if(l)throw r}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return E(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return E(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var x=function(e){var t=e.backup,n=(0,m.k)(),a=(0,r.useFlowContext)(),u=S(l().useState(!1),2),i=u[0],c=u[1],s=S(l().useState(""),2),f=s[0],p=s[1],d=S(l().useState(!1),2),b=d[0],v=d[1],h=S(l().useState(""),2),g=h[0],E=h[1],x=k(),A=w().showCheckBackupMessage,O=y().database,j=O.schema,I=O.dialect,P=function(){p(""),E("")},M=function(){c(!1),P()};return l().createElement(l().Fragment,null,l().createElement(o.Button,{type:"link",size:"small",onClick:function(){c(!0)}},n("Restore")),l().createElement(o.Modal,{title:n("Restore"),open:i,onCancel:M,footer:[l().createElement(o.Button,{key:"back",onClick:M},n("Cancel")),l().createElement(o.Button,{key:"submit",type:"primary",loading:b,onClick:function(){var e;return(e=function(){var e,n,r;return function(e,t){var n,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(u,"next",{value:i(0)}),l(u,"throw",{value:i(1)}),l(u,"return",{value:i(2)}),"function"==typeof Symbol&&l(u,Symbol.iterator,{value:function(){return this}}),u;function i(l){return function(i){var c=[l,i];if(n)throw TypeError("Generator is already executing.");for(;u&&(u=0,c[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(o){switch(o.label){case 0:v(!0),o.label=1;case 1:return o.trys.push([1,3,,4]),[4,a.api.request({url:"backups:restore",method:"post",data:{name:t.name,password:f,dbSchema:g}})];case 2:return x.current=null!=(e=null==(r=o.sent().data)||null==(n=r.data)?void 0:n.task)?e:null,A(),[3,4];case 3:return console.error(o.sent()),[3,4];case 4:return v(!1),c(!1),P(),[2]}})},function(){var t=this,n=arguments;return new Promise(function(r,a){var o=e.apply(t,n);function u(e){C(o,r,a,u,l,"next",e)}function l(e){C(o,r,a,u,l,"throw",e)}u(void 0)})})()}},n("Submit"))]},l().createElement(o.Form,{layout:"vertical",autoComplete:"off"},"postgres"===I&&l().createElement(o.Form.Item,{label:l().createElement("strong",null,n("Confirm the application database schema")),help:n("Required if application database schema is different with the backup",{currentDbSchemaTips:j?"[".concat(j,"]"):""})},l().createElement(o.Input,{autoComplete:"new-password",value:g,onChange:function(e){return E(e.target.value)}})),l().createElement(o.Form.Item,{colon:!0,label:l().createElement("strong",null,n("Restore password"))},l().createElement(o.Input.Password,{value:f,autoComplete:"new-password",onChange:function(e){return p(e.target.value)}})))))};function A(e,t,n,r,a,o,u){try{var l=e[o](u),i=l.value}catch(e){n(e);return}l.done?t(i):Promise.resolve(i).then(r,a)}function O(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var o=e.apply(t,n);function u(e){A(o,r,a,u,l,"next",e)}function l(e){A(o,r,a,u,l,"throw",e)}u(void 0)})}}function j(e,t){var n,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(u,"next",{value:i(0)}),l(u,"throw",{value:i(1)}),l(u,"return",{value:i(2)}),"function"==typeof Symbol&&l(u,Symbol.iterator,{value:function(){return this}}),u;function i(l){return function(i){var c=[l,i];if(n)throw TypeError("Generator is already executing.");for(;u&&(u=0,c[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var I=function(){var e,t=(0,m.k)(),n=(0,r.useFlowContext)(),c=(0,i.useCurrentAppInfo)(),d=o.theme.useToken().token,v=o.App.useApp(),h=v.modal,y=v.message,w=b(),g=w.data,k=w.loading,E=w.refreshAsync,C=(0,a.useRequest)(function(e){return O(function(){var t;return j(this,function(r){switch(r.label){case 0:return[4,n.api.request({url:"".concat(p.C,":destroy"),method:"post",params:{filterByTk:e}})];case 1:return[2,null==(t=r.sent().data)?void 0:t.data]}})})()},{manual:!0}).runAsync,S=(0,u.useCallback)(function(e){h.confirm({title:t("Delete record"),content:t("Are you sure you want to delete it?"),onOk:function(){return O(function(){return j(this,function(n){switch(n.label){case 0:return[4,C(e.name)];case 1:return n.sent(),[4,E()];case 2:return n.sent(),y.success(t("The deletion was successful.")),[2]}})})()}})},[C,y,h,E,t]),A=(0,u.useCallback)(function(e){return O(function(){var t,r,a,o,u;return j(this,function(l){switch(l.label){case 0:return a=null!=(t=null==c?void 0:c.name)?t:null==c||null==(r=c.data)?void 0:r.name,o={filterByTk:e.name},a&&(o.__appName=a),[4,n.api.request({url:"backups:download",method:"get",params:o,responseType:"blob"})];case 1:return u=new Blob([l.sent().data]),(0,f.saveAs)(u,e.name),[2]}})})()},[n.api,null==c||null==(e=c.data)?void 0:e.name,null==c?void 0:c.name]),I=function(e){return e.inProgress?{colSpan:0}:{}},P=(0,u.useMemo)(function(){return[{title:t("Backup list"),dataIndex:"name",width:400,onCell:function(e){return e.inProgress?{colSpan:4}:{}},render:function(e,n){return n.inProgress?l().createElement("span",{style:{color:d.colorText}},e,"(",t("Backing up"),"...)"):l().createElement("span",null,e)}},{title:t("File size"),dataIndex:"fileSize",onCell:I},{title:t("Created at"),dataIndex:"createdAt",onCell:I,render:function(e){return e?s()(e).format("YYYY-MM-DD HH:mm:ss"):null}},{title:t("Actions"),dataIndex:"actions",onCell:I,render:function(e,n){return l().createElement(o.Space,{split:l().createElement(o.Divider,{type:"vertical"})},l().createElement(x,{backup:n}),l().createElement("a",{onClick:function(){A(n)}},t("Download")),l().createElement("a",{onClick:function(){return S(n)}},t("Delete")))}}]},[S,A,t,d.colorText]);return l().createElement(i.Table,{rowKey:"name",dataSource:null==g?void 0:g.data,loading:k,columns:P})},P=n(375);function M(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function R(e,t,n,r,a,o,u){try{var l=e[o](u),i=l.value}catch(e){n(e);return}l.done?t(i):Promise.resolve(i).then(r,a)}function T(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var o=e.apply(t,n);function u(e){R(o,r,a,u,l,"next",e)}function l(e){R(o,r,a,u,l,"throw",e)}u(void 0)})}}function B(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var o=[],u=!0,l=!1;try{for(a=a.call(e);!(u=(n=a.next()).done)&&(o.push(n.value),!t||o.length!==t);u=!0);}catch(e){l=!0,r=e}finally{try{u||null==a.return||a.return()}finally{if(l)throw r}}return o}}(e,t)||q(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function F(e){return function(e){if(Array.isArray(e))return M(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||q(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function q(e,t){if(e){if("string"==typeof e)return M(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return M(e,t)}}function _(e,t){var n,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(u,"next",{value:i(0)}),l(u,"throw",{value:i(1)}),l(u,"return",{value:i(2)}),"function"==typeof Symbol&&l(u,Symbol.iterator,{value:function(){return this}}),u;function i(l){return function(i){var c=[l,i];if(n)throw TypeError("Generator is already executing.");for(;u&&(u=0,c[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var D=function(){var e=B((0,u.useState)([]),2),t=e[0],n=e[1],i=(0,m.k)(),c=(0,r.useFlowContext)(),s=o.App.useApp(),f=s.message,d=s.notification,v=s.modal,h=b().refreshAsync,y=(0,a.useRequest)(function(){return T(function(){var e;return _(this,function(t){switch(t.label){case 0:return[4,c.api.request({url:"".concat(p.C,":create"),method:"post"})];case 1:return[2,null==(e=t.sent().data)?void 0:e.data]}})})()},{manual:!0,throttleWait:1e3}),w=y.runAsync,g=y.loading,k=(0,a.useRequest)(function(e){return T(function(){var t,n;return _(this,function(r){switch(r.label){case 0:return[4,c.api.request({url:"".concat(p.C,":taskStatus"),method:"get",params:{names:e}})];case 1:return[2,null!=(t=null==(n=r.sent().data)?void 0:n.data)?t:{}]}})})()},{manual:!0}).runAsync;(0,u.useEffect)(function(){if(0!==t.length){var e=setInterval(function(){return T(function(){var e,r,a,o,u,l,c,s,p,b,m,v;return _(this,function(y){switch(y.label){case 0:return[4,k(t)];case 1:e=y.sent(),r=[],a=[],o=!0,u=!1,l=void 0;try{for(c=Object.entries(e)[Symbol.iterator]();!(o=(s=c.next()).done);o=!0)b=(p=B(s.value,2))[0],(m=p[1]).inProgress||(m.message?(a.push(b),d.error({message:m.message,role:"alert"})):r.push(b))}catch(e){u=!0,l=e}finally{try{o||null==c.return||c.return()}finally{if(u)throw l}}if(v=F(r).concat(F(a)),!(r.length>0))return[3,3];return f.success(i("NEW_BACKUPS_CREATED",{names:r.join(", ")})),[4,h()];case 2:y.sent(),y.label=3;case 3:return v.length>0&&n(function(e){return e.filter(function(e){return!v.includes(e)})}),[2]}})})()},3e3);return function(){clearInterval(e)}}},[t,f,d,k,h,i]);var E=g?P.LoadingOutlined:P.PlusOutlined;return l().createElement(o.Button,{icon:l().createElement(E,null),disabled:g,type:"primary",onClick:function(){return T(function(){return _(this,function(e){return v.confirm({title:i("New backup"),content:i("Are you sure you want to create new backup?"),onOk:function(){return T(function(){return _(this,function(e){switch(e.label){case 0:return[4,T(function(){var e;return _(this,function(t){switch(t.label){case 0:return[4,w()];case 1:return(null==(e=t.sent())?void 0:e.name)&&n(function(t){return F(t).concat([e.name])}),f.success(i("New backup operation started")),[4,h()];case 2:return t.sent(),[2]}})})()];case 1:return e.sent(),[2]}})})()}}),[2]})})()}},i("New backup"))},L=function(){var e=(0,m.k)(),t=b(),n=t.refresh,r=t.loading,a=r?P.LoadingOutlined:P.ReloadOutlined;return l().createElement(o.Button,{onClick:n,icon:l().createElement(a,null),disabled:r},e("Refresh"))};function U(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function G(e,t,n,r,a,o,u){try{var l=e[o](u),i=l.value}catch(e){n(e);return}l.done?t(i):Promise.resolve(i).then(r,a)}function N(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var o=[],u=!0,l=!1;try{for(a=a.call(e);!(u=(n=a.next()).done)&&(o.push(n.value),!t||o.length!==t);u=!0);}catch(e){l=!0,r=e}finally{try{u||null==a.return||a.return()}finally{if(l)throw r}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return U(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return U(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var H=function(){var e=(0,m.k)(),t=(0,r.useFlowContext)(),n=o.App.useApp().notification,a=N((0,u.useState)(!1),2),i=a[0],c=a[1],s=N((0,u.useState)(!1),2),f=s[0],p=s[1],d=N((0,u.useState)(""),2),b=d[0],v=d[1],h=N((0,u.useState)(""),2),g=h[0],E=h[1],C=N((0,u.useState)(null),2),S=C[0],x=C[1],A=N((0,u.useState)([]),2),O=A[0],j=A[1],I=k(),M=w().showCheckBackupMessage,R=y().database,T=R.schema,B=R.dialect,F=function(){v(""),x(null),j([]),E("")},q=function(){c(!1),F()};return l().createElement(l().Fragment,null,l().createElement(o.Button,{icon:l().createElement(P.UploadOutlined,null),onClick:function(){c(!0)}},e("Restore backup from local")),l().createElement(o.Modal,{title:e("Restore backup from local"),open:i,onCancel:q,footer:[l().createElement(o.Button,{key:"back",onClick:q},e("Cancel")),l().createElement(o.Button,{key:"submit",type:"primary",loading:f,onClick:function(){var r;return(r=function(){var r,a,o,u;return function(e,t){var n,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(u,"next",{value:i(0)}),l(u,"throw",{value:i(1)}),l(u,"return",{value:i(2)}),"function"==typeof Symbol&&l(u,Symbol.iterator,{value:function(){return this}}),u;function i(l){return function(i){var c=[l,i];if(n)throw TypeError("Generator is already executing.");for(;u&&(u=0,c[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(l){switch(l.label){case 0:if(!S)return n.error({message:e("Please select a backup file")}),[2];p(!0),(r=new FormData).append("file",S),r.append("password",b),r.append("dbSchema",g),l.label=1;case 1:return l.trys.push([1,3,,4]),[4,t.api.request({url:"backups:upload",method:"post",data:r})];case 2:return I.current=null!=(a=null==(u=l.sent().data)||null==(o=u.data)?void 0:o.task)?a:null,M(),[3,4];case 3:return console.error(l.sent()),[3,4];case 4:return p(!1),c(!1),F(),[2]}})},function(){var e=this,t=arguments;return new Promise(function(n,a){var o=r.apply(e,t);function u(e){G(o,n,a,u,l,"next",e)}function l(e){G(o,n,a,u,l,"throw",e)}u(void 0)})})()}},e("Submit"))]},l().createElement(o.Form,{layout:"vertical",autoComplete:"off"},l().createElement(o.Form.Item,null,l().createElement(o.Upload.Dragger,{onRemove:function(){j([]),x(null)},fileList:O,multiple:!1,maxCount:1,beforeUpload:function(e){return x(e),j([e]),!1}},l().createElement("p",{className:"ant-upload-drag-icon"},l().createElement(P.InboxOutlined,null)),l().createElement("p",{className:"ant-upload-text"},e("Click or drag file to this area to upload")))),"postgres"===B&&l().createElement(o.Form.Item,{label:l().createElement("strong",null,e("Confirm the application database schema")),help:e("Required if application database schema is different with the backup",{currentDbSchemaTips:T?"[".concat(T,"]"):""})},l().createElement(o.Input,{autoComplete:"new-password",value:g,onChange:function(e){return E(e.target.value)}})),l().createElement(o.Form.Item,{colon:!0,label:l().createElement("strong",null,e("Restore password"))},l().createElement(o.Input.Password,{autoComplete:"new-password",value:b,onChange:function(e){return v(e.target.value)}})))))};function z(e,t,n,r,a,o,u){try{var l=e[o](u),i=l.value}catch(e){n(e);return}l.done?t(i):Promise.resolve(i).then(r,a)}var K={data:[]},Y=function(){var e=(0,r.useFlowContext)(),t=(0,a.useRequest)(function(){var t;return(t=function(){var t;return function(e,t){var n,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(u,"next",{value:i(0)}),l(u,"throw",{value:i(1)}),l(u,"return",{value:i(2)}),"function"==typeof Symbol&&l(u,Symbol.iterator,{value:function(){return this}}),u;function i(l){return function(i){var c=[l,i];if(n)throw TypeError("Generator is already executing.");for(;u&&(u=0,c[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(n){switch(n.label){case 0:return[4,e.api.request({url:"".concat(p.C,":list"),method:"get"})];case 1:return[2,null!=(t=n.sent().data)?t:K]}})},function(){var e=this,n=arguments;return new Promise(function(r,a){var o=t.apply(e,n);function u(e){z(o,r,a,u,l,"next",e)}function l(e){z(o,r,a,u,l,"throw",e)}u(void 0)})})()});return l().createElement(d.Provider,{value:t},l().createElement(o.Card,{bordered:!1},l().createElement(o.Space,{style:{float:"right",marginBottom:16}},l().createElement(L,null),l().createElement(H,null),l().createElement(D,null)),l().createElement(I,null)))}},488:function(e,t,n){"use strict";n.d(t,{k:function(){return o}});var r=n(694),a=n(401);function o(){var e=(0,r.useFlowEngine)();return function(t,n){return e.context.t(t,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({ns:[a.C,"client"]},n))}}}}]);