@plutonhq/core-frontend 0.1.6 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/dist-lib/components/Plan/Backups/Backups.module.scss.js +44 -42
  2. package/dist-lib/components/Plan/Backups/Backups.module.scss.js.map +1 -1
  3. package/dist-lib/components/Plan/PlanPendingBackup/PlanPendingBackup.d.ts +3 -2
  4. package/dist-lib/components/Plan/PlanPendingBackup/PlanPendingBackup.d.ts.map +1 -1
  5. package/dist-lib/components/Plan/PlanPendingBackup/PlanPendingBackup.js +29 -22
  6. package/dist-lib/components/Plan/PlanPendingBackup/PlanPendingBackup.js.map +1 -1
  7. package/dist-lib/components/Plan/PlanProgress/PlanProgress.d.ts +2 -1
  8. package/dist-lib/components/Plan/PlanProgress/PlanProgress.d.ts.map +1 -1
  9. package/dist-lib/components/Plan/PlanProgress/PlanProgress.js +22 -18
  10. package/dist-lib/components/Plan/PlanProgress/PlanProgress.js.map +1 -1
  11. package/dist-lib/components/Plan/Restores/Restores.js +5 -5
  12. package/dist-lib/components/Plan/Restores/Restores.js.map +1 -1
  13. package/dist-lib/components/Restore/RestoreFileSelector/RestoreFileSelector.js +73 -73
  14. package/dist-lib/components/Restore/RestoreFileSelector/RestoreFileSelector.js.map +1 -1
  15. package/dist-lib/components/Restore/RestoreWizard/RestoreConfirmStep.d.ts.map +1 -1
  16. package/dist-lib/components/Restore/RestoreWizard/RestoreConfirmStep.js +50 -50
  17. package/dist-lib/components/Restore/RestoreWizard/RestoreConfirmStep.js.map +1 -1
  18. package/dist-lib/components/Restore/RestoreWizard/RestorePreviewStep.js +8 -8
  19. package/dist-lib/components/Restore/RestoreWizard/RestorePreviewStep.js.map +1 -1
  20. package/dist-lib/components/Restore/RestoreWizard/RestoreWizard.module.scss.js +34 -36
  21. package/dist-lib/components/Restore/RestoreWizard/RestoreWizard.module.scss.js.map +1 -1
  22. package/dist-lib/components/Restore/RestoredFileBrowser/RestoredFileBrowser.d.ts +2 -1
  23. package/dist-lib/components/Restore/RestoredFileBrowser/RestoredFileBrowser.d.ts.map +1 -1
  24. package/dist-lib/components/Restore/RestoredFileBrowser/RestoredFileBrowser.js +62 -60
  25. package/dist-lib/components/Restore/RestoredFileBrowser/RestoredFileBrowser.js.map +1 -1
  26. package/dist-lib/components/common/LogViewer/LogViewer.d.ts.map +1 -1
  27. package/dist-lib/components/common/LogViewer/LogViewer.js +51 -47
  28. package/dist-lib/components/common/LogViewer/LogViewer.js.map +1 -1
  29. package/dist-lib/components/common/LogViewer/LogViewer.module.scss.js +24 -24
  30. package/dist-lib/hooks/usePlanSingleActions.d.ts.map +1 -1
  31. package/dist-lib/hooks/usePlanSingleActions.js +49 -37
  32. package/dist-lib/hooks/usePlanSingleActions.js.map +1 -1
  33. package/dist-lib/routes/PlanSingle/PlanSingle.d.ts.map +1 -1
  34. package/dist-lib/routes/PlanSingle/PlanSingle.js +68 -67
  35. package/dist-lib/routes/PlanSingle/PlanSingle.js.map +1 -1
  36. package/dist-lib/services/backups.d.ts.map +1 -1
  37. package/dist-lib/services/backups.js +35 -34
  38. package/dist-lib/services/backups.js.map +1 -1
  39. package/dist-lib/services/plans.d.ts +5 -2
  40. package/dist-lib/services/plans.d.ts.map +1 -1
  41. package/dist-lib/services/plans.js +45 -43
  42. package/dist-lib/services/plans.js.map +1 -1
  43. package/dist-lib/services/restores.d.ts.map +1 -1
  44. package/dist-lib/services/restores.js +56 -55
  45. package/dist-lib/services/restores.js.map +1 -1
  46. package/dist-lib/services.js +19 -19
  47. package/dist-lib/styles/core-frontend.css +1 -1
  48. package/package.json +1 -1
  49. package/src/components/Plan/Backups/Backups.module.scss +2 -1
  50. package/src/components/Plan/PlanPendingBackup/PlanPendingBackup.tsx +27 -18
  51. package/src/components/Plan/PlanProgress/PlanProgress.tsx +13 -2
  52. package/src/components/Plan/Restores/Restores.tsx +1 -1
  53. package/src/components/Restore/RestoreFileSelector/RestoreFileSelector.tsx +4 -4
  54. package/src/components/Restore/RestoreWizard/RestoreConfirmStep.tsx +26 -19
  55. package/src/components/Restore/RestoreWizard/RestorePreviewStep.tsx +1 -1
  56. package/src/components/Restore/RestoreWizard/RestoreWizard.module.scss +2 -2
  57. package/src/components/Restore/RestoredFileBrowser/RestoredFileBrowser.tsx +18 -14
  58. package/src/components/common/LogViewer/LogViewer.module.scss +1 -1
  59. package/src/components/common/LogViewer/LogViewer.tsx +18 -10
  60. package/src/hooks/usePlanSingleActions.tsx +21 -8
  61. package/src/routes/PlanSingle/PlanSingle.tsx +2 -0
  62. package/src/services/backups.ts +12 -4
  63. package/src/services/plans.ts +4 -3
  64. package/src/services/restores.ts +12 -4
