@nextsparkjs/core 0.1.0-beta.104 → 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)/accept-invite/[token]/page.tsx +4 -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/app/dashboard/(main)/[entity]/loading.tsx +5 -2
- package/dist/templates/app/dashboard/(main)/loading.tsx +4 -1
- package/dist/templates/app/dashboard/(main)/patterns/[id]/edit/page.tsx +4 -1
- package/dist/templates/app/dashboard/(main)/patterns/[id]/page.tsx +4 -1
- package/dist/templates/app/dashboard/(main)/patterns/[id]/reports/page.tsx +4 -1
- package/dist/templates/app/dashboard/(main)/patterns/create/page.tsx +4 -1
- package/dist/templates/app/dashboard/(main)/patterns/page.tsx +4 -1
- package/dist/templates/app/dashboard/features/analytics/page.tsx +4 -1
- package/dist/templates/app/dashboard/features/automation/page.tsx +4 -1
- package/dist/templates/app/dashboard/features/layout.tsx +5 -2
- package/dist/templates/app/dashboard/features/loading.tsx +4 -1
- package/dist/templates/app/dashboard/features/webhooks/page.tsx +4 -1
- package/dist/templates/app/dashboard/permission-denied/page.tsx +4 -1
- package/dist/templates/app/dashboard/settings/api-keys/loading.tsx +4 -1
- package/dist/templates/app/dashboard/settings/billing/loading.tsx +4 -1
- package/dist/templates/app/dashboard/settings/invoices/loading.tsx +4 -1
- package/dist/templates/app/dashboard/settings/loading.tsx +4 -1
- package/dist/templates/app/dashboard/settings/notifications/loading.tsx +4 -1
- package/dist/templates/app/dashboard/settings/page.tsx +2 -1
- package/dist/templates/app/dashboard/settings/password/loading.tsx +4 -1
- package/dist/templates/app/dashboard/settings/plans/loading.tsx +4 -1
- package/dist/templates/app/dashboard/settings/profile/loading.tsx +4 -1
- package/dist/templates/app/dashboard/settings/security/loading.tsx +4 -1
- package/dist/templates/app/dashboard/settings/teams/loading.tsx +4 -1
- package/dist/templates/app/dashboard/settings/teams/permissions/page.tsx +4 -1
- 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)/accept-invite/[token]/page.tsx +4 -1
- 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/app/dashboard/(main)/[entity]/loading.tsx +5 -2
- package/templates/app/dashboard/(main)/loading.tsx +4 -1
- package/templates/app/dashboard/(main)/patterns/[id]/edit/page.tsx +4 -1
- package/templates/app/dashboard/(main)/patterns/[id]/page.tsx +4 -1
- package/templates/app/dashboard/(main)/patterns/[id]/reports/page.tsx +4 -1
- package/templates/app/dashboard/(main)/patterns/create/page.tsx +4 -1
- package/templates/app/dashboard/(main)/patterns/page.tsx +4 -1
- package/templates/app/dashboard/features/analytics/page.tsx +4 -1
- package/templates/app/dashboard/features/automation/page.tsx +4 -1
- package/templates/app/dashboard/features/layout.tsx +5 -2
- package/templates/app/dashboard/features/loading.tsx +4 -1
- package/templates/app/dashboard/features/webhooks/page.tsx +4 -1
- package/templates/app/dashboard/permission-denied/page.tsx +4 -1
- package/templates/app/dashboard/settings/api-keys/loading.tsx +4 -1
- package/templates/app/dashboard/settings/billing/loading.tsx +4 -1
- package/templates/app/dashboard/settings/invoices/loading.tsx +4 -1
- package/templates/app/dashboard/settings/loading.tsx +4 -1
- package/templates/app/dashboard/settings/notifications/loading.tsx +4 -1
- package/templates/app/dashboard/settings/page.tsx +2 -1
- package/templates/app/dashboard/settings/password/loading.tsx +4 -1
- package/templates/app/dashboard/settings/plans/loading.tsx +4 -1
- package/templates/app/dashboard/settings/profile/loading.tsx +4 -1
- package/templates/app/dashboard/settings/security/loading.tsx +4 -1
- package/templates/app/dashboard/settings/teams/loading.tsx +4 -1
- package/templates/app/dashboard/settings/teams/permissions/page.tsx +4 -1
- 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
|
@@ -9,6 +9,7 @@ import { Loader2, CheckCircle, XCircle, Users, LogIn, UserPlus } from 'lucide-re
|
|
|
9
9
|
import { toast } from 'sonner'
|
|
10
10
|
import Link from 'next/link'
|
|
11
11
|
import { sel } from '@nextsparkjs/core/selectors'
|
|
12
|
+
import { getTemplateOrDefaultClient } from '@nextsparkjs/registries/template-registry.client'
|
|
12
13
|
|
|
13
14
|
type InvitationStatus = 'loading' | 'valid' | 'accepting' | 'accepted' | 'error' | 'expired' | 'not_found' | 'email_mismatch' | 'already_member' | 'requires_auth'
|
|
14
15
|
|
|
@@ -19,7 +20,7 @@ interface InvitationInfo {
|
|
|
19
20
|
email: string
|
|
20
21
|
}
|
|
21
22
|
|
|
22
|
-
|
|
23
|
+
function AcceptInvitePage() {
|
|
23
24
|
const params = useParams()
|
|
24
25
|
const router = useRouter()
|
|
25
26
|
const { user, isLoading: authLoading } = useAuth()
|
|
@@ -333,3 +334,5 @@ export default function AcceptInvitePage() {
|
|
|
333
334
|
</div>
|
|
334
335
|
)
|
|
335
336
|
}
|
|
337
|
+
|
|
338
|
+
export default getTemplateOrDefaultClient('app/(auth)/accept-invite/[token]/page.tsx', AcceptInvitePage)
|
|
@@ -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
|
})
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Skeleton } from '@nextsparkjs/core/components/ui/skeleton'
|
|
2
|
+
import { getTemplateOrDefault } from '@nextsparkjs/core/lib/template-resolver'
|
|
2
3
|
|
|
3
|
-
|
|
4
|
+
function EntityLoading() {
|
|
4
5
|
return (
|
|
5
6
|
<div className="space-y-6 p-6">
|
|
6
7
|
{/* Header skeleton */}
|
|
@@ -58,4 +59,6 @@ export default function EntityLoading() {
|
|
|
58
59
|
</div>
|
|
59
60
|
</div>
|
|
60
61
|
)
|
|
61
|
-
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export default getTemplateOrDefault('app/dashboard/(main)/[entity]/loading.tsx', EntityLoading)
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { SkeletonDashboardHome } from '@nextsparkjs/core/components/ui/skeleton-dashboard'
|
|
2
|
+
import { getTemplateOrDefault } from '@nextsparkjs/core/lib/template-resolver'
|
|
2
3
|
|
|
3
|
-
|
|
4
|
+
function DashboardLoading() {
|
|
4
5
|
return <SkeletonDashboardHome />
|
|
5
6
|
}
|
|
7
|
+
|
|
8
|
+
export default getTemplateOrDefault('app/dashboard/(main)/loading.tsx', DashboardLoading)
|
|
@@ -14,8 +14,9 @@ import { EntityFormWrapper } from '@nextsparkjs/core/components/entities/wrapper
|
|
|
14
14
|
import { BuilderEditorView } from '@nextsparkjs/core/components/dashboard/block-editor/builder-editor-view'
|
|
15
15
|
import { Alert, AlertDescription } from '@nextsparkjs/core/components/ui/alert'
|
|
16
16
|
import { getEntityData } from '@nextsparkjs/core/lib/api/entities'
|
|
17
|
+
import { getTemplateOrDefaultClient } from '@nextsparkjs/registries/template-registry.client'
|
|
17
18
|
|
|
18
|
-
|
|
19
|
+
function PatternEditPage() {
|
|
19
20
|
const params = useParams()
|
|
20
21
|
const router = useRouter()
|
|
21
22
|
const [entityConfig, setEntityConfig] = useState<ClientEntityConfig | null>(null)
|
|
@@ -112,3 +113,5 @@ export default function PatternEditPage() {
|
|
|
112
113
|
/>
|
|
113
114
|
)
|
|
114
115
|
}
|
|
116
|
+
|
|
117
|
+
export default getTemplateOrDefaultClient('app/dashboard/(main)/patterns/[id]/edit/page.tsx', PatternEditPage)
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import { redirect } from 'next/navigation'
|
|
8
|
+
import { getTemplateOrDefault } from '@nextsparkjs/core/lib/template-resolver'
|
|
8
9
|
|
|
9
10
|
interface PageProps {
|
|
10
11
|
params: Promise<{
|
|
@@ -12,9 +13,11 @@ interface PageProps {
|
|
|
12
13
|
}>
|
|
13
14
|
}
|
|
14
15
|
|
|
15
|
-
|
|
16
|
+
async function PatternDetailPage({ params }: PageProps) {
|
|
16
17
|
const resolvedParams = await params
|
|
17
18
|
|
|
18
19
|
// Patterns are builder-enabled, so redirect to edit view
|
|
19
20
|
redirect(`/dashboard/patterns/${resolvedParams.id}/edit`)
|
|
20
21
|
}
|
|
22
|
+
|
|
23
|
+
export default getTemplateOrDefault('app/dashboard/(main)/patterns/[id]/page.tsx', PatternDetailPage)
|
|
@@ -17,6 +17,7 @@ import { Button } from '@nextsparkjs/core/components/ui/button'
|
|
|
17
17
|
import { Alert, AlertDescription, AlertTitle } from '@nextsparkjs/core/components/ui/alert'
|
|
18
18
|
import { Skeleton } from '@nextsparkjs/core/components/ui/skeleton'
|
|
19
19
|
import { getEntityData } from '@nextsparkjs/core/lib/api/entities'
|
|
20
|
+
import { getTemplateOrDefaultClient } from '@nextsparkjs/registries/template-registry.client'
|
|
20
21
|
|
|
21
22
|
interface PatternData {
|
|
22
23
|
id: string
|
|
@@ -24,7 +25,7 @@ interface PatternData {
|
|
|
24
25
|
title?: string
|
|
25
26
|
}
|
|
26
27
|
|
|
27
|
-
|
|
28
|
+
function PatternReportsPage() {
|
|
28
29
|
const params = useParams()
|
|
29
30
|
const router = useRouter()
|
|
30
31
|
const patternId = params.id as string
|
|
@@ -169,3 +170,5 @@ export default function PatternReportsPage() {
|
|
|
169
170
|
</div>
|
|
170
171
|
)
|
|
171
172
|
}
|
|
173
|
+
|
|
174
|
+
export default getTemplateOrDefaultClient('app/dashboard/(main)/patterns/[id]/reports/page.tsx', PatternReportsPage)
|
|
@@ -12,8 +12,9 @@ import { clientEntityRegistry, ensureClientInitialized, type ClientEntityConfig
|
|
|
12
12
|
import { EntityFormWrapper } from '@nextsparkjs/core/components/entities/wrappers/EntityFormWrapper'
|
|
13
13
|
import { BuilderEditorView } from '@nextsparkjs/core/components/dashboard/block-editor/builder-editor-view'
|
|
14
14
|
import { Alert, AlertDescription } from '@nextsparkjs/core/components/ui/alert'
|
|
15
|
+
import { getTemplateOrDefaultClient } from '@nextsparkjs/registries/template-registry.client'
|
|
15
16
|
|
|
16
|
-
|
|
17
|
+
function PatternsCreatePage() {
|
|
17
18
|
const router = useRouter()
|
|
18
19
|
const [entityConfig, setEntityConfig] = useState<ClientEntityConfig | null>(null)
|
|
19
20
|
const [loading, setLoading] = useState(true)
|
|
@@ -84,3 +85,5 @@ export default function PatternsCreatePage() {
|
|
|
84
85
|
/>
|
|
85
86
|
)
|
|
86
87
|
}
|
|
88
|
+
|
|
89
|
+
export default getTemplateOrDefaultClient('app/dashboard/(main)/patterns/create/page.tsx', PatternsCreatePage)
|
|
@@ -28,6 +28,7 @@ import type { Permission } from '@nextsparkjs/core/lib/permissions/types'
|
|
|
28
28
|
import type { QuickAction, DropdownAction } from '@nextsparkjs/core/components/entities/entity-table.types'
|
|
29
29
|
import { sel } from '@nextsparkjs/core/lib/test'
|
|
30
30
|
import { toast } from 'sonner'
|
|
31
|
+
import { getTemplateOrDefaultClient } from '@nextsparkjs/registries/template-registry.client'
|
|
31
32
|
|
|
32
33
|
interface PatternItem {
|
|
33
34
|
id: string
|
|
@@ -37,7 +38,7 @@ interface PatternItem {
|
|
|
37
38
|
[key: string]: unknown
|
|
38
39
|
}
|
|
39
40
|
|
|
40
|
-
|
|
41
|
+
function PatternsListPage() {
|
|
41
42
|
const entityType = 'patterns'
|
|
42
43
|
const router = useRouter()
|
|
43
44
|
|
|
@@ -442,3 +443,5 @@ export default function PatternsListPage() {
|
|
|
442
443
|
</div>
|
|
443
444
|
)
|
|
444
445
|
}
|
|
446
|
+
|
|
447
|
+
export default getTemplateOrDefaultClient('app/dashboard/(main)/patterns/page.tsx', PatternsListPage)
|
|
@@ -4,8 +4,9 @@ import { FeatureGate } from '@nextsparkjs/core/components/billing/FeatureGate'
|
|
|
4
4
|
import { FeaturePlaceholder } from '@nextsparkjs/core/components/billing/FeaturePlaceholder'
|
|
5
5
|
import { BarChart3 } from 'lucide-react'
|
|
6
6
|
import { useTranslations } from 'next-intl'
|
|
7
|
+
import { getTemplateOrDefaultClient } from '@nextsparkjs/registries/template-registry.client'
|
|
7
8
|
|
|
8
|
-
|
|
9
|
+
function AdvancedAnalyticsPage() {
|
|
9
10
|
const t = useTranslations('features')
|
|
10
11
|
|
|
11
12
|
return (
|
|
@@ -33,3 +34,5 @@ export default function AdvancedAnalyticsPage() {
|
|
|
33
34
|
</div>
|
|
34
35
|
)
|
|
35
36
|
}
|
|
37
|
+
|
|
38
|
+
export default getTemplateOrDefaultClient('app/dashboard/features/analytics/page.tsx', AdvancedAnalyticsPage)
|
|
@@ -4,8 +4,9 @@ import { FeatureGate } from '@nextsparkjs/core/components/billing/FeatureGate'
|
|
|
4
4
|
import { FeaturePlaceholder } from '@nextsparkjs/core/components/billing/FeaturePlaceholder'
|
|
5
5
|
import { Zap } from 'lucide-react'
|
|
6
6
|
import { useTranslations } from 'next-intl'
|
|
7
|
+
import { getTemplateOrDefaultClient } from '@nextsparkjs/registries/template-registry.client'
|
|
7
8
|
|
|
8
|
-
|
|
9
|
+
function TaskAutomationPage() {
|
|
9
10
|
const t = useTranslations('features')
|
|
10
11
|
|
|
11
12
|
return (
|
|
@@ -33,3 +34,5 @@ export default function TaskAutomationPage() {
|
|
|
33
34
|
</div>
|
|
34
35
|
)
|
|
35
36
|
}
|
|
37
|
+
|
|
38
|
+
export default getTemplateOrDefaultClient('app/dashboard/features/automation/page.tsx', TaskAutomationPage)
|
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
import { ReactNode } from 'react'
|
|
1
|
+
import { type ReactNode } from 'react'
|
|
2
|
+
import { getTemplateOrDefault } from '@nextsparkjs/core/lib/template-resolver'
|
|
2
3
|
|
|
3
4
|
interface FeaturesLayoutProps {
|
|
4
5
|
children: ReactNode
|
|
5
6
|
}
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
function FeaturesLayout({ children }: FeaturesLayoutProps) {
|
|
8
9
|
return (
|
|
9
10
|
<div className="container py-8" data-cy="features-layout">
|
|
10
11
|
{children}
|
|
11
12
|
</div>
|
|
12
13
|
)
|
|
13
14
|
}
|
|
15
|
+
|
|
16
|
+
export default getTemplateOrDefault('app/dashboard/features/layout.tsx', FeaturesLayout)
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { SkeletonFeaturePlaceholder } from '@nextsparkjs/core/components/ui/skeleton-features'
|
|
2
|
+
import { getTemplateOrDefault } from '@nextsparkjs/core/lib/template-resolver'
|
|
2
3
|
|
|
3
|
-
|
|
4
|
+
function FeaturesLoading() {
|
|
4
5
|
return <SkeletonFeaturePlaceholder />
|
|
5
6
|
}
|
|
7
|
+
|
|
8
|
+
export default getTemplateOrDefault('app/dashboard/features/loading.tsx', FeaturesLoading)
|
|
@@ -4,8 +4,9 @@ import { FeatureGate } from '@nextsparkjs/core/components/billing/FeatureGate'
|
|
|
4
4
|
import { FeaturePlaceholder } from '@nextsparkjs/core/components/billing/FeaturePlaceholder'
|
|
5
5
|
import { Webhook } from 'lucide-react'
|
|
6
6
|
import { useTranslations } from 'next-intl'
|
|
7
|
+
import { getTemplateOrDefaultClient } from '@nextsparkjs/registries/template-registry.client'
|
|
7
8
|
|
|
8
|
-
|
|
9
|
+
function WebhooksPage() {
|
|
9
10
|
const t = useTranslations('features')
|
|
10
11
|
|
|
11
12
|
return (
|
|
@@ -33,3 +34,5 @@ export default function WebhooksPage() {
|
|
|
33
34
|
</div>
|
|
34
35
|
)
|
|
35
36
|
}
|
|
37
|
+
|
|
38
|
+
export default getTemplateOrDefaultClient('app/dashboard/features/webhooks/page.tsx', WebhooksPage)
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* This page is displayed when a user attempts to access a resource they don't have permission for.
|
|
6
6
|
*/
|
|
7
7
|
import { NoPermission } from '@nextsparkjs/core/components/permissions/NoPermission'
|
|
8
|
+
import { getTemplateOrDefault } from '@nextsparkjs/core/lib/template-resolver'
|
|
8
9
|
|
|
9
10
|
interface PermissionDeniedPageProps {
|
|
10
11
|
searchParams: Promise<{
|
|
@@ -13,7 +14,7 @@ interface PermissionDeniedPageProps {
|
|
|
13
14
|
}>
|
|
14
15
|
}
|
|
15
16
|
|
|
16
|
-
|
|
17
|
+
async function PermissionDeniedPage({
|
|
17
18
|
searchParams
|
|
18
19
|
}: PermissionDeniedPageProps) {
|
|
19
20
|
const { entity, action } = await searchParams
|
|
@@ -27,3 +28,5 @@ export default async function PermissionDeniedPage({
|
|
|
27
28
|
/>
|
|
28
29
|
)
|
|
29
30
|
}
|
|
31
|
+
|
|
32
|
+
export default getTemplateOrDefault('app/dashboard/permission-denied/page.tsx', PermissionDeniedPage)
|