@sonicjs-cms/core 2.17.2 → 2.18.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-ITGOUYVN.js → chunk-4R3NOOL3.js} +2 -2
- package/dist/{chunk-ITGOUYVN.js.map → chunk-4R3NOOL3.js.map} +1 -1
- package/dist/{chunk-LVGB5UU5.cjs → chunk-C54YUA23.cjs} +2 -2
- package/dist/{chunk-LVGB5UU5.cjs.map → chunk-C54YUA23.cjs.map} +1 -1
- package/dist/{chunk-P4RAIX7B.cjs → chunk-DSUJ5YQH.cjs} +8 -8
- package/dist/{chunk-P4RAIX7B.cjs.map → chunk-DSUJ5YQH.cjs.map} +1 -1
- package/dist/{chunk-NAYUXSNR.js → chunk-EW5NOBVU.js} +9 -3
- package/dist/chunk-EW5NOBVU.js.map +1 -0
- package/dist/{chunk-K6QVIOTA.js → chunk-I2H5NGJQ.js} +4 -4
- package/dist/{chunk-K6QVIOTA.js.map → chunk-I2H5NGJQ.js.map} +1 -1
- package/dist/{chunk-I2Z72YTD.js → chunk-MGFRZO24.js} +3 -3
- package/dist/{chunk-I2Z72YTD.js.map → chunk-MGFRZO24.js.map} +1 -1
- package/dist/{chunk-Q3W6LCEN.cjs → chunk-SQ6FNXU2.cjs} +3 -3
- package/dist/{chunk-Q3W6LCEN.cjs.map → chunk-SQ6FNXU2.cjs.map} +1 -1
- package/dist/{chunk-2VY2G7OR.cjs → chunk-SXXTQETM.cjs} +245 -125
- package/dist/chunk-SXXTQETM.cjs.map +1 -0
- package/dist/{chunk-FXWF5D5V.cjs → chunk-T3Q5V33G.cjs} +9 -3
- package/dist/chunk-T3Q5V33G.cjs.map +1 -0
- package/dist/{chunk-KJSZMIBF.js → chunk-XXDFQERJ.js} +131 -12
- package/dist/chunk-XXDFQERJ.js.map +1 -0
- package/dist/index.cjs +211 -158
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +80 -27
- package/dist/index.js.map +1 -1
- package/dist/middleware.cjs +32 -32
- package/dist/middleware.js +3 -3
- package/dist/migrations-IYNTWDC6.cjs +13 -0
- package/dist/{migrations-Q7C6F2RM.cjs.map → migrations-IYNTWDC6.cjs.map} +1 -1
- package/dist/migrations-R337UD46.js +4 -0
- package/dist/{migrations-IFZLGVV3.js.map → migrations-R337UD46.js.map} +1 -1
- package/dist/routes.cjs +28 -28
- package/dist/routes.js +5 -5
- package/dist/services.cjs +23 -23
- package/dist/services.js +2 -2
- package/dist/utils.cjs +11 -11
- package/dist/utils.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-2VY2G7OR.cjs.map +0 -1
- package/dist/chunk-FXWF5D5V.cjs.map +0 -1
- package/dist/chunk-KJSZMIBF.js.map +0 -1
- package/dist/chunk-NAYUXSNR.js.map +0 -1
- package/dist/migrations-IFZLGVV3.js +0 -4
- package/dist/migrations-Q7C6F2RM.cjs +0 -13
package/dist/index.cjs
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkSXXTQETM_cjs = require('./chunk-SXXTQETM.cjs');
|
|
4
4
|
var chunkWAEQXGCX_cjs = require('./chunk-WAEQXGCX.cjs');
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
5
|
+
var chunkDSUJ5YQH_cjs = require('./chunk-DSUJ5YQH.cjs');
|
|
6
|
+
var chunkT3Q5V33G_cjs = require('./chunk-T3Q5V33G.cjs');
|
|
7
|
+
var chunkC54YUA23_cjs = require('./chunk-C54YUA23.cjs');
|
|
8
8
|
var chunk4ZSNJDLS_cjs = require('./chunk-4ZSNJDLS.cjs');
|
|
9
9
|
var chunkOHYBNCVL_cjs = require('./chunk-OHYBNCVL.cjs');
|
|
10
10
|
var chunkUYJ6TJHX_cjs = require('./chunk-UYJ6TJHX.cjs');
|
|
11
11
|
var chunkABB34XUS_cjs = require('./chunk-ABB34XUS.cjs');
|
|
12
12
|
var chunk635JAMSE_cjs = require('./chunk-635JAMSE.cjs');
|
|
13
|
-
var
|
|
13
|
+
var chunkSQ6FNXU2_cjs = require('./chunk-SQ6FNXU2.cjs');
|
|
14
14
|
require('./chunk-P3XDZL6Q.cjs');
|
|
15
15
|
var chunkRCQ2HIQD_cjs = require('./chunk-RCQ2HIQD.cjs');
|
|
16
16
|
var chunkMNWKYY5E_cjs = require('./chunk-MNWKYY5E.cjs');
|
|
@@ -560,7 +560,7 @@ function formatCellValue(value) {
|
|
|
560
560
|
// src/plugins/core-plugins/database-tools-plugin/admin-routes.ts
|
|
561
561
|
function createDatabaseToolsAdminRoutes() {
|
|
562
562
|
const router3 = new hono.Hono();
|
|
563
|
-
router3.use("*",
|
|
563
|
+
router3.use("*", chunkDSUJ5YQH_cjs.requireAuth());
|
|
564
564
|
router3.get("/api/stats", async (c) => {
|
|
565
565
|
try {
|
|
566
566
|
const user = c.get("user");
|
|
@@ -1608,7 +1608,27 @@ var OTPService = class {
|
|
|
1608
1608
|
};
|
|
1609
1609
|
|
|
1610
1610
|
// src/plugins/core-plugins/otp-login-plugin/email-templates.ts
|
|
1611
|
+
function sanitizeColor(value) {
|
|
1612
|
+
if (!value) return "";
|
|
1613
|
+
if (/^#[0-9a-fA-F]{3,8}$/.test(value)) return value;
|
|
1614
|
+
if (/^[a-zA-Z]+$/.test(value)) return value;
|
|
1615
|
+
if (/^(rgb|rgba|hsl|hsla)\([0-9.,\s%]+\)$/.test(value)) return value;
|
|
1616
|
+
return "";
|
|
1617
|
+
}
|
|
1618
|
+
function escapeHtml3(value) {
|
|
1619
|
+
return value.replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">");
|
|
1620
|
+
}
|
|
1611
1621
|
function renderOTPEmailHTML(data) {
|
|
1622
|
+
const logoUrl = data.logoUrl ? escapeHtml3(data.logoUrl) : "";
|
|
1623
|
+
const loginUrl = data.loginUrl ? escapeHtml3(data.loginUrl) : "";
|
|
1624
|
+
const appName = escapeHtml3(data.appName);
|
|
1625
|
+
const loginButtonText = escapeHtml3(
|
|
1626
|
+
data.loginButtonText && data.loginButtonText.trim() || `Sign in to ${data.appName}`
|
|
1627
|
+
);
|
|
1628
|
+
const logoWidth = Math.max(20, Math.min(600, Number(data.logoWidth) || 150));
|
|
1629
|
+
const logoBorderWidth = Math.max(0, Math.min(20, Number(data.logoBorderWidth) || 0));
|
|
1630
|
+
const logoBorderColor = sanitizeColor(data.logoBorderColor);
|
|
1631
|
+
const logoBorderStyle = logoBorderWidth > 0 && logoBorderColor ? `border: ${logoBorderWidth}px solid ${logoBorderColor}; border-radius: 8px;` : "";
|
|
1612
1632
|
return `<!DOCTYPE html>
|
|
1613
1633
|
<html>
|
|
1614
1634
|
<head>
|
|
@@ -1620,15 +1640,15 @@ function renderOTPEmailHTML(data) {
|
|
|
1620
1640
|
|
|
1621
1641
|
<div style="background: white; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,0.1);">
|
|
1622
1642
|
|
|
1623
|
-
${
|
|
1643
|
+
${logoUrl ? `
|
|
1624
1644
|
<div style="text-align: center; padding: 30px 20px 20px;">
|
|
1625
|
-
<img src="${
|
|
1645
|
+
<img src="${logoUrl}" alt="${appName}" style="max-width: ${logoWidth}px; width: 100%; height: auto; ${logoBorderStyle}">
|
|
1626
1646
|
</div>
|
|
1627
1647
|
` : ""}
|
|
1628
1648
|
|
|
1629
1649
|
<div style="background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; padding: 40px 30px; text-align: center;">
|
|
1630
1650
|
<h1 style="margin: 0 0 10px 0; font-size: 32px; font-weight: 600;">Your Login Code</h1>
|
|
1631
|
-
<p style="margin: 0; opacity: 0.95; font-size: 16px;">Enter this code to sign in to ${
|
|
1651
|
+
<p style="margin: 0; opacity: 0.95; font-size: 16px;">Enter this code to sign in to ${appName}</p>
|
|
1632
1652
|
</div>
|
|
1633
1653
|
|
|
1634
1654
|
<div style="padding: 40px 30px;">
|
|
@@ -1638,6 +1658,14 @@ function renderOTPEmailHTML(data) {
|
|
|
1638
1658
|
</div>
|
|
1639
1659
|
</div>
|
|
1640
1660
|
|
|
1661
|
+
${loginUrl ? `
|
|
1662
|
+
<div style="text-align: center; margin: 0 0 30px 0;">
|
|
1663
|
+
<a href="${loginUrl}" style="display: inline-block; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; text-decoration: none; padding: 14px 32px; border-radius: 8px; font-weight: 600; font-size: 16px;">
|
|
1664
|
+
${loginButtonText}
|
|
1665
|
+
</a>
|
|
1666
|
+
</div>
|
|
1667
|
+
` : ""}
|
|
1668
|
+
|
|
1641
1669
|
<div style="background: #fff3cd; border-left: 4px solid #ffc107; padding: 16px 20px; margin: 0 0 30px 0; border-radius: 6px;">
|
|
1642
1670
|
<p style="margin: 0; font-size: 14px; color: #856404;">
|
|
1643
1671
|
<strong>\u26A0\uFE0F This code expires in ${data.expiryMinutes} minutes</strong>
|
|
@@ -1659,7 +1687,7 @@ function renderOTPEmailHTML(data) {
|
|
|
1659
1687
|
\u{1F512} Security Notice
|
|
1660
1688
|
</p>
|
|
1661
1689
|
<p style="margin: 0; font-size: 13px; color: #004080; line-height: 1.6;">
|
|
1662
|
-
Never share this code with anyone. ${
|
|
1690
|
+
Never share this code with anyone. ${appName} will never ask you for this code via phone, email, or social media.
|
|
1663
1691
|
</p>
|
|
1664
1692
|
</div>
|
|
1665
1693
|
</div>
|
|
@@ -1671,22 +1699,23 @@ function renderOTPEmailHTML(data) {
|
|
|
1671
1699
|
</p>
|
|
1672
1700
|
|
|
1673
1701
|
<div style="text-align: center; color: #999; font-size: 12px; line-height: 1.6;">
|
|
1674
|
-
<p style="margin: 5px 0;">This email was sent to ${data.email}</p>
|
|
1675
|
-
${data.ipAddress ? `<p style="margin: 5px 0;">IP Address: ${data.ipAddress}</p>` : ""}
|
|
1676
|
-
<p style="margin: 5px 0;">Time: ${data.timestamp}</p>
|
|
1702
|
+
<p style="margin: 5px 0;">This email was sent to ${escapeHtml3(data.email)}</p>
|
|
1703
|
+
${data.ipAddress ? `<p style="margin: 5px 0;">IP Address: ${escapeHtml3(data.ipAddress)}</p>` : ""}
|
|
1704
|
+
<p style="margin: 5px 0;">Time: ${escapeHtml3(data.timestamp)}</p>
|
|
1677
1705
|
</div>
|
|
1678
1706
|
</div>
|
|
1679
1707
|
|
|
1680
1708
|
</div>
|
|
1681
1709
|
|
|
1682
1710
|
<div style="text-align: center; padding: 20px; color: #999; font-size: 12px;">
|
|
1683
|
-
<p style="margin: 0;">© ${(/* @__PURE__ */ new Date()).getFullYear()} ${
|
|
1711
|
+
<p style="margin: 0;">© ${(/* @__PURE__ */ new Date()).getFullYear()} ${appName}. All rights reserved.</p>
|
|
1684
1712
|
</div>
|
|
1685
1713
|
|
|
1686
1714
|
</body>
|
|
1687
1715
|
</html>`;
|
|
1688
1716
|
}
|
|
1689
1717
|
function renderOTPEmailText(data) {
|
|
1718
|
+
const ctaLabel = data.loginButtonText && data.loginButtonText.trim() || `Sign in to ${data.appName}`;
|
|
1690
1719
|
return `Your Login Code for ${data.appName}
|
|
1691
1720
|
|
|
1692
1721
|
Your one-time verification code is:
|
|
@@ -1694,6 +1723,9 @@ Your one-time verification code is:
|
|
|
1694
1723
|
${data.code}
|
|
1695
1724
|
|
|
1696
1725
|
This code expires in ${data.expiryMinutes} minutes.
|
|
1726
|
+
${data.loginUrl ? `
|
|
1727
|
+
${ctaLabel}: ${data.loginUrl}
|
|
1728
|
+
` : ""}
|
|
1697
1729
|
|
|
1698
1730
|
Quick Tips:
|
|
1699
1731
|
\u2022 Enter the code exactly as shown (${data.codeLength} digits)
|
|
@@ -1734,7 +1766,13 @@ var DEFAULT_SETTINGS = {
|
|
|
1734
1766
|
codeExpiryMinutes: 10,
|
|
1735
1767
|
maxAttempts: 3,
|
|
1736
1768
|
rateLimitPerHour: 5,
|
|
1737
|
-
allowNewUserRegistration: false
|
|
1769
|
+
allowNewUserRegistration: false,
|
|
1770
|
+
logoUrl: "",
|
|
1771
|
+
logoWidth: 150,
|
|
1772
|
+
logoBorderWidth: 0,
|
|
1773
|
+
logoBorderColor: "#ffffff",
|
|
1774
|
+
loginUrl: "",
|
|
1775
|
+
loginButtonText: ""
|
|
1738
1776
|
};
|
|
1739
1777
|
function createOTPLoginPlugin() {
|
|
1740
1778
|
const builder = chunk635JAMSE_cjs.PluginBuilder.create({
|
|
@@ -1824,7 +1862,12 @@ function createOTPLoginPlugin() {
|
|
|
1824
1862
|
ipAddress,
|
|
1825
1863
|
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
1826
1864
|
appName: siteName,
|
|
1827
|
-
logoUrl: settings.logoUrl || ""
|
|
1865
|
+
logoUrl: settings.logoUrl || "",
|
|
1866
|
+
logoWidth: settings.logoWidth,
|
|
1867
|
+
logoBorderWidth: settings.logoBorderWidth,
|
|
1868
|
+
logoBorderColor: settings.logoBorderColor || "",
|
|
1869
|
+
loginUrl: settings.loginUrl || "",
|
|
1870
|
+
loginButtonText: settings.loginButtonText || ""
|
|
1828
1871
|
});
|
|
1829
1872
|
const emailPlugin2 = await db.prepare(`
|
|
1830
1873
|
SELECT settings FROM plugins WHERE id = 'email'
|
|
@@ -1913,7 +1956,7 @@ function createOTPLoginPlugin() {
|
|
|
1913
1956
|
}, 401);
|
|
1914
1957
|
}
|
|
1915
1958
|
let user = await db.prepare(`
|
|
1916
|
-
SELECT id, email, role, is_active
|
|
1959
|
+
SELECT id, email, username, first_name, last_name, role, is_active, created_at
|
|
1917
1960
|
FROM users
|
|
1918
1961
|
WHERE email = ?
|
|
1919
1962
|
`).bind(normalizedEmail).first();
|
|
@@ -1927,7 +1970,16 @@ function createOTPLoginPlugin() {
|
|
|
1927
1970
|
password_hash, role, is_active, email_verified, created_at, updated_at
|
|
1928
1971
|
) VALUES (?, ?, ?, '', '', NULL, 'viewer', 1, 1, ?, ?)
|
|
1929
1972
|
`).bind(userId, normalizedEmail, username, now, now).run();
|
|
1930
|
-
user = {
|
|
1973
|
+
user = {
|
|
1974
|
+
id: userId,
|
|
1975
|
+
email: normalizedEmail,
|
|
1976
|
+
username,
|
|
1977
|
+
first_name: "",
|
|
1978
|
+
last_name: "",
|
|
1979
|
+
role: "viewer",
|
|
1980
|
+
is_active: 1,
|
|
1981
|
+
created_at: now
|
|
1982
|
+
};
|
|
1931
1983
|
}
|
|
1932
1984
|
if (!user) {
|
|
1933
1985
|
return c.json({
|
|
@@ -1939,20 +1991,21 @@ function createOTPLoginPlugin() {
|
|
|
1939
1991
|
error: "Account is deactivated"
|
|
1940
1992
|
}, 403);
|
|
1941
1993
|
}
|
|
1942
|
-
const tokenTtl = await
|
|
1943
|
-
const token = await
|
|
1994
|
+
const tokenTtl = await chunkDSUJ5YQH_cjs.getJwtExpirySecondsFromDb(db, c.env);
|
|
1995
|
+
const token = await chunkDSUJ5YQH_cjs.AuthManager.generateToken(user.id, user.email, user.role, c.env.JWT_SECRET, tokenTtl);
|
|
1944
1996
|
cookie.setCookie(c, "auth_token", token, {
|
|
1945
1997
|
httpOnly: true,
|
|
1946
1998
|
secure: true,
|
|
1947
1999
|
sameSite: "Strict",
|
|
1948
2000
|
maxAge: tokenTtl
|
|
1949
2001
|
});
|
|
2002
|
+
const customData = await chunkSXXTQETM_cjs.getCustomData(db, user.id);
|
|
2003
|
+
const { is_active, ...publicUser } = user;
|
|
1950
2004
|
return c.json({
|
|
1951
2005
|
success: true,
|
|
1952
2006
|
user: {
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
role: user.role
|
|
2007
|
+
...publicUser,
|
|
2008
|
+
...customData
|
|
1956
2009
|
},
|
|
1957
2010
|
token,
|
|
1958
2011
|
message: "Authentication successful"
|
|
@@ -2409,15 +2462,15 @@ function createOAuthProvidersPlugin() {
|
|
|
2409
2462
|
if (!user || !user.is_active) {
|
|
2410
2463
|
return c.redirect("/auth/login?error=Account is deactivated");
|
|
2411
2464
|
}
|
|
2412
|
-
const tokenTtl2 = await
|
|
2413
|
-
const jwt2 = await
|
|
2465
|
+
const tokenTtl2 = await chunkDSUJ5YQH_cjs.getJwtExpirySecondsFromDb(c.env.DB, c.env);
|
|
2466
|
+
const jwt2 = await chunkDSUJ5YQH_cjs.AuthManager.generateToken(
|
|
2414
2467
|
user.id,
|
|
2415
2468
|
user.email,
|
|
2416
2469
|
user.role,
|
|
2417
2470
|
c.env.JWT_SECRET,
|
|
2418
2471
|
tokenTtl2
|
|
2419
2472
|
);
|
|
2420
|
-
|
|
2473
|
+
chunkDSUJ5YQH_cjs.AuthManager.setAuthCookie(c, jwt2, { sameSite: "Lax", maxAge: tokenTtl2 });
|
|
2421
2474
|
return c.redirect("/admin");
|
|
2422
2475
|
}
|
|
2423
2476
|
const existingUser = await oauthService.findUserByEmail(profile.email);
|
|
@@ -2434,15 +2487,15 @@ function createOAuthProvidersPlugin() {
|
|
|
2434
2487
|
tokenExpiresAt: tokenExpiresAt ?? void 0,
|
|
2435
2488
|
profileData: JSON.stringify(profile)
|
|
2436
2489
|
});
|
|
2437
|
-
const tokenTtl2 = await
|
|
2438
|
-
const jwt2 = await
|
|
2490
|
+
const tokenTtl2 = await chunkDSUJ5YQH_cjs.getJwtExpirySecondsFromDb(c.env.DB, c.env);
|
|
2491
|
+
const jwt2 = await chunkDSUJ5YQH_cjs.AuthManager.generateToken(
|
|
2439
2492
|
existingUser.id,
|
|
2440
2493
|
existingUser.email,
|
|
2441
2494
|
existingUser.role,
|
|
2442
2495
|
c.env.JWT_SECRET,
|
|
2443
2496
|
tokenTtl2
|
|
2444
2497
|
);
|
|
2445
|
-
|
|
2498
|
+
chunkDSUJ5YQH_cjs.AuthManager.setAuthCookie(c, jwt2, { sameSite: "Lax", maxAge: tokenTtl2 });
|
|
2446
2499
|
return c.redirect("/admin");
|
|
2447
2500
|
}
|
|
2448
2501
|
const newUserId = await oauthService.createUserFromOAuth(profile);
|
|
@@ -2455,15 +2508,15 @@ function createOAuthProvidersPlugin() {
|
|
|
2455
2508
|
tokenExpiresAt: tokenExpiresAt ?? void 0,
|
|
2456
2509
|
profileData: JSON.stringify(profile)
|
|
2457
2510
|
});
|
|
2458
|
-
const tokenTtl = await
|
|
2459
|
-
const jwt = await
|
|
2511
|
+
const tokenTtl = await chunkDSUJ5YQH_cjs.getJwtExpirySecondsFromDb(c.env.DB, c.env);
|
|
2512
|
+
const jwt = await chunkDSUJ5YQH_cjs.AuthManager.generateToken(
|
|
2460
2513
|
newUserId,
|
|
2461
2514
|
profile.email.toLowerCase(),
|
|
2462
2515
|
"viewer",
|
|
2463
2516
|
c.env.JWT_SECRET,
|
|
2464
2517
|
tokenTtl
|
|
2465
2518
|
);
|
|
2466
|
-
|
|
2519
|
+
chunkDSUJ5YQH_cjs.AuthManager.setAuthCookie(c, jwt, { sameSite: "Lax", maxAge: tokenTtl });
|
|
2467
2520
|
return c.redirect("/admin");
|
|
2468
2521
|
} catch (error) {
|
|
2469
2522
|
console.error("OAuth callback error:", error);
|
|
@@ -4156,7 +4209,7 @@ function renderSettingsPage(data) {
|
|
|
4156
4209
|
|
|
4157
4210
|
// src/plugins/core-plugins/ai-search-plugin/routes/admin.ts
|
|
4158
4211
|
var adminRoutes = new hono.Hono();
|
|
4159
|
-
adminRoutes.use("*",
|
|
4212
|
+
adminRoutes.use("*", chunkDSUJ5YQH_cjs.requireAuth());
|
|
4160
4213
|
adminRoutes.get("/", async (c) => {
|
|
4161
4214
|
try {
|
|
4162
4215
|
const user = c.get("user");
|
|
@@ -4557,15 +4610,15 @@ function createMagicLinkAuthPlugin() {
|
|
|
4557
4610
|
SET used = 1, used_at = ?
|
|
4558
4611
|
WHERE id = ?
|
|
4559
4612
|
`).bind(Date.now(), magicLink.id).run();
|
|
4560
|
-
const tokenTtl = await
|
|
4561
|
-
const jwtToken = await
|
|
4613
|
+
const tokenTtl = await chunkDSUJ5YQH_cjs.getJwtExpirySecondsFromDb(c.env.DB, c.env);
|
|
4614
|
+
const jwtToken = await chunkDSUJ5YQH_cjs.AuthManager.generateToken(
|
|
4562
4615
|
user.id,
|
|
4563
4616
|
user.email,
|
|
4564
4617
|
user.role,
|
|
4565
4618
|
c.env.JWT_SECRET,
|
|
4566
4619
|
tokenTtl
|
|
4567
4620
|
);
|
|
4568
|
-
|
|
4621
|
+
chunkDSUJ5YQH_cjs.AuthManager.setAuthCookie(c, jwtToken, { maxAge: tokenTtl });
|
|
4569
4622
|
await db.prepare(`
|
|
4570
4623
|
UPDATE users SET last_login_at = ? WHERE id = ?
|
|
4571
4624
|
`).bind(Date.now(), user.id).run();
|
|
@@ -5575,7 +5628,7 @@ function renderSecuritySettingsPage(data) {
|
|
|
5575
5628
|
|
|
5576
5629
|
// src/plugins/core-plugins/security-audit-plugin/routes/admin.ts
|
|
5577
5630
|
var adminRoutes2 = new hono.Hono();
|
|
5578
|
-
adminRoutes2.use("*",
|
|
5631
|
+
adminRoutes2.use("*", chunkDSUJ5YQH_cjs.requireAuth());
|
|
5579
5632
|
adminRoutes2.use("*", async (c, next) => {
|
|
5580
5633
|
const user = c.get("user");
|
|
5581
5634
|
if (user?.role !== "admin") {
|
|
@@ -5585,7 +5638,7 @@ adminRoutes2.use("*", async (c, next) => {
|
|
|
5585
5638
|
});
|
|
5586
5639
|
async function getSettings(db) {
|
|
5587
5640
|
try {
|
|
5588
|
-
const pluginService = new
|
|
5641
|
+
const pluginService = new chunkT3Q5V33G_cjs.PluginService(db);
|
|
5589
5642
|
const plugin2 = await pluginService.getPlugin("security-audit");
|
|
5590
5643
|
if (plugin2?.settings) {
|
|
5591
5644
|
const settings = typeof plugin2.settings === "string" ? JSON.parse(plugin2.settings) : plugin2.settings;
|
|
@@ -5690,7 +5743,7 @@ adminRoutes2.post("/settings", async (c) => {
|
|
|
5690
5743
|
autoPurge: body["retention.autoPurge"] === "true"
|
|
5691
5744
|
}
|
|
5692
5745
|
};
|
|
5693
|
-
const pluginService = new
|
|
5746
|
+
const pluginService = new chunkT3Q5V33G_cjs.PluginService(db);
|
|
5694
5747
|
await pluginService.updatePluginSettings("security-audit", settings);
|
|
5695
5748
|
if (c.req.header("HX-Request")) {
|
|
5696
5749
|
return c.json({ success: true });
|
|
@@ -5851,7 +5904,7 @@ var BruteForceDetector = class {
|
|
|
5851
5904
|
|
|
5852
5905
|
// src/plugins/core-plugins/security-audit-plugin/routes/api.ts
|
|
5853
5906
|
var apiRoutes2 = new hono.Hono();
|
|
5854
|
-
apiRoutes2.use("*",
|
|
5907
|
+
apiRoutes2.use("*", chunkDSUJ5YQH_cjs.requireAuth());
|
|
5855
5908
|
apiRoutes2.use("*", async (c, next) => {
|
|
5856
5909
|
const user = c.get("user");
|
|
5857
5910
|
if (user?.role !== "admin") {
|
|
@@ -5861,7 +5914,7 @@ apiRoutes2.use("*", async (c, next) => {
|
|
|
5861
5914
|
});
|
|
5862
5915
|
async function getSettings2(db) {
|
|
5863
5916
|
try {
|
|
5864
|
-
const pluginService = new
|
|
5917
|
+
const pluginService = new chunkT3Q5V33G_cjs.PluginService(db);
|
|
5865
5918
|
const plugin2 = await pluginService.getPlugin("security-audit");
|
|
5866
5919
|
if (plugin2?.settings) {
|
|
5867
5920
|
const settings = typeof plugin2.settings === "string" ? JSON.parse(plugin2.settings) : plugin2.settings;
|
|
@@ -6009,7 +6062,7 @@ function generateFingerprint(ip, userAgent) {
|
|
|
6009
6062
|
}
|
|
6010
6063
|
async function getPluginSettings(db) {
|
|
6011
6064
|
try {
|
|
6012
|
-
const pluginService = new
|
|
6065
|
+
const pluginService = new chunkT3Q5V33G_cjs.PluginService(db);
|
|
6013
6066
|
const plugin2 = await pluginService.getPlugin("security-audit");
|
|
6014
6067
|
if (plugin2?.settings) {
|
|
6015
6068
|
const settings = typeof plugin2.settings === "string" ? JSON.parse(plugin2.settings) : plugin2.settings;
|
|
@@ -7019,7 +7072,7 @@ var DEFAULT_SETTINGS3 = {
|
|
|
7019
7072
|
|
|
7020
7073
|
// src/plugins/core-plugins/stripe-plugin/routes/admin.ts
|
|
7021
7074
|
var adminRoutes3 = new hono.Hono();
|
|
7022
|
-
adminRoutes3.use("*",
|
|
7075
|
+
adminRoutes3.use("*", chunkDSUJ5YQH_cjs.requireAuth());
|
|
7023
7076
|
adminRoutes3.use("*", async (c, next) => {
|
|
7024
7077
|
const user = c.get("user");
|
|
7025
7078
|
if (user?.role !== "admin") {
|
|
@@ -7029,7 +7082,7 @@ adminRoutes3.use("*", async (c, next) => {
|
|
|
7029
7082
|
});
|
|
7030
7083
|
async function getSettings3(db) {
|
|
7031
7084
|
try {
|
|
7032
|
-
const pluginService = new
|
|
7085
|
+
const pluginService = new chunkT3Q5V33G_cjs.PluginService(db);
|
|
7033
7086
|
const plugin2 = await pluginService.getPlugin("stripe");
|
|
7034
7087
|
if (plugin2?.settings) {
|
|
7035
7088
|
const settings = typeof plugin2.settings === "string" ? JSON.parse(plugin2.settings) : plugin2.settings;
|
|
@@ -7351,7 +7404,7 @@ function timingSafeEqual(a, b) {
|
|
|
7351
7404
|
var apiRoutes3 = new hono.Hono();
|
|
7352
7405
|
async function getSettings4(db) {
|
|
7353
7406
|
try {
|
|
7354
|
-
const pluginService = new
|
|
7407
|
+
const pluginService = new chunkT3Q5V33G_cjs.PluginService(db);
|
|
7355
7408
|
const plugin2 = await pluginService.getPlugin("stripe");
|
|
7356
7409
|
if (plugin2?.settings) {
|
|
7357
7410
|
const settings = typeof plugin2.settings === "string" ? JSON.parse(plugin2.settings) : plugin2.settings;
|
|
@@ -7502,7 +7555,7 @@ apiRoutes3.post("/webhook", async (c) => {
|
|
|
7502
7555
|
}
|
|
7503
7556
|
return c.json({ received: true });
|
|
7504
7557
|
});
|
|
7505
|
-
apiRoutes3.post("/create-checkout-session",
|
|
7558
|
+
apiRoutes3.post("/create-checkout-session", chunkDSUJ5YQH_cjs.requireAuth(), async (c) => {
|
|
7506
7559
|
const db = c.env.DB;
|
|
7507
7560
|
const user = c.get("user");
|
|
7508
7561
|
if (!user) return c.json({ error: "Unauthorized" }, 401);
|
|
@@ -7542,7 +7595,7 @@ apiRoutes3.post("/create-checkout-session", chunkP4RAIX7B_cjs.requireAuth(), asy
|
|
|
7542
7595
|
});
|
|
7543
7596
|
return c.json({ sessionId: session.id, url: session.url });
|
|
7544
7597
|
});
|
|
7545
|
-
apiRoutes3.get("/subscription",
|
|
7598
|
+
apiRoutes3.get("/subscription", chunkDSUJ5YQH_cjs.requireAuth(), async (c) => {
|
|
7546
7599
|
const user = c.get("user");
|
|
7547
7600
|
if (!user) return c.json({ error: "Unauthorized" }, 401);
|
|
7548
7601
|
const db = c.env.DB;
|
|
@@ -7554,7 +7607,7 @@ apiRoutes3.get("/subscription", chunkP4RAIX7B_cjs.requireAuth(), async (c) => {
|
|
|
7554
7607
|
}
|
|
7555
7608
|
return c.json({ subscription });
|
|
7556
7609
|
});
|
|
7557
|
-
apiRoutes3.get("/subscriptions",
|
|
7610
|
+
apiRoutes3.get("/subscriptions", chunkDSUJ5YQH_cjs.requireAuth(), async (c) => {
|
|
7558
7611
|
const user = c.get("user");
|
|
7559
7612
|
if (user?.role !== "admin") return c.json({ error: "Access denied" }, 403);
|
|
7560
7613
|
const db = c.env.DB;
|
|
@@ -7570,7 +7623,7 @@ apiRoutes3.get("/subscriptions", chunkP4RAIX7B_cjs.requireAuth(), async (c) => {
|
|
|
7570
7623
|
const result = await subscriptionService.list(filters);
|
|
7571
7624
|
return c.json(result);
|
|
7572
7625
|
});
|
|
7573
|
-
apiRoutes3.get("/stats",
|
|
7626
|
+
apiRoutes3.get("/stats", chunkDSUJ5YQH_cjs.requireAuth(), async (c) => {
|
|
7574
7627
|
const user = c.get("user");
|
|
7575
7628
|
if (user?.role !== "admin") return c.json({ error: "Access denied" }, 403);
|
|
7576
7629
|
const db = c.env.DB;
|
|
@@ -7579,7 +7632,7 @@ apiRoutes3.get("/stats", chunkP4RAIX7B_cjs.requireAuth(), async (c) => {
|
|
|
7579
7632
|
const stats = await subscriptionService.getStats();
|
|
7580
7633
|
return c.json(stats);
|
|
7581
7634
|
});
|
|
7582
|
-
apiRoutes3.post("/sync-subscriptions",
|
|
7635
|
+
apiRoutes3.post("/sync-subscriptions", chunkDSUJ5YQH_cjs.requireAuth(), async (c) => {
|
|
7583
7636
|
const user = c.get("user");
|
|
7584
7637
|
if (user?.role !== "admin") return c.json({ error: "Access denied" }, 403);
|
|
7585
7638
|
const db = c.env.DB;
|
|
@@ -7627,7 +7680,7 @@ apiRoutes3.post("/sync-subscriptions", chunkP4RAIX7B_cjs.requireAuth(), async (c
|
|
|
7627
7680
|
}, 500);
|
|
7628
7681
|
}
|
|
7629
7682
|
});
|
|
7630
|
-
apiRoutes3.get("/events",
|
|
7683
|
+
apiRoutes3.get("/events", chunkDSUJ5YQH_cjs.requireAuth(), async (c) => {
|
|
7631
7684
|
const user = c.get("user");
|
|
7632
7685
|
if (user?.role !== "admin") return c.json({ error: "Access denied" }, 403);
|
|
7633
7686
|
const db = c.env.DB;
|
|
@@ -7693,7 +7746,7 @@ function createStripePlugin() {
|
|
|
7693
7746
|
var stripePlugin = createStripePlugin();
|
|
7694
7747
|
|
|
7695
7748
|
// src/middleware/plugin-menu.ts
|
|
7696
|
-
var REGISTRY_MENU_PLUGINS = Object.values(
|
|
7749
|
+
var REGISTRY_MENU_PLUGINS = Object.values(chunkT3Q5V33G_cjs.PLUGIN_REGISTRY).filter((p) => p.adminMenu !== null).map((p) => ({
|
|
7697
7750
|
codeName: p.codeName,
|
|
7698
7751
|
label: p.adminMenu.label,
|
|
7699
7752
|
path: p.adminMenu.path,
|
|
@@ -7792,7 +7845,7 @@ var HOOKS2 = {
|
|
|
7792
7845
|
USER_LOGIN: "user:login"};
|
|
7793
7846
|
chunkUYJ6TJHX_cjs.init_admin_layout_catalyst_template();
|
|
7794
7847
|
var adminRoutes4 = new hono.Hono();
|
|
7795
|
-
adminRoutes4.use("*",
|
|
7848
|
+
adminRoutes4.use("*", chunkDSUJ5YQH_cjs.requireAuth());
|
|
7796
7849
|
adminRoutes4.use("*", async (c, next) => {
|
|
7797
7850
|
const user = c.get("user");
|
|
7798
7851
|
if (user?.role !== "admin") {
|
|
@@ -7863,7 +7916,7 @@ adminRoutes4.get("/", async (c) => {
|
|
|
7863
7916
|
<div class="divide-y divide-zinc-950/5 dark:divide-white/10">
|
|
7864
7917
|
${topPages.length > 0 ? topPages.map((p) => `
|
|
7865
7918
|
<div class="flex items-center justify-between px-6 py-3">
|
|
7866
|
-
<span class="text-sm text-zinc-700 dark:text-zinc-300 font-mono truncate">${
|
|
7919
|
+
<span class="text-sm text-zinc-700 dark:text-zinc-300 font-mono truncate">${escapeHtml4(p.path)}</span>
|
|
7867
7920
|
<span class="text-sm font-medium text-zinc-500 dark:text-zinc-400">${p.views}</span>
|
|
7868
7921
|
</div>
|
|
7869
7922
|
`).join("") : `
|
|
@@ -7892,7 +7945,7 @@ adminRoutes4.get("/", async (c) => {
|
|
|
7892
7945
|
<tbody class="divide-y divide-zinc-950/5 dark:divide-white/10">
|
|
7893
7946
|
${recentActivity.length > 0 ? recentActivity.map((a) => `
|
|
7894
7947
|
<tr>
|
|
7895
|
-
<td class="px-6 py-2 font-mono text-zinc-700 dark:text-zinc-300 truncate max-w-xs">${
|
|
7948
|
+
<td class="px-6 py-2 font-mono text-zinc-700 dark:text-zinc-300 truncate max-w-xs">${escapeHtml4(a.url || "")}</td>
|
|
7896
7949
|
<td class="px-6 py-2"><span class="inline-flex items-center rounded px-1.5 py-0.5 text-xs font-medium ${a.method === "GET" ? "bg-green-50 text-green-700 dark:bg-green-900/30 dark:text-green-400" : "bg-blue-50 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400"}">${a.method || ""}</span></td>
|
|
7897
7950
|
<td class="px-6 py-2"><span class="inline-flex items-center rounded px-1.5 py-0.5 text-xs font-medium ${(a.status_code || 0) >= 400 ? "bg-red-50 text-red-700 dark:bg-red-900/30 dark:text-red-400" : "bg-green-50 text-green-700 dark:bg-green-900/30 dark:text-green-400"}">${a.status_code || ""}</span></td>
|
|
7898
7951
|
<td class="px-6 py-2 text-zinc-500 dark:text-zinc-400">${a.duration || 0}ms</td>
|
|
@@ -7922,7 +7975,7 @@ adminRoutes4.get("/", async (c) => {
|
|
|
7922
7975
|
dynamicMenuItems: c.get("pluginMenuItems")
|
|
7923
7976
|
}));
|
|
7924
7977
|
});
|
|
7925
|
-
function
|
|
7978
|
+
function escapeHtml4(str) {
|
|
7926
7979
|
return str.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """);
|
|
7927
7980
|
}
|
|
7928
7981
|
|
|
@@ -9591,7 +9644,7 @@ function renderCacheDashboard(data) {
|
|
|
9591
9644
|
</script>
|
|
9592
9645
|
|
|
9593
9646
|
<!-- Confirmation Dialogs -->
|
|
9594
|
-
${
|
|
9647
|
+
${chunkSXXTQETM_cjs.renderConfirmationDialog({
|
|
9595
9648
|
id: "clear-all-cache-confirm",
|
|
9596
9649
|
title: "Clear All Cache",
|
|
9597
9650
|
message: "Are you sure you want to clear all cache entries? This cannot be undone.",
|
|
@@ -9602,7 +9655,7 @@ function renderCacheDashboard(data) {
|
|
|
9602
9655
|
onConfirm: "performClearAllCaches()"
|
|
9603
9656
|
})}
|
|
9604
9657
|
|
|
9605
|
-
${
|
|
9658
|
+
${chunkSXXTQETM_cjs.renderConfirmationDialog({
|
|
9606
9659
|
id: "clear-namespace-cache-confirm",
|
|
9607
9660
|
title: "Clear Namespace Cache",
|
|
9608
9661
|
message: "Clear cache for this namespace?",
|
|
@@ -9613,7 +9666,7 @@ function renderCacheDashboard(data) {
|
|
|
9613
9666
|
onConfirm: "performClearNamespaceCache()"
|
|
9614
9667
|
})}
|
|
9615
9668
|
|
|
9616
|
-
${
|
|
9669
|
+
${chunkSXXTQETM_cjs.getConfirmationDialogScript()}
|
|
9617
9670
|
`;
|
|
9618
9671
|
const layoutData = {
|
|
9619
9672
|
title: "Cache System",
|
|
@@ -10299,14 +10352,14 @@ var faviconSvg = `<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
|
10299
10352
|
// src/app.ts
|
|
10300
10353
|
function createSonicJSApp(config = {}) {
|
|
10301
10354
|
const app2 = new hono.Hono();
|
|
10302
|
-
const appVersion = config.version ||
|
|
10355
|
+
const appVersion = config.version || chunkSQ6FNXU2_cjs.getCoreVersion();
|
|
10303
10356
|
const appName = config.name || "SonicJS AI";
|
|
10304
10357
|
app2.use("*", async (c, next) => {
|
|
10305
10358
|
c.set("appVersion", appVersion);
|
|
10306
10359
|
await next();
|
|
10307
10360
|
});
|
|
10308
|
-
app2.use("*",
|
|
10309
|
-
app2.use("*",
|
|
10361
|
+
app2.use("*", chunkDSUJ5YQH_cjs.metricsMiddleware());
|
|
10362
|
+
app2.use("*", chunkDSUJ5YQH_cjs.bootstrapMiddleware(config));
|
|
10310
10363
|
if (config.middleware?.beforeAuth) {
|
|
10311
10364
|
for (const middleware of config.middleware.beforeAuth) {
|
|
10312
10365
|
app2.use("*", middleware);
|
|
@@ -10315,32 +10368,32 @@ function createSonicJSApp(config = {}) {
|
|
|
10315
10368
|
app2.use("*", async (_c, next) => {
|
|
10316
10369
|
await next();
|
|
10317
10370
|
});
|
|
10318
|
-
app2.use("*",
|
|
10319
|
-
app2.use("*",
|
|
10371
|
+
app2.use("*", chunkDSUJ5YQH_cjs.securityHeadersMiddleware());
|
|
10372
|
+
app2.use("*", chunkDSUJ5YQH_cjs.csrfProtection());
|
|
10320
10373
|
if (config.middleware?.afterAuth) {
|
|
10321
10374
|
for (const middleware of config.middleware.afterAuth) {
|
|
10322
10375
|
app2.use("*", middleware);
|
|
10323
10376
|
}
|
|
10324
10377
|
}
|
|
10325
10378
|
const adminRoles = config.adminAccessRoles || ["admin"];
|
|
10326
|
-
app2.use("/admin/*",
|
|
10327
|
-
app2.use("/admin/*",
|
|
10379
|
+
app2.use("/admin/*", chunkDSUJ5YQH_cjs.requireAuth());
|
|
10380
|
+
app2.use("/admin/*", chunkDSUJ5YQH_cjs.requireRole(adminRoles));
|
|
10328
10381
|
app2.use("/admin/*", pluginMenuMiddleware());
|
|
10329
|
-
app2.route("/api",
|
|
10330
|
-
app2.route("/api/media",
|
|
10331
|
-
app2.route("/api/system",
|
|
10332
|
-
app2.route("/admin/api",
|
|
10333
|
-
app2.route("/admin/dashboard",
|
|
10334
|
-
app2.route("/admin/collections",
|
|
10335
|
-
app2.route("/admin/forms",
|
|
10336
|
-
app2.route("/admin/settings",
|
|
10337
|
-
app2.route("/forms",
|
|
10338
|
-
app2.route("/api/forms",
|
|
10339
|
-
app2.route("/admin/api-reference",
|
|
10382
|
+
app2.route("/api", chunkSXXTQETM_cjs.api_default);
|
|
10383
|
+
app2.route("/api/media", chunkSXXTQETM_cjs.api_media_default);
|
|
10384
|
+
app2.route("/api/system", chunkSXXTQETM_cjs.api_system_default);
|
|
10385
|
+
app2.route("/admin/api", chunkSXXTQETM_cjs.admin_api_default);
|
|
10386
|
+
app2.route("/admin/dashboard", chunkSXXTQETM_cjs.router);
|
|
10387
|
+
app2.route("/admin/collections", chunkSXXTQETM_cjs.adminCollectionsRoutes);
|
|
10388
|
+
app2.route("/admin/forms", chunkSXXTQETM_cjs.adminFormsRoutes);
|
|
10389
|
+
app2.route("/admin/settings", chunkSXXTQETM_cjs.adminSettingsRoutes);
|
|
10390
|
+
app2.route("/forms", chunkSXXTQETM_cjs.public_forms_default);
|
|
10391
|
+
app2.route("/api/forms", chunkSXXTQETM_cjs.public_forms_default);
|
|
10392
|
+
app2.route("/admin/api-reference", chunkSXXTQETM_cjs.router2);
|
|
10340
10393
|
app2.route("/admin/database-tools", createDatabaseToolsAdminRoutes());
|
|
10341
10394
|
app2.route("/admin/seed-data", createSeedDataAdminRoutes());
|
|
10342
|
-
app2.route("/admin/content",
|
|
10343
|
-
app2.route("/admin/media",
|
|
10395
|
+
app2.route("/admin/content", chunkSXXTQETM_cjs.admin_content_default);
|
|
10396
|
+
app2.route("/admin/media", chunkSXXTQETM_cjs.adminMediaRoutes);
|
|
10344
10397
|
app2.use("/auth/*", securityAuditMiddleware());
|
|
10345
10398
|
if (securityAuditPlugin.routes && securityAuditPlugin.routes.length > 0) {
|
|
10346
10399
|
for (const route of securityAuditPlugin.routes) {
|
|
@@ -10358,8 +10411,8 @@ function createSonicJSApp(config = {}) {
|
|
|
10358
10411
|
app2.route(route.path, route.handler);
|
|
10359
10412
|
}
|
|
10360
10413
|
}
|
|
10361
|
-
if (
|
|
10362
|
-
for (const route of
|
|
10414
|
+
if (chunkSXXTQETM_cjs.userProfilesPlugin.routes && chunkSXXTQETM_cjs.userProfilesPlugin.routes.length > 0) {
|
|
10415
|
+
for (const route of chunkSXXTQETM_cjs.userProfilesPlugin.routes) {
|
|
10363
10416
|
app2.route(route.path, route.handler);
|
|
10364
10417
|
}
|
|
10365
10418
|
}
|
|
@@ -10379,11 +10432,11 @@ function createSonicJSApp(config = {}) {
|
|
|
10379
10432
|
app2.route(route.path, route.handler);
|
|
10380
10433
|
}
|
|
10381
10434
|
}
|
|
10382
|
-
app2.route("/admin/plugins",
|
|
10383
|
-
app2.route("/admin/logs",
|
|
10384
|
-
app2.route("/admin",
|
|
10385
|
-
app2.route("/auth",
|
|
10386
|
-
app2.route("/",
|
|
10435
|
+
app2.route("/admin/plugins", chunkSXXTQETM_cjs.adminPluginRoutes);
|
|
10436
|
+
app2.route("/admin/logs", chunkSXXTQETM_cjs.adminLogsRoutes);
|
|
10437
|
+
app2.route("/admin", chunkSXXTQETM_cjs.userRoutes);
|
|
10438
|
+
app2.route("/auth", chunkSXXTQETM_cjs.auth_default);
|
|
10439
|
+
app2.route("/", chunkSXXTQETM_cjs.test_cleanup_default);
|
|
10387
10440
|
if (emailPlugin.routes && emailPlugin.routes.length > 0) {
|
|
10388
10441
|
for (const route of emailPlugin.routes) {
|
|
10389
10442
|
app2.route(route.path, route.handler);
|
|
@@ -10467,99 +10520,99 @@ function createDb(d1$1) {
|
|
|
10467
10520
|
}
|
|
10468
10521
|
|
|
10469
10522
|
// src/index.ts
|
|
10470
|
-
var VERSION =
|
|
10523
|
+
var VERSION = chunkSQ6FNXU2_cjs.package_default.version;
|
|
10471
10524
|
|
|
10472
10525
|
Object.defineProperty(exports, "ROUTES_INFO", {
|
|
10473
10526
|
enumerable: true,
|
|
10474
|
-
get: function () { return
|
|
10527
|
+
get: function () { return chunkSXXTQETM_cjs.ROUTES_INFO; }
|
|
10475
10528
|
});
|
|
10476
10529
|
Object.defineProperty(exports, "adminApiRoutes", {
|
|
10477
10530
|
enumerable: true,
|
|
10478
|
-
get: function () { return
|
|
10531
|
+
get: function () { return chunkSXXTQETM_cjs.admin_api_default; }
|
|
10479
10532
|
});
|
|
10480
10533
|
Object.defineProperty(exports, "adminCheckboxRoutes", {
|
|
10481
10534
|
enumerable: true,
|
|
10482
|
-
get: function () { return
|
|
10535
|
+
get: function () { return chunkSXXTQETM_cjs.adminCheckboxRoutes; }
|
|
10483
10536
|
});
|
|
10484
10537
|
Object.defineProperty(exports, "adminCodeExamplesRoutes", {
|
|
10485
10538
|
enumerable: true,
|
|
10486
|
-
get: function () { return
|
|
10539
|
+
get: function () { return chunkSXXTQETM_cjs.admin_code_examples_default; }
|
|
10487
10540
|
});
|
|
10488
10541
|
Object.defineProperty(exports, "adminCollectionsRoutes", {
|
|
10489
10542
|
enumerable: true,
|
|
10490
|
-
get: function () { return
|
|
10543
|
+
get: function () { return chunkSXXTQETM_cjs.adminCollectionsRoutes; }
|
|
10491
10544
|
});
|
|
10492
10545
|
Object.defineProperty(exports, "adminContentRoutes", {
|
|
10493
10546
|
enumerable: true,
|
|
10494
|
-
get: function () { return
|
|
10547
|
+
get: function () { return chunkSXXTQETM_cjs.admin_content_default; }
|
|
10495
10548
|
});
|
|
10496
10549
|
Object.defineProperty(exports, "adminDashboardRoutes", {
|
|
10497
10550
|
enumerable: true,
|
|
10498
|
-
get: function () { return
|
|
10551
|
+
get: function () { return chunkSXXTQETM_cjs.router; }
|
|
10499
10552
|
});
|
|
10500
10553
|
Object.defineProperty(exports, "adminDesignRoutes", {
|
|
10501
10554
|
enumerable: true,
|
|
10502
|
-
get: function () { return
|
|
10555
|
+
get: function () { return chunkSXXTQETM_cjs.adminDesignRoutes; }
|
|
10503
10556
|
});
|
|
10504
10557
|
Object.defineProperty(exports, "adminLogsRoutes", {
|
|
10505
10558
|
enumerable: true,
|
|
10506
|
-
get: function () { return
|
|
10559
|
+
get: function () { return chunkSXXTQETM_cjs.adminLogsRoutes; }
|
|
10507
10560
|
});
|
|
10508
10561
|
Object.defineProperty(exports, "adminMediaRoutes", {
|
|
10509
10562
|
enumerable: true,
|
|
10510
|
-
get: function () { return
|
|
10563
|
+
get: function () { return chunkSXXTQETM_cjs.adminMediaRoutes; }
|
|
10511
10564
|
});
|
|
10512
10565
|
Object.defineProperty(exports, "adminPluginRoutes", {
|
|
10513
10566
|
enumerable: true,
|
|
10514
|
-
get: function () { return
|
|
10567
|
+
get: function () { return chunkSXXTQETM_cjs.adminPluginRoutes; }
|
|
10515
10568
|
});
|
|
10516
10569
|
Object.defineProperty(exports, "adminSettingsRoutes", {
|
|
10517
10570
|
enumerable: true,
|
|
10518
|
-
get: function () { return
|
|
10571
|
+
get: function () { return chunkSXXTQETM_cjs.adminSettingsRoutes; }
|
|
10519
10572
|
});
|
|
10520
10573
|
Object.defineProperty(exports, "adminTestimonialsRoutes", {
|
|
10521
10574
|
enumerable: true,
|
|
10522
|
-
get: function () { return
|
|
10575
|
+
get: function () { return chunkSXXTQETM_cjs.admin_testimonials_default; }
|
|
10523
10576
|
});
|
|
10524
10577
|
Object.defineProperty(exports, "adminUsersRoutes", {
|
|
10525
10578
|
enumerable: true,
|
|
10526
|
-
get: function () { return
|
|
10579
|
+
get: function () { return chunkSXXTQETM_cjs.userRoutes; }
|
|
10527
10580
|
});
|
|
10528
10581
|
Object.defineProperty(exports, "apiContentCrudRoutes", {
|
|
10529
10582
|
enumerable: true,
|
|
10530
|
-
get: function () { return
|
|
10583
|
+
get: function () { return chunkSXXTQETM_cjs.api_content_crud_default; }
|
|
10531
10584
|
});
|
|
10532
10585
|
Object.defineProperty(exports, "apiMediaRoutes", {
|
|
10533
10586
|
enumerable: true,
|
|
10534
|
-
get: function () { return
|
|
10587
|
+
get: function () { return chunkSXXTQETM_cjs.api_media_default; }
|
|
10535
10588
|
});
|
|
10536
10589
|
Object.defineProperty(exports, "apiRoutes", {
|
|
10537
10590
|
enumerable: true,
|
|
10538
|
-
get: function () { return
|
|
10591
|
+
get: function () { return chunkSXXTQETM_cjs.api_default; }
|
|
10539
10592
|
});
|
|
10540
10593
|
Object.defineProperty(exports, "apiSystemRoutes", {
|
|
10541
10594
|
enumerable: true,
|
|
10542
|
-
get: function () { return
|
|
10595
|
+
get: function () { return chunkSXXTQETM_cjs.api_system_default; }
|
|
10543
10596
|
});
|
|
10544
10597
|
Object.defineProperty(exports, "authRoutes", {
|
|
10545
10598
|
enumerable: true,
|
|
10546
|
-
get: function () { return
|
|
10599
|
+
get: function () { return chunkSXXTQETM_cjs.auth_default; }
|
|
10547
10600
|
});
|
|
10548
10601
|
Object.defineProperty(exports, "createUserProfilesPlugin", {
|
|
10549
10602
|
enumerable: true,
|
|
10550
|
-
get: function () { return
|
|
10603
|
+
get: function () { return chunkSXXTQETM_cjs.createUserProfilesPlugin; }
|
|
10551
10604
|
});
|
|
10552
10605
|
Object.defineProperty(exports, "defineUserProfile", {
|
|
10553
10606
|
enumerable: true,
|
|
10554
|
-
get: function () { return
|
|
10607
|
+
get: function () { return chunkSXXTQETM_cjs.defineUserProfile; }
|
|
10555
10608
|
});
|
|
10556
10609
|
Object.defineProperty(exports, "getUserProfileConfig", {
|
|
10557
10610
|
enumerable: true,
|
|
10558
|
-
get: function () { return
|
|
10611
|
+
get: function () { return chunkSXXTQETM_cjs.getUserProfileConfig; }
|
|
10559
10612
|
});
|
|
10560
10613
|
Object.defineProperty(exports, "userProfilesPlugin", {
|
|
10561
10614
|
enumerable: true,
|
|
10562
|
-
get: function () { return
|
|
10615
|
+
get: function () { return chunkSXXTQETM_cjs.userProfilesPlugin; }
|
|
10563
10616
|
});
|
|
10564
10617
|
Object.defineProperty(exports, "Logger", {
|
|
10565
10618
|
enumerable: true,
|
|
@@ -10727,167 +10780,167 @@ Object.defineProperty(exports, "workflowHistory", {
|
|
|
10727
10780
|
});
|
|
10728
10781
|
Object.defineProperty(exports, "AuthManager", {
|
|
10729
10782
|
enumerable: true,
|
|
10730
|
-
get: function () { return
|
|
10783
|
+
get: function () { return chunkDSUJ5YQH_cjs.AuthManager; }
|
|
10731
10784
|
});
|
|
10732
10785
|
Object.defineProperty(exports, "PermissionManager", {
|
|
10733
10786
|
enumerable: true,
|
|
10734
|
-
get: function () { return
|
|
10787
|
+
get: function () { return chunkDSUJ5YQH_cjs.PermissionManager; }
|
|
10735
10788
|
});
|
|
10736
10789
|
Object.defineProperty(exports, "bootstrapMiddleware", {
|
|
10737
10790
|
enumerable: true,
|
|
10738
|
-
get: function () { return
|
|
10791
|
+
get: function () { return chunkDSUJ5YQH_cjs.bootstrapMiddleware; }
|
|
10739
10792
|
});
|
|
10740
10793
|
Object.defineProperty(exports, "cacheHeaders", {
|
|
10741
10794
|
enumerable: true,
|
|
10742
|
-
get: function () { return
|
|
10795
|
+
get: function () { return chunkDSUJ5YQH_cjs.cacheHeaders; }
|
|
10743
10796
|
});
|
|
10744
10797
|
Object.defineProperty(exports, "compressionMiddleware", {
|
|
10745
10798
|
enumerable: true,
|
|
10746
|
-
get: function () { return
|
|
10799
|
+
get: function () { return chunkDSUJ5YQH_cjs.compressionMiddleware; }
|
|
10747
10800
|
});
|
|
10748
10801
|
Object.defineProperty(exports, "detailedLoggingMiddleware", {
|
|
10749
10802
|
enumerable: true,
|
|
10750
|
-
get: function () { return
|
|
10803
|
+
get: function () { return chunkDSUJ5YQH_cjs.detailedLoggingMiddleware; }
|
|
10751
10804
|
});
|
|
10752
10805
|
Object.defineProperty(exports, "getActivePlugins", {
|
|
10753
10806
|
enumerable: true,
|
|
10754
|
-
get: function () { return
|
|
10807
|
+
get: function () { return chunkDSUJ5YQH_cjs.getActivePlugins; }
|
|
10755
10808
|
});
|
|
10756
10809
|
Object.defineProperty(exports, "isPluginActive", {
|
|
10757
10810
|
enumerable: true,
|
|
10758
|
-
get: function () { return
|
|
10811
|
+
get: function () { return chunkDSUJ5YQH_cjs.isPluginActive; }
|
|
10759
10812
|
});
|
|
10760
10813
|
Object.defineProperty(exports, "logActivity", {
|
|
10761
10814
|
enumerable: true,
|
|
10762
|
-
get: function () { return
|
|
10815
|
+
get: function () { return chunkDSUJ5YQH_cjs.logActivity; }
|
|
10763
10816
|
});
|
|
10764
10817
|
Object.defineProperty(exports, "loggingMiddleware", {
|
|
10765
10818
|
enumerable: true,
|
|
10766
|
-
get: function () { return
|
|
10819
|
+
get: function () { return chunkDSUJ5YQH_cjs.loggingMiddleware; }
|
|
10767
10820
|
});
|
|
10768
10821
|
Object.defineProperty(exports, "optionalAuth", {
|
|
10769
10822
|
enumerable: true,
|
|
10770
|
-
get: function () { return
|
|
10823
|
+
get: function () { return chunkDSUJ5YQH_cjs.optionalAuth; }
|
|
10771
10824
|
});
|
|
10772
10825
|
Object.defineProperty(exports, "performanceLoggingMiddleware", {
|
|
10773
10826
|
enumerable: true,
|
|
10774
|
-
get: function () { return
|
|
10827
|
+
get: function () { return chunkDSUJ5YQH_cjs.performanceLoggingMiddleware; }
|
|
10775
10828
|
});
|
|
10776
10829
|
Object.defineProperty(exports, "requireActivePlugin", {
|
|
10777
10830
|
enumerable: true,
|
|
10778
|
-
get: function () { return
|
|
10831
|
+
get: function () { return chunkDSUJ5YQH_cjs.requireActivePlugin; }
|
|
10779
10832
|
});
|
|
10780
10833
|
Object.defineProperty(exports, "requireActivePlugins", {
|
|
10781
10834
|
enumerable: true,
|
|
10782
|
-
get: function () { return
|
|
10835
|
+
get: function () { return chunkDSUJ5YQH_cjs.requireActivePlugins; }
|
|
10783
10836
|
});
|
|
10784
10837
|
Object.defineProperty(exports, "requireAnyPermission", {
|
|
10785
10838
|
enumerable: true,
|
|
10786
|
-
get: function () { return
|
|
10839
|
+
get: function () { return chunkDSUJ5YQH_cjs.requireAnyPermission; }
|
|
10787
10840
|
});
|
|
10788
10841
|
Object.defineProperty(exports, "requireAuth", {
|
|
10789
10842
|
enumerable: true,
|
|
10790
|
-
get: function () { return
|
|
10843
|
+
get: function () { return chunkDSUJ5YQH_cjs.requireAuth; }
|
|
10791
10844
|
});
|
|
10792
10845
|
Object.defineProperty(exports, "requirePermission", {
|
|
10793
10846
|
enumerable: true,
|
|
10794
|
-
get: function () { return
|
|
10847
|
+
get: function () { return chunkDSUJ5YQH_cjs.requirePermission; }
|
|
10795
10848
|
});
|
|
10796
10849
|
Object.defineProperty(exports, "requireRole", {
|
|
10797
10850
|
enumerable: true,
|
|
10798
|
-
get: function () { return
|
|
10851
|
+
get: function () { return chunkDSUJ5YQH_cjs.requireRole; }
|
|
10799
10852
|
});
|
|
10800
10853
|
Object.defineProperty(exports, "securityHeaders", {
|
|
10801
10854
|
enumerable: true,
|
|
10802
|
-
get: function () { return
|
|
10855
|
+
get: function () { return chunkDSUJ5YQH_cjs.securityHeadersMiddleware; }
|
|
10803
10856
|
});
|
|
10804
10857
|
Object.defineProperty(exports, "securityLoggingMiddleware", {
|
|
10805
10858
|
enumerable: true,
|
|
10806
|
-
get: function () { return
|
|
10859
|
+
get: function () { return chunkDSUJ5YQH_cjs.securityLoggingMiddleware; }
|
|
10807
10860
|
});
|
|
10808
10861
|
Object.defineProperty(exports, "PluginBootstrapService", {
|
|
10809
10862
|
enumerable: true,
|
|
10810
|
-
get: function () { return
|
|
10863
|
+
get: function () { return chunkT3Q5V33G_cjs.PluginBootstrapService; }
|
|
10811
10864
|
});
|
|
10812
10865
|
Object.defineProperty(exports, "PluginServiceClass", {
|
|
10813
10866
|
enumerable: true,
|
|
10814
|
-
get: function () { return
|
|
10867
|
+
get: function () { return chunkT3Q5V33G_cjs.PluginService; }
|
|
10815
10868
|
});
|
|
10816
10869
|
Object.defineProperty(exports, "backfillFormSubmissions", {
|
|
10817
10870
|
enumerable: true,
|
|
10818
|
-
get: function () { return
|
|
10871
|
+
get: function () { return chunkT3Q5V33G_cjs.backfillFormSubmissions; }
|
|
10819
10872
|
});
|
|
10820
10873
|
Object.defineProperty(exports, "cleanupRemovedCollections", {
|
|
10821
10874
|
enumerable: true,
|
|
10822
|
-
get: function () { return
|
|
10875
|
+
get: function () { return chunkT3Q5V33G_cjs.cleanupRemovedCollections; }
|
|
10823
10876
|
});
|
|
10824
10877
|
Object.defineProperty(exports, "createContentFromSubmission", {
|
|
10825
10878
|
enumerable: true,
|
|
10826
|
-
get: function () { return
|
|
10879
|
+
get: function () { return chunkT3Q5V33G_cjs.createContentFromSubmission; }
|
|
10827
10880
|
});
|
|
10828
10881
|
Object.defineProperty(exports, "deriveCollectionSchemaFromFormio", {
|
|
10829
10882
|
enumerable: true,
|
|
10830
|
-
get: function () { return
|
|
10883
|
+
get: function () { return chunkT3Q5V33G_cjs.deriveCollectionSchemaFromFormio; }
|
|
10831
10884
|
});
|
|
10832
10885
|
Object.defineProperty(exports, "deriveSubmissionTitle", {
|
|
10833
10886
|
enumerable: true,
|
|
10834
|
-
get: function () { return
|
|
10887
|
+
get: function () { return chunkT3Q5V33G_cjs.deriveSubmissionTitle; }
|
|
10835
10888
|
});
|
|
10836
10889
|
Object.defineProperty(exports, "fullCollectionSync", {
|
|
10837
10890
|
enumerable: true,
|
|
10838
|
-
get: function () { return
|
|
10891
|
+
get: function () { return chunkT3Q5V33G_cjs.fullCollectionSync; }
|
|
10839
10892
|
});
|
|
10840
10893
|
Object.defineProperty(exports, "getAvailableCollectionNames", {
|
|
10841
10894
|
enumerable: true,
|
|
10842
|
-
get: function () { return
|
|
10895
|
+
get: function () { return chunkT3Q5V33G_cjs.getAvailableCollectionNames; }
|
|
10843
10896
|
});
|
|
10844
10897
|
Object.defineProperty(exports, "getManagedCollections", {
|
|
10845
10898
|
enumerable: true,
|
|
10846
|
-
get: function () { return
|
|
10899
|
+
get: function () { return chunkT3Q5V33G_cjs.getManagedCollections; }
|
|
10847
10900
|
});
|
|
10848
10901
|
Object.defineProperty(exports, "isCollectionManaged", {
|
|
10849
10902
|
enumerable: true,
|
|
10850
|
-
get: function () { return
|
|
10903
|
+
get: function () { return chunkT3Q5V33G_cjs.isCollectionManaged; }
|
|
10851
10904
|
});
|
|
10852
10905
|
Object.defineProperty(exports, "loadCollectionConfig", {
|
|
10853
10906
|
enumerable: true,
|
|
10854
|
-
get: function () { return
|
|
10907
|
+
get: function () { return chunkT3Q5V33G_cjs.loadCollectionConfig; }
|
|
10855
10908
|
});
|
|
10856
10909
|
Object.defineProperty(exports, "loadCollectionConfigs", {
|
|
10857
10910
|
enumerable: true,
|
|
10858
|
-
get: function () { return
|
|
10911
|
+
get: function () { return chunkT3Q5V33G_cjs.loadCollectionConfigs; }
|
|
10859
10912
|
});
|
|
10860
10913
|
Object.defineProperty(exports, "mapFormStatusToContentStatus", {
|
|
10861
10914
|
enumerable: true,
|
|
10862
|
-
get: function () { return
|
|
10915
|
+
get: function () { return chunkT3Q5V33G_cjs.mapFormStatusToContentStatus; }
|
|
10863
10916
|
});
|
|
10864
10917
|
Object.defineProperty(exports, "registerCollections", {
|
|
10865
10918
|
enumerable: true,
|
|
10866
|
-
get: function () { return
|
|
10919
|
+
get: function () { return chunkT3Q5V33G_cjs.registerCollections; }
|
|
10867
10920
|
});
|
|
10868
10921
|
Object.defineProperty(exports, "syncAllFormCollections", {
|
|
10869
10922
|
enumerable: true,
|
|
10870
|
-
get: function () { return
|
|
10923
|
+
get: function () { return chunkT3Q5V33G_cjs.syncAllFormCollections; }
|
|
10871
10924
|
});
|
|
10872
10925
|
Object.defineProperty(exports, "syncCollection", {
|
|
10873
10926
|
enumerable: true,
|
|
10874
|
-
get: function () { return
|
|
10927
|
+
get: function () { return chunkT3Q5V33G_cjs.syncCollection; }
|
|
10875
10928
|
});
|
|
10876
10929
|
Object.defineProperty(exports, "syncCollections", {
|
|
10877
10930
|
enumerable: true,
|
|
10878
|
-
get: function () { return
|
|
10931
|
+
get: function () { return chunkT3Q5V33G_cjs.syncCollections; }
|
|
10879
10932
|
});
|
|
10880
10933
|
Object.defineProperty(exports, "syncFormCollection", {
|
|
10881
10934
|
enumerable: true,
|
|
10882
|
-
get: function () { return
|
|
10935
|
+
get: function () { return chunkT3Q5V33G_cjs.syncFormCollection; }
|
|
10883
10936
|
});
|
|
10884
10937
|
Object.defineProperty(exports, "validateCollectionConfig", {
|
|
10885
10938
|
enumerable: true,
|
|
10886
|
-
get: function () { return
|
|
10939
|
+
get: function () { return chunkT3Q5V33G_cjs.validateCollectionConfig; }
|
|
10887
10940
|
});
|
|
10888
10941
|
Object.defineProperty(exports, "MigrationService", {
|
|
10889
10942
|
enumerable: true,
|
|
10890
|
-
get: function () { return
|
|
10943
|
+
get: function () { return chunkC54YUA23_cjs.MigrationService; }
|
|
10891
10944
|
});
|
|
10892
10945
|
Object.defineProperty(exports, "renderFilterBar", {
|
|
10893
10946
|
enumerable: true,
|
|
@@ -10955,31 +11008,31 @@ Object.defineProperty(exports, "PluginHelpers", {
|
|
|
10955
11008
|
});
|
|
10956
11009
|
Object.defineProperty(exports, "QueryFilterBuilder", {
|
|
10957
11010
|
enumerable: true,
|
|
10958
|
-
get: function () { return
|
|
11011
|
+
get: function () { return chunkSQ6FNXU2_cjs.QueryFilterBuilder; }
|
|
10959
11012
|
});
|
|
10960
11013
|
Object.defineProperty(exports, "SONICJS_VERSION", {
|
|
10961
11014
|
enumerable: true,
|
|
10962
|
-
get: function () { return
|
|
11015
|
+
get: function () { return chunkSQ6FNXU2_cjs.SONICJS_VERSION; }
|
|
10963
11016
|
});
|
|
10964
11017
|
Object.defineProperty(exports, "TemplateRenderer", {
|
|
10965
11018
|
enumerable: true,
|
|
10966
|
-
get: function () { return
|
|
11019
|
+
get: function () { return chunkSQ6FNXU2_cjs.TemplateRenderer; }
|
|
10967
11020
|
});
|
|
10968
11021
|
Object.defineProperty(exports, "buildQuery", {
|
|
10969
11022
|
enumerable: true,
|
|
10970
|
-
get: function () { return
|
|
11023
|
+
get: function () { return chunkSQ6FNXU2_cjs.buildQuery; }
|
|
10971
11024
|
});
|
|
10972
11025
|
Object.defineProperty(exports, "getCoreVersion", {
|
|
10973
11026
|
enumerable: true,
|
|
10974
|
-
get: function () { return
|
|
11027
|
+
get: function () { return chunkSQ6FNXU2_cjs.getCoreVersion; }
|
|
10975
11028
|
});
|
|
10976
11029
|
Object.defineProperty(exports, "renderTemplate", {
|
|
10977
11030
|
enumerable: true,
|
|
10978
|
-
get: function () { return
|
|
11031
|
+
get: function () { return chunkSQ6FNXU2_cjs.renderTemplate; }
|
|
10979
11032
|
});
|
|
10980
11033
|
Object.defineProperty(exports, "templateRenderer", {
|
|
10981
11034
|
enumerable: true,
|
|
10982
|
-
get: function () { return
|
|
11035
|
+
get: function () { return chunkSQ6FNXU2_cjs.templateRenderer; }
|
|
10983
11036
|
});
|
|
10984
11037
|
Object.defineProperty(exports, "metricsTracker", {
|
|
10985
11038
|
enumerable: true,
|