@nextsparkjs/core 0.1.0-beta.105 → 0.1.0-beta.106
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/components/dashboard/misc/QuickCreateDropdown.d.ts.map +1 -1
- package/dist/components/dashboard/misc/QuickCreateDropdown.js +12 -9
- package/dist/lib/entities/registry.client.d.ts +7 -1
- package/dist/lib/entities/registry.client.d.ts.map +1 -1
- package/dist/lib/entities/registry.client.js +12 -1
- package/dist/lib/entities/types.d.ts +6 -3
- package/dist/lib/entities/types.d.ts.map +1 -1
- package/dist/styles/classes.json +1 -1
- package/dist/templates/app/(auth)/signup/page.tsx +1 -1
- package/dist/templates/app/api/auth/[...all]/route.ts +39 -10
- package/dist/templates/app/api/v1/billing/cancel/route.ts +8 -5
- package/dist/templates/app/api/v1/billing/checkout/route.ts +3 -3
- package/dist/templates/app/api/v1/billing/portal/route.ts +2 -2
- package/dist/templates/contents/themes/starter/messages/de/navigation.json +1 -0
- package/dist/templates/contents/themes/starter/messages/en/navigation.json +1 -0
- package/dist/templates/contents/themes/starter/messages/es/navigation.json +1 -0
- package/dist/templates/contents/themes/starter/messages/fr/navigation.json +1 -0
- package/dist/templates/contents/themes/starter/messages/it/navigation.json +1 -0
- package/dist/templates/contents/themes/starter/messages/pt/navigation.json +1 -0
- package/package.json +2 -2
- package/scripts/build/registry/generators/entity-registry.mjs +13 -1
- package/scripts/build/registry/generators/template-registry.mjs +9 -2
- package/templates/app/(auth)/signup/page.tsx +1 -1
- package/templates/app/api/auth/[...all]/route.ts +39 -10
- package/templates/app/api/v1/billing/cancel/route.ts +8 -5
- package/templates/app/api/v1/billing/checkout/route.ts +3 -3
- package/templates/app/api/v1/billing/portal/route.ts +2 -2
- package/templates/contents/themes/starter/messages/de/navigation.json +1 -0
- package/templates/contents/themes/starter/messages/en/navigation.json +1 -0
- package/templates/contents/themes/starter/messages/es/navigation.json +1 -0
- package/templates/contents/themes/starter/messages/fr/navigation.json +1 -0
- package/templates/contents/themes/starter/messages/it/navigation.json +1 -0
- package/templates/contents/themes/starter/messages/pt/navigation.json +1 -0
- package/dist/templates/app/api/v1/billing/webhooks/polar/route.ts +0 -410
- package/templates/app/api/v1/billing/webhooks/polar/route.ts +0 -410
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuickCreateDropdown.d.ts","sourceRoot":"","sources":["../../../../src/components/dashboard/misc/QuickCreateDropdown.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"QuickCreateDropdown.d.ts","sourceRoot":"","sources":["../../../../src/components/dashboard/misc/QuickCreateDropdown.tsx"],"names":[],"mappings":"AAqBA,wBAAgB,mBAAmB,4CAoElC"}
|
|
@@ -13,7 +13,12 @@ import {
|
|
|
13
13
|
import { Plus, Loader2 } from "lucide-react";
|
|
14
14
|
import { useQuickCreateEntities } from "../../../hooks/useQuickCreateEntities.js";
|
|
15
15
|
import { sel } from "../../../lib/test/index.js";
|
|
16
|
+
import { useTranslations } from "next-intl";
|
|
17
|
+
function capitalize(str) {
|
|
18
|
+
return str.charAt(0).toUpperCase() + str.slice(1);
|
|
19
|
+
}
|
|
16
20
|
function QuickCreateDropdown() {
|
|
21
|
+
const t = useTranslations("navigation");
|
|
17
22
|
const { entities: availableEntities, isLoading, hasEntities } = useQuickCreateEntities();
|
|
18
23
|
if (isLoading || !hasEntities) {
|
|
19
24
|
if (isLoading) {
|
|
@@ -24,7 +29,7 @@ function QuickCreateDropdown() {
|
|
|
24
29
|
size: "icon",
|
|
25
30
|
className: "relative h-8 w-8",
|
|
26
31
|
disabled: true,
|
|
27
|
-
"aria-label": "
|
|
32
|
+
"aria-label": t("quickCreate"),
|
|
28
33
|
children: /* @__PURE__ */ jsx(Loader2, { className: "h-4 w-4 animate-spin" })
|
|
29
34
|
}
|
|
30
35
|
);
|
|
@@ -38,7 +43,7 @@ function QuickCreateDropdown() {
|
|
|
38
43
|
variant: "ghost",
|
|
39
44
|
size: "icon",
|
|
40
45
|
className: "relative h-8 w-8",
|
|
41
|
-
"aria-label": "
|
|
46
|
+
"aria-label": t("quickCreate"),
|
|
42
47
|
"data-cy": sel("dashboard.topnav.quickCreate.trigger"),
|
|
43
48
|
children: /* @__PURE__ */ jsx(Plus, { className: "h-4 w-4" })
|
|
44
49
|
}
|
|
@@ -50,10 +55,11 @@ function QuickCreateDropdown() {
|
|
|
50
55
|
className: "w-56",
|
|
51
56
|
"data-cy": sel("dashboard.topnav.quickCreate.content"),
|
|
52
57
|
children: [
|
|
53
|
-
/* @__PURE__ */ jsx(DropdownMenuLabel, { children: "
|
|
58
|
+
/* @__PURE__ */ jsx(DropdownMenuLabel, { children: t("quickCreate") }),
|
|
54
59
|
/* @__PURE__ */ jsx(DropdownMenuSeparator, {}),
|
|
55
60
|
availableEntities.map((entity) => {
|
|
56
|
-
var _a
|
|
61
|
+
var _a;
|
|
62
|
+
const entityName = capitalize(((_a = entity.names) == null ? void 0 : _a.singular) || entity.slug);
|
|
57
63
|
return /* @__PURE__ */ jsx(DropdownMenuItem, { asChild: true, children: /* @__PURE__ */ jsxs(
|
|
58
64
|
Link,
|
|
59
65
|
{
|
|
@@ -63,11 +69,8 @@ function QuickCreateDropdown() {
|
|
|
63
69
|
children: [
|
|
64
70
|
/* @__PURE__ */ jsx(entity.icon, { className: "h-4 w-4" }),
|
|
65
71
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-col", children: [
|
|
66
|
-
/* @__PURE__ */ jsx("span", { className: "font-medium", children:
|
|
67
|
-
/* @__PURE__ */
|
|
68
|
-
"Create new ",
|
|
69
|
-
(((_b = entity.names) == null ? void 0 : _b.singular) || entity.slug).toLowerCase()
|
|
70
|
-
] })
|
|
72
|
+
/* @__PURE__ */ jsx("span", { className: "font-medium", children: entityName }),
|
|
73
|
+
/* @__PURE__ */ jsx("span", { className: "text-xs text-muted-foreground", children: t("quickCreateNew", { entity: entityName }) })
|
|
71
74
|
] })
|
|
72
75
|
]
|
|
73
76
|
}
|
|
@@ -4,7 +4,12 @@
|
|
|
4
4
|
* Provides minimal entity functionality for client components
|
|
5
5
|
* without any server-side imports or contents integration
|
|
6
6
|
*/
|
|
7
|
-
import type { EntityConfig } from './types';
|
|
7
|
+
import type { EntityConfig, EntityIcon } from './types';
|
|
8
|
+
/**
|
|
9
|
+
* Register an entity icon for client-side use
|
|
10
|
+
* Called by auto-generated entity-registry.client.ts
|
|
11
|
+
*/
|
|
12
|
+
export declare function registerEntityIcon(slug: string, icon: EntityIcon): void;
|
|
8
13
|
/**
|
|
9
14
|
* Client-only entity registry with minimal functionality
|
|
10
15
|
*/
|
|
@@ -35,6 +40,7 @@ export declare const clientEntityRegistry: ClientEntityRegistry;
|
|
|
35
40
|
/**
|
|
36
41
|
* Set entities from server-side data
|
|
37
42
|
* Called by EntityProvider when receiving server data
|
|
43
|
+
* Merges pre-registered icons from entityIconRegistry to preserve non-lucide icons
|
|
38
44
|
*/
|
|
39
45
|
export declare function setServerEntities(entities: EntityConfig[]): void;
|
|
40
46
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.client.d.ts","sourceRoot":"","sources":["../../../src/lib/entities/registry.client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"registry.client.d.ts","sourceRoot":"","sources":["../../../src/lib/entities/registry.client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AASvD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAIvE;AAED;;GAEG;AACH,cAAM,oBAAoB;IACxB,OAAO,CAAC,QAAQ,CAAuC;IAEvD;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAIpC;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAI3C;;OAEG;IACH,MAAM,IAAI,YAAY,EAAE;IAIxB;;OAEG;IACH,UAAU,IAAI,YAAY,EAAE;IAI5B;;OAEG;IACH,KAAK,IAAI,IAAI;CAGd;AAGD,eAAO,MAAM,oBAAoB,sBAA6B,CAAA;AAE9D;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI,CAWhE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,YAAY,EAAE,CAUpD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,YAAY,EAAE,CAEnD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAEzD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAEtE"}
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
const entityIconRegistry = /* @__PURE__ */ new Map();
|
|
3
|
+
function registerEntityIcon(slug, icon) {
|
|
4
|
+
if (icon) {
|
|
5
|
+
entityIconRegistry.set(slug, icon);
|
|
6
|
+
}
|
|
7
|
+
}
|
|
2
8
|
class ClientEntityRegistry {
|
|
3
9
|
entities = /* @__PURE__ */ new Map();
|
|
4
10
|
/**
|
|
@@ -35,9 +41,13 @@ class ClientEntityRegistry {
|
|
|
35
41
|
const clientEntityRegistry = new ClientEntityRegistry();
|
|
36
42
|
function setServerEntities(entities) {
|
|
37
43
|
for (const entity of entities) {
|
|
44
|
+
const registeredIcon = entityIconRegistry.get(entity.slug);
|
|
45
|
+
if (registeredIcon) {
|
|
46
|
+
entity.icon = registeredIcon;
|
|
47
|
+
}
|
|
38
48
|
clientEntityRegistry.register(entity);
|
|
39
49
|
}
|
|
40
|
-
console.log(`[EntityRegistry] Client-side: registered ${entities.length} entities from server`);
|
|
50
|
+
console.log(`[EntityRegistry] Client-side: registered ${entities.length} entities from server (${entityIconRegistry.size} icons from registry)`);
|
|
41
51
|
}
|
|
42
52
|
function getAllEntityConfigs() {
|
|
43
53
|
const clientEntities = clientEntityRegistry.getAll();
|
|
@@ -61,5 +71,6 @@ export {
|
|
|
61
71
|
getEnabledEntities,
|
|
62
72
|
getEntityConfig,
|
|
63
73
|
registerEntity,
|
|
74
|
+
registerEntityIcon,
|
|
64
75
|
setServerEntities
|
|
65
76
|
};
|
|
@@ -4,8 +4,11 @@
|
|
|
4
4
|
* This file defines the complete type system for the WordPress-like Entity System.
|
|
5
5
|
* It provides interfaces for config-driven architecture with comprehensive feature support.
|
|
6
6
|
*/
|
|
7
|
-
import type { LucideIcon } from 'lucide-react';
|
|
8
7
|
import type { ZodSchema } from 'zod';
|
|
8
|
+
/** Generic icon component type - compatible with lucide-react, @phosphor-icons/react, etc. */
|
|
9
|
+
export type EntityIcon = React.ComponentType<{
|
|
10
|
+
className?: string;
|
|
11
|
+
}>;
|
|
9
12
|
/**
|
|
10
13
|
* Plan types available in the application
|
|
11
14
|
*/
|
|
@@ -56,8 +59,8 @@ export interface EntityConfig {
|
|
|
56
59
|
/** Plural form (e.g., 'Tasks') */
|
|
57
60
|
plural: string;
|
|
58
61
|
};
|
|
59
|
-
/**
|
|
60
|
-
icon:
|
|
62
|
+
/** Icon component for UI display (lucide-react, @phosphor-icons/react, etc.) */
|
|
63
|
+
icon: EntityIcon;
|
|
61
64
|
/** Database table name (optional - defaults to slug with underscores) */
|
|
62
65
|
tableName?: string;
|
|
63
66
|
access: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/entities/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/entities/types.ts"],"names":[],"mappings":"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"}
|
package/dist/styles/classes.json
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { auth } from "@nextsparkjs/core/lib/auth";
|
|
2
2
|
import { toNextJsHandler } from "better-auth/next-js";
|
|
3
3
|
import { NextRequest, NextResponse } from "next/server";
|
|
4
|
-
import { TEAMS_CONFIG } from "@nextsparkjs/core/lib/config";
|
|
4
|
+
import { TEAMS_CONFIG, AUTH_CONFIG } from "@nextsparkjs/core/lib/config";
|
|
5
5
|
import { isPublicSignupRestricted } from "@nextsparkjs/core/lib/teams/helpers";
|
|
6
|
+
// Registration helpers available if needed: shouldBlockSignup, isDomainAllowed
|
|
7
|
+
// Currently domain validation happens in auth.ts databaseHooks
|
|
6
8
|
import { TeamService } from "@nextsparkjs/core/lib/services";
|
|
7
9
|
import { wrapAuthHandlerWithCors, handleCorsPreflightRequest, addCorsHeaders } from "@nextsparkjs/core/lib/api/helpers";
|
|
8
10
|
|
|
@@ -41,25 +43,52 @@ export async function GET(req: NextRequest, context: { params: Promise<{ all: st
|
|
|
41
43
|
return wrapAuthHandlerWithCors(() => handlers.GET(req), req);
|
|
42
44
|
}
|
|
43
45
|
|
|
44
|
-
// Intercept signup requests to validate
|
|
46
|
+
// Intercept signup requests to validate registration mode
|
|
45
47
|
export async function POST(req: NextRequest) {
|
|
46
48
|
const pathname = req.nextUrl.pathname;
|
|
47
49
|
|
|
48
|
-
//
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
// Determine request type
|
|
51
|
+
// Comprehensive signup endpoint detection to prevent bypasses
|
|
52
|
+
const signupEndpoints = [
|
|
53
|
+
'/sign-up/email',
|
|
54
|
+
'/sign-up/credentials',
|
|
55
|
+
'/signup',
|
|
56
|
+
'/register',
|
|
57
|
+
];
|
|
58
|
+
|
|
59
|
+
const isSignupAttempt = signupEndpoints.some(endpoint => pathname.includes(endpoint));
|
|
60
|
+
const isOAuthCallback = pathname.includes('/api/auth/callback/');
|
|
61
|
+
const isSignupRequest = isSignupAttempt || isOAuthCallback;
|
|
52
62
|
|
|
53
63
|
if (isSignupRequest) {
|
|
64
|
+
const registrationMode = AUTH_CONFIG?.registration?.mode ?? 'open';
|
|
54
65
|
const teamsMode = TEAMS_CONFIG.mode;
|
|
55
66
|
|
|
56
|
-
//
|
|
57
|
-
|
|
67
|
+
// --- Registration mode enforcement ---
|
|
68
|
+
|
|
69
|
+
// 1. Domain-restricted mode: block email signup, allow OAuth (validated in database hooks)
|
|
70
|
+
if (registrationMode === 'domain-restricted' && isSignupAttempt && !isOAuthCallback) {
|
|
71
|
+
// Block direct email/password signup in domain-restricted mode
|
|
72
|
+
// Only Google OAuth is allowed (domain validation happens in database hooks)
|
|
73
|
+
const errorResponse = NextResponse.json(
|
|
74
|
+
{
|
|
75
|
+
error: 'Email signup disabled',
|
|
76
|
+
message: 'Please sign up with Google using an authorized email domain.',
|
|
77
|
+
code: 'EMAIL_SIGNUP_DISABLED',
|
|
78
|
+
},
|
|
79
|
+
{ status: 403 }
|
|
80
|
+
);
|
|
81
|
+
return await addCorsHeaders(errorResponse, req);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// Note: OAuth domain validation happens in auth.ts databaseHooks (user.create.before)
|
|
85
|
+
// The hook throws an error if the email domain is not in allowedDomains
|
|
86
|
+
|
|
87
|
+
// 2. Invitation-only mode OR single-tenant teams mode: existing behavior
|
|
88
|
+
if (registrationMode === 'invitation-only' || isPublicSignupRestricted(teamsMode)) {
|
|
58
89
|
const teamExists = await TeamService.hasGlobal();
|
|
59
90
|
|
|
60
91
|
if (teamExists) {
|
|
61
|
-
// Block public signup - users must be invited
|
|
62
|
-
// Add CORS headers so mobile apps can read the error message
|
|
63
92
|
const errorResponse = NextResponse.json(
|
|
64
93
|
{
|
|
65
94
|
error: 'Registration is closed',
|
|
@@ -11,7 +11,11 @@ import { NextRequest, NextResponse } from 'next/server'
|
|
|
11
11
|
import { z } from 'zod'
|
|
12
12
|
import { authenticateRequest, createAuthError } from '@nextsparkjs/core/lib/api/auth/dual-auth'
|
|
13
13
|
import { SubscriptionService, MembershipService } from '@nextsparkjs/core/lib/services'
|
|
14
|
-
import {
|
|
14
|
+
import {
|
|
15
|
+
cancelSubscriptionAtPeriodEnd,
|
|
16
|
+
cancelSubscriptionImmediately,
|
|
17
|
+
reactivateSubscription
|
|
18
|
+
} from '@nextsparkjs/core/lib/billing/gateways/stripe'
|
|
15
19
|
import { queryWithRLS } from '@nextsparkjs/core/lib/db'
|
|
16
20
|
import { withRateLimitTier } from '@nextsparkjs/core/lib/api/rate-limit'
|
|
17
21
|
|
|
@@ -104,11 +108,10 @@ export const POST = withRateLimitTier(async (request: NextRequest) => {
|
|
|
104
108
|
|
|
105
109
|
// 6. Cancel via Stripe
|
|
106
110
|
try {
|
|
107
|
-
const gateway = getBillingGateway()
|
|
108
111
|
if (immediate) {
|
|
109
|
-
await
|
|
112
|
+
await cancelSubscriptionImmediately(subscription.externalSubscriptionId)
|
|
110
113
|
} else {
|
|
111
|
-
await
|
|
114
|
+
await cancelSubscriptionAtPeriodEnd(subscription.externalSubscriptionId)
|
|
112
115
|
}
|
|
113
116
|
|
|
114
117
|
// 7. Update local DB
|
|
@@ -171,7 +174,7 @@ async function handleReactivation(teamId: string) {
|
|
|
171
174
|
}
|
|
172
175
|
|
|
173
176
|
try {
|
|
174
|
-
await
|
|
177
|
+
await reactivateSubscription(subscription.externalSubscriptionId)
|
|
175
178
|
|
|
176
179
|
// Update local DB
|
|
177
180
|
await queryWithRLS(
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
import { NextRequest, NextResponse } from 'next/server'
|
|
13
13
|
import { authenticateRequest, createAuthError } from '@nextsparkjs/core/lib/api/auth/dual-auth'
|
|
14
|
-
import {
|
|
14
|
+
import { createCheckoutSession } from '@nextsparkjs/core/lib/billing/gateways/stripe'
|
|
15
15
|
import { SubscriptionService, MembershipService } from '@nextsparkjs/core/lib/services'
|
|
16
16
|
import { z } from 'zod'
|
|
17
17
|
import { withRateLimitTier } from '@nextsparkjs/core/lib/api/rate-limit'
|
|
@@ -94,8 +94,8 @@ export const POST = withRateLimitTier(async (request: NextRequest) => {
|
|
|
94
94
|
const successUrl = `${appUrl}/dashboard/settings/billing?success=true`
|
|
95
95
|
const cancelUrl = `${appUrl}/dashboard/settings/billing?canceled=true`
|
|
96
96
|
|
|
97
|
-
// Create
|
|
98
|
-
const session = await
|
|
97
|
+
// Create Stripe Checkout session
|
|
98
|
+
const session = await createCheckoutSession({
|
|
99
99
|
teamId,
|
|
100
100
|
planSlug,
|
|
101
101
|
billingPeriod,
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
import { NextRequest, NextResponse } from 'next/server'
|
|
11
11
|
import { authenticateRequest, createAuthError } from '@nextsparkjs/core/lib/api/auth/dual-auth'
|
|
12
|
-
import {
|
|
12
|
+
import { createPortalSession } from '@nextsparkjs/core/lib/billing/gateways/stripe'
|
|
13
13
|
import { SubscriptionService, MembershipService } from '@nextsparkjs/core/lib/services'
|
|
14
14
|
import { withRateLimitTier } from '@nextsparkjs/core/lib/api/rate-limit'
|
|
15
15
|
|
|
@@ -69,7 +69,7 @@ export const POST = withRateLimitTier(async (request: NextRequest) => {
|
|
|
69
69
|
const appUrl = process.env.NEXT_PUBLIC_APP_URL || 'http://localhost:5173'
|
|
70
70
|
const returnUrl = `${appUrl}/dashboard/settings/billing`
|
|
71
71
|
|
|
72
|
-
const session = await
|
|
72
|
+
const session = await createPortalSession({
|
|
73
73
|
customerId: subscription.externalCustomerId,
|
|
74
74
|
returnUrl
|
|
75
75
|
})
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nextsparkjs/core",
|
|
3
|
-
"version": "0.1.0-beta.
|
|
3
|
+
"version": "0.1.0-beta.106",
|
|
4
4
|
"description": "NextSpark - The complete SaaS framework for Next.js",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "NextSpark <hello@nextspark.dev>",
|
|
@@ -453,7 +453,7 @@
|
|
|
453
453
|
"tailwind-merge": "^3.3.1",
|
|
454
454
|
"uuid": "^13.0.0",
|
|
455
455
|
"zod": "^4.1.5",
|
|
456
|
-
"@nextsparkjs/testing": "0.1.0-beta.
|
|
456
|
+
"@nextsparkjs/testing": "0.1.0-beta.106"
|
|
457
457
|
},
|
|
458
458
|
"scripts": {
|
|
459
459
|
"postinstall": "node scripts/postinstall.mjs || true",
|
|
@@ -212,7 +212,15 @@ export function generateEntityRegistryClient(entities, config) {
|
|
|
212
212
|
return ` '${slug}': '${entity.name}'`
|
|
213
213
|
}).join(',\n')
|
|
214
214
|
|
|
215
|
-
|
|
215
|
+
// Generate icon registration calls
|
|
216
|
+
const iconRegistrations = entities
|
|
217
|
+
.filter(entity => entity.exportName)
|
|
218
|
+
.map(entity => `registerEntityIcon('${entity.name}', ${entity.exportName}.icon)`)
|
|
219
|
+
.join('\n')
|
|
220
|
+
|
|
221
|
+
return `'use client'
|
|
222
|
+
|
|
223
|
+
/**
|
|
216
224
|
* Client-Safe Entity Registry
|
|
217
225
|
*
|
|
218
226
|
* Generated at: ${new Date().toISOString()}
|
|
@@ -226,6 +234,10 @@ export function generateEntityRegistryClient(entities, config) {
|
|
|
226
234
|
*/
|
|
227
235
|
|
|
228
236
|
${imports}
|
|
237
|
+
import { registerEntityIcon } from '${convertCorePath('@/core/lib/entities/registry.client', outputFilePath, config)}'
|
|
238
|
+
|
|
239
|
+
// Pre-register entity icons so non-lucide icons survive server→client serialization
|
|
240
|
+
${iconRegistrations}
|
|
229
241
|
|
|
230
242
|
export interface ClientEntityConfig {
|
|
231
243
|
name: string
|
|
@@ -171,9 +171,16 @@ async function hasServerOnlyExports(filePath) {
|
|
|
171
171
|
/export\s+const\s+dynamic\s*=/,
|
|
172
172
|
/export\s+const\s+fetchCache\s*=/,
|
|
173
173
|
/export\s+const\s+runtime\s*=/,
|
|
174
|
+
/export\s+const\s+metadata\s*[=:]/,
|
|
174
175
|
]
|
|
175
176
|
|
|
176
|
-
|
|
177
|
+
// Check for server-only module imports
|
|
178
|
+
const serverOnlyImports = [
|
|
179
|
+
/import\s+.*from\s+['"]next\/headers['"]/,
|
|
180
|
+
/import\s+.*from\s+['"]server-only['"]/,
|
|
181
|
+
]
|
|
182
|
+
|
|
183
|
+
for (const pattern of [...serverFunctionExports, ...serverConstExports, ...serverOnlyImports]) {
|
|
177
184
|
if (pattern.test(content)) {
|
|
178
185
|
return true
|
|
179
186
|
}
|
|
@@ -215,7 +222,7 @@ export async function generateTemplateRegistryClient(templates, config) {
|
|
|
215
222
|
.filter(([appPath, pathTemplates]) => {
|
|
216
223
|
const template = pathTemplates[0]
|
|
217
224
|
// Only include page templates (not layouts) that can override components
|
|
218
|
-
return template.templateType === 'page' && canOverrideComponent(appPath)
|
|
225
|
+
return (template.templateType === 'page' || template.templateType === 'layout') && canOverrideComponent(appPath)
|
|
219
226
|
})
|
|
220
227
|
.map(async ([appPath, pathTemplates]) => {
|
|
221
228
|
const template = pathTemplates[0]
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { auth } from "@nextsparkjs/core/lib/auth";
|
|
2
2
|
import { toNextJsHandler } from "better-auth/next-js";
|
|
3
3
|
import { NextRequest, NextResponse } from "next/server";
|
|
4
|
-
import { TEAMS_CONFIG } from "@nextsparkjs/core/lib/config";
|
|
4
|
+
import { TEAMS_CONFIG, AUTH_CONFIG } from "@nextsparkjs/core/lib/config";
|
|
5
5
|
import { isPublicSignupRestricted } from "@nextsparkjs/core/lib/teams/helpers";
|
|
6
|
+
// Registration helpers available if needed: shouldBlockSignup, isDomainAllowed
|
|
7
|
+
// Currently domain validation happens in auth.ts databaseHooks
|
|
6
8
|
import { TeamService } from "@nextsparkjs/core/lib/services";
|
|
7
9
|
import { wrapAuthHandlerWithCors, handleCorsPreflightRequest, addCorsHeaders } from "@nextsparkjs/core/lib/api/helpers";
|
|
8
10
|
|
|
@@ -41,25 +43,52 @@ export async function GET(req: NextRequest, context: { params: Promise<{ all: st
|
|
|
41
43
|
return wrapAuthHandlerWithCors(() => handlers.GET(req), req);
|
|
42
44
|
}
|
|
43
45
|
|
|
44
|
-
// Intercept signup requests to validate
|
|
46
|
+
// Intercept signup requests to validate registration mode
|
|
45
47
|
export async function POST(req: NextRequest) {
|
|
46
48
|
const pathname = req.nextUrl.pathname;
|
|
47
49
|
|
|
48
|
-
//
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
// Determine request type
|
|
51
|
+
// Comprehensive signup endpoint detection to prevent bypasses
|
|
52
|
+
const signupEndpoints = [
|
|
53
|
+
'/sign-up/email',
|
|
54
|
+
'/sign-up/credentials',
|
|
55
|
+
'/signup',
|
|
56
|
+
'/register',
|
|
57
|
+
];
|
|
58
|
+
|
|
59
|
+
const isSignupAttempt = signupEndpoints.some(endpoint => pathname.includes(endpoint));
|
|
60
|
+
const isOAuthCallback = pathname.includes('/api/auth/callback/');
|
|
61
|
+
const isSignupRequest = isSignupAttempt || isOAuthCallback;
|
|
52
62
|
|
|
53
63
|
if (isSignupRequest) {
|
|
64
|
+
const registrationMode = AUTH_CONFIG?.registration?.mode ?? 'open';
|
|
54
65
|
const teamsMode = TEAMS_CONFIG.mode;
|
|
55
66
|
|
|
56
|
-
//
|
|
57
|
-
|
|
67
|
+
// --- Registration mode enforcement ---
|
|
68
|
+
|
|
69
|
+
// 1. Domain-restricted mode: block email signup, allow OAuth (validated in database hooks)
|
|
70
|
+
if (registrationMode === 'domain-restricted' && isSignupAttempt && !isOAuthCallback) {
|
|
71
|
+
// Block direct email/password signup in domain-restricted mode
|
|
72
|
+
// Only Google OAuth is allowed (domain validation happens in database hooks)
|
|
73
|
+
const errorResponse = NextResponse.json(
|
|
74
|
+
{
|
|
75
|
+
error: 'Email signup disabled',
|
|
76
|
+
message: 'Please sign up with Google using an authorized email domain.',
|
|
77
|
+
code: 'EMAIL_SIGNUP_DISABLED',
|
|
78
|
+
},
|
|
79
|
+
{ status: 403 }
|
|
80
|
+
);
|
|
81
|
+
return await addCorsHeaders(errorResponse, req);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// Note: OAuth domain validation happens in auth.ts databaseHooks (user.create.before)
|
|
85
|
+
// The hook throws an error if the email domain is not in allowedDomains
|
|
86
|
+
|
|
87
|
+
// 2. Invitation-only mode OR single-tenant teams mode: existing behavior
|
|
88
|
+
if (registrationMode === 'invitation-only' || isPublicSignupRestricted(teamsMode)) {
|
|
58
89
|
const teamExists = await TeamService.hasGlobal();
|
|
59
90
|
|
|
60
91
|
if (teamExists) {
|
|
61
|
-
// Block public signup - users must be invited
|
|
62
|
-
// Add CORS headers so mobile apps can read the error message
|
|
63
92
|
const errorResponse = NextResponse.json(
|
|
64
93
|
{
|
|
65
94
|
error: 'Registration is closed',
|
|
@@ -11,7 +11,11 @@ import { NextRequest, NextResponse } from 'next/server'
|
|
|
11
11
|
import { z } from 'zod'
|
|
12
12
|
import { authenticateRequest, createAuthError } from '@nextsparkjs/core/lib/api/auth/dual-auth'
|
|
13
13
|
import { SubscriptionService, MembershipService } from '@nextsparkjs/core/lib/services'
|
|
14
|
-
import {
|
|
14
|
+
import {
|
|
15
|
+
cancelSubscriptionAtPeriodEnd,
|
|
16
|
+
cancelSubscriptionImmediately,
|
|
17
|
+
reactivateSubscription
|
|
18
|
+
} from '@nextsparkjs/core/lib/billing/gateways/stripe'
|
|
15
19
|
import { queryWithRLS } from '@nextsparkjs/core/lib/db'
|
|
16
20
|
import { withRateLimitTier } from '@nextsparkjs/core/lib/api/rate-limit'
|
|
17
21
|
|
|
@@ -104,11 +108,10 @@ export const POST = withRateLimitTier(async (request: NextRequest) => {
|
|
|
104
108
|
|
|
105
109
|
// 6. Cancel via Stripe
|
|
106
110
|
try {
|
|
107
|
-
const gateway = getBillingGateway()
|
|
108
111
|
if (immediate) {
|
|
109
|
-
await
|
|
112
|
+
await cancelSubscriptionImmediately(subscription.externalSubscriptionId)
|
|
110
113
|
} else {
|
|
111
|
-
await
|
|
114
|
+
await cancelSubscriptionAtPeriodEnd(subscription.externalSubscriptionId)
|
|
112
115
|
}
|
|
113
116
|
|
|
114
117
|
// 7. Update local DB
|
|
@@ -171,7 +174,7 @@ async function handleReactivation(teamId: string) {
|
|
|
171
174
|
}
|
|
172
175
|
|
|
173
176
|
try {
|
|
174
|
-
await
|
|
177
|
+
await reactivateSubscription(subscription.externalSubscriptionId)
|
|
175
178
|
|
|
176
179
|
// Update local DB
|
|
177
180
|
await queryWithRLS(
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
import { NextRequest, NextResponse } from 'next/server'
|
|
13
13
|
import { authenticateRequest, createAuthError } from '@nextsparkjs/core/lib/api/auth/dual-auth'
|
|
14
|
-
import {
|
|
14
|
+
import { createCheckoutSession } from '@nextsparkjs/core/lib/billing/gateways/stripe'
|
|
15
15
|
import { SubscriptionService, MembershipService } from '@nextsparkjs/core/lib/services'
|
|
16
16
|
import { z } from 'zod'
|
|
17
17
|
import { withRateLimitTier } from '@nextsparkjs/core/lib/api/rate-limit'
|
|
@@ -94,8 +94,8 @@ export const POST = withRateLimitTier(async (request: NextRequest) => {
|
|
|
94
94
|
const successUrl = `${appUrl}/dashboard/settings/billing?success=true`
|
|
95
95
|
const cancelUrl = `${appUrl}/dashboard/settings/billing?canceled=true`
|
|
96
96
|
|
|
97
|
-
// Create
|
|
98
|
-
const session = await
|
|
97
|
+
// Create Stripe Checkout session
|
|
98
|
+
const session = await createCheckoutSession({
|
|
99
99
|
teamId,
|
|
100
100
|
planSlug,
|
|
101
101
|
billingPeriod,
|