@@ -1 +1 @@
1
- {"version":3,"file":"restores.d.ts","sourceRoot":"","sources":["../../src/services/restores.ts"],"names":[],"mappings":"AAKA,wBAAsB,cAAc,iBAYnC;AAED,wBAAgB,cAAc,+DAO7B;AAGD,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,MAAM,gBAehD;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,8DAQvC;AAGD,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM,gBAY7C;AAED,wBAAgB,gBAAgB,mFAO/B;AAGD,wBAAsB,aAAa,CAAC,EACjC,QAAQ,EACR,MAAM,EACN,MAAM,EACN,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,YAAY,GACd,EAAE;IACA,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;CACxB,gBAaA;AAED,wBAAgB,gBAAgB;cAtBnB,MAAM;YACR,MAAM;YACN,MAAM;eACH,MAAM;eACN,MAAM,EAAE;eACR,MAAM,EAAE;kBACL,OAAO;YAyBvB;AAGD,wBAAsB,kBAAkB,CAAC,EACtC,QAAQ,EACR,MAAM,EACN,MAAM,EACN,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,YAAY,GACd,EAAE;IACA,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;CACzB,gBAaA;AAED,wBAAgB,qBAAqB;cAtBxB,MAAM;YACR,MAAM;YACN,MAAM;eACH,MAAM;eACN,MAAM,EAAE;eACR,MAAM,EAAE;mBACJ,OAAO;YAuBxB;AAGD,wBAAsB,eAAe,CAAC,EAAE,EAAE,MAAM,gBAc/C;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,8DAQ5C;AAGD,wBAAsB,aAAa,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,gBAY/F;AACD,wBAAgB,gBAAgB;YAbqC,MAAM;eAAa,MAAM;YAoB7F;AAGD,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,gBASlJ;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,8DA0BlH;AACD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,8DAOtH"}
1
+ {"version":3,"file":"restores.d.ts","sourceRoot":"","sources":["../../src/services/restores.ts"],"names":[],"mappings":"AAOA,wBAAsB,cAAc,iBAYnC;AAED,wBAAgB,cAAc,+DAO7B;AAGD,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,MAAM,gBAehD;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,8DAQvC;AAGD,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM,gBAY7C;AAED,wBAAgB,gBAAgB,mFAO/B;AAGD,wBAAsB,aAAa,CAAC,EACjC,QAAQ,EACR,MAAM,EACN,MAAM,EACN,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,YAAY,GACd,EAAE;IACA,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;CACxB,gBAaA;AAED,wBAAgB,gBAAgB;cAtBnB,MAAM;YACR,MAAM;YACN,MAAM;eACH,MAAM;eACN,MAAM,EAAE;eACR,MAAM,EAAE;kBACL,OAAO;YAyBvB;AAGD,wBAAsB,kBAAkB,CAAC,EACtC,QAAQ,EACR,MAAM,EACN,MAAM,EACN,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,YAAY,GACd,EAAE;IACA,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;CACzB,gBAaA;AAED,wBAAgB,qBAAqB;cAtBxB,MAAM;YACR,MAAM;YACN,MAAM;eACH,MAAM;eACN,MAAM,EAAE;eACR,MAAM,EAAE;mBACJ,OAAO;YAuBxB;AAGD,wBAAsB,eAAe,CAAC,EAAE,EAAE,MAAM,gBAc/C;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,8DAQ5C;AAGD,wBAAsB,aAAa,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,gBAY/F;AACD,wBAAgB,gBAAgB;YAbqC,MAAM;eAAa,MAAM;YAoB7F;AAGD,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,gBASlJ;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,8DAgClH;AACD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,8DAOtH"}
@@ -1,7 +1,8 @@
1
- import { useQuery as l, useMutation as d, useQueryClient as f } from "@tanstack/react-query";
2
- import { toast as w } from "react-toastify";
1
+ import { useQuery as d, useMutation as l, useQueryClient as h } from "@tanstack/react-query";
2
+ import { toast as p } from "react-toastify";
3
3
  import { API_URL as o } from "../utils/constants.js";
