@baasix/baasix 0.1.62 → 0.1.64
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/app/404/index.html +1 -1
- package/dist/app/404.html +1 -1
- package/dist/app/_next/static/chunks/2667-7993936698bf75a9.js +1 -0
- package/dist/app/_next/static/chunks/3233-ae028c73c510ebea.js +1 -0
- package/dist/app/_next/static/chunks/4033-ea89dd457b87cead.js +1 -0
- package/dist/app/_next/static/chunks/799-d4372ad380b0dec6.js +1 -0
- package/dist/app/_next/static/chunks/app/(authenticated)/activity-log/all-activity/{page-a7e9f0b39624b489.js → page-8e1f084e807ff5ee.js} +1 -1
- package/dist/app/_next/static/chunks/app/(authenticated)/activity-log/email-log/{page-40f2b9ecf73e74b5.js → page-4e08df2865fe9d0f.js} +1 -1
- package/dist/app/_next/static/chunks/app/(authenticated)/activity-log/notifications/{page-21fcdd2f0b3549db.js → page-3a5070a5088835ae.js} +1 -1
- package/dist/app/_next/static/chunks/app/(authenticated)/activity-log/sessions/{page-82662735f1ec476a.js → page-edfa379cab0d3ccb.js} +1 -1
- package/dist/app/_next/static/chunks/app/(authenticated)/activity-log/workflow-executions/{page-4a781c95e5fb25f0.js → page-d007890f17b60862.js} +1 -1
- package/dist/app/_next/static/chunks/app/(authenticated)/activity-log/workflow-logs/{page-70bf8d31074dcba0.js → page-976e9829706ac8f2.js} +1 -1
- package/dist/app/_next/static/chunks/app/(authenticated)/dashboard/page-9f47da86e0599eae.js +1 -0
- package/dist/app/_next/static/chunks/app/(authenticated)/data-browser/{page-d5715b9743d8dba4.js → page-fbb7a4d4f2a4353d.js} +1 -1
- package/dist/app/_next/static/chunks/app/(authenticated)/file-manager/{page-c008de2bcf6811b9.js → page-cea6a2c1670d4ef5.js} +1 -1
- package/dist/app/_next/static/chunks/app/(authenticated)/layout-b7f18737e4c308a4.js +1 -0
- package/dist/app/_next/static/chunks/app/(authenticated)/settings/migrations/page-505c3389890685b9.js +1 -0
- package/dist/app/_next/static/chunks/app/(authenticated)/settings/permissions/{page-2d3043500adcdb12.js → page-ed80f4bd5d81df95.js} +1 -1
- package/dist/app/_next/static/chunks/app/(authenticated)/settings/project/{page-6a58f15efb013e17.js → page-310b8ce72d0516ea.js} +1 -1
- package/dist/app/_next/static/chunks/app/(authenticated)/settings/roles/{page-00cf3e4483986407.js → page-fd62dc19ac88dd64.js} +1 -1
- package/dist/app/_next/static/chunks/app/(authenticated)/settings/schema/page-3d91124704c2e853.js +1 -0
- package/dist/app/_next/static/chunks/app/(authenticated)/settings/schema-diff/page-cae8772a7ae93b9a.js +1 -0
- package/dist/app/_next/static/chunks/app/(authenticated)/settings/tasks/{page-fa3c401992a2fb8f.js → page-1479604bbfc53a83.js} +1 -1
- package/dist/app/_next/static/chunks/app/(authenticated)/settings/templates/edit/{page-4ce715d527c717a8.js → page-a611195661ce22bd.js} +1 -1
- package/dist/app/_next/static/chunks/app/(authenticated)/settings/templates/{page-aafbfd4f12875738.js → page-6787b62a4960304f.js} +1 -1
- package/dist/app/_next/static/chunks/app/(authenticated)/settings/tenants/{page-f34d97ce6f68183b.js → page-856d4af5fbd76c8e.js} +1 -1
- package/dist/app/_next/static/chunks/app/(authenticated)/users/invites/{page-20dd05a8745b6283.js → page-ed5493d55f6c1db8.js} +1 -1
- package/dist/app/_next/static/chunks/app/(authenticated)/users/list/{page-479a164304f4de3f.js → page-02e6ef533bdc3bbc.js} +1 -1
- package/dist/app/_next/static/chunks/app/(authenticated)/users/{page-909d7be1b8d9800c.js → page-faf321b61a6fdeef.js} +1 -1
- package/dist/app/_next/static/chunks/app/(authenticated)/users/preferences/{page-e3fbcc425e1710e5.js → page-2116015e962a2ecc.js} +1 -1
- package/dist/app/_next/static/chunks/app/(authenticated)/users/user-roles/{page-3f654c69d79269f7.js → page-7d1bcbbfc8f0694b.js} +1 -1
- package/dist/app/_next/static/chunks/app/(authenticated)/workflows/edit/{page-753cf274fd329860.js → page-45c465caaa5679bd.js} +1 -1
- package/dist/app/_next/static/chunks/app/(authenticated)/workflows/{page-33c1c69678122839.js → page-7f9cb24aaa798f42.js} +1 -1
- package/dist/app/_next/static/chunks/{main-324e91f5a430cddf.js → main-8ffa7219a08e42cf.js} +1 -1
- package/dist/app/_next/static/chunks/{webpack-b29732cfe967a5f5.js → webpack-7a100cbf9402e7ea.js} +1 -1
- package/dist/app/_next/static/css/45276c37be155f45.css +3 -0
- package/dist/app/activity-log/all-activity/index.html +1 -1
- package/dist/app/activity-log/all-activity/index.txt +3 -3
- package/dist/app/activity-log/email-log/index.html +1 -1
- package/dist/app/activity-log/email-log/index.txt +3 -3
- package/dist/app/activity-log/index.html +1 -1
- package/dist/app/activity-log/index.txt +2 -2
- package/dist/app/activity-log/notifications/index.html +1 -1
- package/dist/app/activity-log/notifications/index.txt +3 -3
- package/dist/app/activity-log/sessions/index.html +1 -1
- package/dist/app/activity-log/sessions/index.txt +3 -3
- package/dist/app/activity-log/workflow-executions/index.html +1 -1
- package/dist/app/activity-log/workflow-executions/index.txt +3 -3
- package/dist/app/activity-log/workflow-logs/index.html +1 -1
- package/dist/app/activity-log/workflow-logs/index.txt +3 -3
- package/dist/app/change-password/index.html +1 -1
- package/dist/app/change-password/index.txt +2 -2
- package/dist/app/dashboard/index.html +1 -1
- package/dist/app/dashboard/index.txt +3 -3
- package/dist/app/data-browser/index.html +1 -1
- package/dist/app/data-browser/index.txt +3 -3
- package/dist/app/file-manager/index.html +1 -1
- package/dist/app/file-manager/index.txt +3 -3
- package/dist/app/forgot-password/index.html +1 -1
- package/dist/app/forgot-password/index.txt +1 -1
- package/dist/app/index.html +1 -1
- package/dist/app/index.txt +1 -1
- package/dist/app/login/index.html +1 -1
- package/dist/app/login/index.txt +1 -1
- package/dist/app/register/index.html +1 -1
- package/dist/app/register/index.txt +1 -1
- package/dist/app/settings/migrations/index.html +1 -1
- package/dist/app/settings/migrations/index.txt +3 -3
- package/dist/app/settings/permissions/index.html +1 -1
- package/dist/app/settings/permissions/index.txt +3 -3
- package/dist/app/settings/project/index.html +1 -1
- package/dist/app/settings/project/index.txt +3 -3
- package/dist/app/settings/roles/index.html +1 -1
- package/dist/app/settings/roles/index.txt +3 -3
- package/dist/app/settings/schema/index.html +1 -1
- package/dist/app/settings/schema/index.txt +3 -3
- package/dist/app/settings/schema-diff/index.html +1 -0
- package/dist/app/settings/schema-diff/index.txt +14 -0
- package/dist/app/settings/tasks/index.html +1 -1
- package/dist/app/settings/tasks/index.txt +3 -3
- package/dist/app/settings/templates/edit/index.html +1 -1
- package/dist/app/settings/templates/edit/index.txt +3 -3
- package/dist/app/settings/templates/index.html +1 -1
- package/dist/app/settings/templates/index.txt +3 -3
- package/dist/app/settings/tenants/index.html +1 -1
- package/dist/app/settings/tenants/index.txt +3 -3
- package/dist/app/users/index.html +1 -1
- package/dist/app/users/index.txt +3 -3
- package/dist/app/users/invites/index.html +1 -1
- package/dist/app/users/invites/index.txt +3 -3
- package/dist/app/users/list/index.html +1 -1
- package/dist/app/users/list/index.txt +3 -3
- package/dist/app/users/preferences/index.html +1 -1
- package/dist/app/users/preferences/index.txt +3 -3
- package/dist/app/users/user-roles/index.html +1 -1
- package/dist/app/users/user-roles/index.txt +3 -3
- package/dist/app/workflows/detail/index.html +1 -1
- package/dist/app/workflows/detail/index.txt +2 -2
- package/dist/app/workflows/edit/index.html +1 -1
- package/dist/app/workflows/edit/index.txt +3 -3
- package/dist/app/workflows/execution/index.html +1 -1
- package/dist/app/workflows/execution/index.txt +2 -2
- package/dist/app/workflows/index.html +1 -1
- package/dist/app/workflows/index.txt +3 -3
- package/dist/routes/schema-diff.route.d.ts +7 -0
- package/dist/routes/schema-diff.route.d.ts.map +1 -0
- package/dist/routes/schema-diff.route.js +320 -0
- package/dist/routes/schema-diff.route.js.map +1 -0
- package/package.json +1 -1
- package/dist/app/_next/static/chunks/2033-8355304f13887db5.js +0 -1
- package/dist/app/_next/static/chunks/4952-1b97320cf61f3f21.js +0 -1
- package/dist/app/_next/static/chunks/6547-1aaab011e6089042.js +0 -1
- package/dist/app/_next/static/chunks/app/(authenticated)/dashboard/page-1ceeac9e72997a8a.js +0 -1
- package/dist/app/_next/static/chunks/app/(authenticated)/layout-2a4b221af5cbbade.js +0 -1
- package/dist/app/_next/static/chunks/app/(authenticated)/settings/migrations/page-6681c14dd478cc9a.js +0 -1
- package/dist/app/_next/static/chunks/app/(authenticated)/settings/schema/page-e7f836d3a7f7c5d0.js +0 -1
- package/dist/app/_next/static/css/17a2e01c4184b106.css +0 -3
- /package/dist/app/_next/static/{ORfvBD2VaKIB_8_7O9AgQ → 0OAEQ9OeMefOQpSdB_tKL}/_buildManifest.js +0 -0
- /package/dist/app/_next/static/{ORfvBD2VaKIB_8_7O9AgQ → 0OAEQ9OeMefOQpSdB_tKL}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7598],{24654:function(){},79728:function(e,t,r){Promise.resolve().then(r.bind(r,97222))},97222:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return Z}});var o=r(57437),l=r(2265),n=r(72135),a=r(29696),i=r(79820),s=r(95805),c=r(14924),d=r(68113),u=r(84428),v=r(42488),h=r(70525),f=r(14438),m=r(12438),g=r(91436),p=r(14565),x=r(56933),b=r(93448);let y={light:"",dark:".dark"},j=l.createContext(null);function N(){let e=l.useContext(j);if(!e)throw Error("useChart must be used within a <ChartContainer />");return e}let k=l.forwardRef((e,t)=>{let{id:r,className:n,children:a,config:i,...s}=e,c=l.useId(),d="chart-".concat(r||c.replace(/:/g,""));return(0,o.jsx)(j.Provider,{value:{config:i},children:(0,o.jsxs)("div",{"data-chart":d,ref:t,className:(0,b.cn)("flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-none [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-none [&_.recharts-surface]:outline-none",n),...s,children:[(0,o.jsx)(_,{id:d,config:i}),(0,o.jsx)(g.h,{children:a})]})})});k.displayName="Chart";let _=e=>{let{id:t,config:r}=e,l=Object.entries(r).filter(e=>{let[,t]=e;return t.theme||t.color});return l.length?(0,o.jsx)("style",{dangerouslySetInnerHTML:{__html:Object.entries(y).map(e=>{let[r,o]=e;return"\n".concat(o," [data-chart=").concat(t,"] {\n").concat(l.map(e=>{var t;let[o,l]=e,n=(null===(t=l.theme)||void 0===t?void 0:t[r])||l.color;return n?" --color-".concat(o,": ").concat(n,";"):null}).join("\n"),"\n}\n")}).join("\n")}}):null},w=p.u,C=l.forwardRef((e,t)=>{let{active:r,payload:n,className:a,indicator:i="dot",hideLabel:s=!1,hideIndicator:c=!1,label:d,labelFormatter:u,labelClassName:v,formatter:h,color:f,nameKey:m,labelKey:g}=e,{config:p}=N(),x=l.useMemo(()=>{var e;if(s||!(null==n?void 0:n.length))return null;let[t]=n,r="".concat(g||t.dataKey||t.name||"value"),l=L(p,t,r),a=g||"string"!=typeof d?null==l?void 0:l.label:(null===(e=p[d])||void 0===e?void 0:e.label)||d;return u?(0,o.jsx)("div",{className:(0,b.cn)("font-medium",v),children:u(a,n)}):a?(0,o.jsx)("div",{className:(0,b.cn)("font-medium",v),children:a}):null},[d,u,n,s,v,p,g]);if(!r||!(null==n?void 0:n.length))return null;let y=1===n.length&&"dot"!==i;return(0,o.jsxs)("div",{ref:t,className:(0,b.cn)("grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl",a),children:[y?null:x,(0,o.jsx)("div",{className:"grid gap-1.5",children:n.map((e,t)=>{var r;let l="".concat(m||e.name||e.dataKey||"value"),n=L(p,e,l),a=f||(null===(r=e.payload)||void 0===r?void 0:r.fill)||e.color;return(0,o.jsx)("div",{className:(0,b.cn)("flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground","dot"===i&&"items-center"),children:h&&(null==e?void 0:e.value)!==void 0&&e.name?h(e.value,e.name,e,t,e.payload):(0,o.jsxs)(o.Fragment,{children:[(null==n?void 0:n.icon)?(0,o.jsx)(n.icon,{}):!c&&(0,o.jsx)("div",{className:(0,b.cn)("shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]",{"h-2.5 w-2.5":"dot"===i,"w-1":"line"===i,"w-0 border-[1.5px] border-dashed bg-transparent":"dashed"===i,"my-0.5":y&&"dashed"===i}),style:{"--color-bg":a,"--color-border":a}}),(0,o.jsxs)("div",{className:(0,b.cn)("flex flex-1 justify-between leading-none",y?"items-end":"items-center"),children:[(0,o.jsxs)("div",{className:"grid gap-1.5",children:[y?x:null,(0,o.jsx)("span",{className:"text-muted-foreground",children:(null==n?void 0:n.label)||e.name})]}),e.value&&(0,o.jsx)("span",{className:"font-mono font-medium tabular-nums text-foreground",children:e.value.toLocaleString()})]})]})},String(e.dataKey))})})]})});C.displayName="ChartTooltip";let A=x.D,S=l.forwardRef((e,t)=>{let{className:r,hideIcon:l=!1,payload:n,verticalAlign:a="bottom",nameKey:i}=e,{config:s}=N();return(null==n?void 0:n.length)?(0,o.jsx)("div",{ref:t,className:(0,b.cn)("flex items-center justify-center gap-4","top"===a?"pb-3":"pt-3",r),children:n.map(e=>{let t="".concat(i||e.dataKey||"value"),r=L(s,e,t);return(0,o.jsxs)("div",{className:(0,b.cn)("flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground"),children:[(null==r?void 0:r.icon)&&!l?(0,o.jsx)(r.icon,{}):(0,o.jsx)("div",{className:"h-2 w-2 shrink-0 rounded-[2px]",style:{backgroundColor:e.color}}),null==r?void 0:r.label]},e.value)})}):null});function L(e,t,r){if("object"!=typeof t||null===t)return;let o="payload"in t&&"object"==typeof t.payload&&null!==t.payload?t.payload:void 0,l=r;return r in t&&"string"==typeof t[r]?l=t[r]:o&&r in o&&"string"==typeof o[r]&&(l=o[r]),l in e?e[l]:e[r]}S.displayName="ChartLegend";var T=r(31031),E=r(56940),M=r(97059),H=r(62994),O=r(9234);let D=e=>{let{title:t,value:r,icon:l,description:n}=e;return(0,o.jsxs)(i.Zb,{children:[(0,o.jsxs)(i.Ol,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[(0,o.jsx)(i.ll,{className:"text-sm font-medium",children:t}),(0,o.jsx)("div",{className:"h-4 w-4 text-muted-foreground",children:l})]}),(0,o.jsxs)(i.aY,{children:[(0,o.jsx)("div",{className:"text-2xl font-bold",children:"number"==typeof r?r.toLocaleString():r}),n&&(0,o.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:n})]})]})},F={create:"hsl(var(--chart-1))",update:"hsl(var(--chart-2))",delete:"hsl(var(--chart-3))",read:"hsl(var(--chart-4))",login:"hsl(var(--chart-5))",logout:"hsl(142, 76%, 36%)",upload:"hsl(262, 83%, 58%)",download:"hsl(24, 95%, 53%)"},R=e=>{if(0===e)return"0 B";let t=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,t)).toFixed(2))+" "+["B","KB","MB","GB","TB"][t]};var Z=()=>{var e,t,r,g;let p=(0,n.Ji)(),{schemas:x}=(0,a.I_)(),b=(0,l.useMemo)(()=>{let e=new Date;return e.setHours(e.getHours()-72),e.toISOString()},[]),{data:y,isLoading:j}=(0,n.EV)({url:"".concat(p,"/reports/stats"),method:"post",config:{payload:{stats:[{name:"total_users",collection:"baasix_User",query:{aggregate:{count:{function:"count",field:"id"}}}},{name:"total_files",collection:"baasix_File",query:{aggregate:{count:{function:"count",field:"id"}}}},{name:"total_storage",collection:"baasix_File",query:{aggregate:{totalSize:{function:"sum",field:"size"}}}},{name:"total_activities",collection:"baasix_AuditLog",query:{aggregate:{count:{function:"count",field:"id"}}}},{name:"activities_by_action",collection:"baasix_AuditLog",query:{groupBy:["action"],aggregate:{count:{function:"count",field:"id"}},filter:{createdAt:{gte:b}}}},{name:"activities_by_hour",collection:"baasix_AuditLog",query:{groupBy:["date:year:createdAt","date:month:createdAt","date:day:createdAt","date:hour:createdAt","action"],aggregate:{count:{function:"count",field:"id"}},filter:{createdAt:{gte:b}}}}]}}}),N=(0,l.useMemo)(()=>{var e,t,r,o,l,n,a,i,s,c,d,u,v,h,f;let m=null==y?void 0:null===(e=y.data)||void 0===e?void 0:e.data;if(!m)return null;let g=Number(null===(o=m.total_users)||void 0===o?void 0:null===(r=o.data)||void 0===r?void 0:null===(t=r[0])||void 0===t?void 0:t.count)||0,p=Number(null===(a=m.total_files)||void 0===a?void 0:null===(n=a.data)||void 0===n?void 0:null===(l=n[0])||void 0===l?void 0:l.count)||0,x=Number(null===(c=m.total_storage)||void 0===c?void 0:null===(s=c.data)||void 0===s?void 0:null===(i=s[0])||void 0===i?void 0:i.totalSize)||0,b=Number(null===(v=m.total_activities)||void 0===v?void 0:null===(u=v.data)||void 0===u?void 0:null===(d=u[0])||void 0===d?void 0:d.count)||0,j={};return null===(f=m.activities_by_action)||void 0===f||null===(h=f.data)||void 0===h||h.forEach(e=>{var t;let r=null===(t=e.action)||void 0===t?void 0:t.toLowerCase();r&&(j[r]=Number(e.count)||0)}),{totalUsers:g,totalFiles:p,totalStorage:x,totalActivities:b,actionBreakdown:j}},[y]),{chartConfig:_,uniqueActions:L}=(0,l.useMemo)(()=>{var e,t,r;let o=null==y?void 0:null===(r=y.data)||void 0===r?void 0:null===(t=r.data)||void 0===t?void 0:null===(e=t.activities_by_action)||void 0===e?void 0:e.data;if(!o)return{chartConfig:{},uniqueActions:[]};let l=o.map(e=>{var t;return null===(t=e.action)||void 0===t?void 0:t.toLowerCase()}).filter(Boolean),n={};return l.forEach((e,t)=>{n[e]={label:e.charAt(0).toUpperCase()+e.slice(1),color:F[e]||"hsl(".concat(47*t%360,", 70%, 50%)")}}),{chartConfig:n,uniqueActions:l}},[y]),Z=(0,l.useMemo)(()=>{var e,t,r;let o=null==y?void 0:null===(r=y.data)||void 0===r?void 0:null===(t=r.data)||void 0===t?void 0:null===(e=t.activities_by_hour)||void 0===e?void 0:e.data;if(!o||0===o.length)return[];let l=new Date;l.setMinutes(0,0,0);let n=[];for(let e=71;e>=0;e--){let t=new Date(l);t.setHours(t.getHours()-e);let r="";if(0===e)r="Now";else if(e<24)r="".concat(e,"h ago");else{let t=Math.floor(e/24),o=e%24;r=0===o?"".concat(t,"d ago"):"".concat(t,"d ").concat(o,"h")}n.push({hour:r,timestamp:t.getTime(),_year:t.getFullYear(),_month:t.getMonth()+1,_day:t.getDate(),_hour:t.getHours()})}return o.forEach(e=>{var t;let r=Number(e["date:year:createdAt"]),o=Number(e["date:month:createdAt"]),l=Number(e["date:day:createdAt"]),a=Number(e["date:hour:createdAt"]),i=null===(t=e.action)||void 0===t?void 0:t.toLowerCase(),s=Number(e.count)||0;if(!i)return;let c=n.find(e=>e._year===r&&e._month===o&&e._day===l&&e._hour===a);c&&(c[i]=(c[i]||0)+s)}),n.map(e=>{let{_year:t,_month:r,_day:o,_hour:l,...n}=e;return n})},[y]),q=(0,l.useMemo)(()=>(null==x?void 0:x.filter(e=>{var t;return!(null===(t=e.collectionName)||void 0===t?void 0:t.startsWith("baasix_"))}).length)||0,[x]);return(0,l.useEffect)(()=>{let e=window.localStorage.getItem("token");if(e){let t=new m.$;return t.connect("/",e),t.subscribe("baasix_Notification",{create:e=>{var t,r;f.Am.success(null==e?void 0:null===(t=e.data)||void 0===t?void 0:t.title,{description:null==e?void 0:null===(r=e.data)||void 0===r?void 0:r.message})},update:e=>{var t,r;f.Am.info(null==e?void 0:null===(t=e.data)||void 0===t?void 0:t.title,{description:null==e?void 0:null===(r=e.data)||void 0===r?void 0:r.message})},delete:e=>{var t,r;f.Am.error(null==e?void 0:null===(t=e.data)||void 0===t?void 0:t.title,{description:null==e?void 0:null===(r=e.data)||void 0===r?void 0:r.message})}}).catch(e=>{console.error("Error subscribing to notification:",e)}),()=>{t.disconnect()}}},[]),(0,o.jsx)("div",{className:"flex-1 overflow-auto",children:(0,o.jsxs)("div",{className:"space-y-6 pb-6",children:[(0,o.jsxs)("div",{children:[(0,o.jsx)("h1",{className:"text-2xl font-bold",children:"Dashboard"}),(0,o.jsx)("p",{className:"text-muted-foreground",children:"Overview of your application"})]}),(0,o.jsxs)("div",{className:"grid gap-4 md:grid-cols-2 lg:grid-cols-5",children:[(0,o.jsx)(D,{title:"Total Users",value:null!==(e=null==N?void 0:N.totalUsers)&&void 0!==e?e:0,icon:(0,o.jsx)(s.Z,{className:"h-4 w-4"}),description:"Registered users"}),(0,o.jsx)(D,{title:"Collections",value:q,icon:(0,o.jsx)(c.Z,{className:"h-4 w-4"}),description:"".concat((null==x?void 0:x.length)||0," total (incl. system)")}),(0,o.jsx)(D,{title:"Total Files",value:null!==(t=null==N?void 0:N.totalFiles)&&void 0!==t?t:0,icon:(0,o.jsx)(d.Z,{className:"h-4 w-4"}),description:"Uploaded files"}),(0,o.jsx)(D,{title:"Storage Used",value:R(null!==(r=null==N?void 0:N.totalStorage)&&void 0!==r?r:0),icon:(0,o.jsx)(u.Z,{className:"h-4 w-4"}),description:"Total file storage"}),(0,o.jsx)(D,{title:"Total Activities",value:null!==(g=null==N?void 0:N.totalActivities)&&void 0!==g?g:0,icon:(0,o.jsx)(v.Z,{className:"h-4 w-4"}),description:"All time activities"})]}),(0,o.jsxs)(i.Zb,{children:[(0,o.jsxs)(i.Ol,{children:[(0,o.jsxs)(i.ll,{className:"flex items-center gap-2",children:[(0,o.jsx)(h.Z,{className:"h-5 w-5"}),"Activity Timeline"]}),(0,o.jsx)(i.SZ,{children:"Activity breakdown over the last 72 hours"})]}),(0,o.jsx)(i.aY,{children:!j&&L.length>0?(0,o.jsx)(k,{config:_,className:"h-[300px] w-full",children:(0,o.jsxs)(T.T,{data:Z,margin:{top:10,right:10,left:0,bottom:0},children:[(0,o.jsx)("defs",{children:L.map(e=>(0,o.jsxs)("linearGradient",{id:"fill-".concat(e),x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,o.jsx)("stop",{offset:"5%",stopColor:"var(--color-".concat(e,")"),stopOpacity:.8}),(0,o.jsx)("stop",{offset:"95%",stopColor:"var(--color-".concat(e,")"),stopOpacity:.1})]},e))}),(0,o.jsx)(E.q,{strokeDasharray:"3 3",vertical:!1}),(0,o.jsx)(M.K,{dataKey:"hour",tickLine:!1,axisLine:!1,tickMargin:8,interval:"preserveStartEnd",minTickGap:50}),(0,o.jsx)(H.B,{tickLine:!1,axisLine:!1,tickMargin:8,allowDecimals:!1}),(0,o.jsx)(w,{content:(0,o.jsx)(C,{})}),(0,o.jsx)(A,{content:(0,o.jsx)(S,{})}),L.map(e=>(0,o.jsx)(O.uN,{type:"monotone",dataKey:e,stackId:"1",stroke:"var(--color-".concat(e,")"),fill:"url(#fill-".concat(e,")")},e))]})}):(0,o.jsx)("div",{className:"flex items-center justify-center h-[300px] text-muted-foreground",children:j?"Loading activity data...":"No activity data available"})})]})]})})}},12438:function(e,t,r){"use strict";r.d(t,{$:function(){return l}});var o=r(68680);class l{connect(e,t){return this.socket=(0,o.io)(e,{auth:{token:t},path:"/realtime",reconnection:!0,reconnectionAttempts:5,reconnectionDelay:1e3,reconnectionDelayMax:5e3,transports:["websocket","polling"]}),this._setupListeners(),this}_setupListeners(){this.socket&&(this.socket.on("connect",()=>{console.log("Connected to socket server"),this.subscriptions.forEach(e=>{this._subscribe(e)})}),this.socket.on("connected",e=>{console.log("Socket authenticated:",e)}),this.socket.on("disconnect",e=>{console.log("Disconnected from socket server:",e)}),this.socket.on("connect_error",e=>{console.error("Socket connection error:",e)}))}_subscribe(e){this.socket&&this.socket.emit("subscribe",{collection:e})}async subscribe(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise((r,o)=>{if(!this.socket){o(Error("Socket not connected"));return}this.socket.emit("subscribe",{collection:e},l=>{"success"===l.status?(this.subscriptions.add(e),["create","update","delete"].forEach(r=>{let o="".concat(e,":").concat(r),l=t[r];l&&(this.eventHandlers.has(o)&&this.socket.off(o,this.eventHandlers.get(o)),this.socket.on(o,l),this.eventHandlers.set(o,l))}),r()):o(Error(l.message))})})}async unsubscribe(e){return new Promise((t,r)=>{if(!this.socket){r(Error("Socket not connected"));return}this.socket.emit("unsubscribe",{collection:e},o=>{"success"===o.status?(this.subscriptions.delete(e),["create","update","delete"].forEach(t=>{let r="".concat(e,":").concat(t);this.eventHandlers.has(r)&&(this.socket.off(r,this.eventHandlers.get(r)),this.eventHandlers.delete(r))}),t()):r(Error(o.message))})})}disconnect(){this.socket&&(this.socket.disconnect(),this.subscriptions.clear(),this.eventHandlers.clear())}constructor(){this.socket=null,this.subscriptions=new Set,this.eventHandlers=new Map}}},79820:function(e,t,r){"use strict";r.d(t,{Ol:function(){return i},SZ:function(){return c},Zb:function(){return a},aY:function(){return d},eW:function(){return u},ll:function(){return s}});var o=r(57437),l=r(2265),n=r(93448);let a=l.forwardRef((e,t)=>{let{className:r,...l}=e;return(0,o.jsx)("div",{ref:t,className:(0,n.cn)("rounded-lg border bg-card text-card-foreground shadow-sm",r),...l})});a.displayName="Card";let i=l.forwardRef((e,t)=>{let{className:r,...l}=e;return(0,o.jsx)("div",{ref:t,className:(0,n.cn)("flex flex-col space-y-1 p-4",r),...l})});i.displayName="CardHeader";let s=l.forwardRef((e,t)=>{let{className:r,...l}=e;return(0,o.jsx)("h3",{ref:t,className:(0,n.cn)("text-lg font-semibold leading-none tracking-tight",r),...l})});s.displayName="CardTitle";let c=l.forwardRef((e,t)=>{let{className:r,...l}=e;return(0,o.jsx)("p",{ref:t,className:(0,n.cn)("text-sm text-muted-foreground",r),...l})});c.displayName="CardDescription";let d=l.forwardRef((e,t)=>{let{className:r,...l}=e;return(0,o.jsx)("div",{ref:t,className:(0,n.cn)("p-4 pt-0",r),...l})});d.displayName="CardContent";let u=l.forwardRef((e,t)=>{let{className:r,...l}=e;return(0,o.jsx)("div",{ref:t,className:(0,n.cn)("flex items-center p-4 pt-0",r),...l})});u.displayName="CardFooter"},93448:function(e,t,r){"use strict";r.d(t,{cn:function(){return n}});var o=r(61994),l=r(53335);function n(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,l.m6)((0,o.W)(t))}},29696:function(e,t,r){"use strict";r.d(t,{A1:function(){return s},I_:function(){return i}});var o=r(57437),l=r(2265),n=r(72135);let a=(0,l.createContext)(void 0),i=()=>{let e=(0,l.useContext)(a);if(!e)throw Error("useSchema must be used within a SchemaProvider");return e};function s(e){let{children:t}=e,{data:r,isLoading:l,refetch:i}=(0,n.sm)({resource:"collections",queryOptions:{enabled:!0},sorters:[{field:"collectionName",order:"asc"}],pagination:{pageSize:500}}),s=(null==r?void 0:r.data)||[],c=e=>s.find(t=>t.collectionName===e),d=e=>{let t=c(e),r=null==t?void 0:t.schema.fields;if(r){let t={...r};for(let[e,r]of Object.entries(t))r.hidden&&delete t[e];return"baasix_Account"===e&&(delete t.password,delete t.accessToken,delete t.refreshToken,delete t.idToken),"baasix_Verification"===e&&delete t.value,"baasix_Sessions"===e&&delete t.token,t}return r},u=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5,o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(0===r)return[];let l=d(e);return l?Object.entries(l).map(e=>{let[l,n]=e,a=t?"".concat(t,".").concat(l):l,i=o?{title:n.relType?a+".*":a,value:n.relType?a+".*":a,key:n.relType?a+".*":a,isLeaf:!n.relType}:{title:a,value:a,key:a,isLeaf:!n.relType};return n.relType&&n.target&&(i.children=u(n.target,a,r-1,o)),i}):[]};return(0,o.jsx)(a.Provider,{value:{schemas:s,isLoading:l,refetch:i,getSchemaByName:c,getFieldsByCollection:d,getCollectionChoices:()=>s.map(e=>({label:e.schema.name,value:e.collectionName})),getTargetFields:e=>{let t=d(e);return t?Object.entries(t).map(e=>{let[t]=e;return{label:t,value:t}}):[]},formatRelationshipDisplay:(e,t)=>e&&t?null==t?void 0:t.split(",").map(t=>{let r=t.trim();return e[r]||r}).join(""):"",getNestedFields:e=>u(e),getPermissionFields:e=>[{title:"*",value:"*",key:"*",isLeaf:!0},...u(e,"",6,!0),{title:"*.*",value:"*.*",key:"*.*",isLeaf:!0},{title:"*.*.*",value:"*.*.*",key:"*.*.*",isLeaf:!0},{title:"*.*.*.*",value:"*.*.*.*",key:"*.*.*.*",isLeaf:!0}],isSortEnabled:e=>{var t;let r=c(e);return(null==r?void 0:null===(t=r.schema)||void 0===t?void 0:t.sortEnabled)===!0}},children:t})}}},function(e){e.O(0,[7999,5094,4438,4458,9090,2971,2117,1744],function(){return e(e.s=79728)}),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2760],{24654:function(){},57166:function(e,t,r){Promise.resolve().then(r.bind(r,7915))},7915:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return en}});var s=r(57437),a=r(2265),n=r(72135),l=r(99376),i=r(12381),o=r(90641),d=r(96246),c=r(32060),u=r(71488),f=r(27648),m=r(45114),x=r(81853),p=r(25466),h=r(50091),g=r(95805),b=r(48736),y=r(13781),v=r(98728),j=r(65621),N=r(30755),w=r(54001),k=r(85929),P=r(97226),C=r(47692);let S=[{key:"dashboard",icon:p.Z,href:"/dashboard",label:"Dashboard"},{key:"data-browser",icon:h.Z,href:"/data-browser",label:"Data Browser"},{key:"users",icon:g.Z,href:"/users/list",label:"Users"},{key:"file-manager",icon:b.Z,href:"/file-manager",label:"File Manager"},{key:"workflows",icon:y.Z,href:"/workflows",label:"Workflows"},{key:"settings",icon:v.Z,href:"/settings/roles",label:"Settings"},{key:"activity-log",icon:j.Z,href:"/activity-log/all-activity",label:"Activity Log"}],D=e=>{var t,r,a,p,h,g;let{selectedMenu:b,setSelectedMenu:y,onToggleSidebarSheet:v,showSidebarToggle:j}=e,D=(0,l.useRouter)(),{data:R}=(0,n.kS)(),{mutate:E}=(0,n.aU)(),{setMode:z,mode:T}=(0,m.Fg)(),{projectSettings:A}=(0,x.PY)(),_=(0,n.Ji)(),M="".concat("/admin","/logo-icon.svg"),Z=(null==A?void 0:null===(t=A.branding)||void 0===t?void 0:t.icon)||(null==A?void 0:null===(r=A.branding)||void 0===r?void 0:r["logo-light"]),L=Z&&_&&"/"!==_?"".concat(_,"/assets/").concat(Z):_&&"/"!==_?"".concat(_,"/assets/project_icon"):M,F=(null==A?void 0:A.color)||"#663399",O=function(e){let t=e.replace("#",""),r=parseInt(t.substring(0,2),16);return(.299*r+.587*parseInt(t.substring(2,4),16)+.114*parseInt(t.substring(4,6),16))/255>.5}(F),V=O?"#1a1a2e":"#ffffff",I=O?"rgba(0, 0, 0, 0.1)":"rgba(255, 255, 255, 0.1)",Y=O?"rgba(0, 0, 0, 0.15)":"rgba(255, 255, 255, 0.2)",U=O?"rgba(0, 0, 0, 0.1)":"rgba(255, 255, 255, 0.1)";return(0,s.jsxs)("div",{className:"flex flex-col h-screen w-[60px] border-r fixed left-0 top-0 z-50",style:{backgroundColor:F,borderColor:U,color:V},children:[(0,s.jsx)("div",{className:"p-2 flex justify-center border-b",style:{borderColor:U},children:(0,s.jsx)(f.default,{href:"/",children:(0,s.jsx)("img",{alt:"logo",src:L,className:"w-10 h-10 object-contain",onError:e=>{e.target.src=M}})})}),j&&(0,s.jsx)("div",{className:"p-2 flex justify-center border-b md:hidden",style:{borderColor:U},children:(0,s.jsxs)(u.u,{children:[(0,s.jsx)(u.aJ,{asChild:!0,children:(0,s.jsx)(i.z,{variant:"ghost",size:"icon",className:"w-10 h-10",style:{color:V},onMouseEnter:e=>{e.currentTarget.style.backgroundColor=I},onMouseLeave:e=>{e.currentTarget.style.backgroundColor="transparent"},onClick:v,children:(0,s.jsx)(N.Z,{className:"h-5 w-5"})})}),(0,s.jsx)(u._v,{side:"right",children:(0,s.jsx)("p",{children:"Toggle Menu"})})]})}),(0,s.jsx)(o.x,{className:"flex-1 py-2",children:(0,s.jsx)("div",{className:"flex flex-col items-center gap-1",children:S.map(e=>(0,s.jsxs)(u.u,{children:[(0,s.jsx)(u.aJ,{asChild:!0,children:(0,s.jsx)(i.z,{variant:"ghost",size:"icon",className:"w-10 h-10",style:{color:V,backgroundColor:b===e.key?Y:"transparent"},onMouseEnter:t=>{b!==e.key&&(t.currentTarget.style.backgroundColor=I)},onMouseLeave:t=>{b!==e.key&&(t.currentTarget.style.backgroundColor="transparent")},onClick:()=>{y(e.key),D.push(e.href)},children:(0,s.jsx)(e.icon,{className:"h-5 w-5"})})}),(0,s.jsx)(u._v,{side:"right",children:(0,s.jsx)("p",{children:e.label})})]},e.key))})}),(0,s.jsx)("div",{className:"p-2 border-t flex justify-center",style:{borderColor:U},children:(0,s.jsxs)(c.h_,{children:[(0,s.jsx)(c.$F,{asChild:!0,children:(0,s.jsx)(i.z,{variant:"ghost",size:"icon",className:"rounded-full",style:{color:V},children:(0,s.jsxs)(d.qE,{className:"h-8 w-8",children:[(0,s.jsx)(d.F$,{src:null==R?void 0:R.avatar}),(0,s.jsxs)(d.Q5,{style:{backgroundColor:I,color:V},children:[null==R?void 0:null===(p=R.firstName)||void 0===p?void 0:null===(a=p.charAt(0))||void 0===a?void 0:a.toUpperCase(),null==R?void 0:null===(g=R.lastName)||void 0===g?void 0:null===(h=g.charAt(0))||void 0===h?void 0:h.toUpperCase()]})]})})}),(0,s.jsxs)(c.AW,{align:"end",side:"right",className:"w-56",children:[(0,s.jsx)(c.Ju,{children:(null==R?void 0:R.fullName)||"".concat((null==R?void 0:R.firstName)||""," ").concat((null==R?void 0:R.lastName)||"").trim()}),(0,s.jsx)(c.VD,{}),(0,s.jsx)(c.Xi,{asChild:!0,children:(0,s.jsxs)(f.default,{href:"/change-password",children:[(0,s.jsx)(w.Z,{className:"mr-2 h-4 w-4"}),"Change Password"]})}),(0,s.jsx)(c.Xi,{onClick:()=>z(),children:"dark"===T?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(k.Z,{className:"mr-2 h-4 w-4"}),"Light Mode"]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(P.Z,{className:"mr-2 h-4 w-4"}),"Dark Mode"]})}),(0,s.jsx)(c.VD,{}),(0,s.jsxs)(c.Xi,{onClick:()=>E(),children:[(0,s.jsx)(C.Z,{className:"mr-2 h-4 w-4"}),"Logout"]})]})]})})]})};var R=r(93448),E=r(40279),z=r(29696),T=r(73247);let A=e=>{let{selectedMenu:t,selectedSubMenu:r,onSelectSubMenu:n}=e,d=(0,l.useRouter)(),{schemas:c}=(0,z.I_)(),{isMultiTenant:u}=(0,x.PY)(),[f,m]=(0,a.useState)("");a.useEffect(()=>{m("")},[t]);let p=(0,a.useMemo)(()=>{let e=c||[],t=f.toLowerCase().trim();return e.filter(e=>{var t;return!(null===(t=e.collectionName)||void 0===t?void 0:t.startsWith("baasix_"))}).filter(e=>{var r,s,a;if(!t)return!0;let n=(null==e?void 0:null===(s=e.schema)||void 0===s?void 0:null===(r=s.name)||void 0===r?void 0:r.toLowerCase())||"",l=(null==e?void 0:null===(a=e.collectionName)||void 0===a?void 0:a.toLowerCase())||"";return n.includes(t)||l.includes(t)})},[c,f]),h=(e,r)=>{switch(n(e),t){case"data-browser":d.push("/data-browser/?collection=".concat(e,"&schema=").concat(encodeURIComponent(r||"")));break;case"users":d.push("/users/".concat(e,"/"));break;case"file-manager":d.push("/file-manager/".concat(e,"/"));break;case"settings":d.push("/settings/".concat(e,"/"));break;case"activity-log":d.push("/activity-log/".concat(e,"/"))}},g=e=>(0,s.jsx)(i.z,{variant:r===e.collectionName?"secondary":"ghost",className:(0,R.cn)("w-full justify-start text-sm",r===e.collectionName&&"bg-accent"),onClick:()=>{var t;return h(e.collectionName,null===(t=e.schema)||void 0===t?void 0:t.name)},children:e.collectionName},e.collectionName);return(0,s.jsx)("div",{className:"flex flex-col h-full w-full border-r bg-sidebar overflow-hidden",children:(()=>{switch(t){case"data-browser":return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"p-2 border-b",children:(0,s.jsxs)("div",{className:"relative",children:[(0,s.jsx)(T.Z,{className:"absolute left-2 top-2.5 h-4 w-4 text-muted-foreground"}),(0,s.jsx)(E.I,{placeholder:"Search collections...",value:f,onChange:e=>m(e.target.value),className:"pl-8"})]})}),(0,s.jsx)(o.x,{className:"flex-1",children:(0,s.jsx)("div",{className:"p-2 space-y-1",children:p.length>0?p.map(g):(0,s.jsx)("p",{className:"text-sm text-muted-foreground px-2 py-1",children:"No collections found"})})})]});case"users":return(0,s.jsx)(o.x,{className:"flex-1",children:(0,s.jsx)("div",{className:"p-2 space-y-1",children:[{key:"list",label:"Users List"},{key:"invites",label:"Invites"},{key:"user-roles",label:"User Roles"},{key:"preferences",label:"Preferences"}].map(e=>(0,s.jsx)(i.z,{variant:r===e.key?"secondary":"ghost",className:(0,R.cn)("w-full justify-start text-sm",r===e.key&&"bg-accent"),onClick:()=>h(e.key),children:e.label},e.key))})});case"settings":let e=[{key:"roles",label:"Roles"},{key:"permissions",label:"Permissions"},{key:"schema",label:"Collections"},{key:"tasks",label:"Tasks"},{key:"migrations",label:"Migrations"},{key:"templates",label:"Email Templates"}];return u&&e.push({key:"tenants",label:"Tenants"}),e.push({key:"project",label:"Project Settings"}),(0,s.jsx)(o.x,{className:"flex-1",children:(0,s.jsx)("div",{className:"p-2 space-y-1",children:e.map(e=>(0,s.jsx)(i.z,{variant:r===e.key?"secondary":"ghost",className:(0,R.cn)("w-full justify-start text-sm",r===e.key&&"bg-accent"),onClick:()=>h(e.key),children:e.label},e.key))})});case"activity-log":return(0,s.jsx)(o.x,{className:"flex-1",children:(0,s.jsx)("div",{className:"p-2 space-y-1",children:[{key:"all-activity",label:"All Activity"},{key:"email-log",label:"Email Log"},{key:"notifications",label:"Notifications"},{key:"sessions",label:"Sessions"},{key:"workflow-executions",label:"Workflow Executions"},{key:"workflow-logs",label:"Workflow Logs"}].map(e=>(0,s.jsx)(i.z,{variant:r===e.key?"secondary":"ghost",className:(0,R.cn)("w-full justify-start text-sm",r===e.key&&"bg-accent"),onClick:()=>h(e.key),children:e.label},e.key))})});default:return null}})()})};var _=r(82809),M=r(91032);let Z=e=>{let{children:t}=e,r=(0,l.usePathname)(),n=(0,l.useSearchParams)(),[i,o]=(0,a.useState)("data-browser"),[d,c]=(0,a.useState)(""),[u,f]=(0,a.useState)(!1);(0,a.useEffect)(()=>{let e=r.split("/").filter(Boolean);if(e.length>0){if(o(e[0]),"data-browser"===e[0]){let e=n.get("collection");e?c(e):c("")}else e.length>1?c(e[1]):c("")}},[r,n]);let m=e=>{c(e),f(!1)},x=r.startsWith("/settings/templates/edit"),p="file-manager"!==i&&"dashboard"!==i&&"workflows"!==i&&"change-password"!==i&&!x;return(0,s.jsxs)("div",{className:"h-screen flex flex-col",children:[(0,s.jsx)(D,{selectedMenu:i,setSelectedMenu:e=>{o(e),c("")},onToggleSidebarSheet:()=>f(!0),showSidebarToggle:p}),(0,s.jsx)("div",{className:"ml-[60px] flex-1 flex flex-col overflow-hidden",children:p?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"hidden md:flex flex-1 overflow-hidden",children:(0,s.jsxs)(_.pO,{direction:"horizontal",className:"flex-1",children:[(0,s.jsx)(_.ee,{defaultSize:15,minSize:10,maxSize:25,className:"flex flex-col",children:(0,s.jsx)(A,{selectedMenu:i,selectedSubMenu:d,onSelectSubMenu:m})}),(0,s.jsx)(_.Dp,{withHandle:!0}),(0,s.jsx)(_.ee,{defaultSize:85,className:"flex flex-col",children:(0,s.jsx)("main",{className:"p-4 flex-1 overflow-hidden flex flex-col",children:t})})]})}),(0,s.jsx)(M.yo,{open:u,onOpenChange:f,children:(0,s.jsxs)(M.ue,{side:"left",className:"w-[280px] p-0 left-[60px]",children:[(0,s.jsx)(M.bC,{className:"sr-only",children:"Navigation Menu"}),(0,s.jsx)(A,{selectedMenu:i,selectedSubMenu:d,onSelectSubMenu:m})]})}),(0,s.jsx)("main",{className:"p-4 flex-1 overflow-hidden flex flex-col md:hidden",children:t})]}):(0,s.jsx)("main",{className:"p-4 flex-1 overflow-hidden flex flex-col",children:t})})]})};var L=r(63751);let F=String.fromCharCode(104,116,116,112,115,58,47,47,119,119,119,46,98,97,97,115,105,120,46,99,111,109,47,97,112,105,47,118,101,114,105,102,121,45,108,105,99,101,110,115,101),O=(0,a.createContext)({status:"loading",subscriptionData:null,error:null,isLoading:!0,isValid:!1,refetch:async()=>{}}),V=()=>a.useContext(O)||(console.warn("useSubscription used outside of SubscriptionProvider, using defaults"),{status:"loading",subscriptionData:null,error:null,isLoading:!0,isValid:!1,refetch:async()=>{}}),I=e=>{let{children:t}=e,[r,n]=(0,a.useState)("loading"),[l,i]=(0,a.useState)(null),[o,d]=(0,a.useState)(null),c=(0,a.useCallback)(async()=>{var e,t,r,s,a;let l=window.location.hostname;"localhost"===l||"127.0.0.1"===l||"0.0.0.0"===l||l.endsWith(".local")||l.endsWith(".localhost"),n("loading"),d(null);try{let r=new AbortController,s=setTimeout(()=>r.abort(),15e3),a=await fetch(F,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({domain:l}),signal:r.signal});if(clearTimeout(s),!a.ok){let e="Failed to verify subscription";try{e=(await a.json()).error||e}catch(e){}n("error"),d({type:"unknown",message:"Subscription verification failed",details:"Server responded with status ".concat(a.status,": ").concat(e)}),i(null);return}let o=await a.json();if(o.subscribed)n("valid"),i({subscribed:!0,domain:o.domain,plan:o.plan,expiresAt:o.expiresAt,inGracePeriod:o.inGracePeriod,gracePeriodDaysRemaining:o.gracePeriodDaysRemaining,message:o.message}),d(null);else{n("invalid"),i({subscribed:!1,domain:o.domain,plan:o.plan,expiresAt:o.expiresAt,message:o.message});let r="not_found";((null===(e=o.message)||void 0===e?void 0:e.toLowerCase().includes("expired"))||(null===(t=o.message)||void 0===t?void 0:t.toLowerCase().includes("grace period ended")))&&(r="expired"),d({type:r,message:o.message||"No active subscription found for this domain"})}}catch(e){n("error"),"AbortError"===e.name?d({type:"network",message:"Connection timed out",details:"The subscription verification request took too long to complete. Please check your internet connection and try again."}):(null===(r=e.message)||void 0===r?void 0:r.includes("Failed to fetch"))||(null===(s=e.message)||void 0===s?void 0:s.includes("NetworkError"))||(null===(a=e.message)||void 0===a?void 0:a.includes("Network request failed"))?d({type:"network",message:"Network error",details:"Unable to connect to the Baasix license server. Please check your internet connection and try again."}):d({type:"unknown",message:"Verification failed",details:e.message||"An unexpected error occurred while verifying the subscription."}),i(null)}},[]);return(0,a.useEffect)(()=>{c()},[c]),(0,s.jsx)(O.Provider,{value:{status:r,subscriptionData:l,error:o,isLoading:"loading"===r,isValid:"valid"===r,refetch:c},children:t})};var Y=r(75395),U=r(49322),q=r(91723),W=r(83578),B=r(99388),$=r(82431),G=r(96362);function J(e){let{status:t,error:r,subscriptionData:n,onRetry:l}=e,[i,o]=a.useState(!1),d=async()=>{o(!0),await l(),o(!1)};return(0,s.jsx)("div",{className:"min-h-screen bg-gradient-to-br from-slate-900 via-slate-800 to-slate-900 flex items-center justify-center p-4",children:(0,s.jsxs)("div",{className:"max-w-md w-full",children:[(0,s.jsxs)("div",{className:"bg-white dark:bg-slate-800 rounded-2xl shadow-2xl overflow-hidden",children:[(0,s.jsxs)("div",{className:"bg-gradient-to-r from-indigo-600 to-blue-600 px-6 py-8 text-center",children:[(0,s.jsx)("div",{className:"inline-flex items-center justify-center w-20 h-20 bg-white/20 rounded-full mb-4",children:(()=>{if("error"===t)return(null==r?void 0:r.type)==="network"?(0,s.jsx)(Y.Z,{className:"h-16 w-16 text-orange-500"}):(0,s.jsx)(U.Z,{className:"h-16 w-16 text-red-500"});switch(null==r?void 0:r.type){case"expired":return(0,s.jsx)(q.Z,{className:"h-16 w-16 text-amber-500"});case"not_found":return(0,s.jsx)(W.Z,{className:"h-16 w-16 text-red-500"});default:return(0,s.jsx)(B.Z,{className:"h-16 w-16 text-red-500"})}})()}),(0,s.jsx)("h1",{className:"text-2xl font-bold text-white",children:(()=>{if("error"===t)return(null==r?void 0:r.type)==="network"?"Connection Error":"Verification Error";switch(null==r?void 0:r.type){case"expired":return"Subscription Expired";case"not_found":return"No Active Subscription";default:return"Subscription Required"}})()})]}),(0,s.jsxs)("div",{className:"px-6 py-8",children:[(0,s.jsx)("p",{className:"text-slate-600 dark:text-slate-300 text-center mb-6",children:"error"===t&&(null==r?void 0:r.type)==="network"?"We couldn't connect to the Baasix license server to verify your subscription.":(null==r?void 0:r.type)==="expired"?"Your Baasix subscription has expired. Please renew to continue using the admin panel.":"A valid Baasix subscription is required to use this admin panel."}),r&&(0,s.jsxs)("div",{className:"bg-slate-100 dark:bg-slate-700/50 rounded-lg p-4 mb-6",children:[(0,s.jsx)("h3",{className:"text-sm font-semibold text-slate-700 dark:text-slate-300 mb-2",children:"Error Details"}),(0,s.jsx)("p",{className:"text-sm text-slate-600 dark:text-slate-400",children:r.message}),r.details&&(0,s.jsx)("p",{className:"text-xs text-slate-500 dark:text-slate-500 mt-2",children:r.details})]}),(null==n?void 0:n.domain)&&(0,s.jsxs)("div",{className:"bg-slate-100 dark:bg-slate-700/50 rounded-lg p-4 mb-6",children:[(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsx)("span",{className:"text-sm text-slate-500 dark:text-slate-400",children:"Domain"}),(0,s.jsx)("span",{className:"text-sm font-mono text-slate-700 dark:text-slate-300",children:n.domain})]}),n.plan&&(0,s.jsxs)("div",{className:"flex justify-between items-center mt-2",children:[(0,s.jsx)("span",{className:"text-sm text-slate-500 dark:text-slate-400",children:"Previous Plan"}),(0,s.jsx)("span",{className:"text-sm font-medium text-slate-700 dark:text-slate-300 capitalize",children:n.plan})]}),n.expiresAt&&(0,s.jsxs)("div",{className:"flex justify-between items-center mt-2",children:[(0,s.jsx)("span",{className:"text-sm text-slate-500 dark:text-slate-400",children:"Expired On"}),(0,s.jsx)("span",{className:"text-sm text-slate-700 dark:text-slate-300",children:new Date(n.expiresAt).toLocaleDateString()})]})]}),(0,s.jsxs)("div",{className:"space-y-3",children:["error"===t&&(0,s.jsxs)("button",{onClick:d,disabled:i,className:"w-full flex items-center justify-center gap-2 bg-slate-100 dark:bg-slate-700 hover:bg-slate-200 dark:hover:bg-slate-600 text-slate-700 dark:text-slate-300 font-medium py-3 px-4 rounded-lg transition-colors disabled:opacity-50",children:[(0,s.jsx)($.Z,{className:"h-4 w-4 ".concat(i?"animate-spin":"")}),i?"Retrying...":"Try Again"]}),(0,s.jsxs)("a",{href:"https://www.baasix.com/#pricing",target:"_blank",rel:"noopener noreferrer",className:"w-full flex items-center justify-center gap-2 bg-gradient-to-r from-indigo-600 to-blue-600 hover:from-indigo-700 hover:to-blue-700 text-white font-medium py-3 px-4 rounded-lg transition-all shadow-lg shadow-indigo-500/25",children:[(null==r?void 0:r.type)==="expired"?"Renew Subscription":"Get Subscription",(0,s.jsx)(G.Z,{className:"h-4 w-4"})]}),(0,s.jsxs)("a",{href:"https://www.baasix.com",target:"_blank",rel:"noopener noreferrer",className:"w-full flex items-center justify-center gap-2 text-slate-500 dark:text-slate-400 hover:text-slate-700 dark:hover:text-slate-300 font-medium py-2 px-4 rounded-lg transition-colors",children:["Visit baasix.com",(0,s.jsx)(G.Z,{className:"h-4 w-4"})]})]})]}),(0,s.jsx)("div",{className:"bg-slate-50 dark:bg-slate-900/50 px-6 py-4 text-center border-t border-slate-200 dark:border-slate-700",children:(0,s.jsxs)("p",{className:"text-xs text-slate-500 dark:text-slate-400",children:["Need help?"," ",(0,s.jsx)("a",{href:"mailto:support@baasix.com",className:"text-indigo-600 dark:text-indigo-400 hover:underline",children:"Contact support"})]})})]}),(0,s.jsx)("div",{className:"mt-6 text-center",children:(0,s.jsxs)("p",{className:"text-slate-400 text-sm",children:["Starting at just"," ",(0,s.jsx)("span",{className:"text-white font-semibold",children:"$9.99/year"})," per domain"]})})]})})}var X=r(76865),H=r(30767);function Q(e){if(!e)return null;let t=new Date(e),r=new Date;return Math.ceil((t.getTime()-r.getTime())/864e5)}function K(){let e=new Date().toISOString().split("T")[0];return"".concat("baasix_subscription_warning_dismissed","_").concat(e)}function ee(e){let{subscriptionData:t}=e,[r,n]=(0,a.useState)(!1),[l,i]=(0,a.useState)(null);(0,a.useEffect)(()=>{if(!t||"development"===t.plan||"lifetime"===t.plan)return;let e=K();if("true"===sessionStorage.getItem(e))return;if(t.inGracePeriod){i("grace"),n(!0);return}let r=Q(t.expiresAt);null!==r&&r<=14&&(i("expiring"),n(!0))},[t]);let o=()=>{let e=K();sessionStorage.setItem(e,"true"),n(!1)};if(!t||!l)return null;let d=Q(t.expiresAt),c=t.gracePeriodDaysRemaining;return(0,s.jsx)(H.aR,{open:r,onOpenChange:n,children:(0,s.jsxs)(H._T,{className:"max-w-md",children:[(0,s.jsx)(H.fY,{children:(0,s.jsxs)("div",{className:"flex items-center gap-3",children:["grace"===l?(0,s.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-full bg-red-100 dark:bg-red-900/30",children:(0,s.jsx)(X.Z,{className:"h-5 w-5 text-red-600 dark:text-red-400"})}):(0,s.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-full bg-amber-100 dark:bg-amber-900/30",children:(0,s.jsx)(q.Z,{className:"h-5 w-5 text-amber-600 dark:text-amber-400"})}),(0,s.jsx)(H.f$,{className:"text-left",children:"grace"===l?"Subscription Expired - Grace Period ends in "+(c?" ".concat(c," ").concat(1===c?"day":"days"):""):"Subscription Expiring On"+(t.expiresAt?" ".concat(new Date(t.expiresAt).toLocaleDateString()):"")})]})}),(0,s.jsxs)("div",{className:"space-y-4 text-sm text-muted-foreground",children:["grace"===l?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("p",{children:["Your Baasix subscription has expired. You are currently in the"," ",(0,s.jsx)("strong",{children:"grace period"}),"."]}),(0,s.jsxs)("div",{className:"rounded-lg bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 p-4",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)("span",{className:"text-sm text-red-700 dark:text-red-300",children:"Grace period remaining"}),(0,s.jsxs)("span",{className:"text-lg font-bold text-red-600 dark:text-red-400",children:[c," ",1===c?"day":"days"]})]}),(0,s.jsx)("p",{className:"mt-2 text-xs text-red-600 dark:text-red-400",children:"After the grace period ends, you will lose access to the admin panel."})]})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("p",{children:"Your Baasix subscription will expire soon. Renew now to avoid any interruption in service."}),(0,s.jsxs)("div",{className:"rounded-lg bg-amber-50 dark:bg-amber-900/20 border border-amber-200 dark:border-amber-800 p-4",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)("span",{className:"text-sm text-amber-700 dark:text-amber-300",children:"Days until expiry"}),(0,s.jsxs)("span",{className:"text-lg font-bold text-amber-600 dark:text-amber-400",children:[d," ",1===d?"day":"days"]})]}),t.expiresAt&&(0,s.jsxs)("p",{className:"mt-2 text-xs text-amber-600 dark:text-amber-400",children:["Expires on"," ",new Date(t.expiresAt).toLocaleDateString(void 0,{weekday:"long",year:"numeric",month:"long",day:"numeric"})]})]})]}),(0,s.jsxs)("div",{className:"text-xs text-muted-foreground",children:["Domain: ",(0,s.jsx)("span",{className:"font-mono",children:t.domain})]})]}),(0,s.jsxs)(H.xo,{className:"flex-col sm:flex-row gap-2",children:[(0,s.jsx)(H.le,{onClick:o,className:"sm:order-1",children:"Remind Me Later"}),(0,s.jsxs)(H.OL,{onClick:()=>{window.open("https://www.baasix.com/#pricing","_blank"),o()},className:"grace"===l?"bg-red-600 hover:bg-red-700 sm:order-2":"bg-amber-600 hover:bg-amber-700 sm:order-2",children:["Renew Now",(0,s.jsx)(G.Z,{className:"ml-2 h-4 w-4"})]})]})]})})}function et(e){let{children:t}=e,{status:r,error:a,subscriptionData:n,isLoading:l,refetch:i}=V();return l?(0,s.jsx)("div",{className:"flex h-screen w-screen items-center justify-center bg-background",children:(0,s.jsxs)("div",{className:"text-center",children:[(0,s.jsx)("div",{className:"h-8 w-8 mx-auto animate-spin rounded-full border-4 border-primary border-t-transparent"}),(0,s.jsx)("p",{className:"mt-4 text-muted-foreground",children:"Verifying setup..."})]})}):"invalid"===r||"error"===r?(0,s.jsx)(J,{status:r,error:a,subscriptionData:n,onRetry:i}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(ee,{subscriptionData:n}),t]})}function er(e){let{children:t}=e;return(0,s.jsx)(I,{children:(0,s.jsx)(et,{children:t})})}function es(){return(0,s.jsx)("div",{className:"flex h-screen w-screen items-center justify-center",children:(0,s.jsx)("div",{className:"h-8 w-8 animate-spin rounded-full border-4 border-primary border-t-transparent"})})}function ea(e){let{children:t}=e,r=(0,l.useRouter)(),{data:i,isLoading:o}=(0,n.kq)();return((0,a.useEffect)(()=>{o||(null==i?void 0:i.authenticated)!==!1||r.replace("/login")},[o,i,r]),!o&&(null==i?void 0:i.authenticated))?(0,s.jsx)(er,{children:(0,s.jsx)(z.A1,{children:(0,s.jsx)(L.CE,{children:(0,s.jsx)(Z,{children:t})})})}):(0,s.jsx)(es,{})}function en(e){let{children:t}=e;return(0,s.jsx)(a.Suspense,{fallback:(0,s.jsx)(es,{}),children:(0,s.jsx)(ea,{children:t})})}},30767:function(e,t,r){"use strict";r.d(t,{OL:function(){return g},_T:function(){return f},aR:function(){return o},f$:function(){return p},fY:function(){return m},le:function(){return b},vW:function(){return d},xo:function(){return x},yT:function(){return h}});var s=r(57437),a=r(2265),n=r(16720),l=r(93448),i=r(12381);let o=n.fC,d=n.xz,c=n.h_,u=a.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,s.jsx)(n.aV,{className:(0,l.cn)("fixed inset-0 z-50 bg-background/80 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",r),...a,ref:t})});u.displayName="AlertDialogOverlay";let f=a.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,s.jsxs)(c,{children:[(0,s.jsx)(u,{}),(0,s.jsx)(n.VY,{ref:t,className:(0,l.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 sm:rounded-lg",r),...a})]})});f.displayName="AlertDialogContent";let m=e=>{let{className:t,...r}=e;return(0,s.jsx)("div",{className:(0,l.cn)("flex flex-col space-y-2 text-center sm:text-left",t),...r})};m.displayName="AlertDialogHeader";let x=e=>{let{className:t,...r}=e;return(0,s.jsx)("div",{className:(0,l.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...r})};x.displayName="AlertDialogFooter";let p=a.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,s.jsx)(n.Dx,{ref:t,className:(0,l.cn)("text-lg font-semibold",r),...a})});p.displayName="AlertDialogTitle";let h=a.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,s.jsx)(n.dk,{ref:t,className:(0,l.cn)("text-sm text-muted-foreground",r),...a})});h.displayName="AlertDialogDescription";let g=a.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,s.jsx)(n.aU,{ref:t,className:(0,l.cn)((0,i.d)(),r),...a})});g.displayName="AlertDialogAction";let b=a.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,s.jsx)(n.$j,{ref:t,className:(0,l.cn)((0,i.d)({variant:"outline"}),"mt-2 sm:mt-0",r),...a})});b.displayName="AlertDialogCancel"},96246:function(e,t,r){"use strict";r.d(t,{F$:function(){return o},Q5:function(){return d},qE:function(){return i}});var s=r(57437),a=r(2265),n=r(27954),l=r(93448);let i=a.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,s.jsx)(n.fC,{ref:t,className:(0,l.cn)("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",r),...a})});i.displayName=n.fC.displayName;let o=a.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,s.jsx)(n.Ee,{ref:t,className:(0,l.cn)("aspect-square h-full w-full",r),...a})});o.displayName=n.Ee.displayName;let d=a.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,s.jsx)(n.NY,{ref:t,className:(0,l.cn)("flex h-full w-full items-center justify-center rounded-full bg-muted",r),...a})});d.displayName=n.NY.displayName},12381:function(e,t,r){"use strict";r.d(t,{d:function(){return o},z:function(){return d}});var s=r(57437),a=r(2265),n=r(37053),l=r(90535),i=r(93448);let o=(0,l.j)("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),d=a.forwardRef((e,t)=>{let{className:r,variant:a,size:l,asChild:d=!1,...c}=e,u=d?n.g7:"button";return(0,s.jsx)(u,{className:(0,i.cn)(o({variant:a,size:l,className:r})),ref:t,...c})});d.displayName="Button"},32060:function(e,t,r){"use strict";r.d(t,{$F:function(){return u},AW:function(){return f},Ju:function(){return x},VD:function(){return p},Xi:function(){return m},h_:function(){return c}});var s=r(57437),a=r(2265),n=r(28119),l=r(10407),i=r(30401),o=r(40519),d=r(93448);let c=n.fC,u=n.xz;n.ZA,n.Uv,n.Tr,n.Ee,a.forwardRef((e,t)=>{let{className:r,inset:a,children:i,...o}=e;return(0,s.jsxs)(n.fF,{ref:t,className:(0,d.cn)("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",a&&"pl-8",r),...o,children:[i,(0,s.jsx)(l.Z,{className:"ml-auto h-4 w-4"})]})}).displayName=n.fF.displayName,a.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,s.jsx)(n.tu,{ref:t,className:(0,d.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",r),...a})}).displayName=n.tu.displayName;let f=a.forwardRef((e,t)=>{let{className:r,sideOffset:a=4,...l}=e;return(0,s.jsx)(n.Uv,{children:(0,s.jsx)(n.VY,{ref:t,sideOffset:a,className:(0,d.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",r),...l})})});f.displayName=n.VY.displayName;let m=a.forwardRef((e,t)=>{let{className:r,inset:a,...l}=e;return(0,s.jsx)(n.ck,{ref:t,className:(0,d.cn)("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a&&"pl-8",r),...l})});m.displayName=n.ck.displayName,a.forwardRef((e,t)=>{let{className:r,children:a,checked:l,...o}=e;return(0,s.jsxs)(n.oC,{ref:t,className:(0,d.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",r),checked:l,...o,children:[(0,s.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,s.jsx)(n.wU,{children:(0,s.jsx)(i.Z,{className:"h-4 w-4"})})}),a]})}).displayName=n.oC.displayName,a.forwardRef((e,t)=>{let{className:r,children:a,...l}=e;return(0,s.jsxs)(n.Rk,{ref:t,className:(0,d.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",r),...l,children:[(0,s.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,s.jsx)(n.wU,{children:(0,s.jsx)(o.Z,{className:"h-2 w-2 fill-current"})})}),a]})}).displayName=n.Rk.displayName;let x=a.forwardRef((e,t)=>{let{className:r,inset:a,...l}=e;return(0,s.jsx)(n.__,{ref:t,className:(0,d.cn)("px-2 py-1.5 text-sm font-semibold",a&&"pl-8",r),...l})});x.displayName=n.__.displayName;let p=a.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,s.jsx)(n.Z0,{ref:t,className:(0,d.cn)("-mx-1 my-1 h-px bg-muted",r),...a})});p.displayName=n.Z0.displayName},40279:function(e,t,r){"use strict";r.d(t,{I:function(){return l}});var s=r(57437),a=r(2265),n=r(93448);let l=a.forwardRef((e,t)=>{let{className:r,type:a,...l}=e;return(0,s.jsx)("input",{type:a,className:(0,n.cn)("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",r),ref:t,...l})});l.displayName="Input"},82809:function(e,t,r){"use strict";r.d(t,{Dp:function(){return d},ee:function(){return o},pO:function(){return i}});var s=r(57437),a=r(41905),n=r(23374),l=r(93448);let i=e=>{let{className:t,...r}=e;return(0,s.jsx)(n.eh,{className:(0,l.cn)("flex h-full w-full data-[panel-group-direction=vertical]:flex-col",t),...r})},o=n.s_,d=e=>{let{withHandle:t,className:r,...i}=e;return(0,s.jsx)(n.OT,{className:(0,l.cn)("relative flex w-px items-center justify-center bg-border after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90",r),...i,children:t&&(0,s.jsx)("div",{className:"z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border",children:(0,s.jsx)(a.Z,{className:"h-2.5 w-2.5"})})})}},90641:function(e,t,r){"use strict";r.d(t,{x:function(){return i}});var s=r(57437),a=r(2265),n=r(43643),l=r(93448);let i=a.forwardRef((e,t)=>{let{className:r,children:a,...i}=e;return(0,s.jsxs)(n.fC,{ref:t,className:(0,l.cn)("relative overflow-hidden",r),...i,children:[(0,s.jsx)(n.l_,{className:"h-full w-full rounded-[inherit]",children:a}),(0,s.jsx)(o,{}),(0,s.jsx)(n.Ns,{})]})});i.displayName=n.fC.displayName;let o=a.forwardRef((e,t)=>{let{className:r,orientation:a="vertical",...i}=e;return(0,s.jsx)(n.gb,{ref:t,orientation:a,className:(0,l.cn)("flex touch-none select-none transition-colors","vertical"===a&&"h-full w-2.5 border-l border-l-transparent p-[1px]","horizontal"===a&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",r),...i,children:(0,s.jsx)(n.q4,{className:"relative flex-1 rounded-full bg-border"})})});o.displayName=n.gb.displayName},91032:function(e,t,r){"use strict";r.d(t,{Ei:function(){return b},FF:function(){return h},Tu:function(){return p},bC:function(){return g},sw:function(){return c},ue:function(){return x},yo:function(){return d}});var s=r(57437),a=r(2265),n=r(70001),l=r(90535),i=r(32489),o=r(93448);let d=n.fC;n.xz;let c=n.x8,u=n.h_,f=a.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,s.jsx)(n.aV,{className:(0,o.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",r),...a,ref:t})});f.displayName=n.aV.displayName;let m=(0,l.j)("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500 data-[state=open]:animate-in data-[state=closed]:animate-out overflow-hidden",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-full sm:w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-full sm:w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right"}},defaultVariants:{side:"right"}}),x=a.forwardRef((e,t)=>{let{side:r="right",className:a,children:l,hideDefaultClose:d=!1,...c}=e;return(0,s.jsxs)(u,{children:[(0,s.jsx)(f,{}),(0,s.jsxs)(n.VY,{ref:t,className:(0,o.cn)(m({side:r}),a),...c,children:[!d&&(0,s.jsxs)(n.x8,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[(0,s.jsx)(i.Z,{className:"h-4 w-4"}),(0,s.jsx)("span",{className:"sr-only",children:"Close"})]}),l]})]})});x.displayName=n.VY.displayName;let p=e=>{let{className:t,...r}=e;return(0,s.jsx)("div",{className:(0,o.cn)("flex flex-col space-y-2 text-center sm:text-left",t),...r})};p.displayName="SheetHeader";let h=e=>{let{className:t,...r}=e;return(0,s.jsx)("div",{className:(0,o.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...r})};h.displayName="SheetFooter";let g=a.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,s.jsx)(n.Dx,{ref:t,className:(0,o.cn)("text-lg font-semibold text-foreground",r),...a})});g.displayName=n.Dx.displayName;let b=a.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,s.jsx)(n.dk,{ref:t,className:(0,o.cn)("text-sm text-muted-foreground",r),...a})});b.displayName=n.dk.displayName},71488:function(e,t,r){"use strict";r.d(t,{_v:function(){return c},aJ:function(){return d},pn:function(){return i},u:function(){return o}});var s=r(57437),a=r(2265),n=r(91668),l=r(93448);let i=n.zt,o=n.fC,d=n.xz,c=a.forwardRef((e,t)=>{let{className:r,sideOffset:a=4,...i}=e;return(0,s.jsx)(n.VY,{ref:t,sideOffset:a,className:(0,l.cn)("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",r),...i})});c.displayName=n.VY.displayName},93448:function(e,t,r){"use strict";r.d(t,{cn:function(){return n}});var s=r(61994),a=r(53335);function n(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,a.m6)((0,s.W)(t))}},63751:function(e,t,r){"use strict";r.d(t,{CE:function(){return d},Gn:function(){return o}});var s=r(57437),a=r(2265),n=r(72135),l=r(14438);let i=(0,a.createContext)(void 0),o=()=>{let e=(0,a.useContext)(i);if(!e)throw Error("usePreferences must be used within a PreferencesProvider");return e};function d(e){var t;let{children:r}=e,[o,d]=(0,a.useState)([]),[c,u]=(0,a.useState)(!1),{data:f}=(0,n.kS)(),m=(null==f?void 0:f.id)||(null==f?void 0:null===(t=f.user)||void 0===t?void 0:t.id)||null,{data:x,isLoading:p,refetch:h}=(0,n.sm)({resource:"baasix_UserPreference",queryOptions:{enabled:!!m},filters:m?[{field:"userId",operator:"eq",value:m}]:[],pagination:{pageSize:-1,mode:"off"}}),{mutate:g}=(0,n.RO)({resource:"baasix_UserPreference"}),{mutate:b}=(0,n.PQ)({resource:"baasix_UserPreference"});(0,a.useEffect)(()=>{(null==x?void 0:x.data)?(d(x.data),u(!0)):m&&!p&&(d([]),u(!0))},[x,m,p]);let y=(0,a.useMemo)(()=>{let e={};return o.forEach(t=>{t.isDefault&&(e[t.collectionName]||(e[t.collectionName]={}),e[t.collectionName][t.preferenceType]=t)}),e},[o]),v=(0,a.useCallback)((e,t)=>{var r;return(null===(r=y[e])||void 0===r?void 0:r[t])||null},[y]),j=(0,a.useCallback)(async(e,t,r)=>{if(!m){console.warn("No user ID available for saving preferences");return}let s=v(e,t),a={userId:m,collectionName:e,preferenceType:t,preferenceData:r,isDefault:!0};try{(null==s?void 0:s.id)?await new Promise((e,t)=>{b({id:s.id,values:a,successNotification:!1},{onSuccess:()=>{h(),e()},onError:e=>{console.error("Error updating preference:",e),t(e)}})}):await new Promise((e,t)=>{g({values:a,successNotification:!1},{onSuccess:()=>{h(),e()},onError:e=>{console.error("Error creating preference:",e),t(e)}})})}catch(e){throw l.Am.error("Failed to save preferences"),e}},[m,v,g,b,h]),N=(0,a.useCallback)(e=>{var t;let r=null===(t=y[e])||void 0===t?void 0:t.columns;return r?r.preferenceData:null},[y]),w=(0,a.useCallback)(async(e,t)=>{await j(e,"columns",t)},[j]),k=(0,a.useCallback)(e=>{var t;let r=null===(t=y[e])||void 0===t?void 0:t.filters;return r?r.preferenceData:null},[y]),P=(0,a.useCallback)(async(e,t)=>{await j(e,"filters",t)},[j]),C=(0,a.useCallback)(e=>{var t;let r=null===(t=y[e])||void 0===t?void 0:t.sorting;return r?r.preferenceData:null},[y]),S=(0,a.useCallback)(async(e,t)=>{await j(e,"sorting",t)},[j]),D=(0,a.useCallback)(e=>{var t;let r=null===(t=y[e])||void 0===t?void 0:t.pagination;return r?r.preferenceData:null},[y]),R=(0,a.useCallback)(async(e,t)=>{await j(e,"pagination",t)},[j]);return(0,s.jsx)(i.Provider,{value:{getColumnPreferences:N,saveColumnPreferences:w,getFilterPreferences:k,saveFilterPreferences:P,getSortingPreferences:C,saveSortingPreferences:S,getPaginationPreferences:D,savePaginationPreferences:R,isLoading:p,isInitialized:c,refetchPreferences:h},children:r})}},81853:function(e,t,r){"use strict";r.d(t,{Ml:function(){return i},PY:function(){return l}});var s=r(57437),a=r(2265);let n=(0,a.createContext)({projectSettings:null,isMultiTenant:!1,isLoading:!0,refetch:()=>{}}),l=()=>a.useContext(n)||(console.warn("useProject used outside of ProjectContextProvider, using defaults"),{projectSettings:null,isMultiTenant:!1,isLoading:!1,refetch:()=>{}}),i=e=>{let{children:t,baasixClient:r}=e,[l,i]=(0,a.useState)(null),[o,d]=(0,a.useState)(!0),c=(0,a.useCallback)(async()=>{try{d(!0);let e=await r.server.info();i(null==e?void 0:e.project)}catch(e){console.error("Failed to fetch project settings",e)}finally{d(!1)}},[r]);(0,a.useEffect)(()=>{c()},[c]);let u=(null==l?void 0:l.multitenant)===!0||(null==l?void 0:l.multitenant)==="true";return(0,s.jsx)(n.Provider,{value:{projectSettings:l,isMultiTenant:u,isLoading:o,refetch:c},children:t})}},29696:function(e,t,r){"use strict";r.d(t,{A1:function(){return o},I_:function(){return i}});var s=r(57437),a=r(2265),n=r(72135);let l=(0,a.createContext)(void 0),i=()=>{let e=(0,a.useContext)(l);if(!e)throw Error("useSchema must be used within a SchemaProvider");return e};function o(e){let{children:t}=e,{data:r,isLoading:a,refetch:i}=(0,n.sm)({resource:"collections",queryOptions:{enabled:!0},sorters:[{field:"collectionName",order:"asc"}],pagination:{pageSize:500}}),o=(null==r?void 0:r.data)||[],d=e=>o.find(t=>t.collectionName===e),c=e=>{let t=d(e),r=null==t?void 0:t.schema.fields;if(r){let t={...r};for(let[e,r]of Object.entries(t))r.hidden&&delete t[e];return"baasix_Account"===e&&(delete t.password,delete t.accessToken,delete t.refreshToken,delete t.idToken),"baasix_Verification"===e&&delete t.value,"baasix_Sessions"===e&&delete t.token,t}return r},u=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5,s=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(0===r)return[];let a=c(e);return a?Object.entries(a).map(e=>{let[a,n]=e,l=t?"".concat(t,".").concat(a):a,i=s?{title:n.relType?l+".*":l,value:n.relType?l+".*":l,key:n.relType?l+".*":l,isLeaf:!n.relType}:{title:l,value:l,key:l,isLeaf:!n.relType};return n.relType&&n.target&&(i.children=u(n.target,l,r-1,s)),i}):[]};return(0,s.jsx)(l.Provider,{value:{schemas:o,isLoading:a,refetch:i,getSchemaByName:d,getFieldsByCollection:c,getCollectionChoices:()=>o.map(e=>({label:e.schema.name,value:e.collectionName})),getTargetFields:e=>{let t=c(e);return t?Object.entries(t).map(e=>{let[t]=e;return{label:t,value:t}}):[]},formatRelationshipDisplay:(e,t)=>e&&t?null==t?void 0:t.split(",").map(t=>{let r=t.trim();return e[r]||r}).join(""):"",getNestedFields:e=>u(e),getPermissionFields:e=>[{title:"*",value:"*",key:"*",isLeaf:!0},...u(e,"",6,!0),{title:"*.*",value:"*.*",key:"*.*",isLeaf:!0},{title:"*.*.*",value:"*.*.*",key:"*.*.*",isLeaf:!0},{title:"*.*.*.*",value:"*.*.*.*",key:"*.*.*.*",isLeaf:!0}],isSortEnabled:e=>{var t;let r=d(e);return(null==r?void 0:null===(t=r.schema)||void 0===t?void 0:t.sortEnabled)===!0}},children:t})}},45114:function(e,t,r){"use strict";r.d(t,{Fg:function(){return o},ze:function(){return f}});var s=r(57437),a=r(2265),n=r(25922),l=r(81853);let i=(0,a.createContext)({}),o=()=>{let e=a.useContext(i);if(!e)throw Error("useTheme must be used within a ThemeContextProvider");return e};function d(e,t,r){return"".concat(e," ").concat(t,"% ").concat(r,"%")}function c(e,t,r){return Math.min(Math.max(e,t),r)}let u=e=>{let{children:t,defaultMode:r="dark"}=e,{setTheme:o,resolvedTheme:u}=(0,n.F)(),{projectSettings:f}=(0,l.PY)(),[m,x]=(0,a.useState)(!1);return((0,a.useEffect)(()=>{x(!0)},[]),(0,a.useEffect)(()=>{m&&(null==f?void 0:f.color)&&function(e,t){let r=function(e){if(6!==(e=e.replace(/^#/,"")).length)return null;let t=parseInt(e.substring(0,2),16)/255,r=parseInt(e.substring(2,4),16)/255,s=parseInt(e.substring(4,6),16)/255,a=Math.max(t,r,s),n=Math.min(t,r,s),l=0,i=0,o=(a+n)/2;if(a!==n){let e=a-n;switch(i=o>.5?e/(2-a-n):e/(a+n),a){case t:l=((r-s)/e+(r<s?6:0))/6;break;case r:l=((s-t)/e+2)/6;break;case s:l=((t-r)/e+4)/6}}return{h:Math.round(360*l),s:Math.round(100*i),l:Math.round(100*o)}}(e);if(!r)return;let s=document.documentElement,{h:a,s:n,l}=r,i=d(a,n,l);s.style.setProperty("--primary",i);let o=l>50?d(a,c(n-10,0,100),10):d(a,c(n-10,0,100),98);if(s.style.setProperty("--primary-foreground",o),s.style.setProperty("--ring",i),t){let e=d(a,c(n-20,10,40),c(l-5,15,25));s.style.setProperty("--accent",e),s.style.setProperty("--accent-foreground",d(a,c(n-30,0,30),95));let t=d(a,c(n-25,5,35),c(l-10,15,22));s.style.setProperty("--muted",t),s.style.setProperty("--muted-foreground",d(a,c(n-30,5,25),65)),s.style.setProperty("--secondary",d(a,c(n-20,10,35),c(l-8,15,22))),s.style.setProperty("--secondary-foreground",d(a,c(n-30,0,30),95)),s.style.setProperty("--border",d(a,c(n-25,5,35),c(l-10,18,28))),s.style.setProperty("--input",d(a,c(n-25,5,35),c(l-10,18,28))),s.style.setProperty("--sidebar-background",d(a,c(n-30,5,20),8)),s.style.setProperty("--sidebar-foreground",d(a,c(n-30,5,20),92)),s.style.setProperty("--sidebar-primary",i),s.style.setProperty("--sidebar-primary-foreground",o),s.style.setProperty("--sidebar-accent",d(a,c(n-25,5,25),15)),s.style.setProperty("--sidebar-accent-foreground",d(a,c(n-30,5,20),92)),s.style.setProperty("--sidebar-border",d(a,c(n-30,5,20),15)),s.style.setProperty("--sidebar-ring",i),s.style.setProperty("--chart-1",d(a,70,50)),s.style.setProperty("--chart-2",d((a+60)%360,60,45)),s.style.setProperty("--chart-3",d((a+120)%360,80,55)),s.style.setProperty("--chart-4",d((a+180)%360,65,60)),s.style.setProperty("--chart-5",d((a+240)%360,75,55))}else{let e=d(a,c(n-10,20,50),c(l+30,90,97));s.style.setProperty("--accent",e),s.style.setProperty("--accent-foreground",d(a,c(n,30,60),15));let t=d(a,c(n-20,10,45),c(l+35,94,98));s.style.setProperty("--muted",t),s.style.setProperty("--muted-foreground",d(a,c(n-20,10,30),45)),s.style.setProperty("--secondary",d(a,c(n-15,15,45),c(l+32,92,97))),s.style.setProperty("--secondary-foreground",d(a,c(n,30,60),15)),s.style.setProperty("--border",d(a,c(n-20,10,35),88)),s.style.setProperty("--input",d(a,c(n-20,10,35),88)),s.style.setProperty("--sidebar-background",d(a,c(n-25,5,25),97)),s.style.setProperty("--sidebar-foreground",d(a,c(n-20,10,30),25)),s.style.setProperty("--sidebar-primary",i),s.style.setProperty("--sidebar-primary-foreground",o),s.style.setProperty("--sidebar-accent",d(a,c(n-15,10,40),93)),s.style.setProperty("--sidebar-accent-foreground",d(a,c(n-20,10,30),20)),s.style.setProperty("--sidebar-border",d(a,c(n-25,5,25),90)),s.style.setProperty("--sidebar-ring",i),s.style.setProperty("--chart-1",d(a,76,61)),s.style.setProperty("--chart-2",d((a+60)%360,58,39)),s.style.setProperty("--chart-3",d((a+120)%360,37,24)),s.style.setProperty("--chart-4",d((a+180)%360,74,66)),s.style.setProperty("--chart-5",d((a+240)%360,87,67))}}(f.color,"dark"===u)},[m,null==f?void 0:f.color,u]),m)?(0,s.jsx)(i.Provider,{value:{setMode:()=>{o("light"===u?"dark":"light")},mode:u||r,primaryColor:(null==f?void 0:f.color)||"#644152"},children:t}):null},f=e=>{let{children:t,defaultMode:r="dark"}=e;return(0,s.jsx)(n.f,{attribute:"class",defaultTheme:r,enableSystem:!0,children:(0,s.jsx)(u,{defaultMode:r,children:t})})}}},function(e){e.O(0,[7999,5094,4438,6530,6241,4475,926,600,1668,9124,8473,3563,478,6599,2971,2117,1744],function(){return e(e.s=57166)}),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3753],{55203:function(e,s,a){Promise.resolve().then(a.bind(a,36818))},36818:function(e,s,a){"use strict";a.r(s),a.d(s,{default:function(){return F}});var l=a(57437),t=a(2265),n=a(72135),r=a(14438),i=a(79820),c=a(12381),d=a(69174),o=a(40279),m=a(43368),x=a(75060),u=a(23675),h=a(17168),j=a(90641),g=a(69140),p=a(33804),f=a(30767),v=a(74291),N=a(15291),b=a(92934),w=a(91723),y=a(51817),k=a(99388),C=a(69076),Z=a(76865),S=a(16066),M=a(49322),A=a(50091),z=a(71947),R=a(82431),O=a(99397),_=a(33276),D=a(10866),T=a(65621),L=a(22135),E=a(40875),V=a(7598),U=a(27107);let B=e=>{let{status:s}=e,a={completed:{variant:"default",icon:(0,l.jsx)(b.Z,{className:"h-3 w-3 mr-1"}),label:"Completed"},pending:{variant:"secondary",icon:(0,l.jsx)(w.Z,{className:"h-3 w-3 mr-1"}),label:"Pending"},running:{variant:"outline",icon:(0,l.jsx)(y.Z,{className:"h-3 w-3 mr-1 animate-spin"}),label:"Running"},failed:{variant:"destructive",icon:(0,l.jsx)(k.Z,{className:"h-3 w-3 mr-1"}),label:"Failed"},rolled_back:{variant:"outline",icon:(0,l.jsx)(C.Z,{className:"h-3 w-3 mr-1"}),label:"Rolled Back"},skipped:{variant:"secondary",icon:(0,l.jsx)(Z.Z,{className:"h-3 w-3 mr-1"}),label:"Skipped"}}[s]||{variant:"secondary",icon:null,label:s};return(0,l.jsxs)(d.C,{variant:a.variant,className:"flex items-center",children:[a.icon,a.label]})},Y=e=>{let{type:s}=e,a={upgrade:{color:"bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200",icon:(0,l.jsx)(S.Z,{className:"h-3 w-3 mr-1"})},hotfix:{color:"bg-orange-100 text-orange-800 dark:bg-orange-900 dark:text-orange-200",icon:(0,l.jsx)(M.Z,{className:"h-3 w-3 mr-1"})},rollback:{color:"bg-purple-100 text-purple-800 dark:bg-purple-900 dark:text-purple-200",icon:(0,l.jsx)(C.Z,{className:"h-3 w-3 mr-1"})},data:{color:"bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-200",icon:(0,l.jsx)(A.Z,{className:"h-3 w-3 mr-1"})},schema:{color:"bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-200",icon:(0,l.jsx)(z.Z,{className:"h-3 w-3 mr-1"})}}[s]||{color:"bg-gray-100 text-gray-800",icon:null};return(0,l.jsxs)(d.C,{variant:"outline",className:"flex items-center ".concat(a.color),children:[a.icon,s]})},P=()=>{var e,s,a;let k=(0,n.Ji)(),[S,M]=(0,t.useState)("status"),[z,P]=(0,t.useState)(""),[F,H]=(0,t.useState)([]),[Q,q]=(0,t.useState)(new Set),[$,I]=(0,t.useState)(!1),[W,J]=(0,t.useState)(!1),[K,G]=(0,t.useState)(!1),[X,ee]=(0,t.useState)(!1),[es,ea]=(0,t.useState)(!1),[el,et]=(0,t.useState)(null),[en,er]=(0,t.useState)({name:"",description:"",type:"upgrade"}),{data:ei,isLoading:ec,refetch:ed}=(0,n.EV)({url:"".concat(k,"/migrations/status"),method:"get",queryOptions:{refetchInterval:5e3}}),{data:eo,isLoading:em,refetch:ex}=(0,n.EV)({url:"".concat(k,"/migrations"),method:"get"}),{data:eu,isLoading:eh,refetch:ej}=(0,n.EV)({url:"".concat(k,"/migrations/pending"),method:"get"}),{mutate:eg,isLoading:ep}=(0,n.uC)(),{mutate:ef,isLoading:ev}=(0,n.uC)(),{mutate:eN,isLoading:eb}=(0,n.uC)(),{mutate:ew,isLoading:ey}=(0,n.uC)(),{mutate:ek,isLoading:eC}=(0,n.uC)(),{mutate:eZ,isLoading:eS}=(0,n.uC)(),eM=null==ei?void 0:null===(e=ei.data)||void 0===e?void 0:e.data,eA=(null==eo?void 0:null===(s=eo.data)||void 0===s?void 0:s.data)||[],ez=(null==eu?void 0:null===(a=eu.data)||void 0===a?void 0:a.data)||[],eR=(0,t.useMemo)(()=>{if(!z.trim())return eA;let e=z.toLowerCase();return eA.filter(s=>{var a;return s.version.toLowerCase().includes(e)||s.name.toLowerCase().includes(e)||(null===(a=s.description)||void 0===a?void 0:a.toLowerCase().includes(e))})},[eA,z]),eO=()=>{ed(),ex(),ej()},e_=e=>{ef({url:"".concat(k,"/migrations/rollback/").concat(encodeURIComponent(e)),method:"post",values:{}},{onSuccess:()=>{r.Am.success("Successfully rolled back migration ".concat(e)),J(!1),et(null),eO()},onError:e=>{r.Am.error("Failed to rollback: ".concat(e.message))}})},eD=e=>{eZ({url:"".concat(k,"/migrations/rollback-batch"),method:"post",values:{batch:e}},{onSuccess:s=>{var a,l;let t=null==s?void 0:null===(a=s.data)||void 0===a?void 0:a.data;r.Am.success("Successfully rolled back ".concat((null==t?void 0:null===(l=t.rolledBack)||void 0===l?void 0:l.length)||0," migration(s) from batch ").concat(e)),eO()},onError:e=>{r.Am.error("Failed to rollback batch: ".concat(e.message))}})},eT=e=>{eN({url:"".concat(k,"/migrations/mark-completed/").concat(encodeURIComponent(e)),method:"post",values:{}},{onSuccess:()=>{r.Am.success("Marked migration ".concat(e," as completed")),G(!1),eO()},onError:e=>{r.Am.error("Failed to mark as completed: ".concat(e.message))}})},eL=e=>{q(s=>{let a=new Set(s);return a.has(e)?a.delete(e):a.add(e),a})},eE=e=>{et(e),ea(!0)};return ec?(0,l.jsxs)("div",{className:"flex flex-col h-full overflow-hidden gap-4",children:[(0,l.jsxs)("div",{className:"flex items-center justify-between",children:[(0,l.jsx)(g.O,{className:"h-8 w-48"}),(0,l.jsx)(g.O,{className:"h-10 w-32"})]}),(0,l.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-4 gap-4",children:[1,2,3,4].map(e=>(0,l.jsx)(g.O,{className:"h-24"},e))}),(0,l.jsx)(g.O,{className:"h-96"})]}):(0,l.jsxs)("div",{className:"flex flex-col h-full overflow-hidden gap-4",children:[(0,l.jsxs)("div",{className:"flex flex-col sm:flex-row items-start sm:items-center justify-between gap-2 flex-shrink-0",children:[(0,l.jsx)("h1",{className:"text-lg font-semibold",children:"Database Migrations"}),(0,l.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,l.jsx)(c.z,{variant:"outline",size:"icon",onClick:eO,children:(0,l.jsx)(R.Z,{className:"h-4 w-4"})}),(0,l.jsxs)(c.z,{variant:"outline",onClick:()=>ee(!0),children:[(0,l.jsx)(O.Z,{className:"mr-2 h-4 w-4"}),"Create Migration"]}),(0,l.jsxs)(c.z,{onClick:()=>I(!0),disabled:!ez.length||ep,children:[ep?(0,l.jsx)(y.Z,{className:"mr-2 h-4 w-4 animate-spin"}):(0,l.jsx)(_.Z,{className:"mr-2 h-4 w-4"}),"Run Migrations"]})]})]}),(null==eM?void 0:eM.isSequelizeUpgrade)&&(0,l.jsx)(i.Zb,{className:"border-amber-500 bg-amber-50 dark:bg-amber-950",children:(0,l.jsx)(i.aY,{className:"py-4",children:(0,l.jsxs)("div",{className:"flex items-center gap-3",children:[(0,l.jsx)(Z.Z,{className:"h-5 w-5 text-amber-600"}),(0,l.jsxs)("div",{children:[(0,l.jsx)("p",{className:"font-medium text-amber-800 dark:text-amber-200",children:"Sequelize to Drizzle Upgrade Detected"}),(0,l.jsx)("p",{className:"text-sm text-amber-700 dark:text-amber-300",children:"Your database appears to be from an older Sequelize-based version. Please run the pending migrations to complete the upgrade."})]})]})})}),(0,l.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-4 gap-4 flex-shrink-0",children:[(0,l.jsx)(i.Zb,{children:(0,l.jsxs)(i.Ol,{className:"pb-2",children:[(0,l.jsx)(i.SZ,{children:"Current Version"}),(0,l.jsx)(i.ll,{className:"text-2xl font-mono",children:(null==eM?void 0:eM.currentVersion)||"No migrations"})]})}),(0,l.jsx)(i.Zb,{children:(0,l.jsxs)(i.Ol,{className:"pb-2",children:[(0,l.jsx)(i.SZ,{children:"Applied Migrations"}),(0,l.jsx)(i.ll,{className:"text-2xl",children:(null==eM?void 0:eM.appliedCount)||0})]})}),(0,l.jsx)(i.Zb,{className:(null==eM?void 0:eM.pendingCount)?"border-amber-500":"",children:(0,l.jsxs)(i.Ol,{className:"pb-2",children:[(0,l.jsx)(i.SZ,{children:"Pending Migrations"}),(0,l.jsxs)(i.ll,{className:"text-2xl flex items-center gap-2",children:[(null==eM?void 0:eM.pendingCount)||0,(null==eM?void 0:eM.pendingCount)?(0,l.jsx)(Z.Z,{className:"h-5 w-5 text-amber-500"}):(0,l.jsx)(b.Z,{className:"h-5 w-5 text-green-500"})]})]})}),(0,l.jsx)(i.Zb,{children:(0,l.jsxs)(i.Ol,{className:"pb-2",children:[(0,l.jsx)(i.SZ,{children:"Last Batch"}),(0,l.jsxs)(i.ll,{className:"text-2xl",children:["#",(null==eM?void 0:eM.lastBatch)||0]})]})})]}),(0,l.jsxs)(h.mQ,{value:S,onValueChange:M,className:"flex-1 flex flex-col min-h-0",children:[(0,l.jsxs)(h.dr,{className:"grid w-full max-w-md grid-cols-3",children:[(0,l.jsxs)(h.SP,{value:"status",children:[(0,l.jsx)(D.Z,{className:"h-4 w-4 mr-2"}),"Status"]}),(0,l.jsxs)(h.SP,{value:"pending",children:[(0,l.jsx)(w.Z,{className:"h-4 w-4 mr-2"}),"Pending (",ez.length,")"]}),(0,l.jsxs)(h.SP,{value:"history",children:[(0,l.jsx)(T.Z,{className:"h-4 w-4 mr-2"}),"History"]})]}),(0,l.jsx)(h.nU,{value:"status",className:"flex-1 overflow-hidden",children:(0,l.jsxs)(i.Zb,{className:"h-full",children:[(0,l.jsxs)(i.Ol,{children:[(0,l.jsx)(i.ll,{children:"Migration Status"}),(0,l.jsx)(i.SZ,{children:"Overview of your database migration state"})]}),(0,l.jsxs)(i.aY,{className:"space-y-6",children:[(null==eM?void 0:eM.lastMigration)&&(0,l.jsxs)("div",{className:"space-y-2",children:[(0,l.jsx)("h3",{className:"text-sm font-medium text-muted-foreground",children:"Last Applied Migration"}),(0,l.jsx)(i.Zb,{children:(0,l.jsx)(i.aY,{className:"py-4",children:(0,l.jsxs)("div",{className:"flex items-center justify-between",children:[(0,l.jsxs)("div",{children:[(0,l.jsx)("p",{className:"font-mono font-medium",children:eM.lastMigration.version}),(0,l.jsx)("p",{className:"text-sm text-muted-foreground",children:eM.lastMigration.name})]}),(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)(B,{status:eM.lastMigration.status}),eM.lastMigration.executedAt&&(0,l.jsx)("span",{className:"text-sm text-muted-foreground",children:(0,V.Q)(new Date(eM.lastMigration.executedAt),{addSuffix:!0})})]})]})})})]}),(0,l.jsxs)("div",{className:"space-y-2",children:[(0,l.jsx)("h3",{className:"text-sm font-medium text-muted-foreground",children:"Quick Actions"}),(0,l.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,l.jsxs)(c.z,{variant:"outline",onClick:()=>I(!0),disabled:!ez.length,children:[(0,l.jsx)(_.Z,{className:"h-4 w-4 mr-2"}),"Run All Pending"]}),(0,l.jsxs)(c.z,{variant:"outline",onClick:()=>{ew({url:"".concat(k,"/migrations/mark-all-completed"),method:"post",values:{}},{onSuccess:e=>{var s,a;let l=(null==e?void 0:null===(a=e.data)||void 0===a?void 0:null===(s=a.data)||void 0===s?void 0:s.markedCount)||0;r.Am.success("Marked ".concat(l," migration(s) as completed")),eO()},onError:e=>{r.Am.error("Failed to mark all as completed: ".concat(e.message))}})},disabled:ey||!ez.length,children:[ey?(0,l.jsx)(y.Z,{className:"h-4 w-4 mr-2 animate-spin"}):(0,l.jsx)(b.Z,{className:"h-4 w-4 mr-2"}),"Mark All as Completed"]}),(null==eM?void 0:eM.lastBatch)&&eM.lastBatch>0&&(0,l.jsxs)(c.z,{variant:"outline",onClick:()=>eD(eM.lastBatch),disabled:eS,children:[eS?(0,l.jsx)(y.Z,{className:"h-4 w-4 mr-2 animate-spin"}):(0,l.jsx)(C.Z,{className:"h-4 w-4 mr-2"}),"Rollback Batch #",eM.lastBatch]})]})]}),(0,l.jsxs)("div",{className:"space-y-2",children:[(0,l.jsx)("h3",{className:"text-sm font-medium text-muted-foreground",children:"System Information"}),(0,l.jsxs)("div",{className:"grid grid-cols-2 gap-4 text-sm",children:[(0,l.jsxs)("div",{children:[(0,l.jsx)("span",{className:"text-muted-foreground",children:"Total Migrations:"}),(0,l.jsx)("span",{className:"ml-2 font-medium",children:(null==eM?void 0:eM.totalMigrations)||0})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)("span",{className:"text-muted-foreground",children:"Status:"}),(0,l.jsx)("span",{className:"ml-2",children:(null==eM?void 0:eM.isUpToDate)?(0,l.jsxs)(d.C,{variant:"default",children:[(0,l.jsx)(b.Z,{className:"h-3 w-3 mr-1"}),"Up to Date"]}):(0,l.jsxs)(d.C,{variant:"secondary",children:[(0,l.jsx)(Z.Z,{className:"h-3 w-3 mr-1"}),"Updates Available"]})})]})]})]})]})]})}),(0,l.jsx)(h.nU,{value:"pending",className:"flex-1 overflow-hidden",children:(0,l.jsxs)(i.Zb,{className:"h-full flex flex-col",children:[(0,l.jsxs)(i.Ol,{children:[(0,l.jsx)(i.ll,{children:"Pending Migrations"}),(0,l.jsx)(i.SZ,{children:"Migrations waiting to be applied"})]}),(0,l.jsx)(i.aY,{className:"flex-1 overflow-hidden",children:eh?(0,l.jsx)("div",{className:"space-y-2",children:[1,2,3].map(e=>(0,l.jsx)(g.O,{className:"h-16"},e))}):0===ez.length?(0,l.jsxs)("div",{className:"flex flex-col items-center justify-center h-full text-muted-foreground",children:[(0,l.jsx)(b.Z,{className:"h-12 w-12 mb-4 text-green-500"}),(0,l.jsx)("p",{className:"text-lg font-medium",children:"All migrations are up to date!"}),(0,l.jsx)("p",{className:"text-sm",children:"No pending migrations to run."})]}):(0,l.jsx)(j.x,{className:"h-full",children:(0,l.jsx)("div",{className:"space-y-2",children:ez.map((e,s)=>(0,l.jsx)(i.Zb,{children:(0,l.jsx)(i.aY,{className:"py-4",children:(0,l.jsxs)("div",{className:"flex items-center justify-between",children:[(0,l.jsxs)("div",{className:"flex items-center gap-4",children:[(0,l.jsxs)("span",{className:"text-muted-foreground w-6",children:[s+1,"."]}),(0,l.jsxs)("div",{children:[(0,l.jsx)("p",{className:"font-mono font-medium",children:e.version}),(0,l.jsx)("p",{className:"text-sm text-muted-foreground",children:e.name}),e.description&&(0,l.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:e.description})]})]}),(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)(Y,{type:e.type}),e.canRollback&&(0,l.jsx)(d.C,{variant:"outline",className:"text-xs",children:"Reversible"}),(0,l.jsx)(c.z,{size:"sm",variant:"outline",onClick:()=>eT(e.version),children:"Mark Done"})]})]})})},e.version))})})})]})}),(0,l.jsx)(h.nU,{value:"history",className:"flex-1 overflow-hidden",children:(0,l.jsxs)(i.Zb,{className:"h-full flex flex-col",children:[(0,l.jsx)(i.Ol,{className:"flex-shrink-0",children:(0,l.jsxs)("div",{className:"flex flex-col sm:flex-row items-start sm:items-center justify-between gap-2",children:[(0,l.jsxs)("div",{children:[(0,l.jsx)(i.ll,{children:"Migration History"}),(0,l.jsx)(i.SZ,{children:"All applied migrations"})]}),(0,l.jsx)(m.t,{value:z,onChange:P,placeholder:"Search migrations...",expandedWidth:"w-64"})]})}),(0,l.jsx)(i.aY,{className:"flex-1 overflow-hidden p-0",children:em?(0,l.jsx)("div",{className:"p-6 space-y-2",children:[1,2,3,4,5].map(e=>(0,l.jsx)(g.O,{className:"h-12"},e))}):0===eR.length?(0,l.jsxs)("div",{className:"flex flex-col items-center justify-center h-full text-muted-foreground",children:[(0,l.jsx)(A.Z,{className:"h-12 w-12 mb-4"}),(0,l.jsx)("p",{className:"text-lg font-medium",children:"No migrations found"}),(0,l.jsx)("p",{className:"text-sm",children:z?"Try a different search term":"No migrations have been run yet"})]}):(0,l.jsx)(j.x,{className:"h-full",children:(0,l.jsxs)(p.iA,{children:[(0,l.jsx)(p.xD,{className:"sticky top-0 bg-background",children:(0,l.jsxs)(p.SC,{children:[(0,l.jsx)(p.ss,{className:"w-8"}),(0,l.jsx)(p.ss,{children:"Version"}),(0,l.jsx)(p.ss,{children:"Name"}),(0,l.jsx)(p.ss,{children:"Type"}),(0,l.jsx)(p.ss,{children:"Status"}),(0,l.jsx)(p.ss,{children:"Batch"}),(0,l.jsx)(p.ss,{children:"Executed"}),(0,l.jsx)(p.ss,{children:"Duration"}),(0,l.jsx)(p.ss,{className:"w-24",children:"Actions"})]})}),(0,l.jsx)(p.RM,{children:eR.map(e=>(0,l.jsxs)(t.Fragment,{children:[(0,l.jsxs)(p.SC,{className:"failed"===e.status?"bg-red-50 dark:bg-red-950":"",children:[(0,l.jsx)(p.pj,{children:(e.errorMessage||e.description)&&(0,l.jsx)(c.z,{variant:"ghost",size:"icon",className:"h-6 w-6",onClick:()=>eL(e.id),children:Q.has(e.id)?(0,l.jsx)(L.Z,{className:"h-4 w-4"}):(0,l.jsx)(E.Z,{className:"h-4 w-4"})})}),(0,l.jsx)(p.pj,{className:"font-mono text-sm",children:e.version}),(0,l.jsx)(p.pj,{children:e.name}),(0,l.jsx)(p.pj,{children:(0,l.jsx)(Y,{type:e.type})}),(0,l.jsx)(p.pj,{children:(0,l.jsx)(B,{status:e.status})}),(0,l.jsxs)(p.pj,{children:["#",e.batch||"-"]}),(0,l.jsx)(p.pj,{children:e.executedAt?(0,U.WU)(new Date(e.executedAt),"MMM d, yyyy HH:mm"):"-"}),(0,l.jsx)(p.pj,{children:e.executionTimeMs?"".concat(e.executionTimeMs,"ms"):"-"}),(0,l.jsx)(p.pj,{children:(0,l.jsxs)("div",{className:"flex items-center gap-1",children:[(0,l.jsx)(c.z,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:()=>eE(e),children:(0,l.jsx)(D.Z,{className:"h-4 w-4"})}),e.canRollback&&"completed"===e.status&&(0,l.jsx)(c.z,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:()=>{et(e),J(!0)},children:(0,l.jsx)(C.Z,{className:"h-4 w-4"})})]})})]}),Q.has(e.id)&&(0,l.jsx)(p.SC,{children:(0,l.jsxs)(p.pj,{colSpan:9,className:"bg-muted/50 p-4",children:[e.description&&(0,l.jsxs)("p",{className:"text-sm mb-2",children:[(0,l.jsx)("strong",{children:"Description:"})," ",e.description]}),e.errorMessage&&(0,l.jsxs)("div",{className:"text-sm text-red-600 dark:text-red-400",children:[(0,l.jsx)("strong",{children:"Error:"}),(0,l.jsx)("pre",{className:"mt-1 p-2 bg-red-100 dark:bg-red-900 rounded text-xs overflow-x-auto",children:e.errorMessage}),e.errorStack&&(0,l.jsxs)("details",{className:"mt-2",children:[(0,l.jsx)("summary",{className:"cursor-pointer text-xs",children:"Stack trace"}),(0,l.jsx)("pre",{className:"mt-1 p-2 bg-red-100 dark:bg-red-900 rounded text-xs overflow-x-auto",children:e.errorStack})]})]})]})})]},e.id))})]})})})]})})]}),(0,l.jsx)(f.aR,{open:$,onOpenChange:I,children:(0,l.jsxs)(f._T,{children:[(0,l.jsxs)(f.fY,{children:[(0,l.jsx)(f.f$,{children:"Run Pending Migrations?"}),(0,l.jsxs)(f.yT,{children:["This will execute ",ez.length," pending migration(s). Make sure you have a database backup before proceeding."]})]}),(0,l.jsx)("div",{className:"max-h-48 overflow-y-auto my-4",children:(0,l.jsx)("div",{className:"space-y-2",children:ez.map(e=>(0,l.jsxs)("div",{className:"text-sm p-2 bg-muted rounded flex items-center justify-between",children:[(0,l.jsx)("span",{className:"font-mono",children:e.version}),(0,l.jsx)(Y,{type:e.type})]},e.version))})}),(0,l.jsxs)(f.xo,{children:[(0,l.jsx)(f.le,{children:"Cancel"}),(0,l.jsxs)(f.OL,{onClick:()=>{eg({url:"".concat(k,"/migrations/run"),method:"post",values:{}},{onSuccess:e=>{var s,a,l;let t=null==e?void 0:null===(s=e.data)||void 0===s?void 0:s.data;(null==t?void 0:null===(a=t.applied)||void 0===a?void 0:a.length)>0?r.Am.success("Successfully ran ".concat(t.applied.length," migration(s)")):r.Am.info("No pending migrations to run"),(null==t?void 0:null===(l=t.failed)||void 0===l?void 0:l.length)>0&&r.Am.error("".concat(t.failed.length," migration(s) failed")),I(!1),eO()},onError:e=>{r.Am.error("Failed to run migrations: ".concat(e.message))}})},disabled:ep,className:"bg-primary",children:[ep?(0,l.jsx)(y.Z,{className:"mr-2 h-4 w-4 animate-spin"}):(0,l.jsx)(_.Z,{className:"mr-2 h-4 w-4"}),"Run Migrations"]})]})]})}),(0,l.jsx)(f.aR,{open:W,onOpenChange:J,children:(0,l.jsxs)(f._T,{children:[(0,l.jsxs)(f.fY,{children:[(0,l.jsx)(f.f$,{children:"Rollback Migration?"}),(0,l.jsxs)(f.yT,{children:["This will rollback migration"," ",(0,l.jsx)("span",{className:"font-mono font-medium",children:null==el?void 0:el.version}),". This action may cause data loss. Are you sure?"]})]}),(0,l.jsxs)(f.xo,{children:[(0,l.jsx)(f.le,{children:"Cancel"}),(0,l.jsxs)(f.OL,{onClick:()=>el&&e_(el.version),disabled:ev,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:[ev?(0,l.jsx)(y.Z,{className:"mr-2 h-4 w-4 animate-spin"}):(0,l.jsx)(C.Z,{className:"mr-2 h-4 w-4"}),"Rollback"]})]})]})}),(0,l.jsx)(v.Vq,{open:X,onOpenChange:ee,children:(0,l.jsxs)(v.cZ,{children:[(0,l.jsxs)(v.fK,{children:[(0,l.jsx)(v.$N,{children:"Create New Migration"}),(0,l.jsx)(v.Be,{children:"Generate a new migration file in the migrations directory"})]}),(0,l.jsxs)("div",{className:"space-y-4 py-4",children:[(0,l.jsxs)("div",{className:"space-y-2",children:[(0,l.jsx)(x._,{htmlFor:"name",children:"Migration Name"}),(0,l.jsx)(o.I,{id:"name",placeholder:"e.g., add_user_preferences",value:en.name,onChange:e=>er({...en,name:e.target.value})})]}),(0,l.jsxs)("div",{className:"space-y-2",children:[(0,l.jsx)(x._,{htmlFor:"type",children:"Type"}),(0,l.jsxs)(N.Ph,{value:en.type,onValueChange:e=>er({...en,type:e}),children:[(0,l.jsx)(N.i4,{children:(0,l.jsx)(N.ki,{})}),(0,l.jsxs)(N.Bw,{children:[(0,l.jsx)(N.Ql,{value:"upgrade",children:"Upgrade"}),(0,l.jsx)(N.Ql,{value:"hotfix",children:"Hotfix"}),(0,l.jsx)(N.Ql,{value:"data",children:"Data Migration"}),(0,l.jsx)(N.Ql,{value:"schema",children:"Schema Change"})]})]})]}),(0,l.jsxs)("div",{className:"space-y-2",children:[(0,l.jsx)(x._,{htmlFor:"description",children:"Description (optional)"}),(0,l.jsx)(u.g,{id:"description",placeholder:"Describe what this migration does...",value:en.description,onChange:e=>er({...en,description:e.target.value})})]})]}),(0,l.jsxs)(v.cN,{children:[(0,l.jsx)(c.z,{variant:"outline",onClick:()=>ee(!1),children:"Cancel"}),(0,l.jsxs)(c.z,{onClick:()=>{if(!en.name.trim()){r.Am.error("Migration name is required");return}ek({url:"".concat(k,"/migrations/create"),method:"post",values:en},{onSuccess:e=>{var s,a;r.Am.success("Created migration: ".concat(null==e?void 0:null===(a=e.data)||void 0===a?void 0:null===(s=a.data)||void 0===s?void 0:s.filename)),ee(!1),er({name:"",description:"",type:"upgrade"}),eO()},onError:e=>{r.Am.error("Failed to create migration: ".concat(e.message))}})},disabled:eC,children:[eC?(0,l.jsx)(y.Z,{className:"mr-2 h-4 w-4 animate-spin"}):(0,l.jsx)(O.Z,{className:"mr-2 h-4 w-4"}),"Create Migration"]})]})]})}),(0,l.jsx)(v.Vq,{open:es,onOpenChange:ea,children:(0,l.jsxs)(v.cZ,{className:"max-w-2xl",children:[(0,l.jsxs)(v.fK,{children:[(0,l.jsx)(v.$N,{children:"Migration Details"}),(0,l.jsxs)(v.Be,{children:[null==el?void 0:el.version," - ",null==el?void 0:el.name]})]}),el&&(0,l.jsx)("div",{className:"max-h-[60vh] overflow-y-auto pr-2",children:(0,l.jsxs)("div",{className:"space-y-4 py-4",children:[(0,l.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,l.jsxs)("div",{children:[(0,l.jsx)(x._,{className:"text-muted-foreground",children:"Version"}),(0,l.jsx)("p",{className:"font-mono",children:el.version})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)(x._,{className:"text-muted-foreground",children:"Name"}),(0,l.jsx)("p",{children:el.name})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)(x._,{className:"text-muted-foreground",children:"Type"}),(0,l.jsx)("div",{className:"mt-1",children:(0,l.jsx)(Y,{type:el.type})})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)(x._,{className:"text-muted-foreground",children:"Status"}),(0,l.jsx)("div",{className:"mt-1",children:(0,l.jsx)(B,{status:el.status})})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)(x._,{className:"text-muted-foreground",children:"Batch"}),(0,l.jsxs)("p",{children:["#",el.batch||"-"]})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)(x._,{className:"text-muted-foreground",children:"Execution Time"}),(0,l.jsxs)("p",{children:[el.executionTimeMs,"ms"]})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)(x._,{className:"text-muted-foreground",children:"Executed At"}),(0,l.jsx)("p",{children:el.executedAt?(0,U.WU)(new Date(el.executedAt),"MMM d, yyyy HH:mm:ss"):"-"})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)(x._,{className:"text-muted-foreground",children:"Can Rollback"}),(0,l.jsx)("p",{children:el.canRollback?"Yes":"No"})]})]}),el.description&&(0,l.jsxs)("div",{children:[(0,l.jsx)(x._,{className:"text-muted-foreground",children:"Description"}),(0,l.jsx)("p",{className:"mt-1",children:el.description})]}),el.checksum&&(0,l.jsxs)("div",{children:[(0,l.jsx)(x._,{className:"text-muted-foreground",children:"Checksum"}),(0,l.jsx)("p",{className:"mt-1 font-mono text-xs break-all",children:el.checksum})]}),el.errorMessage&&(0,l.jsxs)("div",{children:[(0,l.jsx)(x._,{className:"text-muted-foreground text-red-600",children:"Error"}),(0,l.jsx)("pre",{className:"mt-1 p-3 bg-red-100 dark:bg-red-900 rounded text-sm whitespace-pre-wrap break-words text-red-700 dark:text-red-300",children:el.errorMessage})]}),el.metadata&&Object.keys(el.metadata).length>0&&(0,l.jsxs)("div",{children:[(0,l.jsx)(x._,{className:"text-muted-foreground",children:"Metadata"}),(0,l.jsx)("pre",{className:"mt-1 p-3 bg-muted rounded text-sm whitespace-pre-wrap break-words",children:JSON.stringify(el.metadata,null,2)})]})]})}),(0,l.jsxs)(v.cN,{children:[(0,l.jsx)(c.z,{variant:"outline",onClick:()=>ea(!1),children:"Close"}),(null==el?void 0:el.canRollback)&&(null==el?void 0:el.status)==="completed"&&(0,l.jsxs)(c.z,{variant:"destructive",onClick:()=>{ea(!1),J(!0)},children:[(0,l.jsx)(C.Z,{className:"mr-2 h-4 w-4"}),"Rollback"]})]})]})})]})};var F=()=>(0,l.jsx)(P,{})},30767:function(e,s,a){"use strict";a.d(s,{OL:function(){return p},_T:function(){return x},aR:function(){return c},f$:function(){return j},fY:function(){return u},le:function(){return f},vW:function(){return d},xo:function(){return h},yT:function(){return g}});var l=a(57437),t=a(2265),n=a(16720),r=a(93448),i=a(12381);let c=n.fC,d=n.xz,o=n.h_,m=t.forwardRef((e,s)=>{let{className:a,...t}=e;return(0,l.jsx)(n.aV,{className:(0,r.cn)("fixed inset-0 z-50 bg-background/80 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",a),...t,ref:s})});m.displayName="AlertDialogOverlay";let x=t.forwardRef((e,s)=>{let{className:a,...t}=e;return(0,l.jsxs)(o,{children:[(0,l.jsx)(m,{}),(0,l.jsx)(n.VY,{ref:s,className:(0,r.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 sm:rounded-lg",a),...t})]})});x.displayName="AlertDialogContent";let u=e=>{let{className:s,...a}=e;return(0,l.jsx)("div",{className:(0,r.cn)("flex flex-col space-y-2 text-center sm:text-left",s),...a})};u.displayName="AlertDialogHeader";let h=e=>{let{className:s,...a}=e;return(0,l.jsx)("div",{className:(0,r.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",s),...a})};h.displayName="AlertDialogFooter";let j=t.forwardRef((e,s)=>{let{className:a,...t}=e;return(0,l.jsx)(n.Dx,{ref:s,className:(0,r.cn)("text-lg font-semibold",a),...t})});j.displayName="AlertDialogTitle";let g=t.forwardRef((e,s)=>{let{className:a,...t}=e;return(0,l.jsx)(n.dk,{ref:s,className:(0,r.cn)("text-sm text-muted-foreground",a),...t})});g.displayName="AlertDialogDescription";let p=t.forwardRef((e,s)=>{let{className:a,...t}=e;return(0,l.jsx)(n.aU,{ref:s,className:(0,r.cn)((0,i.d)(),a),...t})});p.displayName="AlertDialogAction";let f=t.forwardRef((e,s)=>{let{className:a,...t}=e;return(0,l.jsx)(n.$j,{ref:s,className:(0,r.cn)((0,i.d)({variant:"outline"}),"mt-2 sm:mt-0",a),...t})});f.displayName="AlertDialogCancel"},69140:function(e,s,a){"use strict";a.d(s,{O:function(){return n}});var l=a(57437),t=a(93448);function n(e){let{className:s,...a}=e;return(0,l.jsx)("div",{className:(0,t.cn)("animate-pulse rounded-md bg-muted",s),...a})}},17168:function(e,s,a){"use strict";a.d(s,{SP:function(){return d},dr:function(){return c},mQ:function(){return i},nU:function(){return o}});var l=a(57437),t=a(2265),n=a(20271),r=a(93448);let i=n.fC,c=t.forwardRef((e,s)=>{let{className:a,...t}=e;return(0,l.jsx)(n.aV,{ref:s,className:(0,r.cn)("inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",a),...t})});c.displayName=n.aV.displayName;let d=t.forwardRef((e,s)=>{let{className:a,...t}=e;return(0,l.jsx)(n.xz,{ref:s,className:(0,r.cn)("inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",a),...t})});d.displayName=n.xz.displayName;let o=t.forwardRef((e,s)=>{let{className:a,...t}=e;return(0,l.jsx)(n.VY,{ref:s,className:(0,r.cn)("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",a),...t})});o.displayName=n.VY.displayName}},function(e){e.O(0,[7999,5094,4438,6530,6241,4475,926,600,1509,9487,3563,4952,6547,2971,2117,1744],function(){return e(e.s=55203)}),_N_E=e.O()}]);
|
package/dist/app/_next/static/chunks/app/(authenticated)/settings/schema/page-e7f836d3a7f7c5d0.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[842],{49204:function(e,a,l){Promise.resolve().then(l.bind(l,67028))},79205:function(e,a,l){"use strict";l.d(a,{Z:function(){return d}});var s=l(2265);let t=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),n=function(){for(var e=arguments.length,a=Array(e),l=0;l<e;l++)a[l]=arguments[l];return a.filter((e,a,l)=>!!e&&l.indexOf(e)===a).join(" ")};var i={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let r=(0,s.forwardRef)((e,a)=>{let{color:l="currentColor",size:t=24,strokeWidth:r=2,absoluteStrokeWidth:d,className:c="",children:o,iconNode:u,...h}=e;return(0,s.createElement)("svg",{ref:a,...i,width:t,height:t,stroke:l,strokeWidth:d?24*Number(r)/Number(t):r,className:n("lucide",c),...h},[...u.map(e=>{let[a,l]=e;return(0,s.createElement)(a,l)}),...Array.isArray(o)?o:[o]])}),d=(e,a)=>{let l=(0,s.forwardRef)((l,i)=>{let{className:d,...c}=l;return(0,s.createElement)(r,{ref:i,iconNode:a,className:n("lucide-".concat(t(e)),d),...c})});return l.displayName="".concat(e),l}},41671:function(e,a,l){"use strict";l.d(a,{Z:function(){return s}});let s=(0,l(79205).Z)("CircleCheckBig",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]])},54001:function(e,a,l){"use strict";l.d(a,{Z:function(){return s}});let s=(0,l(79205).Z)("Key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]])},51817:function(e,a,l){"use strict";l.d(a,{Z:function(){return s}});let s=(0,l(79205).Z)("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},67028:function(e,a,l){"use strict";l.r(a),l.d(a,{default:function(){return eu}});var s=l(57437),t=l(2265),n=l(72135),i=l(29696),r=l(14438),d=l(79820),c=l(12381),o=l(43368),u=l(69174),h=l(33804),m=l(30767),x=l(82431),p=l(99397),j=l(17689),v=l(92735),f=l(51817),g=l(50091),N=l(79205);let y=(0,N.Z)("Columns3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M15 3v18",key:"14nvp0"}]]);var b=l(54001),C=l(98728),w=l(18930),S=l(91032),I=l(40279),A=l(75060),k=l(94589),T=l(15291);let _=e=>{let{open:a,onClose:l,onSuccess:d}=e,[o,u]=(0,t.useState)(""),[h,m]=(0,t.useState)("id"),[x,p]=(0,t.useState)("UUID"),[j,v]=(0,t.useState)(!0),[g,N]=(0,t.useState)(!0),[y,b]=(0,t.useState)(!1),{mutate:C,isLoading:w}=(0,n.RO)(),{refetch:_}=(0,i.I_)(),D=()=>{u(""),m("id"),p("UUID"),v(!0),N(!0),b(!1)};return(0,s.jsx)(S.yo,{open:a,onOpenChange:e=>!e&&l(),children:(0,s.jsxs)(S.ue,{className:"w-[500px] sm:w-[600px] flex flex-col",children:[(0,s.jsx)(S.Tu,{children:(0,s.jsx)(S.bC,{children:"Create New Schema"})}),(0,s.jsxs)("form",{onSubmit:e=>{if(e.preventDefault(),!o.trim()){r.Am.error("Please enter a schema name");return}if(o.length>63){r.Am.error("Schema name must be 63 characters or less (PostgreSQL identifier limit)");return}C({resource:"collections",values:{collectionName:o.toLowerCase(),schema:{name:o,fields:{[h]:{type:x,primaryKey:!0,defaultValue:"UUID"===x?{type:"UUIDV4"}:"Integer"===x?{type:"AUTOINCREMENT"}:"SUID"===x?{type:"SUID"}:void 0}},timestamps:j,paranoid:y,usertrack:g}}},{onSuccess:()=>{r.Am.success("Schema created successfully"),_(),D(),d()},onError:e=>{r.Am.error("Error creating schema: ".concat(e.message))}})},className:"mt-6 space-y-6 flex-1 overflow-y-auto",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(A._,{htmlFor:"schemaName",children:"Schema Name"}),(0,s.jsx)(I.I,{id:"schemaName",placeholder:"Enter schema name",value:o,onChange:e=>u(e.target.value),maxLength:63,className:o.length>63?"border-red-500":"",required:!0}),(0,s.jsxs)("p",{className:"text-xs ".concat(o.length>63?"text-red-600":o.length>50?"text-yellow-600":"text-muted-foreground"),children:[o.length,"/63 characters",o.length>63&&" - Name too long for PostgreSQL!"]})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(A._,{htmlFor:"primaryKeyName",children:"Primary Key Name"}),(0,s.jsx)(I.I,{id:"primaryKeyName",placeholder:"id",value:h,onChange:e=>m(e.target.value),required:!0})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(A._,{htmlFor:"primaryKeyType",children:"Primary Key Type"}),(0,s.jsxs)(T.Ph,{value:x,onValueChange:p,children:[(0,s.jsx)(T.i4,{children:(0,s.jsx)(T.ki,{placeholder:"Select type"})}),(0,s.jsxs)(T.Bw,{children:[(0,s.jsx)(T.Ql,{value:"UUID",children:"UUID"}),(0,s.jsx)(T.Ql,{value:"Integer",children:"Integer"}),(0,s.jsx)(T.Ql,{value:"String",children:"String"}),(0,s.jsx)(T.Ql,{value:"SUID",children:"Short UID"})]})]})]}),(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("div",{className:"space-y-0.5",children:[(0,s.jsx)(A._,{children:"Timestamps"}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:"Add createdAt and updatedAt fields"})]}),(0,s.jsx)(k.r,{checked:j,onCheckedChange:v})]}),(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("div",{className:"space-y-0.5",children:[(0,s.jsx)(A._,{children:"Audit Logs"}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:"Track user changes to records"})]}),(0,s.jsx)(k.r,{checked:g,onCheckedChange:N})]}),(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("div",{className:"space-y-0.5",children:[(0,s.jsx)(A._,{children:"Soft Delete"}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:"Mark records as deleted instead of removing them"})]}),(0,s.jsx)(k.r,{checked:y,onCheckedChange:b})]})]}),(0,s.jsxs)("div",{className:"flex justify-end gap-2 pt-4",children:[(0,s.jsx)(c.z,{type:"button",variant:"outline",onClick:l,children:"Cancel"}),(0,s.jsxs)(c.z,{type:"submit",disabled:w,children:[w&&(0,s.jsx)(f.Z,{className:"mr-2 h-4 w-4 animate-spin"}),"Create Schema"]})]})]})]})})},D=(0,N.Z)("Link2",[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]);var M=l(73247),E=l(45675),R=l(23675),O=l(68245),U=l(33245),L=l(32489),V=l(71488),Z=l(12749),z=l(93448),P=l(79622);let F=[{value:" - ",label:"Dash ( - )"},{value:" ",label:"Space ( )"},{value:", ",label:"Comma (, )"},{value:"_",label:"Underscore (_)"},{value:" & ",label:"Ampersand ( & )"},{value:" | ",label:"Pipe ( | )"},{value:" (",label:"Open Paren ( ()"},{value:") ",label:"Close Paren ( ))"},{value:"(",label:"Open Paren (()"},{value:")",label:"Close Paren ())"}],Q={text:[{value:"String",label:"String"},{value:"Text",label:"Text"},{value:"HTML",label:"HTML (Rich Text)"},{value:"CiText",label:"Text (Case Insensitive)"},{value:"ENUM",label:"ENUM"}],numeric:[{value:"Integer",label:"Integer"},{value:"BigInt",label:"BigInt"},{value:"Decimal",label:"Decimal"},{value:"Double",label:"Double"},{value:"Real",label:"Real"}],date:[{value:"DateTime",label:"DateTime (with timezone)"},{value:"DateTime_NO_TZ",label:"DateTime (no timezone)"},{value:"Date",label:"Date"},{value:"Time",label:"Time (with timezone)"},{value:"Time_NO_TZ",label:"Time (no timezone)"}],other:[{value:"Boolean",label:"Boolean"},{value:"UUID",label:"UUID"},{value:"SUID",label:"Short UID"},{value:"JSON",label:"JSON"},{value:"JSONB",label:"JSONB"},{value:"VIRTUAL",label:"Virtual"}],array:[{value:"Array_Integer",label:"Array Integer"},{value:"Array_String",label:"Array String"},{value:"Array_Double",label:"Array Double"},{value:"Array_Date",label:"Array Date"},{value:"Array_DateTime",label:"Array DateTime (with timezone)"},{value:"Array_DateTime_NO_TZ",label:"Array DateTime (no timezone)"},{value:"Array_Time",label:"Array Time (with timezone)"},{value:"Array_Time_NO_TZ",label:"Array Time (no timezone)"},{value:"Array_Boolean",label:"Array Boolean"}],range:[{value:"Range_Integer",label:"Range Integer"},{value:"Range_Double",label:"Range Double"},{value:"Range_Decimal",label:"Range Decimal"},{value:"Range_Date",label:"Range Date"},{value:"Range_DateTime",label:"Range DateTime (with timezone)"},{value:"Range_DateTime_NO_TZ",label:"Range DateTime (no timezone)"},{value:"Range_Time",label:"Range Time (with timezone)"},{value:"Range_Time_NO_TZ",label:"Range Time (no timezone)"}],geo:[{value:"Point",label:"Point"},{value:"Polygon",label:"Polygon"},{value:"LineString",label:"LineString"}]},B=[{value:"M2O",label:"Many-to-One"},{value:"O2O",label:"One-to-One"},{value:"M2M",label:"Many-to-Many"},{value:"M2A",label:"Many-to-Any"}],$=e=>["DateTime","DateTime_NO_TZ","Date","Time","Time_NO_TZ"].includes(e),W=e=>{var a,l,d,o,h;let{open:m,onClose:x,collectionName:p,fieldName:j,isRelationship:v,onSuccess:g}=e,[N,y]=(0,t.useState)({name:"",type:"",allowNull:!0,hidden:!1,defaultValue:"",values:[],stringLength:"",precision:"",scale:"",calculated:"",target:"",relType:"",onDelete:"CASCADE",onUpdate:"CASCADE",alias:"",through:"",tables:[],showAs:[],polymorphic:!1,description:"",validateMin:"",validateMax:"",validateIsInt:!1,validateNotEmpty:!1,validateIsEmail:!1,validateIsUrl:!1,validateMinLength:"",validateMaxLength:"",validatePattern:""}),[b,C]=(0,t.useState)([]),[w,_]=(0,t.useState)(!1),{getSchemaByName:D,getNestedFields:M,schemas:E,refetch:W}=(0,i.I_)(),J=(0,t.useMemo)(()=>m&&p?{data:D(p)}:null,[m,p,D]),q=(0,t.useMemo)(()=>(null==E?void 0:E.map(e=>({id:e.collectionName,name:e.collectionName})))||[],[E]),H=(0,t.useMemo)(()=>N.target&&(null==M?void 0:M(N.target))||[],[N.target,M]),{mutate:K,isLoading:X}=(0,n.PQ)(),{mutate:Y,isLoading:G}=(0,n.RO)(),ee=!!j,ea=X||G;(0,t.useEffect)(()=>{if(m&&(null==J?void 0:J.data)&&j){var e,a,l,s,t,n,i,r,d;let c=J.data.schema.fields[j]||{},o=c.values||[],u="",h="",m="";c.values&&"object"==typeof c.values&&!Array.isArray(c.values)&&(u=c.values.stringLength||"",h=c.values.precision||"",m=c.values.scale||"",o=[]);let x="",p=!1;c.defaultValue&&("object"==typeof c.defaultValue&&"NOW"===c.defaultValue.type?x="$NOW":"object"==typeof c.defaultValue&&"UUIDV4"===c.defaultValue.type?x="$UUIDV4":"object"==typeof c.defaultValue&&"SUID"===c.defaultValue.type?x="$SUID":"object"==typeof c.defaultValue&&"AUTOINCREMENT"===c.defaultValue.type?x="$AUTOINCREMENT":"boolean"==typeof c.defaultValue?x=c.defaultValue?"true":"false":(x=String(c.defaultValue),("Integer"===c.type||"BigInt"===c.type)&&""!==x&&(p=!0))),_(p);let f=c.validate||{},g=c.type||"";if(v&&c.relType){if("BelongsTo"===c.relType)g="M2O";else if("HasOne"===c.relType)g="O2O";else if("BelongsToMany"===c.relType)g="M2M";else if("HasMany"===c.relType){if(c.polymorphic)g="M2A";else{let e=D(c.target);g=(null==e?void 0:null===(l=e.schema)||void 0===l?void 0:l.isJunction)?"M2M":"O2M"}}}y({name:j,type:g,allowNull:null===(s=c.allowNull)||void 0===s||s,hidden:null!==(t=c.hidden)&&void 0!==t&&t,defaultValue:x,values:o,stringLength:u,precision:h,scale:m,calculated:c.calculated||"",target:c.target||"",relType:c.relType||"",onDelete:c.onDelete||"CASCADE",onUpdate:c.onUpdate||"CASCADE",alias:c.alias||"",through:c.through||"",tables:c.tables||[],showAs:c.showAs||[],polymorphic:c.polymorphic||!1,constraints:c.constraints,description:c.description||"",validateMin:void 0!==f.min?String(f.min):"",validateMax:void 0!==f.max?String(f.max):"",validateIsInt:null!==(n=f.isInt)&&void 0!==n&&n,validateNotEmpty:null!==(i=f.notEmpty)&&void 0!==i&&i,validateIsEmail:null!==(r=f.isEmail)&&void 0!==r&&r,validateIsUrl:null!==(d=f.isUrl)&&void 0!==d&&d,validateMinLength:(null===(e=f.len)||void 0===e?void 0:e[0])!==void 0?String(f.len[0]):"",validateMaxLength:(null===(a=f.len)||void 0===a?void 0:a[1])!==void 0?String(f.len[1]):"",validatePattern:f.is||f.matches||""}),c.showAs&&Array.isArray(c.showAs)?C(c.showAs):C([])}else m&&!j&&(y({name:"",type:"",allowNull:!0,hidden:!1,defaultValue:"",values:[],stringLength:"",precision:"",scale:"",calculated:"",target:"",relType:"",onDelete:"CASCADE",onUpdate:"CASCADE",alias:"",through:"",tables:[],showAs:[],polymorphic:!1,description:"",validateMin:"",validateMax:"",validateIsInt:!1,validateNotEmpty:!1,validateIsEmail:!1,validateIsUrl:!1,validateMinLength:"",validateMaxLength:"",validatePattern:""}),C([]),_(!1))},[m,J,j]),(0,t.useEffect)(()=>{if(!ee&&v&&("M2M"===N.type||"M2A"===N.type)){let e="";"M2M"===N.type&&N.target&&N.name?e="".concat(p,"_").concat(N.target,"_").concat(N.name,"_junction"):"M2A"===N.type&&N.name&&(e="".concat(p,"_").concat(N.name,"_junction")),e&&(!N.through||N.through.endsWith("_junction"))&&y(a=>({...a,through:e}))}},[N.type,N.target,N.name,p,ee,v]);let el=()=>{var e;let a={name:N.name,type:N.type,target:N.target};("M2O"===N.type||"O2O"===N.type)&&(a.onDelete=N.onDelete,a.onUpdate=N.onUpdate),N.alias&&(a.alias=N.alias),N.through&&("M2M"===N.type||"M2A"===N.type)&&(a.through=N.through),(null===(e=N.tables)||void 0===e?void 0:e.length)&&(a.tables=N.tables),(null==b?void 0:b.length)>0&&(a.showAs=b),(j?K:Y)({resource:"relationships",meta:{collectionName:p},values:a,...j&&{id:j}},{onSuccess:()=>{r.Am.success("Relationship ".concat(j?"updated":"created"," successfully")),W(),x(),g()},onError:e=>{r.Am.error("Error ".concat(j?"updating":"creating"," relationship: ").concat(e.message))}})},es=e=>["Integer","BigInt","Decimal","Double","Real","Array_Integer","Array_BigInt","Array_Double","Array_Decimal","Range_Integer","Range_BigInt","Range_Double","Range_Decimal"].includes(e),et=e=>["String","Text","CiText"].includes(e),en=()=>{var e,a;let l=D(p),s={...null==l?void 0:null===(e=l.schema)||void 0===e?void 0:e.fields},t={type:N.type,allowNull:N.allowNull};if(N.hidden&&(t.hidden=!0),N.defaultValue&&("$NOW"===N.defaultValue?t.defaultValue={type:"NOW"}:"$UUIDV4"===N.defaultValue?t.defaultValue={type:"UUIDV4"}:"$SUID"===N.defaultValue?t.defaultValue={type:"SUID"}:"$AUTOINCREMENT"===N.defaultValue?t.defaultValue={type:"AUTOINCREMENT"}:"Boolean"===N.type?t.defaultValue="true"===N.defaultValue:"Integer"!==N.type&&"BigInt"!==N.type||isNaN(Number(N.defaultValue))?t.defaultValue=N.defaultValue:t.defaultValue=parseInt(N.defaultValue,10)),"ENUM"===N.type&&(null===(a=N.values)||void 0===a?void 0:a.length)>0&&(t.values=N.values),"VIRTUAL"===N.type&&N.calculated&&(t.calculated=N.calculated),"String"===N.type&&N.stringLength&&(t.values={stringLength:N.stringLength}),"Decimal"===N.type&&(N.precision||N.scale)){let e={};N.precision&&(e.precision=parseInt(N.precision,10)),N.scale&&(e.scale=parseInt(N.scale,10)),t.values=e}if(es(N.type)){let e={};""!==N.validateMin&&null!==N.validateMin&&void 0!==N.validateMin&&(e.min=parseFloat(N.validateMin)),""!==N.validateMax&&null!==N.validateMax&&void 0!==N.validateMax&&(e.max=parseFloat(N.validateMax)),N.validateIsInt&&(e.isInt=!0),Object.keys(e).length>0&&(t.validate=e)}if(et(N.type)){let e={};N.validateNotEmpty&&(e.notEmpty=!0),N.validateIsEmail&&(e.isEmail=!0),N.validateIsUrl&&(e.isUrl=!0);let a=""!==N.validateMinLength?parseInt(N.validateMinLength,10):null,l=""!==N.validateMaxLength?parseInt(N.validateMaxLength,10):null;(null!==a||null!==l)&&(e.len=[null!=a?a:0,null!=l?l:999999]),N.validatePattern&&(e.is=N.validatePattern),Object.keys(e).length>0&&(t.validate=e)}if(ee){let e={...s[j]};e.hidden&&!N.hidden&&delete e.hidden,e.validate&&!t.validate&&delete e.validate,s[j]={...e,...t}}else s[N.name]=t;K({resource:"collections",id:p,values:{schema:{...null==l?void 0:l.schema,fields:s}}},{onSuccess:()=>{r.Am.success("Field ".concat(ee?"updated":"added"," successfully")),W(),x(),g()},onError:e=>{r.Am.error("Error ".concat(ee?"updating":"adding"," field: ").concat(e.message))}})},ei=(e,a)=>{y(l=>({...l,[e]:a}))};return(0,s.jsx)(S.yo,{open:m,onOpenChange:e=>!e&&x(),children:(0,s.jsxs)(S.ue,{className:"!w-full sm:!w-[600px] overflow-y-auto",children:[(0,s.jsx)(S.Tu,{children:(0,s.jsxs)(S.bC,{children:[ee?"Edit":"Create"," ",v?"Relationship":"Field"]})}),(0,s.jsxs)("form",{onSubmit:e=>{if(e.preventDefault(),!N.name){r.Am.error("Please enter a field name");return}if(!N.type){r.Am.error("Please select a field type");return}v?el():en()},className:"mt-6 space-y-5",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(A._,{htmlFor:"name",children:"Field Name"}),(0,s.jsx)(I.I,{id:"name",placeholder:"Enter field name",value:N.name,onChange:e=>ei("name",e.target.value),disabled:ee,required:!0})]}),v?(0,s.jsxs)(s.Fragment,{children:[ee&&(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(A._,{children:"Description"}),(0,s.jsx)(I.I,{value:N.description||"",disabled:!0})]}),!ee&&(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(A._,{children:"Relationship Type"}),(0,s.jsxs)(T.Ph,{value:N.type,onValueChange:e=>{ei("type",e),C([])},children:[(0,s.jsx)(T.i4,{children:(0,s.jsx)(T.ki,{placeholder:"Select relationship type"})}),(0,s.jsx)(T.Bw,{children:B.map(e=>(0,s.jsx)(T.Ql,{value:e.value,children:e.label},e.value))})]})]}),ee&&N.relType&&(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(A._,{children:"Relation Type"}),(0,s.jsxs)(T.Ph,{value:N.relType,disabled:!0,children:[(0,s.jsx)(T.i4,{children:(0,s.jsx)(T.ki,{})}),(0,s.jsxs)(T.Bw,{children:[(0,s.jsx)(T.Ql,{value:"BelongsTo",children:"BelongsTo"}),(0,s.jsx)(T.Ql,{value:"HasOne",children:"HasOne"}),(0,s.jsx)(T.Ql,{value:"HasMany",children:"HasMany"}),(0,s.jsx)(T.Ql,{value:"BelongsToMany",children:"BelongsToMany"})]})]})]}),"M2A"!==N.type&&(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(A._,{children:"Target Collection"}),(0,s.jsxs)(T.Ph,{value:N.target,onValueChange:e=>{ei("target",e),C([])},disabled:ee,children:[(0,s.jsx)(T.i4,{children:(0,s.jsx)(T.ki,{placeholder:"Select target collection"})}),(0,s.jsx)(T.Bw,{children:q.map(e=>(0,s.jsx)(T.Ql,{value:e.id,children:e.name},e.id))})]})]}),N.target&&"M2A"!==N.type&&(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)("div",{className:"flex items-center gap-1",children:[(0,s.jsx)(A._,{children:"Display Format"}),(0,s.jsx)(V.pn,{children:(0,s.jsxs)(V.u,{children:[(0,s.jsx)(V.aJ,{asChild:!0,children:(0,s.jsx)(U.Z,{className:"h-3.5 w-3.5 text-muted-foreground cursor-help"})}),(0,s.jsx)(V._v,{children:(0,s.jsx)("p",{children:"Select fields to display for this relationship"})})]})})]}),(0,s.jsxs)(Z.J2,{children:[(0,s.jsx)(Z.xo,{asChild:!0,children:(0,s.jsx)(c.z,{variant:"outline",role:"combobox",className:"w-full justify-start font-normal h-auto min-h-10",children:b.length>0?(0,s.jsx)("div",{className:"flex flex-wrap gap-1",children:b.map((e,a)=>(0,s.jsxs)(u.C,{variant:"secondary",className:"mr-1",children:[e,(0,s.jsx)("button",{type:"button",className:"ml-1 ring-offset-background rounded-full outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",onClick:e=>{e.stopPropagation(),C(b.filter((e,l)=>l!==a))},children:(0,s.jsx)(L.Z,{className:"h-3 w-3"})})]},"".concat(e,"-").concat(a)))}):(0,s.jsx)("span",{className:"text-muted-foreground",children:"Select fields to display..."})})}),(0,s.jsxs)(Z.yk,{className:"w-[300px] p-0 overflow-hidden",align:"start",children:[(0,s.jsx)("div",{className:"px-2 py-1.5 border-b",children:(0,s.jsx)("div",{className:"text-sm font-medium",children:"Target Fields"})}),(0,s.jsx)("div",{className:"max-h-[200px] overflow-y-auto overflow-x-hidden p-1.5",style:{overscrollBehavior:"contain",touchAction:"pan-y",WebkitOverflowScrolling:"touch",willChange:"scroll-position",pointerEvents:"auto"},onWheel:e=>e.stopPropagation(),children:H.length>0?H.map(e=>(0,s.jsxs)("div",{className:"flex items-center space-x-2 py-1 px-2 hover:bg-muted rounded cursor-pointer",onClick:()=>{let a=e.value||e;b.includes(a)||C([...b,a])},children:[(0,s.jsx)(O.X,{checked:b.includes(e.value||e),onCheckedChange:a=>{let l=e.value||e;a?C([...b,l]):C(b.filter(e=>e!==l))}}),(0,s.jsx)("span",{className:"text-sm",children:e.title||e.value||e})]},e.value||e)):(0,s.jsx)("div",{className:"text-sm text-muted-foreground p-2",children:"No fields available"})}),(0,s.jsxs)("div",{className:"px-2 py-1.5 border-t",children:[(0,s.jsx)("div",{className:"text-xs font-medium mb-1",children:"Dividers"}),(0,s.jsx)("div",{className:"flex flex-wrap gap-0.5",children:F.map(e=>(0,s.jsx)(c.z,{type:"button",variant:"outline",size:"sm",className:"h-6 px-2 text-xs",onClick:()=>{C([...b,e.value])},children:e.label},e.value))})]})]})]})]}),!ee&&(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(A._,{htmlFor:"alias",children:"Target Alias (optional)"}),(0,s.jsx)(I.I,{id:"alias",placeholder:"Enter alias",value:N.alias,onChange:e=>ei("alias",e.target.value)})]}),!ee&&("M2M"===N.type||"M2A"===N.type)&&(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(A._,{htmlFor:"through",children:"Junction Table Name"}),(0,s.jsx)(V.pn,{children:(0,s.jsxs)(V.u,{children:[(0,s.jsx)(V.aJ,{asChild:!0,children:(0,s.jsx)(U.Z,{className:"h-4 w-4 text-muted-foreground cursor-help"})}),(0,s.jsx)(V._v,{className:"max-w-xs",children:(0,s.jsx)("p",{children:"Name for the junction table. PostgreSQL limits table names to 63 characters. Modify if the auto-generated name is too long."})})]})})]}),(0,s.jsx)(I.I,{id:"through",placeholder:"Enter junction table name",value:N.through,onChange:e=>ei("through",e.target.value),maxLength:63,className:N.through&&N.through.length>63?"border-red-500":""}),(0,s.jsxs)("p",{className:(0,z.cn)("text-xs",(null===(a=N.through)||void 0===a?void 0:a.length)>63?"text-red-600":(null===(l=N.through)||void 0===l?void 0:l.length)>50?"text-amber-600":"text-muted-foreground"),children:[(null===(d=N.through)||void 0===d?void 0:d.length)||0,"/63 characters",(null===(o=N.through)||void 0===o?void 0:o.length)>63&&" - Name too long!"]})]}),("M2A"===N.type||N.polymorphic)&&(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(A._,{children:"Tables (for Many-to-Any)"}),(0,s.jsxs)(Z.J2,{children:[(0,s.jsx)(Z.xo,{asChild:!0,children:(0,s.jsx)(c.z,{variant:"outline",role:"combobox",className:"w-full justify-start font-normal h-auto min-h-10",children:(null===(h=N.tables)||void 0===h?void 0:h.length)>0?(0,s.jsx)("div",{className:"flex flex-wrap gap-1",children:N.tables.map(e=>(0,s.jsxs)(u.C,{variant:"secondary",className:"mr-1",children:[e,(0,s.jsx)("button",{type:"button",className:"ml-1 ring-offset-background rounded-full outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",onClick:a=>{a.stopPropagation(),ei("tables",N.tables.filter(a=>a!==e))},children:(0,s.jsx)(L.Z,{className:"h-3 w-3"})})]},e))}):(0,s.jsx)("span",{className:"text-muted-foreground",children:"Select tables..."})})}),(0,s.jsx)(Z.yk,{className:"w-[300px] p-0",align:"start",children:(0,s.jsx)("div",{className:"max-h-[200px] overflow-y-auto p-2",children:q.map(e=>{var a;return(0,s.jsxs)("div",{className:"flex items-center space-x-2 py-1.5 px-2 hover:bg-muted rounded cursor-pointer",onClick:()=>{let a=N.tables||[];a.includes(e.id)||ei("tables",[...a,e.id])},children:[(0,s.jsx)(O.X,{checked:null===(a=N.tables)||void 0===a?void 0:a.includes(e.id),onCheckedChange:a=>{let l=N.tables||[];a?ei("tables",[...l,e.id]):ei("tables",l.filter(a=>a!==e.id))}}),(0,s.jsx)("span",{className:"text-sm",children:e.name})]},e.id)})})})]})]}),("M2O"===N.type||"O2O"===N.type)&&(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)(A._,{className:"flex items-center gap-2",children:["On Delete",(0,s.jsx)(V.pn,{children:(0,s.jsxs)(V.u,{children:[(0,s.jsx)(V.aJ,{asChild:!0,children:(0,s.jsx)(U.Z,{className:"h-4 w-4 text-muted-foreground cursor-help"})}),(0,s.jsx)(V._v,{side:"right",className:"max-w-xs",children:(0,s.jsxs)("p",{children:["Action when a record in ",(0,s.jsx)("strong",{children:N.target||"target"})," is deleted"]})})]})})]}),(0,s.jsxs)(T.Ph,{value:N.onDelete,onValueChange:e=>ei("onDelete",e),children:[(0,s.jsx)(T.i4,{className:"[&_span.text-muted-foreground]:hidden",children:(0,s.jsx)(T.ki,{})}),(0,s.jsxs)(T.Bw,{children:[(0,s.jsx)(T.Ql,{value:"CASCADE",children:(0,s.jsxs)("div",{className:"flex flex-col items-start",children:[(0,s.jsx)("span",{children:"CASCADE"}),(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:"Delete related records"})]})}),(0,s.jsx)(T.Ql,{value:"SET NULL",children:(0,s.jsxs)("div",{className:"flex flex-col items-start",children:[(0,s.jsx)("span",{children:"SET NULL"}),(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:"Set reference to null"})]})}),(0,s.jsx)(T.Ql,{value:"RESTRICT",children:(0,s.jsxs)("div",{className:"flex flex-col items-start",children:[(0,s.jsx)("span",{children:"RESTRICT"}),(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:"Prevent delete if referenced"})]})}),(0,s.jsx)(T.Ql,{value:"NO ACTION",children:(0,s.jsxs)("div",{className:"flex flex-col items-start",children:[(0,s.jsx)("span",{children:"NO ACTION"}),(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:"Like RESTRICT, checked at end of transaction"})]})})]})]})]}),("M2O"===N.type||"O2O"===N.type)&&!1!==N.constraints&&(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)(A._,{className:"flex items-center gap-2",children:["On Update",(0,s.jsx)(V.pn,{children:(0,s.jsxs)(V.u,{children:[(0,s.jsx)(V.aJ,{asChild:!0,children:(0,s.jsx)(U.Z,{className:"h-4 w-4 text-muted-foreground cursor-help"})}),(0,s.jsx)(V._v,{side:"right",className:"max-w-xs",children:(0,s.jsxs)("p",{children:["Action when the primary key of ",(0,s.jsx)("strong",{children:N.target||"target"})," is updated"]})})]})})]}),(0,s.jsxs)(T.Ph,{value:N.onUpdate,onValueChange:e=>ei("onUpdate",e),children:[(0,s.jsx)(T.i4,{className:"[&_span.text-muted-foreground]:hidden",children:(0,s.jsx)(T.ki,{})}),(0,s.jsxs)(T.Bw,{children:[(0,s.jsx)(T.Ql,{value:"CASCADE",children:(0,s.jsxs)("div",{className:"flex flex-col items-start",children:[(0,s.jsx)("span",{children:"CASCADE"}),(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:"Update reference automatically"})]})}),(0,s.jsx)(T.Ql,{value:"SET NULL",children:(0,s.jsxs)("div",{className:"flex flex-col items-start",children:[(0,s.jsx)("span",{children:"SET NULL"}),(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:"Set reference to null"})]})}),(0,s.jsx)(T.Ql,{value:"RESTRICT",children:(0,s.jsxs)("div",{className:"flex flex-col items-start",children:[(0,s.jsx)("span",{children:"RESTRICT"}),(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:"Prevent update if referenced"})]})}),(0,s.jsx)(T.Ql,{value:"NO ACTION",children:(0,s.jsxs)("div",{className:"flex flex-col items-start",children:[(0,s.jsx)("span",{children:"NO ACTION"}),(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:"Like RESTRICT, checked at end of transaction"})]})})]})]})]})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(A._,{children:"Field Type"}),(0,s.jsxs)(T.Ph,{value:N.type,onValueChange:e=>ei("type",e),disabled:ee,children:[(0,s.jsx)(T.i4,{children:(0,s.jsx)(T.ki,{placeholder:"Select field type"})}),(0,s.jsxs)(T.Bw,{children:[(0,s.jsxs)(T.DI,{children:[(0,s.jsx)(T.n5,{children:"Text Types"}),Q.text.map(e=>(0,s.jsx)(T.Ql,{value:e.value,children:e.label},e.value))]}),(0,s.jsxs)(T.DI,{children:[(0,s.jsx)(T.n5,{children:"Numeric Types"}),Q.numeric.map(e=>(0,s.jsx)(T.Ql,{value:e.value,children:e.label},e.value))]}),(0,s.jsxs)(T.DI,{children:[(0,s.jsx)(T.n5,{children:"Date Types"}),Q.date.map(e=>(0,s.jsx)(T.Ql,{value:e.value,children:e.label},e.value))]}),(0,s.jsxs)(T.DI,{children:[(0,s.jsx)(T.n5,{children:"Other Types"}),Q.other.map(e=>(0,s.jsx)(T.Ql,{value:e.value,children:e.label},e.value))]}),(0,s.jsxs)(T.DI,{children:[(0,s.jsx)(T.n5,{children:"Array Types"}),Q.array.map(e=>(0,s.jsx)(T.Ql,{value:e.value,children:e.label},e.value))]}),(0,s.jsxs)(T.DI,{children:[(0,s.jsx)(T.n5,{children:"Range Types"}),Q.range.map(e=>(0,s.jsx)(T.Ql,{value:e.value,children:e.label},e.value))]}),(0,s.jsxs)(T.DI,{children:[(0,s.jsx)(T.n5,{children:"Geo Types"}),Q.geo.map(e=>(0,s.jsx)(T.Ql,{value:e.value,children:e.label},e.value))]})]})]})]}),"VIRTUAL"===N.type?(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(A._,{htmlFor:"calculated",children:"Calculation String"}),(0,s.jsx)(R.g,{id:"calculated",placeholder:"${this.firstName} ${this.lastName}",value:N.calculated,onChange:e=>ei("calculated",e.target.value)}),(0,s.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Use $","{this.fieldName}"," syntax to reference other fields"]})]}):"ENUM"===N.type?(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(A._,{children:"Enum Values"}),(0,s.jsx)(P.OF,{value:N.values||[],onChange:e=>ei("values",e),itemType:"string",placeholder:"Type a value and press Enter"})]}):"String"===N.type?(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(A._,{htmlFor:"stringLength",children:"Maximum Length"}),(0,s.jsx)(I.I,{id:"stringLength",type:"number",placeholder:"255",value:N.stringLength||"",onChange:e=>ei("stringLength",e.target.value)})]}):"Decimal"===N.type?(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(A._,{htmlFor:"precision",children:"Precision (Total Digits)"}),(0,s.jsx)(I.I,{id:"precision",type:"number",placeholder:"e.g., 10",value:N.precision||"",onChange:e=>ei("precision",e.target.value)}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:"Total number of digits (before and after decimal point)"})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(A._,{htmlFor:"scale",children:"Scale (Decimal Places)"}),(0,s.jsx)(I.I,{id:"scale",type:"number",placeholder:"e.g., 2",value:N.scale||"",onChange:e=>ei("scale",e.target.value)}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:"Number of digits after the decimal point"})]})]}):null,(0,s.jsxs)(s.Fragment,{children:[(()=>{if(!es(N.type))return null;let e=["Integer","BigInt","Array_Integer","Array_BigInt","Range_Integer","Range_BigInt"].includes(N.type),a=N.type.startsWith("Range_"),l=N.type.startsWith("Array_");return(0,s.jsxs)("div",{className:"space-y-4 pt-4 border-t",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(A._,{className:"text-sm font-medium",children:"Validation Rules"}),(0,s.jsx)(V.pn,{children:(0,s.jsxs)(V.u,{children:[(0,s.jsx)(V.aJ,{asChild:!0,children:(0,s.jsx)(U.Z,{className:"h-4 w-4 text-muted-foreground cursor-help"})}),(0,s.jsx)(V._v,{className:"max-w-xs",children:(0,s.jsx)("p",{children:a?"Min/max values apply to both lower and upper bounds of the range.":l?"Min/max values apply to each element in the array.":"Set minimum and maximum allowed values for this field."})})]})})]}),(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(A._,{htmlFor:"validateMin",children:"Minimum Value"}),(0,s.jsx)(I.I,{id:"validateMin",type:"number",step:e?"1":"any",placeholder:"No minimum",value:N.validateMin,onChange:e=>ei("validateMin",e.target.value)})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(A._,{htmlFor:"validateMax",children:"Maximum Value"}),(0,s.jsx)(I.I,{id:"validateMax",type:"number",step:e?"1":"any",placeholder:"No maximum",value:N.validateMax,onChange:e=>ei("validateMax",e.target.value)})]})]}),!e&&(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(O.X,{id:"validateIsInt",checked:N.validateIsInt,onCheckedChange:e=>ei("validateIsInt",!0===e)}),(0,s.jsx)(A._,{htmlFor:"validateIsInt",className:"text-sm font-normal cursor-pointer",children:"Require integer values (no decimals)"})]})]})})(),et(N.type)?(0,s.jsxs)("div",{className:"space-y-4 pt-4 border-t",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(A._,{className:"text-sm font-medium",children:"Validation Rules"}),(0,s.jsx)(V.pn,{children:(0,s.jsxs)(V.u,{children:[(0,s.jsx)(V.aJ,{asChild:!0,children:(0,s.jsx)(U.Z,{className:"h-4 w-4 text-muted-foreground cursor-help"})}),(0,s.jsx)(V._v,{className:"max-w-xs",children:(0,s.jsx)("p",{children:"Configure validation rules for string content and format."})})]})})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(A._,{className:"text-sm text-muted-foreground",children:"Format Validation"}),(0,s.jsxs)(T.Ph,{value:N.validateIsEmail?"email":N.validateIsUrl?"url":N.validateNotEmpty?"notEmpty":"none",onValueChange:e=>{ei("validateNotEmpty","notEmpty"===e),ei("validateIsEmail","email"===e),ei("validateIsUrl","url"===e)},children:[(0,s.jsx)(T.i4,{children:(0,s.jsx)(T.ki,{placeholder:"No format validation"})}),(0,s.jsxs)(T.Bw,{children:[(0,s.jsx)(T.Ql,{value:"none",children:"No format validation"}),(0,s.jsx)(T.Ql,{value:"notEmpty",children:"Required (cannot be empty)"}),(0,s.jsx)(T.Ql,{value:"email",children:"Must be valid email format"}),(0,s.jsx)(T.Ql,{value:"url",children:"Must be valid URL format"})]})]})]}),(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(A._,{htmlFor:"validateMinLength",children:"Min Length"}),(0,s.jsx)(I.I,{id:"validateMinLength",type:"number",min:"0",placeholder:"No minimum",value:N.validateMinLength,onChange:e=>ei("validateMinLength",e.target.value)})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(A._,{htmlFor:"validateMaxLength",children:"Max Length"}),(0,s.jsx)(I.I,{id:"validateMaxLength",type:"number",min:"0",placeholder:"No maximum",value:N.validateMaxLength,onChange:e=>ei("validateMaxLength",e.target.value)})]})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(A._,{htmlFor:"validatePattern",children:"Regex Pattern"}),(0,s.jsx)(I.I,{id:"validatePattern",placeholder:"e.g., ^[A-Z]{2}\\\\d{4}$",value:N.validatePattern,onChange:e=>ei("validatePattern",e.target.value)}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:"Regular expression pattern the value must match"})]})]}):null]}),"VIRTUAL"!==N.type&&(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("div",{className:"space-y-0.5",children:[(0,s.jsx)(A._,{children:"Nullable"}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:"Allow null values for this field"})]}),(0,s.jsx)(k.r,{checked:N.allowNull,onCheckedChange:e=>ei("allowNull",e)})]}),(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("div",{className:"space-y-0.5",children:[(0,s.jsx)(A._,{children:"Hidden"}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:"Never return this field in API responses (for sensitive data like passwords)"})]}),(0,s.jsx)(k.r,{checked:N.hidden,onCheckedChange:e=>ei("hidden",e)})]}),"VIRTUAL"!==N.type&&(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(A._,{htmlFor:"defaultValue",children:"Default Value"}),$(N.type)?(0,s.jsxs)(T.Ph,{value:N.defaultValue||"_none_",onValueChange:e=>ei("defaultValue","_none_"===e?"":e),children:[(0,s.jsx)(T.i4,{children:(0,s.jsx)(T.ki,{placeholder:"Select default value"})}),(0,s.jsxs)(T.Bw,{children:[(0,s.jsx)(T.Ql,{value:"_none_",children:"No default"}),(0,s.jsx)(T.Ql,{value:"$NOW",children:"Current Date/Time"})]})]}):"UUID"===N.type?(0,s.jsxs)(T.Ph,{value:N.defaultValue||"_none_",onValueChange:e=>ei("defaultValue","_none_"===e?"":e),children:[(0,s.jsx)(T.i4,{children:(0,s.jsx)(T.ki,{placeholder:"Select default value"})}),(0,s.jsxs)(T.Bw,{children:[(0,s.jsx)(T.Ql,{value:"_none_",children:"No default"}),(0,s.jsx)(T.Ql,{value:"$UUIDV4",children:"Auto-generate UUID"})]})]}):"SUID"===N.type?(0,s.jsxs)(T.Ph,{value:N.defaultValue||"_none_",onValueChange:e=>ei("defaultValue","_none_"===e?"":e),children:[(0,s.jsx)(T.i4,{children:(0,s.jsx)(T.ki,{placeholder:"Select default value"})}),(0,s.jsxs)(T.Bw,{children:[(0,s.jsx)(T.Ql,{value:"_none_",children:"No default"}),(0,s.jsx)(T.Ql,{value:"$SUID",children:"Auto-generate Short UID"})]})]}):"Boolean"===N.type?(0,s.jsxs)(T.Ph,{value:""===N.defaultValue?"_none_":N.defaultValue,onValueChange:e=>ei("defaultValue","_none_"===e?"":e),children:[(0,s.jsx)(T.i4,{children:(0,s.jsx)(T.ki,{placeholder:"Select default value"})}),(0,s.jsxs)(T.Bw,{children:[(0,s.jsx)(T.Ql,{value:"_none_",children:"No default"}),(0,s.jsx)(T.Ql,{value:"true",children:"True"}),(0,s.jsx)(T.Ql,{value:"false",children:"False"})]})]}):"Integer"===N.type||"BigInt"===N.type?(0,s.jsxs)(T.Ph,{value:w?"$CUSTOM":N.defaultValue||"_none_",onValueChange:e=>{"$CUSTOM"===e?(_(!0),ei("defaultValue","")):(_(!1),ei("defaultValue","_none_"===e?"":e))},children:[(0,s.jsx)(T.i4,{children:(0,s.jsx)(T.ki,{placeholder:"Select default value"})}),(0,s.jsxs)(T.Bw,{children:[(0,s.jsx)(T.Ql,{value:"_none_",children:"No default"}),(0,s.jsx)(T.Ql,{value:"$AUTOINCREMENT",children:"Auto-increment"}),(0,s.jsx)(T.Ql,{value:"$CUSTOM",children:"Custom value..."})]})]}):(0,s.jsx)(I.I,{id:"defaultValue",placeholder:"Enter default value",value:N.defaultValue,onChange:e=>ei("defaultValue",e.target.value)}),("Integer"===N.type||"BigInt"===N.type)&&w&&(0,s.jsx)(I.I,{id:"defaultValueCustom",type:"number",placeholder:"Enter numeric default value",className:"mt-2",value:N.defaultValue,onChange:e=>{ei("defaultValue",e.target.value)}})]})]}),(0,s.jsxs)("div",{className:"flex justify-end gap-2 pt-4",children:[(0,s.jsx)(c.z,{type:"button",variant:"outline",onClick:x,children:"Cancel"}),(0,s.jsxs)(c.z,{type:"submit",disabled:ea,children:[ea&&(0,s.jsx)(f.Z,{className:"mr-2 h-4 w-4 animate-spin"}),ee?"Update":"Create"," ",v?"Relationship":"Field"]})]})]})]})})},J=e=>{var a,l;let{open:d,onClose:o,collectionName:x,onSuccess:j}=e,[v,g]=(0,t.useState)(!1),[N,y]=(0,t.useState)(null),[b,C]=(0,t.useState)(!1),[A,k]=(0,t.useState)([]),[T,_]=(0,t.useState)(!1),[R,O]=(0,t.useState)(null),[U,L]=(0,t.useState)(""),{getSchemaByName:V,isLoading:Z,refetch:z}=(0,i.I_)(),P=(0,t.useMemo)(()=>d&&x?{data:V(x)}:null,[d,x,V]),F=(0,t.useMemo)(()=>A.filter(e=>e.name.toLowerCase().includes(U.toLowerCase())),[A,U]),{mutate:Q,isLoading:B}=(0,n.PQ)(),{mutate:$,isLoading:J}=(0,n.R2)();(0,t.useEffect)(()=>{var e,a;(null==P?void 0:null===(a=P.data)||void 0===a?void 0:null===(e=a.schema)||void 0===e?void 0:e.fields)&&k(Object.entries(P.data.schema.fields).map(e=>{let[a,l]=e;return{name:a,...l}}))},[P]);let q=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];y(null),C(e),g(!0)},H=e=>{let a=A.find(a=>a.name===e);y(e),C(!!(null==a?void 0:a.relType)),g(!0)},K=e=>{O(e),_(!0)},X=e=>e.relType?(0,s.jsxs)(u.C,{variant:"outline",className:"gap-1",children:[(0,s.jsx)(D,{className:"h-3 w-3"}),e.relType]}):(0,s.jsx)(u.C,{variant:"secondary",children:e.type});return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(S.yo,{open:d,onOpenChange:e=>!e&&o(),children:(0,s.jsx)(S.ue,{className:"!w-full sm:!w-[800px] flex flex-col overflow-hidden p-0",children:(0,s.jsxs)("div",{className:"flex flex-col h-full overflow-hidden p-6",children:[(0,s.jsx)(S.Tu,{children:(0,s.jsxs)(S.bC,{className:"truncate max-w-[250px] sm:max-w-full",children:["Manage Fields - ",null==P?void 0:null===(l=P.data)||void 0===l?void 0:null===(a=l.schema)||void 0===a?void 0:a.name]})}),(0,s.jsxs)("div",{className:"mt-6 space-y-4 flex-1 flex flex-col min-h-0",children:[(0,s.jsxs)("div",{className:"flex gap-2 flex-wrap justify-between items-center",children:[(0,s.jsxs)("div",{className:"flex gap-2 flex-wrap",children:[(0,s.jsxs)(c.z,{onClick:()=>q(!1),size:"sm",children:[(0,s.jsx)(p.Z,{className:"mr-2 h-4 w-4"}),"Add Field"]}),(0,s.jsxs)(c.z,{variant:"outline",size:"sm",onClick:()=>q(!0),children:[(0,s.jsx)(D,{className:"mr-2 h-4 w-4"}),"Add Relationship"]})]}),(0,s.jsxs)("div",{className:"relative w-full sm:w-auto",children:[(0,s.jsx)(M.Z,{className:"absolute left-2.5 top-1/2 transform -translate-y-1/2 h-4 w-4 text-muted-foreground"}),(0,s.jsx)(I.I,{placeholder:"Search fields...",value:U,onChange:e=>L(e.target.value),className:"pl-8 h-9 w-full sm:w-[200px]"})]})]}),(0,s.jsx)("div",{className:"flex-1 overflow-auto",children:(0,s.jsx)("div",{className:"min-w-[500px]",children:(0,s.jsxs)(h.iA,{children:[(0,s.jsx)(h.xD,{children:(0,s.jsxs)(h.SC,{children:[(0,s.jsx)(h.ss,{children:"Name"}),(0,s.jsx)(h.ss,{children:"Type"}),(0,s.jsx)(h.ss,{children:"Nullable"}),(0,s.jsx)(h.ss,{className:"w-28",children:"Actions"})]})}),(0,s.jsx)(h.RM,{children:Z?(0,s.jsx)(h.SC,{children:(0,s.jsx)(h.pj,{colSpan:4,className:"h-32 text-center",children:(0,s.jsx)(f.Z,{className:"h-6 w-6 animate-spin mx-auto"})})}):0===A.length?(0,s.jsx)(h.SC,{children:(0,s.jsx)(h.pj,{colSpan:4,className:"h-32 text-center text-muted-foreground",children:"No fields defined"})}):0===F.length?(0,s.jsx)(h.SC,{children:(0,s.jsx)(h.pj,{colSpan:4,className:"h-32 text-center text-muted-foreground",children:"No fields match your search"})}):F.map(e=>(0,s.jsxs)(h.SC,{children:[(0,s.jsx)(h.pj,{children:(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:"font-medium",children:e.name}),e.primaryKey&&(0,s.jsx)(u.C,{variant:"default",className:"text-xs",children:"PK"}),e.SystemGenerated&&(0,s.jsx)(u.C,{variant:"outline",className:"text-xs",children:"System"})]})}),(0,s.jsx)(h.pj,{children:X(e)}),(0,s.jsx)(h.pj,{children:e.allowNull?(0,s.jsx)(u.C,{variant:"outline",children:"Yes"}):(0,s.jsx)(u.C,{variant:"secondary",children:"No"})}),(0,s.jsx)(h.pj,{children:(0,s.jsxs)("div",{className:"flex items-center gap-1",children:[(0,s.jsx)(c.z,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:()=>H(e.name),children:(0,s.jsx)(E.Z,{className:"h-4 w-4"})}),!e.SystemGenerated&&!e.primaryKey&&(0,s.jsx)(c.z,{variant:"ghost",size:"icon",className:"h-8 w-8 text-destructive",onClick:()=>K(e),children:(0,s.jsx)(w.Z,{className:"h-4 w-4"})})]})})]},e.name))})]})})})]})]})})}),(0,s.jsx)(W,{open:v,onClose:()=>g(!1),collectionName:x,fieldName:N,isRelationship:b,onSuccess:()=>{g(!1),z(),j()}}),(0,s.jsx)(m.aR,{open:T,onOpenChange:_,children:(0,s.jsxs)(m._T,{children:[(0,s.jsxs)(m.fY,{children:[(0,s.jsx)(m.f$,{children:"Delete Field"}),(0,s.jsxs)(m.yT,{children:['Are you sure you want to delete the field "',null==R?void 0:R.name,'"? This action cannot be undone.']})]}),(0,s.jsxs)(m.xo,{children:[(0,s.jsx)(m.le,{children:"Cancel"}),(0,s.jsxs)(m.OL,{onClick:()=>{var e;if(!R)return;let a=V(x);if(!(null==a?void 0:null===(e=a.schema)||void 0===e?void 0:e.fields)||0===Object.keys(a.schema.fields).length){r.Am.error("Unable to get current schema data");return}if(R.relType)$({resource:"relationships",meta:{collectionName:x},id:R.name},{onSuccess:()=>{r.Am.success("Field deleted successfully"),z(),_(!1),O(null)},onError:e=>{r.Am.error("Error deleting field: ".concat(e.message))}});else{let e={...a.schema.fields};delete e[R.name],Q({resource:"collections",id:x,values:{schema:{...a.schema,fields:e}}},{onSuccess:()=>{r.Am.success("Field deleted successfully"),z(),j(),_(!1),O(null)},onError:e=>{r.Am.error("Error deleting field: ".concat(e.message))}})}},className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:[J||B?(0,s.jsx)(f.Z,{className:"mr-2 h-4 w-4 animate-spin"}):(0,s.jsx)(w.Z,{className:"mr-2 h-4 w-4"}),"Delete"]})]})]})})]})};var q=l(74291);let H=e=>{var a,l;let{open:d,onClose:o,collectionName:x}=e,[j,v]=(0,t.useState)(!1),[g,N]=(0,t.useState)(""),[y,C]=(0,t.useState)([]),[k,T]=(0,t.useState)(!1),[_,D]=(0,t.useState)(!1),[M,E]=(0,t.useState)(!1),[R,U]=(0,t.useState)(null),[L,V]=(0,t.useState)([]),{getSchemaByName:Z,isLoading:z,refetch:P}=(0,i.I_)(),F=(0,t.useMemo)(()=>d&&x?{data:Z(x)}:null,[d,x,Z]),Q=(0,t.useMemo)(()=>{var e,a;return(null==F?void 0:null===(a=F.data)||void 0===a?void 0:null===(e=a.schema)||void 0===e?void 0:e.fields)?Object.keys(F.data.schema.fields):[]},[F]);(0,t.useEffect)(()=>{var e,a;(null==F?void 0:null===(a=F.data)||void 0===a?void 0:null===(e=a.schema)||void 0===e?void 0:e.indexes)?V(F.data.schema.indexes):V([])},[F]);let{mutate:B,isLoading:$}=(0,n.RO)(),{mutate:W,isLoading:J}=(0,n.R2)(),H=()=>{N(""),C([]),T(!1),D(!1)},K=()=>{P()},X=e=>{U(e),E(!0)},Y=e=>{y.includes(e)?C(y.filter(a=>a!==e)):C([...y,e])};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(S.yo,{open:d,onOpenChange:e=>!e&&o(),children:(0,s.jsx)(S.ue,{className:"!w-full sm:!w-[700px] flex flex-col overflow-hidden p-0",children:(0,s.jsxs)("div",{className:"flex flex-col h-full overflow-hidden p-6",children:[(0,s.jsx)(S.Tu,{children:(0,s.jsxs)(S.bC,{className:"truncate max-w-[250px] sm:max-w-full",children:["Manage Indexes - ",null==F?void 0:null===(l=F.data)||void 0===l?void 0:null===(a=l.schema)||void 0===a?void 0:a.name]})}),(0,s.jsxs)("div",{className:"mt-6 space-y-4 flex-1 flex flex-col min-h-0",children:[(0,s.jsxs)(c.z,{onClick:()=>v(!0),size:"sm",children:[(0,s.jsx)(p.Z,{className:"mr-2 h-4 w-4"}),"Add Index"]}),(0,s.jsx)("div",{className:"flex-1 overflow-auto",children:(0,s.jsx)("div",{className:"min-w-[450px]",children:(0,s.jsxs)(h.iA,{children:[(0,s.jsx)(h.xD,{children:(0,s.jsxs)(h.SC,{children:[(0,s.jsx)(h.ss,{children:"Name"}),(0,s.jsx)(h.ss,{children:"Fields"}),(0,s.jsx)(h.ss,{children:"Type"}),(0,s.jsx)(h.ss,{className:"w-20",children:"Actions"})]})}),(0,s.jsx)(h.RM,{children:z?(0,s.jsx)(h.SC,{children:(0,s.jsx)(h.pj,{colSpan:4,className:"h-32 text-center",children:(0,s.jsx)(f.Z,{className:"h-6 w-6 animate-spin mx-auto"})})}):0===L.length?(0,s.jsx)(h.SC,{children:(0,s.jsxs)(h.pj,{colSpan:4,className:"h-32 text-center text-muted-foreground",children:[(0,s.jsx)(b.Z,{className:"h-8 w-8 mx-auto mb-2 opacity-50"}),(0,s.jsx)("p",{children:"No indexes defined"})]})}):L.map(e=>(0,s.jsxs)(h.SC,{children:[(0,s.jsx)(h.pj,{className:"font-medium",children:e.name||e.id}),(0,s.jsx)(h.pj,{children:(0,s.jsx)("div",{className:"flex flex-wrap gap-1",children:(e.fields||[]).map(e=>(0,s.jsx)(u.C,{variant:"secondary",children:e},e))})}),(0,s.jsx)(h.pj,{children:(0,s.jsxs)("div",{className:"flex items-center gap-1 flex-wrap",children:[e.unique?(0,s.jsx)(u.C,{variant:"default",children:"Unique"}):(0,s.jsx)(u.C,{variant:"outline",children:"Standard"}),e.nullsNotDistinct&&(0,s.jsx)(u.C,{variant:"secondary",className:"text-xs",children:"NULLS NOT DISTINCT"})]})}),(0,s.jsx)(h.pj,{children:(0,s.jsx)(c.z,{variant:"ghost",size:"icon",className:"h-8 w-8 text-destructive",onClick:()=>X(e.name||e.id),children:(0,s.jsx)(w.Z,{className:"h-4 w-4"})})})]},e.name||e.id))})]})})})]})]})})}),(0,s.jsx)(q.Vq,{open:j,onOpenChange:v,children:(0,s.jsxs)(q.cZ,{children:[(0,s.jsx)(q.fK,{children:(0,s.jsx)(q.$N,{children:"Create Index"})}),(0,s.jsxs)("div",{className:"space-y-4 py-4",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(A._,{htmlFor:"indexName",children:"Index Name"}),(0,s.jsx)(I.I,{id:"indexName",placeholder:"Enter index name",value:g,onChange:e=>N(e.target.value)})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(A._,{children:"Select Fields"}),(0,s.jsx)("div",{className:"border rounded-md p-3 space-y-2 max-h-48 overflow-y-auto",children:Q.map(e=>(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(O.X,{id:e,checked:y.includes(e),onCheckedChange:()=>Y(e)}),(0,s.jsx)(A._,{htmlFor:e,className:"cursor-pointer",children:e})]},e))})]}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(O.X,{id:"unique",checked:k,onCheckedChange:e=>{T(e),e||D(!1)}}),(0,s.jsx)(A._,{htmlFor:"unique",className:"cursor-pointer",children:"Unique Index"})]}),k&&(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(O.X,{id:"nullsNotDistinct",checked:_,onCheckedChange:e=>D(e)}),(0,s.jsxs)(A._,{htmlFor:"nullsNotDistinct",className:"cursor-pointer flex items-center gap-1",children:["Nulls Not Distinct",(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:"(treat NULLs as equal)"})]})]})]}),(0,s.jsxs)(q.cN,{children:[(0,s.jsx)(c.z,{variant:"outline",onClick:()=>{H(),v(!1)},children:"Cancel"}),(0,s.jsxs)(c.z,{onClick:()=>{if(!g.trim()){r.Am.error("Please enter an index name");return}if(0===y.length){r.Am.error("Please select at least one field");return}B({resource:"indexes",meta:{collectionName:x},values:{name:g,fields:y,unique:k,...k&&_?{nullsNotDistinct:!0}:{}}},{onSuccess:()=>{r.Am.success("Index created successfully"),H(),v(!1),K()},onError:e=>{r.Am.error("Error creating index: ".concat(e.message))}})},disabled:$,children:[$&&(0,s.jsx)(f.Z,{className:"mr-2 h-4 w-4 animate-spin"}),"Create Index"]})]})]})}),(0,s.jsx)(m.aR,{open:M,onOpenChange:E,children:(0,s.jsxs)(m._T,{children:[(0,s.jsxs)(m.fY,{children:[(0,s.jsx)(m.f$,{children:"Delete Index"}),(0,s.jsxs)(m.yT,{children:['Are you sure you want to delete the index "',R,'"? This action cannot be undone.']})]}),(0,s.jsxs)(m.xo,{children:[(0,s.jsx)(m.le,{children:"Cancel"}),(0,s.jsxs)(m.OL,{onClick:()=>{R&&W({resource:"indexes",meta:{collectionName:x},id:R},{onSuccess:()=>{r.Am.success("Index deleted successfully"),E(!1),U(null),K()},onError:e=>{r.Am.error("Error deleting index: ".concat(e.message))}})},className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:[J?(0,s.jsx)(f.Z,{className:"mr-2 h-4 w-4 animate-spin"}):(0,s.jsx)(w.Z,{className:"mr-2 h-4 w-4"}),"Delete"]})]})]})})]})};var K=l(95937),X=l(90641),Y=l(962);let G=Y.fC,ee=Y.wy,ea=Y.Fw;var el=l(40875),es=l(10407);let et=(0,N.Z)("Radio",[["path",{d:"M4.9 19.1C1 15.2 1 8.8 4.9 4.9",key:"1vaf9d"}],["path",{d:"M7.8 16.2c-2.3-2.3-2.3-6.1 0-8.5",key:"u1ii0m"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"M16.2 7.8c2.3 2.3 2.3 6.1 0 8.5",key:"1j5fej"}],["path",{d:"M19.1 4.9C23 8.8 23 15.1 19.1 19",key:"10b0cb"}]]);var en=l(41671);let ei=e=>{if(!e)return"disabled";if(!0===e)return"enabled (all actions)";if("object"==typeof e){if(!e.enabled)return"disabled";let a=e.actions||["insert","update","delete"];return"enabled (".concat(a.join(", "),")")}return"disabled"},er=e=>{let{open:a,onClose:l}=e,[d,o]=(0,t.useState)(null),[h,m]=(0,t.useState)(null),[x,v]=(0,t.useState)(["new","modified","deleted"]),[g,N]=(0,t.useState)(!1),y=(0,t.useRef)(null),b=(0,n.Ji)(),{refetch:C}=(0,i.I_)(),{mutate:I,isLoading:A}=(0,n.uC)(),{mutate:k,isLoading:T}=(0,n.uC)(),_=()=>{o(null),m(null),y.current&&(y.current.value="")},D=async e=>{if(!e||!e.name.endsWith(".json")){r.Am.error("Please select a valid JSON file");return}o(e),m(null);let a=new FormData;a.append("schema",e),I({url:"".concat(b,"/schemas-preview-import"),method:"post",values:a},{onSuccess:e=>{m(null==e?void 0:e.data)},onError:e=>{r.Am.error("Preview failed: ".concat(e.message||"Unknown error")),m(null)}})},M=async()=>{if(!d)return;let e=new FormData;e.append("schema",d),k({url:"".concat(b,"/schemas-import"),method:"post",values:e},{onSuccess:()=>{r.Am.success("Schemas imported successfully"),C(),_(),l()},onError:e=>{r.Am.error("Import failed: ".concat(e.message||"Unknown error"))}})},R=e=>{v(a=>a.includes(e)?a.filter(a=>a!==e):[...a,e])},O=function(e,a,l,t){let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"default";if(!e||0===e.length)return null;let i=x.includes(t);return(0,s.jsxs)(G,{open:i,onOpenChange:()=>R(t),children:[(0,s.jsxs)(ee,{className:"flex items-center justify-between w-full p-3 bg-muted/50 rounded-lg hover:bg-muted transition-colors",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[a,(0,s.jsx)("span",{className:"font-medium",children:l}),(0,s.jsx)(u.C,{variant:n,children:e.length})]}),i?(0,s.jsx)(el.Z,{className:"h-4 w-4"}):(0,s.jsx)(es.Z,{className:"h-4 w-4"})]}),(0,s.jsx)(ea,{children:(0,s.jsx)("div",{className:"mt-2 space-y-2 pl-4",children:e.map((e,l)=>(0,s.jsxs)("div",{className:"p-2 rounded border bg-background",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[a,(0,s.jsx)("span",{children:"string"==typeof e?e:e.collectionName}),e.differences&&Object.keys(e.differences).length>0&&(0,s.jsxs)(u.C,{variant:"outline",className:"ml-auto",children:[Object.keys(e.differences).length," change(s)"]})]}),e.differences&&Object.keys(e.differences).length>0&&(0,s.jsx)("div",{className:"mt-2 pl-6 text-xs space-y-1",children:Object.entries(e.differences).map(e=>{let[a,l]=e;return(0,s.jsx)("div",{className:"flex items-start gap-2 text-muted-foreground",children:"realtime"===a?(0,s.jsxs)("div",{className:"flex items-center gap-1",children:[(0,s.jsx)(et,{className:"h-3 w-3"}),(0,s.jsx)("span",{className:"font-medium",children:"Realtime:"}),(0,s.jsx)("span",{className:"text-red-500 line-through",children:ei(l.from)}),(0,s.jsx)("span",{children:"→"}),(0,s.jsx)("span",{className:"text-green-500",children:ei(l.to)})]}):(0,s.jsxs)("span",{children:[(0,s.jsxs)("span",{className:"font-medium",children:[a,":"]})," ","added"===l.type&&(0,s.jsx)("span",{className:"text-green-500",children:"added"}),"removed"===l.type&&(0,s.jsx)("span",{className:"text-red-500",children:"removed"}),"modified"===l.type&&(0,s.jsx)("span",{className:"text-yellow-500",children:"modified"})]})},a)})})]},l))})})]})},L=h&&(h.changes.new.length>0||h.changes.modified.length>0||h.changes.deleted.length>0);return(0,s.jsx)(S.yo,{open:a,onOpenChange:e=>{e||(_(),l())},children:(0,s.jsxs)(S.ue,{className:"w-[600px] sm:w-[700px] sm:max-w-[700px] flex flex-col",children:[(0,s.jsx)(S.Tu,{children:(0,s.jsx)(S.bC,{children:"Import Schema"})}),(0,s.jsxs)("div",{className:"flex-1 overflow-hidden flex flex-col mt-6",children:[(0,s.jsxs)("div",{className:"border-2 border-dashed rounded-lg p-8 text-center cursor-pointer transition-colors flex-shrink-0 ".concat(g?"border-primary bg-primary/5":"hover:border-primary"),onClick:()=>{var e;return null===(e=y.current)||void 0===e?void 0:e.click()},onDragOver:e=>{e.preventDefault(),N(!0)},onDragLeave:e=>{e.preventDefault(),N(!1)},onDrop:e=>{e.preventDefault(),N(!1);let a=e.dataTransfer.files[0];a&&D(a)},children:[(0,s.jsx)(j.Z,{className:"h-10 w-10 mx-auto mb-4 text-muted-foreground"}),d?(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"font-medium",children:d.name}),(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:"Click or drag to select a different file"})]}):(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"font-medium",children:"Click or drag schema file to upload"}),(0,s.jsx)("p",{className:"text-sm text-muted-foreground mt-1",children:"Support for single JSON file upload only"})]}),(0,s.jsx)("input",{ref:y,type:"file",accept:".json",className:"hidden",onChange:e=>{var a;let l=null===(a=e.target.files)||void 0===a?void 0:a[0];l&&D(l)}})]}),A&&(0,s.jsxs)("div",{className:"flex items-center justify-center py-8",children:[(0,s.jsx)(f.Z,{className:"h-6 w-6 animate-spin mr-2"}),(0,s.jsx)("span",{children:"Analyzing schema changes..."})]}),h&&(0,s.jsx)(X.x,{className:"flex-1 mt-4",children:(0,s.jsxs)("div",{className:"space-y-4 pr-4",children:[(0,s.jsxs)(K.bZ,{children:[(0,s.jsx)(U.Z,{className:"h-4 w-4"}),(0,s.jsx)(K.Cd,{children:"Schema Analysis Complete"}),(0,s.jsxs)(K.X,{children:["Import version: ",h.importVersion," (",h.importTimestamp,")"]})]}),(0,s.jsxs)("div",{className:"space-y-3",children:[O(h.changes.new,(0,s.jsx)(p.Z,{className:"h-4 w-4 text-green-500"}),"New Schemas","new","default"),O(h.changes.modified,(0,s.jsx)(E.Z,{className:"h-4 w-4 text-yellow-500"}),"Modified Schemas","modified","secondary"),O(h.changes.deleted,(0,s.jsx)(w.Z,{className:"h-4 w-4 text-red-500"}),"Deleted Schemas","deleted","destructive"),O(h.changes.unchanged,(0,s.jsx)(en.Z,{className:"h-4 w-4 text-green-500"}),"Unchanged Schemas","unchanged","outline")]}),!L&&(0,s.jsxs)(K.bZ,{children:[(0,s.jsx)(en.Z,{className:"h-4 w-4"}),(0,s.jsx)(K.X,{children:"No changes detected. All schemas are already up to date."})]})]})})]}),(0,s.jsxs)("div",{className:"flex justify-end gap-2 pt-4 border-t mt-4 flex-shrink-0",children:[(0,s.jsx)(c.z,{variant:"outline",onClick:()=>{_(),l()},children:"Cancel"}),h&&(0,s.jsxs)(c.z,{onClick:M,disabled:T,children:[T&&(0,s.jsx)(f.Z,{className:"mr-2 h-4 w-4 animate-spin"}),"Confirm Import"]})]})]})})};var ed=l(31593);let ec=e=>{let{open:a,onClose:l,onSuccess:d,schema:o,collectionName:u}=e,[h,m]=(0,t.useState)(!1),[x,p]=(0,t.useState)(!1),[j,v]=(0,t.useState)(!1),[g,N]=(0,t.useState)(!1),[y,b]=(0,t.useState)(!1),[w,I]=(0,t.useState)(["insert","update","delete"]),{getSchemaByName:T,refetch:_}=(0,i.I_)(),{mutate:D,isLoading:M}=(0,n.PQ)(),E=a?T(u):null,R=(null==E?void 0:E.schema)||o;(0,t.useEffect)(()=>{if(a&&R){let e=!0===R.timestamps,a=!0===R.usertrack,l=!0===R.paranoid,s=!0===R.sortEnabled,t=!1,n=["insert","update","delete"];!0===R.realtime?t=!0:"object"==typeof R.realtime&&null!==R.realtime&&(t=!0===R.realtime.enabled,n=R.realtime.actions||["insert","update","delete"]),console.log("Schema settings loaded:",{collectionName:u,timestamps:R.timestamps,usertrack:R.usertrack,paranoid:R.paranoid,sortEnabled:R.sortEnabled,realtime:R.realtime,parsed:{ts:e,ut:a,pn:l,se:s,rtEnabled:t,rtActions:n}}),m(e),p(a),v(l),N(s),b(t),I(n)}},[a,u,R]);let U=(e,a)=>{a?I(a=>[...a,e]):I(a=>a.filter(a=>a!==e))};return(0,s.jsx)(S.yo,{open:a,onOpenChange:e=>!e&&l(),children:(0,s.jsx)(S.ue,{className:"!w-full sm:!w-[500px] flex flex-col overflow-hidden p-0",children:(0,s.jsxs)("div",{className:"flex flex-col h-full overflow-hidden p-6",children:[(0,s.jsx)(S.Tu,{className:"flex-shrink-0",children:(0,s.jsxs)(S.bC,{className:"flex items-center gap-2",children:[(0,s.jsx)(C.Z,{className:"h-5 w-5 flex-shrink-0"}),"Schema Settings"]})}),(0,s.jsx)(X.x,{className:"flex-1 mt-6",children:(0,s.jsxs)("div",{className:"space-y-6 pr-4",children:[(0,s.jsxs)("div",{className:"p-4 rounded-lg bg-muted",children:[(0,s.jsx)("p",{className:"text-sm font-medium truncate max-w-[250px] sm:max-w-[400px]",title:null==R?void 0:R.name,children:null==R?void 0:R.name}),(0,s.jsxs)("p",{className:"text-xs text-muted-foreground truncate max-w-[250px] sm:max-w-[400px]",title:u,children:["Collection: ",u]})]}),(0,s.jsx)(ed.Z,{}),(0,s.jsxs)("div",{className:"space-y-6",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("div",{className:"space-y-0.5",children:[(0,s.jsx)(A._,{children:"Timestamps"}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:"Add createdAt and updatedAt fields automatically"})]}),(0,s.jsx)(k.r,{checked:h,onCheckedChange:m})]}),(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("div",{className:"space-y-0.5",children:[(0,s.jsx)(A._,{children:"User Tracking"}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:"Track who created and modified records"})]}),(0,s.jsx)(k.r,{checked:x,onCheckedChange:p})]}),(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("div",{className:"space-y-0.5",children:[(0,s.jsx)(A._,{children:"Sorting"}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:"Enable sorting capabilities for this collection"})]}),(0,s.jsx)(k.r,{checked:g,onCheckedChange:N})]}),(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("div",{className:"space-y-0.5",children:[(0,s.jsx)(A._,{children:"Soft Delete"}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:"Mark records as deleted instead of removing them"}),(null==R?void 0:R.paranoid)&&(0,s.jsx)("p",{className:"text-xs text-amber-600",children:"⚠️ Cannot be disabled once enabled"})]}),(0,s.jsx)(k.r,{checked:j,onCheckedChange:v,disabled:null==R?void 0:R.paranoid})]}),(0,s.jsx)(ed.Z,{}),(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("div",{className:"space-y-0.5",children:[(0,s.jsxs)(A._,{className:"flex items-center gap-2",children:[(0,s.jsx)(et,{className:"h-4 w-4"}),"Realtime"]}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:"Broadcast changes via WebSocket using PostgreSQL WAL"})]}),(0,s.jsx)(k.r,{checked:y,onCheckedChange:b})]}),y&&(0,s.jsxs)("div",{className:"pl-4 space-y-3 border-l-2 border-muted",children:[(0,s.jsx)(A._,{className:"text-xs text-muted-foreground",children:"Broadcast on:"}),(0,s.jsxs)("div",{className:"flex flex-wrap gap-4",children:[(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(O.X,{id:"rt-insert",checked:w.includes("insert"),onCheckedChange:e=>U("insert",e)}),(0,s.jsx)("label",{htmlFor:"rt-insert",className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:"Insert"})]}),(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(O.X,{id:"rt-update",checked:w.includes("update"),onCheckedChange:e=>U("update",e)}),(0,s.jsx)("label",{htmlFor:"rt-update",className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:"Update"})]}),(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(O.X,{id:"rt-delete",checked:w.includes("delete"),onCheckedChange:e=>U("delete",e)}),(0,s.jsx)("label",{htmlFor:"rt-delete",className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:"Delete"})]})]}),0===w.length&&(0,s.jsx)("p",{className:"text-xs text-amber-600",children:"⚠️ Select at least one action to broadcast"})]})]})]})]})}),(0,s.jsxs)("div",{className:"flex justify-end gap-2 pt-4 border-t mt-4 flex-shrink-0",children:[(0,s.jsx)(c.z,{variant:"outline",onClick:l,children:"Cancel"}),(0,s.jsxs)(c.z,{onClick:()=>{let e=T(u),a=y?{enabled:!0,actions:w}:{enabled:!1,actions:[]};D({resource:"collections",id:u,values:{schema:{...null==e?void 0:e.schema,timestamps:h,usertrack:x,paranoid:j,sortEnabled:g,realtime:a}}},{onSuccess:()=>{r.Am.success("Schema settings updated successfully"),_(),d(),l()},onError:e=>{r.Am.error("Error updating settings: ".concat(e.message))}})},disabled:M,children:[M&&(0,s.jsx)(f.Z,{className:"mr-2 h-4 w-4 animate-spin"}),"Save Changes"]})]})]})})})},eo=()=>{let[e,a]=(0,t.useState)(!1),[l,N]=(0,t.useState)(!1),[S,I]=(0,t.useState)(!1),[A,k]=(0,t.useState)(!1),[T,D]=(0,t.useState)(!1),[M,E]=(0,t.useState)(null),[R,O]=(0,t.useState)(null),[U,L]=(0,t.useState)(""),[V,Z]=(0,t.useState)(!1),[z,P]=(0,t.useState)(null),F=(0,n.Ji)(),{schemas:Q,isLoading:B,refetch:$}=(0,i.I_)(),{mutate:W,isLoading:q}=(0,n.R2)(),K=(0,t.useMemo)(()=>Q&&U.trim()?Q.filter(e=>{var a,l,s;let t=(null==e?void 0:null===(l=e.schema)||void 0===l?void 0:null===(a=l.name)||void 0===a?void 0:a.toLowerCase())||"",n=(null==e?void 0:null===(s=e.collectionName)||void 0===s?void 0:s.toLowerCase())||"",i=U.toLowerCase();return t.includes(i)||n.includes(i)}):Q||[],[Q,U]),X=e=>{E(e),N(!0)},Y=e=>{E(e),I(!0)},G=e=>{E(e.collectionName),O(e.schema),D(!0)},ee=e=>{P(e),Z(!0)},{refetch:ea}=(0,n.EV)({url:"".concat(F,"/schemas-export"),method:"get",queryOptions:{enabled:!1,retry:!1}}),el=async()=>{try{var e;let a=await ea(),l=null==a?void 0:a.data;if(!(null==l?void 0:l.data)){r.Am.error("No schemas found to export");return}let s=window.URL.createObjectURL(new Blob([JSON.stringify(l.data)])),t=document.createElement("a");t.href=s,t.setAttribute("download","schema-export-".concat((null===(e=l.data)||void 0===e?void 0:e.timestamp)||Date.now(),".json")),document.body.appendChild(t),t.click(),t.remove(),r.Am.success("Schemas exported successfully")}catch(e){r.Am.error("Error exporting schemas: ".concat(e.message))}},es=e=>Object.keys((null==e?void 0:e.fields)||{}).length;return(0,s.jsxs)("div",{className:"flex flex-col h-full overflow-hidden gap-2",children:[(0,s.jsxs)("div",{className:"flex flex-col sm:flex-row items-start sm:items-center justify-between gap-2 flex-shrink-0",children:[(0,s.jsx)("h1",{className:"text-lg font-semibold",children:"Collections Management"}),(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,s.jsx)(o.t,{value:U,onChange:L,placeholder:"Search collections...",expandedWidth:"w-64"}),(0,s.jsx)(c.z,{variant:"outline",size:"icon",onClick:()=>$(),children:(0,s.jsx)(x.Z,{className:"h-4 w-4"})}),(0,s.jsxs)(c.z,{onClick:()=>a(!0),children:[(0,s.jsx)(p.Z,{className:"mr-2 h-4 w-4"}),"Create Schema"]}),(0,s.jsxs)(c.z,{variant:"outline",onClick:()=>k(!0),children:[(0,s.jsx)(j.Z,{className:"mr-2 h-4 w-4"}),"Import"]}),(0,s.jsxs)(c.z,{variant:"outline",onClick:el,children:[(0,s.jsx)(v.Z,{className:"mr-2 h-4 w-4"}),"Export"]})]})]}),(0,s.jsx)(d.Zb,{className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:(0,s.jsx)("div",{className:"flex-1 overflow-auto",children:(0,s.jsxs)("table",{className:"w-full min-w-max",children:[(0,s.jsx)("thead",{className:"sticky top-0 z-10 bg-background border-b",children:(0,s.jsxs)(h.SC,{children:[(0,s.jsx)(h.ss,{children:"Schema Name"}),(0,s.jsx)(h.ss,{children:"Fields"}),(0,s.jsx)(h.ss,{children:"Options"}),(0,s.jsx)(h.ss,{className:"w-64",children:"Actions"})]})}),(0,s.jsx)("tbody",{children:B?(0,s.jsx)(h.SC,{children:(0,s.jsx)(h.pj,{colSpan:4,className:"h-48 text-center",children:(0,s.jsx)(f.Z,{className:"h-8 w-8 animate-spin mx-auto"})})}):0===K.length?(0,s.jsx)(h.SC,{children:(0,s.jsxs)(h.pj,{colSpan:4,className:"h-48 text-center text-muted-foreground",children:[(0,s.jsx)(g.Z,{className:"h-12 w-12 mx-auto mb-4 opacity-50"}),(0,s.jsx)("p",{children:"No collections found"}),(0,s.jsxs)(c.z,{variant:"outline",className:"mt-4",onClick:()=>a(!0),children:[(0,s.jsx)(p.Z,{className:"mr-2 h-4 w-4"}),"Create your first collection"]})]})}):K.map(e=>{var a,l,t,n,i;return(0,s.jsxs)(h.SC,{children:[(0,s.jsx)(h.pj,{children:(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(g.Z,{className:"h-4 w-4 text-muted-foreground"}),(0,s.jsxs)("div",{className:"flex flex-col",children:[(0,s.jsx)("span",{className:"font-medium",children:null===(a=e.schema)||void 0===a?void 0:a.name}),(null===(l=e.schema)||void 0===l?void 0:l.name)!==e.collectionName&&(0,s.jsx)("code",{className:"text-xs text-muted-foreground bg-muted px-1 py-0.5 rounded w-fit",children:e.collectionName})]})]})}),(0,s.jsx)(h.pj,{children:(0,s.jsxs)(u.C,{variant:"secondary",children:[es(e.schema)," fields"]})}),(0,s.jsx)(h.pj,{children:(0,s.jsxs)("div",{className:"flex flex-wrap gap-1",children:[(null===(t=e.schema)||void 0===t?void 0:t.timestamps)&&(0,s.jsx)(u.C,{variant:"outline",className:"text-xs",children:"Timestamps"}),(null===(n=e.schema)||void 0===n?void 0:n.paranoid)&&(0,s.jsx)(u.C,{variant:"outline",className:"text-xs",children:"Soft Delete"}),(null===(i=e.schema)||void 0===i?void 0:i.usertrack)&&(0,s.jsx)(u.C,{variant:"outline",className:"text-xs",children:"Audit"})]})}),(0,s.jsx)(h.pj,{children:(0,s.jsxs)("div",{className:"flex items-center gap-1",children:[(0,s.jsxs)(c.z,{variant:"outline",size:"sm",onClick:()=>X(e.collectionName),children:[(0,s.jsx)(y,{className:"mr-1 h-3 w-3"}),"Fields"]}),(0,s.jsxs)(c.z,{variant:"outline",size:"sm",onClick:()=>Y(e.collectionName),children:[(0,s.jsx)(b.Z,{className:"mr-1 h-3 w-3"}),"Indexes"]}),(0,s.jsx)(c.z,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:()=>G(e),children:(0,s.jsx)(C.Z,{className:"h-4 w-4"})}),!e.collectionName.includes("baasix_")&&(0,s.jsx)(c.z,{variant:"ghost",size:"icon",className:"h-8 w-8 text-destructive",onClick:()=>ee(e.collectionName),children:(0,s.jsx)(w.Z,{className:"h-4 w-4"})})]})})]},e.collectionName)})})]})})}),(0,s.jsx)(_,{open:e,onClose:()=>a(!1),onSuccess:()=>{a(!1),$()}}),M&&(0,s.jsx)(J,{open:l,onClose:()=>N(!1),collectionName:M,onSuccess:()=>$()}),M&&(0,s.jsx)(H,{open:S,onClose:()=>I(!1),collectionName:M}),(0,s.jsx)(er,{open:A,onClose:()=>{k(!1),$()}}),M&&R&&(0,s.jsx)(ec,{open:T,onClose:()=>D(!1),onSuccess:()=>$(),schema:R,collectionName:M}),(0,s.jsx)(m.aR,{open:V,onOpenChange:Z,children:(0,s.jsxs)(m._T,{children:[(0,s.jsxs)(m.fY,{children:[(0,s.jsx)(m.f$,{children:"Delete Schema"}),(0,s.jsxs)(m.yT,{children:['Are you sure you want to delete the schema "',z,'"? This action cannot be undone and will remove all data in this collection.']})]}),(0,s.jsxs)(m.xo,{children:[(0,s.jsx)(m.le,{children:"Cancel"}),(0,s.jsxs)(m.OL,{onClick:()=>{z&&W({resource:"collections",id:z},{onSuccess:()=>{r.Am.success("Schema deleted successfully"),Z(!1),P(null),$()},onError:e=>{r.Am.error("Error deleting schema: ".concat(e.message))}})},className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:[q?(0,s.jsx)(f.Z,{className:"mr-2 h-4 w-4 animate-spin"}):(0,s.jsx)(w.Z,{className:"mr-2 h-4 w-4"}),"Delete"]})]})]})})]})};var eu=()=>(0,s.jsx)(eo,{})},30767:function(e,a,l){"use strict";l.d(a,{OL:function(){return v},_T:function(){return h},aR:function(){return d},f$:function(){return p},fY:function(){return m},le:function(){return f},vW:function(){return c},xo:function(){return x},yT:function(){return j}});var s=l(57437),t=l(2265),n=l(16720),i=l(93448),r=l(12381);let d=n.fC,c=n.xz,o=n.h_,u=t.forwardRef((e,a)=>{let{className:l,...t}=e;return(0,s.jsx)(n.aV,{className:(0,i.cn)("fixed inset-0 z-50 bg-background/80 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",l),...t,ref:a})});u.displayName="AlertDialogOverlay";let h=t.forwardRef((e,a)=>{let{className:l,...t}=e;return(0,s.jsxs)(o,{children:[(0,s.jsx)(u,{}),(0,s.jsx)(n.VY,{ref:a,className:(0,i.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 sm:rounded-lg",l),...t})]})});h.displayName="AlertDialogContent";let m=e=>{let{className:a,...l}=e;return(0,s.jsx)("div",{className:(0,i.cn)("flex flex-col space-y-2 text-center sm:text-left",a),...l})};m.displayName="AlertDialogHeader";let x=e=>{let{className:a,...l}=e;return(0,s.jsx)("div",{className:(0,i.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",a),...l})};x.displayName="AlertDialogFooter";let p=t.forwardRef((e,a)=>{let{className:l,...t}=e;return(0,s.jsx)(n.Dx,{ref:a,className:(0,i.cn)("text-lg font-semibold",l),...t})});p.displayName="AlertDialogTitle";let j=t.forwardRef((e,a)=>{let{className:l,...t}=e;return(0,s.jsx)(n.dk,{ref:a,className:(0,i.cn)("text-sm text-muted-foreground",l),...t})});j.displayName="AlertDialogDescription";let v=t.forwardRef((e,a)=>{let{className:l,...t}=e;return(0,s.jsx)(n.aU,{ref:a,className:(0,i.cn)((0,r.d)(),l),...t})});v.displayName="AlertDialogAction";let f=t.forwardRef((e,a)=>{let{className:l,...t}=e;return(0,s.jsx)(n.$j,{ref:a,className:(0,i.cn)((0,r.d)({variant:"outline"}),"mt-2 sm:mt-0",l),...t})});f.displayName="AlertDialogCancel"},31593:function(e,a,l){"use strict";l.d(a,{Z:function(){return r}});var s=l(57437),t=l(2265),n=l(90759),i=l(93448);let r=t.forwardRef((e,a)=>{let{className:l,orientation:t="horizontal",decorative:r=!0,...d}=e;return(0,s.jsx)(n.f,{ref:a,decorative:r,orientation:t,className:(0,i.cn)("shrink-0 bg-border","horizontal"===t?"h-[1px] w-full":"h-full w-[1px]",l),...d})});r.displayName=n.f.displayName},962:function(e,a,l){"use strict";l.d(a,{Fw:function(){return b},VY:function(){return A},fC:function(){return S},p_:function(){return p},wy:function(){return N},xz:function(){return I}});var s=l(2265),t=l(6741),n=l(73966),i=l(80886),r=l(61188),d=l(98575),c=l(82912),o=l(71599),u=l(99255),h=l(57437),m="Collapsible",[x,p]=(0,n.b)(m),[j,v]=x(m),f=s.forwardRef((e,a)=>{let{__scopeCollapsible:l,open:t,defaultOpen:n,disabled:r,onOpenChange:d,...o}=e,[x,p]=(0,i.T)({prop:t,defaultProp:null!=n&&n,onChange:d,caller:m});return(0,h.jsx)(j,{scope:l,disabled:r,contentId:(0,u.M)(),open:x,onOpenToggle:s.useCallback(()=>p(e=>!e),[p]),children:(0,h.jsx)(c.WV.div,{"data-state":w(x),"data-disabled":r?"":void 0,...o,ref:a})})});f.displayName=m;var g="CollapsibleTrigger",N=s.forwardRef((e,a)=>{let{__scopeCollapsible:l,...s}=e,n=v(g,l);return(0,h.jsx)(c.WV.button,{type:"button","aria-controls":n.contentId,"aria-expanded":n.open||!1,"data-state":w(n.open),"data-disabled":n.disabled?"":void 0,disabled:n.disabled,...s,ref:a,onClick:(0,t.Mj)(e.onClick,n.onOpenToggle)})});N.displayName=g;var y="CollapsibleContent",b=s.forwardRef((e,a)=>{let{forceMount:l,...s}=e,t=v(y,e.__scopeCollapsible);return(0,h.jsx)(o.z,{present:l||t.open,children:e=>{let{present:l}=e;return(0,h.jsx)(C,{...s,ref:a,present:l})}})});b.displayName=y;var C=s.forwardRef((e,a)=>{let{__scopeCollapsible:l,present:t,children:n,...i}=e,o=v(y,l),[u,m]=s.useState(t),x=s.useRef(null),p=(0,d.e)(a,x),j=s.useRef(0),f=j.current,g=s.useRef(0),N=g.current,b=o.open||u,C=s.useRef(b),S=s.useRef(void 0);return s.useEffect(()=>{let e=requestAnimationFrame(()=>C.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,r.b)(()=>{let e=x.current;if(e){S.current=S.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration="0s",e.style.animationName="none";let a=e.getBoundingClientRect();j.current=a.height,g.current=a.width,C.current||(e.style.transitionDuration=S.current.transitionDuration,e.style.animationName=S.current.animationName),m(t)}},[o.open,t]),(0,h.jsx)(c.WV.div,{"data-state":w(o.open),"data-disabled":o.disabled?"":void 0,id:o.contentId,hidden:!b,...i,ref:p,style:{"--radix-collapsible-content-height":f?"".concat(f,"px"):void 0,"--radix-collapsible-content-width":N?"".concat(N,"px"):void 0,...e.style},children:b&&n})});function w(e){return e?"open":"closed"}var S=f,I=N,A=b},370:function(e,a,l){"use strict";l.d(a,{f:function(){return d}});var s=l(2265);l(54887);var t=l(37053),n=l(57437),i=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,a)=>{let l=(0,t.Z8)(`Primitive.${a}`),i=s.forwardRef((e,s)=>{let{asChild:t,...i}=e,r=t?l:a;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,n.jsx)(r,{...i,ref:s})});return i.displayName=`Primitive.${a}`,{...e,[a]:i}},{}),r=s.forwardRef((e,a)=>(0,n.jsx)(i.label,{...e,ref:a,onMouseDown:a=>{var l;a.target.closest("button, input, select, textarea")||(null===(l=e.onMouseDown)||void 0===l||l.call(e,a),!a.defaultPrevented&&a.detail>1&&a.preventDefault())}}));r.displayName="Label";var d=r},90759:function(e,a,l){"use strict";l.d(a,{f:function(){return o}});var s=l(2265);l(54887);var t=l(37053),n=l(57437),i=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,a)=>{let l=(0,t.Z8)(`Primitive.${a}`),i=s.forwardRef((e,s)=>{let{asChild:t,...i}=e,r=t?l:a;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,n.jsx)(r,{...i,ref:s})});return i.displayName=`Primitive.${a}`,{...e,[a]:i}},{}),r="horizontal",d=["horizontal","vertical"],c=s.forwardRef((e,a)=>{let{decorative:l,orientation:s=r,...t}=e,c=d.includes(s)?s:r;return(0,n.jsx)(i.div,{"data-orientation":c,...l?{role:"none"}:{"aria-orientation":"vertical"===c?c:void 0,role:"separator"},...t,ref:a})});c.displayName="Separator";var o=c}},function(e){e.O(0,[7999,3572,7902,5094,4438,6530,6241,4475,926,600,1668,1509,9487,1783,9881,7324,3563,6547,2033,2971,2117,1744],function(){return e(e.s=49204)}),_N_E=e.O()}]);
|