@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.
- package/dist/client/index.js +1 -1
- package/dist/client-v2/567.ab673b2df222e1c4.js +10 -0
- package/dist/client-v2/index.js +1 -1
- package/dist/externalVersion.js +11 -11
- package/dist/node_modules/archiver/package.json +1 -1
- package/dist/node_modules/cron-parser/package.json +1 -1
- package/dist/node_modules/fs-extra/package.json +1 -1
- package/dist/node_modules/semver/package.json +1 -1
- package/dist/node_modules/yauzl/package.json +1 -1
- package/dist/server/adapters/database.js +151 -70
- package/dist/server/managers/backup.d.ts +6 -2
- package/dist/server/managers/backup.js +7 -1
- package/dist/server/resourcers/backup-cli.d.ts +9 -9
- package/dist/server/resourcers/backups.d.ts +10 -10
- package/package.json +2 -2
- package/dist/client-v2/567.942d36050408575f.js +0 -10
package/dist/client/index.js
CHANGED
|
@@ -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))}}}}]);
|
package/dist/client-v2/index.js
CHANGED
|
@@ -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:"
|
|
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}()});
|
package/dist/externalVersion.js
CHANGED
|
@@ -8,17 +8,17 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
module.exports = {
|
|
11
|
-
"@nocobase/client": "2.
|
|
11
|
+
"@nocobase/client": "2.3.0-alpha.1",
|
|
12
12
|
"react": "18.2.0",
|
|
13
|
-
"@nocobase/flow-engine": "2.
|
|
14
|
-
"@nocobase/client-v2": "2.
|
|
15
|
-
"@nocobase/cache": "2.
|
|
16
|
-
"@nocobase/lock-manager": "2.
|
|
17
|
-
"@nocobase/server": "2.
|
|
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.
|
|
19
|
+
"@nocobase/database": "2.3.0-alpha.1",
|
|
20
20
|
"sequelize": "6.35.2",
|
|
21
|
-
"@nocobase/test": "2.
|
|
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.
|
|
32
|
-
"@nocobase/resourcer": "2.
|
|
33
|
-
"@nocobase/utils": "2.
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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
|
|
70
|
-
return
|
|
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
|
|
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
|
-
|
|
114
|
-
|
|
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
|
-
|
|
123
|
-
|
|
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
|
|
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 {
|
|
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
|
|
441
|
-
const
|
|
442
|
-
|
|
443
|
-
|
|
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
|
|
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
|
|
499
|
-
DO
|
|
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
|
|
517
|
-
await
|
|
573
|
+
END $$;`;
|
|
574
|
+
await this.runSql(dropViewsQuery, [], toolchain);
|
|
518
575
|
} else if (!skipDropAllTables) {
|
|
519
|
-
const
|
|
520
|
-
DO
|
|
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
|
|
559
|
-
await
|
|
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
|
|
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
|
|
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
|
|
575
|
-
await this.restoreSchema(srcSchema, schemaOption,
|
|
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
|
|
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
|
-
|
|
592
|
-
|
|
593
|
-
|
|
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,
|
|
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
|
|
599
|
-
|
|
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
|
|
607
|
-
const
|
|
608
|
-
DO
|
|
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
|
|
616
|
-
await
|
|
687
|
+
END $$;`;
|
|
688
|
+
await this.runSql(preQuery, [], toolchain);
|
|
617
689
|
try {
|
|
618
|
-
await
|
|
690
|
+
await this.runRestore(pgRestoreArgs, toolchain);
|
|
619
691
|
} finally {
|
|
620
|
-
await
|
|
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 {
|
|
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
|
|
631
|
-
DO
|
|
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
|
|
650
|
-
await
|
|
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
|
-
|
|
759
|
+
buildSchemaRestoreArgs(srcSchema, targetSchema, filePath, jobs, toolchain = this.backupToolchain) {
|
|
688
760
|
if (toolchain === "postgres") {
|
|
689
|
-
return super.
|
|
761
|
+
return super.buildSchemaRestoreArgs(srcSchema, targetSchema, filePath, jobs, toolchain);
|
|
690
762
|
}
|
|
691
|
-
|
|
692
|
-
|
|
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,
|
|
777
|
+
async restoreSchema(srcSchema, targetSchema, restoreArgs, toolchain = this.backupToolchain) {
|
|
695
778
|
if (toolchain === "postgres") {
|
|
696
|
-
await super.restoreSchema(srcSchema, targetSchema,
|
|
779
|
+
await super.restoreSchema(srcSchema, targetSchema, restoreArgs, toolchain);
|
|
697
780
|
return;
|
|
698
781
|
}
|
|
699
|
-
const
|
|
700
|
-
|
|
701
|
-
|
|
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:
|
|
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").
|
|
11
|
+
middleware: (ctx: import("@nocobase/resourcer").ResourcerActionContext, next: () => Promise<any>) => Promise<any>;
|
|
12
12
|
actions: {
|
|
13
|
-
list(ctx: import("@nocobase/resourcer").
|
|
14
|
-
create(ctx: import("@nocobase/resourcer").
|
|
15
|
-
status(ctx: import("@nocobase/resourcer").
|
|
16
|
-
download(ctx: import("@nocobase/resourcer").
|
|
17
|
-
remove(ctx: import("@nocobase/resourcer").
|
|
18
|
-
restore(ctx: import("@nocobase/resourcer").
|
|
19
|
-
restoreUpload(ctx: import("@nocobase/resourcer").
|
|
20
|
-
restoreStatus(ctx: import("@nocobase/resourcer").
|
|
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").
|
|
11
|
+
middleware: (ctx: import("@nocobase/resourcer").ResourcerActionContext, next: () => Promise<any>) => Promise<any>;
|
|
12
12
|
actions: {
|
|
13
|
-
list(ctx: import("@nocobase/resourcer").
|
|
14
|
-
upload(ctx: import("@nocobase/resourcer").
|
|
15
|
-
create(ctx: import("@nocobase/resourcer").
|
|
16
|
-
taskStatus(ctx: import("@nocobase/resourcer").
|
|
17
|
-
download(ctx: import("@nocobase/resourcer").
|
|
18
|
-
destroy(ctx: import("@nocobase/resourcer").
|
|
19
|
-
restore(ctx: import("@nocobase/resourcer").
|
|
20
|
-
restoreStatus(ctx: import("@nocobase/resourcer").
|
|
21
|
-
appInfo(ctx: import("@nocobase/resourcer").
|
|
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.
|
|
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": "
|
|
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))}}}}]);
|