@chaibuilder/sdk 4.0.0-beta.23 → 4.0.0-beta.25
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/{2SSKDMRQ-SUA5eA2S.js → 2SSKDMRQ-Bk_4y8lw.js} +2 -2
- package/dist/{2SSKDMRQ-DVWVGtU8.cjs → 2SSKDMRQ-vWeQ_IyI.cjs} +1 -1
- package/dist/{AP7HFJJL-CUN5zddU.cjs → AP7HFJJL-CMPLeI6t.cjs} +1 -1
- package/dist/{AP7HFJJL-Co5bLh3I.js → AP7HFJJL-D_mI2XSw.js} +1 -1
- package/dist/{IconPicker-Bmz6vXB8.cjs → IconPicker-DB_PpKvH.cjs} +1 -1
- package/dist/{IconPicker-BZvFj3cg.js → IconPicker-jc6_JzXf.js} +1 -1
- package/dist/{WDYDFRGG-DjCIT9L-.js → WDYDFRGG-B4H3RPcp.js} +2 -2
- package/dist/{WDYDFRGG-BpSteEEf.cjs → WDYDFRGG-D7vzbPjk.cjs} +1 -1
- package/dist/{active-in-another-tab-DfRJcvAz.js → active-in-another-tab-CDhFxBU7.js} +2 -2
- package/dist/{active-in-another-tab-C8-vpt8f.cjs → active-in-another-tab-CMPHyyHE.cjs} +1 -1
- package/dist/{add-new-language-page-jZ7Pg0Fv.js → add-new-language-page-BliZ46WW.js} +3 -3
- package/dist/{add-new-language-page-B2BEmfil.cjs → add-new-language-page-IbMzbf4v.cjs} +1 -1
- package/dist/{add-new-page-DbEBB3w7.cjs → add-new-page-BJJqSKp0.cjs} +1 -1
- package/dist/{add-new-page-YZF_XF8X.js → add-new-page-DUCKfyWo.js} +2 -2
- package/dist/{ai-panel-content-Bf_ojKwt.cjs → ai-panel-content-DWOqjq3Z.cjs} +1 -1
- package/dist/{ai-panel-content-C8ecaQnv.js → ai-panel-content-GeQIaXy8.js} +3 -3
- package/dist/{ai-panel-default-lang-DokOmE_Q.cjs → ai-panel-default-lang-DGNDrfam.cjs} +2 -2
- package/dist/{ai-panel-default-lang-BC8Gq_jl.js → ai-panel-default-lang-VQsV6KB3.js} +3 -3
- package/dist/{ai-panel-other-lang-Ccx1t8pp.cjs → ai-panel-other-lang-DvXF0Nn5.cjs} +1 -1
- package/dist/{ai-panel-other-lang-BJ30SL7z.js → ai-panel-other-lang-SuC8jyfr.js} +3 -3
- package/dist/{ai-prompt-input-SfeB6a2j.js → ai-prompt-input-CB6iQAmE.js} +1 -1
- package/dist/{ai-prompt-input-ED14e6NE.cjs → ai-prompt-input-a8s-JrZb.cjs} +1 -1
- package/dist/{ai-translation-prompt-BRRzei71.js → ai-translation-prompt-CoNVDclG.js} +1 -1
- package/dist/{ai-translation-prompt-spS-OC6L.cjs → ai-translation-prompt-Qn1Sz4BI.cjs} +1 -1
- package/dist/change-password-modal-BtdsU0mm.cjs +1 -0
- package/dist/change-password-modal-CMEo8lEm.js +137 -0
- package/dist/{code-editor-CYiIxUKp.js → code-editor-CTMQr0aU.js} +1 -1
- package/dist/{code-editor-CIqswl5j.cjs → code-editor-CjatfjZe.cjs} +1 -1
- package/dist/{continue-editing-in-this-client-B3CnmiZ2.cjs → continue-editing-in-this-client-7swLl0kq.cjs} +1 -1
- package/dist/{continue-editing-in-this-client-vICoETHN.js → continue-editing-in-this-client-CNVJZvXQ.js} +2 -2
- package/dist/core.cjs +1 -1
- package/dist/core.d.ts +1 -0
- package/dist/core.js +1 -1
- package/dist/{css-import-modal-DautOct0.js → css-import-modal-B3XY8Hzw.js} +1 -1
- package/dist/{css-import-modal-CHFZPXXQ.cjs → css-import-modal-D2RqE-V0.cjs} +1 -1
- package/dist/{delete-design-token-BmWHk_Ap.js → delete-design-token-DEyYFVHU.js} +1 -1
- package/dist/{delete-design-token-D-wGR5qS.cjs → delete-design-token-Dd3b86G7.cjs} +1 -1
- package/dist/{delete-page-Dlv8srng.js → delete-page-BSn5mRvk.js} +2 -2
- package/dist/{delete-page-D5mzl-ET.cjs → delete-page-BfsmsTek.cjs} +1 -1
- package/dist/{design-token-usage-DIszlgJK.cjs → design-token-usage-BY8meqAt.cjs} +1 -1
- package/dist/{design-token-usage-hl29qR_q.js → design-token-usage-f20BdlHE.js} +1 -1
- package/dist/{digital-asset-manager-v2LfDXwR.cjs → digital-asset-manager-Pi0YiB35.cjs} +1 -1
- package/dist/{digital-asset-manager-o_bNl9qj.js → digital-asset-manager-iXt27NlP.js} +3 -3
- package/dist/{duplicate-page-BjqgghN0.js → duplicate-page-BuVub6uY.js} +3 -3
- package/dist/{duplicate-page-CEuF8dll.cjs → duplicate-page-g5hiQkrZ.cjs} +1 -1
- package/dist/{dynamic-page-selector-BWC7kHJ1.js → dynamic-page-selector-NZ-rKLo3.js} +2 -2
- package/dist/{dynamic-page-selector-D4EWs4Qd.cjs → dynamic-page-selector-z6UGEjk1.cjs} +1 -1
- package/dist/{get-chai-builder-theme-DDVRJQ6Z.js → get-chai-builder-theme-CHXhAcdV.js} +1 -1
- package/dist/{get-chai-builder-theme-BApShjRz.cjs → get-chai-builder-theme-CMypjJk8.cjs} +1 -1
- package/dist/{image-editor-B1-bjvPd.js → image-editor--WT9183_.js} +1 -1
- package/dist/{image-editor-2h5axNuk.cjs → image-editor-C6cZZNbB.cjs} +1 -1
- package/dist/index-BGGNVIKx.cjs +5 -0
- package/dist/{index-DWGTiEak.cjs → index-CfsIhbT2.cjs} +11 -11
- package/dist/{index-BvluH-oT.js → index-ckjNCVor.js} +990 -978
- package/dist/{index-BN6yEl-H.js → index-iRqgNs2O.js} +897 -891
- package/dist/{json-diff-viewer-WX0GIjq-.js → json-diff-viewer-DAQ-qSHk.js} +2 -2
- package/dist/{json-diff-viewer-BjCIlzd7.cjs → json-diff-viewer-DheqS084.cjs} +1 -1
- package/dist/{lang-panel-C4x7bcyb.js → lang-panel-DRDPvY1i.js} +3 -3
- package/dist/{lang-panel--yfjRDE2.cjs → lang-panel-oLc-QyU4.cjs} +1 -1
- package/dist/{manage-design-tokens-DhdwhzQu.cjs → manage-design-tokens-Hu25ejcC.cjs} +1 -1
- package/dist/{manage-design-tokens-CRwsErkx.js → manage-design-tokens-rEzXQJRW.js} +2 -2
- package/dist/{mark-as-template-DpZSFrLK.js → mark-as-template-BNbn5zQG.js} +2 -2
- package/dist/{mark-as-template-BH0W9p2G.cjs → mark-as-template-DEThYoS6.cjs} +1 -1
- package/dist/{nested-path-selector-content-BDQmZzlf.js → nested-path-selector-content-BERhs6_L.js} +1 -1
- package/dist/{nested-path-selector-content-CHYz7cdB.cjs → nested-path-selector-content-Dz3-bNqT.cjs} +1 -1
- package/dist/{no-language-page-content-D0lcCseQ.js → no-language-page-content-CPVIz5rC.js} +2 -2
- package/dist/{no-language-page-content-D7btm8zX.cjs → no-language-page-content-CrUkIrUJ.cjs} +1 -1
- package/dist/{no-language-page-dialog-sYOmLnpY.cjs → no-language-page-dialog-964r8feg.cjs} +1 -1
- package/dist/{no-language-page-dialog-BdW7oXvt.js → no-language-page-dialog-DPDJ6gkQ.js} +2 -2
- package/dist/{page-creator-O_QpbMlB.js → page-creator-CDcfL4al.js} +3 -3
- package/dist/{page-creator-B-jBAGZl.cjs → page-creator-kvymje2i.cjs} +1 -1
- package/dist/{page-lock-CmQKpw1U.js → page-lock-BpUGSiCT.js} +2 -2
- package/dist/{page-lock-BrVqfmVm.cjs → page-lock-gOE-Tt7g.cjs} +1 -1
- package/dist/{page-locked-dialog-BjeJOXuN.js → page-locked-dialog-UQeYxWz1.js} +2 -2
- package/dist/{page-locked-dialog-ChHVSk7X.cjs → page-locked-dialog-aJFtoEzq.cjs} +1 -1
- package/dist/{page-manager-new-B90zLpRY.cjs → page-manager-new-DBomYOFT.cjs} +1 -1
- package/dist/{page-manager-new-wcsdorbd.js → page-manager-new-Dg02OZtc.js} +22 -22
- package/dist/{page-manager-search-and-filter-DY_NsetM.js → page-manager-search-and-filter-CCTh5gkC.js} +2 -2
- package/dist/{page-manager-search-and-filter-Bb_Zfpsj.cjs → page-manager-search-and-filter-pWHXOgMJ.cjs} +1 -1
- package/dist/{page-revisions-content-CVpi-467.cjs → page-revisions-content-BDY8RXJW.cjs} +1 -1
- package/dist/{page-revisions-content-5h39VYXj.js → page-revisions-content-C6YjUAx9.js} +7 -7
- package/dist/pages.cjs +1 -1
- package/dist/pages.d.ts +1 -0
- package/dist/pages.js +12 -12
- package/dist/plugin-DH3BDqys.js +251 -0
- package/dist/{plugin-BGlQf0iy.cjs → plugin-DO5QAuc1.cjs} +13 -13
- package/dist/{publish-pages-content-rrfvXks4.js → publish-pages-content-8MQN9iLc.js} +17 -17
- package/dist/{publish-pages-content-BG1GIuIz.cjs → publish-pages-content-DjUd9oWi.cjs} +1 -1
- package/dist/render.cjs +1 -1
- package/dist/render.d.ts +4 -1
- package/dist/render.js +2 -2
- package/dist/{rte-widget-modal-29WtCMJs.js → rte-widget-modal-Bj7lxFEs.js} +1 -1
- package/dist/{rte-widget-modal-JRoPPuju.cjs → rte-widget-modal-O31cHitM.cjs} +1 -1
- package/dist/{save-to-lib-Bm7R2K7j.js → save-to-lib-BMlowHNl.js} +2 -2
- package/dist/{save-to-lib-YvzDV5ee.cjs → save-to-lib-vxpiXsok.cjs} +1 -1
- package/dist/sdk.css +1 -1
- package/dist/{selected-block-display-bdClAekS.cjs → selected-block-display-BjhZTfSL.cjs} +1 -1
- package/dist/{selected-block-display-BAulh0Nz.js → selected-block-display-BxHTDLna.js} +2 -2
- package/dist/{seo-panel-CT0D3I44.js → seo-panel-197ULlty.js} +2 -2
- package/dist/{seo-panel-D9wnaLG-.cjs → seo-panel-MrGhioya.cjs} +1 -1
- package/dist/{shared-json-ld-ON6LaybZ.cjs → shared-json-ld-6ovlKZ7L.cjs} +1 -1
- package/dist/{shared-json-ld-CuhqVL8H.js → shared-json-ld-B2kfIim8.js} +24 -24
- package/dist/{slug-input-DNeh6LBv.js → slug-input-CSqTWSv8.js} +1 -1
- package/dist/{slug-input-CxmcQbTR.cjs → slug-input-CV-Dvosn.cjs} +1 -1
- package/dist/supabase-actions.cjs +1 -1
- package/dist/supabase-actions.d.ts +34 -0
- package/dist/supabase-actions.js +231 -192
- package/dist/{take-over-request-CrILj_3q.cjs → take-over-request-BFZbLBOK.cjs} +1 -1
- package/dist/{take-over-request-BmeR6t3b.js → take-over-request-Ds_-1dOv.js} +2 -2
- package/dist/{theme-panel-footer-D4oCAY2G.js → theme-panel-footer-C1f2KMBq.js} +2 -2
- package/dist/{theme-panel-footer-BMx5lGB4.cjs → theme-panel-footer-dHh8VGgj.cjs} +1 -1
- package/dist/{translation-warning-modal-BNG9m-FC.js → translation-warning-modal-DPdVK3CD.js} +1 -1
- package/dist/{translation-warning-modal-ChL7oDO1.cjs → translation-warning-modal-HD8Mlj1e.cjs} +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/{unmark-as-template-BYiyJloZ.cjs → unmark-as-template-D8wEsu9z.cjs} +1 -1
- package/dist/{unmark-as-template-CEEMIY1A.js → unmark-as-template-DLVNotM_.js} +2 -2
- package/dist/{unpublish-page-B0aY1JnO.cjs → unpublish-page-Cl2R_dfN.cjs} +1 -1
- package/dist/{unpublish-page-Bm20P3TB.js → unpublish-page-ik9a66Rz.js} +2 -2
- package/dist/utils.cjs +1 -1
- package/dist/utils.js +1 -1
- package/dist/web-blocks.cjs +1 -1
- package/dist/web-blocks.js +23 -22
- package/dist/{web-preview-iQgiotU6.cjs → web-preview-CE39XTw0.cjs} +1 -1
- package/dist/{web-preview-BtEn4Vc-.js → web-preview-ztlGD_Xm.js} +1 -1
- package/package.json +1 -1
- package/dist/index-BJVYKKJq.cjs +0 -5
- package/dist/plugin-C-ht41UZ.js +0 -245
package/dist/supabase-actions.js
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
var
|
|
2
|
-
var F = (
|
|
3
|
-
var y = (
|
|
4
|
-
import { g as T, C as
|
|
5
|
-
import { isEmpty as
|
|
6
|
-
import
|
|
7
|
-
import { z as
|
|
1
|
+
var P = Object.defineProperty;
|
|
2
|
+
var F = (u, t, e) => t in u ? P(u, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : u[t] = e;
|
|
3
|
+
var y = (u, t, e) => F(u, typeof t != "symbol" ? t + "" : t, e);
|
|
4
|
+
import { g as T, C as g, A as k } from "./actions-registery-C5OhILNI.js";
|
|
5
|
+
import { isEmpty as C, kebabCase as _, set as b } from "lodash-es";
|
|
6
|
+
import f from "sharp";
|
|
7
|
+
import { z as i } from "zod";
|
|
8
8
|
class A {
|
|
9
|
-
constructor(
|
|
10
|
-
this.appId =
|
|
9
|
+
constructor(t, e, r) {
|
|
10
|
+
this.appId = t, this.userId = e, this.supabase = r;
|
|
11
11
|
}
|
|
12
|
-
appendUpdatedAtToUrl(
|
|
13
|
-
if (
|
|
12
|
+
appendUpdatedAtToUrl(t, e) {
|
|
13
|
+
if (C(t))
|
|
14
14
|
return "";
|
|
15
|
-
const
|
|
16
|
-
return
|
|
15
|
+
const r = new URL(t), o = new Date(e).getTime();
|
|
16
|
+
return r.searchParams.set("t", o.toString()), `${r.origin}${r.pathname}${r.search}${r.hash}`;
|
|
17
17
|
}
|
|
18
|
-
getBufferFromBase64(
|
|
18
|
+
getBufferFromBase64(t) {
|
|
19
19
|
try {
|
|
20
|
-
const e =
|
|
20
|
+
const e = t.split(",")[1] || t;
|
|
21
21
|
return Buffer.from(e, "base64");
|
|
22
22
|
} catch {
|
|
23
23
|
throw new Error("Invalid base64 string format");
|
|
@@ -27,24 +27,24 @@ class A {
|
|
|
27
27
|
* Upload an image file using UPLOAD_TO_STORAGE action
|
|
28
28
|
* Processes, optimizes, and creates thumbnails
|
|
29
29
|
*/
|
|
30
|
-
async uploadImageFile(
|
|
30
|
+
async uploadImageFile(t, e, r, o) {
|
|
31
31
|
try {
|
|
32
|
-
const s = this.getBufferFromBase64(
|
|
33
|
-
if (!n.format || !
|
|
32
|
+
const s = this.getBufferFromBase64(t), n = await f(s).metadata(), c = ["jpeg", "jpg", "png", "webp", "gif", "svg", "tiff"];
|
|
33
|
+
if (!n.format || !c.includes(n.format.toLowerCase()))
|
|
34
34
|
throw new Error(`Invalid image format: ${n.format || "unknown"}`);
|
|
35
|
-
const
|
|
36
|
-
let a =
|
|
37
|
-
if (o &&
|
|
38
|
-
const O = Math.floor(90 * (122880 /
|
|
39
|
-
a = await
|
|
35
|
+
const d = o ? await f(s).webp({ quality: 100 }).resize({ width: Math.min(n.width || 2e3, 2e3) }).toBuffer() : await f(s).webp({ quality: 100 }).toBuffer();
|
|
36
|
+
let a = d;
|
|
37
|
+
if (o && d.length > 120 * 1024) {
|
|
38
|
+
const O = Math.floor(90 * (122880 / d.length));
|
|
39
|
+
a = await f(s).webp({ quality: O }).resize({ width: Math.min(n.width || 2e3, 2e3) }).toBuffer();
|
|
40
40
|
}
|
|
41
|
-
const
|
|
41
|
+
const l = await f(a).metadata(), m = await f(s).webp({ quality: 70 }).resize({ width: 300 }).toBuffer(), p = r.split("."), h = p.length > 1 ? p.slice(0, -1).join(".") : r, w = `${_(h)}.webp`, D = `${w}_thumbnail.webp`, I = this.appId, x = e ? `${I}/${e}` : I, U = T("UPLOAD_TO_STORAGE");
|
|
42
42
|
if (!U)
|
|
43
43
|
throw new Error("UPLOAD_TO_STORAGE action not found");
|
|
44
44
|
U.setContext({ appId: this.appId, userId: this.userId });
|
|
45
45
|
const S = await U.execute({
|
|
46
46
|
file: a.toString("base64"),
|
|
47
|
-
fileName:
|
|
47
|
+
fileName: w,
|
|
48
48
|
contentType: "image/webp",
|
|
49
49
|
folder: x
|
|
50
50
|
});
|
|
@@ -52,7 +52,7 @@ class A {
|
|
|
52
52
|
throw new Error(S.error);
|
|
53
53
|
const E = await U.execute({
|
|
54
54
|
file: m.toString("base64"),
|
|
55
|
-
fileName:
|
|
55
|
+
fileName: D,
|
|
56
56
|
contentType: "image/webp",
|
|
57
57
|
folder: x
|
|
58
58
|
});
|
|
@@ -61,9 +61,9 @@ class A {
|
|
|
61
61
|
return {
|
|
62
62
|
url: S.data.url,
|
|
63
63
|
thumbnailUrl: E.data.url,
|
|
64
|
-
size:
|
|
65
|
-
width:
|
|
66
|
-
height:
|
|
64
|
+
size: l.size || a.length,
|
|
65
|
+
width: l.width || 0,
|
|
66
|
+
height: l.height || 0,
|
|
67
67
|
mimeType: "image/webp"
|
|
68
68
|
};
|
|
69
69
|
} catch (s) {
|
|
@@ -73,16 +73,16 @@ class A {
|
|
|
73
73
|
/**
|
|
74
74
|
* Upload an SVG file using UPLOAD_TO_STORAGE action
|
|
75
75
|
*/
|
|
76
|
-
async uploadSvgFile(
|
|
76
|
+
async uploadSvgFile(t, e, r) {
|
|
77
77
|
try {
|
|
78
|
-
const o = this.getBufferFromBase64(
|
|
78
|
+
const o = this.getBufferFromBase64(t);
|
|
79
79
|
let s, n;
|
|
80
80
|
try {
|
|
81
|
-
const
|
|
82
|
-
s =
|
|
81
|
+
const w = await f(o).metadata();
|
|
82
|
+
s = w.width, n = w.height;
|
|
83
83
|
} catch {
|
|
84
84
|
}
|
|
85
|
-
const
|
|
85
|
+
const c = r.split("."), d = c.length > 1 ? c.slice(0, -1).join(".") : r, a = `${_(d)}.svg`, l = this.appId, m = e ? `${l}/${e}` : l, p = T("UPLOAD_TO_STORAGE");
|
|
86
86
|
if (!p)
|
|
87
87
|
throw new Error("UPLOAD_TO_STORAGE action not found");
|
|
88
88
|
p.setContext({ appId: this.appId, userId: this.userId });
|
|
@@ -107,32 +107,32 @@ class A {
|
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
109
|
async upload({
|
|
110
|
-
file:
|
|
110
|
+
file: t,
|
|
111
111
|
folderId: e,
|
|
112
|
-
name:
|
|
112
|
+
name: r,
|
|
113
113
|
optimize: o = !0
|
|
114
114
|
}) {
|
|
115
115
|
var s;
|
|
116
116
|
try {
|
|
117
|
-
const
|
|
118
|
-
if ("error" in
|
|
119
|
-
return
|
|
120
|
-
const
|
|
121
|
-
name:
|
|
117
|
+
const c = r.toLowerCase().endsWith(".svg") || t.includes("data:image/svg+xml") ? await this.uploadSvgFile(t, e, r) : await this.uploadImageFile(t, e, r, o ?? !0);
|
|
118
|
+
if ("error" in c)
|
|
119
|
+
return c;
|
|
120
|
+
const d = {
|
|
121
|
+
name: r,
|
|
122
122
|
app: this.appId,
|
|
123
|
-
url:
|
|
124
|
-
thumbnailUrl:
|
|
125
|
-
size: (s =
|
|
126
|
-
width:
|
|
127
|
-
height:
|
|
128
|
-
format:
|
|
123
|
+
url: c.url,
|
|
124
|
+
thumbnailUrl: c.thumbnailUrl,
|
|
125
|
+
size: (s = c.size) == null ? void 0 : s.toString(),
|
|
126
|
+
width: c.width,
|
|
127
|
+
height: c.height,
|
|
128
|
+
format: c.mimeType.split("/")[1],
|
|
129
129
|
folderId: e,
|
|
130
|
-
type:
|
|
130
|
+
type: c.mimeType.startsWith("image/") ? "image" : "file",
|
|
131
131
|
createdBy: this.userId,
|
|
132
132
|
updatedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
133
|
-
}, { data: a, error:
|
|
134
|
-
if (
|
|
135
|
-
throw new Error(`Failed to store asset in database: ${
|
|
133
|
+
}, { data: a, error: l } = await this.supabase.from("app_assets").insert(d).select("*").single();
|
|
134
|
+
if (l)
|
|
135
|
+
throw new Error(`Failed to store asset in database: ${l.message}`);
|
|
136
136
|
return {
|
|
137
137
|
id: a.id,
|
|
138
138
|
name: a.name,
|
|
@@ -152,49 +152,49 @@ class A {
|
|
|
152
152
|
return { error: n instanceof Error ? n.message : "Unknown error occurred" };
|
|
153
153
|
}
|
|
154
154
|
}
|
|
155
|
-
async getAsset({ id:
|
|
155
|
+
async getAsset({ id: t }) {
|
|
156
156
|
try {
|
|
157
|
-
const { data: e, error:
|
|
158
|
-
if (
|
|
159
|
-
throw new Error(`Failed to fetch asset: ${
|
|
157
|
+
const { data: e, error: r } = await this.supabase.from("app_assets").select("*").eq("id", t).eq("app", this.appId).single();
|
|
158
|
+
if (r)
|
|
159
|
+
throw new Error(`Failed to fetch asset: ${r.message}`);
|
|
160
160
|
return b(e, "url", this.appendUpdatedAtToUrl(e.url, e.updatedAt)), b(e, "thumbnailUrl", this.appendUpdatedAtToUrl(e.thumbnailUrl || "", e.updatedAt)), e;
|
|
161
161
|
} catch (e) {
|
|
162
162
|
return { error: e instanceof Error ? e.message : "Unknown error occurred" };
|
|
163
163
|
}
|
|
164
164
|
}
|
|
165
165
|
async getAssets({
|
|
166
|
-
search:
|
|
166
|
+
search: t = "",
|
|
167
167
|
page: e = 1,
|
|
168
|
-
limit:
|
|
168
|
+
limit: r = 20
|
|
169
169
|
} = {}) {
|
|
170
170
|
try {
|
|
171
|
-
const o = (e - 1) *
|
|
171
|
+
const o = (e - 1) * r;
|
|
172
172
|
let s = this.supabase.from("app_assets").select("*", { count: "exact" }).eq("app", this.appId).order("updatedAt", { ascending: !1 });
|
|
173
|
-
|
|
174
|
-
const { data: n, error:
|
|
175
|
-
if (
|
|
176
|
-
throw new Error(
|
|
173
|
+
t && (s = s.or(`name.ilike.%${t}%,description.ilike.%${t}%`));
|
|
174
|
+
const { data: n, error: c, count: d } = await s.range(o, o + r - 1);
|
|
175
|
+
if (c)
|
|
176
|
+
throw new Error(c.message);
|
|
177
177
|
return {
|
|
178
|
-
assets: n.map((
|
|
179
|
-
total:
|
|
178
|
+
assets: n.map((l) => (b(l, "url", this.appendUpdatedAtToUrl(l.url, l.updatedAt)), b(l, "thsupabaseumbnailUrl", this.appendUpdatedAtToUrl(l.thumbnailUrl || "", l.updatedAt)), l)),
|
|
179
|
+
total: d || 0,
|
|
180
180
|
page: e,
|
|
181
|
-
pageSize:
|
|
181
|
+
pageSize: r
|
|
182
182
|
};
|
|
183
183
|
} catch (o) {
|
|
184
184
|
throw console.error("Error fetching assets:", o), o;
|
|
185
185
|
}
|
|
186
186
|
}
|
|
187
|
-
async deleteAsset({ id:
|
|
187
|
+
async deleteAsset({ id: t }) {
|
|
188
188
|
try {
|
|
189
|
-
const { data: e, error:
|
|
190
|
-
if (
|
|
191
|
-
throw new Error(`Failed to fetch asset: ${
|
|
189
|
+
const { data: e, error: r } = await this.supabase.from("app_assets").select("*").eq("id", t).eq("app", this.appId).single();
|
|
190
|
+
if (r)
|
|
191
|
+
throw new Error(`Failed to fetch asset: ${r.message}`);
|
|
192
192
|
if (e.url)
|
|
193
193
|
try {
|
|
194
|
-
const n = new URL(e.url).pathname.split("/"),
|
|
195
|
-
if (
|
|
196
|
-
const
|
|
197
|
-
if (a && (a.setContext({ appId: this.appId, userId: this.userId }), await a.execute({ key:
|
|
194
|
+
const n = new URL(e.url).pathname.split("/"), c = n.indexOf("dam-assets");
|
|
195
|
+
if (c !== -1) {
|
|
196
|
+
const d = n.slice(c + 1).join("/"), a = T("DELETE_FROM_STORAGE");
|
|
197
|
+
if (a && (a.setContext({ appId: this.appId, userId: this.userId }), await a.execute({ key: d })), e.thumbnailUrl && e.thumbnailUrl !== e.url) {
|
|
198
198
|
const m = new URL(e.thumbnailUrl).pathname.split("/"), p = m.indexOf("dam-assets");
|
|
199
199
|
if (p !== -1) {
|
|
200
200
|
const h = m.slice(p + 1).join("/");
|
|
@@ -205,7 +205,7 @@ class A {
|
|
|
205
205
|
} catch (s) {
|
|
206
206
|
console.warn("Failed to delete from storage, continuing with database deletion:", s);
|
|
207
207
|
}
|
|
208
|
-
const { error: o } = await this.supabase.from("app_assets").delete().eq("id",
|
|
208
|
+
const { error: o } = await this.supabase.from("app_assets").delete().eq("id", t);
|
|
209
209
|
if (o)
|
|
210
210
|
throw new Error(`Failed to delete asset: ${o.message}`);
|
|
211
211
|
return { success: !0 };
|
|
@@ -214,25 +214,25 @@ class A {
|
|
|
214
214
|
}
|
|
215
215
|
}
|
|
216
216
|
async updateAsset({
|
|
217
|
-
id:
|
|
217
|
+
id: t,
|
|
218
218
|
file: e,
|
|
219
|
-
description:
|
|
219
|
+
description: r
|
|
220
220
|
}) {
|
|
221
221
|
var o, s;
|
|
222
222
|
try {
|
|
223
|
-
const { data: n, error:
|
|
224
|
-
if (
|
|
225
|
-
throw new Error(`Failed to fetch asset: ${
|
|
226
|
-
const
|
|
227
|
-
if (
|
|
223
|
+
const { data: n, error: c } = await this.supabase.from("app_assets").select("*").eq("id", t).single();
|
|
224
|
+
if (c)
|
|
225
|
+
throw new Error(`Failed to fetch asset: ${c.message}`);
|
|
226
|
+
const d = {};
|
|
227
|
+
if (r !== void 0 && (d.description = r, d.updatedAt = (/* @__PURE__ */ new Date()).toISOString()), e) {
|
|
228
228
|
const p = ((o = n.format) == null ? void 0 : o.toLowerCase()) === "svg" || e.includes("data:image/svg+xml") ? await this.uploadSvgFile(e, n.folderId, n.name) : await this.uploadImageFile(e, n.folderId, n.name, !0);
|
|
229
229
|
if ("error" in p)
|
|
230
230
|
return p;
|
|
231
|
-
|
|
231
|
+
d.url = p.url, d.thumbnailUrl = p.thumbnailUrl, d.size = (s = p.size) == null ? void 0 : s.toString(), d.width = p.width, d.height = p.height, d.format = p.mimeType.split("/")[1], d.updatedAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
232
232
|
}
|
|
233
|
-
const { data: a, error:
|
|
234
|
-
if (
|
|
235
|
-
throw new Error(`Failed to update asset: ${
|
|
233
|
+
const { data: a, error: l } = await this.supabase.from("app_assets").update(d).eq("id", t).select().single();
|
|
234
|
+
if (l)
|
|
235
|
+
throw new Error(`Failed to update asset: ${l.message}`);
|
|
236
236
|
return b(a, "url", this.appendUpdatedAtToUrl(a.url, a.updatedAt)), b(
|
|
237
237
|
a,
|
|
238
238
|
"thumbnailUrl",
|
|
@@ -243,148 +243,148 @@ class A {
|
|
|
243
243
|
}
|
|
244
244
|
}
|
|
245
245
|
}
|
|
246
|
-
const
|
|
247
|
-
name:
|
|
248
|
-
file:
|
|
249
|
-
folderId:
|
|
250
|
-
optimize:
|
|
246
|
+
const $ = i.object({
|
|
247
|
+
name: i.string(),
|
|
248
|
+
file: i.string(),
|
|
249
|
+
folderId: i.string().optional().nullable(),
|
|
250
|
+
optimize: i.boolean().optional()
|
|
251
251
|
});
|
|
252
|
-
class
|
|
253
|
-
constructor(
|
|
254
|
-
super(), this.supabase =
|
|
252
|
+
class v extends g {
|
|
253
|
+
constructor(t) {
|
|
254
|
+
super(), this.supabase = t;
|
|
255
255
|
}
|
|
256
256
|
getValidationSchema() {
|
|
257
|
-
return
|
|
257
|
+
return $;
|
|
258
258
|
}
|
|
259
|
-
async execute(
|
|
259
|
+
async execute(t) {
|
|
260
260
|
try {
|
|
261
261
|
if (!this.context)
|
|
262
262
|
return { error: "Context not set", status: 400 };
|
|
263
|
-
const { appId: e, userId:
|
|
264
|
-
if (!
|
|
263
|
+
const { appId: e, userId: r } = this.context;
|
|
264
|
+
if (!r)
|
|
265
265
|
return { error: "User ID is required", status: 401 };
|
|
266
|
-
const s = await new A(e,
|
|
266
|
+
const s = await new A(e, r, this.supabase).upload(t);
|
|
267
267
|
return "error" in s ? { error: s.error, status: 400 } : s;
|
|
268
268
|
} catch (e) {
|
|
269
269
|
return console.error("UPLOAD_ASSET error:", e), { error: e instanceof Error ? e.message : "Unknown error", status: 500 };
|
|
270
270
|
}
|
|
271
271
|
}
|
|
272
272
|
}
|
|
273
|
-
const G =
|
|
274
|
-
id:
|
|
273
|
+
const G = i.object({
|
|
274
|
+
id: i.string()
|
|
275
275
|
});
|
|
276
|
-
class
|
|
277
|
-
constructor(
|
|
278
|
-
super(), this.supabase =
|
|
276
|
+
class L extends g {
|
|
277
|
+
constructor(t) {
|
|
278
|
+
super(), this.supabase = t;
|
|
279
279
|
}
|
|
280
280
|
getValidationSchema() {
|
|
281
281
|
return G;
|
|
282
282
|
}
|
|
283
|
-
async execute(
|
|
283
|
+
async execute(t) {
|
|
284
284
|
try {
|
|
285
285
|
if (!this.context)
|
|
286
286
|
return { error: "Context not set", status: 400 };
|
|
287
|
-
const { appId: e, userId:
|
|
288
|
-
if (!
|
|
287
|
+
const { appId: e, userId: r } = this.context;
|
|
288
|
+
if (!r)
|
|
289
289
|
return { error: "User ID is required", status: 401 };
|
|
290
|
-
const s = await new A(e,
|
|
290
|
+
const s = await new A(e, r, this.supabase).getAsset(t);
|
|
291
291
|
return "error" in s ? { error: s.error, status: 400 } : s;
|
|
292
292
|
} catch (e) {
|
|
293
293
|
return console.error("GET_ASSET error:", e), { error: e instanceof Error ? e.message : "Unknown error", status: 500 };
|
|
294
294
|
}
|
|
295
295
|
}
|
|
296
296
|
}
|
|
297
|
-
const
|
|
298
|
-
search:
|
|
299
|
-
page:
|
|
300
|
-
limit:
|
|
297
|
+
const B = i.object({
|
|
298
|
+
search: i.string().optional(),
|
|
299
|
+
page: i.number().optional(),
|
|
300
|
+
limit: i.number().optional()
|
|
301
301
|
});
|
|
302
|
-
class j extends
|
|
303
|
-
constructor(
|
|
304
|
-
super(), this.supabase =
|
|
302
|
+
class j extends g {
|
|
303
|
+
constructor(t) {
|
|
304
|
+
super(), this.supabase = t;
|
|
305
305
|
}
|
|
306
306
|
getValidationSchema() {
|
|
307
|
-
return
|
|
307
|
+
return B;
|
|
308
308
|
}
|
|
309
|
-
async execute(
|
|
309
|
+
async execute(t) {
|
|
310
310
|
try {
|
|
311
311
|
if (!this.context)
|
|
312
312
|
return { error: "Context not set", status: 400 };
|
|
313
|
-
const { appId: e, userId:
|
|
314
|
-
if (!
|
|
313
|
+
const { appId: e, userId: r } = this.context;
|
|
314
|
+
if (!r)
|
|
315
315
|
return { error: "User ID is required", status: 401 };
|
|
316
|
-
const s = await new A(e,
|
|
316
|
+
const s = await new A(e, r, this.supabase).getAssets(t);
|
|
317
317
|
return "error" in s ? { error: s.error, status: 400 } : s;
|
|
318
318
|
} catch (e) {
|
|
319
319
|
return console.error("GET_ASSETS error:", e), { error: e instanceof Error ? e.message : "Unknown error", status: 500 };
|
|
320
320
|
}
|
|
321
321
|
}
|
|
322
322
|
}
|
|
323
|
-
const
|
|
324
|
-
id:
|
|
323
|
+
const R = i.object({
|
|
324
|
+
id: i.string()
|
|
325
325
|
});
|
|
326
|
-
class
|
|
327
|
-
constructor(
|
|
328
|
-
super(), this.supabase =
|
|
326
|
+
class q extends g {
|
|
327
|
+
constructor(t) {
|
|
328
|
+
super(), this.supabase = t;
|
|
329
329
|
}
|
|
330
330
|
getValidationSchema() {
|
|
331
|
-
return
|
|
331
|
+
return R;
|
|
332
332
|
}
|
|
333
|
-
async execute(
|
|
333
|
+
async execute(t) {
|
|
334
334
|
try {
|
|
335
335
|
if (!this.context)
|
|
336
336
|
return { error: "Context not set", status: 400 };
|
|
337
|
-
const { appId: e, userId:
|
|
338
|
-
if (!
|
|
337
|
+
const { appId: e, userId: r } = this.context;
|
|
338
|
+
if (!r)
|
|
339
339
|
return { error: "User ID is required", status: 401 };
|
|
340
|
-
const s = await new A(e,
|
|
340
|
+
const s = await new A(e, r, this.supabase).deleteAsset(t);
|
|
341
341
|
return "error" in s ? { error: s.error, status: 400 } : s;
|
|
342
342
|
} catch (e) {
|
|
343
343
|
return console.error("DELETE_ASSET error:", e), { error: e instanceof Error ? e.message : "Unknown error", status: 500 };
|
|
344
344
|
}
|
|
345
345
|
}
|
|
346
346
|
}
|
|
347
|
-
const
|
|
348
|
-
id:
|
|
349
|
-
file:
|
|
350
|
-
description:
|
|
347
|
+
const z = i.object({
|
|
348
|
+
id: i.string(),
|
|
349
|
+
file: i.string().optional(),
|
|
350
|
+
description: i.string().optional()
|
|
351
351
|
});
|
|
352
|
-
class
|
|
353
|
-
constructor(
|
|
354
|
-
super(), this.supabase =
|
|
352
|
+
class N extends g {
|
|
353
|
+
constructor(t) {
|
|
354
|
+
super(), this.supabase = t;
|
|
355
355
|
}
|
|
356
356
|
getValidationSchema() {
|
|
357
|
-
return
|
|
357
|
+
return z;
|
|
358
358
|
}
|
|
359
|
-
async execute(
|
|
359
|
+
async execute(t) {
|
|
360
360
|
try {
|
|
361
361
|
if (!this.context)
|
|
362
362
|
return { error: "Context not set", status: 400 };
|
|
363
|
-
const { appId: e, userId:
|
|
364
|
-
if (!
|
|
363
|
+
const { appId: e, userId: r } = this.context;
|
|
364
|
+
if (!r)
|
|
365
365
|
return { error: "User ID is required", status: 401 };
|
|
366
|
-
const s = await new A(e,
|
|
366
|
+
const s = await new A(e, r, this.supabase).updateAsset(t);
|
|
367
367
|
return "error" in s ? { error: s.error, status: 400 } : s;
|
|
368
368
|
} catch (e) {
|
|
369
369
|
return console.error("UPDATE_ASSET error:", e), { error: e instanceof Error ? e.message : "Unknown error", status: 500 };
|
|
370
370
|
}
|
|
371
371
|
}
|
|
372
372
|
}
|
|
373
|
-
const M =
|
|
374
|
-
userId:
|
|
373
|
+
const M = i.object({
|
|
374
|
+
userId: i.string()
|
|
375
375
|
});
|
|
376
|
-
class
|
|
377
|
-
constructor(
|
|
378
|
-
super(), this.supabase =
|
|
376
|
+
class V extends g {
|
|
377
|
+
constructor(t) {
|
|
378
|
+
super(), this.supabase = t;
|
|
379
379
|
}
|
|
380
380
|
getValidationSchema() {
|
|
381
381
|
return M;
|
|
382
382
|
}
|
|
383
|
-
async execute(
|
|
384
|
-
var e,
|
|
383
|
+
async execute(t) {
|
|
384
|
+
var e, r, o, s, n, c;
|
|
385
385
|
try {
|
|
386
|
-
const { userId:
|
|
387
|
-
return
|
|
386
|
+
const { userId: d } = t, { data: a, error: l } = await this.supabase.auth.admin.getUserById(d);
|
|
387
|
+
return l ? {
|
|
388
388
|
data: {
|
|
389
389
|
id: "unknown",
|
|
390
390
|
email: "unknown@chaibuilder.com",
|
|
@@ -395,9 +395,9 @@ class N extends f {
|
|
|
395
395
|
} : {
|
|
396
396
|
data: {
|
|
397
397
|
id: ((e = a.user) == null ? void 0 : e.id) || "unknown",
|
|
398
|
-
email: ((
|
|
398
|
+
email: ((r = a.user) == null ? void 0 : r.email) || "unknown@chaibuilder.com",
|
|
399
399
|
name: ((s = (o = a.user) == null ? void 0 : o.user_metadata) == null ? void 0 : s.name) || "Unknown",
|
|
400
|
-
avatar: ((
|
|
400
|
+
avatar: ((c = (n = a.user) == null ? void 0 : n.user_metadata) == null ? void 0 : c.avatar_url) || ""
|
|
401
401
|
},
|
|
402
402
|
status: 200
|
|
403
403
|
};
|
|
@@ -414,22 +414,60 @@ class N extends f {
|
|
|
414
414
|
}
|
|
415
415
|
}
|
|
416
416
|
}
|
|
417
|
-
const
|
|
418
|
-
|
|
417
|
+
const W = i.object({
|
|
418
|
+
email: i.string().email(),
|
|
419
|
+
oldPassword: i.string().min(1, "Old password is required"),
|
|
420
|
+
newPassword: i.string().min(8, "New password must be at least 8 characters"),
|
|
421
|
+
confirmPassword: i.string().min(1, "Confirm password is required")
|
|
422
|
+
}).refine((u) => u.newPassword === u.confirmPassword, {
|
|
423
|
+
message: "Confirm password does not match",
|
|
424
|
+
path: ["confirmPassword"]
|
|
425
|
+
});
|
|
426
|
+
class H extends g {
|
|
427
|
+
constructor(t) {
|
|
428
|
+
super(), this.supabase = t;
|
|
429
|
+
}
|
|
430
|
+
getValidationSchema() {
|
|
431
|
+
return W;
|
|
432
|
+
}
|
|
433
|
+
async execute(t) {
|
|
434
|
+
try {
|
|
435
|
+
const { email: e, oldPassword: r, newPassword: o } = t, { error: s } = await this.supabase.auth.signInWithPassword({
|
|
436
|
+
email: e,
|
|
437
|
+
password: r
|
|
438
|
+
});
|
|
439
|
+
if (s)
|
|
440
|
+
throw new k("Current password is incorrect", "INVALID_PASSWORD", 400);
|
|
441
|
+
const { error: n } = await this.supabase.auth.updateUser({
|
|
442
|
+
password: o
|
|
443
|
+
});
|
|
444
|
+
if (n)
|
|
445
|
+
throw new k(n.message || "Failed to update password", "UPDATE_FAILED", 400);
|
|
446
|
+
return {
|
|
447
|
+
data: { message: "Password changed successfully" },
|
|
448
|
+
status: 200
|
|
449
|
+
};
|
|
450
|
+
} catch (e) {
|
|
451
|
+
throw e;
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
const K = i.object({
|
|
456
|
+
key: i.string()
|
|
419
457
|
// Storage key/path to delete
|
|
420
458
|
});
|
|
421
|
-
class
|
|
459
|
+
class Q extends g {
|
|
422
460
|
constructor(e) {
|
|
423
461
|
super();
|
|
424
462
|
y(this, "bucketName", "dam-assets");
|
|
425
463
|
this.supabase = e;
|
|
426
464
|
}
|
|
427
465
|
getValidationSchema() {
|
|
428
|
-
return
|
|
466
|
+
return K;
|
|
429
467
|
}
|
|
430
468
|
async execute(e) {
|
|
431
469
|
try {
|
|
432
|
-
const { key:
|
|
470
|
+
const { key: r } = e, { error: o } = await this.supabase.storage.from(this.bucketName).remove([r]);
|
|
433
471
|
return o ? {
|
|
434
472
|
error: `Failed to delete from Supabase Storage: ${o.message}`,
|
|
435
473
|
status: 500
|
|
@@ -437,46 +475,46 @@ class W extends f {
|
|
|
437
475
|
data: { success: !0 },
|
|
438
476
|
status: 200
|
|
439
477
|
};
|
|
440
|
-
} catch (
|
|
441
|
-
return console.error("DELETE_FROM_STORAGE error:",
|
|
442
|
-
error:
|
|
478
|
+
} catch (r) {
|
|
479
|
+
return console.error("DELETE_FROM_STORAGE error:", r), {
|
|
480
|
+
error: r instanceof Error ? r.message : "Unknown error",
|
|
443
481
|
status: 500
|
|
444
482
|
};
|
|
445
483
|
}
|
|
446
484
|
}
|
|
447
485
|
}
|
|
448
|
-
const
|
|
449
|
-
file:
|
|
486
|
+
const J = i.object({
|
|
487
|
+
file: i.string(),
|
|
450
488
|
// Base64 string
|
|
451
|
-
fileName:
|
|
452
|
-
contentType:
|
|
453
|
-
folder:
|
|
454
|
-
metadata:
|
|
489
|
+
fileName: i.string(),
|
|
490
|
+
contentType: i.string().optional(),
|
|
491
|
+
folder: i.string().optional(),
|
|
492
|
+
metadata: i.record(i.string(), i.any()).optional()
|
|
455
493
|
});
|
|
456
|
-
class
|
|
494
|
+
class X extends g {
|
|
457
495
|
constructor(e) {
|
|
458
496
|
super();
|
|
459
497
|
y(this, "bucketName", "dam-assets");
|
|
460
498
|
this.supabase = e;
|
|
461
499
|
}
|
|
462
500
|
getValidationSchema() {
|
|
463
|
-
return
|
|
501
|
+
return J;
|
|
464
502
|
}
|
|
465
503
|
async execute(e) {
|
|
466
504
|
try {
|
|
467
505
|
if (!this.context)
|
|
468
506
|
return { error: "Context not set", status: 400 };
|
|
469
|
-
const { appId:
|
|
507
|
+
const { appId: r } = this.context, { file: o, fileName: s, contentType: n, folder: c, metadata: d } = e;
|
|
470
508
|
let a;
|
|
471
509
|
if (typeof o == "string") {
|
|
472
|
-
const
|
|
473
|
-
a = Buffer.from(
|
|
510
|
+
const w = o.split(",")[1] || o;
|
|
511
|
+
a = Buffer.from(w, "base64");
|
|
474
512
|
} else
|
|
475
513
|
a = o;
|
|
476
|
-
const
|
|
514
|
+
const l = c ? `${c}/${s}` : `${r}/${s}`, { data: m, error: p } = await this.supabase.storage.from(this.bucketName).upload(l, a, {
|
|
477
515
|
contentType: n || "application/octet-stream",
|
|
478
516
|
upsert: !0,
|
|
479
|
-
...
|
|
517
|
+
...d && { metadata: d }
|
|
480
518
|
});
|
|
481
519
|
if (p)
|
|
482
520
|
return {
|
|
@@ -485,40 +523,41 @@ class K extends f {
|
|
|
485
523
|
};
|
|
486
524
|
const {
|
|
487
525
|
data: { publicUrl: h }
|
|
488
|
-
} = this.supabase.storage.from(this.bucketName).getPublicUrl(
|
|
526
|
+
} = this.supabase.storage.from(this.bucketName).getPublicUrl(l);
|
|
489
527
|
return {
|
|
490
528
|
data: {
|
|
491
529
|
url: h,
|
|
492
530
|
key: m.path,
|
|
493
531
|
size: a.length,
|
|
494
|
-
metadata:
|
|
532
|
+
metadata: d
|
|
495
533
|
},
|
|
496
534
|
status: 200
|
|
497
535
|
};
|
|
498
|
-
} catch (
|
|
499
|
-
return console.error("UPLOAD_TO_STORAGE error:",
|
|
500
|
-
error:
|
|
536
|
+
} catch (r) {
|
|
537
|
+
return console.error("UPLOAD_TO_STORAGE error:", r), {
|
|
538
|
+
error: r instanceof Error ? r.message : "Unknown error",
|
|
501
539
|
status: 500
|
|
502
540
|
};
|
|
503
541
|
}
|
|
504
542
|
}
|
|
505
543
|
}
|
|
506
|
-
const
|
|
507
|
-
GET_CHAI_USER: new
|
|
508
|
-
|
|
544
|
+
const se = (u) => ({
|
|
545
|
+
GET_CHAI_USER: new V(u),
|
|
546
|
+
CHANGE_PASSWORD: new H(u)
|
|
547
|
+
}), ae = (u) => ({
|
|
509
548
|
// Asset management actions
|
|
510
|
-
UPLOAD_ASSET: new
|
|
511
|
-
GET_ASSET: new
|
|
512
|
-
GET_ASSETS: new j(
|
|
513
|
-
DELETE_ASSET: new
|
|
514
|
-
UPDATE_ASSET: new
|
|
549
|
+
UPLOAD_ASSET: new v(u),
|
|
550
|
+
GET_ASSET: new L(u),
|
|
551
|
+
GET_ASSETS: new j(u),
|
|
552
|
+
DELETE_ASSET: new q(u),
|
|
553
|
+
UPDATE_ASSET: new N(u),
|
|
515
554
|
// Generic storage actions
|
|
516
|
-
UPLOAD_TO_STORAGE: new
|
|
517
|
-
DELETE_FROM_STORAGE: new
|
|
555
|
+
UPLOAD_TO_STORAGE: new X(u),
|
|
556
|
+
DELETE_FROM_STORAGE: new Q(u)
|
|
518
557
|
});
|
|
519
558
|
export {
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
559
|
+
Q as DeleteFromStorageAction,
|
|
560
|
+
se as SupabaseAuthActions,
|
|
561
|
+
ae as SupabaseStorageActions,
|
|
562
|
+
X as UploadToStorageAction
|
|
524
563
|
};
|