@nocobase/plugin-backups 2.2.0-beta.5 → 2.2.0-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/components/RestoreFromBackup.d.ts +8 -0
- package/dist/client/components/RestoreFromLocal.d.ts +8 -0
- package/dist/client/index.js +1 -1
- package/dist/client-v2/567.5dc7a93062ea3649.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.d.ts +3 -0
- package/dist/server/adapters/database.js +111 -25
- package/dist/server/managers/backup.js +5 -1
- package/dist/server/managers/restore.js +25 -4
- package/dist/server/utils.js +2 -1
- package/package.json +2 -2
- package/dist/client-v2/567.d39a82a6aa6452a0.js +0 -10
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
1
9
|
import React from 'react';
|
|
2
10
|
import { BackupFile } from './BackupsTable';
|
|
3
11
|
export declare const RestoreFromBackup: ({ backup }: {
|
|
@@ -1,2 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
1
9
|
import React from 'react';
|
|
2
10
|
export declare const RestoreFromLocal: () => React.JSX.Element;
|
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),_=r(7798),k="[object Arguments]",S="[object Function]",A="[object Object]",E={};E[k]=E["[object Array]"]=E["[object ArrayBuffer]"]=E["[object DataView]"]=E["[object Boolean]"]=E["[object Date]"]=E["[object Float32Array]"]=E["[object Float64Array]"]=E["[object Int8Array]"]=E["[object Int16Array]"]=E["[object Int32Array]"]=E["[object Map]"]=E["[object Number]"]=E[A]=E["[object RegExp]"]=E["[object Set]"]=E["[object String]"]=E["[object Symbol]"]=E["[object Uint8Array]"]=E["[object Uint8ClampedArray]"]=E["[object Uint16Array]"]=E["[object Uint32Array]"]=!0,E["[object Error]"]=E[S]=E["[object WeakMap]"]=!1,e.exports=function e(t,r,P,C,I,T){var B,F=1&r,R=2&r,M=4&r;if(P&&(B=I?P(t,C,I,T):P(t)),void 0!==B)return B;if(!x(t))return t;var q=m(t);if(q){if(B=y(t),!F)return s(t,B)}else{var U=d(t),D=U==S||"[object GeneratorFunction]"==U;if(g(t))return i(t,F);if(U==A||U==k||D&&!I){if(B=R||D?{}:h(t),!F)return R?f(t,c(B,t)):l(t,u(B,t))}else{if(!E[U])return I?t:{};B=v(t,U,F)}}T||(T=new n);var z=T.get(t);if(z)return z;T.set(t,B),j(t)?t.forEach(function(n){B.add(e(n,r,P,n,t,T))}):w(t)&&t.forEach(function(n,o){B.set(o,e(n,r,P,o,t,T))});var L=M?R?b:p:R?_:O,$=q?void 0:L(t);return o($||t,function(n,o){$&&(n=t[o=n]),a(B,o,e(n,r,P,o,t,T))}),B}},6309:function(e,t,r){var n=r(6130),o=Object.create;e.exports=function(){function e(){}return function(t){if(!n(t))return{};if(o)return o(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}()},4090:function(e,t,r){var n=r(1595),o=r(9464);e.exports=function(e,t,r){var a=t(e);return o(e)?a:n(a,r(e))}},6077:function(e,t,r){var n=r(7432),o=r(4444),a=r(3371),u=n?n.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":u&&u in Object(e)?o(e):a(e)}},5301:function(e,t,r){var n=r(6077),o=r(4189);e.exports=function(e){return o(e)&&"[object Arguments]"==n(e)}},1939:function(e,t,r){var n=r(1344),o=r(4189);e.exports=function(e){return o(e)&&"[object Map]"==n(e)}},9950:function(e,t,r){var n=r(6553),o=r(3909),a=r(6130),u=r(2760),c=/^\[object .+?Constructor\]$/,i=Object.prototype,s=Function.prototype.toString,l=i.hasOwnProperty,f=RegExp("^"+s.call(l).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!a(e)||o(e))&&(n(e)?f:c).test(u(e))}},8685:function(e,t,r){var n=r(1344),o=r(4189);e.exports=function(e){return o(e)&&"[object Set]"==n(e)}},8912:function(e,t,r){var n=r(6077),o=r(5841),a=r(4189),u={};u["[object Float32Array]"]=u["[object Float64Array]"]=u["[object Int8Array]"]=u["[object Int16Array]"]=u["[object Int32Array]"]=u["[object Uint8Array]"]=u["[object Uint8ClampedArray]"]=u["[object Uint16Array]"]=u["[object Uint32Array]"]=!0,u["[object Arguments]"]=u["[object Array]"]=u["[object ArrayBuffer]"]=u["[object Boolean]"]=u["[object DataView]"]=u["[object Date]"]=u["[object Error]"]=u["[object Function]"]=u["[object Map]"]=u["[object Number]"]=u["[object Object]"]=u["[object RegExp]"]=u["[object Set]"]=u["[object String]"]=u["[object WeakMap]"]=!1,e.exports=function(e){return a(e)&&o(e.length)&&!!u[n(e)]}},4829:function(e,t,r){var n=r(2632),o=r(9963),a=Object.prototype.hasOwnProperty;e.exports=function(e){if(!n(e))return o(e);var t=[];for(var r in Object(e))a.call(e,r)&&"constructor"!=r&&t.push(r);return t}},9262:function(e,t,r){var n=r(6130),o=r(2632),a=r(312),u=Object.prototype.hasOwnProperty;e.exports=function(e){if(!n(e))return a(e);var t=o(e),r=[];for(var c in e)"constructor"==c&&(t||!u.call(e,c))||r.push(c);return r}},8355:function(e){e.exports=function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}},7746:function(e){e.exports=function(e){return function(t){return e(t)}}},990:function(e,t,r){var n=r(181);e.exports=function(e){var t=new e.constructor(e.byteLength);return new n(t).set(new n(e)),t}},1733:function(e,t,r){e=r.nmd(e);var n=r(5036),o=t&&!t.nodeType&&t,a=o&&e&&!e.nodeType&&e,u=a&&a.exports===o?n.Buffer:void 0,c=u?u.allocUnsafe:void 0;e.exports=function(e,t){if(t)return e.slice();var r=e.length,n=c?c(r):new e.constructor(r);return e.copy(n),n}},9842:function(e,t,r){var n=r(990);e.exports=function(e,t){var r=t?n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}},7054:function(e){var t=/\w*$/;e.exports=function(e){var r=new e.constructor(e.source,t.exec(e));return r.lastIndex=e.lastIndex,r}},6923:function(e,t,r){var n=r(7432),o=n?n.prototype:void 0,a=o?o.valueOf:void 0;e.exports=function(e){return a?Object(a.call(e)):{}}},1058:function(e,t,r){var n=r(990);e.exports=function(e,t){var r=t?n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}},5240:function(e){e.exports=function(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}},5634:function(e,t,r){var n=r(6312),o=r(6571);e.exports=function(e,t,r,a){var u=!r;r||(r={});for(var c=-1,i=t.length;++c<i;){var s=t[c],l=a?a(r[s],e[s],s,r,e):void 0;void 0===l&&(l=e[s]),u?o(r,s,l):n(r,s,l)}return r}},6752:function(e,t,r){var n=r(5634),o=r(1809);e.exports=function(e,t){return n(e,o(e),t)}},4239:function(e,t,r){var n=r(5634),o=r(9242);e.exports=function(e,t){return n(e,o(e),t)}},4780:function(e,t,r){e.exports=r(5036)["__core-js_shared__"]},6514:function(e,t,r){var n=r(3789);e.exports=function(){try{var e=n(Object,"defineProperty");return e({},"",{}),e}catch(e){}}()},8565:function(e,t,r){e.exports="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g},1679:function(e,t,r){var n=r(4090),o=r(1809),a=r(9125);e.exports=function(e){return n(e,a,o)}},6628:function(e,t,r){var n=r(4090),o=r(9242),a=r(7798);e.exports=function(e){return n(e,a,o)}},5930:function(e,t,r){var n=r(29);e.exports=function(e,t){var r=e.__data__;return n(t)?r["string"==typeof t?"string":"hash"]:r.map}},3789:function(e,t,r){var n=r(9950),o=r(8869);e.exports=function(e,t){var r=o(e,t);return n(r)?r:void 0}},4754:function(e,t,r){e.exports=r(2344)(Object.getPrototypeOf,Object)},4444:function(e,t,r){var n=r(7432),o=Object.prototype,a=o.hasOwnProperty,u=o.toString,c=n?n.toStringTag:void 0;e.exports=function(e){var t=a.call(e,c),r=e[c];try{e[c]=void 0;var n=!0}catch(e){}var o=u.call(e);return n&&(t?e[c]=r:delete e[c]),o}},1809:function(e,t,r){var n=r(5773),o=r(3864),a=Object.prototype.propertyIsEnumerable,u=Object.getOwnPropertySymbols;e.exports=u?function(e){return null==e?[]:n(u(e=Object(e)),function(t){return a.call(e,t)})}:o},9242:function(e,t,r){var n=r(1595),o=r(4754),a=r(1809),u=r(3864);e.exports=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)n(t,a(e)),e=o(e);return t}:u},1344:function(e,t,r){var n=r(7737),o=r(16),a=r(1767),u=r(7802),c=r(20),i=r(6077),s=r(2760),l="[object Map]",f="[object Promise]",p="[object Set]",b="[object WeakMap]",d="[object DataView]",y=s(n),v=s(o),h=s(a),m=s(u),g=s(c),w=i;(n&&w(new n(new ArrayBuffer(1)))!=d||o&&w(new o)!=l||a&&w(a.resolve())!=f||u&&w(new u)!=p||c&&w(new c)!=b)&&(w=function(e){var t=i(e),r="[object Object]"==t?e.constructor:void 0,n=r?s(r):"";if(n)switch(n){case y:return d;case v:return l;case h:return f;case m:return p;case g:return b}return t}),e.exports=w},8869:function(e){e.exports=function(e,t){return null==e?void 0:e[t]}},9763:function(e,t,r){var n=r(267);e.exports=function(){this.__data__=n?n(null):{},this.size=0}},3879:function(e){e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=!!t,t}},8150:function(e,t,r){var n=r(267),o=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(n){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return o.call(t,e)?t[e]:void 0}},7106:function(e,t,r){var n=r(267),o=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return n?void 0!==t[e]:o.call(t,e)}},938:function(e,t,r){var n=r(267);e.exports=function(e,t){var r=this.__data__;return this.size+=+!this.has(e),r[e]=n&&void 0===t?"__lodash_hash_undefined__":t,this}},7928:function(e){var t=Object.prototype.hasOwnProperty;e.exports=function(e){var r=e.length,n=new e.constructor(r);return r&&"string"==typeof e[0]&&t.call(e,"index")&&(n.index=e.index,n.input=e.input),n}},4290:function(e,t,r){var n=r(990),o=r(9842),a=r(7054),u=r(6923),c=r(1058);e.exports=function(e,t,r){var i=e.constructor;switch(t){case"[object ArrayBuffer]":return n(e);case"[object Boolean]":case"[object Date]":return new i(+e);case"[object DataView]":return o(e,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return c(e,r);case"[object Map]":case"[object Set]":return new i;case"[object Number]":case"[object String]":return new i(e);case"[object RegExp]":return a(e);case"[object Symbol]":return u(e)}}},6082:function(e,t,r){var n=r(6309),o=r(4754),a=r(2632);e.exports=function(e){return"function"!=typeof e.constructor||a(e)?{}:n(o(e))}},1574:function(e){var t=/^(?:0|[1-9]\d*)$/;e.exports=function(e,r){var n=typeof e;return!!(r=null==r?0x1fffffffffffff:r)&&("number"==n||"symbol"!=n&&t.test(e))&&e>-1&&e%1==0&&e<r}},29:function(e){e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},3909:function(e,t,r){var n,o=r(4780),a=(n=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"";e.exports=function(e){return!!a&&a in e}},2632:function(e){var t=Object.prototype;e.exports=function(e){var r=e&&e.constructor;return e===("function"==typeof r&&r.prototype||t)}},3023:function(e){e.exports=function(){this.__data__=[],this.size=0}},4747:function(e,t,r){var n=r(5096),o=Array.prototype.splice;e.exports=function(e){var t=this.__data__,r=n(t,e);return!(r<0)&&(r==t.length-1?t.pop():o.call(t,r,1),--this.size,!0)}},9978:function(e,t,r){var n=r(5096);e.exports=function(e){var t=this.__data__,r=n(t,e);return r<0?void 0:t[r][1]}},6734:function(e,t,r){var n=r(5096);e.exports=function(e){return n(this.__data__,e)>-1}},4710:function(e,t,r){var n=r(5096);e.exports=function(e,t){var r=this.__data__,o=n(r,e);return o<0?(++this.size,r.push([e,t])):r[o][1]=t,this}},615:function(e,t,r){var n=r(5072),o=r(5332),a=r(16);e.exports=function(){this.size=0,this.__data__={hash:new n,map:new(a||o),string:new n}}},9859:function(e,t,r){var n=r(5930);e.exports=function(e){var t=n(this,e).delete(e);return this.size-=!!t,t}},5170:function(e,t,r){var n=r(5930);e.exports=function(e){return n(this,e).get(e)}},8470:function(e,t,r){var n=r(5930);e.exports=function(e){return n(this,e).has(e)}},7646:function(e,t,r){var n=r(5930);e.exports=function(e,t){var r=n(this,e),o=r.size;return r.set(e,t),this.size+=+(r.size!=o),this}},267:function(e,t,r){e.exports=r(3789)(Object,"create")},9963:function(e,t,r){e.exports=r(2344)(Object.keys,Object)},312:function(e){e.exports=function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}},1172:function(e,t,r){e=r.nmd(e);var n=r(8565),o=t&&!t.nodeType&&t,a=o&&e&&!e.nodeType&&e,u=a&&a.exports===o&&n.process,c=function(){try{var e=a&&a.require&&a.require("util").types;if(e)return e;return u&&u.binding&&u.binding("util")}catch(e){}}();e.exports=c},3371:function(e){var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},2344:function(e){e.exports=function(e,t){return function(r){return e(t(r))}}},5036:function(e,t,r){var n=r(8565),o="object"==typeof self&&self&&self.Object===Object&&self;e.exports=n||o||Function("return this")()},9333:function(e,t,r){var n=r(5332);e.exports=function(){this.__data__=new n,this.size=0}},1893:function(e){e.exports=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}},9676:function(e){e.exports=function(e){return this.__data__.get(e)}},6536:function(e){e.exports=function(e){return this.__data__.has(e)}},3336:function(e,t,r){var n=r(5332),o=r(16),a=r(1708);e.exports=function(e,t){var r=this.__data__;if(r instanceof n){var u=r.__data__;if(!o||u.length<199)return u.push([e,t]),this.size=++r.size,this;r=this.__data__=new a(u)}return r.set(e,t),this.size=r.size,this}},2760:function(e){var t=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return t.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},1454:function(e,t,r){var n=r(9192);e.exports=function(e){return n(e,5)}},9679:function(e){e.exports=function(e,t){return e===t||e!=e&&t!=t}},7933:function(e,t,r){var n=r(5301),o=r(4189),a=Object.prototype,u=a.hasOwnProperty,c=a.propertyIsEnumerable;e.exports=n(function(){return arguments}())?n:function(e){return o(e)&&u.call(e,"callee")&&!c.call(e,"callee")}},9464:function(e){e.exports=Array.isArray},623:function(e,t,r){var n=r(6553),o=r(5841);e.exports=function(e){return null!=e&&o(e.length)&&!n(e)}},5752:function(e,t,r){e=r.nmd(e);var n=r(5036),o=r(8042),a=t&&!t.nodeType&&t,u=a&&e&&!e.nodeType&&e,c=u&&u.exports===a?n.Buffer:void 0,i=c?c.isBuffer:void 0;e.exports=i||o},6553:function(e,t,r){var n=r(6077),o=r(6130);e.exports=function(e){if(!o(e))return!1;var t=n(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},5841:function(e){e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=0x1fffffffffffff}},6043:function(e,t,r){var n=r(1939),o=r(7746),a=r(1172),u=a&&a.isMap;e.exports=u?o(u):n},6130:function(e){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},4189:function(e){e.exports=function(e){return null!=e&&"object"==typeof e}},6885:function(e,t,r){var n=r(8685),o=r(7746),a=r(1172),u=a&&a.isSet;e.exports=u?o(u):n},264:function(e,t,r){var n=r(8912),o=r(7746),a=r(1172),u=a&&a.isTypedArray;e.exports=u?o(u):n},9125:function(e,t,r){var n=r(6272),o=r(4829),a=r(623);e.exports=function(e){return a(e)?n(e):o(e)}},7798:function(e,t,r){var n=r(6272),o=r(9262),a=r(623);e.exports=function(e){return a(e)?n(e,!0):o(e)}},3864:function(e){e.exports=function(){return[]}},8042:function(e){e.exports=function(){return!1}},7375:function(t){"use strict";t.exports=e},418:function(e){"use strict";e.exports=a},5230:function(e){"use strict";e.exports=n},7992:function(e){"use strict";e.exports=u},166:function(e){"use strict";e.exports=o},3342:function(e){"use strict";e.exports=i},2625:function(e){"use strict";e.exports=c},2059:function(e){"use strict";e.exports=r},9155:function(e){"use strict";e.exports=t}},l={};function f(e){var t=l[e];if(void 0!==t)return t.exports;var r=l[e]={id:e,loaded:!1,exports:{}};return s[e].call(r.exports,r,r.exports,f),r.loaded=!0,r.exports}f.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(t,{a:t}),t},f.d=function(e,t){for(var r in t)f.o(t,r)&&!f.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},f.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),f.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},f.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.nmd=function(e){return e.paths=[],e.children||(e.children=[]),e},f.g.importScripts&&(p=f.g.location+"");var p,b=f.g.document;if(!p&&b&&(b.currentScript&&"SCRIPT"===b.currentScript.tagName.toUpperCase()&&(p=b.currentScript.src),!p)){var d=b.getElementsByTagName("script");if(d.length)for(var y=d.length-1;y>-1&&(!p||!/^http(s?):/.test(p));)p=d[y--].src}if(!p)throw Error("Automatic publicPath is not supported in this browser");f.p=p.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/");var v={};return!function(){"use strict";var e="",t="u">typeof document?document.currentScript:null;if(t&&t.src&&(e=t.src.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")),!e){var r=window.__webpack_public_path__||"";r&&("/"!==r.charAt(r.length-1)&&(r+="/"),e=r+"static/plugins/@nocobase/plugin-backups/dist/client/")}if(!e){var n=window.__nocobase_modern_client_prefix__||"v",o="/"+(n=String(n).replace(/^\/+|\/+$/g,"")||"v")+"/";if(!(e=window.__nocobase_public_path__||"")&&window.location&&window.location.pathname){var a=window.location.pathname||"/",u=a.indexOf(o);e=u>=0?a.slice(0,u+1):"/"}e&&(e=e.replace(RegExp("/"+n+"/?$"),"/")),e||(e="/"),"/"!==e.charAt(e.length-1)&&(e+="/"),e+="static/plugins/@nocobase/plugin-backups/dist/client/"}f.p=e}(),!function(){"use strict";f.r(v),f.d(v,{PluginBackupsClient:function(){return ei},default:function(){return es}});var e=f(3342),t=f(418),r=f(5230),n=f(7992),o=f(166),a=f(2059),u=f(1454),c=f.n(u),i=f(9155),s=f.n(i),l="backups";function p(){var t=(0,e.useApp)();return(0,i.useCallback)(function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t.i18n.t(e,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({ns:[l,"client"]},r))},[t])}function b(e,t,r,n,o,a,u){try{var c=e[a](u),i=c.value}catch(e){r(e);return}c.done?t(i):Promise.resolve(i).then(n,o)}function d(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function u(e){b(a,n,o,u,c,"next",e)}function c(e){b(a,n,o,u,c,"throw",e)}u(void 0)})}}function y(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function h(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){y(e,t,r[t])})}return e}function m(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(u,"next",{value:i(0)}),c(u,"throw",{value:i(1)}),c(u,"return",{value:i(2)}),"function"==typeof Symbol&&c(u,Symbol.iterator,{value:function(){return this}}),u;function i(c){return function(i){var s=[c,i];if(r)throw TypeError("Generator is already executing.");for(;u&&(u=0,s[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],n=0}finally{r=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}var g=function(t){var r,n,o=(0,e.useActionContext)().visible;return(0,e.useRequest)({url:"backupSettings:get/1"},(r=h({},t),n=n={refreshDeps:[o]},Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(n)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(n)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(n,e))}),r))},w=function(){var t=(0,e.useActionContext)().setVisible,n=(0,r.useForm)(),o=(0,e.useAPIClient)(),u=a.App.useApp().message,i=p(),s=(0,e.useRequest)({url:"backupSettings:get/1"}),l=s.data,f=s.mutate;return{run:function(){return d(function(){var e;return m(this,function(r){switch(r.label){case 0:return[4,n.submit()];case 1:return r.sent(),e=c()(n.values),f({data:h({},null==l?void 0:l.data,e)}),[4,o.request({url:"backupSettings:update/1",method:"post",data:e})];case 2:return r.sent(),u.success(i("Saved successfully")),t(!1),[2]}})})()}}},x={type:"object",properties:y({},(0,o.uid)(),{"x-decorator":"Form","x-decorator-props":{useValues:"{{ useBackupSettingsValues }}"},"x-component":"div",type:"void",properties:{setCron:{type:"void",title:'{{t("Automatic backup")}}',"x-component":"FormItem","x-component-props":{},properties:{scheduled:{required:!0,type:"boolean","x-component":"Checkbox","x-component-props":{children:'{{t("Run automatic backup on the cron schedule")}}'}},cron:{type:"string","x-component":"Cron","x-component-props":{clearButton:!1,defaultValue:"0 0 * * *",disabled:"{{!$values.scheduled}}"}}}},keep:{required:!0,type:"number",title:'{{t("Maximum number of backups")}}',description:'{{t("The maximum number of backups to keep, older backups are automatically deleted.")}}',"x-decorator":"FormItem","x-component":"InputNumber","x-component-props":{min:1}},storageId:{type:"string",title:'{{t("Sync backups to cloud storage")}}',"x-decorator":"FormItem","x-component":"Select","x-reactions":["{{useAsyncDataSource()}}"]},enableFilesBackup:{type:"boolean",title:'{{t("Backup local storage files")}}',"x-decorator":"FormItem","x-component":t.Switch},encryptionPassword:{type:"string",title:'{{t("Restore password")}}',description:'{{t("If a restore password is set, it must be entered when restoring the backup.")}}',"x-decorator":"FormItem","x-component":a.Input.Password,"x-component-props":{autoComplete:"new-password"}},footer1:{type:"void","x-component":"ActionBar","x-component-props":{layout:"one-column"},properties:{submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",htmlType:"submit",useAction:"{{ useSaveBackupSettingsValues }}"}}}}}})},j=function(){var t=(0,e.useAPIClient)(),r=p();return s().createElement(a.Card,{bordered:!1},s().createElement(e.SchemaComponent,{scope:{useSaveBackupSettingsValues:w,useBackupSettingsValues:g,useAsyncDataSource:function(){return function(e){return d(function(){var r;return m(this,function(o){switch(o.label){case 0:e.loading=!0,o.label=1;case 1:return o.trys.push([1,,3,4]),[4,t.request({url:"storages:list"})];case 2:return r=o.sent(),n.action.bound(function(){var t;e.dataSource=((null==r||null==(t=r.data)?void 0:t.data)||[]).filter(function(e){return"local"!==e.type}).map(function(e){return{label:e.title,value:e.id}})})(),[3,4];case 3:return e.loading=!1,[7];case 4:return[2]}})})()}},t:r},schema:x,components:{Cron:e.Cron,Action:e.Action,Form:e.Form,Input:e.Input,FormItem:e.FormItem,Select:e.Select,Checkbox:e.Checkbox}}))},O=f(6574),_=(0,i.createContext)(null),k=function(){var e=(0,i.useContext)(_);if(!e)throw Error("BackupsContext provider is missing");return e},S=f(2625),A=function(){var t=(0,e.useApp)();return{showCheckBackupMessage:(0,S.useMemoizedFn)(function(){t.maintaining=!0,t.error={command:{name:"APP Restoring"},message:"checking backup...",code:"APP_COMMANDING"}}),hideCheckBackupMessage:(0,S.useMemoizedFn)(function(){t.maintaining=!1})}};function E(e,t,r,n,o,a,u){try{var c=e[a](u),i=c.value}catch(e){r(e);return}c.done?t(i):Promise.resolve(i).then(n,o)}function P(){var t=(0,e.useAPIClient)(),r=s().useRef(null),n=a.App.useApp().notification,o=(0,e.useApp)().maintaining,u=A().hideCheckBackupMessage;return(0,i.useEffect)(function(){var e=setInterval(function(){var e;return(e=function(){var e;return function(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(u,"next",{value:i(0)}),c(u,"throw",{value:i(1)}),c(u,"return",{value:i(2)}),"function"==typeof Symbol&&c(u,Symbol.iterator,{value:function(){return this}}),u;function i(c){return function(i){var s=[c,i];if(r)throw TypeError("Generator is already executing.");for(;u&&(u=0,s[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],n=0}finally{r=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}(this,function(o){switch(o.label){case 0:if(!r.current)return[2];o.label=1;case 1:return o.trys.push([1,3,,4]),[4,t.request({url:"".concat(l,":restoreStatus"),method:"get",params:{task:r.current}})];case 2:return(e=o.sent().data.data).inProgress||(r.current=null),e.message&&(u(),n.error({message:e.message,role:"alert"})),[3,4];case 3:return console.error(o.sent()),[3,4];case 4:return[2]}})},function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function u(e){E(a,n,o,u,c,"next",e)}function c(e){E(a,n,o,u,c,"throw",e)}u(void 0)})})()},3e3);return function(){return clearInterval(e)}},[t,u,o,n]),r}var C=function(){var t,r,n=(0,e.useAPIClient)(),o=(0,S.useMemoizedFn)(function(){return n.request({url:"backups:appInfo"})}),a=(0,S.useRequest)(o,{cacheKey:"backupAppInfo",staleTime:-1}).data;return{database:{dialect:null==a||null==(t=a.data)?void 0:t.data.database.dialect,schema:null==a||null==(r=a.data)?void 0:r.data.database.schema}}};function I(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function T(e,t,r,n,o,a,u){try{var c=e[a](u),i=c.value}catch(e){r(e);return}c.done?t(i):Promise.resolve(i).then(n,o)}function B(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],u=!0,c=!1;try{for(o=o.call(e);!(u=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);u=!0);}catch(e){c=!0,n=e}finally{try{u||null==o.return||o.return()}finally{if(c)throw n}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return I(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return I(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var F=function(t){var r=t.backup,n=p(),o=B(s().useState(!1),2),u=o[0],c=o[1],i=B(s().useState(""),2),l=i[0],f=i[1],b=B(s().useState(!1),2),d=b[0],y=b[1],v=B(s().useState(""),2),h=v[0],m=v[1],g=(0,e.useAPIClient)(),w=P(),x=A().showCheckBackupMessage,j=C().database,O=j.schema,_=j.dialect,k=function(){c(!1),f(""),m("")};return s().createElement(s().Fragment,null,s().createElement("a",{type:"link",role:"button",onClick:function(){c(!0)}},n("Restore")),s().createElement(a.Modal,{title:n("Restore"),open:u,onCancel:k,footer:[s().createElement(a.Button,{key:"back",onClick:k},n("Cancel")),s().createElement(a.Button,{key:"submit",type:"primary",loading:d,onClick:function(){var e;return(e=function(){var e;return function(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(u,"next",{value:i(0)}),c(u,"throw",{value:i(1)}),c(u,"return",{value:i(2)}),"function"==typeof Symbol&&c(u,Symbol.iterator,{value:function(){return this}}),u;function i(c){return function(i){var s=[c,i];if(r)throw TypeError("Generator is already executing.");for(;u&&(u=0,s[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],n=0}finally{r=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}(this,function(t){switch(t.label){case 0:y(!0),t.label=1;case 1:return t.trys.push([1,3,,4]),[4,g.request({url:"backups:restore",method:"post",data:{name:r.name,password:l,dbSchema:h}})];case 2:return w.current=null==(e=t.sent().data.data)?void 0:e.task,x(),[3,4];case 3:return console.error(t.sent()),[3,4];case 4:return y(!1),c(!1),f(""),m(""),[2]}})},function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function u(e){T(a,n,o,u,c,"next",e)}function c(e){T(a,n,o,u,c,"throw",e)}u(void 0)})})()}},n("Submit"))]},s().createElement(a.Form,{layout:"vertical",autoComplete:"off"},"postgres"===_&&s().createElement(a.Form.Item,{label:s().createElement("strong",null,n("Confirm the application database schema")),help:n("Required if application database schema is different with the backup",{currentDbSchemaTips:O?"[".concat(O,"]"):""})},s().createElement(a.Input,{autoComplete:"new-password",value:h,onChange:function(e){return m(e.target.value)}})),s().createElement(a.Form.Item,{colon:!0,label:s().createElement("strong",null,n("Restore password"))},s().createElement(a.Input.Password,{value:l,autoComplete:"new-password",onChange:function(e){return f(e.target.value)}})))))};function R(e,t,r,n,o,a,u){try{var c=e[a](u),i=c.value}catch(e){r(e);return}c.done?t(i):Promise.resolve(i).then(n,o)}function M(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function u(e){R(a,n,o,u,c,"next",e)}function c(e){R(a,n,o,u,c,"throw",e)}u(void 0)})}}function q(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(u,"next",{value:i(0)}),c(u,"throw",{value:i(1)}),c(u,"return",{value:i(2)}),"function"==typeof Symbol&&c(u,Symbol.iterator,{value:function(){return this}}),u;function i(c){return function(i){var s=[c,i];if(r)throw TypeError("Generator is already executing.");for(;u&&(u=0,s[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],n=0}finally{r=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}var U=function(){var t=p(),r=(0,e.useAPIClient)(),n=(0,e.useCurrentAppInfo)(),o=a.App.useApp().modal,u=k(),c=u.data,i=u.loading,f=u.refreshAsync,b=(0,e.useRequest)({url:"".concat(l,":destroy"),method:"post"},{manual:!0}).runAsync,d=function(e){o.confirm({title:t("Delete record"),content:t("Are you sure you want to delete it?"),onOk:function(){return M(function(){return q(this,function(r){switch(r.label){case 0:return[4,b({filterByTk:e.name})];case 1:return r.sent(),[4,f()];case 2:return r.sent(),a.message.success(t("The deletion was successful.")),[2]}})})()}})},y=function(e){return e.inProgress?{colSpan:0}:{}},v=[{title:t("Backup list"),dataIndex:"name",width:400,onCell:function(e){return e.inProgress?{colSpan:4}:{}},render:function(e,r){return r.inProgress?s().createElement("div",{style:{color:"rgba(0, 0, 0, 0.88)"}},e,"(",t("Backing up"),"...)"):s().createElement("div",null,e)}},{title:t("File size"),dataIndex:"fileSize",onCell:y},{title:t("Created at"),dataIndex:"createdAt",onCell:y,render:function(t){return s().createElement(e.DatePicker.ReadPretty,{value:t,showTime:!0})}},{title:t("Actions"),dataIndex:"actions",onCell:y,render:function(e,o){return s().createElement(a.Space,{split:s().createElement(a.Divider,{type:"vertical"})},s().createElement(F,{backup:o}),s().createElement("a",{type:"link",onClick:function(){M(function(){var e,t,a,u;return q(this,function(c){switch(c.label){case 0:return t=null==n||null==(e=n.data)?void 0:e.name,a={filterByTk:o.name},t&&(a.__appName=t),[4,r.request({url:"backups:download",method:"get",params:a,responseType:"blob"})];case 1:return u=new Blob([c.sent().data]),(0,O.saveAs)(u,o.name),[2]}})})()}},t("Download")),s().createElement("a",{onClick:function(){return d(o)}},t("Delete")))}}];return s().createElement(a.Table,{rowKey:"name",dataSource:null==c?void 0:c.data,loading:i,columns:v})},D=f(7375),z=function(){var e=p(),t=k(),r=t.refresh,n=t.loading,o=n?D.LoadingOutlined:D.ReloadOutlined;return s().createElement(a.Button,{onClick:r,icon:s().createElement(o,null),disabled:n},e("Refresh"))};function L(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function $(e,t,r,n,o,a,u){try{var c=e[a](u),i=c.value}catch(e){r(e);return}c.done?t(i):Promise.resolve(i).then(n,o)}function N(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],u=!0,c=!1;try{for(o=o.call(e);!(u=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);u=!0);}catch(e){c=!0,n=e}finally{try{u||null==o.return||o.return()}finally{if(c)throw n}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return L(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return L(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var V=function(){var t=p(),r=a.App.useApp().notification,n=N((0,i.useState)(!1),2),o=n[0],u=n[1],c=N((0,i.useState)(!1),2),l=c[0],f=c[1],b=N((0,i.useState)(""),2),d=b[0],y=b[1],v=N((0,i.useState)(""),2),h=v[0],m=v[1],g=N((0,i.useState)(null),2),w=g[0],x=g[1],j=N((0,i.useState)([]),2),O=j[0],_=j[1],k=(0,e.useAPIClient)(),S=P(),E=A().showCheckBackupMessage,I=C().database,T=I.schema,B=I.dialect,F=function(){y(""),_([]),u(!1),m("")};return s().createElement(s().Fragment,null,s().createElement(a.Button,{icon:s().createElement(D.UploadOutlined,null),onClick:function(){u(!0)}},t("Restore backup from local")),s().createElement(a.Modal,{title:t("Restore backup from local"),open:o,onCancel:F,footer:[s().createElement(a.Button,{key:"back",onClick:F},t("Cancel")),s().createElement(a.Button,{key:"submit",type:"primary",loading:l,onClick:function(){var e;return(e=function(){var e,n;return function(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(u,"next",{value:i(0)}),c(u,"throw",{value:i(1)}),c(u,"return",{value:i(2)}),"function"==typeof Symbol&&c(u,Symbol.iterator,{value:function(){return this}}),u;function i(c){return function(i){var s=[c,i];if(r)throw TypeError("Generator is already executing.");for(;u&&(u=0,s[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],n=0}finally{r=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}(this,function(o){switch(o.label){case 0:if(!w)return r.error({message:t("Please select a backup file")}),[2];f(!0),(e=new FormData).append("file",w),e.append("password",d),e.append("dbSchema",h),o.label=1;case 1:return o.trys.push([1,3,,4]),[4,k.request({url:"backups:upload",method:"post",data:e})];case 2:return S.current=null==(n=o.sent().data.data)?void 0:n.task,E(),[3,4];case 3:return console.error(o.sent()),[3,4];case 4:return f(!1),u(!1),y(""),_([]),m(""),[2]}})},function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function u(e){$(a,n,o,u,c,"next",e)}function c(e){$(a,n,o,u,c,"throw",e)}u(void 0)})})()}},t("Submit"))]},s().createElement(a.Form,{layout:"vertical",autoComplete:"off"},s().createElement(a.Form.Item,null,s().createElement(a.Upload.Dragger,{onRemove:function(e){_([]),x(null)},fileList:O,multiple:!1,maxCount:1,beforeUpload:function(e){return x(e),_([e]),!1}},s().createElement("p",{className:"ant-upload-drag-icon"},s().createElement(D.InboxOutlined,null)),s().createElement("p",{className:"ant-upload-text"}," ",t("Click or drag file to this area to upload")))),"postgres"===B&&s().createElement(a.Form.Item,{label:s().createElement("strong",null,t("Confirm the application database schema")),help:t("Required if application database schema is different with the backup",{currentDbSchemaTips:T?"[".concat(T,"]"):""})},s().createElement(a.Input,{autoComplete:"new-password",value:h,onChange:function(e){return m(e.target.value)}})),s().createElement(a.Form.Item,{colon:!0,label:s().createElement("strong",null,t("Restore password"))},s().createElement(a.Input.Password,{autoComplete:"new-password",value:d,onChange:function(e){return y(e.target.value)}})))))};function G(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function W(e,t,r,n,o,a,u){try{var c=e[a](u),i=c.value}catch(e){r(e);return}c.done?t(i):Promise.resolve(i).then(n,o)}function H(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function u(e){W(a,n,o,u,c,"next",e)}function c(e){W(a,n,o,u,c,"throw",e)}u(void 0)})}}function K(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],u=!0,c=!1;try{for(o=o.call(e);!(u=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);u=!0);}catch(e){c=!0,n=e}finally{try{u||null==o.return||o.return()}finally{if(c)throw n}}return a}}(e,t)||J(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function X(e){return function(e){if(Array.isArray(e))return G(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||J(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function J(e,t){if(e){if("string"==typeof e)return G(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return G(e,t)}}function Q(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(u,"next",{value:i(0)}),c(u,"throw",{value:i(1)}),c(u,"return",{value:i(2)}),"function"==typeof Symbol&&c(u,Symbol.iterator,{value:function(){return this}}),u;function i(c){return function(i){var s=[c,i];if(r)throw TypeError("Generator is already executing.");for(;u&&(u=0,s[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],n=0}finally{r=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}var Y=function(){var t=K((0,i.useState)([]),2),r=t[0],n=t[1],o=p(),u=a.App.useApp(),c=u.message,f=u.notification,b=u.modal,d=k().refreshAsync,y=(0,e.useRequest)({url:"".concat(l,":create"),method:"post"},{manual:!0,throttleWait:1e3}),v=y.runAsync,h=y.loading,m=(0,e.useRequest)({url:"".concat(l,":taskStatus"),method:"get"},{manual:!0}).runAsync;(0,i.useEffect)(function(){if(0!==r.length){var e=setInterval(function(){return H(function(){var e,t,a,u,i,s,l,p,b,y,v,h;return Q(this,function(g){switch(g.label){case 0:return[4,m({names:r})];case 1:e=g.sent(),t=[],a=[],u=!0,i=!1,s=void 0;try{for(l=Object.entries(e.data)[Symbol.iterator]();!(u=(p=l.next()).done);u=!0)y=(b=K(p.value,2))[0],(v=b[1]).inProgress||(v.message?(a.push(y),f.error({message:v.message,role:"alert"})):t.push(y))}catch(e){i=!0,s=e}finally{try{u||null==l.return||l.return()}finally{if(i)throw s}}if(h=X(t).concat(X(a)),!(t.length>0))return[3,3];return c.success(o("NEW_BACKUPS_CREATED",{names:t.join(", ")})),[4,d()];case 2:g.sent(),g.label=3;case 3:return h.length>0&&n(r.filter(function(e){return!h.includes(e)})),[2]}})})()},3e3);return function(){clearInterval(e)}}},[r,c,f,m,d,o]);var g=h?D.LoadingOutlined:D.PlusOutlined;return s().createElement(s().Fragment,null,s().createElement(a.Button,{icon:s().createElement(g,null),disabled:h,type:"primary",onClick:function(){return H(function(){return Q(this,function(e){return b.confirm({title:o("New backup"),content:o("Are you sure you want to create new backup?"),onOk:function(){return H(function(){return Q(this,function(e){switch(e.label){case 0:return[4,H(function(){var e;return Q(this,function(t){switch(t.label){case 0:return[4,v()];case 1:return e=t.sent(),n(X(r).concat([e.data.name])),c.success(o("New backup operation started")),[4,d()];case 2:return t.sent(),[2]}})})()];case 1:return e.sent(),[2]}})})()}}),[2]})})()}},o("New backup")))},Z=function(){var t=(0,e.useRequest)({url:"".concat(l,":list"),method:"get"});return s().createElement(_.Provider,{value:t},s().createElement(a.Card,{bordered:!1},s().createElement(e.Space,{style:{float:"right",marginBottom:16}},s().createElement(z,null),s().createElement(V,null),s().createElement(Y,null)),s().createElement(U,null)))};function ee(e,t,r,n,o,a,u){try{var c=e[a](u),i=c.value}catch(e){r(e);return}c.done?t(i):Promise.resolve(i).then(n,o)}function et(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function u(e){ee(a,n,o,u,c,"next",e)}function c(e){ee(a,n,o,u,c,"throw",e)}u(void 0)})}}function er(e,t,r){return(er=eu()?Reflect.construct:function(e,t,r){var n=[null];n.push.apply(n,t);var o=new(Function.bind.apply(e,n));return r&&eo(o,r.prototype),o}).apply(null,arguments)}function en(e){return(en=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function eo(e,t){return(eo=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ea(e){var t="function"==typeof Map?new Map:void 0;return(ea=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return er(e,arguments,en(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),eo(r,e)})(e)}function eu(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(eu=function(){return!!e})()}function ec(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(u,"next",{value:i(0)}),c(u,"throw",{value:i(1)}),c(u,"return",{value:i(2)}),"function"==typeof Symbol&&c(u,Symbol.iterator,{value:function(){return this}}),u;function i(c){return function(i){var s=[c,i];if(r)throw TypeError("Generator is already executing.");for(;u&&(u=0,s[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],n=0}finally{r=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}var ei=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function r(){var e,t;if(!(this instanceof r))throw TypeError("Cannot call a class as a function");return e=r,t=arguments,e=en(e),function(e,t){var r;if(t&&("object"==((r=t)&&"u">typeof Symbol&&r.constructor===Symbol?"symbol":typeof r)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,eu()?Reflect.construct(e,t||[],en(this).constructor):e.apply(this,t))}return r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),e&&eo(r,e),t=[{key:"afterAdd",value:function(){return et(function(){return ec(this,function(e){return[2]})})()}},{key:"beforeLoad",value:function(){return et(function(){return ec(this,function(e){return[2]})})()}},{key:"load",value:function(){return et(function(){return ec(this,function(e){return this.app.pluginSettingsManager.add("".concat(l),{title:this.t("Backup manager"),icon:"CloudServerOutlined"}),this.app.pluginSettingsManager.add("".concat(l,".list"),{title:this.t("Backup list"),icon:"CloudServerOutlined",Component:Z,aclSnippet:"pm.".concat(l)}),this.app.pluginSettingsManager.add("".concat(l,".settings"),{title:this.t("Settings"),icon:"SettingOutlined",Component:j,aclSnippet:"pm.".concat(l,".settings")}),[2]})}).call(this)}}],function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(r.prototype,t),r}(ea(e.Plugin)),es=ei}(),v}()});
|
|
10
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@ant-design/icons"),require("react"),require("antd"),require("@formily/react"),require("@formily/shared"),require("@formily/antd-v5"),require("@formily/reactive"),require("ahooks"),require("@nocobase/client")):"function"==typeof define&&define.amd?define("@nocobase/plugin-backups",["@ant-design/icons","react","antd","@formily/react","@formily/shared","@formily/antd-v5","@formily/reactive","ahooks","@nocobase/client"],t):"object"==typeof exports?exports["@nocobase/plugin-backups"]=t(require("@ant-design/icons"),require("react"),require("antd"),require("@formily/react"),require("@formily/shared"),require("@formily/antd-v5"),require("@formily/reactive"),require("ahooks"),require("@nocobase/client")):e["@nocobase/plugin-backups"]=t(e["@ant-design/icons"],e.react,e.antd,e["@formily/react"],e["@formily/shared"],e["@formily/antd-v5"],e["@formily/reactive"],e.ahooks,e["@nocobase/client"])}(self,function(e,t,r,n,o,a,u,c,i){return function(){var s={6574:function(e,t,r){var n,o;void 0===(o="function"==typeof(n=function(){"use strict";function t(e,t,r){var n=new XMLHttpRequest;n.open("GET",e),n.responseType="blob",n.onload=function(){c(n.response,t,r)},n.onerror=function(){console.error("could not download file")},n.send()}function n(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(e){}return 200<=t.status&&299>=t.status}function o(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(r){var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var a="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof r.g&&r.g.global===r.g?r.g:void 0,u=a.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),c=a.saveAs||("object"!=typeof window||window!==a?function(){}:"download"in HTMLAnchorElement.prototype&&!u?function(e,r,u){var c=a.URL||a.webkitURL,i=document.createElement("a");i.download=r=r||e.name||"download",i.rel="noopener","string"==typeof e?(i.href=e,i.origin===location.origin?o(i):n(i.href)?t(e,r,u):o(i,i.target="_blank")):(i.href=c.createObjectURL(e),setTimeout(function(){c.revokeObjectURL(i.href)},4e4),setTimeout(function(){o(i)},0))}:"msSaveOrOpenBlob"in navigator?function(e,r,a){if(r=r||e.name||"download","string"!=typeof e){var u;navigator.msSaveOrOpenBlob((void 0===(u=a)?u={autoBom:!1}:"object"!=typeof u&&(console.warn("Deprecated: Expected third argument to be a object"),u={autoBom:!u}),u.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\uFEFF",e],{type:e.type}):e),r)}else if(n(e))t(e,r,a);else{var c=document.createElement("a");c.href=e,c.target="_blank",setTimeout(function(){o(c)})}}:function(e,r,n,o){if((o=o||open("","_blank"))&&(o.document.title=o.document.body.innerText="downloading..."),"string"==typeof e)return t(e,r,n);var c="application/octet-stream"===e.type,i=/constructor/i.test(a.HTMLElement)||a.safari,s=/CriOS\/[\d]+/.test(navigator.userAgent);if((s||c&&i||u)&&"u">typeof FileReader){var l=new FileReader;l.onloadend=function(){var e=l.result;e=s?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),o?o.location.href=e:location=e,o=null},l.readAsDataURL(e)}else{var f=a.URL||a.webkitURL,p=f.createObjectURL(e);o?o.location=p:location.href=p,o=null,setTimeout(function(){f.revokeObjectURL(p)},4e4)}});a.saveAs=c.saveAs=c,e.exports=c})?n.apply(t,[]):n)||(e.exports=o)},7737:function(e,t,r){e.exports=r(3789)(r(5036),"DataView")},5072:function(e,t,r){var n=r(9763),o=r(3879),a=r(8150),u=r(7106),c=r(938);function i(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}i.prototype.clear=n,i.prototype.delete=o,i.prototype.get=a,i.prototype.has=u,i.prototype.set=c,e.exports=i},5332:function(e,t,r){var n=r(3023),o=r(4747),a=r(9978),u=r(6734),c=r(4710);function i(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}i.prototype.clear=n,i.prototype.delete=o,i.prototype.get=a,i.prototype.has=u,i.prototype.set=c,e.exports=i},16:function(e,t,r){e.exports=r(3789)(r(5036),"Map")},1708:function(e,t,r){var n=r(615),o=r(9859),a=r(5170),u=r(8470),c=r(7646);function i(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}i.prototype.clear=n,i.prototype.delete=o,i.prototype.get=a,i.prototype.has=u,i.prototype.set=c,e.exports=i},1767:function(e,t,r){e.exports=r(3789)(r(5036),"Promise")},7802:function(e,t,r){e.exports=r(3789)(r(5036),"Set")},9310:function(e,t,r){var n=r(5332),o=r(9333),a=r(1893),u=r(9676),c=r(6536),i=r(3336);function s(e){var t=this.__data__=new n(e);this.size=t.size}s.prototype.clear=o,s.prototype.delete=a,s.prototype.get=u,s.prototype.has=c,s.prototype.set=i,e.exports=s},7432:function(e,t,r){e.exports=r(5036).Symbol},181:function(e,t,r){e.exports=r(5036).Uint8Array},20:function(e,t,r){e.exports=r(3789)(r(5036),"WeakMap")},2130:function(e){e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e}},5773:function(e){e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length,o=0,a=[];++r<n;){var u=e[r];t(u,r,e)&&(a[o++]=u)}return a}},6272:function(e,t,r){var n=r(8355),o=r(7933),a=r(9464),u=r(5752),c=r(1574),i=r(264),s=Object.prototype.hasOwnProperty;e.exports=function(e,t){var r=a(e),l=!r&&o(e),f=!r&&!l&&u(e),p=!r&&!l&&!f&&i(e),b=r||l||f||p,d=b?n(e.length,String):[],y=d.length;for(var v in e)(t||s.call(e,v))&&!(b&&("length"==v||f&&("offset"==v||"parent"==v)||p&&("buffer"==v||"byteLength"==v||"byteOffset"==v)||c(v,y)))&&d.push(v);return d}},1595:function(e){e.exports=function(e,t){for(var r=-1,n=t.length,o=e.length;++r<n;)e[o+r]=t[r];return e}},6312:function(e,t,r){var n=r(6571),o=r(9679),a=Object.prototype.hasOwnProperty;e.exports=function(e,t,r){var u=e[t];a.call(e,t)&&o(u,r)&&(void 0!==r||t in e)||n(e,t,r)}},5096:function(e,t,r){var n=r(9679);e.exports=function(e,t){for(var r=e.length;r--;)if(n(e[r][0],t))return r;return -1}},2516:function(e,t,r){var n=r(5634),o=r(9125);e.exports=function(e,t){return e&&n(t,o(t),e)}},5771:function(e,t,r){var n=r(5634),o=r(7798);e.exports=function(e,t){return e&&n(t,o(t),e)}},6571:function(e,t,r){var n=r(6514);e.exports=function(e,t,r){"__proto__"==t&&n?n(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}},9192:function(e,t,r){var n=r(9310),o=r(2130),a=r(6312),u=r(2516),c=r(5771),i=r(1733),s=r(5240),l=r(6752),f=r(4239),p=r(1679),b=r(6628),d=r(1344),y=r(7928),v=r(4290),h=r(6082),m=r(9464),g=r(5752),w=r(6043),x=r(6130),j=r(6885),O=r(9125),k=r(7798),_="[object Arguments]",S="[object Function]",A="[object Object]",E={};E[_]=E["[object Array]"]=E["[object ArrayBuffer]"]=E["[object DataView]"]=E["[object Boolean]"]=E["[object Date]"]=E["[object Float32Array]"]=E["[object Float64Array]"]=E["[object Int8Array]"]=E["[object Int16Array]"]=E["[object Int32Array]"]=E["[object Map]"]=E["[object Number]"]=E[A]=E["[object RegExp]"]=E["[object Set]"]=E["[object String]"]=E["[object Symbol]"]=E["[object Uint8Array]"]=E["[object Uint8ClampedArray]"]=E["[object Uint16Array]"]=E["[object Uint32Array]"]=!0,E["[object Error]"]=E[S]=E["[object WeakMap]"]=!1,e.exports=function e(t,r,P,C,I,T){var B,F=1&r,R=2&r,M=4&r;if(P&&(B=I?P(t,C,I,T):P(t)),void 0!==B)return B;if(!x(t))return t;var q=m(t);if(q){if(B=y(t),!F)return s(t,B)}else{var U=d(t),D=U==S||"[object GeneratorFunction]"==U;if(g(t))return i(t,F);if(U==A||U==_||D&&!I){if(B=R||D?{}:h(t),!F)return R?f(t,c(B,t)):l(t,u(B,t))}else{if(!E[U])return I?t:{};B=v(t,U,F)}}T||(T=new n);var z=T.get(t);if(z)return z;T.set(t,B),j(t)?t.forEach(function(n){B.add(e(n,r,P,n,t,T))}):w(t)&&t.forEach(function(n,o){B.set(o,e(n,r,P,o,t,T))});var L=M?R?b:p:R?k:O,$=q?void 0:L(t);return o($||t,function(n,o){$&&(n=t[o=n]),a(B,o,e(n,r,P,o,t,T))}),B}},6309:function(e,t,r){var n=r(6130),o=Object.create;e.exports=function(){function e(){}return function(t){if(!n(t))return{};if(o)return o(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}()},4090:function(e,t,r){var n=r(1595),o=r(9464);e.exports=function(e,t,r){var a=t(e);return o(e)?a:n(a,r(e))}},6077:function(e,t,r){var n=r(7432),o=r(4444),a=r(3371),u=n?n.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":u&&u in Object(e)?o(e):a(e)}},5301:function(e,t,r){var n=r(6077),o=r(4189);e.exports=function(e){return o(e)&&"[object Arguments]"==n(e)}},1939:function(e,t,r){var n=r(1344),o=r(4189);e.exports=function(e){return o(e)&&"[object Map]"==n(e)}},9950:function(e,t,r){var n=r(6553),o=r(3909),a=r(6130),u=r(2760),c=/^\[object .+?Constructor\]$/,i=Object.prototype,s=Function.prototype.toString,l=i.hasOwnProperty,f=RegExp("^"+s.call(l).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!a(e)||o(e))&&(n(e)?f:c).test(u(e))}},8685:function(e,t,r){var n=r(1344),o=r(4189);e.exports=function(e){return o(e)&&"[object Set]"==n(e)}},8912:function(e,t,r){var n=r(6077),o=r(5841),a=r(4189),u={};u["[object Float32Array]"]=u["[object Float64Array]"]=u["[object Int8Array]"]=u["[object Int16Array]"]=u["[object Int32Array]"]=u["[object Uint8Array]"]=u["[object Uint8ClampedArray]"]=u["[object Uint16Array]"]=u["[object Uint32Array]"]=!0,u["[object Arguments]"]=u["[object Array]"]=u["[object ArrayBuffer]"]=u["[object Boolean]"]=u["[object DataView]"]=u["[object Date]"]=u["[object Error]"]=u["[object Function]"]=u["[object Map]"]=u["[object Number]"]=u["[object Object]"]=u["[object RegExp]"]=u["[object Set]"]=u["[object String]"]=u["[object WeakMap]"]=!1,e.exports=function(e){return a(e)&&o(e.length)&&!!u[n(e)]}},4829:function(e,t,r){var n=r(2632),o=r(9963),a=Object.prototype.hasOwnProperty;e.exports=function(e){if(!n(e))return o(e);var t=[];for(var r in Object(e))a.call(e,r)&&"constructor"!=r&&t.push(r);return t}},9262:function(e,t,r){var n=r(6130),o=r(2632),a=r(312),u=Object.prototype.hasOwnProperty;e.exports=function(e){if(!n(e))return a(e);var t=o(e),r=[];for(var c in e)"constructor"==c&&(t||!u.call(e,c))||r.push(c);return r}},8355:function(e){e.exports=function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}},7746:function(e){e.exports=function(e){return function(t){return e(t)}}},990:function(e,t,r){var n=r(181);e.exports=function(e){var t=new e.constructor(e.byteLength);return new n(t).set(new n(e)),t}},1733:function(e,t,r){e=r.nmd(e);var n=r(5036),o=t&&!t.nodeType&&t,a=o&&e&&!e.nodeType&&e,u=a&&a.exports===o?n.Buffer:void 0,c=u?u.allocUnsafe:void 0;e.exports=function(e,t){if(t)return e.slice();var r=e.length,n=c?c(r):new e.constructor(r);return e.copy(n),n}},9842:function(e,t,r){var n=r(990);e.exports=function(e,t){var r=t?n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}},7054:function(e){var t=/\w*$/;e.exports=function(e){var r=new e.constructor(e.source,t.exec(e));return r.lastIndex=e.lastIndex,r}},6923:function(e,t,r){var n=r(7432),o=n?n.prototype:void 0,a=o?o.valueOf:void 0;e.exports=function(e){return a?Object(a.call(e)):{}}},1058:function(e,t,r){var n=r(990);e.exports=function(e,t){var r=t?n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}},5240:function(e){e.exports=function(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}},5634:function(e,t,r){var n=r(6312),o=r(6571);e.exports=function(e,t,r,a){var u=!r;r||(r={});for(var c=-1,i=t.length;++c<i;){var s=t[c],l=a?a(r[s],e[s],s,r,e):void 0;void 0===l&&(l=e[s]),u?o(r,s,l):n(r,s,l)}return r}},6752:function(e,t,r){var n=r(5634),o=r(1809);e.exports=function(e,t){return n(e,o(e),t)}},4239:function(e,t,r){var n=r(5634),o=r(9242);e.exports=function(e,t){return n(e,o(e),t)}},4780:function(e,t,r){e.exports=r(5036)["__core-js_shared__"]},6514:function(e,t,r){var n=r(3789);e.exports=function(){try{var e=n(Object,"defineProperty");return e({},"",{}),e}catch(e){}}()},8565:function(e,t,r){e.exports="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g},1679:function(e,t,r){var n=r(4090),o=r(1809),a=r(9125);e.exports=function(e){return n(e,a,o)}},6628:function(e,t,r){var n=r(4090),o=r(9242),a=r(7798);e.exports=function(e){return n(e,a,o)}},5930:function(e,t,r){var n=r(29);e.exports=function(e,t){var r=e.__data__;return n(t)?r["string"==typeof t?"string":"hash"]:r.map}},3789:function(e,t,r){var n=r(9950),o=r(8869);e.exports=function(e,t){var r=o(e,t);return n(r)?r:void 0}},4754:function(e,t,r){e.exports=r(2344)(Object.getPrototypeOf,Object)},4444:function(e,t,r){var n=r(7432),o=Object.prototype,a=o.hasOwnProperty,u=o.toString,c=n?n.toStringTag:void 0;e.exports=function(e){var t=a.call(e,c),r=e[c];try{e[c]=void 0;var n=!0}catch(e){}var o=u.call(e);return n&&(t?e[c]=r:delete e[c]),o}},1809:function(e,t,r){var n=r(5773),o=r(3864),a=Object.prototype.propertyIsEnumerable,u=Object.getOwnPropertySymbols;e.exports=u?function(e){return null==e?[]:n(u(e=Object(e)),function(t){return a.call(e,t)})}:o},9242:function(e,t,r){var n=r(1595),o=r(4754),a=r(1809),u=r(3864);e.exports=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)n(t,a(e)),e=o(e);return t}:u},1344:function(e,t,r){var n=r(7737),o=r(16),a=r(1767),u=r(7802),c=r(20),i=r(6077),s=r(2760),l="[object Map]",f="[object Promise]",p="[object Set]",b="[object WeakMap]",d="[object DataView]",y=s(n),v=s(o),h=s(a),m=s(u),g=s(c),w=i;(n&&w(new n(new ArrayBuffer(1)))!=d||o&&w(new o)!=l||a&&w(a.resolve())!=f||u&&w(new u)!=p||c&&w(new c)!=b)&&(w=function(e){var t=i(e),r="[object Object]"==t?e.constructor:void 0,n=r?s(r):"";if(n)switch(n){case y:return d;case v:return l;case h:return f;case m:return p;case g:return b}return t}),e.exports=w},8869:function(e){e.exports=function(e,t){return null==e?void 0:e[t]}},9763:function(e,t,r){var n=r(267);e.exports=function(){this.__data__=n?n(null):{},this.size=0}},3879:function(e){e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=!!t,t}},8150:function(e,t,r){var n=r(267),o=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(n){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return o.call(t,e)?t[e]:void 0}},7106:function(e,t,r){var n=r(267),o=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return n?void 0!==t[e]:o.call(t,e)}},938:function(e,t,r){var n=r(267);e.exports=function(e,t){var r=this.__data__;return this.size+=+!this.has(e),r[e]=n&&void 0===t?"__lodash_hash_undefined__":t,this}},7928:function(e){var t=Object.prototype.hasOwnProperty;e.exports=function(e){var r=e.length,n=new e.constructor(r);return r&&"string"==typeof e[0]&&t.call(e,"index")&&(n.index=e.index,n.input=e.input),n}},4290:function(e,t,r){var n=r(990),o=r(9842),a=r(7054),u=r(6923),c=r(1058);e.exports=function(e,t,r){var i=e.constructor;switch(t){case"[object ArrayBuffer]":return n(e);case"[object Boolean]":case"[object Date]":return new i(+e);case"[object DataView]":return o(e,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return c(e,r);case"[object Map]":case"[object Set]":return new i;case"[object Number]":case"[object String]":return new i(e);case"[object RegExp]":return a(e);case"[object Symbol]":return u(e)}}},6082:function(e,t,r){var n=r(6309),o=r(4754),a=r(2632);e.exports=function(e){return"function"!=typeof e.constructor||a(e)?{}:n(o(e))}},1574:function(e){var t=/^(?:0|[1-9]\d*)$/;e.exports=function(e,r){var n=typeof e;return!!(r=null==r?0x1fffffffffffff:r)&&("number"==n||"symbol"!=n&&t.test(e))&&e>-1&&e%1==0&&e<r}},29:function(e){e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},3909:function(e,t,r){var n,o=r(4780),a=(n=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"";e.exports=function(e){return!!a&&a in e}},2632:function(e){var t=Object.prototype;e.exports=function(e){var r=e&&e.constructor;return e===("function"==typeof r&&r.prototype||t)}},3023:function(e){e.exports=function(){this.__data__=[],this.size=0}},4747:function(e,t,r){var n=r(5096),o=Array.prototype.splice;e.exports=function(e){var t=this.__data__,r=n(t,e);return!(r<0)&&(r==t.length-1?t.pop():o.call(t,r,1),--this.size,!0)}},9978:function(e,t,r){var n=r(5096);e.exports=function(e){var t=this.__data__,r=n(t,e);return r<0?void 0:t[r][1]}},6734:function(e,t,r){var n=r(5096);e.exports=function(e){return n(this.__data__,e)>-1}},4710:function(e,t,r){var n=r(5096);e.exports=function(e,t){var r=this.__data__,o=n(r,e);return o<0?(++this.size,r.push([e,t])):r[o][1]=t,this}},615:function(e,t,r){var n=r(5072),o=r(5332),a=r(16);e.exports=function(){this.size=0,this.__data__={hash:new n,map:new(a||o),string:new n}}},9859:function(e,t,r){var n=r(5930);e.exports=function(e){var t=n(this,e).delete(e);return this.size-=!!t,t}},5170:function(e,t,r){var n=r(5930);e.exports=function(e){return n(this,e).get(e)}},8470:function(e,t,r){var n=r(5930);e.exports=function(e){return n(this,e).has(e)}},7646:function(e,t,r){var n=r(5930);e.exports=function(e,t){var r=n(this,e),o=r.size;return r.set(e,t),this.size+=+(r.size!=o),this}},267:function(e,t,r){e.exports=r(3789)(Object,"create")},9963:function(e,t,r){e.exports=r(2344)(Object.keys,Object)},312:function(e){e.exports=function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}},1172:function(e,t,r){e=r.nmd(e);var n=r(8565),o=t&&!t.nodeType&&t,a=o&&e&&!e.nodeType&&e,u=a&&a.exports===o&&n.process,c=function(){try{var e=a&&a.require&&a.require("util").types;if(e)return e;return u&&u.binding&&u.binding("util")}catch(e){}}();e.exports=c},3371:function(e){var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},2344:function(e){e.exports=function(e,t){return function(r){return e(t(r))}}},5036:function(e,t,r){var n=r(8565),o="object"==typeof self&&self&&self.Object===Object&&self;e.exports=n||o||Function("return this")()},9333:function(e,t,r){var n=r(5332);e.exports=function(){this.__data__=new n,this.size=0}},1893:function(e){e.exports=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}},9676:function(e){e.exports=function(e){return this.__data__.get(e)}},6536:function(e){e.exports=function(e){return this.__data__.has(e)}},3336:function(e,t,r){var n=r(5332),o=r(16),a=r(1708);e.exports=function(e,t){var r=this.__data__;if(r instanceof n){var u=r.__data__;if(!o||u.length<199)return u.push([e,t]),this.size=++r.size,this;r=this.__data__=new a(u)}return r.set(e,t),this.size=r.size,this}},2760:function(e){var t=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return t.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},1454:function(e,t,r){var n=r(9192);e.exports=function(e){return n(e,5)}},9679:function(e){e.exports=function(e,t){return e===t||e!=e&&t!=t}},7933:function(e,t,r){var n=r(5301),o=r(4189),a=Object.prototype,u=a.hasOwnProperty,c=a.propertyIsEnumerable;e.exports=n(function(){return arguments}())?n:function(e){return o(e)&&u.call(e,"callee")&&!c.call(e,"callee")}},9464:function(e){e.exports=Array.isArray},623:function(e,t,r){var n=r(6553),o=r(5841);e.exports=function(e){return null!=e&&o(e.length)&&!n(e)}},5752:function(e,t,r){e=r.nmd(e);var n=r(5036),o=r(8042),a=t&&!t.nodeType&&t,u=a&&e&&!e.nodeType&&e,c=u&&u.exports===a?n.Buffer:void 0,i=c?c.isBuffer:void 0;e.exports=i||o},6553:function(e,t,r){var n=r(6077),o=r(6130);e.exports=function(e){if(!o(e))return!1;var t=n(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},5841:function(e){e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=0x1fffffffffffff}},6043:function(e,t,r){var n=r(1939),o=r(7746),a=r(1172),u=a&&a.isMap;e.exports=u?o(u):n},6130:function(e){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},4189:function(e){e.exports=function(e){return null!=e&&"object"==typeof e}},6885:function(e,t,r){var n=r(8685),o=r(7746),a=r(1172),u=a&&a.isSet;e.exports=u?o(u):n},264:function(e,t,r){var n=r(8912),o=r(7746),a=r(1172),u=a&&a.isTypedArray;e.exports=u?o(u):n},9125:function(e,t,r){var n=r(6272),o=r(4829),a=r(623);e.exports=function(e){return a(e)?n(e):o(e)}},7798:function(e,t,r){var n=r(6272),o=r(9262),a=r(623);e.exports=function(e){return a(e)?n(e,!0):o(e)}},3864:function(e){e.exports=function(){return[]}},8042:function(e){e.exports=function(){return!1}},7375:function(t){"use strict";t.exports=e},418:function(e){"use strict";e.exports=a},5230:function(e){"use strict";e.exports=n},7992:function(e){"use strict";e.exports=u},166:function(e){"use strict";e.exports=o},3342:function(e){"use strict";e.exports=i},2625:function(e){"use strict";e.exports=c},2059:function(e){"use strict";e.exports=r},9155:function(e){"use strict";e.exports=t}},l={};function f(e){var t=l[e];if(void 0!==t)return t.exports;var r=l[e]={id:e,loaded:!1,exports:{}};return s[e].call(r.exports,r,r.exports,f),r.loaded=!0,r.exports}f.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(t,{a:t}),t},f.d=function(e,t){for(var r in t)f.o(t,r)&&!f.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},f.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),f.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},f.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.nmd=function(e){return e.paths=[],e.children||(e.children=[]),e},f.g.importScripts&&(p=f.g.location+"");var p,b=f.g.document;if(!p&&b&&(b.currentScript&&"SCRIPT"===b.currentScript.tagName.toUpperCase()&&(p=b.currentScript.src),!p)){var d=b.getElementsByTagName("script");if(d.length)for(var y=d.length-1;y>-1&&(!p||!/^http(s?):/.test(p));)p=d[y--].src}if(!p)throw Error("Automatic publicPath is not supported in this browser");f.p=p.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/");var v={};return!function(){"use strict";var e="",t="u">typeof document?document.currentScript:null;if(t&&t.src){var r=t.src.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"");r.indexOf("/static/plugins/@nocobase/plugin-backups/dist/client/")>=0&&(e=r.replace(/\/[^\/]+$/,"/"))}if(!e){var n=window.__webpack_public_path__||"";n&&("/"!==n.charAt(n.length-1)&&(n+="/"),e=n+"static/plugins/@nocobase/plugin-backups/dist/client/")}if(!e){var o=window.__nocobase_modern_client_prefix__||"v",a="/"+(o=String(o).replace(/^\/+|\/+$/g,"")||"v")+"/";if(!(e=window.__nocobase_public_path__||"")&&window.location&&window.location.pathname){var u=window.location.pathname||"/",c=u.indexOf(a);e=c>=0?u.slice(0,c+1):"/"}e&&(e=e.replace(RegExp("/"+o+"/?$"),"/")),e||(e="/"),"/"!==e.charAt(e.length-1)&&(e+="/"),e+="static/plugins/@nocobase/plugin-backups/dist/client/"}f.p=e}(),!function(){"use strict";f.r(v),f.d(v,{PluginBackupsClient:function(){return ei},default:function(){return es}});var e=f(3342),t=f(418),r=f(5230),n=f(7992),o=f(166),a=f(2059),u=f(1454),c=f.n(u),i=f(9155),s=f.n(i),l="backups";function p(){var t=(0,e.useApp)();return(0,i.useCallback)(function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t.i18n.t(e,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({ns:[l,"client"]},r))},[t])}function b(e,t,r,n,o,a,u){try{var c=e[a](u),i=c.value}catch(e){r(e);return}c.done?t(i):Promise.resolve(i).then(n,o)}function d(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function u(e){b(a,n,o,u,c,"next",e)}function c(e){b(a,n,o,u,c,"throw",e)}u(void 0)})}}function y(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function h(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){y(e,t,r[t])})}return e}function m(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(u,"next",{value:i(0)}),c(u,"throw",{value:i(1)}),c(u,"return",{value:i(2)}),"function"==typeof Symbol&&c(u,Symbol.iterator,{value:function(){return this}}),u;function i(c){return function(i){var s=[c,i];if(r)throw TypeError("Generator is already executing.");for(;u&&(u=0,s[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],n=0}finally{r=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}var g=function(t){var r,n,o=(0,e.useActionContext)().visible;return(0,e.useRequest)({url:"backupSettings:get/1"},(r=h({},t),n=n={refreshDeps:[o]},Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(n)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(n)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(n,e))}),r))},w=function(){var t=(0,e.useActionContext)().setVisible,n=(0,r.useForm)(),o=(0,e.useAPIClient)(),u=a.App.useApp().message,i=p(),s=(0,e.useRequest)({url:"backupSettings:get/1"}),l=s.data,f=s.mutate;return{run:function(){return d(function(){var e;return m(this,function(r){switch(r.label){case 0:return[4,n.submit()];case 1:return r.sent(),e=c()(n.values),f({data:h({},null==l?void 0:l.data,e)}),[4,o.request({url:"backupSettings:update/1",method:"post",data:e})];case 2:return r.sent(),u.success(i("Saved successfully")),t(!1),[2]}})})()}}},x={type:"object",properties:y({},(0,o.uid)(),{"x-decorator":"Form","x-decorator-props":{useValues:"{{ useBackupSettingsValues }}"},"x-component":"div",type:"void",properties:{setCron:{type:"void",title:'{{t("Automatic backup")}}',"x-component":"FormItem","x-component-props":{},properties:{scheduled:{required:!0,type:"boolean","x-component":"Checkbox","x-component-props":{children:'{{t("Run automatic backup on the cron schedule")}}'}},cron:{type:"string","x-component":"Cron","x-component-props":{clearButton:!1,defaultValue:"0 0 * * *",disabled:"{{!$values.scheduled}}"}}}},keep:{required:!0,type:"number",title:'{{t("Maximum number of backups")}}',description:'{{t("The maximum number of backups to keep, older backups are automatically deleted.")}}',"x-decorator":"FormItem","x-component":"InputNumber","x-component-props":{min:1}},storageId:{type:"string",title:'{{t("Sync backups to cloud storage")}}',"x-decorator":"FormItem","x-component":"Select","x-reactions":["{{useAsyncDataSource()}}"]},enableFilesBackup:{type:"boolean",title:'{{t("Backup local storage files")}}',"x-decorator":"FormItem","x-component":t.Switch},encryptionPassword:{type:"string",title:'{{t("Restore password")}}',description:'{{t("If a restore password is set, it must be entered when restoring the backup.")}}',"x-decorator":"FormItem","x-component":a.Input.Password,"x-component-props":{autoComplete:"new-password"}},footer1:{type:"void","x-component":"ActionBar","x-component-props":{layout:"one-column"},properties:{submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",htmlType:"submit",useAction:"{{ useSaveBackupSettingsValues }}"}}}}}})},j=function(){var t=(0,e.useAPIClient)(),r=p();return s().createElement(a.Card,{bordered:!1},s().createElement(e.SchemaComponent,{scope:{useSaveBackupSettingsValues:w,useBackupSettingsValues:g,useAsyncDataSource:function(){return function(e){return d(function(){var r;return m(this,function(o){switch(o.label){case 0:e.loading=!0,o.label=1;case 1:return o.trys.push([1,,3,4]),[4,t.request({url:"storages:list"})];case 2:return r=o.sent(),n.action.bound(function(){var t;e.dataSource=((null==r||null==(t=r.data)?void 0:t.data)||[]).filter(function(e){return"local"!==e.type}).map(function(e){return{label:e.title,value:e.id}})})(),[3,4];case 3:return e.loading=!1,[7];case 4:return[2]}})})()}},t:r},schema:x,components:{Cron:e.Cron,Action:e.Action,Form:e.Form,Input:e.Input,FormItem:e.FormItem,Select:e.Select,Checkbox:e.Checkbox}}))},O=f(6574),k=(0,i.createContext)(null),_=function(){var e=(0,i.useContext)(k);if(!e)throw Error("BackupsContext provider is missing");return e},S=f(2625),A=function(){var t=(0,e.useApp)();return{showCheckBackupMessage:(0,S.useMemoizedFn)(function(){t.maintaining=!0,t.error={command:{name:"APP Restoring"},message:"checking backup...",code:"APP_COMMANDING"}}),hideCheckBackupMessage:(0,S.useMemoizedFn)(function(){t.maintaining=!1})}};function E(e,t,r,n,o,a,u){try{var c=e[a](u),i=c.value}catch(e){r(e);return}c.done?t(i):Promise.resolve(i).then(n,o)}function P(){var t=(0,e.useAPIClient)(),r=s().useRef(null),n=a.App.useApp().notification,o=(0,e.useApp)().maintaining,u=A().hideCheckBackupMessage;return(0,i.useEffect)(function(){var e=setInterval(function(){var e;return(e=function(){var e;return function(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(u,"next",{value:i(0)}),c(u,"throw",{value:i(1)}),c(u,"return",{value:i(2)}),"function"==typeof Symbol&&c(u,Symbol.iterator,{value:function(){return this}}),u;function i(c){return function(i){var s=[c,i];if(r)throw TypeError("Generator is already executing.");for(;u&&(u=0,s[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],n=0}finally{r=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}(this,function(o){switch(o.label){case 0:if(!r.current)return[2];o.label=1;case 1:return o.trys.push([1,3,,4]),[4,t.request({url:"".concat(l,":restoreStatus"),method:"get",params:{task:r.current}})];case 2:return(e=o.sent().data.data).inProgress||(r.current=null),e.message&&(u(),n.error({message:e.message,role:"alert"})),[3,4];case 3:return console.error(o.sent()),[3,4];case 4:return[2]}})},function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function u(e){E(a,n,o,u,c,"next",e)}function c(e){E(a,n,o,u,c,"throw",e)}u(void 0)})})()},3e3);return function(){return clearInterval(e)}},[t,u,o,n]),r}var C=function(){var t,r,n=(0,e.useAPIClient)(),o=(0,S.useMemoizedFn)(function(){return n.request({url:"backups:appInfo"})}),a=(0,S.useRequest)(o,{cacheKey:"backupAppInfo",staleTime:-1}).data;return{database:{dialect:null==a||null==(t=a.data)?void 0:t.data.database.dialect,schema:null==a||null==(r=a.data)?void 0:r.data.database.schema}}};function I(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function T(e,t,r,n,o,a,u){try{var c=e[a](u),i=c.value}catch(e){r(e);return}c.done?t(i):Promise.resolve(i).then(n,o)}function B(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],u=!0,c=!1;try{for(o=o.call(e);!(u=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);u=!0);}catch(e){c=!0,n=e}finally{try{u||null==o.return||o.return()}finally{if(c)throw n}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return I(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return I(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var F=function(t){var r=t.backup,n=p(),o=B(s().useState(!1),2),u=o[0],c=o[1],i=B(s().useState(""),2),l=i[0],f=i[1],b=B(s().useState(!1),2),d=b[0],y=b[1],v=B(s().useState(""),2),h=v[0],m=v[1],g=(0,e.useAPIClient)(),w=P(),x=A().showCheckBackupMessage,j=C().database,O=j.schema,k=j.dialect,_=function(){c(!1),f(""),m("")};return s().createElement(s().Fragment,null,s().createElement("a",{type:"link",role:"button",onClick:function(){c(!0)}},n("Restore")),s().createElement(a.Modal,{title:n("Restore"),open:u,onCancel:_,footer:[s().createElement(a.Button,{key:"back",onClick:_},n("Cancel")),s().createElement(a.Button,{key:"submit",type:"primary",loading:d,onClick:function(){var e;return(e=function(){var e;return function(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(u,"next",{value:i(0)}),c(u,"throw",{value:i(1)}),c(u,"return",{value:i(2)}),"function"==typeof Symbol&&c(u,Symbol.iterator,{value:function(){return this}}),u;function i(c){return function(i){var s=[c,i];if(r)throw TypeError("Generator is already executing.");for(;u&&(u=0,s[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],n=0}finally{r=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}(this,function(t){switch(t.label){case 0:y(!0),t.label=1;case 1:return t.trys.push([1,3,,4]),[4,g.request({url:"backups:restore",method:"post",data:{name:r.name,password:l,dbSchema:h}})];case 2:return w.current=null==(e=t.sent().data.data)?void 0:e.task,x(),[3,4];case 3:return console.error(t.sent()),[3,4];case 4:return y(!1),c(!1),f(""),m(""),[2]}})},function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function u(e){T(a,n,o,u,c,"next",e)}function c(e){T(a,n,o,u,c,"throw",e)}u(void 0)})})()}},n("Submit"))]},s().createElement(a.Form,{layout:"vertical",autoComplete:"off"},["postgres","kingbase"].includes(k)&&s().createElement(a.Form.Item,{label:s().createElement("strong",null,n("Confirm the application database schema")),help:n("Required if application database schema is different with the backup",{currentDbSchemaTips:O?"[".concat(O,"]"):""})},s().createElement(a.Input,{autoComplete:"new-password",value:h,onChange:function(e){return m(e.target.value)}})),s().createElement(a.Form.Item,{colon:!0,label:s().createElement("strong",null,n("Restore password"))},s().createElement(a.Input.Password,{value:l,autoComplete:"new-password",onChange:function(e){return f(e.target.value)}})))))};function R(e,t,r,n,o,a,u){try{var c=e[a](u),i=c.value}catch(e){r(e);return}c.done?t(i):Promise.resolve(i).then(n,o)}function M(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function u(e){R(a,n,o,u,c,"next",e)}function c(e){R(a,n,o,u,c,"throw",e)}u(void 0)})}}function q(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(u,"next",{value:i(0)}),c(u,"throw",{value:i(1)}),c(u,"return",{value:i(2)}),"function"==typeof Symbol&&c(u,Symbol.iterator,{value:function(){return this}}),u;function i(c){return function(i){var s=[c,i];if(r)throw TypeError("Generator is already executing.");for(;u&&(u=0,s[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],n=0}finally{r=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}var U=function(){var t=p(),r=(0,e.useAPIClient)(),n=(0,e.useCurrentAppInfo)(),o=a.App.useApp().modal,u=_(),c=u.data,i=u.loading,f=u.refreshAsync,b=(0,e.useRequest)({url:"".concat(l,":destroy"),method:"post"},{manual:!0}).runAsync,d=function(e){o.confirm({title:t("Delete record"),content:t("Are you sure you want to delete it?"),onOk:function(){return M(function(){return q(this,function(r){switch(r.label){case 0:return[4,b({filterByTk:e.name})];case 1:return r.sent(),[4,f()];case 2:return r.sent(),a.message.success(t("The deletion was successful.")),[2]}})})()}})},y=function(e){return e.inProgress?{colSpan:0}:{}},v=[{title:t("Backup list"),dataIndex:"name",width:400,onCell:function(e){return e.inProgress?{colSpan:4}:{}},render:function(e,r){return r.inProgress?s().createElement("div",{style:{color:"rgba(0, 0, 0, 0.88)"}},e,"(",t("Backing up"),"...)"):s().createElement("div",null,e)}},{title:t("File size"),dataIndex:"fileSize",onCell:y},{title:t("Created at"),dataIndex:"createdAt",onCell:y,render:function(t){return s().createElement(e.DatePicker.ReadPretty,{value:t,showTime:!0})}},{title:t("Actions"),dataIndex:"actions",onCell:y,render:function(e,o){return s().createElement(a.Space,{split:s().createElement(a.Divider,{type:"vertical"})},s().createElement(F,{backup:o}),s().createElement("a",{type:"link",onClick:function(){M(function(){var e,t,a,u;return q(this,function(c){switch(c.label){case 0:return t=null==n||null==(e=n.data)?void 0:e.name,a={filterByTk:o.name},t&&(a.__appName=t),[4,r.request({url:"backups:download",method:"get",params:a,responseType:"blob"})];case 1:return u=new Blob([c.sent().data]),(0,O.saveAs)(u,o.name),[2]}})})()}},t("Download")),s().createElement("a",{onClick:function(){return d(o)}},t("Delete")))}}];return s().createElement(a.Table,{rowKey:"name",dataSource:null==c?void 0:c.data,loading:i,columns:v})},D=f(7375),z=function(){var e=p(),t=_(),r=t.refresh,n=t.loading,o=n?D.LoadingOutlined:D.ReloadOutlined;return s().createElement(a.Button,{onClick:r,icon:s().createElement(o,null),disabled:n},e("Refresh"))};function L(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function $(e,t,r,n,o,a,u){try{var c=e[a](u),i=c.value}catch(e){r(e);return}c.done?t(i):Promise.resolve(i).then(n,o)}function N(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],u=!0,c=!1;try{for(o=o.call(e);!(u=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);u=!0);}catch(e){c=!0,n=e}finally{try{u||null==o.return||o.return()}finally{if(c)throw n}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return L(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return L(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var V=function(){var t=p(),r=a.App.useApp().notification,n=N((0,i.useState)(!1),2),o=n[0],u=n[1],c=N((0,i.useState)(!1),2),l=c[0],f=c[1],b=N((0,i.useState)(""),2),d=b[0],y=b[1],v=N((0,i.useState)(""),2),h=v[0],m=v[1],g=N((0,i.useState)(null),2),w=g[0],x=g[1],j=N((0,i.useState)([]),2),O=j[0],k=j[1],_=(0,e.useAPIClient)(),S=P(),E=A().showCheckBackupMessage,I=C().database,T=I.schema,B=I.dialect,F=function(){y(""),k([]),u(!1),m("")};return s().createElement(s().Fragment,null,s().createElement(a.Button,{icon:s().createElement(D.UploadOutlined,null),onClick:function(){u(!0)}},t("Restore backup from local")),s().createElement(a.Modal,{title:t("Restore backup from local"),open:o,onCancel:F,footer:[s().createElement(a.Button,{key:"back",onClick:F},t("Cancel")),s().createElement(a.Button,{key:"submit",type:"primary",loading:l,onClick:function(){var e;return(e=function(){var e,n;return function(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(u,"next",{value:i(0)}),c(u,"throw",{value:i(1)}),c(u,"return",{value:i(2)}),"function"==typeof Symbol&&c(u,Symbol.iterator,{value:function(){return this}}),u;function i(c){return function(i){var s=[c,i];if(r)throw TypeError("Generator is already executing.");for(;u&&(u=0,s[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],n=0}finally{r=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}(this,function(o){switch(o.label){case 0:if(!w)return r.error({message:t("Please select a backup file")}),[2];f(!0),(e=new FormData).append("file",w),e.append("password",d),e.append("dbSchema",h),o.label=1;case 1:return o.trys.push([1,3,,4]),[4,_.request({url:"backups:upload",method:"post",data:e})];case 2:return S.current=null==(n=o.sent().data.data)?void 0:n.task,E(),[3,4];case 3:return console.error(o.sent()),[3,4];case 4:return f(!1),u(!1),y(""),k([]),m(""),[2]}})},function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function u(e){$(a,n,o,u,c,"next",e)}function c(e){$(a,n,o,u,c,"throw",e)}u(void 0)})})()}},t("Submit"))]},s().createElement(a.Form,{layout:"vertical",autoComplete:"off"},s().createElement(a.Form.Item,null,s().createElement(a.Upload.Dragger,{onRemove:function(e){k([]),x(null)},fileList:O,multiple:!1,maxCount:1,beforeUpload:function(e){return x(e),k([e]),!1}},s().createElement("p",{className:"ant-upload-drag-icon"},s().createElement(D.InboxOutlined,null)),s().createElement("p",{className:"ant-upload-text"}," ",t("Click or drag file to this area to upload")))),["postgres","kingbase"].includes(B)&&s().createElement(a.Form.Item,{label:s().createElement("strong",null,t("Confirm the application database schema")),help:t("Required if application database schema is different with the backup",{currentDbSchemaTips:T?"[".concat(T,"]"):""})},s().createElement(a.Input,{autoComplete:"new-password",value:h,onChange:function(e){return m(e.target.value)}})),s().createElement(a.Form.Item,{colon:!0,label:s().createElement("strong",null,t("Restore password"))},s().createElement(a.Input.Password,{autoComplete:"new-password",value:d,onChange:function(e){return y(e.target.value)}})))))};function G(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function W(e,t,r,n,o,a,u){try{var c=e[a](u),i=c.value}catch(e){r(e);return}c.done?t(i):Promise.resolve(i).then(n,o)}function H(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function u(e){W(a,n,o,u,c,"next",e)}function c(e){W(a,n,o,u,c,"throw",e)}u(void 0)})}}function K(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],u=!0,c=!1;try{for(o=o.call(e);!(u=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);u=!0);}catch(e){c=!0,n=e}finally{try{u||null==o.return||o.return()}finally{if(c)throw n}}return a}}(e,t)||J(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function X(e){return function(e){if(Array.isArray(e))return G(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||J(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function J(e,t){if(e){if("string"==typeof e)return G(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return G(e,t)}}function Q(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(u,"next",{value:i(0)}),c(u,"throw",{value:i(1)}),c(u,"return",{value:i(2)}),"function"==typeof Symbol&&c(u,Symbol.iterator,{value:function(){return this}}),u;function i(c){return function(i){var s=[c,i];if(r)throw TypeError("Generator is already executing.");for(;u&&(u=0,s[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],n=0}finally{r=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}var Y=function(){var t=K((0,i.useState)([]),2),r=t[0],n=t[1],o=p(),u=a.App.useApp(),c=u.message,f=u.notification,b=u.modal,d=_().refreshAsync,y=(0,e.useRequest)({url:"".concat(l,":create"),method:"post"},{manual:!0,throttleWait:1e3}),v=y.runAsync,h=y.loading,m=(0,e.useRequest)({url:"".concat(l,":taskStatus"),method:"get"},{manual:!0}).runAsync;(0,i.useEffect)(function(){if(0!==r.length){var e=setInterval(function(){return H(function(){var e,t,a,u,i,s,l,p,b,y,v,h;return Q(this,function(g){switch(g.label){case 0:return[4,m({names:r})];case 1:e=g.sent(),t=[],a=[],u=!0,i=!1,s=void 0;try{for(l=Object.entries(e.data)[Symbol.iterator]();!(u=(p=l.next()).done);u=!0)y=(b=K(p.value,2))[0],(v=b[1]).inProgress||(v.message?(a.push(y),f.error({message:v.message,role:"alert"})):t.push(y))}catch(e){i=!0,s=e}finally{try{u||null==l.return||l.return()}finally{if(i)throw s}}if(h=X(t).concat(X(a)),!(t.length>0))return[3,3];return c.success(o("NEW_BACKUPS_CREATED",{names:t.join(", ")})),[4,d()];case 2:g.sent(),g.label=3;case 3:return h.length>0&&n(r.filter(function(e){return!h.includes(e)})),[2]}})})()},3e3);return function(){clearInterval(e)}}},[r,c,f,m,d,o]);var g=h?D.LoadingOutlined:D.PlusOutlined;return s().createElement(s().Fragment,null,s().createElement(a.Button,{icon:s().createElement(g,null),disabled:h,type:"primary",onClick:function(){return H(function(){return Q(this,function(e){return b.confirm({title:o("New backup"),content:o("Are you sure you want to create new backup?"),onOk:function(){return H(function(){return Q(this,function(e){switch(e.label){case 0:return[4,H(function(){var e;return Q(this,function(t){switch(t.label){case 0:return[4,v()];case 1:return e=t.sent(),n(X(r).concat([e.data.name])),c.success(o("New backup operation started")),[4,d()];case 2:return t.sent(),[2]}})})()];case 1:return e.sent(),[2]}})})()}}),[2]})})()}},o("New backup")))},Z=function(){var t=(0,e.useRequest)({url:"".concat(l,":list"),method:"get"});return s().createElement(k.Provider,{value:t},s().createElement(a.Card,{bordered:!1},s().createElement(e.Space,{style:{float:"right",marginBottom:16}},s().createElement(z,null),s().createElement(V,null),s().createElement(Y,null)),s().createElement(U,null)))};function ee(e,t,r,n,o,a,u){try{var c=e[a](u),i=c.value}catch(e){r(e);return}c.done?t(i):Promise.resolve(i).then(n,o)}function et(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function u(e){ee(a,n,o,u,c,"next",e)}function c(e){ee(a,n,o,u,c,"throw",e)}u(void 0)})}}function er(e,t,r){return(er=eu()?Reflect.construct:function(e,t,r){var n=[null];n.push.apply(n,t);var o=new(Function.bind.apply(e,n));return r&&eo(o,r.prototype),o}).apply(null,arguments)}function en(e){return(en=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function eo(e,t){return(eo=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ea(e){var t="function"==typeof Map?new Map:void 0;return(ea=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return er(e,arguments,en(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),eo(r,e)})(e)}function eu(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(eu=function(){return!!e})()}function ec(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(u,"next",{value:i(0)}),c(u,"throw",{value:i(1)}),c(u,"return",{value:i(2)}),"function"==typeof Symbol&&c(u,Symbol.iterator,{value:function(){return this}}),u;function i(c){return function(i){var s=[c,i];if(r)throw TypeError("Generator is already executing.");for(;u&&(u=0,s[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],n=0}finally{r=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}var ei=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function r(){var e,t;if(!(this instanceof r))throw TypeError("Cannot call a class as a function");return e=r,t=arguments,e=en(e),function(e,t){var r;if(t&&("object"==((r=t)&&"u">typeof Symbol&&r.constructor===Symbol?"symbol":typeof r)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,eu()?Reflect.construct(e,t||[],en(this).constructor):e.apply(this,t))}return r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),e&&eo(r,e),t=[{key:"afterAdd",value:function(){return et(function(){return ec(this,function(e){return[2]})})()}},{key:"beforeLoad",value:function(){return et(function(){return ec(this,function(e){return[2]})})()}},{key:"load",value:function(){return et(function(){return ec(this,function(e){return this.app.pluginSettingsManager.add("".concat(l),{title:this.t("Backup manager"),icon:"CloudServerOutlined"}),this.app.pluginSettingsManager.add("".concat(l,".list"),{title:this.t("Backup list"),icon:"CloudServerOutlined",Component:Z,aclSnippet:"pm.".concat(l)}),this.app.pluginSettingsManager.add("".concat(l,".settings"),{title:this.t("Settings"),icon:"SettingOutlined",Component:j,aclSnippet:"pm.".concat(l,".settings")}),[2]})}).call(this)}}],function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(r.prototype,t),r}(ea(e.Plugin)),es=ei}(),v}()});
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
(self.webpackChunk_nocobase_plugin_backups_client_v2=self.webpackChunk_nocobase_plugin_backups_client_v2||[]).push([["567"],{574:function(e,t,n){var r,a;void 0===(a="function"==typeof(r=function(){"use strict";function t(e,t,n){var r=new XMLHttpRequest;r.open("GET",e),r.responseType="blob",r.onload=function(){l(r.response,t,n)},r.onerror=function(){console.error("could not download file")},r.send()}function r(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(e){}return 200<=t.status&&299>=t.status}function a(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(n){var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var o="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof n.g&&n.g.global===n.g?n.g:void 0,u=o.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),l=o.saveAs||("object"!=typeof window||window!==o?function(){}:"download"in HTMLAnchorElement.prototype&&!u?function(e,n,u){var l=o.URL||o.webkitURL,i=document.createElement("a");i.download=n=n||e.name||"download",i.rel="noopener","string"==typeof e?(i.href=e,i.origin===location.origin?a(i):r(i.href)?t(e,n,u):a(i,i.target="_blank")):(i.href=l.createObjectURL(e),setTimeout(function(){l.revokeObjectURL(i.href)},4e4),setTimeout(function(){a(i)},0))}:"msSaveOrOpenBlob"in navigator?function(e,n,o){if(n=n||e.name||"download","string"!=typeof e){var u;navigator.msSaveOrOpenBlob((void 0===(u=o)?u={autoBom:!1}:"object"!=typeof u&&(console.warn("Deprecated: Expected third argument to be a object"),u={autoBom:!u}),u.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\uFEFF",e],{type:e.type}):e),n)}else if(r(e))t(e,n,o);else{var l=document.createElement("a");l.href=e,l.target="_blank",setTimeout(function(){a(l)})}}:function(e,n,r,a){if((a=a||open("","_blank"))&&(a.document.title=a.document.body.innerText="downloading..."),"string"==typeof e)return t(e,n,r);var l="application/octet-stream"===e.type,i=/constructor/i.test(o.HTMLElement)||o.safari,c=/CriOS\/[\d]+/.test(navigator.userAgent);if((c||l&&i||u)&&"u">typeof FileReader){var s=new FileReader;s.onloadend=function(){var e=s.result;e=c?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),a?a.location.href=e:location=e,a=null},s.readAsDataURL(e)}else{var f=o.URL||o.webkitURL,p=f.createObjectURL(e);a?a.location=p:location.href=p,a=null,setTimeout(function(){f.revokeObjectURL(p)},4e4)}});o.saveAs=l.saveAs=l,e.exports=l})?r.apply(t,[]):r)||(e.exports=a)},258:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return Y}});var r=n(694),a=n(625),o=n(59),u=n(155),l=n.n(u),i=n(485),c=n(185),s=n.n(c),f=n(574),p=n(401),d=(0,u.createContext)(null),b=function(){var e=(0,u.useContext)(d);if(!e)throw Error("BackupsContext provider is missing");return e},m=n(488);function v(e,t,n,r,a,o,u){try{var l=e[o](u),i=l.value}catch(e){n(e);return}l.done?t(i):Promise.resolve(i).then(r,a)}var h={database:{dialect:""}},y=function(){var e=(0,r.useFlowContext)(),t=(0,a.useMemoizedFn)(function(){var t;return(t=function(){var t,n;return function(e,t){var n,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(u,"next",{value:i(0)}),l(u,"throw",{value:i(1)}),l(u,"return",{value:i(2)}),"function"==typeof Symbol&&l(u,Symbol.iterator,{value:function(){return this}}),u;function i(l){return function(i){var c=[l,i];if(n)throw TypeError("Generator is already executing.");for(;u&&(u=0,c[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(r){switch(r.label){case 0:return[4,e.api.request({url:"backups:appInfo"})];case 1:return[2,null!=(t=null==(n=r.sent().data)?void 0:n.data)?t:h]}})},function(){var e=this,n=arguments;return new Promise(function(r,a){var o=t.apply(e,n);function u(e){v(o,r,a,u,l,"next",e)}function l(e){v(o,r,a,u,l,"throw",e)}u(void 0)})})()}),n=(0,a.useRequest)(t,{cacheKey:"backupAppInfo",staleTime:-1}).data;return null!=n?n:h},w=function(){var e=(0,r.useFlowEngine)(),t=(0,i.useApp)();return{showCheckBackupMessage:(0,a.useMemoizedFn)(function(){var n=e.context[p.l];n?n.showCheckBackupMessage():("function"==typeof t.setMaintaining?t.setMaintaining(!0):t.maintaining=!0,t.error={command:{name:"APP Restoring"},message:"checking backup...",code:"APP_COMMANDING"})}),hideCheckBackupMessage:(0,a.useMemoizedFn)(function(){var n=e.context[p.l];n?n.hideCheckBackupMessage():"function"==typeof t.setMaintaining?t.setMaintaining(!1):t.maintaining=!1})}};function g(e,t,n,r,a,o,u){try{var l=e[o](u),i=l.value}catch(e){n(e);return}l.done?t(i):Promise.resolve(i).then(r,a)}function k(){var e=(0,r.useFlowContext)(),t=(0,i.useApp)(),n=l().useRef(null),a=o.App.useApp().notification,c=w().hideCheckBackupMessage;return(0,u.useEffect)(function(){var t=setInterval(function(){var t;return(t=function(){var t,r;return function(e,t){var n,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(u,"next",{value:i(0)}),l(u,"throw",{value:i(1)}),l(u,"return",{value:i(2)}),"function"==typeof Symbol&&l(u,Symbol.iterator,{value:function(){return this}}),u;function i(l){return function(i){var c=[l,i];if(n)throw TypeError("Generator is already executing.");for(;u&&(u=0,c[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(o){switch(o.label){case 0:if(!n.current)return[2];o.label=1;case 1:return o.trys.push([1,3,,4]),[4,e.api.request({url:"".concat(p.C,":restoreStatus"),method:"get",params:{task:n.current}})];case 2:if(!(r=null==(t=o.sent().data)?void 0:t.data))return[2];return r.inProgress||(n.current=null),r.message&&(c(),a.error({message:r.message,role:"alert"})),[3,4];case 3:return console.error(o.sent()),[3,4];case 4:return[2]}})},function(){var e=this,n=arguments;return new Promise(function(r,a){var o=t.apply(e,n);function u(e){g(o,r,a,u,l,"next",e)}function l(e){g(o,r,a,u,l,"throw",e)}u(void 0)})})()},3e3);return function(){return clearInterval(t)}},[t.maintaining,e.api,c,a]),n}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function C(e,t,n,r,a,o,u){try{var l=e[o](u),i=l.value}catch(e){n(e);return}l.done?t(i):Promise.resolve(i).then(r,a)}function S(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var o=[],u=!0,l=!1;try{for(a=a.call(e);!(u=(n=a.next()).done)&&(o.push(n.value),!t||o.length!==t);u=!0);}catch(e){l=!0,r=e}finally{try{u||null==a.return||a.return()}finally{if(l)throw r}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return E(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return E(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var x=function(e){var t=e.backup,n=(0,m.k)(),a=(0,r.useFlowContext)(),u=S(l().useState(!1),2),i=u[0],c=u[1],s=S(l().useState(""),2),f=s[0],p=s[1],d=S(l().useState(!1),2),b=d[0],v=d[1],h=S(l().useState(""),2),g=h[0],E=h[1],x=k(),A=w().showCheckBackupMessage,O=y().database,j=O.schema,I=O.dialect,P=function(){p(""),E("")},M=function(){c(!1),P()};return l().createElement(l().Fragment,null,l().createElement(o.Button,{type:"link",size:"small",onClick:function(){c(!0)}},n("Restore")),l().createElement(o.Modal,{title:n("Restore"),open:i,onCancel:M,footer:[l().createElement(o.Button,{key:"back",onClick:M},n("Cancel")),l().createElement(o.Button,{key:"submit",type:"primary",loading:b,onClick:function(){var e;return(e=function(){var e,n,r;return function(e,t){var n,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(u,"next",{value:i(0)}),l(u,"throw",{value:i(1)}),l(u,"return",{value:i(2)}),"function"==typeof Symbol&&l(u,Symbol.iterator,{value:function(){return this}}),u;function i(l){return function(i){var c=[l,i];if(n)throw TypeError("Generator is already executing.");for(;u&&(u=0,c[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(o){switch(o.label){case 0:v(!0),o.label=1;case 1:return o.trys.push([1,3,,4]),[4,a.api.request({url:"backups:restore",method:"post",data:{name:t.name,password:f,dbSchema:g}})];case 2:return x.current=null!=(e=null==(r=o.sent().data)||null==(n=r.data)?void 0:n.task)?e:null,A(),[3,4];case 3:return console.error(o.sent()),[3,4];case 4:return v(!1),c(!1),P(),[2]}})},function(){var t=this,n=arguments;return new Promise(function(r,a){var o=e.apply(t,n);function u(e){C(o,r,a,u,l,"next",e)}function l(e){C(o,r,a,u,l,"throw",e)}u(void 0)})})()}},n("Submit"))]},l().createElement(o.Form,{layout:"vertical",autoComplete:"off"},["postgres","kingbase"].includes(I)&&l().createElement(o.Form.Item,{label:l().createElement("strong",null,n("Confirm the application database schema")),help:n("Required if application database schema is different with the backup",{currentDbSchemaTips:j?"[".concat(j,"]"):""})},l().createElement(o.Input,{autoComplete:"new-password",value:g,onChange:function(e){return E(e.target.value)}})),l().createElement(o.Form.Item,{colon:!0,label:l().createElement("strong",null,n("Restore password"))},l().createElement(o.Input.Password,{value:f,autoComplete:"new-password",onChange:function(e){return p(e.target.value)}})))))};function A(e,t,n,r,a,o,u){try{var l=e[o](u),i=l.value}catch(e){n(e);return}l.done?t(i):Promise.resolve(i).then(r,a)}function O(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var o=e.apply(t,n);function u(e){A(o,r,a,u,l,"next",e)}function l(e){A(o,r,a,u,l,"throw",e)}u(void 0)})}}function j(e,t){var n,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(u,"next",{value:i(0)}),l(u,"throw",{value:i(1)}),l(u,"return",{value:i(2)}),"function"==typeof Symbol&&l(u,Symbol.iterator,{value:function(){return this}}),u;function i(l){return function(i){var c=[l,i];if(n)throw TypeError("Generator is already executing.");for(;u&&(u=0,c[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var I=function(){var e,t=(0,m.k)(),n=(0,r.useFlowContext)(),c=(0,i.useCurrentAppInfo)(),d=o.theme.useToken().token,v=o.App.useApp(),h=v.modal,y=v.message,w=b(),g=w.data,k=w.loading,E=w.refreshAsync,C=(0,a.useRequest)(function(e){return O(function(){var t;return j(this,function(r){switch(r.label){case 0:return[4,n.api.request({url:"".concat(p.C,":destroy"),method:"post",params:{filterByTk:e}})];case 1:return[2,null==(t=r.sent().data)?void 0:t.data]}})})()},{manual:!0}).runAsync,S=(0,u.useCallback)(function(e){h.confirm({title:t("Delete record"),content:t("Are you sure you want to delete it?"),onOk:function(){return O(function(){return j(this,function(n){switch(n.label){case 0:return[4,C(e.name)];case 1:return n.sent(),[4,E()];case 2:return n.sent(),y.success(t("The deletion was successful.")),[2]}})})()}})},[C,y,h,E,t]),A=(0,u.useCallback)(function(e){return O(function(){var t,r,a,o,u;return j(this,function(l){switch(l.label){case 0:return a=null!=(t=null==c?void 0:c.name)?t:null==c||null==(r=c.data)?void 0:r.name,o={filterByTk:e.name},a&&(o.__appName=a),[4,n.api.request({url:"backups:download",method:"get",params:o,responseType:"blob"})];case 1:return u=new Blob([l.sent().data]),(0,f.saveAs)(u,e.name),[2]}})})()},[n.api,null==c||null==(e=c.data)?void 0:e.name,null==c?void 0:c.name]),I=function(e){return e.inProgress?{colSpan:0}:{}},P=(0,u.useMemo)(function(){return[{title:t("Backup list"),dataIndex:"name",width:400,onCell:function(e){return e.inProgress?{colSpan:4}:{}},render:function(e,n){return n.inProgress?l().createElement("span",{style:{color:d.colorText}},e,"(",t("Backing up"),"...)"):l().createElement("span",null,e)}},{title:t("File size"),dataIndex:"fileSize",onCell:I},{title:t("Created at"),dataIndex:"createdAt",onCell:I,render:function(e){return e?s()(e).format("YYYY-MM-DD HH:mm:ss"):null}},{title:t("Actions"),dataIndex:"actions",onCell:I,render:function(e,n){return l().createElement(o.Space,{split:l().createElement(o.Divider,{type:"vertical"})},l().createElement(x,{backup:n}),l().createElement("a",{onClick:function(){A(n)}},t("Download")),l().createElement("a",{onClick:function(){return S(n)}},t("Delete")))}}]},[S,A,t,d.colorText]);return l().createElement(i.Table,{rowKey:"name",dataSource:null==g?void 0:g.data,loading:k,columns:P})},P=n(375);function M(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function R(e,t,n,r,a,o,u){try{var l=e[o](u),i=l.value}catch(e){n(e);return}l.done?t(i):Promise.resolve(i).then(r,a)}function T(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var o=e.apply(t,n);function u(e){R(o,r,a,u,l,"next",e)}function l(e){R(o,r,a,u,l,"throw",e)}u(void 0)})}}function B(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var o=[],u=!0,l=!1;try{for(a=a.call(e);!(u=(n=a.next()).done)&&(o.push(n.value),!t||o.length!==t);u=!0);}catch(e){l=!0,r=e}finally{try{u||null==a.return||a.return()}finally{if(l)throw r}}return o}}(e,t)||q(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function F(e){return function(e){if(Array.isArray(e))return M(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||q(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function q(e,t){if(e){if("string"==typeof e)return M(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return M(e,t)}}function _(e,t){var n,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(u,"next",{value:i(0)}),l(u,"throw",{value:i(1)}),l(u,"return",{value:i(2)}),"function"==typeof Symbol&&l(u,Symbol.iterator,{value:function(){return this}}),u;function i(l){return function(i){var c=[l,i];if(n)throw TypeError("Generator is already executing.");for(;u&&(u=0,c[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var D=function(){var e=B((0,u.useState)([]),2),t=e[0],n=e[1],i=(0,m.k)(),c=(0,r.useFlowContext)(),s=o.App.useApp(),f=s.message,d=s.notification,v=s.modal,h=b().refreshAsync,y=(0,a.useRequest)(function(){return T(function(){var e;return _(this,function(t){switch(t.label){case 0:return[4,c.api.request({url:"".concat(p.C,":create"),method:"post"})];case 1:return[2,null==(e=t.sent().data)?void 0:e.data]}})})()},{manual:!0,throttleWait:1e3}),w=y.runAsync,g=y.loading,k=(0,a.useRequest)(function(e){return T(function(){var t,n;return _(this,function(r){switch(r.label){case 0:return[4,c.api.request({url:"".concat(p.C,":taskStatus"),method:"get",params:{names:e}})];case 1:return[2,null!=(t=null==(n=r.sent().data)?void 0:n.data)?t:{}]}})})()},{manual:!0}).runAsync;(0,u.useEffect)(function(){if(0!==t.length){var e=setInterval(function(){return T(function(){var e,r,a,o,u,l,c,s,p,b,m,v;return _(this,function(y){switch(y.label){case 0:return[4,k(t)];case 1:e=y.sent(),r=[],a=[],o=!0,u=!1,l=void 0;try{for(c=Object.entries(e)[Symbol.iterator]();!(o=(s=c.next()).done);o=!0)b=(p=B(s.value,2))[0],(m=p[1]).inProgress||(m.message?(a.push(b),d.error({message:m.message,role:"alert"})):r.push(b))}catch(e){u=!0,l=e}finally{try{o||null==c.return||c.return()}finally{if(u)throw l}}if(v=F(r).concat(F(a)),!(r.length>0))return[3,3];return f.success(i("NEW_BACKUPS_CREATED",{names:r.join(", ")})),[4,h()];case 2:y.sent(),y.label=3;case 3:return v.length>0&&n(function(e){return e.filter(function(e){return!v.includes(e)})}),[2]}})})()},3e3);return function(){clearInterval(e)}}},[t,f,d,k,h,i]);var E=g?P.LoadingOutlined:P.PlusOutlined;return l().createElement(o.Button,{icon:l().createElement(E,null),disabled:g,type:"primary",onClick:function(){return T(function(){return _(this,function(e){return v.confirm({title:i("New backup"),content:i("Are you sure you want to create new backup?"),onOk:function(){return T(function(){return _(this,function(e){switch(e.label){case 0:return[4,T(function(){var e;return _(this,function(t){switch(t.label){case 0:return[4,w()];case 1:return(null==(e=t.sent())?void 0:e.name)&&n(function(t){return F(t).concat([e.name])}),f.success(i("New backup operation started")),[4,h()];case 2:return t.sent(),[2]}})})()];case 1:return e.sent(),[2]}})})()}}),[2]})})()}},i("New backup"))},L=function(){var e=(0,m.k)(),t=b(),n=t.refresh,r=t.loading,a=r?P.LoadingOutlined:P.ReloadOutlined;return l().createElement(o.Button,{onClick:n,icon:l().createElement(a,null),disabled:r},e("Refresh"))};function U(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function G(e,t,n,r,a,o,u){try{var l=e[o](u),i=l.value}catch(e){n(e);return}l.done?t(i):Promise.resolve(i).then(r,a)}function N(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var o=[],u=!0,l=!1;try{for(a=a.call(e);!(u=(n=a.next()).done)&&(o.push(n.value),!t||o.length!==t);u=!0);}catch(e){l=!0,r=e}finally{try{u||null==a.return||a.return()}finally{if(l)throw r}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return U(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return U(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var H=function(){var e=(0,m.k)(),t=(0,r.useFlowContext)(),n=o.App.useApp().notification,a=N((0,u.useState)(!1),2),i=a[0],c=a[1],s=N((0,u.useState)(!1),2),f=s[0],p=s[1],d=N((0,u.useState)(""),2),b=d[0],v=d[1],h=N((0,u.useState)(""),2),g=h[0],E=h[1],C=N((0,u.useState)(null),2),S=C[0],x=C[1],A=N((0,u.useState)([]),2),O=A[0],j=A[1],I=k(),M=w().showCheckBackupMessage,R=y().database,T=R.schema,B=R.dialect,F=function(){v(""),x(null),j([]),E("")},q=function(){c(!1),F()};return l().createElement(l().Fragment,null,l().createElement(o.Button,{icon:l().createElement(P.UploadOutlined,null),onClick:function(){c(!0)}},e("Restore backup from local")),l().createElement(o.Modal,{title:e("Restore backup from local"),open:i,onCancel:q,footer:[l().createElement(o.Button,{key:"back",onClick:q},e("Cancel")),l().createElement(o.Button,{key:"submit",type:"primary",loading:f,onClick:function(){var r;return(r=function(){var r,a,o,u;return function(e,t){var n,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(u,"next",{value:i(0)}),l(u,"throw",{value:i(1)}),l(u,"return",{value:i(2)}),"function"==typeof Symbol&&l(u,Symbol.iterator,{value:function(){return this}}),u;function i(l){return function(i){var c=[l,i];if(n)throw TypeError("Generator is already executing.");for(;u&&(u=0,c[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(l){switch(l.label){case 0:if(!S)return n.error({message:e("Please select a backup file")}),[2];p(!0),(r=new FormData).append("file",S),r.append("password",b),r.append("dbSchema",g),l.label=1;case 1:return l.trys.push([1,3,,4]),[4,t.api.request({url:"backups:upload",method:"post",data:r})];case 2:return I.current=null!=(a=null==(u=l.sent().data)||null==(o=u.data)?void 0:o.task)?a:null,M(),[3,4];case 3:return console.error(l.sent()),[3,4];case 4:return p(!1),c(!1),F(),[2]}})},function(){var e=this,t=arguments;return new Promise(function(n,a){var o=r.apply(e,t);function u(e){G(o,n,a,u,l,"next",e)}function l(e){G(o,n,a,u,l,"throw",e)}u(void 0)})})()}},e("Submit"))]},l().createElement(o.Form,{layout:"vertical",autoComplete:"off"},l().createElement(o.Form.Item,null,l().createElement(o.Upload.Dragger,{onRemove:function(){j([]),x(null)},fileList:O,multiple:!1,maxCount:1,beforeUpload:function(e){return x(e),j([e]),!1}},l().createElement("p",{className:"ant-upload-drag-icon"},l().createElement(P.InboxOutlined,null)),l().createElement("p",{className:"ant-upload-text"},e("Click or drag file to this area to upload")))),["postgres","kingbase"].includes(B)&&l().createElement(o.Form.Item,{label:l().createElement("strong",null,e("Confirm the application database schema")),help:e("Required if application database schema is different with the backup",{currentDbSchemaTips:T?"[".concat(T,"]"):""})},l().createElement(o.Input,{autoComplete:"new-password",value:g,onChange:function(e){return E(e.target.value)}})),l().createElement(o.Form.Item,{colon:!0,label:l().createElement("strong",null,e("Restore password"))},l().createElement(o.Input.Password,{autoComplete:"new-password",value:b,onChange:function(e){return v(e.target.value)}})))))};function z(e,t,n,r,a,o,u){try{var l=e[o](u),i=l.value}catch(e){n(e);return}l.done?t(i):Promise.resolve(i).then(r,a)}var K={data:[]},Y=function(){var e=(0,r.useFlowContext)(),t=(0,a.useRequest)(function(){var t;return(t=function(){var t;return function(e,t){var n,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(u,"next",{value:i(0)}),l(u,"throw",{value:i(1)}),l(u,"return",{value:i(2)}),"function"==typeof Symbol&&l(u,Symbol.iterator,{value:function(){return this}}),u;function i(l){return function(i){var c=[l,i];if(n)throw TypeError("Generator is already executing.");for(;u&&(u=0,c[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(n){switch(n.label){case 0:return[4,e.api.request({url:"".concat(p.C,":list"),method:"get"})];case 1:return[2,null!=(t=n.sent().data)?t:K]}})},function(){var e=this,n=arguments;return new Promise(function(r,a){var o=t.apply(e,n);function u(e){z(o,r,a,u,l,"next",e)}function l(e){z(o,r,a,u,l,"throw",e)}u(void 0)})})()});return l().createElement(d.Provider,{value:t},l().createElement(o.Card,{bordered:!1},l().createElement(o.Space,{style:{float:"right",marginBottom:16}},l().createElement(L,null),l().createElement(H,null),l().createElement(D,null)),l().createElement(I,null)))}},488:function(e,t,n){"use strict";n.d(t,{k:function(){return o}});var r=n(694),a=n(401);function o(){var e=(0,r.useFlowEngine)();return function(t,n){return e.context.t(t,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({ns:[a.C,"client"]},n))}}}}]);
|
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("@nocobase/client-v2"),require("dayjs"),require("react"),require("antd"),require("@ant-design/icons"),require("@nocobase/flow-engine")):"function"==typeof define&&define.amd?define("@nocobase/plugin-backups/client-v2",["ahooks","@nocobase/client-v2","dayjs","react","antd","@ant-design/icons","@nocobase/flow-engine"],t):"object"==typeof exports?exports["@nocobase/plugin-backups/client-v2"]=t(require("ahooks"),require("@nocobase/client-v2"),require("dayjs"),require("react"),require("antd"),require("@ant-design/icons"),require("@nocobase/flow-engine")):e["@nocobase/plugin-backups/client-v2"]=t(e.ahooks,e["@nocobase/client-v2"],e.dayjs,e.react,e.antd,e["@ant-design/icons"],e["@nocobase/flow-engine"])}(self,function(e,t,n,r,o,i,c){return function(){"use strict";var a,u,l,s={401:function(e,t,n){n.d(t,{C:function(){return r},l:function(){return o}});var r="backups",o="backupRestoreRuntime"},375:function(e){e.exports=i},485:function(e){e.exports=t},694:function(e){e.exports=c},625:function(t){t.exports=e},59:function(e){e.exports=o},185:function(e){e.exports=n},155:function(e){e.exports=r}},p={};function f(e){var t=p[e];if(void 0!==t)return t.exports;var n=p[e]={id:e,exports:{}};return s[e].call(n.exports,n,n.exports,f),n.exports}f.m=s,f.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(t,{a:t}),t},f.d=function(e,t){for(var n in t)f.o(t,n)&&!f.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},f.f={},f.e=function(e){return Promise.all(Object.keys(f.f).reduce(function(t,n){return f.f[n](e,t),t},[]))},f.u=function(e){return""+e+"."+({105:"064f69093e98a2dd",346:"45d02ff0f75c76e4",567:"
|
|
10
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("ahooks"),require("@nocobase/client-v2"),require("dayjs"),require("react"),require("antd"),require("@ant-design/icons"),require("@nocobase/flow-engine")):"function"==typeof define&&define.amd?define("@nocobase/plugin-backups/client-v2",["ahooks","@nocobase/client-v2","dayjs","react","antd","@ant-design/icons","@nocobase/flow-engine"],t):"object"==typeof exports?exports["@nocobase/plugin-backups/client-v2"]=t(require("ahooks"),require("@nocobase/client-v2"),require("dayjs"),require("react"),require("antd"),require("@ant-design/icons"),require("@nocobase/flow-engine")):e["@nocobase/plugin-backups/client-v2"]=t(e.ahooks,e["@nocobase/client-v2"],e.dayjs,e.react,e.antd,e["@ant-design/icons"],e["@nocobase/flow-engine"])}(self,function(e,t,n,r,o,i,c){return function(){"use strict";var a,u,l,s={401:function(e,t,n){n.d(t,{C:function(){return r},l:function(){return o}});var r="backups",o="backupRestoreRuntime"},375:function(e){e.exports=i},485:function(e){e.exports=t},694:function(e){e.exports=c},625:function(t){t.exports=e},59:function(e){e.exports=o},185:function(e){e.exports=n},155:function(e){e.exports=r}},p={};function f(e){var t=p[e];if(void 0!==t)return t.exports;var n=p[e]={id:e,exports:{}};return s[e].call(n.exports,n,n.exports,f),n.exports}f.m=s,f.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(t,{a:t}),t},f.d=function(e,t){for(var n in t)f.o(t,n)&&!f.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},f.f={},f.e=function(e){return Promise.all(Object.keys(f.f).reduce(function(t,n){return f.f[n](e,t),t},[]))},f.u=function(e){return""+e+"."+({105:"064f69093e98a2dd",346:"45d02ff0f75c76e4",567:"5dc7a93062ea3649"})[e]+".js"},f.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),f.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},b={},f.l=function(e,t,n,r){if(b[e])return void b[e].push(t);if(void 0!==n)for(var o,i,c=document.getElementsByTagName("script"),a=0;a<c.length;a++){var u=c[a];if(u.getAttribute("src")==e||u.getAttribute("data-rspack")=="@nocobase/plugin-backups/client-v2:"+n){o=u;break}}o||(i=!0,(o=document.createElement("script")).timeout=120,f.nc&&o.setAttribute("nonce",f.nc),o.setAttribute("data-rspack","@nocobase/plugin-backups/client-v2:"+n),o.src=e),b[e]=[t];var l=function(t,n){o.onerror=o.onload=null,clearTimeout(s);var r=b[e];if(delete b[e],o.parentNode&&o.parentNode.removeChild(o),r&&r.forEach(function(e){return e(n)}),t)return t(n)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),i&&document.head.appendChild(o)},f.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.nc=void 0,f.g.importScripts&&(d=f.g.location+"");var b,d,g=f.g.document;if(!d&&g&&(g.currentScript&&"SCRIPT"===g.currentScript.tagName.toUpperCase()&&(d=g.currentScript.src),!d)){var h=g.getElementsByTagName("script");if(h.length)for(var v=h.length-1;v>-1&&(!d||!/^http(s?):/.test(d));)d=h[v--].src}if(!d)throw Error("Automatic publicPath is not supported in this browser");f.p=d.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a={889:0},f.f.j=function(e,t){var n=f.o(a,e)?a[e]:void 0;if(0!==n)if(n)t.push(n[2]);else{var r=new Promise(function(t,r){n=a[e]=[t,r]});t.push(n[2]=r);var o=f.p+f.u(e),i=Error();f.l(o,function(t){if(f.o(a,e)&&(0!==(n=a[e])&&(a[e]=void 0),n)){var r=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;i.message="Loading chunk "+e+" failed.\n("+r+": "+o+")",i.name="ChunkLoadError",i.type=r,i.request=o,n[1](i)}},"chunk-"+e,e)}},u=function(e,t){var n,r,o=t[0],i=t[1],c=t[2],u=0;if(o.some(function(e){return 0!==a[e]})){for(n in i)f.o(i,n)&&(f.m[n]=i[n]);c&&c(f)}for(e&&e(t);u<o.length;u++)r=o[u],f.o(a,r)&&a[r]&&a[r][0](),a[r]=0},(l=self.webpackChunk_nocobase_plugin_backups_client_v2=self.webpackChunk_nocobase_plugin_backups_client_v2||[]).forEach(u.bind(null,0)),l.push=u.bind(null,l.push.bind(l));var y={};return!function(){var e="",t="u">typeof document?document.currentScript:null;if(t&&t.src){var n=t.src.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"");n.indexOf("/static/plugins/@nocobase/plugin-backups/dist/client-v2/")>=0&&(e=n.replace(/\/[^\/]+$/,"/"))}if(!e){var r=window.__webpack_public_path__||"";r&&("/"!==r.charAt(r.length-1)&&(r+="/"),e=r+"static/plugins/@nocobase/plugin-backups/dist/client-v2/")}if(!e){var o=window.__nocobase_modern_client_prefix__||"v",i="/"+(o=String(o).replace(/^\/+|\/+$/g,"")||"v")+"/";if(!(e=window.__nocobase_public_path__||"")&&window.location&&window.location.pathname){var c=window.location.pathname||"/",a=c.indexOf(i);e=a>=0?c.slice(0,a+1):"/"}e&&(e=e.replace(RegExp("/"+o+"/?$"),"/")),e||(e="/"),"/"!==e.charAt(e.length-1)&&(e+="/"),e+="static/plugins/@nocobase/plugin-backups/dist/client-v2/"}f.p=e}(),!function(){f.r(y),f.d(y,{default:function(){return u}});var e=f(485),t=f(401);function n(e,t,n,r,o,i,c){try{var a=e[i](c),u=a.value}catch(e){n(e);return}a.done?t(u):Promise.resolve(u).then(r,o)}function r(e,t,n){return(r=a()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&i(o,n.prototype),o}).apply(null,arguments)}function o(e){return(o=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function i(e,t){return(i=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function c(e){var t="function"==typeof Map?new Map:void 0;return(c=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return r(e,arguments,o(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),i(n,e)})(e)}function a(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(a=function(){return!!e})()}var u=function(e){var r;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function c(){var e,t;if(!(this instanceof c))throw TypeError("Cannot call a class as a function");return e=c,t=arguments,e=o(e),function(e,t){var n;if(t&&("object"==((n=t)&&"u">typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,a()?Reflect.construct(e,t||[],o(this).constructor):e.apply(this,t))}return c.prototype=Object.create(e&&e.prototype,{constructor:{value:c,writable:!0,configurable:!0}}),e&&i(c,e),r=[{key:"load",value:function(){var e;return(e=function(){var e;return function(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},c=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),a=Object.defineProperty;return a(c,"next",{value:u(0)}),a(c,"throw",{value:u(1)}),a(c,"return",{value:u(2)}),"function"==typeof Symbol&&a(c,Symbol.iterator,{value:function(){return this}}),c;function u(a){return function(u){var l=[a,u];if(n)throw TypeError("Generator is already executing.");for(;c&&(c=0,l[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return i.label++,{value:l[1],done:!1};case 5:i.label++,r=l[1],l=[0];continue;case 7:l=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===l[0]||2===l[0])){i=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){i.label=l[1];break}if(6===l[0]&&i.label<o[1]){i.label=o[1],o=l;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(l);break}o[2]&&i.ops.pop(),i.trys.pop();continue}l=t.call(e,i)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}(this,function(n){return e=this.t("Backup manager"),this.flowEngine.context.defineProperty(t.l,{value:this.createBackupRestoreRuntime()}),this.pluginSettingsManager.addMenuItem({key:t.C,title:e,icon:"CloudServerOutlined",showTabs:!0}),this.pluginSettingsManager.addPageTabItem({menuKey:t.C,key:"list",title:this.t("Backup list"),icon:"CloudServerOutlined",aclSnippet:"pm.".concat(t.C),componentLoader:function(){return f.e("567").then(f.bind(f,258))}}),this.pluginSettingsManager.addPageTabItem({menuKey:t.C,key:"settings",title:this.t("Settings"),icon:"SettingOutlined",aclSnippet:"pm.".concat(t.C,".settings"),componentLoader:function(){return Promise.all([f.e("346"),f.e("105")]).then(f.bind(f,696))}}),[2]})},function(){var t=this,r=arguments;return new Promise(function(o,i){var c=e.apply(t,r);function a(e){n(c,o,i,a,u,"next",e)}function u(e){n(c,o,i,a,u,"throw",e)}a(void 0)})}).call(this)}},{key:"createBackupRestoreRuntime",value:function(){var e=this.app;return{showCheckBackupMessage:function(){"function"==typeof e.setMaintaining?e.setMaintaining(!0):e.maintaining=!0,e.error={command:{name:"APP Restoring"},message:"checking backup...",code:"APP_COMMANDING"}},hideCheckBackupMessage:function(){"function"==typeof e.setMaintaining?e.setMaintaining(!1):e.maintaining=!1}}}}],function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(c.prototype,r),c}(c(e.Plugin))}(),y}()});
|
package/dist/externalVersion.js
CHANGED
|
@@ -8,17 +8,17 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
module.exports = {
|
|
11
|
-
"@nocobase/client": "2.2.0-beta.
|
|
11
|
+
"@nocobase/client": "2.2.0-beta.6",
|
|
12
12
|
"react": "18.2.0",
|
|
13
|
-
"@nocobase/flow-engine": "2.2.0-beta.
|
|
14
|
-
"@nocobase/client-v2": "2.2.0-beta.
|
|
15
|
-
"@nocobase/cache": "2.2.0-beta.
|
|
16
|
-
"@nocobase/lock-manager": "2.2.0-beta.
|
|
17
|
-
"@nocobase/server": "2.2.0-beta.
|
|
13
|
+
"@nocobase/flow-engine": "2.2.0-beta.6",
|
|
14
|
+
"@nocobase/client-v2": "2.2.0-beta.6",
|
|
15
|
+
"@nocobase/cache": "2.2.0-beta.6",
|
|
16
|
+
"@nocobase/lock-manager": "2.2.0-beta.6",
|
|
17
|
+
"@nocobase/server": "2.2.0-beta.6",
|
|
18
18
|
"lodash": "4.18.1",
|
|
19
|
-
"@nocobase/database": "2.2.0-beta.
|
|
19
|
+
"@nocobase/database": "2.2.0-beta.6",
|
|
20
20
|
"sequelize": "6.35.2",
|
|
21
|
-
"@nocobase/test": "2.2.0-beta.
|
|
21
|
+
"@nocobase/test": "2.2.0-beta.6",
|
|
22
22
|
"@formily/antd-v5": "1.2.3",
|
|
23
23
|
"@formily/react": "2.3.7",
|
|
24
24
|
"@formily/reactive": "2.3.7",
|
|
@@ -27,7 +27,7 @@ module.exports = {
|
|
|
27
27
|
"@ant-design/icons": "5.6.1",
|
|
28
28
|
"ahooks": "3.7.8",
|
|
29
29
|
"dayjs": "1.11.13",
|
|
30
|
-
"@nocobase/plugin-file-manager": "2.2.0-beta.
|
|
31
|
-
"@nocobase/resourcer": "2.2.0-beta.
|
|
32
|
-
"@nocobase/utils": "2.2.0-beta.
|
|
30
|
+
"@nocobase/plugin-file-manager": "2.2.0-beta.6",
|
|
31
|
+
"@nocobase/resourcer": "2.2.0-beta.6",
|
|
32
|
+
"@nocobase/utils": "2.2.0-beta.6"
|
|
33
33
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"archiver","version":"5.3.2","description":"a streaming interface for archive generation","homepage":"https://github.com/archiverjs/node-archiver","author":{"name":"Chris Talkington","url":"http://christalkington.com/"},"repository":{"type":"git","url":"https://github.com/archiverjs/node-archiver.git"},"bugs":{"url":"https://github.com/archiverjs/node-archiver/issues"},"license":"MIT","main":"index.js","files":["index.js","lib"],"engines":{"node":">= 10"},"scripts":{"test":"mocha --reporter dot","bench":"node benchmark/simple/pack-zip.js"},"dependencies":{"archiver-utils":"^2.1.0","async":"^3.2.4","buffer-crc32":"^0.2.1","readable-stream":"^3.6.0","readdir-glob":"^1.1.2","tar-stream":"^2.2.0","zip-stream":"^4.1.0"},"devDependencies":{"archiver-jsdoc-theme":"^1.1.3","chai":"^4.3.7","jsdoc":"^3.6.4","mkdirp":"^2.1.5","mocha":"^9.0.2","rimraf":"^4.3.1","stream-bench":"^0.1.2","tar":"^6.1.13","yauzl":"^2.9.0"},"keywords":["archive","archiver","stream","zip","tar"],"publishConfig":{"registry":"https://registry.npmjs.org/"},"_lastModified":"2026-06-
|
|
1
|
+
{"name":"archiver","version":"5.3.2","description":"a streaming interface for archive generation","homepage":"https://github.com/archiverjs/node-archiver","author":{"name":"Chris Talkington","url":"http://christalkington.com/"},"repository":{"type":"git","url":"https://github.com/archiverjs/node-archiver.git"},"bugs":{"url":"https://github.com/archiverjs/node-archiver/issues"},"license":"MIT","main":"index.js","files":["index.js","lib"],"engines":{"node":">= 10"},"scripts":{"test":"mocha --reporter dot","bench":"node benchmark/simple/pack-zip.js"},"dependencies":{"archiver-utils":"^2.1.0","async":"^3.2.4","buffer-crc32":"^0.2.1","readable-stream":"^3.6.0","readdir-glob":"^1.1.2","tar-stream":"^2.2.0","zip-stream":"^4.1.0"},"devDependencies":{"archiver-jsdoc-theme":"^1.1.3","chai":"^4.3.7","jsdoc":"^3.6.4","mkdirp":"^2.1.5","mocha":"^9.0.2","rimraf":"^4.3.1","stream-bench":"^0.1.2","tar":"^6.1.13","yauzl":"^2.9.0"},"keywords":["archive","archiver","stream","zip","tar"],"publishConfig":{"registry":"https://registry.npmjs.org/"},"_lastModified":"2026-06-22T05:35:29.943Z"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"cron-parser","version":"4.4.0","description":"Node.js library for parsing crontab instructions","main":"lib/parser.js","types":"index.d.ts","typesVersions":{"<4.1":{"*":["types/ts3/*"]}},"directories":{"test":"test"},"scripts":{"test:tsd":"tsd","test:unit":"TZ=UTC tap ./test/*.js","test:cover":"TZ=UTC tap --coverage-report=html ./test/*.js","lint":"eslint .","lint:fix":"eslint --fix .","test":"npm run lint && npm run test:unit && npm run test:tsd"},"repository":{"type":"git","url":"https://github.com/harrisiirak/cron-parser.git"},"keywords":["cron","crontab","parser"],"author":"Harri Siirak","contributors":["Nicholas Clawson","Daniel Prentis <daniel@salsitasoft.com>","Renault John Lecoultre","Richard Astbury <richard.astbury@gmail.com>","Meaglin Wasabi <Meaglin.wasabi@gmail.com>","Mike Kusold <hello@mikekusold.com>","Alex Kit <alex.kit@atmajs.com>","Santiago Gimeno <santiago.gimeno@gmail.com>","Daniel <darc.tec@gmail.com>","Christian Steininger <christian.steininger.cs@gmail.com>","Mykola Piskovyi <m.piskovyi@gmail.com>","Brian Vaughn <brian.david.vaughn@gmail.com>","Nicholas Clawson <nickclaw@gmail.com>","Yasuhiroki <yasuhiroki.duck@gmail.com>","Nicholas Clawson <nickclaw@gmail.com>","Brendan Warkentin <faazshift@gmail.com>","Charlie Fish <fishcharlie.code@gmail.com>","Ian Graves <ian+diskimage@iangrav.es>","Andy Thompson <me@andytson.com>","Regev Brody <regevbr@gmail.com>"],"license":"MIT","dependencies":{"luxon":"^1.28.0"},"devDependencies":{"eslint":"^8.2.0","sinon":"^10.0.0","tap":"^16.0.1","tsd":"^0.19.0"},"engines":{"node":">=0.8"},"browser":{"fs":false},"tap":{"check-coverage":false},"tsd":{"directory":"test","compilerOptions":{"lib":["es2017","dom"]}},"_lastModified":"2026-06-
|
|
1
|
+
{"name":"cron-parser","version":"4.4.0","description":"Node.js library for parsing crontab instructions","main":"lib/parser.js","types":"index.d.ts","typesVersions":{"<4.1":{"*":["types/ts3/*"]}},"directories":{"test":"test"},"scripts":{"test:tsd":"tsd","test:unit":"TZ=UTC tap ./test/*.js","test:cover":"TZ=UTC tap --coverage-report=html ./test/*.js","lint":"eslint .","lint:fix":"eslint --fix .","test":"npm run lint && npm run test:unit && npm run test:tsd"},"repository":{"type":"git","url":"https://github.com/harrisiirak/cron-parser.git"},"keywords":["cron","crontab","parser"],"author":"Harri Siirak","contributors":["Nicholas Clawson","Daniel Prentis <daniel@salsitasoft.com>","Renault John Lecoultre","Richard Astbury <richard.astbury@gmail.com>","Meaglin Wasabi <Meaglin.wasabi@gmail.com>","Mike Kusold <hello@mikekusold.com>","Alex Kit <alex.kit@atmajs.com>","Santiago Gimeno <santiago.gimeno@gmail.com>","Daniel <darc.tec@gmail.com>","Christian Steininger <christian.steininger.cs@gmail.com>","Mykola Piskovyi <m.piskovyi@gmail.com>","Brian Vaughn <brian.david.vaughn@gmail.com>","Nicholas Clawson <nickclaw@gmail.com>","Yasuhiroki <yasuhiroki.duck@gmail.com>","Nicholas Clawson <nickclaw@gmail.com>","Brendan Warkentin <faazshift@gmail.com>","Charlie Fish <fishcharlie.code@gmail.com>","Ian Graves <ian+diskimage@iangrav.es>","Andy Thompson <me@andytson.com>","Regev Brody <regevbr@gmail.com>"],"license":"MIT","dependencies":{"luxon":"^1.28.0"},"devDependencies":{"eslint":"^8.2.0","sinon":"^10.0.0","tap":"^16.0.1","tsd":"^0.19.0"},"engines":{"node":">=0.8"},"browser":{"fs":false},"tap":{"check-coverage":false},"tsd":{"directory":"test","compilerOptions":{"lib":["es2017","dom"]}},"_lastModified":"2026-06-22T05:35:28.434Z"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"fs-extra","version":"9.1.0","description":"fs-extra contains methods that aren't included in the vanilla Node.js fs package. Such as recursive mkdir, copy, and remove.","engines":{"node":">=10"},"homepage":"https://github.com/jprichardson/node-fs-extra","repository":{"type":"git","url":"https://github.com/jprichardson/node-fs-extra"},"keywords":["fs","file","file system","copy","directory","extra","mkdirp","mkdir","mkdirs","recursive","json","read","write","extra","delete","remove","touch","create","text","output","move","promise"],"author":"JP Richardson <jprichardson@gmail.com>","license":"MIT","dependencies":{"at-least-node":"^1.0.0","graceful-fs":"^4.2.0","jsonfile":"^6.0.1","universalify":"^2.0.0"},"devDependencies":{"coveralls":"^3.0.0","klaw":"^2.1.1","klaw-sync":"^3.0.2","minimist":"^1.1.1","mocha":"^5.0.5","nyc":"^15.0.0","proxyquire":"^2.0.1","read-dir-files":"^0.1.1","standard":"^14.1.0"},"main":"./lib/index.js","files":["lib/","!lib/**/__tests__/"],"scripts":{"full-ci":"npm run lint && npm run coverage","coverage":"nyc -r lcovonly npm run unit","coveralls":"coveralls < coverage/lcov.info","lint":"standard","test-find":"find ./lib/**/__tests__ -name *.test.js | xargs mocha","test":"npm run lint && npm run unit","unit":"node test.js"},"_lastModified":"2026-06-
|
|
1
|
+
{"name":"fs-extra","version":"9.1.0","description":"fs-extra contains methods that aren't included in the vanilla Node.js fs package. Such as recursive mkdir, copy, and remove.","engines":{"node":">=10"},"homepage":"https://github.com/jprichardson/node-fs-extra","repository":{"type":"git","url":"https://github.com/jprichardson/node-fs-extra"},"keywords":["fs","file","file system","copy","directory","extra","mkdirp","mkdir","mkdirs","recursive","json","read","write","extra","delete","remove","touch","create","text","output","move","promise"],"author":"JP Richardson <jprichardson@gmail.com>","license":"MIT","dependencies":{"at-least-node":"^1.0.0","graceful-fs":"^4.2.0","jsonfile":"^6.0.1","universalify":"^2.0.0"},"devDependencies":{"coveralls":"^3.0.0","klaw":"^2.1.1","klaw-sync":"^3.0.2","minimist":"^1.1.1","mocha":"^5.0.5","nyc":"^15.0.0","proxyquire":"^2.0.1","read-dir-files":"^0.1.1","standard":"^14.1.0"},"main":"./lib/index.js","files":["lib/","!lib/**/__tests__/"],"scripts":{"full-ci":"npm run lint && npm run coverage","coverage":"nyc -r lcovonly npm run unit","coveralls":"coveralls < coverage/lcov.info","lint":"standard","test-find":"find ./lib/**/__tests__ -name *.test.js | xargs mocha","test":"npm run lint && npm run unit","unit":"node test.js"},"_lastModified":"2026-06-22T05:35:28.785Z"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"semver","version":"7.6.0","description":"The semantic version parser used by npm.","main":"index.js","scripts":{"test":"tap","snap":"tap","lint":"eslint \"**/*.{js,cjs,ts,mjs,jsx,tsx}\"","postlint":"template-oss-check","lintfix":"npm run lint -- --fix","posttest":"npm run lint","template-oss-apply":"template-oss-apply --force"},"devDependencies":{"@npmcli/eslint-config":"^4.0.0","@npmcli/template-oss":"4.21.3","tap":"^16.0.0"},"license":"ISC","repository":{"type":"git","url":"https://github.com/npm/node-semver.git"},"bin":{"semver":"bin/semver.js"},"files":["bin/","lib/","classes/","functions/","internal/","ranges/","index.js","preload.js","range.bnf"],"tap":{"timeout":30,"coverage-map":"map.js","nyc-arg":["--exclude","tap-snapshots/**"]},"engines":{"node":">=10"},"dependencies":{"lru-cache":"^6.0.0"},"author":"GitHub Inc.","templateOSS":{"//@npmcli/template-oss":"This file is partially managed by @npmcli/template-oss. Edits may be overwritten.","version":"4.21.3","engines":">=10","distPaths":["classes/","functions/","internal/","ranges/","index.js","preload.js","range.bnf"],"allowPaths":["/classes/","/functions/","/internal/","/ranges/","/index.js","/preload.js","/range.bnf"],"publish":"true"},"_lastModified":"2026-06-
|
|
1
|
+
{"name":"semver","version":"7.6.0","description":"The semantic version parser used by npm.","main":"index.js","scripts":{"test":"tap","snap":"tap","lint":"eslint \"**/*.{js,cjs,ts,mjs,jsx,tsx}\"","postlint":"template-oss-check","lintfix":"npm run lint -- --fix","posttest":"npm run lint","template-oss-apply":"template-oss-apply --force"},"devDependencies":{"@npmcli/eslint-config":"^4.0.0","@npmcli/template-oss":"4.21.3","tap":"^16.0.0"},"license":"ISC","repository":{"type":"git","url":"https://github.com/npm/node-semver.git"},"bin":{"semver":"bin/semver.js"},"files":["bin/","lib/","classes/","functions/","internal/","ranges/","index.js","preload.js","range.bnf"],"tap":{"timeout":30,"coverage-map":"map.js","nyc-arg":["--exclude","tap-snapshots/**"]},"engines":{"node":">=10"},"dependencies":{"lru-cache":"^6.0.0"},"author":"GitHub Inc.","templateOSS":{"//@npmcli/template-oss":"This file is partially managed by @npmcli/template-oss. Edits may be overwritten.","version":"4.21.3","engines":">=10","distPaths":["classes/","functions/","internal/","ranges/","index.js","preload.js","range.bnf"],"allowPaths":["/classes/","/functions/","/internal/","/ranges/","/index.js","/preload.js","/range.bnf"],"publish":"true"},"_lastModified":"2026-06-22T05:35:30.624Z"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"yauzl","version":"3.3.0","description":"yet another unzip library for node","engines":{"node":">=12"},"main":"index.js","scripts":{"test":"node test/test.js"},"repository":{"type":"git","url":"git+https://github.com/thejoshwolfe/yauzl.git"},"keywords":["unzip","zip","stream","archive","file"],"author":"Josh Wolfe <thejoshwolfe@gmail.com>","license":"MIT","bugs":{"url":"https://github.com/thejoshwolfe/yauzl/issues"},"homepage":"https://github.com/thejoshwolfe/yauzl","dependencies":{"buffer-crc32":"~0.2.3","pend":"~1.2.0"},"devDependencies":{"bl":"^6.0.11"},"files":["fd-slicer.js","index.js"],"_lastModified":"2026-06-
|
|
1
|
+
{"name":"yauzl","version":"3.3.0","description":"yet another unzip library for node","engines":{"node":">=12"},"main":"index.js","scripts":{"test":"node test/test.js"},"repository":{"type":"git","url":"git+https://github.com/thejoshwolfe/yauzl.git"},"keywords":["unzip","zip","stream","archive","file"],"author":"Josh Wolfe <thejoshwolfe@gmail.com>","license":"MIT","bugs":{"url":"https://github.com/thejoshwolfe/yauzl/issues"},"homepage":"https://github.com/thejoshwolfe/yauzl","dependencies":{"buffer-crc32":"~0.2.3","pend":"~1.2.0"},"devDependencies":{"bl":"^6.0.11"},"files":["fd-slicer.js","index.js"],"_lastModified":"2026-06-22T05:35:28.614Z"}
|
|
@@ -17,9 +17,12 @@ export type DBRestoreOptions = {
|
|
|
17
17
|
filePath: string;
|
|
18
18
|
schema?: string;
|
|
19
19
|
skipDropAllTables?: boolean;
|
|
20
|
+
toolchain?: DBBackupToolchain;
|
|
20
21
|
};
|
|
22
|
+
export type DBBackupToolchain = 'postgres' | 'kingbase';
|
|
21
23
|
export interface DBAdapter {
|
|
22
24
|
dbOpts: DatabaseOptions;
|
|
25
|
+
backupToolchain?: DBBackupToolchain;
|
|
23
26
|
backup(options: DBBackupOptions): Promise<void>;
|
|
24
27
|
restore(options: DBRestoreOptions): Promise<void>;
|
|
25
28
|
check(op: 'backup' | 'restore'): Promise<void>;
|
|
@@ -97,6 +97,14 @@ class BaseDBAdapter {
|
|
|
97
97
|
);
|
|
98
98
|
}
|
|
99
99
|
};
|
|
100
|
+
hasCommand(command) {
|
|
101
|
+
try {
|
|
102
|
+
(0, import_child_process.execSync)(`${command} --version`);
|
|
103
|
+
return true;
|
|
104
|
+
} catch (_error) {
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
100
108
|
}
|
|
101
109
|
class MySQLAdapter extends BaseDBAdapter {
|
|
102
110
|
#backupCmd = "mysqldump";
|
|
@@ -327,24 +335,36 @@ class MySQLAdapter extends BaseDBAdapter {
|
|
|
327
335
|
}
|
|
328
336
|
}
|
|
329
337
|
class PostgresAdapter extends BaseDBAdapter {
|
|
330
|
-
get
|
|
338
|
+
get backupToolchain() {
|
|
339
|
+
return "postgres";
|
|
340
|
+
}
|
|
341
|
+
getBackupCommandName(_toolchain = this.backupToolchain) {
|
|
331
342
|
return formatPathInEnv(process.env.PG_DUMP_PATH) || "pg_dump";
|
|
332
343
|
}
|
|
333
|
-
|
|
344
|
+
getRestoreCommandName(_toolchain = this.backupToolchain) {
|
|
334
345
|
return formatPathInEnv(process.env.PG_RESTORE_PATH) || "pg_restore";
|
|
335
346
|
}
|
|
347
|
+
getSqlCommandName(_toolchain = this.backupToolchain) {
|
|
348
|
+
return formatPathInEnv(process.env.PSQL_PATH) || "psql";
|
|
349
|
+
}
|
|
350
|
+
getPasswordEnvVars(password, _toolchain = this.backupToolchain) {
|
|
351
|
+
return { PGPASSWORD: password };
|
|
352
|
+
}
|
|
353
|
+
getBackupSchema() {
|
|
354
|
+
return this.dbOpts.schema;
|
|
355
|
+
}
|
|
336
356
|
async check(op) {
|
|
337
357
|
switch (op) {
|
|
338
358
|
case "backup":
|
|
339
|
-
this.assertCommand(this
|
|
359
|
+
this.assertCommand(this.getBackupCommandName());
|
|
340
360
|
break;
|
|
341
361
|
case "restore":
|
|
342
|
-
this.assertCommand(this
|
|
362
|
+
this.assertCommand(this.getRestoreCommandName());
|
|
343
363
|
break;
|
|
344
364
|
}
|
|
345
365
|
}
|
|
346
366
|
async clientVersion(op) {
|
|
347
|
-
const cmd = op === "backup" ? this
|
|
367
|
+
const cmd = op === "backup" ? this.getBackupCommandName() : this.getRestoreCommandName();
|
|
348
368
|
try {
|
|
349
369
|
return (0, import_child_process.execSync)(`${cmd} --version`).toString();
|
|
350
370
|
} catch (_error) {
|
|
@@ -352,15 +372,21 @@ class PostgresAdapter extends BaseDBAdapter {
|
|
|
352
372
|
}
|
|
353
373
|
}
|
|
354
374
|
async backup({ dir, includeTables, excludeTables }) {
|
|
355
|
-
const { username, host, port, database, password
|
|
375
|
+
const { username, host, port, database, password } = this.dbOpts;
|
|
356
376
|
const filePath = `${dir}/data`;
|
|
377
|
+
const backupSchema = this.getBackupSchema();
|
|
357
378
|
const schemaOption = backupSchema ? `--schema=${backupSchema}` : "";
|
|
358
379
|
const includeOption = Array.isArray(includeTables) && includeTables.length ? includeTables.map((table) => `-t ${quotePgTablePattern(qualifyPgTablePattern(table, backupSchema))}`).join(" ") : "";
|
|
359
380
|
const excludeOption = Array.isArray(excludeTables) && excludeTables.length ? excludeTables.map((table) => `-T ${quotePgTablePattern(qualifyPgTablePattern(table, backupSchema))}`).join(" ") : "";
|
|
360
|
-
const command = `${this
|
|
361
|
-
await run(command,
|
|
381
|
+
const command = `${this.getBackupCommandName()} ${includeOption} ${excludeOption} -U ${username} -h ${host} ${port ? `-p ${port}` : ""} -F c -b --quote-all-identifiers ${schemaOption} -f ${filePath} ${database}`;
|
|
382
|
+
await run(command, this.getPasswordEnvVars(password));
|
|
362
383
|
}
|
|
363
|
-
async restore({
|
|
384
|
+
async restore({
|
|
385
|
+
filePath,
|
|
386
|
+
schema,
|
|
387
|
+
skipDropAllTables = false,
|
|
388
|
+
toolchain = this.backupToolchain
|
|
389
|
+
}) {
|
|
364
390
|
const { username, host, port, database, password } = this.dbOpts;
|
|
365
391
|
let schemaOption = this.dbOpts.schema;
|
|
366
392
|
if (schema && !schemaOption) {
|
|
@@ -377,7 +403,7 @@ class PostgresAdapter extends BaseDBAdapter {
|
|
|
377
403
|
const schemaNameCondition = schemaOption ? `WHERE schemaname = '${schemaOption}'` : `WHERE schemaname NOT IN ('pg_catalog', 'information_schema')`;
|
|
378
404
|
const relnamespaceCondition = schemaOption ? `WHERE relnamespace = '${schemaOption}'::regnamespace` : `WHERE tgrelid IN (SELECT oid FROM pg_class WHERE relnamespace NOT IN (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname IN ('pg_catalog', 'information_schema')))`;
|
|
379
405
|
if (!skipDropAllTables) {
|
|
380
|
-
const dropDataCommand =
|
|
406
|
+
const dropDataCommand = `${this.getSqlCommandName(toolchain)} -U ${username} -h ${host} ${port ? `-p ${port}` : ""} -d ${database} -c "
|
|
381
407
|
DO ${D$$} DECLARE r RECORD;
|
|
382
408
|
BEGIN
|
|
383
409
|
FOR r IN (SELECT viewname,schemaname FROM pg_views ${schemaNameCondition}) LOOP
|
|
@@ -417,21 +443,26 @@ class PostgresAdapter extends BaseDBAdapter {
|
|
|
417
443
|
END LOOP;
|
|
418
444
|
|
|
419
445
|
END ${D$$};"`.replace(/\n/g, " ");
|
|
420
|
-
await run(dropDataCommand,
|
|
446
|
+
await run(dropDataCommand, this.getPasswordEnvVars(password, toolchain));
|
|
421
447
|
}
|
|
422
448
|
if (schema === schemaOption || !schemaOption) {
|
|
423
|
-
const pgRestoreCommand = `${this
|
|
424
|
-
await run(pgRestoreCommand,
|
|
449
|
+
const pgRestoreCommand = `${this.getRestoreCommandName(toolchain)} -U ${username} -h ${host} ${port ? `-p ${port}` : ""} -d ${database} --clean --if-exists --no-owner -j ${j} ${filePath}`;
|
|
450
|
+
await run(pgRestoreCommand, this.getPasswordEnvVars(password, toolchain));
|
|
425
451
|
} else {
|
|
426
452
|
const srcSchema = schema || "public";
|
|
427
|
-
const pgRestoreCommand =
|
|
428
|
-
await this
|
|
453
|
+
const pgRestoreCommand = this.buildSchemaRestoreCommand(srcSchema, schemaOption, filePath, j, toolchain);
|
|
454
|
+
await this.restoreSchema(srcSchema, schemaOption, pgRestoreCommand, toolchain);
|
|
429
455
|
}
|
|
430
456
|
}
|
|
431
|
-
|
|
457
|
+
buildSchemaRestoreCommand(srcSchema, _targetSchema, filePath, jobs, toolchain = this.backupToolchain) {
|
|
458
|
+
const { username, host, port, database } = this.dbOpts;
|
|
459
|
+
return `${this.getRestoreCommandName(toolchain)} -U ${username} -h ${host} ${port ? `-p ${port}` : ""} -n ${srcSchema} -d ${database} --clean --if-exists --no-owner -j ${jobs} ${filePath}`;
|
|
460
|
+
}
|
|
461
|
+
async restoreSchema(srcSchema, targetSchema, pgRestoreCommand, toolchain = this.backupToolchain) {
|
|
432
462
|
const { username, host, port, database, password } = this.dbOpts;
|
|
433
463
|
const ts = Date.now();
|
|
434
|
-
const
|
|
464
|
+
const sqlCommandName = this.getSqlCommandName(toolchain);
|
|
465
|
+
const preCommand = `${sqlCommandName} -U ${username} -h ${host} ${port ? `-p ${port}` : ""} -d ${database} -c "
|
|
435
466
|
DO ${D$$}
|
|
436
467
|
BEGIN
|
|
437
468
|
IF EXISTS (SELECT 1 FROM information_schema.schemata WHERE schema_name = '${srcSchema}') THEN
|
|
@@ -439,7 +470,7 @@ class PostgresAdapter extends BaseDBAdapter {
|
|
|
439
470
|
END IF;
|
|
440
471
|
EXECUTE 'CREATE SCHEMA ${srcSchema}';
|
|
441
472
|
END ${D$$};"`.replace(/\n/g, " ");
|
|
442
|
-
const postCommand =
|
|
473
|
+
const postCommand = `${sqlCommandName} -U ${username} -h ${host} ${port ? `-p ${port}` : ""} -d ${database} -c "
|
|
443
474
|
DO ${D$$}
|
|
444
475
|
BEGIN
|
|
445
476
|
EXECUTE 'DROP SCHEMA ${targetSchema} CASCADE';
|
|
@@ -448,21 +479,21 @@ class PostgresAdapter extends BaseDBAdapter {
|
|
|
448
479
|
EXECUTE 'ALTER SCHEMA ${srcSchema}_${ts} RENAME TO ${srcSchema}';
|
|
449
480
|
END IF;
|
|
450
481
|
END ${D$$};"`.replace(/\n/g, " ");
|
|
451
|
-
await run(preCommand,
|
|
482
|
+
await run(preCommand, this.getPasswordEnvVars(password, toolchain));
|
|
452
483
|
try {
|
|
453
|
-
await run(pgRestoreCommand,
|
|
484
|
+
await run(pgRestoreCommand, this.getPasswordEnvVars(password, toolchain));
|
|
454
485
|
} finally {
|
|
455
|
-
await run(postCommand,
|
|
486
|
+
await run(postCommand, this.getPasswordEnvVars(password, toolchain));
|
|
456
487
|
}
|
|
457
|
-
await this
|
|
488
|
+
await this.syncCollectionSchemaMetadata(srcSchema, targetSchema, toolchain);
|
|
458
489
|
}
|
|
459
|
-
async
|
|
490
|
+
async syncCollectionSchemaMetadata(srcSchema, targetSchema, toolchain = this.backupToolchain) {
|
|
460
491
|
const { username, host, port, database, password, tablePrefix } = this.dbOpts;
|
|
461
492
|
const collectionsTable = `${tablePrefix || ""}collections`;
|
|
462
493
|
const targetSchemaLiteral = escapeStringLiteral(targetSchema);
|
|
463
494
|
const srcSchemaLiteral = escapeStringLiteral(srcSchema);
|
|
464
495
|
const collectionsTableLiteral = escapeStringLiteral(collectionsTable);
|
|
465
|
-
const updateCollectionSchemaCommand =
|
|
496
|
+
const updateCollectionSchemaCommand = `${this.getSqlCommandName(toolchain)} -U ${username} -h ${host} ${port ? `-p ${port}` : ""} -d ${database} -c "
|
|
466
497
|
DO ${D$$}
|
|
467
498
|
DECLARE
|
|
468
499
|
collections_table text := '${collectionsTableLiteral}';
|
|
@@ -482,7 +513,61 @@ class PostgresAdapter extends BaseDBAdapter {
|
|
|
482
513
|
);
|
|
483
514
|
END IF;
|
|
484
515
|
END ${D$$};"`.replace(/\n/g, " ");
|
|
485
|
-
await run(updateCollectionSchemaCommand,
|
|
516
|
+
await run(updateCollectionSchemaCommand, this.getPasswordEnvVars(password, toolchain));
|
|
517
|
+
}
|
|
518
|
+
}
|
|
519
|
+
class KingbaseAdapter extends PostgresAdapter {
|
|
520
|
+
get backupToolchain() {
|
|
521
|
+
return this.hasKingbaseToolchain() ? "kingbase" : "postgres";
|
|
522
|
+
}
|
|
523
|
+
getKingbaseBackupCommandName() {
|
|
524
|
+
return formatPathInEnv(process.env.KINGBASE_DUMP_PATH) || "sys_dump";
|
|
525
|
+
}
|
|
526
|
+
getKingbaseRestoreCommandName() {
|
|
527
|
+
return formatPathInEnv(process.env.KINGBASE_RESTORE_PATH) || "sys_restore";
|
|
528
|
+
}
|
|
529
|
+
getKingbaseSqlCommandName() {
|
|
530
|
+
return formatPathInEnv(process.env.KINGBASE_PSQL_PATH) || "ksql";
|
|
531
|
+
}
|
|
532
|
+
hasKingbaseToolchain() {
|
|
533
|
+
return this.hasCommand(this.getKingbaseBackupCommandName()) && this.hasCommand(this.getKingbaseRestoreCommandName()) && this.hasCommand(this.getKingbaseSqlCommandName());
|
|
534
|
+
}
|
|
535
|
+
getBackupCommandName(toolchain = this.backupToolchain) {
|
|
536
|
+
return toolchain === "kingbase" ? this.getKingbaseBackupCommandName() : super.getBackupCommandName(toolchain);
|
|
537
|
+
}
|
|
538
|
+
getRestoreCommandName(toolchain = this.backupToolchain) {
|
|
539
|
+
return toolchain === "kingbase" ? this.getKingbaseRestoreCommandName() : super.getRestoreCommandName(toolchain);
|
|
540
|
+
}
|
|
541
|
+
getSqlCommandName(toolchain = this.backupToolchain) {
|
|
542
|
+
return toolchain === "kingbase" ? this.getKingbaseSqlCommandName() : super.getSqlCommandName(toolchain);
|
|
543
|
+
}
|
|
544
|
+
getPasswordEnvVars(password, toolchain = this.backupToolchain) {
|
|
545
|
+
if (toolchain === "postgres") {
|
|
546
|
+
return super.getPasswordEnvVars(password, toolchain);
|
|
547
|
+
}
|
|
548
|
+
return { KINGBASE_PASSWORD: password };
|
|
549
|
+
}
|
|
550
|
+
getBackupSchema() {
|
|
551
|
+
return this.dbOpts.schema || "public";
|
|
552
|
+
}
|
|
553
|
+
buildSchemaRestoreCommand(srcSchema, targetSchema, filePath, jobs, toolchain = this.backupToolchain) {
|
|
554
|
+
if (toolchain === "postgres") {
|
|
555
|
+
return super.buildSchemaRestoreCommand(srcSchema, targetSchema, filePath, jobs, toolchain);
|
|
556
|
+
}
|
|
557
|
+
const { username, host, port, database } = this.dbOpts;
|
|
558
|
+
return `${this.getRestoreCommandName(toolchain)} -U ${username} -h ${host} ${port ? `-p ${port}` : ""} -g ${srcSchema} -G ${targetSchema} -d ${database} --clean --if-exists --no-owner -j ${jobs} ${filePath}`;
|
|
559
|
+
}
|
|
560
|
+
async restoreSchema(srcSchema, targetSchema, restoreCommand, toolchain = this.backupToolchain) {
|
|
561
|
+
if (toolchain === "postgres") {
|
|
562
|
+
await super.restoreSchema(srcSchema, targetSchema, restoreCommand, toolchain);
|
|
563
|
+
return;
|
|
564
|
+
}
|
|
565
|
+
const { username, host, port, database, password } = this.dbOpts;
|
|
566
|
+
const targetSchemaIdentifier = quotePgIdentifier(targetSchema).replace(/"/g, '\\"');
|
|
567
|
+
const createSchemaCommand = `${this.getSqlCommandName(toolchain)} -U ${username} -h ${host} ${port ? `-p ${port}` : ""} -d ${database} -c "CREATE SCHEMA IF NOT EXISTS ${targetSchemaIdentifier};"`;
|
|
568
|
+
await run(createSchemaCommand, this.getPasswordEnvVars(password, toolchain));
|
|
569
|
+
await run(restoreCommand, this.getPasswordEnvVars(password, toolchain));
|
|
570
|
+
await this.syncCollectionSchemaMetadata(srcSchema, targetSchema, toolchain);
|
|
486
571
|
}
|
|
487
572
|
}
|
|
488
573
|
class SQLiteAdapter extends BaseDBAdapter {
|
|
@@ -503,6 +588,7 @@ class MariaDBAdapter extends MySQLAdapter {
|
|
|
503
588
|
const adapterMap = {
|
|
504
589
|
mysql: MySQLAdapter,
|
|
505
590
|
postgres: PostgresAdapter,
|
|
591
|
+
kingbase: KingbaseAdapter,
|
|
506
592
|
sqlite: SQLiteAdapter,
|
|
507
593
|
mariadb: MariaDBAdapter
|
|
508
594
|
};
|
|
@@ -99,7 +99,10 @@ class BackupManager {
|
|
|
99
99
|
}
|
|
100
100
|
async backup(fileBaseName, opts) {
|
|
101
101
|
const contentPath = import_path.default.join(this.#tempDir, fileBaseName);
|
|
102
|
-
|
|
102
|
+
const runtimeTables = [...this.app.db.collections.values()].filter((collection) => collection.dataCategory === "runtime").map((collection) => collection.getTableNameWithSchemaAsString());
|
|
103
|
+
const backupOptions = { ...this.#settings, ...opts ?? {} };
|
|
104
|
+
backupOptions.excludeTables = [.../* @__PURE__ */ new Set([...backupOptions.excludeTables ?? [], ...runtimeTables])];
|
|
105
|
+
return this.#runBackupTask(backupOptions, fileBaseName, contentPath);
|
|
103
106
|
}
|
|
104
107
|
async destroy(fileName) {
|
|
105
108
|
const filePath = this.#getValidatedFilePath(fileName);
|
|
@@ -194,6 +197,7 @@ class BackupManager {
|
|
|
194
197
|
createdBy: opts.createdBy,
|
|
195
198
|
database: {
|
|
196
199
|
dialect,
|
|
200
|
+
toolchain: this.#dbAdapter.backupToolchain,
|
|
197
201
|
underscored,
|
|
198
202
|
tablePrefix,
|
|
199
203
|
schema,
|
|
@@ -142,7 +142,8 @@ class RestoreManager {
|
|
|
142
142
|
await this.#dbAdapter.restore({
|
|
143
143
|
filePath: import_path.default.join(extractedDir, dbFile),
|
|
144
144
|
schema: metadata.database.schema,
|
|
145
|
-
skipDropAllTables: (options == null ? void 0 : options.skipDropAllTables) === true
|
|
145
|
+
skipDropAllTables: (options == null ? void 0 : options.skipDropAllTables) === true,
|
|
146
|
+
toolchain: this.#resolveRestoreToolchain(metadata)
|
|
146
147
|
});
|
|
147
148
|
this.ctx.logger.info("Database restored successfully", { module: import_utils2.BACKUPS });
|
|
148
149
|
await this.#restoreFilesAndCleanup(restoreUploads, extractedDir);
|
|
@@ -195,7 +196,7 @@ class RestoreManager {
|
|
|
195
196
|
await this.#restoreFilesAndCleanup(uploadsExist, extractedDir);
|
|
196
197
|
await this.ctx.app.runCommand("upgrade");
|
|
197
198
|
} else {
|
|
198
|
-
if (!tolerentMode && this.#dbAdapter.dbOpts.dialect
|
|
199
|
+
if (!tolerentMode && this.#isPostgresLikeDialect(this.#dbAdapter.dbOpts.dialect)) {
|
|
199
200
|
const backupClientVersion = Number((0, import_utils2.toMajorVersion)(metadata.database.backupClientVersion));
|
|
200
201
|
const dbServerVersion = Number((0, import_utils2.toMajorVersion)(dbVersion));
|
|
201
202
|
if (backupClientVersion > 16 && dbServerVersion <= 16) {
|
|
@@ -248,7 +249,7 @@ class RestoreManager {
|
|
|
248
249
|
if ((metadata.database.tablePrefix || "") !== (tablePrefix || "")) {
|
|
249
250
|
throw new Error(this.#t("Database table prefix mismatch"));
|
|
250
251
|
}
|
|
251
|
-
const forceSchemaRestore = (options == null ? void 0 : options.forceSchemaRestore) === true && dialect
|
|
252
|
+
const forceSchemaRestore = (options == null ? void 0 : options.forceSchemaRestore) === true && this.#isPostgresLikeDialect(dialect);
|
|
252
253
|
if (!forceSchemaRestore) {
|
|
253
254
|
if (((_b = (_a = this.ctx.request) == null ? void 0 : _a.body) == null ? void 0 : _b.dbSchema) && ((_d = (_c = this.ctx.request) == null ? void 0 : _c.body) == null ? void 0 : _d.dbSchema) !== (schema || "public")) {
|
|
254
255
|
throw new Error(this.#t("Database schema mismatch"));
|
|
@@ -289,6 +290,25 @@ class RestoreManager {
|
|
|
289
290
|
}
|
|
290
291
|
return true;
|
|
291
292
|
}
|
|
293
|
+
#isPostgresLikeDialect(dialect) {
|
|
294
|
+
return dialect === "postgres" || dialect === "kingbase";
|
|
295
|
+
}
|
|
296
|
+
#resolveRestoreToolchain(metadata) {
|
|
297
|
+
if (metadata.database.dialect !== "kingbase") {
|
|
298
|
+
return void 0;
|
|
299
|
+
}
|
|
300
|
+
if (metadata.database.toolchain === "kingbase" || metadata.database.toolchain === "postgres") {
|
|
301
|
+
return metadata.database.toolchain;
|
|
302
|
+
}
|
|
303
|
+
const backupClientVersion = metadata.database.backupClientVersion || "";
|
|
304
|
+
if (/sys_dump/i.test(backupClientVersion)) {
|
|
305
|
+
return "kingbase";
|
|
306
|
+
}
|
|
307
|
+
if (/pg_dump|postgresql/i.test(backupClientVersion)) {
|
|
308
|
+
return "postgres";
|
|
309
|
+
}
|
|
310
|
+
return this.#dbAdapter.backupToolchain;
|
|
311
|
+
}
|
|
292
312
|
async #decompressFiles(filePath, password) {
|
|
293
313
|
const fileBaseName = import_path.default.basename(filePath, `.${import_utils2.BACKUP_EXTENSION}`);
|
|
294
314
|
const outputDir = import_path.default.join(this.#tempDir, fileBaseName);
|
|
@@ -372,7 +392,8 @@ class RestoreManager {
|
|
|
372
392
|
await this.#dbAdapter.restore({
|
|
373
393
|
filePath: import_path.default.join(extractedDir, dbFile),
|
|
374
394
|
schema: metadata.database.schema,
|
|
375
|
-
skipDropAllTables: (options == null ? void 0 : options.skipDropAllTables) === true
|
|
395
|
+
skipDropAllTables: (options == null ? void 0 : options.skipDropAllTables) === true,
|
|
396
|
+
toolchain: this.#resolveRestoreToolchain(metadata)
|
|
376
397
|
});
|
|
377
398
|
this.ctx.logger.info("Database restored successfully", { module: import_utils2.BACKUPS });
|
|
378
399
|
if (restoreUploads) {
|
package/dist/server/utils.js
CHANGED
|
@@ -210,7 +210,8 @@ const dbVersionCommands = {
|
|
|
210
210
|
sqlite: "select sqlite_version() as version",
|
|
211
211
|
mysql: "select version() as version",
|
|
212
212
|
mariadb: "select version() as version",
|
|
213
|
-
postgres: "select version() as version"
|
|
213
|
+
postgres: "select version() as version",
|
|
214
|
+
kingbase: "select version() as version"
|
|
214
215
|
};
|
|
215
216
|
async function getDBVersion(db) {
|
|
216
217
|
var _a;
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"displayName.zh-CN": "备份管理器",
|
|
5
5
|
"description": "Provides backup and restore functionality, supports scheduled backups, and ensures data security and quick recovery.",
|
|
6
6
|
"description.zh-CN": "提供备份与还原功能,支持定时备份,确保数据安全与快速恢复。",
|
|
7
|
-
"version": "2.2.0-beta.
|
|
7
|
+
"version": "2.2.0-beta.6",
|
|
8
8
|
"license": "Apache-2.0",
|
|
9
9
|
"main": "dist/server/index.js",
|
|
10
10
|
"nocobase": {
|
|
@@ -50,5 +50,5 @@
|
|
|
50
50
|
"keywords": [
|
|
51
51
|
"System management"
|
|
52
52
|
],
|
|
53
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "dc9246516f8a3efd6056f22fe7b3bc947bd4575b"
|
|
54
54
|
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This file is part of the NocoBase (R) project.
|
|
3
|
-
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
-
* Authors: NocoBase Team.
|
|
5
|
-
*
|
|
6
|
-
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
-
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
(self.webpackChunk_nocobase_plugin_backups_client_v2=self.webpackChunk_nocobase_plugin_backups_client_v2||[]).push([["567"],{574:function(e,t,n){var r,a;void 0===(a="function"==typeof(r=function(){"use strict";function t(e,t,n){var r=new XMLHttpRequest;r.open("GET",e),r.responseType="blob",r.onload=function(){l(r.response,t,n)},r.onerror=function(){console.error("could not download file")},r.send()}function r(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(e){}return 200<=t.status&&299>=t.status}function a(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(n){var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var o="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof n.g&&n.g.global===n.g?n.g:void 0,u=o.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),l=o.saveAs||("object"!=typeof window||window!==o?function(){}:"download"in HTMLAnchorElement.prototype&&!u?function(e,n,u){var l=o.URL||o.webkitURL,i=document.createElement("a");i.download=n=n||e.name||"download",i.rel="noopener","string"==typeof e?(i.href=e,i.origin===location.origin?a(i):r(i.href)?t(e,n,u):a(i,i.target="_blank")):(i.href=l.createObjectURL(e),setTimeout(function(){l.revokeObjectURL(i.href)},4e4),setTimeout(function(){a(i)},0))}:"msSaveOrOpenBlob"in navigator?function(e,n,o){if(n=n||e.name||"download","string"!=typeof e){var u;navigator.msSaveOrOpenBlob((void 0===(u=o)?u={autoBom:!1}:"object"!=typeof u&&(console.warn("Deprecated: Expected third argument to be a object"),u={autoBom:!u}),u.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\uFEFF",e],{type:e.type}):e),n)}else if(r(e))t(e,n,o);else{var l=document.createElement("a");l.href=e,l.target="_blank",setTimeout(function(){a(l)})}}:function(e,n,r,a){if((a=a||open("","_blank"))&&(a.document.title=a.document.body.innerText="downloading..."),"string"==typeof e)return t(e,n,r);var l="application/octet-stream"===e.type,i=/constructor/i.test(o.HTMLElement)||o.safari,c=/CriOS\/[\d]+/.test(navigator.userAgent);if((c||l&&i||u)&&"u">typeof FileReader){var s=new FileReader;s.onloadend=function(){var e=s.result;e=c?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),a?a.location.href=e:location=e,a=null},s.readAsDataURL(e)}else{var f=o.URL||o.webkitURL,p=f.createObjectURL(e);a?a.location=p:location.href=p,a=null,setTimeout(function(){f.revokeObjectURL(p)},4e4)}});o.saveAs=l.saveAs=l,e.exports=l})?r.apply(t,[]):r)||(e.exports=a)},258:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return Y}});var r=n(694),a=n(625),o=n(59),u=n(155),l=n.n(u),i=n(485),c=n(185),s=n.n(c),f=n(574),p=n(401),d=(0,u.createContext)(null),b=function(){var e=(0,u.useContext)(d);if(!e)throw Error("BackupsContext provider is missing");return e},m=n(488);function v(e,t,n,r,a,o,u){try{var l=e[o](u),i=l.value}catch(e){n(e);return}l.done?t(i):Promise.resolve(i).then(r,a)}var h={database:{dialect:""}},y=function(){var e=(0,r.useFlowContext)(),t=(0,a.useMemoizedFn)(function(){var t;return(t=function(){var t,n;return function(e,t){var n,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(u,"next",{value:i(0)}),l(u,"throw",{value:i(1)}),l(u,"return",{value:i(2)}),"function"==typeof Symbol&&l(u,Symbol.iterator,{value:function(){return this}}),u;function i(l){return function(i){var c=[l,i];if(n)throw TypeError("Generator is already executing.");for(;u&&(u=0,c[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(r){switch(r.label){case 0:return[4,e.api.request({url:"backups:appInfo"})];case 1:return[2,null!=(t=null==(n=r.sent().data)?void 0:n.data)?t:h]}})},function(){var e=this,n=arguments;return new Promise(function(r,a){var o=t.apply(e,n);function u(e){v(o,r,a,u,l,"next",e)}function l(e){v(o,r,a,u,l,"throw",e)}u(void 0)})})()}),n=(0,a.useRequest)(t,{cacheKey:"backupAppInfo",staleTime:-1}).data;return null!=n?n:h},w=function(){var e=(0,r.useFlowEngine)(),t=(0,i.useApp)();return{showCheckBackupMessage:(0,a.useMemoizedFn)(function(){var n=e.context[p.l];n?n.showCheckBackupMessage():("function"==typeof t.setMaintaining?t.setMaintaining(!0):t.maintaining=!0,t.error={command:{name:"APP Restoring"},message:"checking backup...",code:"APP_COMMANDING"})}),hideCheckBackupMessage:(0,a.useMemoizedFn)(function(){var n=e.context[p.l];n?n.hideCheckBackupMessage():"function"==typeof t.setMaintaining?t.setMaintaining(!1):t.maintaining=!1})}};function g(e,t,n,r,a,o,u){try{var l=e[o](u),i=l.value}catch(e){n(e);return}l.done?t(i):Promise.resolve(i).then(r,a)}function k(){var e=(0,r.useFlowContext)(),t=(0,i.useApp)(),n=l().useRef(null),a=o.App.useApp().notification,c=w().hideCheckBackupMessage;return(0,u.useEffect)(function(){var t=setInterval(function(){var t;return(t=function(){var t,r;return function(e,t){var n,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(u,"next",{value:i(0)}),l(u,"throw",{value:i(1)}),l(u,"return",{value:i(2)}),"function"==typeof Symbol&&l(u,Symbol.iterator,{value:function(){return this}}),u;function i(l){return function(i){var c=[l,i];if(n)throw TypeError("Generator is already executing.");for(;u&&(u=0,c[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(o){switch(o.label){case 0:if(!n.current)return[2];o.label=1;case 1:return o.trys.push([1,3,,4]),[4,e.api.request({url:"".concat(p.C,":restoreStatus"),method:"get",params:{task:n.current}})];case 2:if(!(r=null==(t=o.sent().data)?void 0:t.data))return[2];return r.inProgress||(n.current=null),r.message&&(c(),a.error({message:r.message,role:"alert"})),[3,4];case 3:return console.error(o.sent()),[3,4];case 4:return[2]}})},function(){var e=this,n=arguments;return new Promise(function(r,a){var o=t.apply(e,n);function u(e){g(o,r,a,u,l,"next",e)}function l(e){g(o,r,a,u,l,"throw",e)}u(void 0)})})()},3e3);return function(){return clearInterval(t)}},[t.maintaining,e.api,c,a]),n}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function C(e,t,n,r,a,o,u){try{var l=e[o](u),i=l.value}catch(e){n(e);return}l.done?t(i):Promise.resolve(i).then(r,a)}function S(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var o=[],u=!0,l=!1;try{for(a=a.call(e);!(u=(n=a.next()).done)&&(o.push(n.value),!t||o.length!==t);u=!0);}catch(e){l=!0,r=e}finally{try{u||null==a.return||a.return()}finally{if(l)throw r}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return E(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return E(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var x=function(e){var t=e.backup,n=(0,m.k)(),a=(0,r.useFlowContext)(),u=S(l().useState(!1),2),i=u[0],c=u[1],s=S(l().useState(""),2),f=s[0],p=s[1],d=S(l().useState(!1),2),b=d[0],v=d[1],h=S(l().useState(""),2),g=h[0],E=h[1],x=k(),A=w().showCheckBackupMessage,O=y().database,j=O.schema,I=O.dialect,P=function(){p(""),E("")},M=function(){c(!1),P()};return l().createElement(l().Fragment,null,l().createElement(o.Button,{type:"link",size:"small",onClick:function(){c(!0)}},n("Restore")),l().createElement(o.Modal,{title:n("Restore"),open:i,onCancel:M,footer:[l().createElement(o.Button,{key:"back",onClick:M},n("Cancel")),l().createElement(o.Button,{key:"submit",type:"primary",loading:b,onClick:function(){var e;return(e=function(){var e,n,r;return function(e,t){var n,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(u,"next",{value:i(0)}),l(u,"throw",{value:i(1)}),l(u,"return",{value:i(2)}),"function"==typeof Symbol&&l(u,Symbol.iterator,{value:function(){return this}}),u;function i(l){return function(i){var c=[l,i];if(n)throw TypeError("Generator is already executing.");for(;u&&(u=0,c[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(o){switch(o.label){case 0:v(!0),o.label=1;case 1:return o.trys.push([1,3,,4]),[4,a.api.request({url:"backups:restore",method:"post",data:{name:t.name,password:f,dbSchema:g}})];case 2:return x.current=null!=(e=null==(r=o.sent().data)||null==(n=r.data)?void 0:n.task)?e:null,A(),[3,4];case 3:return console.error(o.sent()),[3,4];case 4:return v(!1),c(!1),P(),[2]}})},function(){var t=this,n=arguments;return new Promise(function(r,a){var o=e.apply(t,n);function u(e){C(o,r,a,u,l,"next",e)}function l(e){C(o,r,a,u,l,"throw",e)}u(void 0)})})()}},n("Submit"))]},l().createElement(o.Form,{layout:"vertical",autoComplete:"off"},"postgres"===I&&l().createElement(o.Form.Item,{label:l().createElement("strong",null,n("Confirm the application database schema")),help:n("Required if application database schema is different with the backup",{currentDbSchemaTips:j?"[".concat(j,"]"):""})},l().createElement(o.Input,{autoComplete:"new-password",value:g,onChange:function(e){return E(e.target.value)}})),l().createElement(o.Form.Item,{colon:!0,label:l().createElement("strong",null,n("Restore password"))},l().createElement(o.Input.Password,{value:f,autoComplete:"new-password",onChange:function(e){return p(e.target.value)}})))))};function A(e,t,n,r,a,o,u){try{var l=e[o](u),i=l.value}catch(e){n(e);return}l.done?t(i):Promise.resolve(i).then(r,a)}function O(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var o=e.apply(t,n);function u(e){A(o,r,a,u,l,"next",e)}function l(e){A(o,r,a,u,l,"throw",e)}u(void 0)})}}function j(e,t){var n,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(u,"next",{value:i(0)}),l(u,"throw",{value:i(1)}),l(u,"return",{value:i(2)}),"function"==typeof Symbol&&l(u,Symbol.iterator,{value:function(){return this}}),u;function i(l){return function(i){var c=[l,i];if(n)throw TypeError("Generator is already executing.");for(;u&&(u=0,c[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var I=function(){var e,t=(0,m.k)(),n=(0,r.useFlowContext)(),c=(0,i.useCurrentAppInfo)(),d=o.theme.useToken().token,v=o.App.useApp(),h=v.modal,y=v.message,w=b(),g=w.data,k=w.loading,E=w.refreshAsync,C=(0,a.useRequest)(function(e){return O(function(){var t;return j(this,function(r){switch(r.label){case 0:return[4,n.api.request({url:"".concat(p.C,":destroy"),method:"post",params:{filterByTk:e}})];case 1:return[2,null==(t=r.sent().data)?void 0:t.data]}})})()},{manual:!0}).runAsync,S=(0,u.useCallback)(function(e){h.confirm({title:t("Delete record"),content:t("Are you sure you want to delete it?"),onOk:function(){return O(function(){return j(this,function(n){switch(n.label){case 0:return[4,C(e.name)];case 1:return n.sent(),[4,E()];case 2:return n.sent(),y.success(t("The deletion was successful.")),[2]}})})()}})},[C,y,h,E,t]),A=(0,u.useCallback)(function(e){return O(function(){var t,r,a,o,u;return j(this,function(l){switch(l.label){case 0:return a=null!=(t=null==c?void 0:c.name)?t:null==c||null==(r=c.data)?void 0:r.name,o={filterByTk:e.name},a&&(o.__appName=a),[4,n.api.request({url:"backups:download",method:"get",params:o,responseType:"blob"})];case 1:return u=new Blob([l.sent().data]),(0,f.saveAs)(u,e.name),[2]}})})()},[n.api,null==c||null==(e=c.data)?void 0:e.name,null==c?void 0:c.name]),I=function(e){return e.inProgress?{colSpan:0}:{}},P=(0,u.useMemo)(function(){return[{title:t("Backup list"),dataIndex:"name",width:400,onCell:function(e){return e.inProgress?{colSpan:4}:{}},render:function(e,n){return n.inProgress?l().createElement("span",{style:{color:d.colorText}},e,"(",t("Backing up"),"...)"):l().createElement("span",null,e)}},{title:t("File size"),dataIndex:"fileSize",onCell:I},{title:t("Created at"),dataIndex:"createdAt",onCell:I,render:function(e){return e?s()(e).format("YYYY-MM-DD HH:mm:ss"):null}},{title:t("Actions"),dataIndex:"actions",onCell:I,render:function(e,n){return l().createElement(o.Space,{split:l().createElement(o.Divider,{type:"vertical"})},l().createElement(x,{backup:n}),l().createElement("a",{onClick:function(){A(n)}},t("Download")),l().createElement("a",{onClick:function(){return S(n)}},t("Delete")))}}]},[S,A,t,d.colorText]);return l().createElement(i.Table,{rowKey:"name",dataSource:null==g?void 0:g.data,loading:k,columns:P})},P=n(375);function M(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function R(e,t,n,r,a,o,u){try{var l=e[o](u),i=l.value}catch(e){n(e);return}l.done?t(i):Promise.resolve(i).then(r,a)}function T(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var o=e.apply(t,n);function u(e){R(o,r,a,u,l,"next",e)}function l(e){R(o,r,a,u,l,"throw",e)}u(void 0)})}}function B(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var o=[],u=!0,l=!1;try{for(a=a.call(e);!(u=(n=a.next()).done)&&(o.push(n.value),!t||o.length!==t);u=!0);}catch(e){l=!0,r=e}finally{try{u||null==a.return||a.return()}finally{if(l)throw r}}return o}}(e,t)||q(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function F(e){return function(e){if(Array.isArray(e))return M(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||q(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function q(e,t){if(e){if("string"==typeof e)return M(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return M(e,t)}}function _(e,t){var n,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(u,"next",{value:i(0)}),l(u,"throw",{value:i(1)}),l(u,"return",{value:i(2)}),"function"==typeof Symbol&&l(u,Symbol.iterator,{value:function(){return this}}),u;function i(l){return function(i){var c=[l,i];if(n)throw TypeError("Generator is already executing.");for(;u&&(u=0,c[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var D=function(){var e=B((0,u.useState)([]),2),t=e[0],n=e[1],i=(0,m.k)(),c=(0,r.useFlowContext)(),s=o.App.useApp(),f=s.message,d=s.notification,v=s.modal,h=b().refreshAsync,y=(0,a.useRequest)(function(){return T(function(){var e;return _(this,function(t){switch(t.label){case 0:return[4,c.api.request({url:"".concat(p.C,":create"),method:"post"})];case 1:return[2,null==(e=t.sent().data)?void 0:e.data]}})})()},{manual:!0,throttleWait:1e3}),w=y.runAsync,g=y.loading,k=(0,a.useRequest)(function(e){return T(function(){var t,n;return _(this,function(r){switch(r.label){case 0:return[4,c.api.request({url:"".concat(p.C,":taskStatus"),method:"get",params:{names:e}})];case 1:return[2,null!=(t=null==(n=r.sent().data)?void 0:n.data)?t:{}]}})})()},{manual:!0}).runAsync;(0,u.useEffect)(function(){if(0!==t.length){var e=setInterval(function(){return T(function(){var e,r,a,o,u,l,c,s,p,b,m,v;return _(this,function(y){switch(y.label){case 0:return[4,k(t)];case 1:e=y.sent(),r=[],a=[],o=!0,u=!1,l=void 0;try{for(c=Object.entries(e)[Symbol.iterator]();!(o=(s=c.next()).done);o=!0)b=(p=B(s.value,2))[0],(m=p[1]).inProgress||(m.message?(a.push(b),d.error({message:m.message,role:"alert"})):r.push(b))}catch(e){u=!0,l=e}finally{try{o||null==c.return||c.return()}finally{if(u)throw l}}if(v=F(r).concat(F(a)),!(r.length>0))return[3,3];return f.success(i("NEW_BACKUPS_CREATED",{names:r.join(", ")})),[4,h()];case 2:y.sent(),y.label=3;case 3:return v.length>0&&n(function(e){return e.filter(function(e){return!v.includes(e)})}),[2]}})})()},3e3);return function(){clearInterval(e)}}},[t,f,d,k,h,i]);var E=g?P.LoadingOutlined:P.PlusOutlined;return l().createElement(o.Button,{icon:l().createElement(E,null),disabled:g,type:"primary",onClick:function(){return T(function(){return _(this,function(e){return v.confirm({title:i("New backup"),content:i("Are you sure you want to create new backup?"),onOk:function(){return T(function(){return _(this,function(e){switch(e.label){case 0:return[4,T(function(){var e;return _(this,function(t){switch(t.label){case 0:return[4,w()];case 1:return(null==(e=t.sent())?void 0:e.name)&&n(function(t){return F(t).concat([e.name])}),f.success(i("New backup operation started")),[4,h()];case 2:return t.sent(),[2]}})})()];case 1:return e.sent(),[2]}})})()}}),[2]})})()}},i("New backup"))},L=function(){var e=(0,m.k)(),t=b(),n=t.refresh,r=t.loading,a=r?P.LoadingOutlined:P.ReloadOutlined;return l().createElement(o.Button,{onClick:n,icon:l().createElement(a,null),disabled:r},e("Refresh"))};function U(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function G(e,t,n,r,a,o,u){try{var l=e[o](u),i=l.value}catch(e){n(e);return}l.done?t(i):Promise.resolve(i).then(r,a)}function N(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var o=[],u=!0,l=!1;try{for(a=a.call(e);!(u=(n=a.next()).done)&&(o.push(n.value),!t||o.length!==t);u=!0);}catch(e){l=!0,r=e}finally{try{u||null==a.return||a.return()}finally{if(l)throw r}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return U(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return U(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var H=function(){var e=(0,m.k)(),t=(0,r.useFlowContext)(),n=o.App.useApp().notification,a=N((0,u.useState)(!1),2),i=a[0],c=a[1],s=N((0,u.useState)(!1),2),f=s[0],p=s[1],d=N((0,u.useState)(""),2),b=d[0],v=d[1],h=N((0,u.useState)(""),2),g=h[0],E=h[1],C=N((0,u.useState)(null),2),S=C[0],x=C[1],A=N((0,u.useState)([]),2),O=A[0],j=A[1],I=k(),M=w().showCheckBackupMessage,R=y().database,T=R.schema,B=R.dialect,F=function(){v(""),x(null),j([]),E("")},q=function(){c(!1),F()};return l().createElement(l().Fragment,null,l().createElement(o.Button,{icon:l().createElement(P.UploadOutlined,null),onClick:function(){c(!0)}},e("Restore backup from local")),l().createElement(o.Modal,{title:e("Restore backup from local"),open:i,onCancel:q,footer:[l().createElement(o.Button,{key:"back",onClick:q},e("Cancel")),l().createElement(o.Button,{key:"submit",type:"primary",loading:f,onClick:function(){var r;return(r=function(){var r,a,o,u;return function(e,t){var n,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(u,"next",{value:i(0)}),l(u,"throw",{value:i(1)}),l(u,"return",{value:i(2)}),"function"==typeof Symbol&&l(u,Symbol.iterator,{value:function(){return this}}),u;function i(l){return function(i){var c=[l,i];if(n)throw TypeError("Generator is already executing.");for(;u&&(u=0,c[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(l){switch(l.label){case 0:if(!S)return n.error({message:e("Please select a backup file")}),[2];p(!0),(r=new FormData).append("file",S),r.append("password",b),r.append("dbSchema",g),l.label=1;case 1:return l.trys.push([1,3,,4]),[4,t.api.request({url:"backups:upload",method:"post",data:r})];case 2:return I.current=null!=(a=null==(u=l.sent().data)||null==(o=u.data)?void 0:o.task)?a:null,M(),[3,4];case 3:return console.error(l.sent()),[3,4];case 4:return p(!1),c(!1),F(),[2]}})},function(){var e=this,t=arguments;return new Promise(function(n,a){var o=r.apply(e,t);function u(e){G(o,n,a,u,l,"next",e)}function l(e){G(o,n,a,u,l,"throw",e)}u(void 0)})})()}},e("Submit"))]},l().createElement(o.Form,{layout:"vertical",autoComplete:"off"},l().createElement(o.Form.Item,null,l().createElement(o.Upload.Dragger,{onRemove:function(){j([]),x(null)},fileList:O,multiple:!1,maxCount:1,beforeUpload:function(e){return x(e),j([e]),!1}},l().createElement("p",{className:"ant-upload-drag-icon"},l().createElement(P.InboxOutlined,null)),l().createElement("p",{className:"ant-upload-text"},e("Click or drag file to this area to upload")))),"postgres"===B&&l().createElement(o.Form.Item,{label:l().createElement("strong",null,e("Confirm the application database schema")),help:e("Required if application database schema is different with the backup",{currentDbSchemaTips:T?"[".concat(T,"]"):""})},l().createElement(o.Input,{autoComplete:"new-password",value:g,onChange:function(e){return E(e.target.value)}})),l().createElement(o.Form.Item,{colon:!0,label:l().createElement("strong",null,e("Restore password"))},l().createElement(o.Input.Password,{autoComplete:"new-password",value:b,onChange:function(e){return v(e.target.value)}})))))};function z(e,t,n,r,a,o,u){try{var l=e[o](u),i=l.value}catch(e){n(e);return}l.done?t(i):Promise.resolve(i).then(r,a)}var K={data:[]},Y=function(){var e=(0,r.useFlowContext)(),t=(0,a.useRequest)(function(){var t;return(t=function(){var t;return function(e,t){var n,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(u,"next",{value:i(0)}),l(u,"throw",{value:i(1)}),l(u,"return",{value:i(2)}),"function"==typeof Symbol&&l(u,Symbol.iterator,{value:function(){return this}}),u;function i(l){return function(i){var c=[l,i];if(n)throw TypeError("Generator is already executing.");for(;u&&(u=0,c[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(n){switch(n.label){case 0:return[4,e.api.request({url:"".concat(p.C,":list"),method:"get"})];case 1:return[2,null!=(t=n.sent().data)?t:K]}})},function(){var e=this,n=arguments;return new Promise(function(r,a){var o=t.apply(e,n);function u(e){z(o,r,a,u,l,"next",e)}function l(e){z(o,r,a,u,l,"throw",e)}u(void 0)})})()});return l().createElement(d.Provider,{value:t},l().createElement(o.Card,{bordered:!1},l().createElement(o.Space,{style:{float:"right",marginBottom:16}},l().createElement(L,null),l().createElement(H,null),l().createElement(D,null)),l().createElement(I,null)))}},488:function(e,t,n){"use strict";n.d(t,{k:function(){return o}});var r=n(694),a=n(401);function o(){var e=(0,r.useFlowEngine)();return function(t,n){return e.context.t(t,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({ns:[a.C,"client"]},n))}}}}]);
|