@nocobase/plugin-backups 2.2.0-beta.8 → 2.3.0-alpha.1

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.
@@ -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),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}()});
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: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: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: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: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 W}});var r=n(694),a=n(625),o=n(59),u=n(155),l=n.n(u),i=n(477),c=n(485),s=n(185),f=n.n(s),p=n(574),d=n(401),b=(0,u.createContext)(null),h=function(){var e=(0,u.useContext)(b);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 y={database:{dialect:""}},w=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:y]}})},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:y},g=function(){var e=(0,r.useFlowEngine)(),t=(0,c.useApp)();return{showCheckBackupMessage:(0,a.useMemoizedFn)(function(){var n=e.context[d.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[d.l];n?n.hideCheckBackupMessage():"function"==typeof t.setMaintaining?t.setMaintaining(!1):t.maintaining=!1})}};function k(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 E(){var e=(0,r.useFlowContext)(),t=(0,c.useApp)(),n=l().useRef(null),a=o.App.useApp().notification,i=g().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(d.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&&(i(),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){k(o,r,a,u,l,"next",e)}function l(e){k(o,r,a,u,l,"throw",e)}u(void 0)})})()},3e3);return function(){return clearInterval(t)}},[t.maintaining,e.api,i,a]),n}function S(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 x(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 S(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 S(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 A=function(e){var t=e.backup,n=(0,m.k)(),a=(0,r.useFlowContext)(),u=x(l().useState(!1),2),i=u[0],c=u[1],s=x(l().useState(""),2),f=s[0],p=s[1],d=x(l().useState(!1),2),b=d[0],h=d[1],v=x(l().useState(""),2),y=v[0],k=v[1],S=E(),A=g().showCheckBackupMessage,O=w().database,j=O.schema,I=O.dialect,P=function(){p(""),k("")},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:h(!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:y}})];case 2:return S.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 h(!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: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:y,onChange:function(e){return k(e.target.value)}})),l().createElement(o.Form.Item,{colon:!0,label:n("Restore password")},l().createElement(o.Input.Password,{value:f,autoComplete:"new-password",onChange:function(e){return p(e.target.value)}})))))};function O(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 j(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var o=e.apply(t,n);function u(e){O(o,r,a,u,l,"next",e)}function l(e){O(o,r,a,u,l,"throw",e)}u(void 0)})}}function I(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}}}}function P(){var e,t,n=(e=["\n .ant-table-tbody > tr > td {\n line-height: ","px;\n }\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return P=function(){return n},n}var M=function(){var e,t=(0,m.k)(),n=(0,r.useFlowContext)(),s=(0,c.useCurrentAppInfo)(),b=o.theme.useToken().token,v=(0,u.useMemo)(function(){return(0,i.css)(P(),b.controlHeight-b.paddingXXS)},[b.controlHeight,b.paddingXXS]),y=o.App.useApp(),w=y.modal,g=y.message,k=h(),E=k.data,S=k.loading,C=k.refreshAsync,x=(0,a.useRequest)(function(e){return j(function(){var t;return I(this,function(r){switch(r.label){case 0:return[4,n.api.request({url:"".concat(d.C,":destroy"),method:"post",params:{filterByTk:e}})];case 1:return[2,null==(t=r.sent().data)?void 0:t.data]}})})()},{manual:!0}).runAsync,O=(0,u.useCallback)(function(e){w.confirm({title:t("Delete record"),content:t("Are you sure you want to delete it?"),onOk:function(){return j(function(){return I(this,function(n){switch(n.label){case 0:return[4,x(e.name)];case 1:return n.sent(),[4,C()];case 2:return n.sent(),g.success(t("The deletion was successful.")),[2]}})})()}})},[x,g,w,C,t]),M=(0,u.useCallback)(function(e){return j(function(){var t,r,a,o,u;return I(this,function(l){switch(l.label){case 0:return a=null!=(t=null==s?void 0:s.name)?t:null==s||null==(r=s.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,p.saveAs)(u,e.name),[2]}})})()},[n.api,null==s||null==(e=s.data)?void 0:e.name,null==s?void 0:s.name]),R=function(e){return e.inProgress?{colSpan:0}:{}},T=(0,u.useMemo)(function(){return[{title:t("Backup list"),dataIndex:"name",width:400,ellipsis:!0,onCell:function(e){return e.inProgress?{colSpan:4}:{}},render:function(e,n){return n.inProgress?l().createElement("span",{style:{color:b.colorText}},e,"(",t("Backing up"),"...)"):l().createElement("span",null,e)}},{title:t("File size"),dataIndex:"fileSize",onCell:R},{title:t("Created at"),dataIndex:"createdAt",onCell:R,render:function(e){return e?f()(e).format("YYYY-MM-DD HH:mm:ss"):null}},{title:t("Actions"),dataIndex:"actions",onCell:R,render:function(e,n){return l().createElement(o.Space,{split:l().createElement(o.Divider,{type:"vertical"})},l().createElement(A,{backup:n}),l().createElement("a",{onClick:function(){M(n)}},t("Download")),l().createElement("a",{onClick:function(){return O(n)}},t("Delete")))}}]},[O,M,t,b.colorText]);return l().createElement(c.Table,{rowKey:"name",className:v,dataSource:null==E?void 0:E.data,loading:S,columns:T})},R=n(375);function T(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 B(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 F(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var o=e.apply(t,n);function u(e){B(o,r,a,u,l,"next",e)}function l(e){B(o,r,a,u,l,"throw",e)}u(void 0)})}}function q(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)||D(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 _(e){return function(e){if(Array.isArray(e))return T(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||D(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 D(e,t){if(e){if("string"==typeof e)return T(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 T(e,t)}}function L(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 U=function(){var e=q((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,p=s.notification,b=s.modal,v=h().refreshAsync,y=(0,a.useRequest)(function(){return F(function(){var e;return L(this,function(t){switch(t.label){case 0:return[4,c.api.request({url:"".concat(d.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 F(function(){var t,n;return L(this,function(r){switch(r.label){case 0:return[4,c.api.request({url:"".concat(d.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 F(function(){var e,r,a,o,u,l,c,s,d,b,h,m;return L(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=(d=q(s.value,2))[0],(h=d[1]).inProgress||(h.message?(a.push(b),p.error({message:h.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(m=_(r).concat(_(a)),!(r.length>0))return[3,3];return f.success(i("NEW_BACKUPS_CREATED",{names:r.join(", ")})),[4,v()];case 2:y.sent(),y.label=3;case 3:return m.length>0&&n(function(e){return e.filter(function(e){return!m.includes(e)})}),[2]}})})()},3e3);return function(){clearInterval(e)}}},[t,f,p,k,v,i]);var E=g?R.LoadingOutlined:R.PlusOutlined;return l().createElement(o.Button,{icon:l().createElement(E,null),disabled:g,type:"primary",onClick:function(){return F(function(){return L(this,function(e){return b.confirm({title:i("New backup"),content:i("Are you sure you want to create new backup?"),onOk:function(){return F(function(){return L(this,function(e){switch(e.label){case 0:return[4,F(function(){var e;return L(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 _(t).concat([e.name])}),f.success(i("New backup operation started")),[4,v()];case 2:return t.sent(),[2]}})})()];case 1:return e.sent(),[2]}})})()}}),[2]})})()}},i("New backup"))},N=function(){var e=(0,m.k)(),t=h(),n=t.refresh,r=t.loading,a=r?R.LoadingOutlined:R.ReloadOutlined;return l().createElement(o.Button,{onClick:n,icon:l().createElement(a,null),disabled:r},e("Refresh"))};function G(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 H(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 z(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 G(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 G(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(){var e=(0,m.k)(),t=(0,r.useFlowContext)(),n=o.App.useApp().notification,a=z((0,u.useState)(!1),2),i=a[0],c=a[1],s=z((0,u.useState)(!1),2),f=s[0],p=s[1],d=z((0,u.useState)(""),2),b=d[0],h=d[1],v=z((0,u.useState)(""),2),y=v[0],k=v[1],S=z((0,u.useState)(null),2),C=S[0],x=S[1],A=z((0,u.useState)([]),2),O=A[0],j=A[1],I=E(),P=g().showCheckBackupMessage,M=w().database,T=M.schema,B=M.dialect,F=function(){h(""),x(null),j([]),k("")},q=function(){c(!1),F()};return l().createElement(l().Fragment,null,l().createElement(o.Button,{icon:l().createElement(R.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(!C)return n.error({message:e("Please select a backup file")}),[2];p(!0),(r=new FormData).append("file",C),r.append("password",b),r.append("dbSchema",y),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,P(),[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){H(o,n,a,u,l,"next",e)}function l(e){H(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(R.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: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:y,onChange:function(e){return k(e.target.value)}})),l().createElement(o.Form.Item,{colon:!0,label:e("Restore password")},l().createElement(o.Input.Password,{autoComplete:"new-password",value:b,onChange:function(e){return h(e.target.value)}})))))};function K(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 Y={data:[]},W=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(d.C,":list"),method:"get"})];case 1:return[2,null!=(t=n.sent().data)?t:Y]}})},function(){var e=this,n=arguments;return new Promise(function(r,a){var o=t.apply(e,n);function u(e){K(o,r,a,u,l,"next",e)}function l(e){K(o,r,a,u,l,"throw",e)}u(void 0)})})()});return l().createElement(b.Provider,{value:t},l().createElement(o.Card,{bordered:!1},l().createElement(o.Space,{style:{float:"right",marginBottom:16}},l().createElement(N,null),l().createElement(X,null),l().createElement(U,null)),l().createElement(M,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("@emotion/css"),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","@emotion/css","@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("@emotion/css"),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["@emotion/css"],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,a){return function(){"use strict";var u,s,l,p={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=c},477:function(e){e.exports=t},485:function(e){e.exports=n},694:function(e){e.exports=a},625:function(t){t.exports=e},59:function(e){e.exports=i},185:function(e){e.exports=r},155:function(e){e.exports=o}},f={};function d(e){var t=f[e];if(void 0!==t)return t.exports;var n=f[e]={id:e,exports:{}};return p[e].call(n.exports,n,n.exports,d),n.exports}d.m=p,d.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return d.d(t,{a:t}),t},d.d=function(e,t){for(var n in t)d.o(t,n)&&!d.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},d.f={},d.e=function(e){return Promise.all(Object.keys(d.f).reduce(function(t,n){return d.f[n](e,t),t},[]))},d.u=function(e){return""+e+"."+({105:"d20cb8a299876029",346:"45d02ff0f75c76e4",567:"942d36050408575f"})[e]+".js"},d.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),d.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},b={},d.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,d.nc&&o.setAttribute("nonce",d.nc),o.setAttribute("data-rspack","@nocobase/plugin-backups/client-v2:"+n),o.src=e),b[e]=[t];var s=function(t,n){o.onerror=o.onload=null,clearTimeout(l);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)},l=setTimeout(s.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=s.bind(null,o.onerror),o.onload=s.bind(null,o.onload),i&&document.head.appendChild(o)},d.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},d.nc=void 0,d.g.importScripts&&(g=d.g.location+"");var b,g,h=d.g.document;if(!g&&h&&(h.currentScript&&"SCRIPT"===h.currentScript.tagName.toUpperCase()&&(g=h.currentScript.src),!g)){var v=h.getElementsByTagName("script");if(v.length)for(var y=v.length-1;y>-1&&(!g||!/^http(s?):/.test(g));)g=v[y--].src}if(!g)throw Error("Automatic publicPath is not supported in this browser");d.p=g.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),u={889:0},d.f.j=function(e,t){var n=d.o(u,e)?u[e]:void 0;if(0!==n)if(n)t.push(n[2]);else{var r=new Promise(function(t,r){n=u[e]=[t,r]});t.push(n[2]=r);var o=d.p+d.u(e),i=Error();d.l(o,function(t){if(d.o(u,e)&&(0!==(n=u[e])&&(u[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)}},s=function(e,t){var n,r,o=t[0],i=t[1],c=t[2],a=0;if(o.some(function(e){return 0!==u[e]})){for(n in i)d.o(i,n)&&(d.m[n]=i[n]);c&&c(d)}for(e&&e(t);a<o.length;a++)r=o[a],d.o(u,r)&&u[r]&&u[r][0](),u[r]=0},(l=self.webpackChunk_nocobase_plugin_backups_client_v2=self.webpackChunk_nocobase_plugin_backups_client_v2||[]).forEach(s.bind(null,0)),l.push=s.bind(null,l.push.bind(l));var m={};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/"}d.p=e}(),!function(){d.r(m),d.d(m,{default:function(){return u}});var e=d(485),t=d(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 s=[a,u];if(n)throw TypeError("Generator is already executing.");for(;c&&(c=0,s[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,r=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){i.label=s[1];break}if(6===s[0]&&i.label<o[1]){i.label=o[1],o=s;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(s);break}o[2]&&i.ops.pop(),i.trys.pop();continue}s=t.call(e,i)}catch(e){s=[6,e],r=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[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 d.e("567").then(d.bind(d,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([d.e("346"),d.e("105")]).then(d.bind(d,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))}(),m}()});
10
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("ahooks"),require("@emotion/css"),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","@emotion/css","@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("@emotion/css"),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["@emotion/css"],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,a){return function(){"use strict";var u,s,l,p={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=c},477:function(e){e.exports=t},485:function(e){e.exports=n},694:function(e){e.exports=a},625:function(t){t.exports=e},59:function(e){e.exports=i},185:function(e){e.exports=r},155:function(e){e.exports=o}},f={};function d(e){var t=f[e];if(void 0!==t)return t.exports;var n=f[e]={id:e,exports:{}};return p[e].call(n.exports,n,n.exports,d),n.exports}d.m=p,d.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return d.d(t,{a:t}),t},d.d=function(e,t){for(var n in t)d.o(t,n)&&!d.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},d.f={},d.e=function(e){return Promise.all(Object.keys(d.f).reduce(function(t,n){return d.f[n](e,t),t},[]))},d.u=function(e){return""+e+"."+({105:"d20cb8a299876029",346:"45d02ff0f75c76e4",567:"ab673b2df222e1c4"})[e]+".js"},d.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),d.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},b={},d.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,d.nc&&o.setAttribute("nonce",d.nc),o.setAttribute("data-rspack","@nocobase/plugin-backups/client-v2:"+n),o.src=e),b[e]=[t];var s=function(t,n){o.onerror=o.onload=null,clearTimeout(l);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)},l=setTimeout(s.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=s.bind(null,o.onerror),o.onload=s.bind(null,o.onload),i&&document.head.appendChild(o)},d.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},d.nc=void 0,d.g.importScripts&&(g=d.g.location+"");var b,g,h=d.g.document;if(!g&&h&&(h.currentScript&&"SCRIPT"===h.currentScript.tagName.toUpperCase()&&(g=h.currentScript.src),!g)){var v=h.getElementsByTagName("script");if(v.length)for(var y=v.length-1;y>-1&&(!g||!/^http(s?):/.test(g));)g=v[y--].src}if(!g)throw Error("Automatic publicPath is not supported in this browser");d.p=g.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),u={889:0},d.f.j=function(e,t){var n=d.o(u,e)?u[e]:void 0;if(0!==n)if(n)t.push(n[2]);else{var r=new Promise(function(t,r){n=u[e]=[t,r]});t.push(n[2]=r);var o=d.p+d.u(e),i=Error();d.l(o,function(t){if(d.o(u,e)&&(0!==(n=u[e])&&(u[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)}},s=function(e,t){var n,r,o=t[0],i=t[1],c=t[2],a=0;if(o.some(function(e){return 0!==u[e]})){for(n in i)d.o(i,n)&&(d.m[n]=i[n]);c&&c(d)}for(e&&e(t);a<o.length;a++)r=o[a],d.o(u,r)&&u[r]&&u[r][0](),u[r]=0},(l=self.webpackChunk_nocobase_plugin_backups_client_v2=self.webpackChunk_nocobase_plugin_backups_client_v2||[]).forEach(s.bind(null,0)),l.push=s.bind(null,l.push.bind(l));var m={};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/"}d.p=e}(),!function(){d.r(m),d.d(m,{default:function(){return u}});var e=d(485),t=d(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 s=[a,u];if(n)throw TypeError("Generator is already executing.");for(;c&&(c=0,s[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,r=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){i.label=s[1];break}if(6===s[0]&&i.label<o[1]){i.label=o[1],o=s;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(s);break}o[2]&&i.ops.pop(),i.trys.pop();continue}s=t.call(e,i)}catch(e){s=[6,e],r=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[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 d.e("567").then(d.bind(d,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([d.e("346"),d.e("105")]).then(d.bind(d,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))}(),m}()});
@@ -8,17 +8,17 @@
8
8
  */
9
9
 
10
10
  module.exports = {
11
- "@nocobase/client": "2.2.0-beta.8",
11
+ "@nocobase/client": "2.3.0-alpha.1",
12
12
  "react": "18.2.0",
13
- "@nocobase/flow-engine": "2.2.0-beta.8",
14
- "@nocobase/client-v2": "2.2.0-beta.8",
15
- "@nocobase/cache": "2.2.0-beta.8",
16
- "@nocobase/lock-manager": "2.2.0-beta.8",
17
- "@nocobase/server": "2.2.0-beta.8",
13
+ "@nocobase/flow-engine": "2.3.0-alpha.1",
14
+ "@nocobase/client-v2": "2.3.0-alpha.1",
15
+ "@nocobase/cache": "2.3.0-alpha.1",
16
+ "@nocobase/lock-manager": "2.3.0-alpha.1",
17
+ "@nocobase/server": "2.3.0-alpha.1",
18
18
  "lodash": "4.18.1",
19
- "@nocobase/database": "2.2.0-beta.8",
19
+ "@nocobase/database": "2.3.0-alpha.1",
20
20
  "sequelize": "6.35.2",
21
- "@nocobase/test": "2.2.0-beta.8",
21
+ "@nocobase/test": "2.3.0-alpha.1",
22
22
  "@formily/antd-v5": "1.2.3",
23
23
  "@formily/react": "2.3.7",
24
24
  "@formily/reactive": "2.3.7",
@@ -28,7 +28,7 @@ module.exports = {
28
28
  "ahooks": "3.7.8",
29
29
  "@emotion/css": "11.13.0",
30
30
  "dayjs": "1.11.13",
31
- "@nocobase/plugin-file-manager": "2.2.0-beta.8",
32
- "@nocobase/resourcer": "2.2.0-beta.8",
33
- "@nocobase/utils": "2.2.0-beta.8"
31
+ "@nocobase/plugin-file-manager": "2.3.0-alpha.1",
32
+ "@nocobase/resourcer": "2.3.0-alpha.1",
33
+ "@nocobase/utils": "2.3.0-alpha.1"
34
34
  };
@@ -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-29T01:54:32.554Z"}
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-07-16T12:58:04.547Z"}
@@ -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-29T01:54:31.480Z"}
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-07-16T12:58:03.436Z"}
@@ -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-29T01:54:33.148Z"}
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-07-16T12:58:05.173Z"}
@@ -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-29T01:54:33.459Z"}
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-07-16T12:58:05.504Z"}
@@ -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-29T01:54:32.945Z"}
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-07-16T12:58:04.967Z"}
@@ -48,7 +48,6 @@ var import_promises = require("stream/promises");
48
48
  var import_util = require("util");
49
49
  var import_utils = require("../utils");
50
50
  const exec = (0, import_util.promisify)(import_child_process.exec);
51
- const D$$ = import_os.default.platform() === "win32" ? "$$" : "\\$\\$";
52
51
  const STREAM_BUFFER_SIZE = 2 * 1024 * 1024;
53
52
  const run = async (command, envVars = {}) => {
54
53
  try {
@@ -65,16 +64,45 @@ const run = async (command, envVars = {}) => {
65
64
  throw new Error(`${error.message}`);
66
65
  }
67
66
  };
67
+ const runSpawn = async (command, args, envVars = {}) => {
68
+ return new Promise((resolve, reject) => {
69
+ const child = (0, import_child_process.spawn)(command, args, {
70
+ env: { ...process.env, ...envVars },
71
+ stdio: ["ignore", "pipe", "pipe"]
72
+ });
73
+ const stdout = [];
74
+ const stderr = [];
75
+ let settled = false;
76
+ child.stdout.on("data", (chunk) => stdout.push(Buffer.from(chunk)));
77
+ child.stderr.on("data", (chunk) => stderr.push(Buffer.from(chunk)));
78
+ child.on("error", (error) => {
79
+ settled = true;
80
+ reject(error);
81
+ });
82
+ child.on("close", (code) => {
83
+ if (settled) {
84
+ return;
85
+ }
86
+ if (code === 0) {
87
+ settled = true;
88
+ resolve(Buffer.concat(stdout).toString());
89
+ return;
90
+ }
91
+ const errorMessage = Buffer.concat(stderr).toString().trim() || `${command} exited with code ${code}`;
92
+ settled = true;
93
+ reject(new Error(errorMessage));
94
+ });
95
+ });
96
+ };
68
97
  const formatPathInEnv = (path2) => {
69
- if (path2 && /\s/.test(path2) && !/^".*"$/.test(path2) && !/^'.*'$/.test(path2)) {
70
- return `"${path2}"`;
98
+ if ((path2 == null ? void 0 : path2.startsWith('"')) && path2.endsWith('"') || (path2 == null ? void 0 : path2.startsWith("'")) && path2.endsWith("'")) {
99
+ return path2.slice(1, -1);
71
100
  }
72
101
  return path2;
73
102
  };
74
103
  const escapeStringLiteral = (value) => String(value).replace(/'/g, "''");
75
104
  const quotePgIdentifier = (value) => `"${String(value).replace(/"/g, '""')}"`;
76
- const quoteShellArg = (value) => `'${String(value).replace(/'/g, "'\\''")}'`;
77
- const quotePgTablePattern = (table) => quoteShellArg(String(table).split(".").map(quotePgIdentifier).join("."));
105
+ const quotePgTablePattern = (table) => String(table).split(".").map(quotePgIdentifier).join(".");
78
106
  const isPgRestoreSchemaTocEntry = (line) => /^\d+;\s+\d+\s+\d+\s+SCHEMA\s+-\s+/.test(line);
79
107
  const parsePgTableReference = (table, defaultSchema) => {
80
108
  const parts = String(table).split(".");
@@ -110,21 +138,16 @@ class BaseDBAdapter {
110
138
  async clientVersion(_) {
111
139
  }
112
140
  assertCommand = (command) => {
113
- try {
114
- (0, import_child_process.execSync)(`${command} --version`);
115
- } catch (error) {
141
+ const result = (0, import_child_process.spawnSync)(command, ["--version"], { encoding: "utf8" });
142
+ if (result.error || result.status !== 0) {
116
143
  throw new Error(
117
144
  `Command ${command} not found, please install it first. Check reference here: https://docs.nocobase.com/ops-management/backup-manager/`
118
145
  );
119
146
  }
120
147
  };
121
148
  hasCommand(command) {
122
- try {
123
- (0, import_child_process.execSync)(`${command} --version`);
124
- return true;
125
- } catch (_error) {
126
- return false;
127
- }
149
+ const result = (0, import_child_process.spawnSync)(command, ["--version"], { encoding: "utf8" });
150
+ return !result.error && result.status === 0;
128
151
  }
129
152
  }
130
153
  class MySQLAdapter extends BaseDBAdapter {
@@ -426,27 +449,40 @@ class PostgresAdapter extends BaseDBAdapter {
426
449
  async clientVersion(op) {
427
450
  const cmd = op === "backup" ? this.getBackupCommandName() : this.getRestoreCommandName();
428
451
  try {
429
- return (0, import_child_process.execSync)(`${cmd} --version`).toString();
452
+ return await runSpawn(cmd, ["--version"]);
430
453
  } catch (_error) {
431
454
  return void 0;
432
455
  }
433
456
  }
434
457
  async backup({ dir, includeTables, excludeTables }) {
435
- const { username, host, port, database, password } = this.dbOpts;
458
+ const { database, password } = this.dbOpts;
436
459
  const filePath = `${dir}/data`;
437
460
  const backupSchema = this.getBackupSchema();
438
- const schemaOption = backupSchema ? `--schema=${backupSchema}` : "";
439
461
  const expandedExcludeTables = Array.isArray(excludeTables) ? [.../* @__PURE__ */ new Set([...excludeTables, ...await this.getOwnedSequenceTables(excludeTables, backupSchema)])] : [];
440
- const includeOption = Array.isArray(includeTables) && includeTables.length ? includeTables.map((table) => `-t ${quotePgTablePattern(qualifyPgTablePattern(table, backupSchema))}`).join(" ") : "";
441
- const excludeOption = expandedExcludeTables.length ? expandedExcludeTables.map((table) => `-T ${quotePgTablePattern(qualifyPgTablePattern(table, backupSchema))}`).join(" ") : "";
442
- const command = `${this.getBackupCommandName()} ${includeOption} ${excludeOption} -U ${username} -h ${host} ${port ? `-p ${port}` : ""} -F c -b --quote-all-identifiers ${schemaOption} -f ${filePath} ${database}`;
443
- await run(command, this.getPasswordEnvVars(password));
462
+ const includeArgs = Array.isArray(includeTables) && includeTables.length ? includeTables.flatMap((table) => ["-t", quotePgTablePattern(qualifyPgTablePattern(table, backupSchema))]) : [];
463
+ const excludeArgs = expandedExcludeTables.length ? expandedExcludeTables.flatMap((table) => [
464
+ "-T",
465
+ quotePgTablePattern(qualifyPgTablePattern(table, backupSchema))
466
+ ]) : [];
467
+ const args = [
468
+ ...includeArgs,
469
+ ...excludeArgs,
470
+ ...this.getConnectionArgs(false),
471
+ "-F",
472
+ "c",
473
+ "-b",
474
+ "--quote-all-identifiers",
475
+ ...backupSchema ? [`--schema=${backupSchema}`] : [],
476
+ "-f",
477
+ filePath,
478
+ database
479
+ ];
480
+ await runSpawn(this.getBackupCommandName(), args, this.getPasswordEnvVars(password));
444
481
  }
445
482
  async getOwnedSequenceTables(excludeTables, backupSchema) {
446
483
  if (!Array.isArray(excludeTables) || !excludeTables.length) {
447
484
  return [];
448
485
  }
449
- const { username, host, port, database, password } = this.dbOpts;
450
486
  const tableRefs = excludeTables.map((table) => parsePgTableReference(table, backupSchema)).filter((ref) => ref.table);
451
487
  if (!tableRefs.length) {
452
488
  return [];
@@ -468,10 +504,32 @@ class PostgresAdapter extends BaseDBAdapter {
468
504
  AND dep.deptype IN ('a', 'i')
469
505
  AND (excluded.schema_name IS NULL OR tbl_ns.nspname = excluded.schema_name)
470
506
  `;
471
- const command = `${this.getSqlCommandName()} -U ${username} -h ${host} ${port ? `-p ${port}` : ""} -d ${database} -At -c ${quoteShellArg(query)}`;
472
- const output = String(await run(command, this.getPasswordEnvVars(password)));
507
+ const output = String(await this.runSql(query, ["-At"]));
473
508
  return output.split("\n").map((line) => line.trim()).filter(Boolean);
474
509
  }
510
+ getConnectionArgs(includeDatabase = true) {
511
+ const { username, host, port, database } = this.dbOpts;
512
+ return [
513
+ "-U",
514
+ username,
515
+ "-h",
516
+ host,
517
+ ...port ? ["-p", String(port)] : [],
518
+ ...includeDatabase ? ["-d", database] : []
519
+ ];
520
+ }
521
+ runSql(query, extraArgs = [], toolchain = this.backupToolchain) {
522
+ const { password } = this.dbOpts;
523
+ return runSpawn(
524
+ this.getSqlCommandName(toolchain),
525
+ [...this.getConnectionArgs(), ...extraArgs, "-c", query],
526
+ this.getPasswordEnvVars(password, toolchain)
527
+ );
528
+ }
529
+ runRestore(args, toolchain = this.backupToolchain) {
530
+ const { password } = this.dbOpts;
531
+ return runSpawn(this.getRestoreCommandName(toolchain), args, this.getPasswordEnvVars(password, toolchain));
532
+ }
475
533
  async restore({
476
534
  filePath,
477
535
  schema,
@@ -479,7 +537,6 @@ class PostgresAdapter extends BaseDBAdapter {
479
537
  restoreMode,
480
538
  toolchain = this.backupToolchain
481
539
  }) {
482
- const { username, host, port, database, password } = this.dbOpts;
483
540
  let schemaOption = this.dbOpts.schema;
484
541
  if (schema && !schemaOption) {
485
542
  schemaOption = "public";
@@ -495,8 +552,8 @@ class PostgresAdapter extends BaseDBAdapter {
495
552
  const schemaNameCondition = schemaOption ? `WHERE schemaname = '${schemaOption}'` : `WHERE schemaname NOT IN ('pg_catalog', 'information_schema')`;
496
553
  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')))`;
497
554
  if (restoreMode === "preserveTables") {
498
- const dropViewsCommand = `${this.getSqlCommandName(toolchain)} -U ${username} -h ${host} ${port ? `-p ${port}` : ""} -d ${database} -c "
499
- DO ${D$$} DECLARE r RECORD;
555
+ const dropViewsQuery = `
556
+ DO $$ DECLARE r RECORD;
500
557
  BEGIN
501
558
  FOR r IN (
502
559
  SELECT schemaname, viewname, false AS materialized FROM pg_views ${schemaNameCondition}
@@ -513,11 +570,11 @@ class PostgresAdapter extends BaseDBAdapter {
513
570
  WHEN OTHERS THEN
514
571
  END;
515
572
  END LOOP;
516
- END ${D$$};"`.replace(/\n/g, " ");
517
- await run(dropViewsCommand, this.getPasswordEnvVars(password, toolchain));
573
+ END $$;`;
574
+ await this.runSql(dropViewsQuery, [], toolchain);
518
575
  } else if (!skipDropAllTables) {
519
- const dropDataCommand = `${this.getSqlCommandName(toolchain)} -U ${username} -h ${host} ${port ? `-p ${port}` : ""} -d ${database} -c "
520
- DO ${D$$} DECLARE r RECORD;
576
+ const dropDataQuery = `
577
+ DO $$ DECLARE r RECORD;
521
578
  BEGIN
522
579
  FOR r IN (SELECT viewname,schemaname FROM pg_views ${schemaNameCondition}) LOOP
523
580
  BEGIN
@@ -555,14 +612,23 @@ class PostgresAdapter extends BaseDBAdapter {
555
612
  END;
556
613
  END LOOP;
557
614
 
558
- END ${D$$};"`.replace(/\n/g, " ");
559
- await run(dropDataCommand, this.getPasswordEnvVars(password, toolchain));
615
+ END $$;`;
616
+ await this.runSql(dropDataQuery, [], toolchain);
560
617
  }
561
618
  if (schema === schemaOption || !schemaOption) {
562
619
  const restoreList = restoreMode === "preserveTables" ? await this.createRestoreListWithoutSchema(filePath, toolchain) : void 0;
563
- const pgRestoreCommand = `${this.getRestoreCommandName(toolchain)} -U ${username} -h ${host} ${port ? `-p ${port}` : ""} -d ${database} --clean --if-exists --no-owner -j ${j} ${(restoreList == null ? void 0 : restoreList.option) ?? ""} ${filePath}`;
620
+ const restoreArgs = [
621
+ ...this.getConnectionArgs(),
622
+ "--clean",
623
+ "--if-exists",
624
+ "--no-owner",
625
+ "-j",
626
+ String(j),
627
+ ...restoreList ? ["-L", restoreList.filePath] : [],
628
+ filePath
629
+ ];
564
630
  try {
565
- await run(pgRestoreCommand, this.getPasswordEnvVars(password, toolchain));
631
+ await this.runRestore(restoreArgs, toolchain);
566
632
  } finally {
567
633
  if (restoreList) {
568
634
  await fsPromises.unlink(restoreList.filePath).catch(() => {
@@ -571,12 +637,12 @@ class PostgresAdapter extends BaseDBAdapter {
571
637
  }
572
638
  } else {
573
639
  const srcSchema = schema || "public";
574
- const pgRestoreCommand = this.buildSchemaRestoreCommand(srcSchema, schemaOption, filePath, j, toolchain);
575
- await this.restoreSchema(srcSchema, schemaOption, pgRestoreCommand, toolchain);
640
+ const pgRestoreArgs = this.buildSchemaRestoreArgs(srcSchema, schemaOption, filePath, j, toolchain);
641
+ await this.restoreSchema(srcSchema, schemaOption, pgRestoreArgs, toolchain);
576
642
  }
577
643
  }
578
644
  async createRestoreListWithoutSchema(filePath, toolchain = this.backupToolchain) {
579
- const listOutput = String(await run(`${this.getRestoreCommandName(toolchain)} --list ${quoteShellArg(filePath)}`));
645
+ const listOutput = String(await this.runRestore(["--list", filePath], toolchain));
580
646
  const filteredList = listOutput.split("\n").filter((line) => !isPgRestoreSchemaTocEntry(line)).join("\n");
581
647
  const listFilePath = import_path.default.join(
582
648
  import_os.default.tmpdir(),
@@ -584,51 +650,57 @@ class PostgresAdapter extends BaseDBAdapter {
584
650
  );
585
651
  await fsPromises.writeFile(listFilePath, filteredList);
586
652
  return {
587
- option: `-L ${quoteShellArg(listFilePath)}`,
588
653
  filePath: listFilePath
589
654
  };
590
655
  }
591
- buildSchemaRestoreCommand(srcSchema, _targetSchema, filePath, jobs, toolchain = this.backupToolchain) {
592
- const { username, host, port, database } = this.dbOpts;
593
- return `${this.getRestoreCommandName(toolchain)} -U ${username} -h ${host} ${port ? `-p ${port}` : ""} -n ${srcSchema} -d ${database} --clean --if-exists --no-owner -j ${jobs} ${filePath}`;
656
+ buildSchemaRestoreArgs(srcSchema, _targetSchema, filePath, jobs, _toolchain = this.backupToolchain) {
657
+ return [
658
+ ...this.getConnectionArgs(),
659
+ "-n",
660
+ srcSchema,
661
+ "--clean",
662
+ "--if-exists",
663
+ "--no-owner",
664
+ "-j",
665
+ String(jobs),
666
+ filePath
667
+ ];
594
668
  }
595
- async restoreSchema(srcSchema, targetSchema, pgRestoreCommand, toolchain = this.backupToolchain) {
596
- const { username, host, port, database, password } = this.dbOpts;
669
+ async restoreSchema(srcSchema, targetSchema, pgRestoreArgs, toolchain = this.backupToolchain) {
597
670
  const ts = Date.now();
598
- const sqlCommandName = this.getSqlCommandName(toolchain);
599
- const preCommand = `${sqlCommandName} -U ${username} -h ${host} ${port ? `-p ${port}` : ""} -d ${database} -c "
600
- DO ${D$$}
671
+ const preQuery = `
672
+ DO $$
601
673
  BEGIN
602
674
  IF EXISTS (SELECT 1 FROM information_schema.schemata WHERE schema_name = '${srcSchema}') THEN
603
675
  EXECUTE 'ALTER SCHEMA ${srcSchema} RENAME TO ${srcSchema}_${ts}';
604
676
  END IF;
605
677
  EXECUTE 'CREATE SCHEMA ${srcSchema}';
606
- END ${D$$};"`.replace(/\n/g, " ");
607
- const postCommand = `${sqlCommandName} -U ${username} -h ${host} ${port ? `-p ${port}` : ""} -d ${database} -c "
608
- DO ${D$$}
678
+ END $$;`;
679
+ const postQuery = `
680
+ DO $$
609
681
  BEGIN
610
682
  EXECUTE 'DROP SCHEMA ${targetSchema} CASCADE';
611
683
  EXECUTE 'ALTER SCHEMA ${srcSchema} RENAME TO ${targetSchema}';
612
684
  IF EXISTS (SELECT 1 FROM information_schema.schemata WHERE schema_name = '${srcSchema}_${ts}') THEN
613
685
  EXECUTE 'ALTER SCHEMA ${srcSchema}_${ts} RENAME TO ${srcSchema}';
614
686
  END IF;
615
- END ${D$$};"`.replace(/\n/g, " ");
616
- await run(preCommand, this.getPasswordEnvVars(password, toolchain));
687
+ END $$;`;
688
+ await this.runSql(preQuery, [], toolchain);
617
689
  try {
618
- await run(pgRestoreCommand, this.getPasswordEnvVars(password, toolchain));
690
+ await this.runRestore(pgRestoreArgs, toolchain);
619
691
  } finally {
620
- await run(postCommand, this.getPasswordEnvVars(password, toolchain));
692
+ await this.runSql(postQuery, [], toolchain);
621
693
  }
622
694
  await this.syncCollectionSchemaMetadata(srcSchema, targetSchema, toolchain);
623
695
  }
624
696
  async syncCollectionSchemaMetadata(srcSchema, targetSchema, toolchain = this.backupToolchain) {
625
- const { username, host, port, database, password, tablePrefix } = this.dbOpts;
697
+ const { tablePrefix } = this.dbOpts;
626
698
  const collectionsTable = `${tablePrefix || ""}collections`;
627
699
  const targetSchemaLiteral = escapeStringLiteral(targetSchema);
628
700
  const srcSchemaLiteral = escapeStringLiteral(srcSchema);
629
701
  const collectionsTableLiteral = escapeStringLiteral(collectionsTable);
630
- const updateCollectionSchemaCommand = `${this.getSqlCommandName(toolchain)} -U ${username} -h ${host} ${port ? `-p ${port}` : ""} -d ${database} -c "
631
- DO ${D$$}
702
+ const updateCollectionSchemaQuery = `
703
+ DO $$
632
704
  DECLARE
633
705
  collections_table text := '${collectionsTableLiteral}';
634
706
  BEGIN
@@ -646,8 +718,8 @@ class PostgresAdapter extends BaseDBAdapter {
646
718
  '${srcSchemaLiteral}'
647
719
  );
648
720
  END IF;
649
- END ${D$$};"`.replace(/\n/g, " ");
650
- await run(updateCollectionSchemaCommand, this.getPasswordEnvVars(password, toolchain));
721
+ END $$;`;
722
+ await this.runSql(updateCollectionSchemaQuery, [], toolchain);
651
723
  }
652
724
  }
653
725
  class KingbaseAdapter extends PostgresAdapter {
@@ -684,23 +756,32 @@ class KingbaseAdapter extends PostgresAdapter {
684
756
  getBackupSchema() {
685
757
  return this.dbOpts.schema || "public";
686
758
  }
687
- buildSchemaRestoreCommand(srcSchema, targetSchema, filePath, jobs, toolchain = this.backupToolchain) {
759
+ buildSchemaRestoreArgs(srcSchema, targetSchema, filePath, jobs, toolchain = this.backupToolchain) {
688
760
  if (toolchain === "postgres") {
689
- return super.buildSchemaRestoreCommand(srcSchema, targetSchema, filePath, jobs, toolchain);
761
+ return super.buildSchemaRestoreArgs(srcSchema, targetSchema, filePath, jobs, toolchain);
690
762
  }
691
- const { username, host, port, database } = this.dbOpts;
692
- 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}`;
763
+ return [
764
+ ...this.getConnectionArgs(),
765
+ "-g",
766
+ srcSchema,
767
+ "-G",
768
+ targetSchema,
769
+ "--clean",
770
+ "--if-exists",
771
+ "--no-owner",
772
+ "-j",
773
+ String(jobs),
774
+ filePath
775
+ ];
693
776
  }
694
- async restoreSchema(srcSchema, targetSchema, restoreCommand, toolchain = this.backupToolchain) {
777
+ async restoreSchema(srcSchema, targetSchema, restoreArgs, toolchain = this.backupToolchain) {
695
778
  if (toolchain === "postgres") {
696
- await super.restoreSchema(srcSchema, targetSchema, restoreCommand, toolchain);
779
+ await super.restoreSchema(srcSchema, targetSchema, restoreArgs, toolchain);
697
780
  return;
698
781
  }
699
- const { username, host, port, database, password } = this.dbOpts;
700
- const targetSchemaIdentifier = quotePgIdentifier(targetSchema).replace(/"/g, '\\"');
701
- const createSchemaCommand = `${this.getSqlCommandName(toolchain)} -U ${username} -h ${host} ${port ? `-p ${port}` : ""} -d ${database} -c "CREATE SCHEMA IF NOT EXISTS ${targetSchemaIdentifier};"`;
702
- await run(createSchemaCommand, this.getPasswordEnvVars(password, toolchain));
703
- await run(restoreCommand, this.getPasswordEnvVars(password, toolchain));
782
+ const targetSchemaIdentifier = quotePgIdentifier(targetSchema);
783
+ await this.runSql(`CREATE SCHEMA IF NOT EXISTS ${targetSchemaIdentifier};`, [], toolchain);
784
+ await this.runRestore(restoreArgs, toolchain);
704
785
  await this.syncCollectionSchemaMetadata(srcSchema, targetSchema, toolchain);
705
786
  }
706
787
  }
@@ -11,7 +11,7 @@ import { ResourcerContext } from '@nocobase/resourcer';
11
11
  import Application from '@nocobase/server';
12
12
  import { Readable } from 'stream';
13
13
  export interface BackupSettings {
14
- storageId?: string;
14
+ storageId?: string | number | null;
15
15
  encryptionPassword: string;
16
16
  enableFilesBackup: boolean;
17
17
  keep?: number;
@@ -42,11 +42,14 @@ export interface BackupTaskResult {
42
42
  message?: string;
43
43
  inProgress: boolean;
44
44
  }
45
+ type BackupSettingsInput = BackupSettings & {
46
+ toJSON?: () => Partial<BackupSettings>;
47
+ };
45
48
  export declare class BackupManager {
46
49
  #private;
47
50
  app: Application;
48
51
  ctx: ResourcerContext | null;
49
- constructor(app: Application, ctx: ResourcerContext | null, settings: BackupSettings);
52
+ constructor(app: Application, ctx: ResourcerContext | null, settings: BackupSettingsInput);
50
53
  protected set backupPrefix(backupPrefix: string);
51
54
  protected set backupDir(backupDir: string);
52
55
  protected set tempDir(tempDir: string);
@@ -58,3 +61,4 @@ export declare class BackupManager {
58
61
  list(): Promise<BackupFile[]>;
59
62
  createReadStream(fileName: string): Promise<Readable>;
60
63
  }
64
+ export {};
@@ -66,7 +66,7 @@ class BackupManager {
66
66
  constructor(app, ctx, settings) {
67
67
  this.app = app;
68
68
  this.ctx = ctx;
69
- this.#settings = settings;
69
+ this.#settings = this.#normalizeBackupSettings(settings);
70
70
  this.#dbAdapter = (0, import_database.getDBAdapter)(app.db.options);
71
71
  this.#backupTasksCacheName = import_utils2.BACKUP_TASKS_CACHE_NAME;
72
72
  this.#backupPrefix = "backup_";
@@ -90,6 +90,12 @@ class BackupManager {
90
90
  set backupTasksCacheName(backupTasksCacheName) {
91
91
  this.#backupTasksCacheName = backupTasksCacheName;
92
92
  }
93
+ #normalizeBackupSettings(settings) {
94
+ if (typeof settings.toJSON === "function") {
95
+ return settings.toJSON();
96
+ }
97
+ return { ...settings };
98
+ }
93
99
  async createBackupName() {
94
100
  await this.#dbAdapter.check("backup");
95
101
  await import_promises.default.mkdir(this.#backupDir, { recursive: true });
@@ -8,16 +8,16 @@
8
8
  */
9
9
  declare const _default: {
10
10
  name: string;
11
- middleware: (ctx: import("@nocobase/resourcer").ResourcerContext, next: () => Promise<any>) => Promise<any>;
11
+ middleware: (ctx: import("@nocobase/resourcer").ResourcerActionContext, next: () => Promise<any>) => Promise<any>;
12
12
  actions: {
13
- list(ctx: import("@nocobase/resourcer").ResourcerContext, next: () => Promise<any>): Promise<void>;
14
- create(ctx: import("@nocobase/resourcer").ResourcerContext, next: () => Promise<any>): Promise<void>;
15
- status(ctx: import("@nocobase/resourcer").ResourcerContext, next: () => Promise<any>): Promise<void>;
16
- download(ctx: import("@nocobase/resourcer").ResourcerContext, next: () => Promise<any>): Promise<void>;
17
- remove(ctx: import("@nocobase/resourcer").ResourcerContext, next: () => Promise<any>): Promise<void>;
18
- restore(ctx: import("@nocobase/resourcer").ResourcerContext, next: () => Promise<any>): Promise<void>;
19
- restoreUpload(ctx: import("@nocobase/resourcer").ResourcerContext, next: () => Promise<any>): Promise<void>;
20
- restoreStatus(ctx: import("@nocobase/resourcer").ResourcerContext, next: () => Promise<any>): Promise<void>;
13
+ list(ctx: import("@nocobase/resourcer").ResourcerActionContext, next: () => Promise<any>): Promise<void>;
14
+ create(ctx: import("@nocobase/resourcer").ResourcerActionContext, next: () => Promise<any>): Promise<void>;
15
+ status(ctx: import("@nocobase/resourcer").ResourcerActionContext, next: () => Promise<any>): Promise<void>;
16
+ download(ctx: import("@nocobase/resourcer").ResourcerActionContext, next: () => Promise<any>): Promise<void>;
17
+ remove(ctx: import("@nocobase/resourcer").ResourcerActionContext, next: () => Promise<any>): Promise<void>;
18
+ restore(ctx: import("@nocobase/resourcer").ResourcerActionContext, next: () => Promise<any>): Promise<void>;
19
+ restoreUpload(ctx: import("@nocobase/resourcer").ResourcerActionContext, next: () => Promise<any>): Promise<void>;
20
+ restoreStatus(ctx: import("@nocobase/resourcer").ResourcerActionContext, next: () => Promise<any>): Promise<void>;
21
21
  };
22
22
  };
23
23
  export default _default;
@@ -8,17 +8,17 @@
8
8
  */
9
9
  declare const _default: {
10
10
  name: string;
11
- middleware: (ctx: import("@nocobase/resourcer").ResourcerContext, next: () => Promise<any>) => Promise<any>;
11
+ middleware: (ctx: import("@nocobase/resourcer").ResourcerActionContext, next: () => Promise<any>) => Promise<any>;
12
12
  actions: {
13
- list(ctx: import("@nocobase/resourcer").ResourcerContext, next: () => Promise<any>): Promise<void>;
14
- upload(ctx: import("@nocobase/resourcer").ResourcerContext, next: () => Promise<any>): Promise<void>;
15
- create(ctx: import("@nocobase/resourcer").ResourcerContext, next: () => Promise<any>): Promise<void>;
16
- taskStatus(ctx: import("@nocobase/resourcer").ResourcerContext, next: () => Promise<any>): Promise<void>;
17
- download(ctx: import("@nocobase/resourcer").ResourcerContext, next: () => Promise<any>): Promise<void>;
18
- destroy(ctx: import("@nocobase/resourcer").ResourcerContext, next: () => Promise<any>): Promise<void>;
19
- restore(ctx: import("@nocobase/resourcer").ResourcerContext, next: () => Promise<any>): Promise<void>;
20
- restoreStatus(ctx: import("@nocobase/resourcer").ResourcerContext, next: () => Promise<any>): Promise<void>;
21
- appInfo(ctx: import("@nocobase/resourcer").ResourcerContext, next: () => Promise<any>): Promise<void>;
13
+ list(ctx: import("@nocobase/resourcer").ResourcerActionContext, next: () => Promise<any>): Promise<void>;
14
+ upload(ctx: import("@nocobase/resourcer").ResourcerActionContext, next: () => Promise<any>): Promise<void>;
15
+ create(ctx: import("@nocobase/resourcer").ResourcerActionContext, next: () => Promise<any>): Promise<void>;
16
+ taskStatus(ctx: import("@nocobase/resourcer").ResourcerActionContext, next: () => Promise<any>): Promise<void>;
17
+ download(ctx: import("@nocobase/resourcer").ResourcerActionContext, next: () => Promise<any>): Promise<void>;
18
+ destroy(ctx: import("@nocobase/resourcer").ResourcerActionContext, next: () => Promise<any>): Promise<void>;
19
+ restore(ctx: import("@nocobase/resourcer").ResourcerActionContext, next: () => Promise<any>): Promise<void>;
20
+ restoreStatus(ctx: import("@nocobase/resourcer").ResourcerActionContext, next: () => Promise<any>): Promise<void>;
21
+ appInfo(ctx: import("@nocobase/resourcer").ResourcerActionContext, next: () => Promise<any>): Promise<void>;
22
22
  };
23
23
  };
24
24
  export default _default;
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.8",
7
+ "version": "2.3.0-alpha.1",
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": "fa2502c1e9faf6d74b3f51b42dbc6546638d46af"
53
+ "gitHead": "2377df8ceb12549149017f7f14a61207bf6e49a2"
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 W}});var r=n(694),a=n(625),o=n(59),u=n(155),l=n.n(u),i=n(477),c=n(485),s=n(185),f=n.n(s),p=n(574),d=n(401),b=(0,u.createContext)(null),m=function(){var e=(0,u.useContext)(b);if(!e)throw Error("BackupsContext provider is missing");return e},h=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 y={database:{dialect:""}},w=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:y]}})},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:y},g=function(){var e=(0,r.useFlowEngine)(),t=(0,c.useApp)();return{showCheckBackupMessage:(0,a.useMemoizedFn)(function(){var n=e.context[d.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[d.l];n?n.hideCheckBackupMessage():"function"==typeof t.setMaintaining?t.setMaintaining(!1):t.maintaining=!1})}};function k(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 E(){var e=(0,r.useFlowContext)(),t=(0,c.useApp)(),n=l().useRef(null),a=o.App.useApp().notification,i=g().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(d.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&&(i(),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){k(o,r,a,u,l,"next",e)}function l(e){k(o,r,a,u,l,"throw",e)}u(void 0)})})()},3e3);return function(){return clearInterval(t)}},[t.maintaining,e.api,i,a]),n}function S(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 x(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 S(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 S(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 A=function(e){var t=e.backup,n=(0,h.k)(),a=(0,r.useFlowContext)(),u=x(l().useState(!1),2),i=u[0],c=u[1],s=x(l().useState(""),2),f=s[0],p=s[1],d=x(l().useState(!1),2),b=d[0],m=d[1],v=x(l().useState(""),2),y=v[0],k=v[1],S=E(),A=g().showCheckBackupMessage,O=w().database,j=O.schema,I=O.dialect,P=function(){p(""),k("")},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:m(!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:y}})];case 2:return S.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 m(!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:y,onChange:function(e){return k(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 O(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 j(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var o=e.apply(t,n);function u(e){O(o,r,a,u,l,"next",e)}function l(e){O(o,r,a,u,l,"throw",e)}u(void 0)})}}function I(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}}}}function P(){var e,t,n=(e=["\n .ant-table-tbody > tr > td {\n line-height: ","px;\n }\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return P=function(){return n},n}var M=function(){var e,t=(0,h.k)(),n=(0,r.useFlowContext)(),s=(0,c.useCurrentAppInfo)(),b=o.theme.useToken().token,v=(0,u.useMemo)(function(){return(0,i.css)(P(),b.controlHeight-b.paddingXXS)},[b.controlHeight,b.paddingXXS]),y=o.App.useApp(),w=y.modal,g=y.message,k=m(),E=k.data,S=k.loading,C=k.refreshAsync,x=(0,a.useRequest)(function(e){return j(function(){var t;return I(this,function(r){switch(r.label){case 0:return[4,n.api.request({url:"".concat(d.C,":destroy"),method:"post",params:{filterByTk:e}})];case 1:return[2,null==(t=r.sent().data)?void 0:t.data]}})})()},{manual:!0}).runAsync,O=(0,u.useCallback)(function(e){w.confirm({title:t("Delete record"),content:t("Are you sure you want to delete it?"),onOk:function(){return j(function(){return I(this,function(n){switch(n.label){case 0:return[4,x(e.name)];case 1:return n.sent(),[4,C()];case 2:return n.sent(),g.success(t("The deletion was successful.")),[2]}})})()}})},[x,g,w,C,t]),M=(0,u.useCallback)(function(e){return j(function(){var t,r,a,o,u;return I(this,function(l){switch(l.label){case 0:return a=null!=(t=null==s?void 0:s.name)?t:null==s||null==(r=s.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,p.saveAs)(u,e.name),[2]}})})()},[n.api,null==s||null==(e=s.data)?void 0:e.name,null==s?void 0:s.name]),R=function(e){return e.inProgress?{colSpan:0}:{}},T=(0,u.useMemo)(function(){return[{title:t("Backup list"),dataIndex:"name",width:400,ellipsis:!0,onCell:function(e){return e.inProgress?{colSpan:4}:{}},render:function(e,n){return n.inProgress?l().createElement("span",{style:{color:b.colorText}},e,"(",t("Backing up"),"...)"):l().createElement("span",null,e)}},{title:t("File size"),dataIndex:"fileSize",onCell:R},{title:t("Created at"),dataIndex:"createdAt",onCell:R,render:function(e){return e?f()(e).format("YYYY-MM-DD HH:mm:ss"):null}},{title:t("Actions"),dataIndex:"actions",onCell:R,render:function(e,n){return l().createElement(o.Space,{split:l().createElement(o.Divider,{type:"vertical"})},l().createElement(A,{backup:n}),l().createElement("a",{onClick:function(){M(n)}},t("Download")),l().createElement("a",{onClick:function(){return O(n)}},t("Delete")))}}]},[O,M,t,b.colorText]);return l().createElement(c.Table,{rowKey:"name",className:v,dataSource:null==E?void 0:E.data,loading:S,columns:T})},R=n(375);function T(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 B(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 F(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var o=e.apply(t,n);function u(e){B(o,r,a,u,l,"next",e)}function l(e){B(o,r,a,u,l,"throw",e)}u(void 0)})}}function q(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)||D(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 _(e){return function(e){if(Array.isArray(e))return T(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||D(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 D(e,t){if(e){if("string"==typeof e)return T(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 T(e,t)}}function L(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 U=function(){var e=q((0,u.useState)([]),2),t=e[0],n=e[1],i=(0,h.k)(),c=(0,r.useFlowContext)(),s=o.App.useApp(),f=s.message,p=s.notification,b=s.modal,v=m().refreshAsync,y=(0,a.useRequest)(function(){return F(function(){var e;return L(this,function(t){switch(t.label){case 0:return[4,c.api.request({url:"".concat(d.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 F(function(){var t,n;return L(this,function(r){switch(r.label){case 0:return[4,c.api.request({url:"".concat(d.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 F(function(){var e,r,a,o,u,l,c,s,d,b,m,h;return L(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=(d=q(s.value,2))[0],(m=d[1]).inProgress||(m.message?(a.push(b),p.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(h=_(r).concat(_(a)),!(r.length>0))return[3,3];return f.success(i("NEW_BACKUPS_CREATED",{names:r.join(", ")})),[4,v()];case 2:y.sent(),y.label=3;case 3:return h.length>0&&n(function(e){return e.filter(function(e){return!h.includes(e)})}),[2]}})})()},3e3);return function(){clearInterval(e)}}},[t,f,p,k,v,i]);var E=g?R.LoadingOutlined:R.PlusOutlined;return l().createElement(o.Button,{icon:l().createElement(E,null),disabled:g,type:"primary",onClick:function(){return F(function(){return L(this,function(e){return b.confirm({title:i("New backup"),content:i("Are you sure you want to create new backup?"),onOk:function(){return F(function(){return L(this,function(e){switch(e.label){case 0:return[4,F(function(){var e;return L(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 _(t).concat([e.name])}),f.success(i("New backup operation started")),[4,v()];case 2:return t.sent(),[2]}})})()];case 1:return e.sent(),[2]}})})()}}),[2]})})()}},i("New backup"))},N=function(){var e=(0,h.k)(),t=m(),n=t.refresh,r=t.loading,a=r?R.LoadingOutlined:R.ReloadOutlined;return l().createElement(o.Button,{onClick:n,icon:l().createElement(a,null),disabled:r},e("Refresh"))};function G(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 H(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 z(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 G(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 G(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(){var e=(0,h.k)(),t=(0,r.useFlowContext)(),n=o.App.useApp().notification,a=z((0,u.useState)(!1),2),i=a[0],c=a[1],s=z((0,u.useState)(!1),2),f=s[0],p=s[1],d=z((0,u.useState)(""),2),b=d[0],m=d[1],v=z((0,u.useState)(""),2),y=v[0],k=v[1],S=z((0,u.useState)(null),2),C=S[0],x=S[1],A=z((0,u.useState)([]),2),O=A[0],j=A[1],I=E(),P=g().showCheckBackupMessage,M=w().database,T=M.schema,B=M.dialect,F=function(){m(""),x(null),j([]),k("")},q=function(){c(!1),F()};return l().createElement(l().Fragment,null,l().createElement(o.Button,{icon:l().createElement(R.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(!C)return n.error({message:e("Please select a backup file")}),[2];p(!0),(r=new FormData).append("file",C),r.append("password",b),r.append("dbSchema",y),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,P(),[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){H(o,n,a,u,l,"next",e)}function l(e){H(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(R.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:y,onChange:function(e){return k(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 m(e.target.value)}})))))};function K(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 Y={data:[]},W=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(d.C,":list"),method:"get"})];case 1:return[2,null!=(t=n.sent().data)?t:Y]}})},function(){var e=this,n=arguments;return new Promise(function(r,a){var o=t.apply(e,n);function u(e){K(o,r,a,u,l,"next",e)}function l(e){K(o,r,a,u,l,"throw",e)}u(void 0)})})()});return l().createElement(b.Provider,{value:t},l().createElement(o.Card,{bordered:!1},l().createElement(o.Space,{style:{float:"right",marginBottom:16}},l().createElement(N,null),l().createElement(X,null),l().createElement(U,null)),l().createElement(M,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))}}}}]);