@vikukumar/propvault 0.1.5 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +3 -3
- package/.next/prerender-manifest.json +3 -3
- package/.next/server/app/(website)/[...slug]/page/server-reference-manifest.json +4 -4
- package/.next/server/app/(website)/[...slug]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(website)/blog/[slug]/page/server-reference-manifest.json +1 -1
- package/.next/server/app/(website)/blog/[slug]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(website)/contact/page/server-reference-manifest.json +1 -1
- package/.next/server/app/(website)/contact/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(website)/page/server-reference-manifest.json +5 -5
- package/.next/server/app/(website)/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(website)/projects/[slug]/page/server-reference-manifest.json +1 -1
- package/.next/server/app/(website)/projects/[slug]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +1 -1
- package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/admin/cms/email-templates/page/server-reference-manifest.json +2 -2
- package/.next/server/app/admin/cms/email-templates/page_client-reference-manifest.js +1 -1
- package/.next/server/app/admin/cms/menus/page/server-reference-manifest.json +3 -3
- package/.next/server/app/admin/cms/menus/page_client-reference-manifest.js +1 -1
- package/.next/server/app/admin/cms/pages/[id]/edit/page/server-reference-manifest.json +6 -6
- package/.next/server/app/admin/cms/pages/[id]/edit/page_client-reference-manifest.js +1 -1
- package/.next/server/app/admin/cms/pages/new/page/server-reference-manifest.json +1 -1
- package/.next/server/app/admin/cms/pages/new/page_client-reference-manifest.js +1 -1
- package/.next/server/app/admin/cms/pages/page/server-reference-manifest.json +2 -2
- package/.next/server/app/admin/cms/pages/page_client-reference-manifest.js +1 -1
- package/.next/server/app/admin/cms/redirects/page/server-reference-manifest.json +3 -3
- package/.next/server/app/admin/cms/redirects/page_client-reference-manifest.js +1 -1
- package/.next/server/app/admin/leads/[id]/page/server-reference-manifest.json +2 -2
- package/.next/server/app/admin/leads/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/admin/page/server-reference-manifest.json +3 -3
- package/.next/server/app/admin/page_client-reference-manifest.js +1 -1
- package/.next/server/app/admin/plugins/page/server-reference-manifest.json +5 -5
- package/.next/server/app/admin/plugins/page_client-reference-manifest.js +1 -1
- package/.next/server/app/admin/profile/page/server-reference-manifest.json +2 -2
- package/.next/server/app/admin/profile/page_client-reference-manifest.js +1 -1
- package/.next/server/app/admin/projects/edit/[id]/page/server-reference-manifest.json +2 -2
- package/.next/server/app/admin/projects/edit/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/admin/projects/new/page/server-reference-manifest.json +2 -2
- package/.next/server/app/admin/projects/new/page_client-reference-manifest.js +1 -1
- package/.next/server/app/admin/settings/analytics/page/server-reference-manifest.json +1 -1
- package/.next/server/app/admin/settings/analytics/page.js.nft.json +1 -1
- package/.next/server/app/admin/settings/analytics/page_client-reference-manifest.js +1 -1
- package/.next/server/app/admin/settings/api-keys/page/server-reference-manifest.json +102 -102
- package/.next/server/app/admin/settings/api-keys/page_client-reference-manifest.js +1 -1
- package/.next/server/app/admin/settings/branding/page/server-reference-manifest.json +1 -1
- package/.next/server/app/admin/settings/branding/page.js.nft.json +1 -1
- package/.next/server/app/admin/settings/branding/page_client-reference-manifest.js +1 -1
- package/.next/server/app/admin/settings/general/page/server-reference-manifest.json +1 -1
- package/.next/server/app/admin/settings/general/page.js.nft.json +1 -1
- package/.next/server/app/admin/settings/general/page_client-reference-manifest.js +1 -1
- package/.next/server/app/admin/settings/security/page/server-reference-manifest.json +1 -1
- package/.next/server/app/admin/settings/security/page.js.nft.json +1 -1
- package/.next/server/app/admin/settings/security/page_client-reference-manifest.js +1 -1
- package/.next/server/app/admin/settings/seo/page/server-reference-manifest.json +1 -1
- package/.next/server/app/admin/settings/seo/page.js.nft.json +1 -1
- package/.next/server/app/admin/settings/seo/page_client-reference-manifest.js +1 -1
- package/.next/server/app/admin/settings/smtp/page/server-reference-manifest.json +1 -1
- package/.next/server/app/admin/settings/smtp/page.js.nft.json +1 -1
- package/.next/server/app/admin/settings/smtp/page_client-reference-manifest.js +1 -1
- package/.next/server/app/admin/settings/storage/page/server-reference-manifest.json +1 -1
- package/.next/server/app/admin/settings/storage/page.js.nft.json +1 -1
- package/.next/server/app/admin/settings/storage/page_client-reference-manifest.js +1 -1
- package/.next/server/app/admin/theme/page/server-reference-manifest.json +5 -5
- package/.next/server/app/admin/theme/page_client-reference-manifest.js +1 -1
- package/.next/server/app/api/upload/route.js.nft.json +1 -1
- package/.next/server/app/contact.html +2 -2
- package/.next/server/app/contact.rsc +2 -2
- package/.next/server/app/contact.segments/!KHdlYnNpdGUp/contact/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/contact.segments/!KHdlYnNpdGUp/contact.segment.rsc +1 -1
- package/.next/server/app/contact.segments/!KHdlYnNpdGUp.segment.rsc +1 -1
- package/.next/server/app/contact.segments/_full.segment.rsc +2 -2
- package/.next/server/app/contact.segments/_head.segment.rsc +1 -1
- package/.next/server/app/contact.segments/_index.segment.rsc +1 -1
- package/.next/server/app/contact.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/index.html +2 -2
- package/.next/server/app/index.rsc +11 -11
- package/.next/server/app/index.segments/!KHdlYnNpdGUp/__PAGE__.segment.rsc +11 -11
- package/.next/server/app/index.segments/!KHdlYnNpdGUp.segment.rsc +1 -1
- package/.next/server/app/index.segments/_full.segment.rsc +11 -11
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +1 -1
- package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/login.html +1 -1
- package/.next/server/app/login.rsc +1 -1
- package/.next/server/app/login.segments/_full.segment.rsc +1 -1
- package/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/.next/server/app/login.segments/_index.segment.rsc +1 -1
- package/.next/server/app/login.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/login.segments/login.segment.rsc +1 -1
- package/.next/server/app/setup/page/server-reference-manifest.json +15 -15
- package/.next/server/app/setup/page_client-reference-manifest.js +1 -1
- package/.next/server/app/setup.html +2 -2
- package/.next/server/app/setup.rsc +2 -2
- package/.next/server/app/setup.segments/_full.segment.rsc +2 -2
- package/.next/server/app/setup.segments/_head.segment.rsc +1 -1
- package/.next/server/app/setup.segments/_index.segment.rsc +1 -1
- package/.next/server/app/setup.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/setup.segments/setup.segment.rsc +1 -1
- package/.next/server/app/sitemap.xml.body +9 -9
- package/.next/server/chunks/[root-of-the-server]__0ikpexd._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__03m3xqu._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__05px_h7._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__08s00s8._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0_x-0vh._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0ae1ufj._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0b0jtbx._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0d95wm4._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0d_wuy_._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0frxadd._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0owpb-h._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1--m0t_._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__11c23n7._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__12yzdf7._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1_5z9ae._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1ijsxgu._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1mh1dn4._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1nrl0j-._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1qronyg._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1rjv73_._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1ybv0-1._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__203pgu_._.js +1 -1
- package/.next/server/chunks/ssr/_01ovwyq._.js +1 -1
- package/.next/server/chunks/ssr/_05jzsu5._.js +1 -1
- package/.next/server/chunks/ssr/_06ljqk-._.js +1 -1
- package/.next/server/chunks/ssr/_06rh1hs._.js +1 -1
- package/.next/server/chunks/ssr/_08mru_6._.js +1 -1
- package/.next/server/chunks/ssr/_09o1npz._.js +1 -1
- package/.next/server/chunks/ssr/{_1zm01h0._.js → _0d9dhlq._.js} +2 -2
- package/.next/server/chunks/ssr/_0h33iks._.js +1 -1
- package/.next/server/chunks/ssr/_0ju3jec._.js +1 -1
- package/.next/server/chunks/ssr/_0kdtd1g._.js +1 -1
- package/.next/server/chunks/ssr/_0m0s15u._.js +1 -1
- package/.next/server/chunks/ssr/_0qdyrxm._.js +1 -1
- package/.next/server/chunks/ssr/_0untlx2._.js +1 -1
- package/.next/server/chunks/ssr/{_1hb_oxg._.js → _0v1z0z-._.js} +2 -2
- package/.next/server/chunks/ssr/_0vu77cg._.js +1 -1
- package/.next/server/chunks/ssr/_0xki9b-._.js +1 -1
- package/.next/server/chunks/ssr/_1-wcqf6._.js +1 -1
- package/.next/server/chunks/ssr/_10imd--._.js +1 -1
- package/.next/server/chunks/ssr/_122ck8v._.js +1 -1
- package/.next/server/chunks/ssr/_17z_x3y._.js +1 -1
- package/.next/server/chunks/ssr/_18r74av._.js +1 -1
- package/.next/server/chunks/ssr/_1agt3s0._.js +1 -1
- package/.next/server/chunks/ssr/_1ijzz5f._.js +1 -1
- package/.next/server/chunks/ssr/_1l22w_w._.js +1 -1
- package/.next/server/chunks/ssr/_1lhtejs._.js +1 -1
- package/.next/server/chunks/ssr/_1pulrwl._.js +1 -1
- package/.next/server/chunks/ssr/_1pvmkr2._.js +1 -1
- package/.next/server/chunks/ssr/_1sseqap._.js +1 -1
- package/.next/server/chunks/ssr/_212t7ar._.js +1 -1
- package/.next/server/chunks/ssr/src_actions_cms_ts_0_rm7-x._.js +1 -1
- package/.next/server/chunks/ssr/src_app_admin_cms_pages_[id]_edit_page-editor-client_tsx_0hbosvr._.js +1 -1
- package/.next/server/chunks/ssr/src_components_admin_branding_icon-generator_tsx_0-p-crb._.js +1 -1
- package/.next/server/chunks/ssr/src_components_admin_projects_project-form_tsx_0ynt29x._.js +1 -1
- package/.next/server/chunks/ssr/src_components_admin_theme_theme-editor_tsx_0ec47ja._.js +1 -1
- package/.next/server/chunks/ssr/src_components_setup_setup-wizard_tsx_17wfyof._.js +1 -1
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +120 -120
- package/.next/static/chunks/{2d9me2ckcnr7h.js → 04j81u4sdpfu2.js} +1 -1
- package/.next/static/chunks/{0zqog_yngqq7z.js → 0ah0kpd7ekuw1.js} +1 -1
- package/.next/static/chunks/{1q0w9ewl3z_h6.js → 0auy0r9a1q2tn.js} +1 -1
- package/.next/static/chunks/{1tbfriywhx1pb.js → 0ggovh07wwyy8.js} +1 -1
- package/.next/static/chunks/{38rdy0o7-0ox6.js → 0lis8frknimvp.js} +1 -1
- package/.next/static/chunks/{263r2j2npbofi.js → 0nsus-669a8ey.js} +1 -1
- package/.next/static/chunks/{3me6cr4hl9rom.js → 0rf2sac4cv9to.js} +1 -1
- package/.next/static/chunks/{36-tbikyofe31.js → 0xpdqt-hymrf7.js} +1 -1
- package/.next/static/chunks/{1ck9hpq1413sl.js → 1bowvtenaqsj6.js} +1 -1
- package/.next/static/chunks/{3f49air8y0adp.js → 1cjpbb6-vptf4.js} +4 -4
- package/.next/static/chunks/{20lykhw4m0xj7.js → 1hk1y1sg8lhbw.js} +1 -1
- package/.next/static/chunks/{32ewdom11wcw5.js → 1nrpg3ex2_sv_.js} +1 -1
- package/.next/static/chunks/{2kw34i4gw2ajr.js → 1sf7ew5fumaxp.js} +3 -3
- package/.next/static/chunks/{2xln3s9fcx9bl.js → 1u3legaue49ub.js} +1 -1
- package/.next/static/chunks/{2fyzgog8nf5lt.js → 1wy2lokd1l1lp.js} +1 -1
- package/.next/static/chunks/{0y4lkzby6pn69.js → 2-v2c7pmrytbo.js} +1 -1
- package/.next/static/chunks/{11pcx9jz6m8mh.js → 24pptltdm6on5.js} +1 -1
- package/.next/static/chunks/{0pwgm534jn6iw.js → 262zw0y5-stbe.js} +1 -1
- package/.next/static/chunks/{1pwy0ti-uue8r.js → 2hdi4miihh5xo.js} +1 -1
- package/.next/static/chunks/{1902bgggagxq9.js → 2mkfi4f-v_--2.js} +2 -2
- package/.next/static/chunks/{1hame1c35m1cl.js → 2uc63cmx05kds.js} +1 -1
- package/.next/static/chunks/{30qbmzgby_p2-.js → 2y63g12thk4t0.js} +1 -1
- package/.next/static/chunks/{3ibw_8tcpt3lm.js → 2zqss-359c2pk.js} +1 -1
- package/.next/static/chunks/{3ussphcvkyzyx.js → 3i5hcquiom8c0.js} +1 -1
- package/.next/static/chunks/{3kghfbcpnl0zl.js → 3xtvxy_mnp_8w.js} +1 -1
- package/.next/static/chunks/{3en21d5viwrkl.js → 41e2p0bvp89ut.js} +1 -1
- package/README.md +6 -6
- package/package.json +5 -5
- /package/.next/static/{81gZJnh1KWfMhrvOF9la3 → Q2_R7URofsFGUQNefVZtd}/_buildManifest.js +0 -0
- /package/.next/static/{81gZJnh1KWfMhrvOF9la3 → Q2_R7URofsFGUQNefVZtd}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{81gZJnh1KWfMhrvOF9la3 → Q2_R7URofsFGUQNefVZtd}/_ssgManifest.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
module.exports=[137936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(211857)},713095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
|
|
2
|
-
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},170248,a=>{"use strict";var b=a.i(883419);a.s([],807197),a.i(807197),a.s(["
|
|
2
|
+
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},170248,a=>{"use strict";var b=a.i(883419);a.s([],807197),a.i(807197),a.s(["6060a4b26d62d4d4cec46005debf62b42d4f2aa197",()=>b.saveSettingsGroup],170248)},837706,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__1xwzktd._.js"].map(b=>a.l(b))).then(()=>b(978775)))},245770,a=>{a.v(a=>Promise.resolve().then(()=>a(51151)))},485685,a=>{a.v(a=>Promise.resolve().then(()=>a(254799)))}];
|
|
3
3
|
|
|
4
4
|
//# sourceMappingURL=%5Broot-of-the-server%5D__0_x-0vh._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
module.exports=[137936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(211857)},713095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
|
|
2
|
-
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},823573,a=>{"use strict";var b=a.i(883419);a.s([],761428),a.i(761428),a.s(["
|
|
2
|
+
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},823573,a=>{"use strict";var b=a.i(883419);a.s([],761428),a.i(761428),a.s(["6060a4b26d62d4d4cec46005debf62b42d4f2aa197",()=>b.saveSettingsGroup],823573)},837706,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__1xwzktd._.js"].map(b=>a.l(b))).then(()=>b(978775)))},245770,a=>{a.v(a=>Promise.resolve().then(()=>a(51151)))},485685,a=>{a.v(a=>Promise.resolve().then(()=>a(254799)))}];
|
|
3
3
|
|
|
4
4
|
//# sourceMappingURL=%5Broot-of-the-server%5D__0ae1ufj._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
module.exports=[137936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(211857)},713095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
|
|
2
|
-
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},726802,a=>{"use strict";var b=a.i(306646),c=a.i(883419);a.s([],430615),a.i(430615),a.s(["
|
|
2
|
+
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},726802,a=>{"use strict";var b=a.i(306646),c=a.i(883419);a.s([],430615),a.i(430615),a.s(["0058a3b1a48e94c5432629dba5491d35ecfff26cbe",()=>c.getPublicProjects,"00bf9f63948c2c6bcf332adcc92f8221f7381e1b09",()=>c.getPublicBuilders,"00ea4ec3168f8e372709be502a009293fe346a5288",()=>c.getPublicAgents,"40829cb3fc6e4ff01751d831cd4dd52d266fef087a",()=>b.submitEnquiry,"40868c2b7b1314761b196708b54ecd895365879dec",()=>c.publishPage,"60014c62703b1b140febe8a4f902a3eeeebe3d4ee7",()=>c.savePageBlocks],726802)},674098,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_plugins_hooks-manager_ts_04m6z7f._.js"].map(b=>a.l(b))).then(()=>b(615120)))},839090,a=>{a.v(a=>Promise.resolve().then(()=>a(780099)))},837706,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__1xwzktd._.js"].map(b=>a.l(b))).then(()=>b(978775)))},245770,a=>{a.v(a=>Promise.resolve().then(()=>a(51151)))},485685,a=>{a.v(a=>Promise.resolve().then(()=>a(254799)))}];
|
|
3
3
|
|
|
4
4
|
//# sourceMappingURL=%5Broot-of-the-server%5D__0b0jtbx._.js.map
|
|
@@ -173,6 +173,6 @@ module.exports=[233405,(a,b,c)=>{b.exports=a.x("child_process",()=>require("chil
|
|
|
173
173
|
</body>
|
|
174
174
|
</html>`},"sendEmail",0,d])},306646,a=>{"use strict";var b=a.i(137936),c=a.i(118558),d=a.i(905246),e=a.i(257807),f=a.i(126883),g=a.i(780099),h=a.i(778357);let i=new Map;function j(a,b=100,c=9e5){let d=Date.now(),e=i.get(a);return(!e||e.resetAt<d)&&(e={count:0,resetAt:d+c},i.set(a,e)),e.count++,{success:e.count<=b,limit:b,remaining:Math.max(0,b-e.count),reset:e.resetAt}}async function k(b){let c,h=await (0,d.headers)(),i=h.get("x-forwarded-for")?.split(",")[0]?.trim()??"unknown";if(!j(`enquiry:${i}`,5,6e4).success)return{success:!1,error:"Too many requests. Please try again later."};let k=f.enquirySchema.safeParse(b);if(!k.success)return{success:!1,error:"Invalid form data",data:void 0};let l=k.data;if(l.project_id){let a=await e.repositories.projects.findById(l.project_id);c=a?.name,a&&await e.repositories.projects.incrementEnquiryCount(a.id)}let m=await e.repositories.leads.create({name:l.name,email:l.email??null,phone:l.phone,project_id:l.project_id??null,property_type:l.property_type??null,budget_min:l.budget_min?.toString()??null,budget_max:l.budget_max?.toString()??null,message:l.message??null,status:"new",source:l.source??"website",utm_source:l.utm_source??null,utm_medium:l.utm_medium??null,utm_campaign:l.utm_campaign??null,ip_address:i,user_agent:h.get("user-agent")??null,page_url:h.get("referer")??null,is_qualified:!1,is_site_visit_done:!1,is_duplicate:!1,brochure_sent:!1});await e.repositories.leadActivities.log(m.id,null,"created",`New lead from ${l.source??"website"}`,{project_id:l.project_id,source:l.source});let n=process.env.ADMIN_EMAIL;return n&&await (0,g.sendEmail)({to:n,subject:`New Lead: ${l.name} — ${c??"General Enquiry"}`,html:(0,g.getLeadNotificationEmail)({leadName:l.name,leadPhone:l.phone,leadEmail:l.email,projectName:c,message:l.message,source:l.source??"website"})}),l.email&&await (0,g.sendEmail)({to:l.email,subject:"We'll be in touch soon — PropVault",html:(0,g.getLeadConfirmationEmail)({leadName:l.name,projectName:c,phone:l.phone})}),a.A(674098).then(({hooks:a})=>{a.doAction("after_lead_submit",m)}).catch(a=>console.error("[Hooks] Failed to fire after_lead_submit:",a)),{success:!0,data:{id:m.id}}}async function l(b){let c=await (0,d.headers)(),h=c.get("x-forwarded-for")?.split(",")[0]?.trim()??"unknown";if(!j(`contact:${h}`,3,6e4).success)return{success:!1,error:"Too many requests. Please try again later."};let i=f.contactSchema.safeParse(b);if(!i.success)return{success:!1,error:"Invalid form data"};let k=i.data,l=await e.repositories.leads.create({name:k.name,email:k.email,phone:k.phone??null,message:`[Contact] ${k.subject}
|
|
175
175
|
|
|
176
|
-
${k.message}`,status:"new",source:"website",ip_address:h,is_qualified:!1,is_site_visit_done:!1,is_duplicate:!1,brochure_sent:!1}),m=process.env.ADMIN_EMAIL;return m&&await (0,g.sendEmail)({to:m,subject:`Contact Form: ${k.subject} — ${k.name}`,html:`<p>Name: ${k.name}</p><p>Email: ${k.email}</p><p>Subject: ${k.subject}</p><p>Message: ${k.message}</p>`}),await (0,g.sendEmail)({to:k.email,subject:"Message Received — PropVault",html:(0,g.getContactConfirmationEmail)({name:k.name,subject:k.subject})}),a.A(674098).then(({hooks:a})=>{a.doAction("after_lead_submit",l)}).catch(a=>console.error("[Hooks] Failed to fire after_lead_submit:",a)),{success:!0,data:{id:l.id}}}async function m(b,c){let g=await (0,d.headers)(),h=g.get("x-forwarded-for")?.split(",")[0]?.trim()??"unknown",i=f.newsletterSchema.safeParse({email:b,name:c});return i.success?(await e.repositories.newsletter.subscribe(i.data.email,i.data.name,"website",h),a.A(674098).then(({hooks:a})=>{a.doAction("after_newsletter_subscribe",{email:i.data.email,name:i.data.name})}).catch(a=>console.error("[Hooks] Failed to fire after_newsletter_subscribe:",a)),{success:!0,message:"Successfully subscribed!"}):{success:!1,error:"Invalid email address"}}async function n(a,b){let d=f.leadUpdateSchema.safeParse(b);return d.success?await e.repositories.leads.update(a,d.data)?(await e.repositories.leadActivities.log(a,null,"status_updated",`Status updated to ${d.data.status??"unknown"}`),(0,c.revalidatePath)("/admin/leads"),{success:!0}):{success:!1,error:"Lead not found"}:{success:!1,error:"Invalid data"}}async function o(a,b,d){let g=f.leadNoteSchema.safeParse(b);return g.success?(await e.repositories.leadNotes.create({lead_id:a,user_id:d,content:g.data.content,type:g.data.type,is_private:g.data.is_private}),await e.repositories.leadActivities.log(a,d,"note_added",`Added a ${g.data.type} note`),(0,c.revalidatePath)(`/admin/leads/${a}`),{success:!0}):{success:!1,error:"Invalid note data"}}async function p(a){return await e.repositories.leads.delete(a)?((0,c.revalidatePath)("/admin/leads"),{success:!0}):{success:!1,error:"Lead not found"}}async function q(b,c){let[d,f]=await Promise.all([e.repositories.leads.findById(b),e.repositories.projects.findById(c)]);if(!d||!f)return{success:!1,error:"Lead or project not found"};if(f.brochure_url&&d.email){let{getBrochureEmail:c}=await a.A(839090);return await (0,g.sendEmail)({to:d.email,subject:`Brochure: ${f.name} — PropVault`,html:c({name:d.name,projectName:f.name,brochureUrl:f.brochure_url})}),await e.repositories.leads.update(b,{brochure_sent:!0,brochure_sent_at:(0,h.nowISO)()}),{success:!0,message:"Brochure sent successfully"}}return{success:!1,error:"No brochure available or email missing"}}setInterval(()=>{let a=Date.now();for(let[b,c]of i.entries())c.resetAt<a&&i.delete(b)},6e5),(0,a.i(713095).ensureServerEntryExports)([k,l,m,n,o,p,q]),(0,b.registerServerReference)(k,"
|
|
176
|
+
${k.message}`,status:"new",source:"website",ip_address:h,is_qualified:!1,is_site_visit_done:!1,is_duplicate:!1,brochure_sent:!1}),m=process.env.ADMIN_EMAIL;return m&&await (0,g.sendEmail)({to:m,subject:`Contact Form: ${k.subject} — ${k.name}`,html:`<p>Name: ${k.name}</p><p>Email: ${k.email}</p><p>Subject: ${k.subject}</p><p>Message: ${k.message}</p>`}),await (0,g.sendEmail)({to:k.email,subject:"Message Received — PropVault",html:(0,g.getContactConfirmationEmail)({name:k.name,subject:k.subject})}),a.A(674098).then(({hooks:a})=>{a.doAction("after_lead_submit",l)}).catch(a=>console.error("[Hooks] Failed to fire after_lead_submit:",a)),{success:!0,data:{id:l.id}}}async function m(b,c){let g=await (0,d.headers)(),h=g.get("x-forwarded-for")?.split(",")[0]?.trim()??"unknown",i=f.newsletterSchema.safeParse({email:b,name:c});return i.success?(await e.repositories.newsletter.subscribe(i.data.email,i.data.name,"website",h),a.A(674098).then(({hooks:a})=>{a.doAction("after_newsletter_subscribe",{email:i.data.email,name:i.data.name})}).catch(a=>console.error("[Hooks] Failed to fire after_newsletter_subscribe:",a)),{success:!0,message:"Successfully subscribed!"}):{success:!1,error:"Invalid email address"}}async function n(a,b){let d=f.leadUpdateSchema.safeParse(b);return d.success?await e.repositories.leads.update(a,d.data)?(await e.repositories.leadActivities.log(a,null,"status_updated",`Status updated to ${d.data.status??"unknown"}`),(0,c.revalidatePath)("/admin/leads"),{success:!0}):{success:!1,error:"Lead not found"}:{success:!1,error:"Invalid data"}}async function o(a,b,d){let g=f.leadNoteSchema.safeParse(b);return g.success?(await e.repositories.leadNotes.create({lead_id:a,user_id:d,content:g.data.content,type:g.data.type,is_private:g.data.is_private}),await e.repositories.leadActivities.log(a,d,"note_added",`Added a ${g.data.type} note`),(0,c.revalidatePath)(`/admin/leads/${a}`),{success:!0}):{success:!1,error:"Invalid note data"}}async function p(a){return await e.repositories.leads.delete(a)?((0,c.revalidatePath)("/admin/leads"),{success:!0}):{success:!1,error:"Lead not found"}}async function q(b,c){let[d,f]=await Promise.all([e.repositories.leads.findById(b),e.repositories.projects.findById(c)]);if(!d||!f)return{success:!1,error:"Lead or project not found"};if(f.brochure_url&&d.email){let{getBrochureEmail:c}=await a.A(839090);return await (0,g.sendEmail)({to:d.email,subject:`Brochure: ${f.name} — PropVault`,html:c({name:d.name,projectName:f.name,brochureUrl:f.brochure_url})}),await e.repositories.leads.update(b,{brochure_sent:!0,brochure_sent_at:(0,h.nowISO)()}),{success:!0,message:"Brochure sent successfully"}}return{success:!1,error:"No brochure available or email missing"}}setInterval(()=>{let a=Date.now();for(let[b,c]of i.entries())c.resetAt<a&&i.delete(b)},6e5),(0,a.i(713095).ensureServerEntryExports)([k,l,m,n,o,p,q]),(0,b.registerServerReference)(k,"40829cb3fc6e4ff01751d831cd4dd52d266fef087a",null),(0,b.registerServerReference)(l,"409fd8117d5bf863e1ce4bf92dea1bcfc43248996d",null),(0,b.registerServerReference)(m,"6035faf56b23c5839fb8bcb9d5d52e4c3f9c5bdca7",null),(0,b.registerServerReference)(n,"60f2dc2a48282597bf192c74a107a363792207929c",null),(0,b.registerServerReference)(o,"700a86e30eb0d95acc1e992813d62568a937524a30",null),(0,b.registerServerReference)(p,"4055679e8d3fdad9fdcd716648d97a994931616135",null),(0,b.registerServerReference)(q,"6094c7fa5d0b43a26e5f53099cb39be9e345f17fb9",null),a.s(["addLeadNote",0,o,"submitContact",0,l,"submitEnquiry",0,k,"subscribeNewsletter",0,m,"updateLeadStatus",0,n],306646)}];
|
|
177
177
|
|
|
178
178
|
//# sourceMappingURL=%5Broot-of-the-server%5D__0d95wm4._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
module.exports=[137936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(211857)},713095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
|
|
2
|
-
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},61598,a=>{"use strict";var b=a.i(883419);a.s([],508148),a.i(508148),a.s(["
|
|
2
|
+
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},61598,a=>{"use strict";var b=a.i(883419);a.s([],508148),a.i(508148),a.s(["40430f0a1f096d5e662f37dff5ac62db2fd0956d35",()=>b.importTheme,"40684e26f1f57404931991a6db47c96dd6d2ad9159",()=>b.activateTheme,"4076bff9e18505081df3bf9a381be6f5afcf4f81c5",()=>b.duplicateTheme,"40c7f9ce9f9f66174ff0ebc3af96bbd73bf75e22e5",()=>b.saveTheme,"40db76e57f0ba5e9fdbc949d502bc19e2d9b028e14",()=>b.deleteTheme],61598)},837706,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__1xwzktd._.js"].map(b=>a.l(b))).then(()=>b(978775)))},245770,a=>{a.v(a=>Promise.resolve().then(()=>a(51151)))},485685,a=>{a.v(a=>Promise.resolve().then(()=>a(254799)))}];
|
|
3
3
|
|
|
4
4
|
//# sourceMappingURL=%5Broot-of-the-server%5D__0d_wuy_._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
module.exports=[137936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(211857)},713095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
|
|
2
|
-
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},734890,a=>{"use strict";var b=a.i(883419);a.s([],491331),a.i(491331),a.s(["
|
|
2
|
+
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},734890,a=>{"use strict";var b=a.i(883419);a.s([],491331),a.i(491331),a.s(["00114fe810594e9aa29b06992aaee6e03ed2e7e0ea",()=>b.getEmailTemplates,"40fcd155bc44aac31fd33539b9523032b00d4189e5",()=>b.saveEmailTemplate],734890)},837706,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__1xwzktd._.js"].map(b=>a.l(b))).then(()=>b(978775)))},245770,a=>{a.v(a=>Promise.resolve().then(()=>a(51151)))},485685,a=>{a.v(a=>Promise.resolve().then(()=>a(254799)))}];
|
|
3
3
|
|
|
4
4
|
//# sourceMappingURL=%5Broot-of-the-server%5D__0frxadd._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
module.exports=[137936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(211857)},713095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
|
|
2
|
-
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},233405,(a,b,c)=>{b.exports=a.x("child_process",()=>require("child_process"))},733126,a=>{"use strict";var b=a.i(522734),c=a.i(814747),d=a.i(257807);let e=!1;async function f(a){let b="file://"+a.replace(/\\/g,"/");return Function("path","return import(path)")(b)}function g(){let a=c.default.join(process.cwd(),"plugins");return b.default.existsSync(a)||b.default.mkdirSync(a,{recursive:!0}),a}async function h(){try{let a=await d.repositories.settings.findBy("key","system.active_plugins");if(!a||!a.value)return[];return JSON.parse(a.value)}catch{return[]}}async function i(a){let b=await d.repositories.settings.findBy("key","system.active_plugins"),c={key:"system.active_plugins",value:JSON.stringify(a),group:"system",label:"Active Plugins",type:"json",description:"JSON array containing slugs of active plugins.",is_public:!1,sort_order:999};b?await d.repositories.settings.update(b.id,c):await d.repositories.settings.create(c)}async function j(){let a=g(),d=await h(),e=[];try{for(let f of b.default.readdirSync(a)){let g=c.default.join(a,f);if(!b.default.statSync(g).isDirectory())continue;let h=c.default.join(g,"plugin.json"),i={};if(b.default.existsSync(h))try{i=JSON.parse(b.default.readFileSync(h,"utf8"))}catch(a){console.error(`[Plugins] Failed to parse plugin.json for "${f}":`,a)}e.push({name:i.name||f,slug:f,description:i.description||"No description provided.",version:i.version||"1.0.0",author:i.author||"Unknown",entry:i.entry||"index.js",isActive:d.includes(f)})}}catch(a){console.error("[Plugins] Failed to discover plugins directory:",a)}return e}async function k(){if(e)return;e=!0;let d=await h();if(0===d.length)return;let i=g();for(let e of(console.log(`[Plugins] Loading ${d.length} active plugins...`),d))try{let d=c.default.join(i,e);if(!b.default.existsSync(d)){console.warn(`[Plugins] Active plugin folder "${e}" not found in directory.`);continue}let g=c.default.join(d,"plugin.json"),h="index.js";if(b.default.existsSync(g))try{h=JSON.parse(b.default.readFileSync(g,"utf8")).entry||"index.js"}catch{}let j=c.default.join(d,h);if(b.default.existsSync(j)){let{hooks:b}=await a.A(674098),c=await f(j);c&&"function"==typeof c.init&&await c.init({hooks:b}),console.log(`[Plugins] Loaded plugin successfully: "${e}"`)}else console.warn(`[Plugins] Entry file "${h}" not found for plugin "${e}"`)}catch(a){console.error(`[Plugins] Error loading active plugin "${e}":`,a)}}async function l(a){let d=await h();if(d.includes(a))return!0;let e=(await j()).find(b=>b.slug===a);if(!e)return!1;d.push(a),await i(d);try{let d=g(),h=c.default.join(d,a,e.entry);if(b.default.existsSync(h)){let a=await f(h);a&&"function"==typeof a.onActivate&&await a.onActivate()}}catch(b){console.error(`[Plugins] Error during activation hook callback for "${a}":`,b)}return!0}async function m(a){let d=await h();if(!d.includes(a))return!0;let e=(await j()).find(b=>b.slug===a);if(!e)return!1;let k=d.filter(b=>b!==a);await i(k);try{let d=g(),h=c.default.join(d,a,e.entry);if(b.default.existsSync(h)){let a=await f(h);a&&"function"==typeof a.onDeactivate&&await a.onDeactivate()}}catch(b){console.error(`[Plugins] Error during deactivation hook callback for "${a}":`,b)}return!0}a.s(["activatePlugin",0,l,"deactivatePlugin",0,m,"discoverPlugins",0,j,"loadActivePlugins",0,k])},327052,a=>{"use strict";var b=a.i(137936),c=a.i(118558),d=a.i(233405),e=a.i(814747),f=a.i(522734),g=a.i(224361),h=a.i(733126),i=a.i(713095);let j=(0,g.promisify)(d.exec);async function k(){try{let a=await (0,h.discoverPlugins)();return{success:!0,data:a}}catch(a){return{success:!1,error:a.message||"Failed to load plugins list."}}}async function l(a,b){try{if(b){if(!await (0,h.activatePlugin)(a))return{success:!1,error:"Failed to activate plugin."}}else if(!await (0,h.deactivatePlugin)(a))return{success:!1,error:"Failed to deactivate plugin."};return(0,c.revalidatePath)("/admin/plugins"),{success:!0,data:!0}}catch(a){return{success:!1,error:a.message||"Failed to update plugin state."}}}async function m(a){try{if(!a||!a.startsWith("http"))return{success:!1,error:"Invalid repository URL format."};let b=a.split("/").pop()?.replace(".git","")?.trim();if(!b)return{success:!1,error:"Could not resolve plugin name from URL."};let d=e.default.join(process.cwd(),"plugins");f.default.existsSync(d)||f.default.mkdirSync(d,{recursive:!0});let g=e.default.join(d,b);if(f.default.existsSync(g))return{success:!1,error:`Plugin folder "${b}" already exists.`};if(console.log(`[Plugins] Installing plugin from ${a} into ${g}...`),await j(`git clone --depth 1 ${a} "${g}"`),!f.default.existsSync(e.default.join(g,"index.js"))&&!f.default.existsSync(e.default.join(g,"plugin.json")))return f.default.rmSync(g,{recursive:!0,force:!0}),{success:!1,error:"Cloned repository does not appear to be a valid PropVault plugin (missing index.js or plugin.json)."};return(0,c.revalidatePath)("/admin/plugins"),{success:!0,data:b}}catch(a){return{success:!1,error:a.message||"Failed to clone git repository."}}}async function n(a){try{let b=a.get("file");if(!b)return{success:!1,error:"No zip archive file provided."};let d=await b.arrayBuffer(),g=Buffer.from(d),h=e.default.join(process.cwd(),"storage");f.default.existsSync(h)||f.default.mkdirSync(h,{recursive:!0});let i=e.default.join(h,`upload-${Date.now()}.zip`);f.default.writeFileSync(i,g);let k=e.default.join(h,`extract-${Date.now()}`);f.default.mkdirSync(k,{recursive:!0});try{await j(`tar -xf "${i}" -C "${k}"`)}catch(a){return f.default.unlinkSync(i),f.default.rmSync(k,{recursive:!0,force:!0}),{success:!1,error:`Failed to extract zip file: ${a.message}`}}let l=k,m=f.default.readdirSync(k);if(1===m.length){let a=e.default.join(k,m[0]);f.default.statSync(a).isDirectory()&&(l=a)}let n=e.default.join(l,"plugin.json");if(!f.default.existsSync(n))return f.default.unlinkSync(i),f.default.rmSync(k,{recursive:!0,force:!0}),{success:!1,error:"Invalid plugin format: missing plugin.json manifest file."};let o=JSON.parse(f.default.readFileSync(n,"utf8")).slug||e.default.basename(l).toLowerCase().replace(/[^a-z0-9_-]/g,"-"),p=e.default.join(process.cwd(),"plugins"),q=e.default.join(p,o);if(f.default.existsSync(q))return f.default.unlinkSync(i),f.default.rmSync(k,{recursive:!0,force:!0}),{success:!1,error:`Plugin "${o}" is already installed.`};return f.default.mkdirSync(q,{recursive:!0}),!function a(b,c){for(let d of(f.default.mkdirSync(c,{recursive:!0}),f.default.readdirSync(b,{withFileTypes:!0}))){let g=e.default.join(b,d.name),h=e.default.join(c,d.name);d.isDirectory()?a(g,h):f.default.copyFileSync(g,h)}}(l,q),f.default.unlinkSync(i),f.default.rmSync(k,{recursive:!0,force:!0}),(0,c.revalidatePath)("/admin/plugins"),{success:!0,data:o}}catch(a){return console.error("[PluginManager] Archive upload failed:",a),{success:!1,error:a.message||"Failed to process uploaded plugin archive."}}}async function o(a){try{if(!a||0===a.trim().length)return{success:!1,error:"NPM Package name is required."};console.log(`[PluginManager] Pulling package "${a}" from registry...`),await j(`npm install ${a} --no-save`);let b=e.default.join(process.cwd(),"node_modules",a);if(!f.default.existsSync(b))return{success:!1,error:`Package "${a}" was not found in node_modules after install.`};let d=e.default.join(b,"plugin.json");if(!f.default.existsSync(d))return{success:!1,error:`NPM package "${a}" is not a valid PropVault plugin (missing plugin.json).`};let g=JSON.parse(f.default.readFileSync(d,"utf8")).slug||a.split("/").pop()?.replace(/[^a-z0-9_-]/g,"-")||"",h=e.default.join(process.cwd(),"plugins"),i=e.default.join(h,g);if(f.default.existsSync(i))return{success:!1,error:`Plugin "${g}" is already installed in plugins directory.`};return f.default.mkdirSync(i,{recursive:!0}),!function a(b,c){for(let d of(f.default.mkdirSync(c,{recursive:!0}),f.default.readdirSync(b,{withFileTypes:!0}))){let g=e.default.join(b,d.name),h=e.default.join(c,d.name);d.isDirectory()?a(g,h):f.default.copyFileSync(g,h)}}(b,i),(0,c.revalidatePath)("/admin/plugins"),{success:!0,data:g}}catch(a){return console.error("[PluginManager] NPM Installation failed:",a),{success:!1,error:a.message||"Failed to install plugin from NPM."}}}(0,i.ensureServerEntryExports)([k,l,m,n,o]),(0,b.registerServerReference)(k,"
|
|
2
|
+
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},233405,(a,b,c)=>{b.exports=a.x("child_process",()=>require("child_process"))},733126,a=>{"use strict";var b=a.i(522734),c=a.i(814747),d=a.i(257807);let e=!1;async function f(a){let b="file://"+a.replace(/\\/g,"/");return Function("path","return import(path)")(b)}function g(){let a=c.default.join(process.cwd(),"plugins");return b.default.existsSync(a)||b.default.mkdirSync(a,{recursive:!0}),a}async function h(){try{let a=await d.repositories.settings.findBy("key","system.active_plugins");if(!a||!a.value)return[];return JSON.parse(a.value)}catch{return[]}}async function i(a){let b=await d.repositories.settings.findBy("key","system.active_plugins"),c={key:"system.active_plugins",value:JSON.stringify(a),group:"system",label:"Active Plugins",type:"json",description:"JSON array containing slugs of active plugins.",is_public:!1,sort_order:999};b?await d.repositories.settings.update(b.id,c):await d.repositories.settings.create(c)}async function j(){let a=g(),d=await h(),e=[];try{for(let f of b.default.readdirSync(a)){let g=c.default.join(a,f);if(!b.default.statSync(g).isDirectory())continue;let h=c.default.join(g,"plugin.json"),i={};if(b.default.existsSync(h))try{i=JSON.parse(b.default.readFileSync(h,"utf8"))}catch(a){console.error(`[Plugins] Failed to parse plugin.json for "${f}":`,a)}e.push({name:i.name||f,slug:f,description:i.description||"No description provided.",version:i.version||"1.0.0",author:i.author||"Unknown",entry:i.entry||"index.js",isActive:d.includes(f)})}}catch(a){console.error("[Plugins] Failed to discover plugins directory:",a)}return e}async function k(){if(e)return;e=!0;let d=await h();if(0===d.length)return;let i=g();for(let e of(console.log(`[Plugins] Loading ${d.length} active plugins...`),d))try{let d=c.default.join(i,e);if(!b.default.existsSync(d)){console.warn(`[Plugins] Active plugin folder "${e}" not found in directory.`);continue}let g=c.default.join(d,"plugin.json"),h="index.js";if(b.default.existsSync(g))try{h=JSON.parse(b.default.readFileSync(g,"utf8")).entry||"index.js"}catch{}let j=c.default.join(d,h);if(b.default.existsSync(j)){let{hooks:b}=await a.A(674098),c=await f(j);c&&"function"==typeof c.init&&await c.init({hooks:b}),console.log(`[Plugins] Loaded plugin successfully: "${e}"`)}else console.warn(`[Plugins] Entry file "${h}" not found for plugin "${e}"`)}catch(a){console.error(`[Plugins] Error loading active plugin "${e}":`,a)}}async function l(a){let d=await h();if(d.includes(a))return!0;let e=(await j()).find(b=>b.slug===a);if(!e)return!1;d.push(a),await i(d);try{let d=g(),h=c.default.join(d,a,e.entry);if(b.default.existsSync(h)){let a=await f(h);a&&"function"==typeof a.onActivate&&await a.onActivate()}}catch(b){console.error(`[Plugins] Error during activation hook callback for "${a}":`,b)}return!0}async function m(a){let d=await h();if(!d.includes(a))return!0;let e=(await j()).find(b=>b.slug===a);if(!e)return!1;let k=d.filter(b=>b!==a);await i(k);try{let d=g(),h=c.default.join(d,a,e.entry);if(b.default.existsSync(h)){let a=await f(h);a&&"function"==typeof a.onDeactivate&&await a.onDeactivate()}}catch(b){console.error(`[Plugins] Error during deactivation hook callback for "${a}":`,b)}return!0}a.s(["activatePlugin",0,l,"deactivatePlugin",0,m,"discoverPlugins",0,j,"loadActivePlugins",0,k])},327052,a=>{"use strict";var b=a.i(137936),c=a.i(118558),d=a.i(233405),e=a.i(814747),f=a.i(522734),g=a.i(224361),h=a.i(733126),i=a.i(713095);let j=(0,g.promisify)(d.exec);async function k(){try{let a=await (0,h.discoverPlugins)();return{success:!0,data:a}}catch(a){return{success:!1,error:a.message||"Failed to load plugins list."}}}async function l(a,b){try{if(b){if(!await (0,h.activatePlugin)(a))return{success:!1,error:"Failed to activate plugin."}}else if(!await (0,h.deactivatePlugin)(a))return{success:!1,error:"Failed to deactivate plugin."};return(0,c.revalidatePath)("/admin/plugins"),{success:!0,data:!0}}catch(a){return{success:!1,error:a.message||"Failed to update plugin state."}}}async function m(a){try{if(!a||!a.startsWith("http"))return{success:!1,error:"Invalid repository URL format."};let b=a.split("/").pop()?.replace(".git","")?.trim();if(!b)return{success:!1,error:"Could not resolve plugin name from URL."};let d=e.default.join(process.cwd(),"plugins");f.default.existsSync(d)||f.default.mkdirSync(d,{recursive:!0});let g=e.default.join(d,b);if(f.default.existsSync(g))return{success:!1,error:`Plugin folder "${b}" already exists.`};if(console.log(`[Plugins] Installing plugin from ${a} into ${g}...`),await j(`git clone --depth 1 ${a} "${g}"`),!f.default.existsSync(e.default.join(g,"index.js"))&&!f.default.existsSync(e.default.join(g,"plugin.json")))return f.default.rmSync(g,{recursive:!0,force:!0}),{success:!1,error:"Cloned repository does not appear to be a valid PropVault plugin (missing index.js or plugin.json)."};return(0,c.revalidatePath)("/admin/plugins"),{success:!0,data:b}}catch(a){return{success:!1,error:a.message||"Failed to clone git repository."}}}async function n(a){try{let b=a.get("file");if(!b)return{success:!1,error:"No zip archive file provided."};let d=await b.arrayBuffer(),g=Buffer.from(d),h=e.default.join(process.cwd(),"storage");f.default.existsSync(h)||f.default.mkdirSync(h,{recursive:!0});let i=e.default.join(h,`upload-${Date.now()}.zip`);f.default.writeFileSync(i,g);let k=e.default.join(h,`extract-${Date.now()}`);f.default.mkdirSync(k,{recursive:!0});try{await j(`tar -xf "${i}" -C "${k}"`)}catch(a){return f.default.unlinkSync(i),f.default.rmSync(k,{recursive:!0,force:!0}),{success:!1,error:`Failed to extract zip file: ${a.message}`}}let l=k,m=f.default.readdirSync(k);if(1===m.length){let a=e.default.join(k,m[0]);f.default.statSync(a).isDirectory()&&(l=a)}let n=e.default.join(l,"plugin.json");if(!f.default.existsSync(n))return f.default.unlinkSync(i),f.default.rmSync(k,{recursive:!0,force:!0}),{success:!1,error:"Invalid plugin format: missing plugin.json manifest file."};let o=JSON.parse(f.default.readFileSync(n,"utf8")).slug||e.default.basename(l).toLowerCase().replace(/[^a-z0-9_-]/g,"-"),p=e.default.join(process.cwd(),"plugins"),q=e.default.join(p,o);if(f.default.existsSync(q))return f.default.unlinkSync(i),f.default.rmSync(k,{recursive:!0,force:!0}),{success:!1,error:`Plugin "${o}" is already installed.`};return f.default.mkdirSync(q,{recursive:!0}),!function a(b,c){for(let d of(f.default.mkdirSync(c,{recursive:!0}),f.default.readdirSync(b,{withFileTypes:!0}))){let g=e.default.join(b,d.name),h=e.default.join(c,d.name);d.isDirectory()?a(g,h):f.default.copyFileSync(g,h)}}(l,q),f.default.unlinkSync(i),f.default.rmSync(k,{recursive:!0,force:!0}),(0,c.revalidatePath)("/admin/plugins"),{success:!0,data:o}}catch(a){return console.error("[PluginManager] Archive upload failed:",a),{success:!1,error:a.message||"Failed to process uploaded plugin archive."}}}async function o(a){try{if(!a||0===a.trim().length)return{success:!1,error:"NPM Package name is required."};console.log(`[PluginManager] Pulling package "${a}" from registry...`),await j(`npm install ${a} --no-save`);let b=e.default.join(process.cwd(),"node_modules",a);if(!f.default.existsSync(b))return{success:!1,error:`Package "${a}" was not found in node_modules after install.`};let d=e.default.join(b,"plugin.json");if(!f.default.existsSync(d))return{success:!1,error:`NPM package "${a}" is not a valid PropVault plugin (missing plugin.json).`};let g=JSON.parse(f.default.readFileSync(d,"utf8")).slug||a.split("/").pop()?.replace(/[^a-z0-9_-]/g,"-")||"",h=e.default.join(process.cwd(),"plugins"),i=e.default.join(h,g);if(f.default.existsSync(i))return{success:!1,error:`Plugin "${g}" is already installed in plugins directory.`};return f.default.mkdirSync(i,{recursive:!0}),!function a(b,c){for(let d of(f.default.mkdirSync(c,{recursive:!0}),f.default.readdirSync(b,{withFileTypes:!0}))){let g=e.default.join(b,d.name),h=e.default.join(c,d.name);d.isDirectory()?a(g,h):f.default.copyFileSync(g,h)}}(b,i),(0,c.revalidatePath)("/admin/plugins"),{success:!0,data:g}}catch(a){return console.error("[PluginManager] NPM Installation failed:",a),{success:!1,error:a.message||"Failed to install plugin from NPM."}}}(0,i.ensureServerEntryExports)([k,l,m,n,o]),(0,b.registerServerReference)(k,"000c951e3d8040055ad7220a1992ac3dff82aa933d",null),(0,b.registerServerReference)(l,"60d79523ab42ad955804cd2836e28b673a15bc0dd7",null),(0,b.registerServerReference)(m,"40fe8e4498ba01d26a826cc50e4b72d4d32cb06684",null),(0,b.registerServerReference)(n,"4019d33acb9fc8d0ca64fa42ada524638424c4f071",null),(0,b.registerServerReference)(o,"406a6f2dab678f962c5c1c5f8cc5d622390bd7cc97",null),a.s([],391040),a.i(391040),a.s(["000c951e3d8040055ad7220a1992ac3dff82aa933d",0,k,"4019d33acb9fc8d0ca64fa42ada524638424c4f071",0,n,"406a6f2dab678f962c5c1c5f8cc5d622390bd7cc97",0,o,"40fe8e4498ba01d26a826cc50e4b72d4d32cb06684",0,m,"60d79523ab42ad955804cd2836e28b673a15bc0dd7",0,l],327052)},674098,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_plugins_hooks-manager_ts_04m6z7f._.js"].map(b=>a.l(b))).then(()=>b(615120)))}];
|
|
3
3
|
|
|
4
4
|
//# sourceMappingURL=%5Broot-of-the-server%5D__0owpb-h._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
module.exports=[137936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(211857)},713095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
|
|
2
|
-
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},233405,(a,b,c)=>{b.exports=a.x("child_process",()=>require("child_process"))},159758,a=>{"use strict";var b=a.i(137936),c=a.i(233405),d=a.i(224361),e=a.i(537364),f=a.i(713095);let g=(0,d.promisify)(c.exec);async function h(){try{let a=await fetch("https://registry.npmjs.org/@vikukumar/propvault/latest",{next:{revalidate:3600}});if(!a.ok)throw Error(`Failed to fetch registry info: ${a.statusText}`);let b=(await a.json()).version||"0.1.0",c=e.APP_VERSION.replace(/[^0-9.]/g,""),d=b.replace(/[^0-9.]/g,""),f=c.split(".").map(Number),g=d.split(".").map(Number),h=!1;for(let a=0;a<Math.max(f.length,g.length);a++){let b=f[a]||0,c=g[a]||0;if(c>b){h=!0;break}if(b>c)break}return{currentVersion:e.APP_VERSION,latestVersion:b,updateAvailable:h}}catch(a){return console.error("[UpdateManager] Update check failed:",a),{currentVersion:e.APP_VERSION,latestVersion:e.APP_VERSION,updateAvailable:!1,error:a.message||"Failed to contact registry"}}}async function i(){try{console.log("[UpdateManager] Starting system update to latest version...");let{stdout:a,stderr:b}=await g("npm install @vikukumar/propvault@latest --no-save");return console.log("[UpdateManager] Update stdout:",a),b&&console.warn("[UpdateManager] Update stderr:",b),{success:!0,message:"PropVault updated successfully! Reloading server."}}catch(a){return console.error("[UpdateManager] System update failed:",a),{success:!1,message:a.message||"Automatic command execution failed. Try running: npm install @vikukumar/propvault@latest manually."}}}async function j(){return console.log("[UpdateManager] Hot-reload signal requested. Exiting process with code 42..."),setTimeout(()=>{process.exit(42)},1e3),{success:!0}}(0,f.ensureServerEntryExports)([h,i,j]),(0,b.registerServerReference)(h,"
|
|
2
|
+
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},233405,(a,b,c)=>{b.exports=a.x("child_process",()=>require("child_process"))},159758,a=>{"use strict";var b=a.i(137936),c=a.i(233405),d=a.i(224361),e=a.i(537364),f=a.i(713095);let g=(0,d.promisify)(c.exec);async function h(){try{let a=await fetch("https://registry.npmjs.org/@vikukumar/propvault/latest",{next:{revalidate:3600}});if(!a.ok)throw Error(`Failed to fetch registry info: ${a.statusText}`);let b=(await a.json()).version||"0.1.0",c=e.APP_VERSION.replace(/[^0-9.]/g,""),d=b.replace(/[^0-9.]/g,""),f=c.split(".").map(Number),g=d.split(".").map(Number),h=!1;for(let a=0;a<Math.max(f.length,g.length);a++){let b=f[a]||0,c=g[a]||0;if(c>b){h=!0;break}if(b>c)break}return{currentVersion:e.APP_VERSION,latestVersion:b,updateAvailable:h}}catch(a){return console.error("[UpdateManager] Update check failed:",a),{currentVersion:e.APP_VERSION,latestVersion:e.APP_VERSION,updateAvailable:!1,error:a.message||"Failed to contact registry"}}}async function i(){try{console.log("[UpdateManager] Starting system update to latest version...");let{stdout:a,stderr:b}=await g("npm install @vikukumar/propvault@latest --no-save");return console.log("[UpdateManager] Update stdout:",a),b&&console.warn("[UpdateManager] Update stderr:",b),{success:!0,message:"PropVault updated successfully! Reloading server."}}catch(a){return console.error("[UpdateManager] System update failed:",a),{success:!1,message:a.message||"Automatic command execution failed. Try running: npm install @vikukumar/propvault@latest manually."}}}async function j(){return console.log("[UpdateManager] Hot-reload signal requested. Exiting process with code 42..."),setTimeout(()=>{process.exit(42)},1e3),{success:!0}}(0,f.ensureServerEntryExports)([h,i,j]),(0,b.registerServerReference)(h,"00a69a2ba930e725998646da9e33c029ade08e818b",null),(0,b.registerServerReference)(i,"004177c18de92763704585c05ac7e2437d4c0fa1e2",null),(0,b.registerServerReference)(j,"0011a82ce2f178d0f9287caa9553f2cdfa8ca28dfa",null),a.s([],295411),a.i(295411),a.s(["0011a82ce2f178d0f9287caa9553f2cdfa8ca28dfa",0,j,"004177c18de92763704585c05ac7e2437d4c0fa1e2",0,i,"00a69a2ba930e725998646da9e33c029ade08e818b",0,h],159758)}];
|
|
3
3
|
|
|
4
4
|
//# sourceMappingURL=%5Broot-of-the-server%5D__1--m0t_._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
module.exports=[137936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(211857)},713095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
|
|
2
|
-
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},671135,a=>{"use strict";var b=a.i(883419);a.s([],585527),a.i(585527),a.s(["
|
|
2
|
+
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},671135,a=>{"use strict";var b=a.i(883419);a.s([],585527),a.i(585527),a.s(["405e7d47de2440cd12ddc65af1ae5ffc0a6c2122a4",()=>b.createPage],671135)},837706,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__1xwzktd._.js"].map(b=>a.l(b))).then(()=>b(978775)))},245770,a=>{a.v(a=>Promise.resolve().then(()=>a(51151)))},485685,a=>{a.v(a=>Promise.resolve().then(()=>a(254799)))}];
|
|
3
3
|
|
|
4
4
|
//# sourceMappingURL=%5Broot-of-the-server%5D__11c23n7._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
module.exports=[137936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(211857)},713095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
|
|
2
|
-
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},640160,a=>{"use strict";var b=a.i(883419);a.s([],972540),a.i(972540),a.s(["
|
|
2
|
+
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},640160,a=>{"use strict";var b=a.i(883419);a.s([],972540),a.i(972540),a.s(["6060a4b26d62d4d4cec46005debf62b42d4f2aa197",()=>b.saveSettingsGroup],640160)},837706,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__1xwzktd._.js"].map(b=>a.l(b))).then(()=>b(978775)))},245770,a=>{a.v(a=>Promise.resolve().then(()=>a(51151)))},485685,a=>{a.v(a=>Promise.resolve().then(()=>a(254799)))}];
|
|
3
3
|
|
|
4
4
|
//# sourceMappingURL=%5Broot-of-the-server%5D__12yzdf7._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
module.exports=[137936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(211857)},713095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
|
|
2
|
-
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},262688,a=>{"use strict";var b=a.i(883419);a.s([],569927),a.i(569927),a.s(["
|
|
2
|
+
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},262688,a=>{"use strict";var b=a.i(883419);a.s([],569927),a.i(569927),a.s(["00a017bd7945294000dda28861283775c157d128a6",()=>b.getRedirects,"407f54003b848bf60df0ef0c468d815e6361ee587f",()=>b.createRedirect,"40c57563aac66a43cccd99e6065023ab4f2bc6d3e1",()=>b.deleteRedirect],262688)},837706,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__1xwzktd._.js"].map(b=>a.l(b))).then(()=>b(978775)))},245770,a=>{a.v(a=>Promise.resolve().then(()=>a(51151)))},485685,a=>{a.v(a=>Promise.resolve().then(()=>a(254799)))}];
|
|
3
3
|
|
|
4
4
|
//# sourceMappingURL=%5Broot-of-the-server%5D__1_5z9ae._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
module.exports=[920916,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ReadonlyURLSearchParams",{enumerable:!0,get:function(){return e}});class d extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams")}}class e extends URLSearchParams{append(){throw new d}delete(){throw new d}set(){throw new d}sort(){throw new d}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},21170,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"RedirectStatusCode",{enumerable:!0,get:function(){return e}});var d,e=((d={})[d.SeeOther=303]="SeeOther",d[d.TemporaryRedirect=307]="TemporaryRedirect",d[d.PermanentRedirect=308]="PermanentRedirect",d);("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},328859,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={REDIRECT_ERROR_CODE:function(){return g},isRedirectError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(21170),g="NEXT_REDIRECT";function h(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let b=a.digest.split(";"),[c,d]=b,e=b.slice(2,-2).join(";"),h=Number(b.at(-2));return c===g&&("replace"===d||"push"===d)&&"string"==typeof e&&!isNaN(h)&&h in f.RedirectStatusCode}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},844868,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={getRedirectError:function(){return i},getRedirectStatusCodeFromError:function(){return n},getRedirectTypeFromError:function(){return m},getURLFromRedirectError:function(){return l},permanentRedirect:function(){return k},redirect:function(){return j}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(21170),g=a.r(328859),h=a.r(120635).actionAsyncStorage;function i(a,b,c=f.RedirectStatusCode.TemporaryRedirect){let d=Object.defineProperty(Error(g.REDIRECT_ERROR_CODE),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return d.digest=`${g.REDIRECT_ERROR_CODE};${b};${a};${c};`,d}function j(a,b){throw i(a,b??=h?.getStore()?.isAction?"push":"replace",f.RedirectStatusCode.TemporaryRedirect)}function k(a,b="replace"){throw i(a,b,f.RedirectStatusCode.PermanentRedirect)}function l(a){return(0,g.isRedirectError)(a)?a.digest.split(";").slice(2,-2).join(";"):null}function m(a){if(!(0,g.isRedirectError)(a))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return a.digest.split(";",2)[1]}function n(a){if(!(0,g.isRedirectError)(a))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return Number(a.digest.split(";").at(-2))}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},789798,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={HTTPAccessErrorStatus:function(){return f},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return h},getAccessFallbackErrorTypeByStatus:function(){return k},getAccessFallbackHTTPStatus:function(){return j},isHTTPAccessFallbackError:function(){return i}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},g=new Set(Object.values(f)),h="NEXT_HTTP_ERROR_FALLBACK";function i(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let[b,c]=a.digest.split(";");return b===h&&g.has(Number(c))}function j(a){return Number(a.digest.split(";")[1])}function k(a){switch(a){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},416155,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"notFound",{enumerable:!0,get:function(){return f}});let d=a.r(789798),e=`${d.HTTP_ERROR_FALLBACK_ERROR_CODE};404`;function f(){let a=Object.defineProperty(Error(e),"__NEXT_ERROR_CODE",{value:"E1041",enumerable:!1,configurable:!0});throw a.digest=e,a}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},934557,(a,b,c)=>{"use strict";function d(){throw Object.defineProperty(Error("`forbidden()` is experimental and only allowed to be enabled when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E488",enumerable:!1,configurable:!0})}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"forbidden",{enumerable:!0,get:function(){return d}}),a.r(789798).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},493845,(a,b,c)=>{"use strict";function d(){throw Object.defineProperty(Error("`unauthorized()` is experimental and only allowed to be used when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E411",enumerable:!1,configurable:!0})}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"unauthorized",{enumerable:!0,get:function(){return d}}),a.r(789798).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},473808,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"isPostpone",{enumerable:!0,get:function(){return e}});let d=Symbol.for("react.postpone");function e(a){return"object"==typeof a&&null!==a&&a.$$typeof===d}},401567,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"isNextRouterError",{enumerable:!0,get:function(){return f}});let d=a.r(789798),e=a.r(328859);function f(a){return(0,e.isRedirectError)(a)||(0,d.isHTTPAccessFallbackError)(a)}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},894783,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"unstable_rethrow",{enumerable:!0,get:function(){return function a(b){if((0,g.isNextRouterError)(b)||(0,f.isBailoutToCSRError)(b)||(0,i.isDynamicServerError)(b)||(0,h.isDynamicPostpone)(b)||(0,e.isPostpone)(b)||(0,d.isHangingPromiseRejectionError)(b)||(0,h.isPrerenderInterruptedError)(b))throw b;b instanceof Error&&"cause"in b&&a(b.cause)}}});let d=a.r(13091),e=a.r(473808),f=a.r(149640),g=a.r(401567),h=a.r(660384),i=a.r(696556);("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},260968,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"unstable_rethrow",{enumerable:!0,get:function(){return d}});let d=a.r(894783).unstable_rethrow;("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},673727,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={ReadonlyURLSearchParams:function(){return f.ReadonlyURLSearchParams},RedirectType:function(){return m},forbidden:function(){return i.forbidden},notFound:function(){return h.notFound},permanentRedirect:function(){return g.permanentRedirect},redirect:function(){return g.redirect},unauthorized:function(){return j.unauthorized},unstable_isUnrecognizedActionError:function(){return l},unstable_rethrow:function(){return k.unstable_rethrow}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(920916),g=a.r(844868),h=a.r(416155),i=a.r(934557),j=a.r(493845),k=a.r(260968);function l(){throw Object.defineProperty(Error("`unstable_isUnrecognizedActionError` can only be used on the client."),"__NEXT_ERROR_CODE",{value:"E776",enumerable:!1,configurable:!0})}let m={push:"push",replace:"replace"};("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},570396,a=>{"use strict";a.i(673727),a.s([])},137936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(211857)},713095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
|
|
2
|
-
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},760291,a=>{"use strict";var b=a.i(306646),c=a.i(883419);a.s([],939006),a.i(939006),a.s(["
|
|
2
|
+
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},760291,a=>{"use strict";var b=a.i(306646),c=a.i(883419);a.s([],939006),a.i(939006),a.s(["0058a3b1a48e94c5432629dba5491d35ecfff26cbe",()=>c.getPublicProjects,"00bf9f63948c2c6bcf332adcc92f8221f7381e1b09",()=>c.getPublicBuilders,"00ea4ec3168f8e372709be502a009293fe346a5288",()=>c.getPublicAgents,"40829cb3fc6e4ff01751d831cd4dd52d266fef087a",()=>b.submitEnquiry],760291)},674098,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_plugins_hooks-manager_ts_04m6z7f._.js"].map(b=>a.l(b))).then(()=>b(615120)))},839090,a=>{a.v(a=>Promise.resolve().then(()=>a(780099)))},837706,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__1xwzktd._.js"].map(b=>a.l(b))).then(()=>b(978775)))},245770,a=>{a.v(a=>Promise.resolve().then(()=>a(51151)))},485685,a=>{a.v(a=>Promise.resolve().then(()=>a(254799)))}];
|
|
3
3
|
|
|
4
4
|
//# sourceMappingURL=%5Broot-of-the-server%5D__1ijsxgu._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
module.exports=[137936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(211857)},713095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
|
|
2
|
-
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},550625,a=>{"use strict";var b=a.i(883419);a.s([],42956),a.i(42956),a.s(["
|
|
2
|
+
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},550625,a=>{"use strict";var b=a.i(883419);a.s([],42956),a.i(42956),a.s(["6060a4b26d62d4d4cec46005debf62b42d4f2aa197",()=>b.saveSettingsGroup],550625)},837706,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__1xwzktd._.js"].map(b=>a.l(b))).then(()=>b(978775)))},245770,a=>{a.v(a=>Promise.resolve().then(()=>a(51151)))},485685,a=>{a.v(a=>Promise.resolve().then(()=>a(254799)))}];
|
|
3
3
|
|
|
4
4
|
//# sourceMappingURL=%5Broot-of-the-server%5D__1mh1dn4._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[306971,(a,b,c)=>{b.exports=a.x("sharp-20c6a5da84e2135f",()=>require("sharp-20c6a5da84e2135f"))},958382,a=>{"use strict";var b=a.i(137936),c=a.i(118558),d=a.i(522734),e=a.i(814747),f=a.i(748531),g=a.i(109307);let h=[{key:"system.installed",value:"false",type:"boolean",group:"system",label:"Application Installed",description:"Controls setup gate.",isPublic:!1,sortOrder:1},{key:"site.name",value:"PropVault",type:"string",group:"general",label:"Site Name",description:"Public site name.",isPublic:!0,sortOrder:10},{key:"site.url",value:"http://localhost:3000",type:"url",group:"general",label:"Site URL",description:"Canonical application URL.",isPublic:!0,sortOrder:20},{key:"site.description",value:"India's Premier Luxury Real Estate Platform",type:"string",group:"general",label:"Description",description:"Short public description.",isPublic:!0,sortOrder:30},{key:"site.tagline",value:"Find Your Dream Property",type:"string",group:"general",label:"Tagline",description:"Primary homepage tagline.",isPublic:!0,sortOrder:40},{key:"organization.company_name",value:"PropVault",type:"string",group:"organization",label:"Company Name",description:"Registered company name.",isPublic:!0,sortOrder:50},{key:"organization.legal_name",value:"PropVault Real Estate Private Limited",type:"string",group:"organization",label:"Legal Name",description:"Legal entity name.",isPublic:!0,sortOrder:60},{key:"contact.email",value:"info@propvault.in",type:"string",group:"contact",label:"Contact Email",description:"Primary public contact email.",isPublic:!0,sortOrder:70},{key:"contact.phone",value:"+91 99999 99999",type:"string",group:"contact",label:"Contact Phone",description:"Primary public phone.",isPublic:!0,sortOrder:80},{key:"contact.whatsapp",value:"919999999999",type:"string",group:"contact",label:"WhatsApp Number",description:"WhatsApp E.164 number without plus sign.",isPublic:!0,sortOrder:90},{key:"contact.address",value:"PropVault Tower, 12th Floor, Bandra Kurla Complex, Mumbai - 400051",type:"string",group:"contact",label:"Address",description:"Public office address.",isPublic:!0,sortOrder:100},{key:"branding.logo",value:"/logo/logo.png",type:"image",group:"branding",label:"Logo",description:"Primary logo URL.",isPublic:!0,sortOrder:110},{key:"branding.favicon",value:"/favicon.ico",type:"image",group:"branding",label:"Favicon",description:"Browser favicon.",isPublic:!0,sortOrder:120},{key:"branding.apple_icon",value:"/icons/apple-touch-icon.png",type:"image",group:"branding",label:"Apple Icon",description:"Apple touch icon.",isPublic:!0,sortOrder:130},{key:"theme.primary_color",value:"#d88b16",type:"color",group:"appearance",label:"Primary Color",description:"Primary brand color.",isPublic:!0,sortOrder:140},{key:"theme.secondary_color",value:"#17171f",type:"color",group:"appearance",label:"Secondary Color",description:"Secondary theme color.",isPublic:!0,sortOrder:150},{key:"theme.accent_color",value:"#f4ca64",type:"color",group:"appearance",label:"Accent Color",description:"Accent color.",isPublic:!0,sortOrder:160},{key:"localization.timezone",value:"Asia/Kolkata",type:"string",group:"localization",label:"Timezone",description:"Default timezone.",isPublic:!0,sortOrder:170},{key:"localization.currency",value:"INR",type:"string",group:"localization",label:"Currency",description:"Default currency.",isPublic:!0,sortOrder:180},{key:"localization.locale",value:"en_IN",type:"string",group:"localization",label:"Locale",description:"Default locale.",isPublic:!0,sortOrder:190},{key:"seo.default_title",value:"PropVault - India's Premier Luxury Real Estate Platform",type:"string",group:"seo",label:"Default SEO Title",description:"Default meta title.",isPublic:!0,sortOrder:200},{key:"seo.default_description",value:"Find curated luxury apartments, villas, commercial spaces, and investment properties across India's top cities.",type:"string",group:"seo",label:"Default SEO Description",description:"Default meta description.",isPublic:!0,sortOrder:210},{key:"seo.keywords",value:JSON.stringify(["real estate","luxury properties","apartments","villas","commercial property"]),type:"json",group:"seo",label:"SEO Keywords",description:"Default keywords.",isPublic:!0,sortOrder:220},{key:"seo.og_image",value:"/og/propVault.png",type:"image",group:"seo",label:"OG Image",description:"Default social share image.",isPublic:!0,sortOrder:230},{key:"seo.robots",value:JSON.stringify({index:!0,follow:!0}),type:"json",group:"seo",label:"Robots",description:"Robots directives.",isPublic:!0,sortOrder:240},{key:"navigation.header",value:JSON.stringify([{label:"Projects",href:"/projects",icon:"Building2",children:[{label:"Luxury",href:"/projects/luxury",icon:"Crown"},{label:"Residential",href:"/projects/residential",icon:"Home"},{label:"Commercial",href:"/projects/commercial",icon:"Building2"},{label:"Rental",href:"/projects/rental",icon:"Key"},{label:"Completed",href:"/projects/completed",icon:"TrendingUp"},{label:"Upcoming",href:"/projects/upcoming",icon:"MapPin"}]},{label:"Builders",href:"/builders"},{label:"Blog",href:"/blog"},{label:"News",href:"/news"},{label:"About",href:"/about"},{label:"Contact",href:"/contact"}]),type:"json",group:"menus",label:"Header Menu",description:"Header navigation tree.",isPublic:!0,sortOrder:250},{key:"navigation.footer",value:JSON.stringify([{title:"Projects",links:[{label:"Luxury Properties",href:"/projects/luxury"},{label:"Residential",href:"/projects/residential"},{label:"Commercial",href:"/projects/commercial"},{label:"Rental",href:"/projects/rental"},{label:"Upcoming Projects",href:"/projects/upcoming"},{label:"Completed Projects",href:"/projects/completed"}]},{title:"Company",links:[{label:"About Us",href:"/about"},{label:"Our Team",href:"/about#team"},{label:"Careers",href:"/careers"},{label:"Blog",href:"/blog"},{label:"News",href:"/news"},{label:"Contact",href:"/contact"}]},{title:"Legal",links:[{label:"Privacy Policy",href:"/privacy"},{label:"Terms of Service",href:"/terms"},{label:"Refund Policy",href:"/refund"},{label:"Cookie Policy",href:"/cookies"},{label:"Disclaimer",href:"/disclaimer"},{label:"Sitemap",href:"/sitemap.xml"}]}]),type:"json",group:"menus",label:"Footer Menu",description:"Footer columns.",isPublic:!0,sortOrder:260},{key:"navigation.top_cities",value:JSON.stringify(["Mumbai","Pune","Bangalore","Hyderabad","Chennai","Delhi NCR","Noida","Gurgaon","Navi Mumbai","Thane"]),type:"json",group:"menus",label:"Top Cities",description:"Footer city links.",isPublic:!0,sortOrder:270},{key:"social.links",value:JSON.stringify([{label:"Instagram",href:"https://instagram.com/propvault",icon:"Instagram"},{label:"Twitter/X",href:"https://twitter.com/propvault",icon:"Twitter"},{label:"Facebook",href:"https://facebook.com/propvault",icon:"Facebook"},{label:"LinkedIn",href:"https://linkedin.com/company/propvault",icon:"Linkedin"},{label:"YouTube",href:"https://youtube.com/@propvault",icon:"Youtube"}]),type:"json",group:"social",label:"Social Links",description:"Public social profile links.",isPublic:!0,sortOrder:280},{key:"footer.certifications",value:"RERA Registered | ISO 9001:2015 Certified | Member of CREDAI",type:"string",group:"footer",label:"Certifications",description:"Footer trust line.",isPublic:!0,sortOrder:290},{key:"smtp.host",value:"",type:"string",group:"smtp",label:"SMTP Host",description:"SMTP host.",isPublic:!1,sortOrder:300},{key:"smtp.port",value:"587",type:"number",group:"smtp",label:"SMTP Port",description:"SMTP port.",isPublic:!1,sortOrder:310},{key:"smtp.from",value:"PropVault <noreply@propvault.in>",type:"string",group:"smtp",label:"Sender",description:"Default email sender.",isPublic:!1,sortOrder:320},{key:"storage.driver",value:"local",type:"string",group:"storage",label:"Storage Driver",description:"Current storage backend.",isPublic:!1,sortOrder:330},{key:"storage.image_formats",value:JSON.stringify(["webp","avif"]),type:"json",group:"storage",label:"Image Formats",description:"Enabled image output formats.",isPublic:!1,sortOrder:340},{key:"ai.enabled",value:"false",type:"boolean",group:"ai",label:"AI Enabled",description:"Reserved AI architecture flag.",isPublic:!1,sortOrder:350},{key:"ai.modules",value:JSON.stringify(["chat","lead_scoring","recommendations","seo","content","search","analytics"]),type:"json",group:"ai",label:"AI Modules",description:"AI-ready module registry.",isPublic:!1,sortOrder:360}],i=[{name:"Super Admin",slug:"super_admin",description:"Full platform access.",color:"red"},{name:"Organization Admin",slug:"organization_admin",description:"Organization-level administration.",color:"amber"},{name:"Sales",slug:"sales",description:"Lead and sales access.",color:"green"},{name:"Marketing",slug:"marketing",description:"Campaign and content access.",color:"purple"},{name:"Editor",slug:"editor",description:"Content editing access.",color:"blue"},{name:"SEO Manager",slug:"seo_manager",description:"SEO configuration access.",color:"cyan"},{name:"Support",slug:"support",description:"Customer support access.",color:"slate"},{name:"Customer",slug:"customer",description:"Customer portal access.",color:"gray"},{name:"Broker",slug:"broker",description:"Broker workspace access.",color:"orange"},{name:"Builder",slug:"builder",description:"Builder workspace access.",color:"lime"}],j=["view","create","edit","delete","publish","export"],k=["projects","leads","blogs","media","users","settings","analytics","menus","forms","emails","reports","backup","cache","health","search","audit"].flatMap(a=>j.map(b=>({name:`${a}.${b}`,slug:`${a}.${b}`,module:a,action:b})));var l=a.i(572883),m=a.i(31893),n=a.i(537364),o=a.i(257807),p=a.i(487042),q=a.i(402849),r=a.i(713095);let s=new Set(h.filter(a=>a.isPublic).map(a=>a.key));function t(a){return null==a?"":String(a)}async function u(a,b,c,d,e="string"){let f=await o.repositories.settings.findBy("key",a),g={key:a,value:b,group:c,label:d,type:e,description:f?.description??"",is_public:s.has(a)||"organization"===c||"branding"===c||"seo"===c,sort_order:f?.sort_order??999};f?await o.repositories.settings.update(f.id,g):await o.repositories.settings.create(g)}async function v(b){try{let c,d=Date.now();if("mongodb"===b.driver){let a=b.url||`mongodb://${b.host||"localhost"}:${b.port||"27017"}/${b.database||"propvault"}`,d=new p.MongoDriver("test_mongo",a);await d.connect(),c=await d.testConnection()}else if("multidb"===b.driver){let a=new p.MultiDatabase,d=b.url||`sqlite://${b.database||"./data/propvault.db"}`;if(a.registerDatabase("primary",d),b.replicas){let c=b.replicas.split(",");for(let b=0;b<c.length;b++)a.registerDatabase(`replica-${b}`,c[b].trim(),!0)}await a.connectAll();let e=a.databases.get("primary");c=e&&"function"==typeof e.testConnection?await e.testConnection():{success:!0,message:"MultiDatabase connected",info:{driver:"multidb",status:"CONNECTED"}}}else if("postgresql"===b.driver||"cockroachdb"===b.driver){let{PostgresDriver:d}=await a.A(991233),e=b.url||`postgresql://${encodeURIComponent(b.username||"")}:${encodeURIComponent(b.password||"")}@${b.host||"localhost"}:${b.port||"5432"}/${b.database||"propvault"}${b.ssl?"?ssl=true":""}`,f=new d("test_postgres",e);await f.connect(),c=await f.testConnection()}else if("mysql"===b.driver||"mariadb"===b.driver){let{MysqlDriver:d}=await a.A(991233),e=b.url||`mysql://${encodeURIComponent(b.username||"")}:${encodeURIComponent(b.password||"")}@${b.host||"localhost"}:${b.port||"3306"}/${b.database||"propvault"}${b.ssl?"?ssl=true":""}`,f=new d("test_mysql",e);await f.connect(),c=await f.testConnection()}else if("mssql"===b.driver||"sqlserver"===b.driver){let{MssqlDriver:d}=await a.A(991233),e=b.url||`mssql://${encodeURIComponent(b.username||"")}:${encodeURIComponent(b.password||"")}@${b.host||"localhost"}:${b.port||"1433"}/${b.database||"propvault"}${b.ssl?"?ssl=true":""}`,f=new d("test_mssql",e);await f.connect(),c=await f.testConnection()}else{let a=b.database||"./data/propvault.db",d=new q.PersistentSQLiteDriver("test_sqlite",a);await d.connect(),c=await d.testConnection()}let e=Date.now()-d;if(c&&c.success)return{success:!0,data:{driver:c.info?.driver||b.driver,status:c.info?.status||"CONNECTED",version:"mongodb"===b.driver?"v6.0+":"sqlite"===b.driver?"v3.x":"v8.x",latency:`${e}ms`,path:c.info?.path||c.info?.host||b.database||"./data/propvault.db"}};return{success:!1,error:c?.message||c?.info?.errorMessage||"Database handshake failed."}}catch(a){return{success:!1,error:a.message||"Failed to verify database connection."}}}async function w(a){try{if(!a.host||!a.port)return{success:!1,error:"SMTP Host and Port are required."};let b="465"===a.port||"SSL/TLS"===a.encryption,c=f.default.createTransport({host:a.host,port:Number(a.port),secure:b,auth:a.username?{user:a.username,pass:a.password||""}:void 0,timeout:5e3});return await c.verify(),{success:!0}}catch(a){return{success:!1,error:a.message||"SMTP verification failed."}}}async function x(a){try{if("local"===a.provider||!a.provider){let a=e.default.join(process.cwd(),"public","uploads");d.default.existsSync(a)||d.default.mkdirSync(a,{recursive:!0});let b=e.default.join(a,"connection-test.tmp");return d.default.writeFileSync(b,"PropVault Connection Test"),d.default.unlinkSync(b),{success:!0}}if(a.s3Bucket&&a.s3AccessKey)return{success:!0};return{success:!1,error:"Missing S3 storage bucket or credentials."}}catch(a){return{success:!1,error:a.message||"Storage directory not writable."}}}async function y(){await (0,l.ensureMigrated)();let{isSystemInstalled:b}=await a.A(514652);if(b())return{installed:!0};for(let a of h)await o.repositories.settings.findBy("key",a.key)||await o.repositories.settings.create({key:a.key,value:a.value,type:a.type,group:a.group,label:a.label,description:a.description,is_public:a.isPublic,sort_order:a.sortOrder});return{installed:!1}}async function z(b){if(await (0,l.ensureMigrated)(),await (0,m.isApplicationInstalled)())return{success:!1,error:"Application is already installed."};if(!b.admin.email||!b.admin.password||b.admin.password.length<8)return{success:!1,error:"Admin email and an 8 character password are required."};let d=null;try{for(let a of(await y(),k))await o.repositories.permissions.findBySlug(a.slug)||await o.repositories.permissions.create({name:a.name,slug:a.slug,description:`${a.action} permission for ${a.module}.`,module:a.module,action:a.action});for(let a of i){let b=await o.repositories.roles.upsert("slug",a.slug,{name:a.name,description:a.description,is_system:!0,color:a.color});if("super_admin"===a.slug)for(let a of(await o.repositories.permissions.findAll()))await o.repositories.roles.assignPermission(b.id,a.id)}let e=await o.repositories.roles.findBySlug(b.admin.role||"super_admin"),f=await (0,g.hashPassword)(b.admin.password),h=await o.repositories.users.findByEmail(b.admin.email);if(!(d=h?await o.repositories.users.update(h.id,{name:b.admin.fullName,image:b.admin.profileImage||null,phone:b.admin.phone||null,password_hash:f,is_active:!0,is_verified:!0,two_factor_enabled:b.admin.twoFactorReady}):await o.repositories.users.create({name:b.admin.fullName,email:b.admin.email,image:b.admin.profileImage||null,phone:b.admin.phone||null,password_hash:f,is_active:!0,is_verified:!0,email_verified:new Date().toISOString(),login_count:0,two_factor_enabled:b.admin.twoFactorReady})))return{success:!1,error:"Failed to create administrator account."};for(let[a,c]of(e&&await o.repositories.userRoles.assignRole(d.id,e.id),Object.entries(b.organization)))await u(`organization.${a}`,t(c),"organization",a);for(let[a,c]of Object.entries(b.branding))await u(`branding.${a}`,t(c),"branding",a,a.includes("color")?"color":"string");for(let[a,c]of Object.entries(b.theme))await u(`theme.${a}`,t(c),"theme",a,a.toLowerCase().includes("color")||"accent"===a||"success"===a||"danger"===a||"warning"===a?"color":"string");for(let[a,c]of Object.entries(b.communication))await u(`communication.${a}`,t(c),"communication",a);for(let[a,c]of Object.entries(b.seo))await u(`seo.${a}`,t(c),"seo",a);for(let[a,c]of Object.entries(b.storage))await u(`storage.${a}`,t(c),"storage",a);for(let a of(await u("theme.primary_color",t(b.theme.primaryColor??"#d88b16"),"theme","Primary Color","color"),await u("theme.secondary_color",t(b.theme.secondaryColor??"#17171f"),"theme","Secondary Color","color"),await u("theme.accent_color",t(b.theme.accent??"#f4ca64"),"theme","Accent Color","color"),await u("theme.border_radius",t(b.theme.borderRadius??"12"),"theme","Border Radius"),await u("site.name",t((b.organization.brandName||b.organization.companyName)??null),"general","Site Name"),await u("site.url",t((b.organization.website||"http://localhost:3000")??null),"general","Site URL","url"),await u("site.description",t(b.organization.description??null),"general","Description"),await u("contact.email",t((b.communication.supportEmail||b.communication.emailSender)??null),"contact","Support Email"),await u("contact.phone",t(b.communication.businessPhone??null),"contact","Business Phone"),await u("contact.whatsapp",t(b.communication.whatsAppNumber??null),"contact","WhatsApp"),await u("system.demo_seeded",String(b.seedDemoData),"system","Demo Data Seeded","boolean"),await u("system.installed_at",new Date().toISOString(),"system","Installed At"),[{name:"Luxury Gold",slug:"luxury-dark-gold",description:"Default PropVault brand theme. Rich gold accents.",is_active:b.theme.darkMode?"1":"0",is_system:"1",author:"PropVault",version:"1.0",tokens:JSON.stringify({colors:{background:"240 20% 7%",foreground:"240 5% 96%",primary:"36 82% 47%",primaryForeground:"240 20% 7%",secondary:"240 12% 18%",secondaryForeground:"240 5% 96%",accent:"36 82% 47%",accentForeground:"240 20% 7%",muted:"240 10% 15%",mutedForeground:"240 5% 55%",card:"240 15% 11%",cardForeground:"240 5% 96%",border:"240 10% 18%",input:"240 10% 14%",ring:"36 82% 47%",destructive:"0 72% 51%",destructiveForeground:"0 0% 98%"},lightColors:{background:"0 0% 100%",foreground:"240 10% 8%",primary:"36 82% 47%",primaryForeground:"0 0% 100%",secondary:"240 4.8% 95.9%",secondaryForeground:"240 5.9% 10%",accent:"36 82% 47%",accentForeground:"0 0% 100%",muted:"240 4.8% 95.9%",mutedForeground:"240 3.8% 46.1%",card:"0 0% 100%",cardForeground:"240 10% 8%",border:"240 5.9% 90%",input:"240 5.9% 90%",ring:"36 82% 47%",destructive:"0 84.2% 60.2%",destructiveForeground:"0 0% 98%"},darkColors:{background:"240 20% 7%",foreground:"240 5% 96%",primary:"36 82% 47%",primaryForeground:"240 20% 7%",secondary:"240 12% 18%",secondaryForeground:"240 5% 96%",accent:"36 82% 47%",accentForeground:"240 20% 7%",muted:"240 10% 15%",mutedForeground:"240 5% 55%",card:"240 15% 11%",cardForeground:"240 5% 96%",border:"240 10% 18%",input:"240 10% 14%",ring:"36 82% 47%",destructive:"0 72% 51%",destructiveForeground:"0 0% 98%"},typography:{fontSans:"Inter, sans-serif",fontSerif:"Playfair Display, serif",fontMono:"JetBrains Mono, monospace",baseFontSize:"16px",lineHeight:"1.6"},spacing:{radius:"0.75rem",containerMaxWidth:"80rem"}})},{name:"Midnight Blue",slug:"midnight-blue",description:"Deep starlight blue dark mode.",is_active:"0",is_system:"1",author:"PropVault",version:"1.0",tokens:JSON.stringify({colors:{background:"222 47% 11%",foreground:"210 40% 98%",primary:"217 91% 60%",primaryForeground:"222 47% 11%",secondary:"217 32% 17%",secondaryForeground:"210 40% 98%",accent:"189 94% 43%",accentForeground:"222 47% 11%",muted:"217 32% 17%",mutedForeground:"215 20% 65%",card:"222 47% 13%",cardForeground:"210 40% 98%",border:"217 32% 17%",input:"217 32% 15%",ring:"217 91% 60%",destructive:"0 62% 30%",destructiveForeground:"210 40% 98%"},lightColors:{background:"210 40% 98%",foreground:"222 47% 11%",primary:"221 83% 53%",primaryForeground:"210 40% 98%",secondary:"210 30% 94%",secondaryForeground:"222 47% 11%",accent:"221 83% 53%",accentForeground:"210 40% 98%",muted:"210 30% 94%",mutedForeground:"215 16% 47%",card:"0 0% 100%",cardForeground:"222 47% 11%",border:"214 32% 91%",input:"214 32% 91%",ring:"221 83% 53%",destructive:"0 72% 51%",destructiveForeground:"0 0% 98%"},darkColors:{background:"222 47% 11%",foreground:"210 40% 98%",primary:"217 91% 60%",primaryForeground:"222 47% 11%",secondary:"217 32% 17%",secondaryForeground:"210 40% 98%",accent:"217 91% 60%",accentForeground:"222 47% 11%",muted:"217 32% 17%",mutedForeground:"215 20% 65%",card:"222 47% 13%",cardForeground:"210 40% 98%",border:"217 32% 17%",input:"217 32% 15%",ring:"217 91% 60%",destructive:"0 62% 30%",destructiveForeground:"210 40% 98%"},typography:{fontSans:"Inter, sans-serif",fontSerif:"Playfair Display, serif",fontMono:"JetBrains Mono, monospace",baseFontSize:"16px",lineHeight:"1.6"},spacing:{radius:"0.75rem",containerMaxWidth:"80rem"}})},{name:"Forest Emerald",slug:"forest-emerald",description:"Deep luxury green with gold text.",is_active:"0",is_system:"1",author:"PropVault",version:"1.0",tokens:JSON.stringify({colors:{background:"150 40% 6%",foreground:"150 10% 96%",primary:"142 70% 45%",primaryForeground:"150 40% 6%",secondary:"150 20% 12%",secondaryForeground:"150 10% 96%",accent:"45 93% 47%",accentForeground:"150 40% 6%",muted:"150 15% 10%",mutedForeground:"150 10% 55%",card:"150 20% 9%",cardForeground:"150 10% 96%",border:"150 15% 12%",input:"150 15% 10%",ring:"142 70% 45%",destructive:"0 72% 51%",destructiveForeground:"0 0% 98%"},lightColors:{background:"120 20% 98%",foreground:"120 40% 10%",primary:"142 76% 36%",primaryForeground:"120 20% 98%",secondary:"120 15% 93%",secondaryForeground:"120 40% 10%",accent:"142 76% 36%",accentForeground:"120 20% 98%",muted:"120 15% 93%",mutedForeground:"120 10% 45%",card:"0 0% 100%",cardForeground:"120 40% 10%",border:"120 10% 89%",input:"120 10% 89%",ring:"142 76% 36%",destructive:"0 72% 51%",destructiveForeground:"0 0% 98%"},darkColors:{background:"150 40% 6%",foreground:"150 10% 96%",primary:"142 70% 45%",primaryForeground:"150 40% 6%",secondary:"150 20% 12%",secondaryForeground:"150 10% 96%",accent:"45 93% 47%",accentForeground:"150 40% 6%",muted:"150 15% 10%",mutedForeground:"150 10% 55%",card:"150 20% 9%",cardForeground:"150 10% 96%",border:"150 15% 12%",input:"150 15% 10%",ring:"142 70% 45%",destructive:"0 72% 51%",destructiveForeground:"0 0% 98%"},typography:{fontSans:"Inter, sans-serif",fontSerif:"Playfair Display, serif",fontMono:"JetBrains Mono, monospace",baseFontSize:"16px",lineHeight:"1.6"},spacing:{radius:"0.75rem",containerMaxWidth:"80rem"}})},{name:"Ocean Teal",slug:"ocean-teal-light",description:"Breezy oceanic teal theme.",is_active:"0",is_system:"1",author:"PropVault",version:"1.0",tokens:JSON.stringify({colors:{background:"190 35% 98%",foreground:"190 40% 10%",primary:"185 85% 36%",primaryForeground:"190 35% 98%",secondary:"185 20% 92%",secondaryForeground:"190 40% 10%",accent:"185 85% 36%",accentForeground:"190 35% 98%",muted:"185 20% 92%",mutedForeground:"185 15% 45%",card:"190 35% 100%",cardForeground:"190 40% 10%",border:"185 15% 89%",input:"185 15% 89%",ring:"185 85% 36%",destructive:"0 72% 51%",destructiveForeground:"0 0% 98%"},lightColors:{background:"190 35% 98%",foreground:"190 40% 10%",primary:"185 85% 36%",primaryForeground:"190 35% 98%",secondary:"185 20% 92%",secondaryForeground:"190 40% 10%",accent:"185 85% 36%",accentForeground:"190 35% 98%",muted:"185 20% 92%",mutedForeground:"185 15% 45%",card:"190 35% 100%",cardForeground:"190 40% 10%",border:"185 15% 89%",input:"185 15% 89%",ring:"185 85% 36%",destructive:"0 72% 51%",destructiveForeground:"0 0% 98%"},darkColors:{background:"190 40% 6%",foreground:"190 10% 96%",primary:"185 80% 45%",primaryForeground:"190 40% 6%",secondary:"190 20% 12%",secondaryForeground:"190 10% 96%",accent:"185 80% 45%",accentForeground:"190 40% 6%",muted:"190 15% 10%",mutedForeground:"190 10% 55%",card:"190 20% 9%",cardForeground:"190 10% 96%",border:"190 15% 12%",input:"190 15% 10%",ring:"185 80% 45%",destructive:"0 72% 51%",destructiveForeground:"0 0% 98%"},typography:{fontSans:"Inter, sans-serif",fontSerif:"Playfair Display, serif",fontMono:"JetBrains Mono, monospace",baseFontSize:"16px",lineHeight:"1.6"},spacing:{radius:"0.75rem",containerMaxWidth:"80rem"}})},{name:"Crimson Velvet",slug:"crimson-rose-light",description:"Sophisticated deep red and rose theme.",is_active:"0",is_system:"1",author:"PropVault",version:"1.0",tokens:JSON.stringify({colors:{background:"350 20% 98%",foreground:"350 40% 10%",primary:"346 87% 43%",primaryForeground:"350 20% 98%",secondary:"346 20% 92%",secondaryForeground:"350 40% 10%",accent:"36 82% 47%",accentForeground:"350 20% 98%",muted:"346 20% 92%",mutedForeground:"346 15% 45%",card:"350 20% 100%",cardForeground:"350 40% 10%",border:"346 15% 89%",input:"346 15% 89%",ring:"346 87% 43%",destructive:"0 72% 51%",destructiveForeground:"0 0% 98%"},lightColors:{background:"350 20% 98%",foreground:"350 40% 10%",primary:"346 87% 43%",primaryForeground:"350 20% 98%",secondary:"346 20% 92%",secondaryForeground:"350 40% 10%",accent:"36 82% 47%",accentForeground:"350 20% 98%",muted:"346 20% 92%",mutedForeground:"346 15% 45%",card:"350 20% 100%",cardForeground:"350 40% 10%",border:"346 15% 89%",input:"346 15% 89%",ring:"346 87% 43%",destructive:"0 72% 51%",destructiveForeground:"0 0% 98%"},darkColors:{background:"350 40% 6%",foreground:"350 10% 96%",primary:"346 80% 50%",primaryForeground:"350 40% 6%",secondary:"350 20% 12%",secondaryForeground:"350 10% 96%",accent:"36 82% 47%",accentForeground:"350 40% 6%",muted:"350 15% 10%",mutedForeground:"350 10% 55%",card:"350 20% 9%",cardForeground:"350 10% 96%",border:"350 15% 12%",input:"350 15% 10%",ring:"346 80% 50%",destructive:"0 72% 51%",destructiveForeground:"0 0% 98%"},typography:{fontSans:"Inter, sans-serif",fontSerif:"Playfair Display, serif",fontMono:"JetBrains Mono, monospace",baseFontSize:"16px",lineHeight:"1.6"},spacing:{radius:"0.75rem",containerMaxWidth:"80rem"}})}]))await o.repositories.themes.findBySlug(a.slug)||await o.repositories.themes.create(a);let j=await o.repositories.navigationMenus.create({name:"Header Menu",slug:"header-menu",location:"header",is_active:!0}),l=await o.repositories.navigationMenus.create({name:"Footer Menu",slug:"footer-menu",location:"footer",is_active:!0});await o.repositories.menuItems.create({menu_id:j.id,parent_id:"",label:"Home",url:"/",sort_order:1,is_active:!0,icon:"Home"});let m=await o.repositories.menuItems.create({menu_id:j.id,parent_id:"",label:"Projects",url:"/projects",sort_order:2,is_active:!0,icon:"Building2"}),p=await o.repositories.menuItems.create({menu_id:j.id,parent_id:m.id,label:"Residential",url:"/projects?category=residential",sort_order:1,is_active:!0,icon:"Home"});await o.repositories.menuItems.create({menu_id:j.id,parent_id:p.id,label:"Luxury Apartments",url:"/projects?category=apartment",sort_order:1,is_active:!0,icon:"Building"}),await o.repositories.menuItems.create({menu_id:j.id,parent_id:p.id,label:"Premium Villas",url:"/projects?category=villa",sort_order:2,is_active:!0,icon:"TreePine"});let q=await o.repositories.menuItems.create({menu_id:j.id,parent_id:m.id,label:"Commercial",url:"/projects?category=commercial",sort_order:2,is_active:!0,icon:"Building2"});await o.repositories.menuItems.create({menu_id:j.id,parent_id:q.id,label:"Executive Offices",url:"/projects?category=office",sort_order:1,is_active:!0,icon:"Briefcase"}),await o.repositories.menuItems.create({menu_id:j.id,parent_id:q.id,label:"Retail Outlets",url:"/projects?category=retail",sort_order:2,is_active:!0,icon:"Store"}),await o.repositories.menuItems.create({menu_id:j.id,parent_id:"",label:"Builders",url:"/builders",sort_order:3,is_active:!0,icon:"Shield"}),await o.repositories.menuItems.create({menu_id:j.id,parent_id:"",label:"Blog",url:"/blog",sort_order:4,is_active:!0,icon:"BookOpen"}),await o.repositories.menuItems.create({menu_id:j.id,parent_id:"",label:"About",url:"/about",sort_order:5,is_active:!0,icon:"Info"}),await o.repositories.menuItems.create({menu_id:j.id,parent_id:"",label:"Contact",url:"/contact",sort_order:6,is_active:!0,icon:"Phone"});let r=await o.repositories.menuItems.create({menu_id:l.id,parent_id:"",label:"Company",url:"",sort_order:1,is_active:!0});await o.repositories.menuItems.create({menu_id:l.id,parent_id:r.id,label:"About Us",url:"/about",sort_order:1,is_active:!0}),await o.repositories.menuItems.create({menu_id:l.id,parent_id:r.id,label:"Contact Us",url:"/contact",sort_order:2,is_active:!0}),await o.repositories.menuItems.create({menu_id:l.id,parent_id:r.id,label:"Career Openings",url:"/careers",sort_order:3,is_active:!0});let s=await o.repositories.menuItems.create({menu_id:l.id,parent_id:"",label:"Explore",url:"",sort_order:2,is_active:!0});await o.repositories.menuItems.create({menu_id:l.id,parent_id:s.id,label:"Top Builders",url:"/builders",sort_order:1,is_active:!0}),await o.repositories.menuItems.create({menu_id:l.id,parent_id:s.id,label:"Residential Projects",url:"/projects?category=residential",sort_order:2,is_active:!0}),await o.repositories.menuItems.create({menu_id:l.id,parent_id:s.id,label:"Commercial Spaces",url:"/projects?category=commercial",sort_order:3,is_active:!0});let v=await o.repositories.menuItems.create({menu_id:l.id,parent_id:"",label:"Legal",url:"",sort_order:3,is_active:!0});for(let a of(await o.repositories.menuItems.create({menu_id:l.id,parent_id:v.id,label:"Privacy Policy",url:"/privacy",sort_order:1,is_active:!0}),await o.repositories.menuItems.create({menu_id:l.id,parent_id:v.id,label:"Terms of Service",url:"/terms",sort_order:2,is_active:!0}),await o.repositories.menuItems.create({menu_id:l.id,parent_id:v.id,label:"Refund Policy",url:"/refund",sort_order:3,is_active:!0}),[{title:"Home",slug:"home",template:"default",content:JSON.stringify([{id:"hero-section",type:"hero",settings:{title:"Signature Real Estate Collection",subtitle:"Discover curated premium luxury apartments, villas, and commercial spaces across India's top cities.",backgroundImage:"https://images.unsplash.com/photo-1600585154340-be6161a56a0c",primaryBtnText:"Explore Properties",primaryBtnLink:"/projects",secondaryBtnText:"Contact Advisory",secondaryBtnLink:"/contact",overlayOpacity:.65}},{id:"stats-box",type:"counter",settings:{title:"Our Presence",subtitle:"Unmatched scale, verified trust.",counters:[{value:"2500+",label:"Verified Projects"},{value:"450+",label:"Super Admins & Agents"},{value:"10k+",label:"Happy Homeowners"},{value:"0%",label:"Brokerage Fee"}]}},{id:"feature-grid",type:"feature-box",settings:{title:"The PropVault Guarantee",subtitle:"A frictionless home buying experience.",features:[{title:"RERA-Certified Only",desc:"We track and monitor construction updates, RERA certificate limits, and legal verifications."},{title:"Direct Builder Pricing",desc:"No markups, no hidden agency brokerage, direct invoicing."},{title:"End-to-End Handholding",desc:"From scheduling site visits to final registration assistance, our advisors handle everything."}]}},{id:"property-grid-block",type:"property_grid",settings:{title:"Featured Properties",subtitle:"Curated premium residential projects.",limit:6}},{id:"builders-grid-block",type:"builders_grid",settings:{title:"Verified Developers",subtitle:"India's top real estate creators.",limit:5}},{id:"construction-timeline",type:"timeline",settings:{title:"Project Milestones",subtitle:"Verified construction progress updates.",items:[{date:"Q1 2026",title:"Excavation and Piling",desc:"Foundations completed for Towers A & B."},{date:"Q3 2026",title:"Structure Slab Cast",desc:"RCC framework up to the 14th floor."},{date:"Q1 2027",title:"Finishing & Handover",desc:"Internal plastering and luxury fits completion."}]}},{id:"testimonials-block",type:"testimonials",settings:{title:"Client Testimonials",subtitle:"Words from our premium homeowners.",limit:3}},{id:"map-section",type:"map",settings:{title:"Experience Center Location",subtitle:"Visit our relationship lounge at BKC.",address:"Bandra Kurla Complex, Mumbai, India",latitude:"19.0596",longitude:"72.8696"}},{id:"emi-form-block",type:"contact-form",settings:{title:"Request Callback",subtitle:"Enter details for a complimentary wealth manager advisory.",buttonText:"Schedule Call Back"}}]),excerpt:"Luxury Real Estate Homepage",meta_title:"PropVault — India's Premier Real Estate CMS",meta_description:"Find premium residential and commercial spaces across top Indian cities. Direct builder pricing and RERA verified only.",publish_status:"published",published_at:new Date().toISOString(),created_by:d.id},{title:"About Us",slug:"about",template:"default",content:JSON.stringify([{id:"about-hero",type:"hero",settings:{title:"Redefining Luxury Living",subtitle:"Established in 2021, PropVault is India's most trusted luxury real estate platform.",backgroundImage:"https://images.unsplash.com/photo-1600607687939-ce8a6c25118c"}},{id:"about-para",type:"paragraph",settings:{title:"Our Mission",content:"PropVault is built to eliminate opacity and fragmentation in the premium real estate market. We vet and present only RERA-registered developments, connecting corporate developers with discerning homebuyers. Our team of certified real estate advisors provides independent financial and demographic analysis to help you secure the ideal home."}}]),excerpt:"Learn more about our team, history, and values.",meta_title:"About PropVault — Our History & Vision",meta_description:"Understand our values, certified property wealth advisors, and RERA tracking capabilities.",publish_status:"published",published_at:new Date().toISOString(),created_by:d.id},{title:"Services",slug:"services",template:"default",content:JSON.stringify([{id:"services-hero",type:"hero",settings:{title:"Enterprise Real Estate Solutions",subtitle:"From private property acquisition to corporate relocation.",backgroundImage:"https://images.unsplash.com/photo-1600573472591-ee6b68d14c68"}}]),excerpt:"Premium real estate acquisition, leasing, and advisory services.",meta_title:"Services — Real Estate Advisory",meta_description:"Learn about residential sales, NRI investment plans, commercial leasing, and legal due diligence services.",publish_status:"published",published_at:new Date().toISOString(),created_by:d.id},{title:"Privacy Policy",slug:"privacy",template:"default",content:"<h1>Privacy Policy</h1><p>Your privacy is important to us. PropVault collects, stores, and protects customer details in compliance with legal frameworks. We do not sell or trade private lead data.</p>",excerpt:"Privacy policy guidelines.",meta_title:"Privacy Policy — PropVault",meta_description:"Understand how your lead submissions and account information are encrypted and managed.",publish_status:"published",published_at:new Date().toISOString(),created_by:d.id},{title:"Terms of Service",slug:"terms",template:"default",content:"<h1>Terms of Service</h1><p>By using PropVault, you agree to comply with our terms. We act as a listing and advisory service. Property specifications, pricing, and availability are subject to builder updates.</p>",excerpt:"Terms of service guidelines.",meta_title:"Terms of Service — PropVault",meta_description:"Rules and terms governing the use of PropVault listings, pricing estimates, and wealth advisory services.",publish_status:"published",published_at:new Date().toISOString(),created_by:d.id},{title:"Careers",slug:"careers",template:"default",content:JSON.stringify([{id:"careers-hero",type:"hero",settings:{title:"Join Our Team",subtitle:"Build the future of luxury real estate technology and advisory.",backgroundImage:"https://images.unsplash.com/photo-1600585154526-990dced4db0d"}},{id:"careers-info",type:"paragraph",settings:{title:"Why PropVault?",content:"We are always looking for passionate software developers, wealth managers, and marketing specialists. At PropVault, you'll work with high-profile builders and HNI clients in a high-growth environment."}}]),excerpt:"Career opportunities at PropVault.",meta_title:"Careers — PropVault Jobs",meta_description:"Explore open job listings for real estate advisors, analysts, and developers in Mumbai and Pune.",publish_status:"published",published_at:new Date().toISOString(),created_by:d.id},{title:"Support Center",slug:"support",template:"default",content:JSON.stringify([{id:"support-hero",type:"hero",settings:{title:"We're Here to Help",subtitle:"Contact our customer support desk or read our guides.",backgroundImage:"https://images.unsplash.com/photo-1600607687939-ce8a6c25118c"}},{id:"support-faq",type:"accordion",settings:{title:"Frequently Asked Questions",items:[{question:"How does direct builder invoicing work?",answer:"All purchase payments are made directly to the developer's RERA escrow account. PropVault does not charge or handle buyer payouts."},{question:"Can I schedule home tours online?",answer:"Yes. Simply submit a callback request on any project page, and a certified wealth advisor will handle scheduling and transfers."}]}}]),excerpt:"Help and support guides.",meta_title:"Support Center — PropVault",meta_description:"Get answers to your real estate transaction queries and schedule site tours.",publish_status:"published",published_at:new Date().toISOString(),created_by:d.id},{title:"Refund Policy",slug:"refund",template:"default",content:"<h1>Refund Policy</h1><p>Consultation fees and booking token advances are subject to terms signed with the respective builders. PropVault does not collect booking tokens or service charges directly from retail buyers.</p>",excerpt:"Refund policy guidelines.",meta_title:"Refund Policy — PropVault",meta_description:"Learn about refund terms for property booking advances and consulting services.",publish_status:"published",published_at:new Date().toISOString(),created_by:d.id},{title:"Cookie Policy",slug:"cookies",template:"default",content:"<h1>Cookie Policy</h1><p>We use cookies to analyze user behavior, personalize layout preferences, and remember your session login state. You can control cookie preferences in your web browser settings.</p>",excerpt:"Cookie usage policies.",meta_title:"Cookie Policy — PropVault",meta_description:"How PropVault uses cookies and session storage to optimize search capabilities.",publish_status:"published",published_at:new Date().toISOString(),created_by:d.id},{title:"Disclaimer",slug:"disclaimer",template:"default",content:"<h1>Disclaimer</h1><p>Property pricing, layouts, amenity items, and RERA dates are provided by developers. While PropVault verifies government registrations, buyers are advised to perform final due diligence before registering agreements.</p>",excerpt:"Legal disclaimers for listing items.",meta_title:"Disclaimer — PropVault",meta_description:"Read the terms governing real estate listings data validity and third-party projections.",publish_status:"published",published_at:new Date().toISOString(),created_by:d.id},{title:"Builders",slug:"builders",template:"default",content:JSON.stringify([{id:"builders-hero",type:"hero",settings:{title:"Elite Real Estate Developers",subtitle:"Discover properties by India's most renowned, certified, and RERA-compliant builders.",backgroundImage:"https://images.unsplash.com/photo-1545324418-cc1a3fa10c00",primaryBtnText:"Contact Advisory",primaryBtnLink:"/contact"}},{id:"builders-grid-block",type:"builders_grid",settings:{title:"Verified Builders",subtitle:"Partnering with top-tier developers to bring you direct pricing.",limit:12}}]),excerpt:"Elite property builders listing.",meta_title:"Elite Property Developers & Builders — PropVault",meta_description:"Vetted corporate builders list and project completion stats.",publish_status:"published",published_at:new Date().toISOString(),created_by:d.id},{title:"Property Advisors",slug:"agents",template:"default",content:JSON.stringify([{id:"agents-hero",type:"hero",settings:{title:"Meet Our Relationship Advisors",subtitle:"Direct assistance from certified real estate wealth managers.",backgroundImage:"https://images.unsplash.com/photo-1573496359142-b8d87734a5a2",primaryBtnText:"Schedule Site Visit",primaryBtnLink:"/contact"}},{id:"agents-grid-block",type:"agents_grid",settings:{title:"Certified Advisors",subtitle:"Always available for guided tours and financial consultations.",limit:12}}]),excerpt:"Meet our certified property wealth advisors.",meta_title:"Property Advisors & Relationship Managers — PropVault",meta_description:"Guided site visits, NRI transaction help, and tax advisory services from our team.",publish_status:"published",published_at:new Date().toISOString(),created_by:d.id},{title:"FAQ",slug:"faq",template:"default",content:JSON.stringify([{id:"faq-hero",type:"hero",settings:{title:"FAQ Center",subtitle:"Answers to frequently asked questions about real estate purchasing and RERA certification.",backgroundImage:"https://images.unsplash.com/photo-1600607687939-ce8a6c25118c"}},{id:"faq-accordion",type:"accordion",settings:{title:"Buying & Booking Queries",items:[{question:"Are there any hidden agency brokerage fees?",answer:"No. PropVault charges 0% brokerage on direct builder bookings. All invoices are generated directly by the builders."},{question:"How do you verify property legal standings?",answer:"We fetch active registration data directly from state RERA web portals, cross-referencing completion dates and developer encumbrance certificates."}]}}]),excerpt:"Frequently Asked Questions.",meta_title:"FAQ Center — PropVault",meta_description:"Direct builder bookings, RERA checks, escrow accounts, and property registration FAQs.",publish_status:"published",published_at:new Date().toISOString(),created_by:d.id},{title:"Knowledge Base",slug:"knowledge-base",template:"default",content:JSON.stringify([{id:"kb-hero",type:"hero",settings:{title:"Knowledge Base & Guides",subtitle:"Articles and guidelines to help you navigate property transactions.",backgroundImage:"https://images.unsplash.com/photo-1600585154526-990dced4db0d"}},{id:"kb-para",type:"paragraph",settings:{title:"Buyer Guides",content:"Understanding tax implications (GST, stamp duty, registration charges), home loan applications, and builder agreement schedules is key before committing capital. Read our resources to make informed choices."}}]),excerpt:"Buyer guides and transaction resources.",meta_title:"Knowledge Base & Buyer Guides — PropVault",meta_description:"Learn about property tax calculations, registration cess, home loans, and RERA tracking.",publish_status:"published",published_at:new Date().toISOString(),created_by:d.id},{title:"Downloads",slug:"downloads",template:"default",content:JSON.stringify([{id:"downloads-hero",type:"hero",settings:{title:"Downloads & Documents",subtitle:"Get RERA certificate PDFs, project brochures, and floor plans.",backgroundImage:"https://images.unsplash.com/photo-1600573472591-ee6b68d14c68"}},{id:"downloads-para",type:"paragraph",settings:{title:"Essential Documentations",content:"Access official booking forms, draft sale agreements, RERA checklist parameters, and developer corporate presentation decks here."}}]),excerpt:"Official brochures and project file downloads.",meta_title:"Resource Downloads & Floor Plans — PropVault",meta_description:"Download developer brochures, draft registration agreements, and RERA filing lists.",publish_status:"published",published_at:new Date().toISOString(),created_by:d.id},{title:"Media",slug:"media",template:"default",content:JSON.stringify([{id:"media-hero",type:"hero",settings:{title:"Press & Brand Media Gallery",subtitle:"Corporate announcements, construction milestones, and event highlights.",backgroundImage:"https://images.unsplash.com/photo-1545324418-cc1a3fa10c00"}},{id:"media-gallery",type:"gallery",settings:{title:"PropVault Events",images:["https://images.unsplash.com/photo-1600585154340-be6161a56a0c","https://images.unsplash.com/photo-1600607687939-ce8a6c25118c","https://images.unsplash.com/photo-1600573472591-ee6b68d14c68","https://images.unsplash.com/photo-1600585154526-990dced4db0d"]}}]),excerpt:"Press media gallery.",meta_title:"Press & Media Gallery — PropVault",meta_description:"Latest brand events, developer summit pictures, and corporate announcements.",publish_status:"published",published_at:new Date().toISOString(),created_by:d.id},{title:"Resources",slug:"resources",template:"default",content:JSON.stringify([{id:"resources-hero",type:"hero",settings:{title:"Client Resources Center",subtitle:"Important tools, tax calculators, and advisory links.",backgroundImage:"https://images.unsplash.com/photo-1600573472591-ee6b68d14c68"}},{id:"resources-features",type:"feature-box",settings:{title:"Advisory Tools",features:[{title:"Stamp Duty Estimator",desc:"Calculates local stamp duty and registration cess charges based on property agreement values."},{title:"Direct Escrow Verification",desc:"Cross-verifies developer escrow bank credentials against state RERA registry accounts."}]}}]),excerpt:"Calculators and buyer tools.",meta_title:"Client Resources & Tools — PropVault",meta_description:"Escrow account checking tools, stamp duty calculation utilities, and RERA search shortcuts.",publish_status:"published",published_at:new Date().toISOString(),created_by:d.id}]))await o.repositories.pages.create(a);b.seedDemoData&&(await o.repositories.blogs.create({title:"Real Estate Trends: Why BKC is Mumbai's Premium Hub",slug:"real-estate-trends-bkc-mumbai",subtitle:"Capital appreciation prospects in Bandra Kurla Complex.",content:"<p>Bandra Kurla Complex (BKC) has cemented its position as Mumbai's most attractive commercial and residential district. With upcoming metro corridors and superior corporate infrastructure, premium residential projects are witnessing a 12% YoY rental yield increase...</p>",excerpt:"A deep dive into BKC residential demand and capital appreciation trends.",cover_image:"https://images.unsplash.com/photo-1545324418-cc1a3fa10c00",category:"Market Reports",tags:"mumbai, bkc, investment",publish_status:"published",published_at:new Date().toISOString(),read_time_minutes:"5",view_count:"15",author_id:d.id}),await o.repositories.faqs.create({question:"What is RERA and how does PropVault verify it?",answer:"RERA stands for the Real Estate Regulation and Development Act. PropVault ensures that every project listed has a valid registration number and matches the state government database records before publication.",category:"General Query",sort_order:"1",is_active:"1"}),await o.repositories.testimonials.create({author_name:"Amit Sharma",author_designation:"CEO",author_company:"Apex Ventures",content:"PropVault made my luxury home search in BKC exceptionally transparent. The zero brokerage model and advisory reports saved us significant money.",rating:"5",city:"Mumbai",is_featured:"1",is_active:"1",publish_date:new Date().toISOString()}),await u("system.active_plugins",JSON.stringify(["telegram-webhook"]),"system","Active Plugins","json"));let{setBootstrapValue:w}=await a.A(514652),{encrypt:x}=await a.A(215607),z=b.licenseKey?b.licenseKey.trim():"";return w("installed","true"),z?(w("license","enterprise-activated"),w("license_key",z)):w("license","oss"),w("system_status","active"),w("maintenance_mode","false"),w("version",n.APP_VERSION),w("smtp_config",x(JSON.stringify(b.communication))),w("storage_config",x(JSON.stringify(b.storage))),w("analytics_config",x(JSON.stringify(b.seo))),w("theme_config",x(JSON.stringify(b.theme))),w("branding_config",x(JSON.stringify(b.branding))),await u("system.installed","true","system","Application Installed","boolean"),await o.repositories.auditLogs.log({userId:d?.id??null,userEmail:b.admin.email,action:"system.install",resourceType:"system",newValues:{installed:!0}}),(0,c.revalidatePath)("/","layout"),{success:!0}}catch(b){try{let{setBootstrapValue:b}=await a.A(514652);b("installed","false"),await u("system.installed","false","system","Application Installed","boolean")}catch{}return{success:!1,error:b.message||"Failed to complete setup."}}}async function A(b){try{let c=await v(b);if(!c.success)return{success:!1,error:c.error??"Failed to connect to database."};let{saveEncryptedDbConfig:d}=await a.A(514652),{reloadDbConnection:e}=await a.A(22514),{resetMigrationState:f,ensureMigrated:g}=await a.A(549724);return d(b),e(),f(),await g(!0),{success:!0}}catch(a){return console.error("[Setup] Failed to save database configuration:",a),{success:!1,error:a.message||"Failed to save database configuration."}}}async function B(){let b=process.version,c=parseInt(b.slice(1).split(".")[0],10),f=!1;try{let a=e.default.join(process.cwd(),"storage");d.default.existsSync(a)||d.default.mkdirSync(a,{recursive:!0});let b=e.default.join(a,"write-test.tmp");d.default.writeFileSync(b,"test"),d.default.unlinkSync(b),f=!0}catch{}let g=!1;try{let a=e.default.join(process.cwd(),"public","uploads");d.default.existsSync(a)||d.default.mkdirSync(a,{recursive:!0});let b=e.default.join(a,"write-test.tmp");d.default.writeFileSync(b,"test"),d.default.unlinkSync(b),g=!0}catch{}let h=!1;try{a.r(785148),h=!0}catch{}let i=!1;try{a.r(306971),i=!0}catch{}return{nodeVersion:b,nodeOk:c>=18,storageWritable:f,uploadsWritable:g,betterSqlite3Installed:h,sharpInstalled:i,version:n.APP_VERSION}}(0,r.ensureServerEntryExports)([v,w,x,y,z,A,B]),(0,b.registerServerReference)(v,"40a87a2fdb4a919fc6c3e2e8b18e5a9034af9455d1",null),(0,b.registerServerReference)(w,"4021468822b0863bde2ddca7e54c3f67d5e65bdd4f",null),(0,b.registerServerReference)(x,"4080d0a5e3f28b9d8d7a5b2aa82adc08446e124c4a",null),(0,b.registerServerReference)(y,"00df4e9ac6d352d0941435696d4425d4917a1b9ae9",null),(0,b.registerServerReference)(z,"40a427f7f2706d1dac0286b6bd33d5ede2b944472a",null),(0,b.registerServerReference)(A,"400d14a6101aad68a24ec6c7ada01200570e5a3938",null),(0,b.registerServerReference)(B,"002f31bd92d9e3eefa4e475ac61b67f9b66c93b330",null),a.s(["checkSystemReadiness",0,B,"completeSetup",0,z,"getSetupStatus",0,y,"saveDatabaseConfig",0,A,"testDatabaseConnection",0,v,"testSmtpConnection",0,w,"testStorageConnection",0,x],958382)}];
|
|
1
|
+
module.exports=[306971,(a,b,c)=>{b.exports=a.x("sharp-20c6a5da84e2135f",()=>require("sharp-20c6a5da84e2135f"))},958382,a=>{"use strict";var b=a.i(137936),c=a.i(118558),d=a.i(522734),e=a.i(814747),f=a.i(748531),g=a.i(109307);let h=[{key:"system.installed",value:"false",type:"boolean",group:"system",label:"Application Installed",description:"Controls setup gate.",isPublic:!1,sortOrder:1},{key:"site.name",value:"PropVault",type:"string",group:"general",label:"Site Name",description:"Public site name.",isPublic:!0,sortOrder:10},{key:"site.url",value:"http://localhost:3000",type:"url",group:"general",label:"Site URL",description:"Canonical application URL.",isPublic:!0,sortOrder:20},{key:"site.description",value:"India's Premier Luxury Real Estate Platform",type:"string",group:"general",label:"Description",description:"Short public description.",isPublic:!0,sortOrder:30},{key:"site.tagline",value:"Find Your Dream Property",type:"string",group:"general",label:"Tagline",description:"Primary homepage tagline.",isPublic:!0,sortOrder:40},{key:"organization.company_name",value:"PropVault",type:"string",group:"organization",label:"Company Name",description:"Registered company name.",isPublic:!0,sortOrder:50},{key:"organization.legal_name",value:"PropVault Real Estate Private Limited",type:"string",group:"organization",label:"Legal Name",description:"Legal entity name.",isPublic:!0,sortOrder:60},{key:"contact.email",value:"info@propvault.in",type:"string",group:"contact",label:"Contact Email",description:"Primary public contact email.",isPublic:!0,sortOrder:70},{key:"contact.phone",value:"+91 99999 99999",type:"string",group:"contact",label:"Contact Phone",description:"Primary public phone.",isPublic:!0,sortOrder:80},{key:"contact.whatsapp",value:"919999999999",type:"string",group:"contact",label:"WhatsApp Number",description:"WhatsApp E.164 number without plus sign.",isPublic:!0,sortOrder:90},{key:"contact.address",value:"PropVault Tower, 12th Floor, Bandra Kurla Complex, Mumbai - 400051",type:"string",group:"contact",label:"Address",description:"Public office address.",isPublic:!0,sortOrder:100},{key:"branding.logo",value:"/logo/logo.png",type:"image",group:"branding",label:"Logo",description:"Primary logo URL.",isPublic:!0,sortOrder:110},{key:"branding.favicon",value:"/favicon.ico",type:"image",group:"branding",label:"Favicon",description:"Browser favicon.",isPublic:!0,sortOrder:120},{key:"branding.apple_icon",value:"/icons/apple-touch-icon.png",type:"image",group:"branding",label:"Apple Icon",description:"Apple touch icon.",isPublic:!0,sortOrder:130},{key:"theme.primary_color",value:"#d88b16",type:"color",group:"appearance",label:"Primary Color",description:"Primary brand color.",isPublic:!0,sortOrder:140},{key:"theme.secondary_color",value:"#17171f",type:"color",group:"appearance",label:"Secondary Color",description:"Secondary theme color.",isPublic:!0,sortOrder:150},{key:"theme.accent_color",value:"#f4ca64",type:"color",group:"appearance",label:"Accent Color",description:"Accent color.",isPublic:!0,sortOrder:160},{key:"localization.timezone",value:"Asia/Kolkata",type:"string",group:"localization",label:"Timezone",description:"Default timezone.",isPublic:!0,sortOrder:170},{key:"localization.currency",value:"INR",type:"string",group:"localization",label:"Currency",description:"Default currency.",isPublic:!0,sortOrder:180},{key:"localization.locale",value:"en_IN",type:"string",group:"localization",label:"Locale",description:"Default locale.",isPublic:!0,sortOrder:190},{key:"seo.default_title",value:"PropVault - India's Premier Luxury Real Estate Platform",type:"string",group:"seo",label:"Default SEO Title",description:"Default meta title.",isPublic:!0,sortOrder:200},{key:"seo.default_description",value:"Find curated luxury apartments, villas, commercial spaces, and investment properties across India's top cities.",type:"string",group:"seo",label:"Default SEO Description",description:"Default meta description.",isPublic:!0,sortOrder:210},{key:"seo.keywords",value:JSON.stringify(["real estate","luxury properties","apartments","villas","commercial property"]),type:"json",group:"seo",label:"SEO Keywords",description:"Default keywords.",isPublic:!0,sortOrder:220},{key:"seo.og_image",value:"/og/propVault.png",type:"image",group:"seo",label:"OG Image",description:"Default social share image.",isPublic:!0,sortOrder:230},{key:"seo.robots",value:JSON.stringify({index:!0,follow:!0}),type:"json",group:"seo",label:"Robots",description:"Robots directives.",isPublic:!0,sortOrder:240},{key:"navigation.header",value:JSON.stringify([{label:"Projects",href:"/projects",icon:"Building2",children:[{label:"Luxury",href:"/projects/luxury",icon:"Crown"},{label:"Residential",href:"/projects/residential",icon:"Home"},{label:"Commercial",href:"/projects/commercial",icon:"Building2"},{label:"Rental",href:"/projects/rental",icon:"Key"},{label:"Completed",href:"/projects/completed",icon:"TrendingUp"},{label:"Upcoming",href:"/projects/upcoming",icon:"MapPin"}]},{label:"Builders",href:"/builders"},{label:"Blog",href:"/blog"},{label:"News",href:"/news"},{label:"About",href:"/about"},{label:"Contact",href:"/contact"}]),type:"json",group:"menus",label:"Header Menu",description:"Header navigation tree.",isPublic:!0,sortOrder:250},{key:"navigation.footer",value:JSON.stringify([{title:"Projects",links:[{label:"Luxury Properties",href:"/projects/luxury"},{label:"Residential",href:"/projects/residential"},{label:"Commercial",href:"/projects/commercial"},{label:"Rental",href:"/projects/rental"},{label:"Upcoming Projects",href:"/projects/upcoming"},{label:"Completed Projects",href:"/projects/completed"}]},{title:"Company",links:[{label:"About Us",href:"/about"},{label:"Our Team",href:"/about#team"},{label:"Careers",href:"/careers"},{label:"Blog",href:"/blog"},{label:"News",href:"/news"},{label:"Contact",href:"/contact"}]},{title:"Legal",links:[{label:"Privacy Policy",href:"/privacy"},{label:"Terms of Service",href:"/terms"},{label:"Refund Policy",href:"/refund"},{label:"Cookie Policy",href:"/cookies"},{label:"Disclaimer",href:"/disclaimer"},{label:"Sitemap",href:"/sitemap.xml"}]}]),type:"json",group:"menus",label:"Footer Menu",description:"Footer columns.",isPublic:!0,sortOrder:260},{key:"navigation.top_cities",value:JSON.stringify(["Mumbai","Pune","Bangalore","Hyderabad","Chennai","Delhi NCR","Noida","Gurgaon","Navi Mumbai","Thane"]),type:"json",group:"menus",label:"Top Cities",description:"Footer city links.",isPublic:!0,sortOrder:270},{key:"social.links",value:JSON.stringify([{label:"Instagram",href:"https://instagram.com/propvault",icon:"Instagram"},{label:"Twitter/X",href:"https://twitter.com/propvault",icon:"Twitter"},{label:"Facebook",href:"https://facebook.com/propvault",icon:"Facebook"},{label:"LinkedIn",href:"https://linkedin.com/company/propvault",icon:"Linkedin"},{label:"YouTube",href:"https://youtube.com/@propvault",icon:"Youtube"}]),type:"json",group:"social",label:"Social Links",description:"Public social profile links.",isPublic:!0,sortOrder:280},{key:"footer.certifications",value:"RERA Registered | ISO 9001:2015 Certified | Member of CREDAI",type:"string",group:"footer",label:"Certifications",description:"Footer trust line.",isPublic:!0,sortOrder:290},{key:"smtp.host",value:"",type:"string",group:"smtp",label:"SMTP Host",description:"SMTP host.",isPublic:!1,sortOrder:300},{key:"smtp.port",value:"587",type:"number",group:"smtp",label:"SMTP Port",description:"SMTP port.",isPublic:!1,sortOrder:310},{key:"smtp.from",value:"PropVault <noreply@propvault.in>",type:"string",group:"smtp",label:"Sender",description:"Default email sender.",isPublic:!1,sortOrder:320},{key:"storage.driver",value:"local",type:"string",group:"storage",label:"Storage Driver",description:"Current storage backend.",isPublic:!1,sortOrder:330},{key:"storage.image_formats",value:JSON.stringify(["webp","avif"]),type:"json",group:"storage",label:"Image Formats",description:"Enabled image output formats.",isPublic:!1,sortOrder:340},{key:"ai.enabled",value:"false",type:"boolean",group:"ai",label:"AI Enabled",description:"Reserved AI architecture flag.",isPublic:!1,sortOrder:350},{key:"ai.modules",value:JSON.stringify(["chat","lead_scoring","recommendations","seo","content","search","analytics"]),type:"json",group:"ai",label:"AI Modules",description:"AI-ready module registry.",isPublic:!1,sortOrder:360}],i=[{name:"Super Admin",slug:"super_admin",description:"Full platform access.",color:"red"},{name:"Organization Admin",slug:"organization_admin",description:"Organization-level administration.",color:"amber"},{name:"Sales",slug:"sales",description:"Lead and sales access.",color:"green"},{name:"Marketing",slug:"marketing",description:"Campaign and content access.",color:"purple"},{name:"Editor",slug:"editor",description:"Content editing access.",color:"blue"},{name:"SEO Manager",slug:"seo_manager",description:"SEO configuration access.",color:"cyan"},{name:"Support",slug:"support",description:"Customer support access.",color:"slate"},{name:"Customer",slug:"customer",description:"Customer portal access.",color:"gray"},{name:"Broker",slug:"broker",description:"Broker workspace access.",color:"orange"},{name:"Builder",slug:"builder",description:"Builder workspace access.",color:"lime"}],j=["view","create","edit","delete","publish","export"],k=["projects","leads","blogs","media","users","settings","analytics","menus","forms","emails","reports","backup","cache","health","search","audit"].flatMap(a=>j.map(b=>({name:`${a}.${b}`,slug:`${a}.${b}`,module:a,action:b})));var l=a.i(572883),m=a.i(31893),n=a.i(537364),o=a.i(257807),p=a.i(487042),q=a.i(402849),r=a.i(713095);let s=new Set(h.filter(a=>a.isPublic).map(a=>a.key));function t(a){return null==a?"":String(a)}async function u(a,b,c,d,e="string"){let f=await o.repositories.settings.findBy("key",a),g={key:a,value:b,group:c,label:d,type:e,description:f?.description??"",is_public:s.has(a)||"organization"===c||"branding"===c||"seo"===c,sort_order:f?.sort_order??999};f?await o.repositories.settings.update(f.id,g):await o.repositories.settings.create(g)}async function v(b){try{let c,d=Date.now();if("mongodb"===b.driver){let a=b.url||`mongodb://${b.host||"localhost"}:${b.port||"27017"}/${b.database||"propvault"}`,d=new p.MongoDriver("test_mongo",a);await d.connect(),c=await d.testConnection()}else if("multidb"===b.driver){let a=new p.MultiDatabase,d=b.url||`sqlite://${b.database||"./data/propvault.db"}`;if(a.registerDatabase("primary",d),b.replicas){let c=b.replicas.split(",");for(let b=0;b<c.length;b++)a.registerDatabase(`replica-${b}`,c[b].trim(),!0)}await a.connectAll();let e=a.databases.get("primary");c=e&&"function"==typeof e.testConnection?await e.testConnection():{success:!0,message:"MultiDatabase connected",info:{driver:"multidb",status:"CONNECTED"}}}else if("postgresql"===b.driver||"cockroachdb"===b.driver){let{PostgresDriver:d}=await a.A(991233),e=b.url||`postgresql://${encodeURIComponent(b.username||"")}:${encodeURIComponent(b.password||"")}@${b.host||"localhost"}:${b.port||"5432"}/${b.database||"propvault"}${b.ssl?"?ssl=true":""}`,f=new d("test_postgres",e);await f.connect(),c=await f.testConnection()}else if("mysql"===b.driver||"mariadb"===b.driver){let{MysqlDriver:d}=await a.A(991233),e=b.url||`mysql://${encodeURIComponent(b.username||"")}:${encodeURIComponent(b.password||"")}@${b.host||"localhost"}:${b.port||"3306"}/${b.database||"propvault"}${b.ssl?"?ssl=true":""}`,f=new d("test_mysql",e);await f.connect(),c=await f.testConnection()}else if("mssql"===b.driver||"sqlserver"===b.driver){let{MssqlDriver:d}=await a.A(991233),e=b.url||`mssql://${encodeURIComponent(b.username||"")}:${encodeURIComponent(b.password||"")}@${b.host||"localhost"}:${b.port||"1433"}/${b.database||"propvault"}${b.ssl?"?ssl=true":""}`,f=new d("test_mssql",e);await f.connect(),c=await f.testConnection()}else{let a=b.database||"./data/propvault.db",d=new q.PersistentSQLiteDriver("test_sqlite",a);await d.connect(),c=await d.testConnection()}let e=Date.now()-d;if(c&&c.success)return{success:!0,data:{driver:c.info?.driver||b.driver,status:c.info?.status||"CONNECTED",version:"mongodb"===b.driver?"v6.0+":"sqlite"===b.driver?"v3.x":"v8.x",latency:`${e}ms`,path:c.info?.path||c.info?.host||b.database||"./data/propvault.db"}};return{success:!1,error:c?.message||c?.info?.errorMessage||"Database handshake failed."}}catch(a){return{success:!1,error:a.message||"Failed to verify database connection."}}}async function w(a){try{if(!a.host||!a.port)return{success:!1,error:"SMTP Host and Port are required."};let b="465"===a.port||"SSL/TLS"===a.encryption,c=f.default.createTransport({host:a.host,port:Number(a.port),secure:b,auth:a.username?{user:a.username,pass:a.password||""}:void 0,timeout:5e3});return await c.verify(),{success:!0}}catch(a){return{success:!1,error:a.message||"SMTP verification failed."}}}async function x(a){try{if("local"===a.provider||!a.provider){let a=e.default.join(process.cwd(),"public","uploads");d.default.existsSync(a)||d.default.mkdirSync(a,{recursive:!0});let b=e.default.join(a,"connection-test.tmp");return d.default.writeFileSync(b,"PropVault Connection Test"),d.default.unlinkSync(b),{success:!0}}if(a.s3Bucket&&a.s3AccessKey)return{success:!0};return{success:!1,error:"Missing S3 storage bucket or credentials."}}catch(a){return{success:!1,error:a.message||"Storage directory not writable."}}}async function y(){await (0,l.ensureMigrated)();let{isSystemInstalled:b}=await a.A(514652);if(b())return{installed:!0};for(let a of h)await o.repositories.settings.findBy("key",a.key)||await o.repositories.settings.create({key:a.key,value:a.value,type:a.type,group:a.group,label:a.label,description:a.description,is_public:a.isPublic,sort_order:a.sortOrder});return{installed:!1}}async function z(b){if(await (0,l.ensureMigrated)(),await (0,m.isApplicationInstalled)())return{success:!1,error:"Application is already installed."};if(!b.admin.email||!b.admin.password||b.admin.password.length<8)return{success:!1,error:"Admin email and an 8 character password are required."};let d=null;try{for(let a of(await y(),k))await o.repositories.permissions.findBySlug(a.slug)||await o.repositories.permissions.create({name:a.name,slug:a.slug,description:`${a.action} permission for ${a.module}.`,module:a.module,action:a.action});for(let a of i){let b=await o.repositories.roles.upsert("slug",a.slug,{name:a.name,description:a.description,is_system:!0,color:a.color});if("super_admin"===a.slug)for(let a of(await o.repositories.permissions.findAll()))await o.repositories.roles.assignPermission(b.id,a.id)}let e=await o.repositories.roles.findBySlug(b.admin.role||"super_admin"),f=await (0,g.hashPassword)(b.admin.password),h=await o.repositories.users.findByEmail(b.admin.email);if(!(d=h?await o.repositories.users.update(h.id,{name:b.admin.fullName,image:b.admin.profileImage||null,phone:b.admin.phone||null,password_hash:f,is_active:!0,is_verified:!0,two_factor_enabled:b.admin.twoFactorReady}):await o.repositories.users.create({name:b.admin.fullName,email:b.admin.email,image:b.admin.profileImage||null,phone:b.admin.phone||null,password_hash:f,is_active:!0,is_verified:!0,email_verified:new Date().toISOString(),login_count:0,two_factor_enabled:b.admin.twoFactorReady})))return{success:!1,error:"Failed to create administrator account."};for(let[a,c]of(e&&await o.repositories.userRoles.assignRole(d.id,e.id),Object.entries(b.organization)))await u(`organization.${a}`,t(c),"organization",a);for(let[a,c]of Object.entries(b.branding))await u(`branding.${a}`,t(c),"branding",a,a.includes("color")?"color":"string");for(let[a,c]of Object.entries(b.theme))await u(`theme.${a}`,t(c),"theme",a,a.toLowerCase().includes("color")||"accent"===a||"success"===a||"danger"===a||"warning"===a?"color":"string");for(let[a,c]of Object.entries(b.communication))await u(`communication.${a}`,t(c),"communication",a);for(let[a,c]of Object.entries(b.seo))await u(`seo.${a}`,t(c),"seo",a);for(let[a,c]of Object.entries(b.storage))await u(`storage.${a}`,t(c),"storage",a);for(let a of(await u("theme.primary_color",t(b.theme.primaryColor??"#d88b16"),"theme","Primary Color","color"),await u("theme.secondary_color",t(b.theme.secondaryColor??"#17171f"),"theme","Secondary Color","color"),await u("theme.accent_color",t(b.theme.accent??"#f4ca64"),"theme","Accent Color","color"),await u("theme.border_radius",t(b.theme.borderRadius??"12"),"theme","Border Radius"),await u("site.name",t((b.organization.brandName||b.organization.companyName)??null),"general","Site Name"),await u("site.url",t((b.organization.website||"http://localhost:3000")??null),"general","Site URL","url"),await u("site.description",t(b.organization.description??null),"general","Description"),await u("contact.email",t((b.communication.supportEmail||b.communication.emailSender)??null),"contact","Support Email"),await u("contact.phone",t(b.communication.businessPhone??null),"contact","Business Phone"),await u("contact.whatsapp",t(b.communication.whatsAppNumber??null),"contact","WhatsApp"),await u("system.demo_seeded",String(b.seedDemoData),"system","Demo Data Seeded","boolean"),await u("system.installed_at",new Date().toISOString(),"system","Installed At"),[{name:"Luxury Gold",slug:"luxury-dark-gold",description:"Default PropVault brand theme. Rich gold accents.",is_active:b.theme.darkMode?"1":"0",is_system:"1",author:"PropVault",version:"1.0",tokens:JSON.stringify({colors:{background:"240 20% 7%",foreground:"240 5% 96%",primary:"36 82% 47%",primaryForeground:"240 20% 7%",secondary:"240 12% 18%",secondaryForeground:"240 5% 96%",accent:"36 82% 47%",accentForeground:"240 20% 7%",muted:"240 10% 15%",mutedForeground:"240 5% 55%",card:"240 15% 11%",cardForeground:"240 5% 96%",border:"240 10% 18%",input:"240 10% 14%",ring:"36 82% 47%",destructive:"0 72% 51%",destructiveForeground:"0 0% 98%"},lightColors:{background:"0 0% 100%",foreground:"240 10% 8%",primary:"36 82% 47%",primaryForeground:"0 0% 100%",secondary:"240 4.8% 95.9%",secondaryForeground:"240 5.9% 10%",accent:"36 82% 47%",accentForeground:"0 0% 100%",muted:"240 4.8% 95.9%",mutedForeground:"240 3.8% 46.1%",card:"0 0% 100%",cardForeground:"240 10% 8%",border:"240 5.9% 90%",input:"240 5.9% 90%",ring:"36 82% 47%",destructive:"0 84.2% 60.2%",destructiveForeground:"0 0% 98%"},darkColors:{background:"240 20% 7%",foreground:"240 5% 96%",primary:"36 82% 47%",primaryForeground:"240 20% 7%",secondary:"240 12% 18%",secondaryForeground:"240 5% 96%",accent:"36 82% 47%",accentForeground:"240 20% 7%",muted:"240 10% 15%",mutedForeground:"240 5% 55%",card:"240 15% 11%",cardForeground:"240 5% 96%",border:"240 10% 18%",input:"240 10% 14%",ring:"36 82% 47%",destructive:"0 72% 51%",destructiveForeground:"0 0% 98%"},typography:{fontSans:"Inter, sans-serif",fontSerif:"Playfair Display, serif",fontMono:"JetBrains Mono, monospace",baseFontSize:"16px",lineHeight:"1.6"},spacing:{radius:"0.75rem",containerMaxWidth:"80rem"}})},{name:"Midnight Blue",slug:"midnight-blue",description:"Deep starlight blue dark mode.",is_active:"0",is_system:"1",author:"PropVault",version:"1.0",tokens:JSON.stringify({colors:{background:"222 47% 11%",foreground:"210 40% 98%",primary:"217 91% 60%",primaryForeground:"222 47% 11%",secondary:"217 32% 17%",secondaryForeground:"210 40% 98%",accent:"189 94% 43%",accentForeground:"222 47% 11%",muted:"217 32% 17%",mutedForeground:"215 20% 65%",card:"222 47% 13%",cardForeground:"210 40% 98%",border:"217 32% 17%",input:"217 32% 15%",ring:"217 91% 60%",destructive:"0 62% 30%",destructiveForeground:"210 40% 98%"},lightColors:{background:"210 40% 98%",foreground:"222 47% 11%",primary:"221 83% 53%",primaryForeground:"210 40% 98%",secondary:"210 30% 94%",secondaryForeground:"222 47% 11%",accent:"221 83% 53%",accentForeground:"210 40% 98%",muted:"210 30% 94%",mutedForeground:"215 16% 47%",card:"0 0% 100%",cardForeground:"222 47% 11%",border:"214 32% 91%",input:"214 32% 91%",ring:"221 83% 53%",destructive:"0 72% 51%",destructiveForeground:"0 0% 98%"},darkColors:{background:"222 47% 11%",foreground:"210 40% 98%",primary:"217 91% 60%",primaryForeground:"222 47% 11%",secondary:"217 32% 17%",secondaryForeground:"210 40% 98%",accent:"217 91% 60%",accentForeground:"222 47% 11%",muted:"217 32% 17%",mutedForeground:"215 20% 65%",card:"222 47% 13%",cardForeground:"210 40% 98%",border:"217 32% 17%",input:"217 32% 15%",ring:"217 91% 60%",destructive:"0 62% 30%",destructiveForeground:"210 40% 98%"},typography:{fontSans:"Inter, sans-serif",fontSerif:"Playfair Display, serif",fontMono:"JetBrains Mono, monospace",baseFontSize:"16px",lineHeight:"1.6"},spacing:{radius:"0.75rem",containerMaxWidth:"80rem"}})},{name:"Forest Emerald",slug:"forest-emerald",description:"Deep luxury green with gold text.",is_active:"0",is_system:"1",author:"PropVault",version:"1.0",tokens:JSON.stringify({colors:{background:"150 40% 6%",foreground:"150 10% 96%",primary:"142 70% 45%",primaryForeground:"150 40% 6%",secondary:"150 20% 12%",secondaryForeground:"150 10% 96%",accent:"45 93% 47%",accentForeground:"150 40% 6%",muted:"150 15% 10%",mutedForeground:"150 10% 55%",card:"150 20% 9%",cardForeground:"150 10% 96%",border:"150 15% 12%",input:"150 15% 10%",ring:"142 70% 45%",destructive:"0 72% 51%",destructiveForeground:"0 0% 98%"},lightColors:{background:"120 20% 98%",foreground:"120 40% 10%",primary:"142 76% 36%",primaryForeground:"120 20% 98%",secondary:"120 15% 93%",secondaryForeground:"120 40% 10%",accent:"142 76% 36%",accentForeground:"120 20% 98%",muted:"120 15% 93%",mutedForeground:"120 10% 45%",card:"0 0% 100%",cardForeground:"120 40% 10%",border:"120 10% 89%",input:"120 10% 89%",ring:"142 76% 36%",destructive:"0 72% 51%",destructiveForeground:"0 0% 98%"},darkColors:{background:"150 40% 6%",foreground:"150 10% 96%",primary:"142 70% 45%",primaryForeground:"150 40% 6%",secondary:"150 20% 12%",secondaryForeground:"150 10% 96%",accent:"45 93% 47%",accentForeground:"150 40% 6%",muted:"150 15% 10%",mutedForeground:"150 10% 55%",card:"150 20% 9%",cardForeground:"150 10% 96%",border:"150 15% 12%",input:"150 15% 10%",ring:"142 70% 45%",destructive:"0 72% 51%",destructiveForeground:"0 0% 98%"},typography:{fontSans:"Inter, sans-serif",fontSerif:"Playfair Display, serif",fontMono:"JetBrains Mono, monospace",baseFontSize:"16px",lineHeight:"1.6"},spacing:{radius:"0.75rem",containerMaxWidth:"80rem"}})},{name:"Ocean Teal",slug:"ocean-teal-light",description:"Breezy oceanic teal theme.",is_active:"0",is_system:"1",author:"PropVault",version:"1.0",tokens:JSON.stringify({colors:{background:"190 35% 98%",foreground:"190 40% 10%",primary:"185 85% 36%",primaryForeground:"190 35% 98%",secondary:"185 20% 92%",secondaryForeground:"190 40% 10%",accent:"185 85% 36%",accentForeground:"190 35% 98%",muted:"185 20% 92%",mutedForeground:"185 15% 45%",card:"190 35% 100%",cardForeground:"190 40% 10%",border:"185 15% 89%",input:"185 15% 89%",ring:"185 85% 36%",destructive:"0 72% 51%",destructiveForeground:"0 0% 98%"},lightColors:{background:"190 35% 98%",foreground:"190 40% 10%",primary:"185 85% 36%",primaryForeground:"190 35% 98%",secondary:"185 20% 92%",secondaryForeground:"190 40% 10%",accent:"185 85% 36%",accentForeground:"190 35% 98%",muted:"185 20% 92%",mutedForeground:"185 15% 45%",card:"190 35% 100%",cardForeground:"190 40% 10%",border:"185 15% 89%",input:"185 15% 89%",ring:"185 85% 36%",destructive:"0 72% 51%",destructiveForeground:"0 0% 98%"},darkColors:{background:"190 40% 6%",foreground:"190 10% 96%",primary:"185 80% 45%",primaryForeground:"190 40% 6%",secondary:"190 20% 12%",secondaryForeground:"190 10% 96%",accent:"185 80% 45%",accentForeground:"190 40% 6%",muted:"190 15% 10%",mutedForeground:"190 10% 55%",card:"190 20% 9%",cardForeground:"190 10% 96%",border:"190 15% 12%",input:"190 15% 10%",ring:"185 80% 45%",destructive:"0 72% 51%",destructiveForeground:"0 0% 98%"},typography:{fontSans:"Inter, sans-serif",fontSerif:"Playfair Display, serif",fontMono:"JetBrains Mono, monospace",baseFontSize:"16px",lineHeight:"1.6"},spacing:{radius:"0.75rem",containerMaxWidth:"80rem"}})},{name:"Crimson Velvet",slug:"crimson-rose-light",description:"Sophisticated deep red and rose theme.",is_active:"0",is_system:"1",author:"PropVault",version:"1.0",tokens:JSON.stringify({colors:{background:"350 20% 98%",foreground:"350 40% 10%",primary:"346 87% 43%",primaryForeground:"350 20% 98%",secondary:"346 20% 92%",secondaryForeground:"350 40% 10%",accent:"36 82% 47%",accentForeground:"350 20% 98%",muted:"346 20% 92%",mutedForeground:"346 15% 45%",card:"350 20% 100%",cardForeground:"350 40% 10%",border:"346 15% 89%",input:"346 15% 89%",ring:"346 87% 43%",destructive:"0 72% 51%",destructiveForeground:"0 0% 98%"},lightColors:{background:"350 20% 98%",foreground:"350 40% 10%",primary:"346 87% 43%",primaryForeground:"350 20% 98%",secondary:"346 20% 92%",secondaryForeground:"350 40% 10%",accent:"36 82% 47%",accentForeground:"350 20% 98%",muted:"346 20% 92%",mutedForeground:"346 15% 45%",card:"350 20% 100%",cardForeground:"350 40% 10%",border:"346 15% 89%",input:"346 15% 89%",ring:"346 87% 43%",destructive:"0 72% 51%",destructiveForeground:"0 0% 98%"},darkColors:{background:"350 40% 6%",foreground:"350 10% 96%",primary:"346 80% 50%",primaryForeground:"350 40% 6%",secondary:"350 20% 12%",secondaryForeground:"350 10% 96%",accent:"36 82% 47%",accentForeground:"350 40% 6%",muted:"350 15% 10%",mutedForeground:"350 10% 55%",card:"350 20% 9%",cardForeground:"350 10% 96%",border:"350 15% 12%",input:"350 15% 10%",ring:"346 80% 50%",destructive:"0 72% 51%",destructiveForeground:"0 0% 98%"},typography:{fontSans:"Inter, sans-serif",fontSerif:"Playfair Display, serif",fontMono:"JetBrains Mono, monospace",baseFontSize:"16px",lineHeight:"1.6"},spacing:{radius:"0.75rem",containerMaxWidth:"80rem"}})}]))await o.repositories.themes.findBySlug(a.slug)||await o.repositories.themes.create(a);let j=await o.repositories.navigationMenus.create({name:"Header Menu",slug:"header-menu",location:"header",is_active:!0}),l=await o.repositories.navigationMenus.create({name:"Footer Menu",slug:"footer-menu",location:"footer",is_active:!0});await o.repositories.menuItems.create({menu_id:j.id,parent_id:"",label:"Home",url:"/",sort_order:1,is_active:!0,icon:"Home"});let m=await o.repositories.menuItems.create({menu_id:j.id,parent_id:"",label:"Projects",url:"/projects",sort_order:2,is_active:!0,icon:"Building2"}),p=await o.repositories.menuItems.create({menu_id:j.id,parent_id:m.id,label:"Residential",url:"/projects?category=residential",sort_order:1,is_active:!0,icon:"Home"});await o.repositories.menuItems.create({menu_id:j.id,parent_id:p.id,label:"Luxury Apartments",url:"/projects?category=apartment",sort_order:1,is_active:!0,icon:"Building"}),await o.repositories.menuItems.create({menu_id:j.id,parent_id:p.id,label:"Premium Villas",url:"/projects?category=villa",sort_order:2,is_active:!0,icon:"TreePine"});let q=await o.repositories.menuItems.create({menu_id:j.id,parent_id:m.id,label:"Commercial",url:"/projects?category=commercial",sort_order:2,is_active:!0,icon:"Building2"});await o.repositories.menuItems.create({menu_id:j.id,parent_id:q.id,label:"Executive Offices",url:"/projects?category=office",sort_order:1,is_active:!0,icon:"Briefcase"}),await o.repositories.menuItems.create({menu_id:j.id,parent_id:q.id,label:"Retail Outlets",url:"/projects?category=retail",sort_order:2,is_active:!0,icon:"Store"}),await o.repositories.menuItems.create({menu_id:j.id,parent_id:"",label:"Builders",url:"/builders",sort_order:3,is_active:!0,icon:"Shield"}),await o.repositories.menuItems.create({menu_id:j.id,parent_id:"",label:"Blog",url:"/blog",sort_order:4,is_active:!0,icon:"BookOpen"}),await o.repositories.menuItems.create({menu_id:j.id,parent_id:"",label:"About",url:"/about",sort_order:5,is_active:!0,icon:"Info"}),await o.repositories.menuItems.create({menu_id:j.id,parent_id:"",label:"Contact",url:"/contact",sort_order:6,is_active:!0,icon:"Phone"});let r=await o.repositories.menuItems.create({menu_id:l.id,parent_id:"",label:"Company",url:"",sort_order:1,is_active:!0});await o.repositories.menuItems.create({menu_id:l.id,parent_id:r.id,label:"About Us",url:"/about",sort_order:1,is_active:!0}),await o.repositories.menuItems.create({menu_id:l.id,parent_id:r.id,label:"Contact Us",url:"/contact",sort_order:2,is_active:!0}),await o.repositories.menuItems.create({menu_id:l.id,parent_id:r.id,label:"Career Openings",url:"/careers",sort_order:3,is_active:!0});let s=await o.repositories.menuItems.create({menu_id:l.id,parent_id:"",label:"Explore",url:"",sort_order:2,is_active:!0});await o.repositories.menuItems.create({menu_id:l.id,parent_id:s.id,label:"Top Builders",url:"/builders",sort_order:1,is_active:!0}),await o.repositories.menuItems.create({menu_id:l.id,parent_id:s.id,label:"Residential Projects",url:"/projects?category=residential",sort_order:2,is_active:!0}),await o.repositories.menuItems.create({menu_id:l.id,parent_id:s.id,label:"Commercial Spaces",url:"/projects?category=commercial",sort_order:3,is_active:!0});let v=await o.repositories.menuItems.create({menu_id:l.id,parent_id:"",label:"Legal",url:"",sort_order:3,is_active:!0});for(let a of(await o.repositories.menuItems.create({menu_id:l.id,parent_id:v.id,label:"Privacy Policy",url:"/privacy",sort_order:1,is_active:!0}),await o.repositories.menuItems.create({menu_id:l.id,parent_id:v.id,label:"Terms of Service",url:"/terms",sort_order:2,is_active:!0}),await o.repositories.menuItems.create({menu_id:l.id,parent_id:v.id,label:"Refund Policy",url:"/refund",sort_order:3,is_active:!0}),[{title:"Home",slug:"home",template:"default",content:JSON.stringify([{id:"hero-section",type:"hero",settings:{title:"Signature Real Estate Collection",subtitle:"Discover curated premium luxury apartments, villas, and commercial spaces across India's top cities.",backgroundImage:"https://images.unsplash.com/photo-1600585154340-be6161a56a0c",primaryBtnText:"Explore Properties",primaryBtnLink:"/projects",secondaryBtnText:"Contact Advisory",secondaryBtnLink:"/contact",overlayOpacity:.65}},{id:"stats-box",type:"counter",settings:{title:"Our Presence",subtitle:"Unmatched scale, verified trust.",counters:[{value:"2500+",label:"Verified Projects"},{value:"450+",label:"Super Admins & Agents"},{value:"10k+",label:"Happy Homeowners"},{value:"0%",label:"Brokerage Fee"}]}},{id:"feature-grid",type:"feature-box",settings:{title:"The PropVault Guarantee",subtitle:"A frictionless home buying experience.",features:[{title:"RERA-Certified Only",desc:"We track and monitor construction updates, RERA certificate limits, and legal verifications."},{title:"Direct Builder Pricing",desc:"No markups, no hidden agency brokerage, direct invoicing."},{title:"End-to-End Handholding",desc:"From scheduling site visits to final registration assistance, our advisors handle everything."}]}},{id:"property-grid-block",type:"property_grid",settings:{title:"Featured Properties",subtitle:"Curated premium residential projects.",limit:6}},{id:"builders-grid-block",type:"builders_grid",settings:{title:"Verified Developers",subtitle:"India's top real estate creators.",limit:5}},{id:"construction-timeline",type:"timeline",settings:{title:"Project Milestones",subtitle:"Verified construction progress updates.",items:[{date:"Q1 2026",title:"Excavation and Piling",desc:"Foundations completed for Towers A & B."},{date:"Q3 2026",title:"Structure Slab Cast",desc:"RCC framework up to the 14th floor."},{date:"Q1 2027",title:"Finishing & Handover",desc:"Internal plastering and luxury fits completion."}]}},{id:"testimonials-block",type:"testimonials",settings:{title:"Client Testimonials",subtitle:"Words from our premium homeowners.",limit:3}},{id:"map-section",type:"map",settings:{title:"Experience Center Location",subtitle:"Visit our relationship lounge at BKC.",address:"Bandra Kurla Complex, Mumbai, India",latitude:"19.0596",longitude:"72.8696"}},{id:"emi-form-block",type:"contact-form",settings:{title:"Request Callback",subtitle:"Enter details for a complimentary wealth manager advisory.",buttonText:"Schedule Call Back"}}]),excerpt:"Luxury Real Estate Homepage",meta_title:"PropVault — India's Premier Real Estate CMS",meta_description:"Find premium residential and commercial spaces across top Indian cities. Direct builder pricing and RERA verified only.",publish_status:"published",published_at:new Date().toISOString(),created_by:d.id},{title:"About Us",slug:"about",template:"default",content:JSON.stringify([{id:"about-hero",type:"hero",settings:{title:"Redefining Luxury Living",subtitle:"Established in 2021, PropVault is India's most trusted luxury real estate platform.",backgroundImage:"https://images.unsplash.com/photo-1600607687939-ce8a6c25118c"}},{id:"about-para",type:"paragraph",settings:{title:"Our Mission",content:"PropVault is built to eliminate opacity and fragmentation in the premium real estate market. We vet and present only RERA-registered developments, connecting corporate developers with discerning homebuyers. Our team of certified real estate advisors provides independent financial and demographic analysis to help you secure the ideal home."}}]),excerpt:"Learn more about our team, history, and values.",meta_title:"About PropVault — Our History & Vision",meta_description:"Understand our values, certified property wealth advisors, and RERA tracking capabilities.",publish_status:"published",published_at:new Date().toISOString(),created_by:d.id},{title:"Services",slug:"services",template:"default",content:JSON.stringify([{id:"services-hero",type:"hero",settings:{title:"Enterprise Real Estate Solutions",subtitle:"From private property acquisition to corporate relocation.",backgroundImage:"https://images.unsplash.com/photo-1600573472591-ee6b68d14c68"}}]),excerpt:"Premium real estate acquisition, leasing, and advisory services.",meta_title:"Services — Real Estate Advisory",meta_description:"Learn about residential sales, NRI investment plans, commercial leasing, and legal due diligence services.",publish_status:"published",published_at:new Date().toISOString(),created_by:d.id},{title:"Privacy Policy",slug:"privacy",template:"default",content:"<h1>Privacy Policy</h1><p>Your privacy is important to us. PropVault collects, stores, and protects customer details in compliance with legal frameworks. We do not sell or trade private lead data.</p>",excerpt:"Privacy policy guidelines.",meta_title:"Privacy Policy — PropVault",meta_description:"Understand how your lead submissions and account information are encrypted and managed.",publish_status:"published",published_at:new Date().toISOString(),created_by:d.id},{title:"Terms of Service",slug:"terms",template:"default",content:"<h1>Terms of Service</h1><p>By using PropVault, you agree to comply with our terms. We act as a listing and advisory service. Property specifications, pricing, and availability are subject to builder updates.</p>",excerpt:"Terms of service guidelines.",meta_title:"Terms of Service — PropVault",meta_description:"Rules and terms governing the use of PropVault listings, pricing estimates, and wealth advisory services.",publish_status:"published",published_at:new Date().toISOString(),created_by:d.id},{title:"Careers",slug:"careers",template:"default",content:JSON.stringify([{id:"careers-hero",type:"hero",settings:{title:"Join Our Team",subtitle:"Build the future of luxury real estate technology and advisory.",backgroundImage:"https://images.unsplash.com/photo-1600585154526-990dced4db0d"}},{id:"careers-info",type:"paragraph",settings:{title:"Why PropVault?",content:"We are always looking for passionate software developers, wealth managers, and marketing specialists. At PropVault, you'll work with high-profile builders and HNI clients in a high-growth environment."}}]),excerpt:"Career opportunities at PropVault.",meta_title:"Careers — PropVault Jobs",meta_description:"Explore open job listings for real estate advisors, analysts, and developers in Mumbai and Pune.",publish_status:"published",published_at:new Date().toISOString(),created_by:d.id},{title:"Support Center",slug:"support",template:"default",content:JSON.stringify([{id:"support-hero",type:"hero",settings:{title:"We're Here to Help",subtitle:"Contact our customer support desk or read our guides.",backgroundImage:"https://images.unsplash.com/photo-1600607687939-ce8a6c25118c"}},{id:"support-faq",type:"accordion",settings:{title:"Frequently Asked Questions",items:[{question:"How does direct builder invoicing work?",answer:"All purchase payments are made directly to the developer's RERA escrow account. PropVault does not charge or handle buyer payouts."},{question:"Can I schedule home tours online?",answer:"Yes. Simply submit a callback request on any project page, and a certified wealth advisor will handle scheduling and transfers."}]}}]),excerpt:"Help and support guides.",meta_title:"Support Center — PropVault",meta_description:"Get answers to your real estate transaction queries and schedule site tours.",publish_status:"published",published_at:new Date().toISOString(),created_by:d.id},{title:"Refund Policy",slug:"refund",template:"default",content:"<h1>Refund Policy</h1><p>Consultation fees and booking token advances are subject to terms signed with the respective builders. PropVault does not collect booking tokens or service charges directly from retail buyers.</p>",excerpt:"Refund policy guidelines.",meta_title:"Refund Policy — PropVault",meta_description:"Learn about refund terms for property booking advances and consulting services.",publish_status:"published",published_at:new Date().toISOString(),created_by:d.id},{title:"Cookie Policy",slug:"cookies",template:"default",content:"<h1>Cookie Policy</h1><p>We use cookies to analyze user behavior, personalize layout preferences, and remember your session login state. You can control cookie preferences in your web browser settings.</p>",excerpt:"Cookie usage policies.",meta_title:"Cookie Policy — PropVault",meta_description:"How PropVault uses cookies and session storage to optimize search capabilities.",publish_status:"published",published_at:new Date().toISOString(),created_by:d.id},{title:"Disclaimer",slug:"disclaimer",template:"default",content:"<h1>Disclaimer</h1><p>Property pricing, layouts, amenity items, and RERA dates are provided by developers. While PropVault verifies government registrations, buyers are advised to perform final due diligence before registering agreements.</p>",excerpt:"Legal disclaimers for listing items.",meta_title:"Disclaimer — PropVault",meta_description:"Read the terms governing real estate listings data validity and third-party projections.",publish_status:"published",published_at:new Date().toISOString(),created_by:d.id},{title:"Builders",slug:"builders",template:"default",content:JSON.stringify([{id:"builders-hero",type:"hero",settings:{title:"Elite Real Estate Developers",subtitle:"Discover properties by India's most renowned, certified, and RERA-compliant builders.",backgroundImage:"https://images.unsplash.com/photo-1545324418-cc1a3fa10c00",primaryBtnText:"Contact Advisory",primaryBtnLink:"/contact"}},{id:"builders-grid-block",type:"builders_grid",settings:{title:"Verified Builders",subtitle:"Partnering with top-tier developers to bring you direct pricing.",limit:12}}]),excerpt:"Elite property builders listing.",meta_title:"Elite Property Developers & Builders — PropVault",meta_description:"Vetted corporate builders list and project completion stats.",publish_status:"published",published_at:new Date().toISOString(),created_by:d.id},{title:"Property Advisors",slug:"agents",template:"default",content:JSON.stringify([{id:"agents-hero",type:"hero",settings:{title:"Meet Our Relationship Advisors",subtitle:"Direct assistance from certified real estate wealth managers.",backgroundImage:"https://images.unsplash.com/photo-1573496359142-b8d87734a5a2",primaryBtnText:"Schedule Site Visit",primaryBtnLink:"/contact"}},{id:"agents-grid-block",type:"agents_grid",settings:{title:"Certified Advisors",subtitle:"Always available for guided tours and financial consultations.",limit:12}}]),excerpt:"Meet our certified property wealth advisors.",meta_title:"Property Advisors & Relationship Managers — PropVault",meta_description:"Guided site visits, NRI transaction help, and tax advisory services from our team.",publish_status:"published",published_at:new Date().toISOString(),created_by:d.id},{title:"FAQ",slug:"faq",template:"default",content:JSON.stringify([{id:"faq-hero",type:"hero",settings:{title:"FAQ Center",subtitle:"Answers to frequently asked questions about real estate purchasing and RERA certification.",backgroundImage:"https://images.unsplash.com/photo-1600607687939-ce8a6c25118c"}},{id:"faq-accordion",type:"accordion",settings:{title:"Buying & Booking Queries",items:[{question:"Are there any hidden agency brokerage fees?",answer:"No. PropVault charges 0% brokerage on direct builder bookings. All invoices are generated directly by the builders."},{question:"How do you verify property legal standings?",answer:"We fetch active registration data directly from state RERA web portals, cross-referencing completion dates and developer encumbrance certificates."}]}}]),excerpt:"Frequently Asked Questions.",meta_title:"FAQ Center — PropVault",meta_description:"Direct builder bookings, RERA checks, escrow accounts, and property registration FAQs.",publish_status:"published",published_at:new Date().toISOString(),created_by:d.id},{title:"Knowledge Base",slug:"knowledge-base",template:"default",content:JSON.stringify([{id:"kb-hero",type:"hero",settings:{title:"Knowledge Base & Guides",subtitle:"Articles and guidelines to help you navigate property transactions.",backgroundImage:"https://images.unsplash.com/photo-1600585154526-990dced4db0d"}},{id:"kb-para",type:"paragraph",settings:{title:"Buyer Guides",content:"Understanding tax implications (GST, stamp duty, registration charges), home loan applications, and builder agreement schedules is key before committing capital. Read our resources to make informed choices."}}]),excerpt:"Buyer guides and transaction resources.",meta_title:"Knowledge Base & Buyer Guides — PropVault",meta_description:"Learn about property tax calculations, registration cess, home loans, and RERA tracking.",publish_status:"published",published_at:new Date().toISOString(),created_by:d.id},{title:"Downloads",slug:"downloads",template:"default",content:JSON.stringify([{id:"downloads-hero",type:"hero",settings:{title:"Downloads & Documents",subtitle:"Get RERA certificate PDFs, project brochures, and floor plans.",backgroundImage:"https://images.unsplash.com/photo-1600573472591-ee6b68d14c68"}},{id:"downloads-para",type:"paragraph",settings:{title:"Essential Documentations",content:"Access official booking forms, draft sale agreements, RERA checklist parameters, and developer corporate presentation decks here."}}]),excerpt:"Official brochures and project file downloads.",meta_title:"Resource Downloads & Floor Plans — PropVault",meta_description:"Download developer brochures, draft registration agreements, and RERA filing lists.",publish_status:"published",published_at:new Date().toISOString(),created_by:d.id},{title:"Media",slug:"media",template:"default",content:JSON.stringify([{id:"media-hero",type:"hero",settings:{title:"Press & Brand Media Gallery",subtitle:"Corporate announcements, construction milestones, and event highlights.",backgroundImage:"https://images.unsplash.com/photo-1545324418-cc1a3fa10c00"}},{id:"media-gallery",type:"gallery",settings:{title:"PropVault Events",images:["https://images.unsplash.com/photo-1600585154340-be6161a56a0c","https://images.unsplash.com/photo-1600607687939-ce8a6c25118c","https://images.unsplash.com/photo-1600573472591-ee6b68d14c68","https://images.unsplash.com/photo-1600585154526-990dced4db0d"]}}]),excerpt:"Press media gallery.",meta_title:"Press & Media Gallery — PropVault",meta_description:"Latest brand events, developer summit pictures, and corporate announcements.",publish_status:"published",published_at:new Date().toISOString(),created_by:d.id},{title:"Resources",slug:"resources",template:"default",content:JSON.stringify([{id:"resources-hero",type:"hero",settings:{title:"Client Resources Center",subtitle:"Important tools, tax calculators, and advisory links.",backgroundImage:"https://images.unsplash.com/photo-1600573472591-ee6b68d14c68"}},{id:"resources-features",type:"feature-box",settings:{title:"Advisory Tools",features:[{title:"Stamp Duty Estimator",desc:"Calculates local stamp duty and registration cess charges based on property agreement values."},{title:"Direct Escrow Verification",desc:"Cross-verifies developer escrow bank credentials against state RERA registry accounts."}]}}]),excerpt:"Calculators and buyer tools.",meta_title:"Client Resources & Tools — PropVault",meta_description:"Escrow account checking tools, stamp duty calculation utilities, and RERA search shortcuts.",publish_status:"published",published_at:new Date().toISOString(),created_by:d.id}]))await o.repositories.pages.create(a);b.seedDemoData&&(await o.repositories.blogs.create({title:"Real Estate Trends: Why BKC is Mumbai's Premium Hub",slug:"real-estate-trends-bkc-mumbai",subtitle:"Capital appreciation prospects in Bandra Kurla Complex.",content:"<p>Bandra Kurla Complex (BKC) has cemented its position as Mumbai's most attractive commercial and residential district. With upcoming metro corridors and superior corporate infrastructure, premium residential projects are witnessing a 12% YoY rental yield increase...</p>",excerpt:"A deep dive into BKC residential demand and capital appreciation trends.",cover_image:"https://images.unsplash.com/photo-1545324418-cc1a3fa10c00",category:"Market Reports",tags:"mumbai, bkc, investment",publish_status:"published",published_at:new Date().toISOString(),read_time_minutes:"5",view_count:"15",author_id:d.id}),await o.repositories.faqs.create({question:"What is RERA and how does PropVault verify it?",answer:"RERA stands for the Real Estate Regulation and Development Act. PropVault ensures that every project listed has a valid registration number and matches the state government database records before publication.",category:"General Query",sort_order:"1",is_active:"1"}),await o.repositories.testimonials.create({author_name:"Amit Sharma",author_designation:"CEO",author_company:"Apex Ventures",content:"PropVault made my luxury home search in BKC exceptionally transparent. The zero brokerage model and advisory reports saved us significant money.",rating:"5",city:"Mumbai",is_featured:"1",is_active:"1",publish_date:new Date().toISOString()}),await u("system.active_plugins",JSON.stringify(["telegram-webhook"]),"system","Active Plugins","json"));let{setBootstrapValue:w}=await a.A(514652),{encrypt:x}=await a.A(215607),z=b.licenseKey?b.licenseKey.trim():"";return w("installed","true"),z?(w("license","enterprise-activated"),w("license_key",z)):w("license","oss"),w("system_status","active"),w("maintenance_mode","false"),w("version",n.APP_VERSION),w("smtp_config",x(JSON.stringify(b.communication))),w("storage_config",x(JSON.stringify(b.storage))),w("analytics_config",x(JSON.stringify(b.seo))),w("theme_config",x(JSON.stringify(b.theme))),w("branding_config",x(JSON.stringify(b.branding))),await u("system.installed","true","system","Application Installed","boolean"),await o.repositories.auditLogs.log({userId:d?.id??null,userEmail:b.admin.email,action:"system.install",resourceType:"system",newValues:{installed:!0}}),(0,c.revalidatePath)("/","layout"),{success:!0}}catch(b){try{let{setBootstrapValue:b}=await a.A(514652);b("installed","false"),await u("system.installed","false","system","Application Installed","boolean")}catch{}return{success:!1,error:b.message||"Failed to complete setup."}}}async function A(b){try{let c=await v(b);if(!c.success)return{success:!1,error:c.error??"Failed to connect to database."};let{saveEncryptedDbConfig:d}=await a.A(514652),{reloadDbConnection:e}=await a.A(22514),{resetMigrationState:f,ensureMigrated:g}=await a.A(549724);return d(b),e(),f(),await g(!0),{success:!0}}catch(a){return console.error("[Setup] Failed to save database configuration:",a),{success:!1,error:a.message||"Failed to save database configuration."}}}async function B(){let b=process.version,c=parseInt(b.slice(1).split(".")[0],10),f=!1;try{let a=e.default.join(process.cwd(),"storage");d.default.existsSync(a)||d.default.mkdirSync(a,{recursive:!0});let b=e.default.join(a,"write-test.tmp");d.default.writeFileSync(b,"test"),d.default.unlinkSync(b),f=!0}catch{}let g=!1;try{let a=e.default.join(process.cwd(),"public","uploads");d.default.existsSync(a)||d.default.mkdirSync(a,{recursive:!0});let b=e.default.join(a,"write-test.tmp");d.default.writeFileSync(b,"test"),d.default.unlinkSync(b),g=!0}catch{}let h=!1;try{a.r(785148),h=!0}catch{}let i=!1;try{a.r(306971),i=!0}catch{}return{nodeVersion:b,nodeOk:c>=18,storageWritable:f,uploadsWritable:g,betterSqlite3Installed:h,sharpInstalled:i,version:n.APP_VERSION}}(0,r.ensureServerEntryExports)([v,w,x,y,z,A,B]),(0,b.registerServerReference)(v,"40af5b0b986f3fad4703b6ebc84018ec594136ba02",null),(0,b.registerServerReference)(w,"408e0a939d919a51d5e269c3564bd48a28bc54e765",null),(0,b.registerServerReference)(x,"40ec237cd01e1eca238b76b356a9917edb54dffce3",null),(0,b.registerServerReference)(y,"00f1d8d34a6829db876e76c51eae92ce2da8a25c61",null),(0,b.registerServerReference)(z,"40ca55f77aabb2f546ab508ea354399e4e8909f252",null),(0,b.registerServerReference)(A,"40ba6eebd4df11a2b7a6e86c2f26e613010c1e81e5",null),(0,b.registerServerReference)(B,"00b1eece7ea2b04c1709a6acf556918a2e8495a79b",null),a.s(["checkSystemReadiness",0,B,"completeSetup",0,z,"getSetupStatus",0,y,"saveDatabaseConfig",0,A,"testDatabaseConnection",0,v,"testSmtpConnection",0,w,"testStorageConnection",0,x],958382)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__1nrl0j-._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
module.exports=[137936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(211857)},713095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
|
|
2
|
-
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},672148,a=>{"use strict";var b=a.i(883419);a.s([],27874),a.i(27874),a.s(["
|
|
2
|
+
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},672148,a=>{"use strict";var b=a.i(883419);a.s([],27874),a.i(27874),a.s(["001693ab44a20533b156d7e7e02851dd61dc132fdc",()=>b.getMenus,"40487504e0861b22d14c8e30f4192e7e9e0ad708be",()=>b.getMenuWithItems,"6090d735bd365ff19772707a212d52dc9c6e1fbef9",()=>b.saveMenuItems],672148)},837706,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__1xwzktd._.js"].map(b=>a.l(b))).then(()=>b(978775)))},245770,a=>{a.v(a=>Promise.resolve().then(()=>a(51151)))},485685,a=>{a.v(a=>Promise.resolve().then(()=>a(254799)))}];
|
|
3
3
|
|
|
4
4
|
//# sourceMappingURL=%5Broot-of-the-server%5D__1qronyg._.js.map
|