@payez/next-mvp 4.1.7 → 4.1.9
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/README.md +792 -792
- package/dist/auth/better-auth.js +15 -3
- package/dist/components/account/MobileNavDrawer.js +18 -18
- package/dist/components/account/UserAvatarMenu.js +1 -1
- package/dist/components/admin/AlertSettingsTab.js +40 -40
- package/dist/components/admin/LoggingSettingsTab.js +28 -28
- package/dist/pages/login/page.js +28 -28
- package/dist/pages/settings/EnhancedSettingsPage.js +17 -17
- package/package.json +1 -1
- package/scripts/dev-broker.ps1 +35 -35
- package/scripts/dev-local.ps1 +45 -45
- package/src/api/auth-handler.ts +548 -548
- package/src/api-handlers/account/change-password.ts +142 -142
- package/src/api-handlers/account/update-phone.ts +79 -79
- package/src/api-handlers/account/verify-email.ts +125 -125
- package/src/api-handlers/account/verify-sms.ts +125 -125
- package/src/api-handlers/admin/analytics.ts +443 -443
- package/src/api-handlers/admin/audit.ts +223 -223
- package/src/api-handlers/admin/index.ts +63 -63
- package/src/api-handlers/admin/redis-sessions.ts +251 -251
- package/src/api-handlers/admin/sessions.ts +318 -318
- package/src/api-handlers/admin/site-logs.ts +365 -365
- package/src/api-handlers/admin/users.ts +242 -242
- package/src/api-handlers/admin/vibe-data.ts +324 -324
- package/src/api-handlers/auth/refresh.ts +682 -682
- package/src/api-handlers/auth/signout.ts +199 -199
- package/src/api-handlers/auth/status.ts +20 -20
- package/src/api-handlers/auth/update-session.ts +110 -110
- package/src/api-handlers/auth/verify-code.ts +112 -112
- package/src/api-handlers/session/refresh-viability.ts +36 -36
- package/src/api-handlers/test/force-expire.ts +60 -60
- package/src/auth/auth-decision.ts +229 -229
- package/src/auth/better-auth.ts +15 -3
- package/src/auth/route-config.ts +219 -219
- package/src/auth/types/auth-types.ts +555 -555
- package/src/auth/types/index.ts +7 -7
- package/src/auth/utils/idp-client.ts +445 -445
- package/src/auth/utils/index.ts +6 -6
- package/src/auth/utils/token-utils.ts +243 -243
- package/src/client/AuthContext.tsx +143 -143
- package/src/client/fetch-with-auth.ts +47 -47
- package/src/components/SessionSync.tsx +138 -138
- package/src/components/SignalRHealthCheck.tsx +131 -131
- package/src/components/account/MobileNavDrawer.tsx +305 -305
- package/src/components/account/UserAvatarMenu.tsx +266 -266
- package/src/components/account/index.ts +13 -13
- package/src/components/admin/AlertSettingsTab.tsx +728 -728
- package/src/components/admin/AnalyticsTab.tsx +703 -703
- package/src/components/admin/DataBrowserTab.tsx +505 -505
- package/src/components/admin/LoggingSettingsTab.tsx +665 -665
- package/src/components/admin/SessionsTab.tsx +414 -414
- package/src/components/admin/StatsTab.tsx +379 -379
- package/src/components/admin/VibeAdminLayout.tsx +187 -187
- package/src/components/admin/index.ts +59 -59
- package/src/components/auth/FederatedAuthSection.tsx +95 -95
- package/src/components/auth/ModeAwareLoginPage.tsx +135 -135
- package/src/components/auth/ModeAwareSignupPage.tsx +267 -267
- package/src/components/auth/TraditionalAuthSection.tsx +99 -99
- package/src/components/recovery/CompleteStep.tsx +36 -36
- package/src/components/recovery/InitiateRecoveryStep.tsx +68 -68
- package/src/components/recovery/SelectMethodStep.tsx +73 -73
- package/src/components/recovery/SetPasswordStep.tsx +97 -97
- package/src/components/recovery/VerifyCodeStep.tsx +90 -90
- package/src/components/reserved/ReservedRecoveryWarning.tsx +160 -160
- package/src/components/reserved/ReservedStatusBox.tsx +118 -118
- package/src/components/ui/BetaBadge.tsx +58 -58
- package/src/components/ui/Footer.tsx +93 -93
- package/src/config/env.ts +57 -57
- package/src/config/logger.ts +62 -62
- package/src/config/vibe-log-transport.ts +264 -264
- package/src/hooks/useAuth.ts +117 -117
- package/src/hooks/useAuthSettings.ts +97 -97
- package/src/hooks/useAvailableProviders.ts +120 -120
- package/src/hooks/usePasswordValidation.ts +127 -127
- package/src/hooks/usePublicAuthSettings.ts +149 -149
- package/src/hooks/useSessionExpiration.ts +101 -101
- package/src/hooks/useViabilitySession.ts +336 -336
- package/src/index.ts +60 -60
- package/src/lib/api-handler.ts +643 -643
- package/src/lib/app-slug.ts +178 -178
- package/src/lib/geolocation.ts +265 -265
- package/src/lib/idp-fetch.ts +110 -110
- package/src/lib/jwt-decode.ts +82 -82
- package/src/lib/roles.ts +177 -177
- package/src/lib/site-logger.ts +245 -245
- package/src/lib/standardized-client-api.ts +901 -901
- package/src/lib/test-aware-get-token.ts +41 -41
- package/src/lib/user-agent-parser.ts +252 -252
- package/src/logging/api/admin-analytics.ts +51 -51
- package/src/logging/api/audit-log.ts +53 -53
- package/src/logging/components/AdminAnalyticsLayout.tsx +49 -49
- package/src/logging/components/AuditLogViewer.tsx +125 -125
- package/src/logging/components/ErrorMetricsCard.tsx +98 -98
- package/src/logging/components/HealthMetricsCard.tsx +70 -70
- package/src/logging/hooks/useAdminAnalytics.ts +22 -22
- package/src/logging/hooks/useAuditLog.ts +24 -24
- package/src/logging/hooks/useErrorMetrics.ts +40 -40
- package/src/logging/hooks/useHealthMetrics.ts +44 -44
- package/src/logging/index.ts +18 -18
- package/src/logging/types/analytics.ts +81 -81
- package/src/logging/types/audit.ts +31 -31
- package/src/logging/types/index.ts +3 -3
- package/src/middleware/create-middleware.ts +663 -663
- package/src/middleware/rbac-check.ts +279 -279
- package/src/middleware/twofa-presets.ts +224 -224
- package/src/pages/admin-login/page.tsx +221 -221
- package/src/pages/admin-page-permissions/PagePermissionsAdminPage.tsx +527 -527
- package/src/pages/admin-page-permissions/index.ts +7 -7
- package/src/pages/admin-roles/RolesAdminPage.tsx +533 -533
- package/src/pages/admin-roles/modals.tsx +469 -469
- package/src/pages/client-admin/ClientSiteAdminPage.tsx +382 -382
- package/src/pages/client-admin/index.ts +33 -33
- package/src/pages/coming-soon/page.tsx +83 -83
- package/src/pages/login/page.tsx +456 -456
- package/src/pages/profile/EnhancedProfilePage.tsx +485 -485
- package/src/pages/profile/index.ts +9 -9
- package/src/pages/profile/page.tsx +166 -166
- package/src/pages/recovery/page.tsx +234 -234
- package/src/pages/roles/MyRolesPage.tsx +211 -211
- package/src/pages/roles/components.tsx +294 -294
- package/src/pages/roles/index.ts +17 -17
- package/src/pages/security/EnhancedSecurityPage.tsx +565 -565
- package/src/pages/security/index.ts +9 -9
- package/src/pages/security/page.tsx +507 -507
- package/src/pages/settings/EnhancedSettingsPage.tsx +642 -642
- package/src/pages/settings/index.ts +9 -9
- package/src/pages/settings/page.tsx +47 -47
- package/src/pages/showcase/ShowcasePage.tsx +532 -532
- package/src/pages/showcase/index.ts +13 -13
- package/src/pages/test-env/EmergencyLogoutPage.tsx +180 -180
- package/src/pages/test-env/JwtInspectPage.tsx +456 -456
- package/src/pages/test-env/RefreshTokenPage.tsx +157 -157
- package/src/pages/test-env/TestEnvPage.tsx +118 -118
- package/src/pages/test-env/index.ts +25 -25
- package/src/pages/verify-code/page.tsx +652 -652
- package/src/routes/account/update-phone.ts +13 -13
- package/src/routes/auth/logout.ts +108 -108
- package/src/routes/auth/nextauth.ts +45 -45
- package/src/routes/auth/settings.ts +75 -75
- package/src/routes/auth/viability.ts +224 -224
- package/src/server/auth-guard.ts +170 -170
- package/src/server/slim-middleware.ts +117 -117
- package/src/server/with-auth.ts +93 -93
- package/src/stores/authStore.ts +1899 -1899
- package/src/templates/instrumentation.ts +41 -41
- package/src/utils/logout.ts +30 -30
- package/src/vibe/client.ts +590 -590
- package/src/vibe/enterprise-auth.ts +208 -208
- package/src/vibe/errors.ts +185 -185
- package/src/vibe/generic.ts +431 -431
- package/src/vibe/hooks/index.ts +367 -367
- package/src/vibe/index.ts +132 -132
- package/src/vibe/sessions.ts +551 -551
- package/src/vibe/types.ts +577 -577
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Next.js Instrumentation Hook Template
|
|
3
|
-
*
|
|
4
|
-
* Copy this file to your project root as `instrumentation.ts`
|
|
5
|
-
*
|
|
6
|
-
* This runs once when the server starts up (before any requests are handled).
|
|
7
|
-
* It initializes the broker handshake to fetch OAuth providers and secrets from IDP.
|
|
8
|
-
*
|
|
9
|
-
* REQUIRED: Your next.config.js must have `output: 'standalone'` for this to work.
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
export async function register() {
|
|
13
|
-
if (process.env.NEXT_RUNTIME === 'nodejs') {
|
|
14
|
-
// Only run on Node.js runtime (not Edge)
|
|
15
|
-
console.log('\n');
|
|
16
|
-
console.log('╔══════════════════════════════════════════════════════════════╗');
|
|
17
|
-
console.log('║ PayEz Next MVP - Server Startup ║');
|
|
18
|
-
console.log('╚══════════════════════════════════════════════════════════════╝');
|
|
19
|
-
console.log('');
|
|
20
|
-
|
|
21
|
-
try {
|
|
22
|
-
// Dynamically import at runtime to ensure server environment
|
|
23
|
-
const { logStartupStatus, ensureInitialized } = await import(
|
|
24
|
-
'@payez/next-mvp/lib/startup-init'
|
|
25
|
-
);
|
|
26
|
-
|
|
27
|
-
// Log startup status
|
|
28
|
-
logStartupStatus();
|
|
29
|
-
|
|
30
|
-
// Perform initialization (fetch client config from IDP including OAuth providers)
|
|
31
|
-
await ensureInitialized();
|
|
32
|
-
|
|
33
|
-
console.log('');
|
|
34
|
-
console.log('Server startup initialization complete!');
|
|
35
|
-
console.log('');
|
|
36
|
-
} catch (error) {
|
|
37
|
-
console.error('Server startup initialization failed:', error);
|
|
38
|
-
console.error('Will retry initialization on first request.');
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Next.js Instrumentation Hook Template
|
|
3
|
+
*
|
|
4
|
+
* Copy this file to your project root as `instrumentation.ts`
|
|
5
|
+
*
|
|
6
|
+
* This runs once when the server starts up (before any requests are handled).
|
|
7
|
+
* It initializes the broker handshake to fetch OAuth providers and secrets from IDP.
|
|
8
|
+
*
|
|
9
|
+
* REQUIRED: Your next.config.js must have `output: 'standalone'` for this to work.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
export async function register() {
|
|
13
|
+
if (process.env.NEXT_RUNTIME === 'nodejs') {
|
|
14
|
+
// Only run on Node.js runtime (not Edge)
|
|
15
|
+
console.log('\n');
|
|
16
|
+
console.log('╔══════════════════════════════════════════════════════════════╗');
|
|
17
|
+
console.log('║ PayEz Next MVP - Server Startup ║');
|
|
18
|
+
console.log('╚══════════════════════════════════════════════════════════════╝');
|
|
19
|
+
console.log('');
|
|
20
|
+
|
|
21
|
+
try {
|
|
22
|
+
// Dynamically import at runtime to ensure server environment
|
|
23
|
+
const { logStartupStatus, ensureInitialized } = await import(
|
|
24
|
+
'@payez/next-mvp/lib/startup-init'
|
|
25
|
+
);
|
|
26
|
+
|
|
27
|
+
// Log startup status
|
|
28
|
+
logStartupStatus();
|
|
29
|
+
|
|
30
|
+
// Perform initialization (fetch client config from IDP including OAuth providers)
|
|
31
|
+
await ensureInitialized();
|
|
32
|
+
|
|
33
|
+
console.log('');
|
|
34
|
+
console.log('Server startup initialization complete!');
|
|
35
|
+
console.log('');
|
|
36
|
+
} catch (error) {
|
|
37
|
+
console.error('Server startup initialization failed:', error);
|
|
38
|
+
console.error('Will retry initialization on first request.');
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
package/src/utils/logout.ts
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Simple Logout Utility for @payez/next-mvp
|
|
3
|
-
*
|
|
4
|
-
* Provides a clean logout function that:
|
|
5
|
-
* - Clears NextAuth session
|
|
6
|
-
* - Redirects to login page
|
|
7
|
-
* - No external dependencies
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
import { authClient } from '../client/better-auth-client';
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Sign out the current user and redirect to login
|
|
14
|
-
*
|
|
15
|
-
* @param redirectUrl - URL to redirect to after logout (default: /account-auth/login)
|
|
16
|
-
*/
|
|
17
|
-
export async function logout(redirectUrl: string = '/account-auth/login'): Promise<void> {
|
|
18
|
-
try {
|
|
19
|
-
await authClient.signOut();
|
|
20
|
-
if (typeof window !== 'undefined') {
|
|
21
|
-
window.location.href = redirectUrl;
|
|
22
|
-
}
|
|
23
|
-
} catch (error) {
|
|
24
|
-
console.error('Logout error:', error);
|
|
25
|
-
// Fallback: force redirect to login
|
|
26
|
-
if (typeof window !== 'undefined') {
|
|
27
|
-
window.location.href = redirectUrl;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Simple Logout Utility for @payez/next-mvp
|
|
3
|
+
*
|
|
4
|
+
* Provides a clean logout function that:
|
|
5
|
+
* - Clears NextAuth session
|
|
6
|
+
* - Redirects to login page
|
|
7
|
+
* - No external dependencies
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import { authClient } from '../client/better-auth-client';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Sign out the current user and redirect to login
|
|
14
|
+
*
|
|
15
|
+
* @param redirectUrl - URL to redirect to after logout (default: /account-auth/login)
|
|
16
|
+
*/
|
|
17
|
+
export async function logout(redirectUrl: string = '/account-auth/login'): Promise<void> {
|
|
18
|
+
try {
|
|
19
|
+
await authClient.signOut();
|
|
20
|
+
if (typeof window !== 'undefined') {
|
|
21
|
+
window.location.href = redirectUrl;
|
|
22
|
+
}
|
|
23
|
+
} catch (error) {
|
|
24
|
+
console.error('Logout error:', error);
|
|
25
|
+
// Fallback: force redirect to login
|
|
26
|
+
if (typeof window !== 'undefined') {
|
|
27
|
+
window.location.href = redirectUrl;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|