4
- async function p() {
4
+ const f = /* @__PURE__ */ new Set();
5
+ async function R() {
5
6
  const e = new URL(`${o}/restores`), s = await (await fetch(e.toString(), {
6
7
  method: "GET",
7
8
  credentials: "include"
@@ -10,15 +11,15 @@ async function p() {
10
11
  throw new Error(s.error);
11
12
  return s;
12
13
  }
13
- function I() {
14
- return l({
14
+ function F() {
15
+ return d({
15
16
  queryKey: ["restores"],
16
- queryFn: () => p(),
17
+ queryFn: () => R(),
17
18
  refetchOnMount: !0,
18
19
  retry: !1
19
20
  });
20
21
  }
21
- async function R(e) {
22
+ async function m(e) {
22
23
  if (!e)
23
24
  throw new Error("ID Not Provided.");
24
25
  const r = new URL(`${o}/restores/${e}`), t = await (await fetch(r.toString(), {
@@ -29,16 +30,16 @@ async function R(e) {
29
30
  throw new Error(t.error);
30
31
  return t;
31
32
  }
32
- function F(e) {
33
- return l({
33
+ function O(e) {
34
+ return d({
34
35
  queryKey: ["restore", e],
35
- queryFn: () => R(e),
36
+ queryFn: () => m(e),
36
37
  refetchOnMount: !0,
37
38
  retry: !1,
38
39
  staleTime: 0
39
40
  });
40
41
  }
41
- async function m(e) {
42
+ async function g(e) {
42
43
  const r = new Headers({ "Content-Type": "application/json", Accept: "application/json" }), t = await (await fetch(`${o}/restores/${e}`, {
43
44
  method: "DELETE",
44
45
  credentials: "include",
@@ -48,15 +49,15 @@ async function m(e) {
48
49
  throw new Error(t.error);
49
50
  return t;
50
51
  }
51
- function O() {
52
- return d({
53
- mutationFn: m,
52
+ function P() {
53
+ return l({
54
+ mutationFn: g,
54
55
  onSuccess: (e) => {
55
56
  console.log("# Restore Removed! :", e);
56
57
  }
57
58
  });
58
59
  }
59
- async function g({
60
+ async function S({
60
61
  backupId: e,
61
62
  planId: r,
62
63
  target: s,
@@ -76,15 +77,15 @@ async function g({
76
77
  return i;
77
78
  }
78
79
  function G() {
79
- const e = f();
80
- return d({
81
- mutationFn: g,
80
+ const e = h();
81
+ return l({
82
+ mutationFn: S,
82
83
  onSuccess: (r, s) => {
83
84
  console.log("# Backup Restored! :", r, s), e.invalidateQueries({ queryKey: ["plan", s.planId] });
84
85
  }
85
86
  });
86
87
  }
87
- async function S({
88
+ async function $({
88
89
  backupId: e,
89
90
  planId: r,
90
91
  target: s,
@@ -103,15 +104,15 @@ async function S({
103
104
  throw new Error(i.error);
104
105
  return i;
105
106
  }
106
- function P() {
107
- return d({
108
- mutationFn: S,
107
+ function C() {
108
+ return l({
109
+ mutationFn: $,
109
110
  onSuccess: (e, r) => {
110
111
  console.log("# Backup Restore Stats! :", e, r);
111
112
  }
112
113
  });
113
114
  }
114
- async function $(e) {
115
+ async function E(e) {
115
116
  if (!e)
116
117
  throw new Error("ID Not Provided.");
117
118
  const s = await (await fetch(`${o}/restores/${e}/stats`, {
@@ -122,16 +123,16 @@ async function $(e) {
122
123
  throw new Error(s.error);
123
124
  return s;
124
125
  }
125
- function C(e) {
126
- return l({
126
+ function v(e) {
127
+ return d({
127
128
  queryKey: ["restore-stats", e],
128
- queryFn: () => $(e),
129
+ queryFn: () => E(e),
129
130
  refetchOnMount: !0,
130
131
  retry: !1,
131
132
  staleTime: 0
132
133
  });
133
134
  }
134
- async function E({ planId: e, restoreId: r }) {
135
+ async function j({ planId: e, restoreId: r }) {
135
136
  const t = await (await fetch(`${o}/restores/${r}/action/cancel?planId=${e}`, {
136
137
  method: "POST",
137
138
  credentials: "include"
@@ -141,26 +142,26 @@ async function E({ planId: e, restoreId: r }) {
141
142
  throw new Error(t.error);
142
143
  return t;
143
144
  }
144
- function v() {
145
- return d({
146
- mutationFn: E,
145
+ function K() {
146
+ return l({
147
+ mutationFn: j,
147
148
  onSuccess: (e, r) => {
148
149
  console.log("res :", r, e);
149
150
  }
150
151
  });
151
152
  }
152
- async function y({ id: e, sourceId: r, sourceType: s, planId: t }) {
153
+ async function w({ id: e, sourceId: r, sourceType: s, planId: t }) {
153
154
  const u = new URL(`${o}/restores/${e}/progress?sourceId=${r}&sourceType=${s}&planId=${t}`);
154
155
  return await (await fetch(u.toString(), {
155
156
  method: "GET",
156
157
  credentials: "include"
157
158
  })).json();
158
159
  }
159
- function K(e) {
160
- const r = f();
161
- return l({
160
+ function M(e) {
161
+ const r = h();
162
+ return d({
162
163
  queryKey: ["progress-restore", e.id],
163
- queryFn: () => y(e),
164
+ queryFn: () => w(e),
164
165
  refetchOnMount: !0,
165
166
  retry: !1,
166
167
  refetchInterval(s) {
@@ -168,37 +169,37 @@ function K(e) {
168
169
  const t = (c = s.state) == null ? void 0 : c.data;
169
170
  if ((a = t == null ? void 0 : t.events) == null ? void 0 : a.some((n) => n.phase === "finished" && n.completed === !0)) {
170
171
  const n = (t == null ? void 0 : t.planId) || e.planId;
171
- return n && (console.log("Invalidate Plan and Reload It :", n), r.invalidateQueries({ queryKey: ["plan", n] })), w.success("Restoration Complete!"), !1;
172
+ return f.has(e.id) || (f.add(e.id), n && (console.log("Invalidate Plan and Reload It :", n), r.invalidateQueries({ queryKey: ["plan", n] })), p.success("Restoration Complete!")), !1;
172
173
  }
173
174
  return 1e3;
174
175
  }
175
176
  });
176
177
  }
177
- function M(e) {
178
- return l({
178
+ function A(e) {
179
+ return d({
179
180
  queryKey: ["progress-restore", e.id],
180
- queryFn: () => y(e),
181
+ queryFn: () => w(e),
181
182
  refetchOnMount: !0,
182
183
  retry: !1
183
184
  });
184
185
  }
185
186
  export {
186
- E as cancelRestore,
187
- m as deleteRestore,
188
- p as getAllRestores,
189
- S as getDryRestoreStats,
190
- y as getRestoreProgress,
191
- $ as getRestoreStats,
192
- R as getSingleRestore,
193
- g as restoreBackup,
194
- v as useCancelRestore,
195
- O as useDeleteRestore,
196
- P as useGetDryRestoreStats,
197
- F as useGetRestore,
198
- K as useGetRestoreProgress,
199
- M as useGetRestoreProgressOnce,
200
- C as useGetRestoreStats,
201
- I as useGetRestores,
187
+ j as cancelRestore,
188
+ g as deleteRestore,
189
+ R as getAllRestores,
190
+ $ as getDryRestoreStats,
191
+ w as getRestoreProgress,
192
+ E as getRestoreStats,
193
+ m as getSingleRestore,
194
+ S as restoreBackup,
195
+ K as useCancelRestore,
196
+ P as useDeleteRestore,
197
+ C as useGetDryRestoreStats,
198
+ O as useGetRestore,
199
+ M as useGetRestoreProgress,
200
+ A as useGetRestoreProgressOnce,
201
+ v as useGetRestoreStats,
202
+ F as useGetRestores,
202
203
  G as useRestoreBackup
203
204
  };
204
205
  //# sourceMappingURL=restores.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"restores.js","sources":["../../src/services/restores.ts"],"sourcesContent":["import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';\r\nimport { toast } from 'react-toastify';\r\nimport { API_URL } from '../utils/constants';\r\n\r\n// Get All Restores\r\nexport async function getAllRestores() {\r\n const url = new URL(`${API_URL}/restores`);\r\n\r\n const res = await fetch(url.toString(), {\r\n method: 'GET',\r\n credentials: 'include',\r\n });\r\n const data = await res.json();\r\n if (!data.success) {\r\n throw new Error(data.error);\r\n }\r\n return data;\r\n}\r\n\r\nexport function useGetRestores() {\r\n return useQuery({\r\n queryKey: ['restores'],\r\n queryFn: () => getAllRestores(),\r\n refetchOnMount: true,\r\n retry: false,\r\n });\r\n}\r\n\r\n// Get Single Restore\r\nexport async function getSingleRestore(id: string) {\r\n if (!id) {\r\n throw new Error('ID Not Provided.');\r\n }\r\n const url = new URL(`${API_URL}/restores/${id}`);\r\n\r\n const res = await fetch(url.toString(), {\r\n method: 'GET',\r\n credentials: 'include',\r\n });\r\n const data = await res.json();\r\n if (!data.success) {\r\n throw new Error(data.error);\r\n }\r\n return data;\r\n}\r\n\r\nexport function useGetRestore(id: string) {\r\n return useQuery({\r\n queryKey: ['restore', id],\r\n queryFn: () => getSingleRestore(id),\r\n refetchOnMount: true,\r\n retry: false,\r\n staleTime: 0,\r\n });\r\n}\r\n\r\n// Remove Restore\r\nexport async function deleteRestore(id: string) {\r\n const header = new Headers({ 'Content-Type': 'application/json', Accept: 'application/json' });\r\n const res = await fetch(`${API_URL}/restores/${id}`, {\r\n method: 'DELETE',\r\n credentials: 'include',\r\n headers: header,\r\n });\r\n const data = await res.json();\r\n if (!data.success) {\r\n throw new Error(data.error);\r\n }\r\n return data;\r\n}\r\n\r\nexport function useDeleteRestore() {\r\n return useMutation({\r\n mutationFn: deleteRestore,\r\n onSuccess: (res) => {\r\n console.log('# Restore Removed! :', res);\r\n },\r\n });\r\n}\r\n\r\n// Restore Backup\r\nexport async function restoreBackup({\r\n backupId,\r\n planId,\r\n target,\r\n overwrite,\r\n includes,\r\n excludes,\r\n deleteOption,\r\n}: {\r\n backupId: string;\r\n planId: string;\r\n target: string;\r\n overwrite: string;\r\n includes?: string[];\r\n excludes?: string[];\r\n deleteOption: boolean;\r\n}) {\r\n const header = new Headers({ 'Content-Type': 'application/json', Accept: 'application/json' });\r\n const res = await fetch(`${API_URL}/restores/action/restore`, {\r\n method: 'POST',\r\n credentials: 'include',\r\n headers: header,\r\n body: JSON.stringify({ backupId, planId, target, overwrite, includes, excludes, delete: deleteOption }),\r\n });\r\n const data = await res.json();\r\n if (!data.success) {\r\n throw new Error(data.error);\r\n }\r\n return data;\r\n}\r\n\r\nexport function useRestoreBackup() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: restoreBackup,\r\n onSuccess: (res, payload) => {\r\n console.log('# Backup Restored! :', res, payload);\r\n queryClient.invalidateQueries({ queryKey: ['plan', payload.planId] });\r\n },\r\n });\r\n}\r\n\r\n// DRY Restore Backup\r\nexport async function getDryRestoreStats({\r\n backupId,\r\n planId,\r\n target,\r\n overwrite,\r\n includes,\r\n excludes,\r\n deleteOption,\r\n}: {\r\n backupId: string;\r\n planId: string;\r\n target: string;\r\n overwrite: string;\r\n includes?: string[];\r\n excludes?: string[];\r\n deleteOption?: boolean;\r\n}) {\r\n const header = new Headers({ 'Content-Type': 'application/json', Accept: 'application/json' });\r\n const res = await fetch(`${API_URL}/restores/action/dryrestore`, {\r\n method: 'POST',\r\n credentials: 'include',\r\n headers: header,\r\n body: JSON.stringify({ backupId, planId, target, overwrite, includes, excludes, delete: deleteOption }),\r\n });\r\n const data = await res.json();\r\n if (!data.success) {\r\n throw new Error(data.error);\r\n }\r\n return data;\r\n}\r\n\r\nexport function useGetDryRestoreStats() {\r\n return useMutation({\r\n mutationFn: getDryRestoreStats,\r\n onSuccess: (res, payload) => {\r\n console.log('# Backup Restore Stats! :', res, payload);\r\n },\r\n });\r\n}\r\n\r\n// Get Restore Stats\r\nexport async function getRestoreStats(id: string) {\r\n if (!id) {\r\n throw new Error('ID Not Provided.');\r\n }\r\n\r\n const res = await fetch(`${API_URL}/restores/${id}/stats`, {\r\n method: 'GET',\r\n credentials: 'include',\r\n });\r\n const data = await res.json();\r\n if (!data.success) {\r\n throw new Error(data.error);\r\n }\r\n return data;\r\n}\r\n\r\nexport function useGetRestoreStats(id: string) {\r\n return useQuery({\r\n queryKey: ['restore-stats', id],\r\n queryFn: () => getRestoreStats(id),\r\n refetchOnMount: true,\r\n retry: false,\r\n staleTime: 0,\r\n });\r\n}\r\n\r\n// Cancel Restore\r\nexport async function cancelRestore({ planId, restoreId }: { planId: string; restoreId: string }) {\r\n const res = await fetch(`${API_URL}/restores/${restoreId}/action/cancel?planId=${planId}`, {\r\n method: 'POST',\r\n credentials: 'include',\r\n // headers: header,\r\n });\r\n // Check if response is ok\r\n const data = await res.json();\r\n if (!data.success) {\r\n throw new Error(data.error);\r\n }\r\n return data;\r\n}\r\nexport function useCancelRestore() {\r\n return useMutation({\r\n mutationFn: cancelRestore,\r\n onSuccess: (res, payload) => {\r\n console.log('res :', payload, res);\r\n },\r\n });\r\n}\r\n\r\n// Get Backup Progress\r\nexport async function getRestoreProgress({ id, sourceId, sourceType, planId }: { id: string; sourceId: string; sourceType: string; planId: string }) {\r\n const url = new URL(`${API_URL}/restores/${id}/progress?sourceId=${sourceId}&sourceType=${sourceType}&planId=${planId}`);\r\n\r\n const res = await fetch(url.toString(), {\r\n method: 'GET',\r\n credentials: 'include',\r\n });\r\n const data = await res.json();\r\n return data;\r\n}\r\n\r\nexport function useGetRestoreProgress(payload: { id: string; sourceId: string; sourceType: string; planId: string }) {\r\n const queryClient = useQueryClient();\r\n return useQuery({\r\n queryKey: ['progress-restore', payload.id],\r\n queryFn: () => getRestoreProgress(payload),\r\n refetchOnMount: true,\r\n retry: false,\r\n refetchInterval(query) {\r\n const progressData = query.state?.data;\r\n\r\n // Check if backup is finished by looking for a \"finished\" phase event\r\n const isFinished = progressData?.events?.some((event: any) => event.phase === 'finished' && event.completed === true);\r\n\r\n if (isFinished) {\r\n const planId = progressData?.planId || payload.planId;\r\n if (planId) {\r\n console.log('Invalidate Plan and Reload It :', planId);\r\n queryClient.invalidateQueries({ queryKey: ['plan', planId] });\r\n }\r\n toast.success('Restoration Complete!');\r\n return false;\r\n }\r\n\r\n return 1000;\r\n },\r\n });\r\n}\r\nexport function useGetRestoreProgressOnce(payload: { id: string; sourceId: string; sourceType: string; planId: string }) {\r\n return useQuery({\r\n queryKey: ['progress-restore', payload.id],\r\n queryFn: () => getRestoreProgress(payload),\r\n refetchOnMount: true,\r\n retry: false,\r\n });\r\n}\r\n"],"names":["getAllRestores","url","API_URL","data","useGetRestores","useQuery","getSingleRestore","id","useGetRestore","deleteRestore","header","useDeleteRestore","useMutation","res","restoreBackup","backupId","planId","target","overwrite","includes","excludes","deleteOption","useRestoreBackup","queryClient","useQueryClient","payload","getDryRestoreStats","useGetDryRestoreStats","getRestoreStats","useGetRestoreStats","cancelRestore","restoreId","useCancelRestore","getRestoreProgress","sourceId","sourceType","useGetRestoreProgress","query","progressData","_a","_b","event","toast","useGetRestoreProgressOnce"],"mappings":"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"}
1
+ {"version":3,"file":"restores.js","sources":["../../src/services/restores.ts"],"sourcesContent":["import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';\r\nimport { toast } from 'react-toastify';\r\nimport { API_URL } from '../utils/constants';\r\n\r\nconst notifiedRestoreProgress = new Set<string>();\r\n\r\n// Get All Restores\r\nexport async function getAllRestores() {\r\n const url = new URL(`${API_URL}/restores`);\r\n\r\n const res = await fetch(url.toString(), {\r\n method: 'GET',\r\n credentials: 'include',\r\n });\r\n const data = await res.json();\r\n if (!data.success) {\r\n throw new Error(data.error);\r\n }\r\n return data;\r\n}\r\n\r\nexport function useGetRestores() {\r\n return useQuery({\r\n queryKey: ['restores'],\r\n queryFn: () => getAllRestores(),\r\n refetchOnMount: true,\r\n retry: false,\r\n });\r\n}\r\n\r\n// Get Single Restore\r\nexport async function getSingleRestore(id: string) {\r\n if (!id) {\r\n throw new Error('ID Not Provided.');\r\n }\r\n const url = new URL(`${API_URL}/restores/${id}`);\r\n\r\n const res = await fetch(url.toString(), {\r\n method: 'GET',\r\n credentials: 'include',\r\n });\r\n const data = await res.json();\r\n if (!data.success) {\r\n throw new Error(data.error);\r\n }\r\n return data;\r\n}\r\n\r\nexport function useGetRestore(id: string) {\r\n return useQuery({\r\n queryKey: ['restore', id],\r\n queryFn: () => getSingleRestore(id),\r\n refetchOnMount: true,\r\n retry: false,\r\n staleTime: 0,\r\n });\r\n}\r\n\r\n// Remove Restore\r\nexport async function deleteRestore(id: string) {\r\n const header = new Headers({ 'Content-Type': 'application/json', Accept: 'application/json' });\r\n const res = await fetch(`${API_URL}/restores/${id}`, {\r\n method: 'DELETE',\r\n credentials: 'include',\r\n headers: header,\r\n });\r\n const data = await res.json();\r\n if (!data.success) {\r\n throw new Error(data.error);\r\n }\r\n return data;\r\n}\r\n\r\nexport function useDeleteRestore() {\r\n return useMutation({\r\n mutationFn: deleteRestore,\r\n onSuccess: (res) => {\r\n console.log('# Restore Removed! :', res);\r\n },\r\n });\r\n}\r\n\r\n// Restore Backup\r\nexport async function restoreBackup({\r\n backupId,\r\n planId,\r\n target,\r\n overwrite,\r\n includes,\r\n excludes,\r\n deleteOption,\r\n}: {\r\n backupId: string;\r\n planId: string;\r\n target: string;\r\n overwrite: string;\r\n includes?: string[];\r\n excludes?: string[];\r\n deleteOption: boolean;\r\n}) {\r\n const header = new Headers({ 'Content-Type': 'application/json', Accept: 'application/json' });\r\n const res = await fetch(`${API_URL}/restores/action/restore`, {\r\n method: 'POST',\r\n credentials: 'include',\r\n headers: header,\r\n body: JSON.stringify({ backupId, planId, target, overwrite, includes, excludes, delete: deleteOption }),\r\n });\r\n const data = await res.json();\r\n if (!data.success) {\r\n throw new Error(data.error);\r\n }\r\n return data;\r\n}\r\n\r\nexport function useRestoreBackup() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: restoreBackup,\r\n onSuccess: (res, payload) => {\r\n console.log('# Backup Restored! :', res, payload);\r\n queryClient.invalidateQueries({ queryKey: ['plan', payload.planId] });\r\n },\r\n });\r\n}\r\n\r\n// DRY Restore Backup\r\nexport async function getDryRestoreStats({\r\n backupId,\r\n planId,\r\n target,\r\n overwrite,\r\n includes,\r\n excludes,\r\n deleteOption,\r\n}: {\r\n backupId: string;\r\n planId: string;\r\n target: string;\r\n overwrite: string;\r\n includes?: string[];\r\n excludes?: string[];\r\n deleteOption?: boolean;\r\n}) {\r\n const header = new Headers({ 'Content-Type': 'application/json', Accept: 'application/json' });\r\n const res = await fetch(`${API_URL}/restores/action/dryrestore`, {\r\n method: 'POST',\r\n credentials: 'include',\r\n headers: header,\r\n body: JSON.stringify({ backupId, planId, target, overwrite, includes, excludes, delete: deleteOption }),\r\n });\r\n const data = await res.json();\r\n if (!data.success) {\r\n throw new Error(data.error);\r\n }\r\n return data;\r\n}\r\n\r\nexport function useGetDryRestoreStats() {\r\n return useMutation({\r\n mutationFn: getDryRestoreStats,\r\n onSuccess: (res, payload) => {\r\n console.log('# Backup Restore Stats! :', res, payload);\r\n },\r\n });\r\n}\r\n\r\n// Get Restore Stats\r\nexport async function getRestoreStats(id: string) {\r\n if (!id) {\r\n throw new Error('ID Not Provided.');\r\n }\r\n\r\n const res = await fetch(`${API_URL}/restores/${id}/stats`, {\r\n method: 'GET',\r\n credentials: 'include',\r\n });\r\n const data = await res.json();\r\n if (!data.success) {\r\n throw new Error(data.error);\r\n }\r\n return data;\r\n}\r\n\r\nexport function useGetRestoreStats(id: string) {\r\n return useQuery({\r\n queryKey: ['restore-stats', id],\r\n queryFn: () => getRestoreStats(id),\r\n refetchOnMount: true,\r\n retry: false,\r\n staleTime: 0,\r\n });\r\n}\r\n\r\n// Cancel Restore\r\nexport async function cancelRestore({ planId, restoreId }: { planId: string; restoreId: string }) {\r\n const res = await fetch(`${API_URL}/restores/${restoreId}/action/cancel?planId=${planId}`, {\r\n method: 'POST',\r\n credentials: 'include',\r\n // headers: header,\r\n });\r\n // Check if response is ok\r\n const data = await res.json();\r\n if (!data.success) {\r\n throw new Error(data.error);\r\n }\r\n return data;\r\n}\r\nexport function useCancelRestore() {\r\n return useMutation({\r\n mutationFn: cancelRestore,\r\n onSuccess: (res, payload) => {\r\n console.log('res :', payload, res);\r\n },\r\n });\r\n}\r\n\r\n// Get Backup Progress\r\nexport async function getRestoreProgress({ id, sourceId, sourceType, planId }: { id: string; sourceId: string; sourceType: string; planId: string }) {\r\n const url = new URL(`${API_URL}/restores/${id}/progress?sourceId=${sourceId}&sourceType=${sourceType}&planId=${planId}`);\r\n\r\n const res = await fetch(url.toString(), {\r\n method: 'GET',\r\n credentials: 'include',\r\n });\r\n const data = await res.json();\r\n return data;\r\n}\r\n\r\nexport function useGetRestoreProgress(payload: { id: string; sourceId: string; sourceType: string; planId: string }) {\r\n const queryClient = useQueryClient();\r\n return useQuery({\r\n queryKey: ['progress-restore', payload.id],\r\n queryFn: () => getRestoreProgress(payload),\r\n refetchOnMount: true,\r\n retry: false,\r\n refetchInterval(query) {\r\n // Only refetch if the browser tab is active\r\n // if (document.hidden) return false;\r\n\r\n const progressData = query.state?.data;\r\n\r\n // Check if backup is finished by looking for a \"finished\" phase event\r\n const isFinished = progressData?.events?.some((event: any) => event.phase === 'finished' && event.completed === true);\r\n\r\n if (isFinished) {\r\n const planId = progressData?.planId || payload.planId;\r\n if (!notifiedRestoreProgress.has(payload.id)) {\r\n notifiedRestoreProgress.add(payload.id);\r\n if (planId) {\r\n console.log('Invalidate Plan and Reload It :', planId);\r\n queryClient.invalidateQueries({ queryKey: ['plan', planId] });\r\n }\r\n toast.success('Restoration Complete!');\r\n }\r\n return false;\r\n }\r\n\r\n return 1000;\r\n },\r\n });\r\n}\r\nexport function useGetRestoreProgressOnce(payload: { id: string; sourceId: string; sourceType: string; planId: string }) {\r\n return useQuery({\r\n queryKey: ['progress-restore', payload.id],\r\n queryFn: () => getRestoreProgress(payload),\r\n refetchOnMount: true,\r\n retry: false,\r\n });\r\n}\r\n"],"names":["notifiedRestoreProgress","getAllRestores","url","API_URL","data","useGetRestores","useQuery","getSingleRestore","id","useGetRestore","deleteRestore","header","useDeleteRestore","useMutation","res","restoreBackup","backupId","planId","target","overwrite","includes","excludes","deleteOption","useRestoreBackup","queryClient","useQueryClient","payload","getDryRestoreStats","useGetDryRestoreStats","getRestoreStats","useGetRestoreStats","cancelRestore","restoreId","useCancelRestore","getRestoreProgress","sourceId","sourceType","useGetRestoreProgress","query","progressData","_a","_b","event","toast","useGetRestoreProgressOnce"],"mappings":"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"}
@@ -1,26 +1,26 @@
1
- import { cancelBackup as s, cancelBackupDownload as a, deleteBackup as u, generateBackupDownload as o, getBackupDownload as r, getBackupProgress as l, getSnapshotFiles as n, updateBackup as g, useCancelBackup as p, useCancelBackupDownload as c, useDeleteBackup as d, useDownloadBackup as S, useGetBackupDownload as i, useGetBackupProgress as P, useGetBackupProgressOnce as k, useGetSnapshotFiles as D, useUpdateBackup as G } from "./services/backups.js";
1
+ import { cancelBackup as s, cancelBackupDownload as a, deleteBackup as o, generateBackupDownload as u, getBackupDownload as r, getBackupProgress as l, getSnapshotFiles as n, updateBackup as g, useCancelBackup as p, useCancelBackupDownload as c, useDeleteBackup as d, useDownloadBackup as S, useGetBackupDownload as i, useGetBackupProgress as P, useGetBackupProgressOnce as k, useGetSnapshotFiles as D, useUpdateBackup as G } from "./services/backups.js";
2
2
  import { browseDir as R, getAllDevices as m, getDevice as A, getSystemMetrics as v, updateDependent as w, updateDevice as f, useBrowseDir as L, useGetDevice as U, useGetDevices as x, useGetSystemMetrics as h, useUpdateDependent as y, useUpdateDevice as C } from "./services/devices.js";
3
- import { checkActiveBackups as F, createPlan as I, deletePlan as M, downloadPlanLogs as O, getAllPlans as V, getPlanLogs as j, getSinglePlan as q, pausePlan as z, performBackup as E, prunePlan as H, resumePlan as J, unlockPlan as K, updatePlan as N, useCheckActiveBackups as Q, useCreatePlan as T, useDeletePlan as W, useGetDownloadLogs as X, useGetPlan as Y, useGetPlanLogs as Z, useGetPlans as _, usePausePlan as $, usePerformBackup as ee, usePrunePlan as te, useResumePlan as se, useUnlockPlan as ae, useUpdatePlan as ue } from "./services/plans.js";
3
+ import { checkActiveBackupsOrRestore as b, createPlan as F, deletePlan as I, downloadPlanLogs as M, getAllPlans as V, getPlanLogs as j, getSinglePlan as q, pausePlan as z, performBackup as E, prunePlan as H, resumePlan as J, unlockPlan as K, updatePlan as N, useCheckActiveBackupsOrRestore as Q, useCreatePlan as T, useDeletePlan as W, useGetDownloadLogs as X, useGetPlan as Y, useGetPlanLogs as Z, useGetPlans as _, usePausePlan as $, usePerformBackup as ee, usePrunePlan as te, useResumePlan as se, useUnlockPlan as ae, useUpdatePlan as oe } from "./services/plans.js";
4
4
  import { cancelRestore as re, deleteRestore as le, getAllRestores as ne, getDryRestoreStats as ge, getRestoreProgress as pe, getRestoreStats as ce, getSingleRestore as de, restoreBackup as Se, useCancelRestore as ie, useDeleteRestore as Pe, useGetDryRestoreStats as ke, useGetRestore as De, useGetRestoreProgress as Ge, useGetRestoreProgressOnce as Be, useGetRestoreStats as Re, useGetRestores as me, useRestoreBackup as Ae } from "./services/restores.js";
5
- import { completeSetup as we, downloadAppLogs as fe, getAppLogs as Le, getSettings as Ue, getSetupStatus as xe, updateSettings as he, useCompleteSetup as ye, useGetAppLogs as Ce, useGetDownloadAppLogs as be, useGetSettings as Fe, useSetupStatus as Ie, useUpdateSettings as Me, useValidateIntegration as Oe, validateIntegration as Ve } from "./services/settings.js";
5
+ import { completeSetup as we, downloadAppLogs as fe, getAppLogs as Le, getSettings as Ue, getSetupStatus as xe, updateSettings as he, useCompleteSetup as ye, useGetAppLogs as Ce, useGetDownloadAppLogs as Oe, useGetSettings as be, useSetupStatus as Fe, useUpdateSettings as Ie, useValidateIntegration as Me, validateIntegration as Ve } from "./services/settings.js";
6
6
  import { addStorage as qe, deleteStorage as ze, getAllStorages as Ee, getAvailableStorages as He, getStorage as Je, updateStorage as Ke, useAddStorage as Ne, useDeleteStorage as Qe, useGetAvailableStorages as Te, useGetStorage as We, useGetStorages as Xe, useUpdateStorage as Ye, useVerifyStorage as Ze, verifyStorage as _e } from "./services/storage.js";
7
- import { loginUser as et, logoutUser as tt, useAuth as st, useLogin as at, useLogout as ut, validateAuth as ot } from "./services/users.js";
7
+ import { loginUser as et, logoutUser as tt, useAuth as st, useLogin as at, useLogout as ot, validateAuth as ut } from "./services/users.js";
8
8
  export {
9
9
  qe as addStorage,
10
10
  R as browseDir,
11
11
  s as cancelBackup,
12
12
  a as cancelBackupDownload,
13
13
  re as cancelRestore,
14
- F as checkActiveBackups,
14
+ b as checkActiveBackupsOrRestore,
15
15
  we as completeSetup,
16
- I as createPlan,
17
- u as deleteBackup,
18
- M as deletePlan,
16
+ F as createPlan,
17
+ o as deleteBackup,
18
+ I as deletePlan,
19
19
  le as deleteRestore,
20
20
  ze as deleteStorage,
21
21
  fe as downloadAppLogs,
22
- O as downloadPlanLogs,
23
- o as generateBackupDownload,
22
+ M as downloadPlanLogs,
23
+ u as generateBackupDownload,
24
24
  m as getAllDevices,
25
25
  V as getAllPlans,
26
26
  ne as getAllRestores,
@@ -61,7 +61,7 @@ export {
61
61
  p as useCancelBackup,
62
62
  c as useCancelBackupDownload,
63
63
  ie as useCancelRestore,
64
- Q as useCheckActiveBackups,
64
+ Q as useCheckActiveBackupsOrRestore,
65
65
  ye as useCompleteSetup,
66
66
  T as useCreatePlan,
67
67
  d as useDeleteBackup,
@@ -76,7 +76,7 @@ export {
76
76
  k as useGetBackupProgressOnce,
77
77
  U as useGetDevice,
78
78
  x as useGetDevices,
79
- be as useGetDownloadAppLogs,
79
+ Oe as useGetDownloadAppLogs,
80
80
  X as useGetDownloadLogs,
81
81
  ke as useGetDryRestoreStats,
82
82
  Y as useGetPlan,
@@ -87,29 +87,29 @@ export {
87
87
  Be as useGetRestoreProgressOnce,
88
88
  Re as useGetRestoreStats,
89
89
  me as useGetRestores,
90
- Fe as useGetSettings,
90
+ be as useGetSettings,
91
91
  D as useGetSnapshotFiles,
92
92
  We as useGetStorage,
93
93
  Xe as useGetStorages,
94
94
  h as useGetSystemMetrics,
95
95
  at as useLogin,
96
- ut as useLogout,
96
+ ot as useLogout,
97
97
  $ as usePausePlan,
98
98
  ee as usePerformBackup,
99
99
  te as usePrunePlan,
100
100
  Ae as useRestoreBackup,
101
101
  se as useResumePlan,
102
- Ie as useSetupStatus,
102
+ Fe as useSetupStatus,
103
103
  ae as useUnlockPlan,
104
104
  G as useUpdateBackup,
105
105
  y as useUpdateDependent,
106
106
  C as useUpdateDevice,
107
- ue as useUpdatePlan,
108
- Me as useUpdateSettings,
107
+ oe as useUpdatePlan,
108
+ Ie as useUpdateSettings,
109
109
  Ye as useUpdateStorage,
110
- Oe as useValidateIntegration,
110
+ Me as useValidateIntegration,
111
111
  Ze as useVerifyStorage,
112
- ot as validateAuth,
112
+ ut as validateAuth,
113
113
  Ve as validateIntegration,
114
114
  _e as verifyStorage
115
115
  };