@nextsparkjs/core 0.1.0-beta.193 → 0.1.0-beta.195
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 +2 -2
- package/dist/components/app/guards/DeveloperGuard.d.ts +8 -1
- package/dist/components/app/guards/DeveloperGuard.d.ts.map +1 -1
- package/dist/components/app/guards/DeveloperGuard.js +2 -1
- package/dist/components/app/guards/SuperAdminGuard.d.ts +8 -1
- package/dist/components/app/guards/SuperAdminGuard.d.ts.map +1 -1
- package/dist/components/app/guards/SuperAdminGuard.js +2 -1
- package/dist/components/dashboard/block-editor/block-picker.d.ts.map +1 -1
- package/dist/components/dashboard/block-editor/block-picker.js +2 -1
- package/dist/components/dashboard/block-editor/builder-editor-view.d.ts.map +1 -1
- package/dist/components/dashboard/block-editor/builder-editor-view.js +39 -23
- package/dist/components/dashboard/block-editor/pattern-reference-preview.d.ts.map +1 -1
- package/dist/components/dashboard/block-editor/pattern-reference-preview.js +2 -1
- package/dist/components/dashboard/layouts/AuthGuard.d.ts.map +1 -1
- package/dist/components/dashboard/layouts/AuthGuard.js +3 -4
- package/dist/components/dashboard/layouts/AuthenticatedDashboardLayout.d.ts.map +1 -1
- package/dist/components/dashboard/layouts/AuthenticatedDashboardLayout.js +9 -10
- package/dist/components/dashboard/layouts/DashboardAuthLayout.d.ts.map +1 -1
- package/dist/components/dashboard/layouts/DashboardAuthLayout.js +3 -4
- package/dist/components/dashboard/layouts/DashboardAuthSkeleton.d.ts +2 -2
- package/dist/components/entities/wrappers/EntityDetailWrapper.d.ts.map +1 -1
- package/dist/components/entities/wrappers/EntityDetailWrapper.js +5 -2
- package/dist/components/entities/wrappers/EntityFormWrapper.d.ts.map +1 -1
- package/dist/components/entities/wrappers/EntityFormWrapper.js +5 -2
- package/dist/components/entities/wrappers/EntityListWrapper.d.ts.map +1 -1
- package/dist/components/entities/wrappers/EntityListWrapper.js +5 -2
- package/dist/components/ui/relation-display.d.ts.map +1 -1
- package/dist/components/ui/relation-display.js +2 -1
- package/dist/components/ui/user-display.d.ts.map +1 -1
- package/dist/components/ui/user-display.js +2 -1
- package/dist/emails/otp-verification.d.ts.map +1 -1
- package/dist/emails/otp-verification.js +5 -3
- package/dist/emails/reset-password.d.ts.map +1 -1
- package/dist/emails/reset-password.js +5 -3
- package/dist/emails/team-invitation.d.ts.map +1 -1
- package/dist/emails/team-invitation.js +3 -2
- package/dist/emails/verify-email.d.ts.map +1 -1
- package/dist/emails/verify-email.js +5 -3
- package/dist/hooks/useAuth.d.ts.map +1 -1
- package/dist/hooks/useAuth.js +21 -4
- package/dist/hooks/usePatternUsages.d.ts.map +1 -1
- package/dist/hooks/usePatternUsages.js +3 -2
- package/dist/lib/api/auth/permissions.d.ts +10 -0
- package/dist/lib/api/auth/permissions.d.ts.map +1 -1
- package/dist/lib/api/auth/permissions.js +7 -0
- package/dist/lib/api/auth.d.ts +2 -0
- package/dist/lib/api/auth.d.ts.map +1 -1
- package/dist/lib/api/auth.js +10 -10
- package/dist/lib/api/client-headers.d.ts +11 -0
- package/dist/lib/api/client-headers.d.ts.map +1 -0
- package/dist/lib/api/client-headers.js +12 -0
- package/dist/lib/api/client-ip.d.ts +59 -0
- package/dist/lib/api/client-ip.d.ts.map +1 -0
- package/dist/lib/api/client-ip.js +91 -0
- package/dist/lib/api/cors-response.d.ts +54 -0
- package/dist/lib/api/cors-response.d.ts.map +1 -0
- package/dist/lib/api/cors-response.js +88 -0
- package/dist/lib/api/entities.d.ts.map +1 -1
- package/dist/lib/api/entities.js +4 -3
- package/dist/lib/api/entity/audit-log.d.ts.map +1 -1
- package/dist/lib/api/entity/audit-log.js +2 -1
- package/dist/lib/api/entity/generic-handler.d.ts.map +1 -1
- package/dist/lib/api/entity/generic-handler.js +23 -5
- package/dist/lib/api/helpers.d.ts +8 -2
- package/dist/lib/api/helpers.d.ts.map +1 -1
- package/dist/lib/api/helpers.js +27 -81
- package/dist/lib/api/keys.d.ts +6 -0
- package/dist/lib/api/keys.d.ts.map +1 -1
- package/dist/lib/api/keys.js +7 -1
- package/dist/lib/api/rate-limit.d.ts +4 -0
- package/dist/lib/api/rate-limit.d.ts.map +1 -1
- package/dist/lib/api/rate-limit.js +17 -38
- package/dist/lib/api/request-origin.d.ts +35 -0
- package/dist/lib/api/request-origin.d.ts.map +1 -0
- package/dist/lib/api/request-origin.js +69 -0
- package/dist/lib/auth/load-login-page.d.ts +10 -0
- package/dist/lib/auth/load-login-page.d.ts.map +1 -0
- package/dist/lib/auth/load-login-page.js +7 -0
- package/dist/lib/auth/runtime-readiness.d.ts.map +1 -1
- package/dist/lib/auth/runtime-readiness.js +2 -0
- package/dist/lib/auth/security-notifications/device-fingerprint.d.ts +1 -8
- package/dist/lib/auth/security-notifications/device-fingerprint.d.ts.map +1 -1
- package/dist/lib/auth/security-notifications/device-fingerprint.js +2 -12
- package/dist/lib/auth-email-callbacks.js +3 -3
- package/dist/lib/auth.d.ts.map +1 -1
- package/dist/lib/auth.js +15 -14
- package/dist/lib/config/config-client.d.ts.map +1 -1
- package/dist/lib/config/config-client.js +1 -1
- package/dist/lib/config/config-sync.d.ts.map +1 -1
- package/dist/lib/config/config-sync.js +1 -1
- package/dist/lib/config/public-config-client.d.ts +1 -0
- package/dist/lib/config/public-config-client.d.ts.map +1 -1
- package/dist/lib/config/public-config-client.js +3 -1
- package/dist/lib/config/types.d.ts +2 -0
- package/dist/lib/config/types.d.ts.map +1 -1
- package/dist/lib/constants/reserved-slugs.d.ts +17 -8
- package/dist/lib/constants/reserved-slugs.d.ts.map +1 -1
- package/dist/lib/constants/reserved-slugs.js +16 -52
- package/dist/lib/db.d.ts.map +1 -1
- package/dist/lib/db.js +9 -3
- package/dist/lib/entities/external-api-generator.d.ts.map +1 -1
- package/dist/lib/entities/external-api-generator.js +5 -5
- package/dist/lib/entities/public-slug.d.ts +46 -0
- package/dist/lib/entities/public-slug.d.ts.map +1 -0
- package/dist/lib/entities/public-slug.js +39 -0
- package/dist/lib/services/subscription.service.d.ts.map +1 -1
- package/dist/lib/services/subscription.service.js +3 -0
- package/dist/lib/utils/cors.d.ts +7 -0
- package/dist/lib/utils/cors.d.ts.map +1 -1
- package/dist/lib/utils/cors.js +8 -0
- package/dist/routes/(auth)/signup/page.cc.d.ts +3 -8
- package/dist/routes/(auth)/signup/page.cc.d.ts.map +1 -1
- package/dist/routes/(auth)/signup/page.cc.js +7 -1
- package/dist/routes/(auth)/verify-email/page.d.ts.map +1 -1
- package/dist/routes/(auth)/verify-email/page.js +2 -1
- package/dist/routes/(public)/page.cc.d.ts +3 -0
- package/dist/routes/(public)/page.cc.d.ts.map +1 -0
- package/dist/routes/(public)/page.cc.js +3 -0
- package/dist/routes/_internal/area-access.cc.d.ts +21 -0
- package/dist/routes/_internal/area-access.cc.d.ts.map +1 -0
- package/dist/routes/_internal/area-access.cc.js +19 -0
- package/dist/routes/_internal/auth-layout.d.ts.map +1 -1
- package/dist/routes/_internal/auth-layout.js +3 -2
- package/dist/routes/_internal/dashboard-main-shared.d.ts +7 -0
- package/dist/routes/_internal/dashboard-main-shared.d.ts.map +1 -0
- package/dist/routes/_internal/dashboard-main-shared.js +49 -0
- package/dist/routes/_internal/default-auth-layout.d.ts.map +1 -1
- package/dist/routes/_internal/default-auth-layout.js +3 -2
- package/dist/routes/_internal/devtools-layout.cc.d.ts +3 -2
- package/dist/routes/_internal/devtools-layout.cc.d.ts.map +1 -1
- package/dist/routes/_internal/devtools-layout.cc.js +1 -1
- package/dist/routes/_internal/devtools-layout.d.ts +7 -2
- package/dist/routes/_internal/devtools-layout.d.ts.map +1 -1
- package/dist/routes/_internal/devtools-layout.js +4 -4
- package/dist/routes/_internal/entity-detail-route.cc.d.ts +8 -0
- package/dist/routes/_internal/entity-detail-route.cc.d.ts.map +1 -0
- package/dist/routes/_internal/entity-detail-route.cc.js +5 -0
- package/dist/routes/_internal/entity-edit-route.cc.d.ts +8 -0
- package/dist/routes/_internal/entity-edit-route.cc.d.ts.map +1 -0
- package/dist/routes/_internal/entity-edit-route.cc.js +5 -0
- package/dist/routes/_internal/public-archive-route.d.ts +1 -1
- package/dist/routes/_internal/public-archive-route.d.ts.map +1 -1
- package/dist/routes/_internal/public-archive-route.js +8 -3
- package/dist/routes/_internal/public-item-route.cc.d.ts +5 -1
- package/dist/routes/_internal/public-item-route.cc.d.ts.map +1 -1
- package/dist/routes/_internal/public-item-route.cc.js +2 -1
- package/dist/routes/_internal/public-item-route.d.ts +7 -0
- package/dist/routes/_internal/public-item-route.d.ts.map +1 -1
- package/dist/routes/_internal/public-item-route.js +6 -1
- package/dist/routes/_internal/superadmin-layout.cc.d.ts +2 -1
- package/dist/routes/_internal/superadmin-layout.cc.d.ts.map +1 -1
- package/dist/routes/_internal/superadmin-layout.cc.js +1 -1
- package/dist/routes/_internal/superadmin-layout.d.ts +7 -2
- package/dist/routes/_internal/superadmin-layout.d.ts.map +1 -1
- package/dist/routes/_internal/superadmin-layout.js +6 -6
- package/dist/routes/_internal/suspended-route.d.ts +16 -0
- package/dist/routes/_internal/suspended-route.d.ts.map +1 -0
- package/dist/routes/_internal/suspended-route.js +7 -0
- package/dist/routes/api/auth/[...all]/route.d.ts.map +1 -1
- package/dist/routes/api/auth/[...all]/route.js +4 -12
- package/dist/routes/api/csp-report/route.d.ts.map +1 -1
- package/dist/routes/api/csp-report/route.js +2 -13
- package/dist/routes/api/devtools/config/entities/route.d.ts +2 -0
- package/dist/routes/api/devtools/config/entities/route.d.ts.map +1 -1
- package/dist/routes/api/devtools/config/entities/route.js +2 -0
- package/dist/routes/api/devtools/config/theme/route.d.ts +2 -0
- package/dist/routes/api/devtools/config/theme/route.d.ts.map +1 -1
- package/dist/routes/api/devtools/config/theme/route.js +2 -0
- package/dist/routes/api/devtools/tests/[...path]/route.d.ts +2 -0
- package/dist/routes/api/devtools/tests/[...path]/route.d.ts.map +1 -1
- package/dist/routes/api/devtools/tests/[...path]/route.js +2 -0
- package/dist/routes/api/devtools/tests/route.d.ts +2 -0
- package/dist/routes/api/devtools/tests/route.d.ts.map +1 -1
- package/dist/routes/api/devtools/tests/route.js +2 -0
- package/dist/routes/api/health/route.d.ts +2 -0
- package/dist/routes/api/health/route.d.ts.map +1 -1
- package/dist/routes/api/health/route.js +2 -0
- package/dist/routes/api/internal/user-metadata/route.d.ts +2 -0
- package/dist/routes/api/internal/user-metadata/route.d.ts.map +1 -1
- package/dist/routes/api/internal/user-metadata/route.js +2 -0
- package/dist/routes/api/mcp/route.d.ts +2 -0
- package/dist/routes/api/mcp/route.d.ts.map +1 -1
- package/dist/routes/api/mcp/route.js +2 -0
- package/dist/routes/api/superadmin/subscriptions/route.d.ts +2 -0
- package/dist/routes/api/superadmin/subscriptions/route.d.ts.map +1 -1
- package/dist/routes/api/superadmin/subscriptions/route.js +2 -0
- package/dist/routes/api/superadmin/teams/[teamId]/route.d.ts +2 -0
- package/dist/routes/api/superadmin/teams/[teamId]/route.d.ts.map +1 -1
- package/dist/routes/api/superadmin/teams/[teamId]/route.js +2 -0
- package/dist/routes/api/superadmin/teams/route.d.ts +2 -0
- package/dist/routes/api/superadmin/teams/route.d.ts.map +1 -1
- package/dist/routes/api/superadmin/teams/route.js +2 -0
- package/dist/routes/api/superadmin/users/[userId]/route.d.ts +2 -0
- package/dist/routes/api/superadmin/users/[userId]/route.d.ts.map +1 -1
- package/dist/routes/api/superadmin/users/[userId]/route.js +2 -0
- package/dist/routes/api/superadmin/users/route.d.ts +2 -0
- package/dist/routes/api/superadmin/users/route.d.ts.map +1 -1
- package/dist/routes/api/superadmin/users/route.js +2 -0
- package/dist/routes/api/user/delete-account/route.d.ts +2 -0
- package/dist/routes/api/user/delete-account/route.d.ts.map +1 -1
- package/dist/routes/api/user/delete-account/route.js +2 -0
- package/dist/routes/api/user/plan-flags/route.d.ts +2 -0
- package/dist/routes/api/user/plan-flags/route.d.ts.map +1 -1
- package/dist/routes/api/user/plan-flags/route.js +2 -0
- package/dist/routes/api/user/profile/route.d.ts +2 -0
- package/dist/routes/api/user/profile/route.d.ts.map +1 -1
- package/dist/routes/api/user/profile/route.js +4 -3
- package/dist/routes/api/v1/[entity]/[id]/child/[childType]/[childId]/route.d.ts +2 -0
- package/dist/routes/api/v1/[entity]/[id]/child/[childType]/[childId]/route.d.ts.map +1 -1
- package/dist/routes/api/v1/[entity]/[id]/child/[childType]/[childId]/route.js +2 -0
- package/dist/routes/api/v1/[entity]/[id]/child/[childType]/route.d.ts +2 -0
- package/dist/routes/api/v1/[entity]/[id]/child/[childType]/route.d.ts.map +1 -1
- package/dist/routes/api/v1/[entity]/[id]/child/[childType]/route.js +2 -0
- package/dist/routes/api/v1/billing/cancel/route.d.ts +2 -0
- package/dist/routes/api/v1/billing/cancel/route.d.ts.map +1 -1
- package/dist/routes/api/v1/billing/cancel/route.js +2 -0
- package/dist/routes/api/v1/billing/change-plan/route.d.ts +2 -0
- package/dist/routes/api/v1/billing/change-plan/route.d.ts.map +1 -1
- package/dist/routes/api/v1/billing/change-plan/route.js +2 -0
- package/dist/routes/api/v1/billing/check-action/route.d.ts +2 -0
- package/dist/routes/api/v1/billing/check-action/route.d.ts.map +1 -1
- package/dist/routes/api/v1/billing/check-action/route.js +2 -0
- package/dist/routes/api/v1/billing/checkout/route.d.ts +2 -0
- package/dist/routes/api/v1/billing/checkout/route.d.ts.map +1 -1
- package/dist/routes/api/v1/billing/checkout/route.js +2 -0
- package/dist/routes/api/v1/billing/plans/route.d.ts +2 -0
- package/dist/routes/api/v1/billing/plans/route.d.ts.map +1 -1
- package/dist/routes/api/v1/billing/plans/route.js +2 -0
- package/dist/routes/api/v1/billing/portal/route.d.ts +2 -0
- package/dist/routes/api/v1/billing/portal/route.d.ts.map +1 -1
- package/dist/routes/api/v1/billing/portal/route.js +2 -0
- package/dist/routes/api/v1/blocks/[slug]/route.d.ts +2 -0
- package/dist/routes/api/v1/blocks/[slug]/route.d.ts.map +1 -1
- package/dist/routes/api/v1/blocks/[slug]/route.js +2 -0
- package/dist/routes/api/v1/blocks/route.d.ts +2 -0
- package/dist/routes/api/v1/blocks/route.d.ts.map +1 -1
- package/dist/routes/api/v1/blocks/route.js +2 -0
- package/dist/routes/api/v1/blocks/validate/route.d.ts +2 -0
- package/dist/routes/api/v1/blocks/validate/route.d.ts.map +1 -1
- package/dist/routes/api/v1/blocks/validate/route.js +2 -0
- package/dist/routes/api/v1/devtools/blocks/route.d.ts +2 -1
- package/dist/routes/api/v1/devtools/blocks/route.d.ts.map +1 -1
- package/dist/routes/api/v1/devtools/blocks/route.js +2 -9
- package/dist/routes/api/v1/devtools/docs/route.d.ts +2 -0
- package/dist/routes/api/v1/devtools/docs/route.d.ts.map +1 -1
- package/dist/routes/api/v1/devtools/docs/route.js +2 -0
- package/dist/routes/api/v1/devtools/features/route.d.ts +2 -1
- package/dist/routes/api/v1/devtools/features/route.d.ts.map +1 -1
- package/dist/routes/api/v1/devtools/features/route.js +2 -9
- package/dist/routes/api/v1/devtools/flows/route.d.ts +2 -1
- package/dist/routes/api/v1/devtools/flows/route.d.ts.map +1 -1
- package/dist/routes/api/v1/devtools/flows/route.js +2 -9
- package/dist/routes/api/v1/devtools/scheduled-actions/route.d.ts +2 -1
- package/dist/routes/api/v1/devtools/scheduled-actions/route.d.ts.map +1 -1
- package/dist/routes/api/v1/devtools/scheduled-actions/route.js +2 -9
- package/dist/routes/api/v1/devtools/scheduled-actions/run/route.d.ts +2 -1
- package/dist/routes/api/v1/devtools/scheduled-actions/run/route.d.ts.map +1 -1
- package/dist/routes/api/v1/devtools/scheduled-actions/run/route.js +2 -9
- package/dist/routes/api/v1/devtools/testing/route.d.ts +2 -1
- package/dist/routes/api/v1/devtools/testing/route.d.ts.map +1 -1
- package/dist/routes/api/v1/devtools/testing/route.js +2 -9
- package/dist/routes/api/v1/media/[id]/route.d.ts +2 -0
- package/dist/routes/api/v1/media/[id]/route.d.ts.map +1 -1
- package/dist/routes/api/v1/media/[id]/route.js +2 -0
- package/dist/routes/api/v1/media/[id]/tags/route.d.ts +2 -0
- package/dist/routes/api/v1/media/[id]/tags/route.d.ts.map +1 -1
- package/dist/routes/api/v1/media/[id]/tags/route.js +2 -0
- package/dist/routes/api/v1/media/check-duplicates/route.d.ts +2 -0
- package/dist/routes/api/v1/media/check-duplicates/route.d.ts.map +1 -1
- package/dist/routes/api/v1/media/check-duplicates/route.js +2 -0
- package/dist/routes/api/v1/media/route.d.ts +2 -0
- package/dist/routes/api/v1/media/route.d.ts.map +1 -1
- package/dist/routes/api/v1/media/route.js +2 -0
- package/dist/routes/api/v1/media/upload/route.d.ts +2 -0
- package/dist/routes/api/v1/media/upload/route.d.ts.map +1 -1
- package/dist/routes/api/v1/media/upload/route.js +2 -0
- package/dist/routes/api/v1/media-tags/route.d.ts +2 -0
- package/dist/routes/api/v1/media-tags/route.d.ts.map +1 -1
- package/dist/routes/api/v1/media-tags/route.js +2 -0
- package/dist/routes/api/v1/post-categories/[id]/route.d.ts +2 -0
- package/dist/routes/api/v1/post-categories/[id]/route.d.ts.map +1 -1
- package/dist/routes/api/v1/post-categories/[id]/route.js +2 -0
- package/dist/routes/api/v1/post-categories/route.d.ts +2 -0
- package/dist/routes/api/v1/post-categories/route.d.ts.map +1 -1
- package/dist/routes/api/v1/post-categories/route.js +2 -0
- package/dist/routes/api/v1/teams/[teamId]/members/route.js +2 -2
- package/dist/routes/api/v1/teams/[teamId]/subscription/route.d.ts +2 -0
- package/dist/routes/api/v1/teams/[teamId]/subscription/route.d.ts.map +1 -1
- package/dist/routes/api/v1/teams/[teamId]/subscription/route.js +2 -0
- package/dist/routes/api/v1/teams/[teamId]/usage/[limitSlug]/route.d.ts +2 -0
- package/dist/routes/api/v1/teams/[teamId]/usage/[limitSlug]/route.d.ts.map +1 -1
- package/dist/routes/api/v1/teams/[teamId]/usage/[limitSlug]/route.js +2 -0
- package/dist/routes/api/v1/users/[id]/meta/[key]/route.d.ts.map +1 -1
- package/dist/routes/api/v1/users/[id]/meta/[key]/route.js +13 -0
- package/dist/routes/api/v1/users/[id]/route.d.ts.map +1 -1
- package/dist/routes/api/v1/users/[id]/route.js +20 -2
- package/dist/routes/api/v1/users/docs.md +34 -19
- package/dist/routes/api/v1/users/me/route.d.ts +6 -0
- package/dist/routes/api/v1/users/me/route.d.ts.map +1 -0
- package/dist/routes/api/v1/users/me/route.js +5 -0
- package/dist/routes/api/v1/users/presets.ts +2 -2
- package/dist/routes/dashboard/(main)/layout.cc.d.ts +4 -0
- package/dist/routes/dashboard/(main)/layout.cc.d.ts.map +1 -0
- package/dist/routes/dashboard/(main)/layout.cc.js +10 -0
- package/dist/routes/dashboard/(main)/layout.d.ts.map +1 -1
- package/dist/routes/dashboard/(main)/layout.js +3 -44
- package/dist/routes/dashboard/permission-denied/page.d.ts +1 -1
- package/dist/routes/dashboard/permission-denied/page.d.ts.map +1 -1
- package/dist/routes/dashboard/permission-denied/page.js +5 -1
- package/dist/routes/devtools/layout.cc.d.ts.map +1 -1
- package/dist/routes/devtools/layout.cc.js +5 -1
- package/dist/routes/manifest.json +10 -0
- package/dist/routes/robots.d.ts +10 -0
- package/dist/routes/robots.d.ts.map +1 -0
- package/dist/routes/robots.js +10 -0
- package/dist/routes/superadmin/layout.cc.d.ts.map +1 -1
- package/dist/routes/superadmin/layout.cc.js +5 -1
- package/dist/routes/variants.json +12 -2
- package/dist/templates/next.config.mjs +2 -29
- package/dist/templates/projects/blog/api/authors/[username]/route.ts +3 -0
- package/dist/templates/projects/blog/api/authors/route.ts +3 -0
- package/dist/templates/projects/blog/api/posts/public/route.ts +3 -0
- package/dist/templates/projects/blog/package.json +3 -3
- package/dist/templates/projects/crm/package.json +3 -3
- package/dist/templates/projects/productivity/package.json +3 -3
- package/dist/templates/proxy.ts +12 -1
- package/dist/templates/public/favicon.ico +0 -0
- package/package.json +8 -5
- package/scripts/build/auth-readiness.mjs +4 -0
- package/scripts/build/registry/__tests__/api-docs-colocated.test.mjs +3 -0
- package/scripts/build/registry/__tests__/billing-registry.test.mjs +50 -1
- package/scripts/build/registry/__tests__/block-registry.test.mjs +3 -0
- package/scripts/build/registry/__tests__/build-output.test.mjs +1 -1
- package/scripts/build/registry/__tests__/icons-discovery.test.mjs +3 -0
- package/scripts/build/registry/__tests__/project-mode-root-first.test.mjs +6 -6
- package/scripts/build/registry/__tests__/quiet-console.mjs +17 -0
- package/scripts/build/registry/__tests__/safe-fs.test.mjs +3 -0
- package/scripts/build/registry/__tests__/team-roles.test.mjs +3 -0
- package/scripts/build/registry/__tests__/write-places.test.mjs +1 -1
- package/scripts/build/registry/contracts/__tests__/contracts-wire.test.mjs +1 -1
- package/scripts/build/registry/contracts/__tests__/contracts.test.mjs +1 -1
- package/scripts/build/registry/contracts/render.mjs +3 -3
- package/scripts/build/registry/discovery/permissions.test.mjs +3 -0
- package/scripts/build/registry/discovery/plugin-capabilities.mjs +2 -2
- package/scripts/build/registry/generators/billing-registry.mjs +7 -3
- package/scripts/build/registry/host/README.md +27 -3
- package/scripts/build/registry/host/__tests__/facade-emitter.test.mjs +9 -9
- package/scripts/build/registry/host/__tests__/host-area-access.test.mjs +32 -0
- package/scripts/build/registry/host/__tests__/host-entities.test.mjs +32 -1
- package/scripts/build/registry/host/__tests__/host-mode.test.mjs +1 -1
- package/scripts/build/registry/host/__tests__/host-plan.test.mjs +12 -2
- package/scripts/build/registry/host/__tests__/host-project-composition.test.mjs +1 -1
- package/scripts/build/registry/host/__tests__/host-project.test.mjs +2 -2
- package/scripts/build/registry/host/__tests__/host-robustness.test.mjs +65 -2
- package/scripts/build/registry/host/entity-routes.mjs +9 -3
- package/scripts/build/registry/host/facade-emitter.mjs +2 -2
- package/scripts/build/registry/host/generation.mjs +54 -0
- package/scripts/build/registry/host/next-route-exports.json +2 -2
- package/scripts/build/registry/host/prepare.mjs +3 -0
- package/scripts/build/registry/host/static-imports.mjs +4 -0
- package/scripts/build/routes-manifest.mjs +13 -1
- package/scripts/db/migration-time-limit.mjs +216 -34
- package/scripts/db/run-migrations.mjs +11 -179
- package/scripts/db/ssl-config.mjs +12 -1
- package/scripts/db/verify-theme-migrations.mjs +1 -1
- package/templates/next.config.mjs +2 -29
- package/templates/projects/blog/api/authors/[username]/route.ts +3 -0
- package/templates/projects/blog/api/authors/route.ts +3 -0
- package/templates/projects/blog/api/posts/public/route.ts +3 -0
- package/templates/projects/blog/package.json +3 -3
- package/templates/projects/crm/package.json +3 -3
- package/templates/projects/productivity/package.json +3 -3
- package/templates/proxy.ts +12 -1
- package/templates/public/favicon.ico +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../src/routes/api/v1/blocks/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../src/routes/api/v1/blocks/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAGvD,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AAEvE,eAAO,MAAM,GAAG,iDAyCN,CAAC;AAEX,eAAO,MAAM,OAAO,sBAAgB,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { NextResponse } from "next/server";
|
|
2
2
|
import { BLOCK_REGISTRY, BLOCK_CATEGORIES } from "@nextsparkjs/registries/block-registry";
|
|
3
3
|
import { withRateLimitTier } from "@nextsparkjs/core/lib/api/rate-limit";
|
|
4
|
+
import { corsPreflight } from "@nextsparkjs/core/lib/api/cors-response";
|
|
4
5
|
export const GET = withRateLimitTier(async (request) => {
|
|
5
6
|
try {
|
|
6
7
|
const { searchParams } = new URL(request.url);
|
|
@@ -42,3 +43,4 @@ export const GET = withRateLimitTier(async (request) => {
|
|
|
42
43
|
return NextResponse.json({ success: false, error: "Internal server error" }, { status: 500 });
|
|
43
44
|
}
|
|
44
45
|
}, "read");
|
|
46
|
+
export const OPTIONS = corsPreflight;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import { NextRequest, NextResponse } from 'next/server';
|
|
2
|
+
import { corsPreflight } from '@nextsparkjs/core/lib/api/cors-response';
|
|
2
3
|
export declare const POST: (request: NextRequest) => Promise<NextResponse>;
|
|
4
|
+
export declare const OPTIONS: typeof corsPreflight;
|
|
3
5
|
//# sourceMappingURL=route.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/v1/blocks/validate/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/v1/blocks/validate/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAKvD,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AAOvE,eAAO,MAAM,IAAI,iDAiCN,CAAC;AAEZ,eAAO,MAAM,OAAO,sBAAgB,CAAA"}
|
|
@@ -3,6 +3,7 @@ import { BLOCK_REGISTRY } from "@nextsparkjs/registries/block-registry";
|
|
|
3
3
|
import { BLOCK_SCHEMAS } from "@nextsparkjs/registries/block-schemas";
|
|
4
4
|
import * as z from "zod";
|
|
5
5
|
import { withRateLimitTier } from "@nextsparkjs/core/lib/api/rate-limit";
|
|
6
|
+
import { corsPreflight } from "@nextsparkjs/core/lib/api/cors-response";
|
|
6
7
|
const requestSchema = z.object({
|
|
7
8
|
blockSlug: z.string(),
|
|
8
9
|
props: z.record(z.string(), z.unknown())
|
|
@@ -36,3 +37,4 @@ export const POST = withRateLimitTier(async (request) => {
|
|
|
36
37
|
return NextResponse.json({ error: "Internal server error" }, { status: 500 });
|
|
37
38
|
}
|
|
38
39
|
}, "write");
|
|
40
|
+
export const OPTIONS = corsPreflight;
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* Requires the developer role.
|
|
8
8
|
*/
|
|
9
9
|
import { NextRequest, NextResponse } from 'next/server';
|
|
10
|
+
import { corsPreflight } from '@nextsparkjs/core/lib/api/cors-response';
|
|
10
11
|
export declare const GET: (request: NextRequest) => Promise<NextResponse>;
|
|
11
|
-
export declare
|
|
12
|
+
export declare const OPTIONS: typeof corsPreflight;
|
|
12
13
|
//# sourceMappingURL=route.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/v1/devtools/blocks/route.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/v1/devtools/blocks/route.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAUvD,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AAEvE,eAAO,MAAM,GAAG,iDAqDN,CAAC;AAEX,eAAO,MAAM,OAAO,sBAAgB,CAAA"}
|
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
import { BLOCK_REGISTRY } from "@nextsparkjs/registries/block-registry";
|
|
9
9
|
import { TAGS_REGISTRY, COVERAGE_SUMMARY } from "@nextsparkjs/registries/testing-registry";
|
|
10
10
|
import { withRateLimitTier } from "@nextsparkjs/core/lib/api/rate-limit";
|
|
11
|
+
import { corsPreflight } from "@nextsparkjs/core/lib/api/cors-response";
|
|
11
12
|
export const GET = withRateLimitTier(async (request) => {
|
|
12
13
|
const authResult = await authenticateRequest(request, { requiredScope: "admin:devtools" });
|
|
13
14
|
if (!authResult.success) {
|
|
@@ -49,12 +50,4 @@ export const GET = withRateLimitTier(async (request) => {
|
|
|
49
50
|
}
|
|
50
51
|
});
|
|
51
52
|
}, "read");
|
|
52
|
-
export
|
|
53
|
-
return new NextResponse(null, {
|
|
54
|
-
status: 204,
|
|
55
|
-
headers: {
|
|
56
|
-
"Access-Control-Allow-Methods": "GET, OPTIONS",
|
|
57
|
-
"Access-Control-Allow-Headers": "Content-Type, Authorization, x-api-key"
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
}
|
|
53
|
+
export const OPTIONS = corsPreflight;
|
|
@@ -10,5 +10,7 @@
|
|
|
10
10
|
* Requires the developer role, like the other devtools APIs.
|
|
11
11
|
*/
|
|
12
12
|
import { NextRequest, NextResponse } from 'next/server';
|
|
13
|
+
import { corsPreflight } from '@nextsparkjs/core/lib/api/cors-response';
|
|
13
14
|
export declare const GET: (request: NextRequest) => Promise<NextResponse>;
|
|
15
|
+
export declare const OPTIONS: typeof corsPreflight;
|
|
14
16
|
//# sourceMappingURL=route.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/v1/devtools/docs/route.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/v1/devtools/docs/route.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAKvD,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AAuEvE,eAAO,MAAM,GAAG,iDA6EN,CAAC;AAEX,eAAO,MAAM,OAAO,sBAAgB,CAAA"}
|
|
@@ -3,6 +3,7 @@ import { readFile } from "fs/promises";
|
|
|
3
3
|
import { join, dirname } from "path";
|
|
4
4
|
import { existsSync } from "fs";
|
|
5
5
|
import { withRateLimitTier } from "@nextsparkjs/core/lib/api/rate-limit";
|
|
6
|
+
import { corsPreflight } from "@nextsparkjs/core/lib/api/cors-response";
|
|
6
7
|
import { authenticateRequest, createAuthFailureResponse } from "@nextsparkjs/core/lib/api/auth/dual-auth";
|
|
7
8
|
import {
|
|
8
9
|
canAccessDevtoolsApi,
|
|
@@ -106,3 +107,4 @@ export const GET = withRateLimitTier(async (request) => {
|
|
|
106
107
|
);
|
|
107
108
|
}
|
|
108
109
|
}, "read");
|
|
110
|
+
export const OPTIONS = corsPreflight;
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* Requires the developer role.
|
|
8
8
|
*/
|
|
9
9
|
import { NextRequest, NextResponse } from 'next/server';
|
|
10
|
+
import { corsPreflight } from '@nextsparkjs/core/lib/api/cors-response';
|
|
10
11
|
export declare const GET: (request: NextRequest) => Promise<NextResponse>;
|
|
11
|
-
export declare
|
|
12
|
+
export declare const OPTIONS: typeof corsPreflight;
|
|
12
13
|
//# sourceMappingURL=route.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/v1/devtools/features/route.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/v1/devtools/features/route.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAYvD,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AAEvE,eAAO,MAAM,GAAG,iDA8BN,CAAC;AAEX,eAAO,MAAM,OAAO,sBAAgB,CAAA"}
|
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
COVERAGE_SUMMARY
|
|
11
11
|
} from "@nextsparkjs/registries/testing-registry";
|
|
12
12
|
import { withRateLimitTier } from "@nextsparkjs/core/lib/api/rate-limit";
|
|
13
|
+
import { corsPreflight } from "@nextsparkjs/core/lib/api/cors-response";
|
|
13
14
|
export const GET = withRateLimitTier(async (request) => {
|
|
14
15
|
const authResult = await authenticateRequest(request, { requiredScope: "admin:devtools" });
|
|
15
16
|
if (!authResult.success) {
|
|
@@ -34,12 +35,4 @@ export const GET = withRateLimitTier(async (request) => {
|
|
|
34
35
|
}
|
|
35
36
|
});
|
|
36
37
|
}, "read");
|
|
37
|
-
export
|
|
38
|
-
return new NextResponse(null, {
|
|
39
|
-
status: 204,
|
|
40
|
-
headers: {
|
|
41
|
-
"Access-Control-Allow-Methods": "GET, OPTIONS",
|
|
42
|
-
"Access-Control-Allow-Headers": "Content-Type, Authorization, x-api-key"
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
}
|
|
38
|
+
export const OPTIONS = corsPreflight;
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* Requires the developer role.
|
|
8
8
|
*/
|
|
9
9
|
import { NextRequest, NextResponse } from 'next/server';
|
|
10
|
+
import { corsPreflight } from '@nextsparkjs/core/lib/api/cors-response';
|
|
10
11
|
export declare const GET: (request: NextRequest) => Promise<NextResponse>;
|
|
11
|
-
export declare
|
|
12
|
+
export declare const OPTIONS: typeof corsPreflight;
|
|
12
13
|
//# sourceMappingURL=route.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/v1/devtools/flows/route.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/v1/devtools/flows/route.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAYvD,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AAEvE,eAAO,MAAM,GAAG,iDA8BN,CAAC;AAEX,eAAO,MAAM,OAAO,sBAAgB,CAAA"}
|
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
COVERAGE_SUMMARY
|
|
11
11
|
} from "@nextsparkjs/registries/testing-registry";
|
|
12
12
|
import { withRateLimitTier } from "@nextsparkjs/core/lib/api/rate-limit";
|
|
13
|
+
import { corsPreflight } from "@nextsparkjs/core/lib/api/cors-response";
|
|
13
14
|
export const GET = withRateLimitTier(async (request) => {
|
|
14
15
|
const authResult = await authenticateRequest(request, { requiredScope: "admin:devtools" });
|
|
15
16
|
if (!authResult.success) {
|
|
@@ -34,12 +35,4 @@ export const GET = withRateLimitTier(async (request) => {
|
|
|
34
35
|
}
|
|
35
36
|
});
|
|
36
37
|
}, "read");
|
|
37
|
-
export
|
|
38
|
-
return new NextResponse(null, {
|
|
39
|
-
status: 204,
|
|
40
|
-
headers: {
|
|
41
|
-
"Access-Control-Allow-Methods": "GET, OPTIONS",
|
|
42
|
-
"Access-Control-Allow-Headers": "Content-Type, Authorization, x-api-key"
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
}
|
|
38
|
+
export const OPTIONS = corsPreflight;
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* Requires the developer role.
|
|
8
8
|
*/
|
|
9
9
|
import { NextRequest, NextResponse } from 'next/server';
|
|
10
|
+
import { corsPreflight } from '@nextsparkjs/core/lib/api/cors-response';
|
|
10
11
|
export declare const GET: (request: NextRequest) => Promise<NextResponse>;
|
|
11
12
|
/**
|
|
12
13
|
* POST /api/v1/devtools/scheduled-actions
|
|
@@ -20,5 +21,5 @@ export declare const GET: (request: NextRequest) => Promise<NextResponse>;
|
|
|
20
21
|
* }
|
|
21
22
|
*/
|
|
22
23
|
export declare const POST: (request: NextRequest) => Promise<NextResponse>;
|
|
23
|
-
export declare
|
|
24
|
+
export declare const OPTIONS: typeof corsPreflight;
|
|
24
25
|
//# sourceMappingURL=route.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/v1/devtools/scheduled-actions/route.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/v1/devtools/scheduled-actions/route.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAWvD,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AAGvE,eAAO,MAAM,GAAG,iDAsGN,CAAC;AAEX;;;;;;;;;;GAUG;AACH,eAAO,MAAM,IAAI,iDAgGN,CAAC;AAEZ,eAAO,MAAM,OAAO,sBAAgB,CAAA"}
|
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
import { queryWithRLS } from "@nextsparkjs/core/lib/db";
|
|
9
9
|
import { getAllRegisteredActions } from "@nextsparkjs/core/lib/scheduled-actions/registry";
|
|
10
10
|
import { withRateLimitTier } from "@nextsparkjs/core/lib/api/rate-limit";
|
|
11
|
+
import { corsPreflight } from "@nextsparkjs/core/lib/api/cors-response";
|
|
11
12
|
import { scheduleAction } from "@nextsparkjs/core/lib/scheduled-actions/scheduler";
|
|
12
13
|
export const GET = withRateLimitTier(async (request) => {
|
|
13
14
|
var _a, _b;
|
|
@@ -169,12 +170,4 @@ export const POST = withRateLimitTier(async (request) => {
|
|
|
169
170
|
}
|
|
170
171
|
});
|
|
171
172
|
}, "write");
|
|
172
|
-
export
|
|
173
|
-
return new NextResponse(null, {
|
|
174
|
-
status: 204,
|
|
175
|
-
headers: {
|
|
176
|
-
"Access-Control-Allow-Methods": "GET, POST, OPTIONS",
|
|
177
|
-
"Access-Control-Allow-Headers": "Content-Type, Authorization, x-api-key"
|
|
178
|
-
}
|
|
179
|
-
});
|
|
180
|
-
}
|
|
173
|
+
export const OPTIONS = corsPreflight;
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* Requires the developer role.
|
|
8
8
|
*/
|
|
9
9
|
import { NextRequest, NextResponse } from 'next/server';
|
|
10
|
+
import { corsPreflight } from '@nextsparkjs/core/lib/api/cors-response';
|
|
10
11
|
export declare const POST: (request: NextRequest) => Promise<NextResponse>;
|
|
11
|
-
export declare
|
|
12
|
+
export declare const OPTIONS: typeof corsPreflight;
|
|
12
13
|
//# sourceMappingURL=route.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../../src/routes/api/v1/devtools/scheduled-actions/run/route.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../../src/routes/api/v1/devtools/scheduled-actions/run/route.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAUvD,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AAGvE,eAAO,MAAM,IAAI,iDA+EN,CAAC;AAEZ,eAAO,MAAM,OAAO,sBAAgB,CAAA"}
|
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
} from "@nextsparkjs/core/lib/api/auth/devtools-auth";
|
|
8
8
|
import { queryWithRLS } from "@nextsparkjs/core/lib/db";
|
|
9
9
|
import { withRateLimitTier } from "@nextsparkjs/core/lib/api/rate-limit";
|
|
10
|
+
import { corsPreflight } from "@nextsparkjs/core/lib/api/cors-response";
|
|
10
11
|
import { executeAction } from "@nextsparkjs/core/lib/scheduled-actions/processor";
|
|
11
12
|
export const POST = withRateLimitTier(async (request) => {
|
|
12
13
|
const authResult = await authenticateRequest(request, { requiredScope: "admin:devtools" });
|
|
@@ -71,12 +72,4 @@ export const POST = withRateLimitTier(async (request) => {
|
|
|
71
72
|
}, { status: 500 });
|
|
72
73
|
}
|
|
73
74
|
}, "write");
|
|
74
|
-
export
|
|
75
|
-
return new NextResponse(null, {
|
|
76
|
-
status: 204,
|
|
77
|
-
headers: {
|
|
78
|
-
"Access-Control-Allow-Methods": "POST, OPTIONS",
|
|
79
|
-
"Access-Control-Allow-Headers": "Content-Type, Authorization, x-api-key"
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
}
|
|
75
|
+
export const OPTIONS = corsPreflight;
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* Requires the developer role.
|
|
8
8
|
*/
|
|
9
9
|
import { NextRequest, NextResponse } from 'next/server';
|
|
10
|
+
import { corsPreflight } from '@nextsparkjs/core/lib/api/cors-response';
|
|
10
11
|
export declare const GET: (request: NextRequest) => Promise<NextResponse>;
|
|
11
|
-
export declare
|
|
12
|
+
export declare const OPTIONS: typeof corsPreflight;
|
|
12
13
|
//# sourceMappingURL=route.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/v1/devtools/testing/route.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/v1/devtools/testing/route.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAcvD,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AAEvE,eAAO,MAAM,GAAG,iDAiDN,CAAC;AAEX,eAAO,MAAM,OAAO,sBAAgB,CAAA"}
|
|
@@ -12,6 +12,7 @@ import {
|
|
|
12
12
|
FLOW_REGISTRY
|
|
13
13
|
} from "@nextsparkjs/registries/testing-registry";
|
|
14
14
|
import { withRateLimitTier } from "@nextsparkjs/core/lib/api/rate-limit";
|
|
15
|
+
import { corsPreflight } from "@nextsparkjs/core/lib/api/cors-response";
|
|
15
16
|
export const GET = withRateLimitTier(async (request) => {
|
|
16
17
|
const authResult = await authenticateRequest(request, { requiredScope: "admin:devtools" });
|
|
17
18
|
if (!authResult.success) {
|
|
@@ -53,12 +54,4 @@ export const GET = withRateLimitTier(async (request) => {
|
|
|
53
54
|
}
|
|
54
55
|
});
|
|
55
56
|
}, "read");
|
|
56
|
-
export
|
|
57
|
-
return new NextResponse(null, {
|
|
58
|
-
status: 204,
|
|
59
|
-
headers: {
|
|
60
|
-
"Access-Control-Allow-Methods": "GET, OPTIONS",
|
|
61
|
-
"Access-Control-Allow-Headers": "Content-Type, Authorization, x-api-key"
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
}
|
|
57
|
+
export const OPTIONS = corsPreflight;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { NextRequest } from 'next/server';
|
|
2
|
+
import { corsPreflight } from '@nextsparkjs/core/lib/api/cors-response';
|
|
2
3
|
/**
|
|
3
4
|
* GET /api/v1/media/:id
|
|
4
5
|
*
|
|
@@ -44,4 +45,5 @@ export declare const DELETE: (request: NextRequest, args_0: {
|
|
|
44
45
|
id: string;
|
|
45
46
|
}>;
|
|
46
47
|
}) => Promise<import("next/server").NextResponse>;
|
|
48
|
+
export declare const OPTIONS: typeof corsPreflight;
|
|
47
49
|
//# sourceMappingURL=route.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/v1/media/[id]/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/v1/media/[id]/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAMzC,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AAIvE;;;;;;;GAOG;AACH,eAAO,MAAM,GAAG;YAEQ,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;iDAmCrC,CAAA;AAEV;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,KAAK;YAEM,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;iDAgDpC,CAAA;AAEX;;;;;;;;GAQG;AACH,eAAO,MAAM,MAAM;YAEK,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;iDAmCpC,CAAA;AAEX,eAAO,MAAM,OAAO,sBAAgB,CAAA"}
|
|
@@ -3,6 +3,7 @@ import { createApiResponse, createApiError } from "@nextsparkjs/core/lib/api/hel
|
|
|
3
3
|
import { API_ERROR_CODES } from "@nextsparkjs/core/lib/api/api-error";
|
|
4
4
|
import { checkPermission } from "@nextsparkjs/core/lib/permissions/check";
|
|
5
5
|
import { withRateLimitTier } from "@nextsparkjs/core/lib/api/rate-limit";
|
|
6
|
+
import { corsPreflight } from "@nextsparkjs/core/lib/api/cors-response";
|
|
6
7
|
import { MediaService } from "@nextsparkjs/core/lib/services/media.service";
|
|
7
8
|
import { updateMediaSchema } from "@nextsparkjs/core/lib/media/schemas";
|
|
8
9
|
export const GET = withRateLimitTier(async (request, { params }) => {
|
|
@@ -84,3 +85,4 @@ export const DELETE = withRateLimitTier(async (request, { params }) => {
|
|
|
84
85
|
return createApiError("Failed to delete media", 500);
|
|
85
86
|
}
|
|
86
87
|
}, "write");
|
|
88
|
+
export const OPTIONS = corsPreflight;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { NextRequest } from 'next/server';
|
|
2
|
+
import { corsPreflight } from '@nextsparkjs/core/lib/api/cors-response';
|
|
2
3
|
/**
|
|
3
4
|
* GET /api/v1/media/{id}/tags
|
|
4
5
|
*
|
|
@@ -42,4 +43,5 @@ export declare const DELETE: (request: NextRequest, args_0: {
|
|
|
42
43
|
id: string;
|
|
43
44
|
}>;
|
|
44
45
|
}) => Promise<import("next/server").NextResponse>;
|
|
46
|
+
export declare const OPTIONS: typeof corsPreflight;
|
|
45
47
|
//# sourceMappingURL=route.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../../src/routes/api/v1/media/[id]/tags/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../../src/routes/api/v1/media/[id]/tags/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAMzC,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AAYvE;;;;GAIG;AACH,eAAO,MAAM,GAAG;YAEQ,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;iDAiCrC,CAAA;AAEV;;;;;GAKG;AACH,eAAO,MAAM,IAAI;YAEO,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;iDA0CpC,CAAA;AAEX;;;;;GAKG;AACH,eAAO,MAAM,GAAG;YAEQ,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;iDA0CpC,CAAA;AAEX;;;;;GAKG;AACH,eAAO,MAAM,MAAM;YAEK,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;iDAwCpC,CAAA;AAEX,eAAO,MAAM,OAAO,sBAAgB,CAAA"}
|
|
@@ -3,6 +3,7 @@ import { createApiResponse, createApiError } from "@nextsparkjs/core/lib/api/hel
|
|
|
3
3
|
import { API_ERROR_CODES } from "@nextsparkjs/core/lib/api/api-error";
|
|
4
4
|
import { checkPermission } from "@nextsparkjs/core/lib/permissions/check";
|
|
5
5
|
import { withRateLimitTier } from "@nextsparkjs/core/lib/api/rate-limit";
|
|
6
|
+
import { corsPreflight } from "@nextsparkjs/core/lib/api/cors-response";
|
|
6
7
|
import { MediaService } from "@nextsparkjs/core/lib/services/media.service";
|
|
7
8
|
import * as z from "zod";
|
|
8
9
|
const addTagSchema = z.object({
|
|
@@ -124,3 +125,4 @@ export const DELETE = withRateLimitTier(async (request, { params }) => {
|
|
|
124
125
|
return createApiError("Failed to remove tag", 500);
|
|
125
126
|
}
|
|
126
127
|
}, "write");
|
|
128
|
+
export const OPTIONS = corsPreflight;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { NextRequest } from 'next/server';
|
|
2
|
+
import { corsPreflight } from '@nextsparkjs/core/lib/api/cors-response';
|
|
2
3
|
/**
|
|
3
4
|
* POST /api/v1/media/check-duplicates
|
|
4
5
|
*
|
|
@@ -9,4 +10,5 @@ import { NextRequest } from 'next/server';
|
|
|
9
10
|
* Returns: { duplicates: [{ filename, fileSize, existing: Media[] }] }
|
|
10
11
|
*/
|
|
11
12
|
export declare const POST: (request: NextRequest) => Promise<import("next/server").NextResponse>;
|
|
13
|
+
export declare const OPTIONS: typeof corsPreflight;
|
|
12
14
|
//# sourceMappingURL=route.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/v1/media/check-duplicates/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/v1/media/check-duplicates/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAMzC,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AAGvE;;;;;;;;GAQG;AACH,eAAO,MAAM,IAAI,uEAgDP,CAAA;AAEV,eAAO,MAAM,OAAO,sBAAgB,CAAA"}
|
|
@@ -3,6 +3,7 @@ import { createApiResponse, createApiError } from "@nextsparkjs/core/lib/api/hel
|
|
|
3
3
|
import { API_ERROR_CODES } from "@nextsparkjs/core/lib/api/api-error";
|
|
4
4
|
import { checkPermission } from "@nextsparkjs/core/lib/permissions/check";
|
|
5
5
|
import { withRateLimitTier } from "@nextsparkjs/core/lib/api/rate-limit";
|
|
6
|
+
import { corsPreflight } from "@nextsparkjs/core/lib/api/cors-response";
|
|
6
7
|
import { MediaService } from "@nextsparkjs/core/lib/services/media.service";
|
|
7
8
|
export const POST = withRateLimitTier(async (request) => {
|
|
8
9
|
try {
|
|
@@ -43,3 +44,4 @@ export const POST = withRateLimitTier(async (request) => {
|
|
|
43
44
|
return createApiError("Failed to check duplicates", 500);
|
|
44
45
|
}
|
|
45
46
|
}, "read");
|
|
47
|
+
export const OPTIONS = corsPreflight;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { NextRequest } from 'next/server';
|
|
2
|
+
import { corsPreflight } from '@nextsparkjs/core/lib/api/cors-response';
|
|
2
3
|
/**
|
|
3
4
|
* GET /api/v1/media
|
|
4
5
|
*
|
|
@@ -17,4 +18,5 @@ import { NextRequest } from 'next/server';
|
|
|
17
18
|
* RLS: Returns only media from teams the user is a member of
|
|
18
19
|
*/
|
|
19
20
|
export declare const GET: (request: NextRequest) => Promise<import("next/server").NextResponse>;
|
|
21
|
+
export declare const OPTIONS: typeof corsPreflight;
|
|
20
22
|
//# sourceMappingURL=route.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../src/routes/api/v1/media/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../src/routes/api/v1/media/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAMzC,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AAIvE;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,GAAG,uEAqCN,CAAA;AAEV,eAAO,MAAM,OAAO,sBAAgB,CAAA"}
|
|
@@ -3,6 +3,7 @@ import { createApiResponse, createApiError } from "@nextsparkjs/core/lib/api/hel
|
|
|
3
3
|
import { API_ERROR_CODES } from "@nextsparkjs/core/lib/api/api-error";
|
|
4
4
|
import { checkPermission } from "@nextsparkjs/core/lib/permissions/check";
|
|
5
5
|
import { withRateLimitTier } from "@nextsparkjs/core/lib/api/rate-limit";
|
|
6
|
+
import { corsPreflight } from "@nextsparkjs/core/lib/api/cors-response";
|
|
6
7
|
import { MediaService } from "@nextsparkjs/core/lib/services/media.service";
|
|
7
8
|
import { mediaListQuerySchema } from "@nextsparkjs/core/lib/media/schemas";
|
|
8
9
|
export const GET = withRateLimitTier(async (request) => {
|
|
@@ -31,3 +32,4 @@ export const GET = withRateLimitTier(async (request) => {
|
|
|
31
32
|
return createApiError("Failed to list media", 500);
|
|
32
33
|
}
|
|
33
34
|
}, "read");
|
|
35
|
+
export const OPTIONS = corsPreflight;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { NextRequest } from 'next/server';
|
|
2
|
+
import { corsPreflight } from '@nextsparkjs/core/lib/api/cors-response';
|
|
2
3
|
/**
|
|
3
4
|
* POST /api/v1/media/upload
|
|
4
5
|
*
|
|
@@ -21,4 +22,5 @@ export declare const POST: (request: NextRequest) => Promise<import("next/server
|
|
|
21
22
|
* Get upload endpoint information.
|
|
22
23
|
*/
|
|
23
24
|
export declare const GET: (request: NextRequest) => Promise<import("next/server").NextResponse>;
|
|
25
|
+
export declare const OPTIONS: typeof corsPreflight;
|
|
24
26
|
//# sourceMappingURL=route.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/v1/media/upload/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/v1/media/upload/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAOzC,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AAkCvE;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,IAAI,uEA0KN,CAAC;AAEZ;;;;GAIG;AACH,eAAO,MAAM,GAAG,uEA0CN,CAAC;AAEX,eAAO,MAAM,OAAO,sBAAgB,CAAA"}
|
|
@@ -4,6 +4,7 @@ import { createApiResponse, createApiError } from "@nextsparkjs/core/lib/api/hel
|
|
|
4
4
|
import { API_ERROR_CODES } from "@nextsparkjs/core/lib/api/api-error";
|
|
5
5
|
import { checkPermission } from "@nextsparkjs/core/lib/permissions/check";
|
|
6
6
|
import { withRateLimitTier } from "@nextsparkjs/core/lib/api/rate-limit";
|
|
7
|
+
import { corsPreflight } from "@nextsparkjs/core/lib/api/cors-response";
|
|
7
8
|
import { MEDIA_CONFIG } from "@nextsparkjs/core/lib/config/config-sync";
|
|
8
9
|
import { MediaService } from "@nextsparkjs/core/lib/services/media.service";
|
|
9
10
|
import { extractImageDimensions } from "@nextsparkjs/core/lib/media/utils";
|
|
@@ -194,3 +195,4 @@ export const GET = withRateLimitTier(async (request) => {
|
|
|
194
195
|
);
|
|
195
196
|
}
|
|
196
197
|
}, "read");
|
|
198
|
+
export const OPTIONS = corsPreflight;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { NextRequest } from 'next/server';
|
|
2
|
+
import { corsPreflight } from '@nextsparkjs/core/lib/api/cors-response';
|
|
2
3
|
/**
|
|
3
4
|
* GET /api/v1/media-tags
|
|
4
5
|
*
|
|
@@ -16,4 +17,5 @@ export declare const GET: (request: NextRequest) => Promise<import("next/server"
|
|
|
16
17
|
* Authentication: Requires valid session or API key with media:write scope
|
|
17
18
|
*/
|
|
18
19
|
export declare const POST: (request: NextRequest) => Promise<import("next/server").NextResponse>;
|
|
20
|
+
export declare const OPTIONS: typeof corsPreflight;
|
|
19
21
|
//# sourceMappingURL=route.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../src/routes/api/v1/media-tags/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../src/routes/api/v1/media-tags/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAMzC,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AAGvE;;;;;;GAMG;AACH,eAAO,MAAM,GAAG,uEAwBN,CAAA;AAEV;;;;;;;GAOG;AACH,eAAO,MAAM,IAAI,uEA+BN,CAAA;AAEX,eAAO,MAAM,OAAO,sBAAgB,CAAA"}
|
|
@@ -3,6 +3,7 @@ import { createApiResponse, createApiError } from "@nextsparkjs/core/lib/api/hel
|
|
|
3
3
|
import { API_ERROR_CODES } from "@nextsparkjs/core/lib/api/api-error";
|
|
4
4
|
import { checkPermission } from "@nextsparkjs/core/lib/permissions/check";
|
|
5
5
|
import { withRateLimitTier } from "@nextsparkjs/core/lib/api/rate-limit";
|
|
6
|
+
import { corsPreflight } from "@nextsparkjs/core/lib/api/cors-response";
|
|
6
7
|
import { MediaService } from "@nextsparkjs/core/lib/services/media.service";
|
|
7
8
|
export const GET = withRateLimitTier(async (request) => {
|
|
8
9
|
try {
|
|
@@ -47,3 +48,4 @@ export const POST = withRateLimitTier(async (request) => {
|
|
|
47
48
|
return createApiError("Failed to create media tag", 500);
|
|
48
49
|
}
|
|
49
50
|
}, "write");
|
|
51
|
+
export const OPTIONS = corsPreflight;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { NextRequest, NextResponse } from 'next/server';
|
|
2
|
+
import { corsPreflight } from '@nextsparkjs/core/lib/api/cors-response';
|
|
2
3
|
export declare const GET: (request: NextRequest, args_0: {
|
|
3
4
|
params: Promise<{
|
|
4
5
|
id: string;
|
|
@@ -14,4 +15,5 @@ export declare const DELETE: (request: NextRequest, args_0: {
|
|
|
14
15
|
id: string;
|
|
15
16
|
}>;
|
|
16
17
|
}) => Promise<NextResponse>;
|
|
18
|
+
export declare const OPTIONS: typeof corsPreflight;
|
|
17
19
|
//# sourceMappingURL=route.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/v1/post-categories/[id]/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/routes/api/v1/post-categories/[id]/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAKvD,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AAevE,eAAO,MAAM,GAAG;YAEQ,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;2BAyBrC,CAAC;AAGX,eAAO,MAAM,GAAG;YAEQ,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;2BAwIpC,CAAC;AAGZ,eAAO,MAAM,MAAM;YAEK,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;2BAiEpC,CAAC;AAEZ,eAAO,MAAM,OAAO,sBAAgB,CAAA"}
|
|
@@ -3,6 +3,7 @@ import { authenticateRequest, createAuthFailureResponse } from "@nextsparkjs/cor
|
|
|
3
3
|
import { query as dbQuery } from "@nextsparkjs/core/lib/db";
|
|
4
4
|
import * as z from "zod";
|
|
5
5
|
import { withRateLimitTier } from "@nextsparkjs/core/lib/api/rate-limit";
|
|
6
|
+
import { corsPreflight } from "@nextsparkjs/core/lib/api/cors-response";
|
|
6
7
|
const updateCategorySchema = z.object({
|
|
7
8
|
name: z.string().min(1).max(255).optional(),
|
|
8
9
|
slug: z.string().min(2).max(100).regex(/^[a-z0-9-]+$/, "Slug must be lowercase alphanumeric with dashes").optional(),
|
|
@@ -201,3 +202,4 @@ export const DELETE = withRateLimitTier(async (request, { params }) => {
|
|
|
201
202
|
return NextResponse.json({ success: false, error: "Internal server error" }, { status: 500 });
|
|
202
203
|
}
|
|
203
204
|
}, "write");
|
|
205
|
+
export const OPTIONS = corsPreflight;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { NextRequest, NextResponse } from 'next/server';
|
|
2
|
+
import { corsPreflight } from '@nextsparkjs/core/lib/api/cors-response';
|
|
2
3
|
export declare const GET: (request: NextRequest) => Promise<NextResponse>;
|
|
3
4
|
export declare const POST: (request: NextRequest) => Promise<NextResponse>;
|
|
5
|
+
export declare const OPTIONS: typeof corsPreflight;
|
|
4
6
|
//# sourceMappingURL=route.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../src/routes/api/v1/post-categories/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../src/routes/api/v1/post-categories/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAKvD,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AAyBvE,eAAO,MAAM,GAAG,iDAkBN,CAAC;AAGX,eAAO,MAAM,IAAI,iDAsEN,CAAC;AAEZ,eAAO,MAAM,OAAO,sBAAgB,CAAA"}
|
|
@@ -3,6 +3,7 @@ import { authenticateRequest, createAuthFailureResponse } from "@nextsparkjs/cor
|
|
|
3
3
|
import { query as dbQuery } from "@nextsparkjs/core/lib/db";
|
|
4
4
|
import * as z from "zod";
|
|
5
5
|
import { withRateLimitTier } from "@nextsparkjs/core/lib/api/rate-limit";
|
|
6
|
+
import { corsPreflight } from "@nextsparkjs/core/lib/api/cors-response";
|
|
6
7
|
const createCategorySchema = z.object({
|
|
7
8
|
name: z.string().min(1).max(255),
|
|
8
9
|
slug: z.string().min(2).max(100).regex(/^[a-z0-9-]+$/, "Slug must be lowercase alphanumeric with dashes").optional(),
|
|
@@ -92,3 +93,4 @@ export const POST = withRateLimitTier(async (request) => {
|
|
|
92
93
|
return NextResponse.json({ success: false, error: "Internal server error" }, { status: 500 });
|
|
93
94
|
}
|
|
94
95
|
}, "write");
|
|
96
|
+
export const OPTIONS = corsPreflight;
|
|
@@ -17,7 +17,7 @@ import { MembershipService } from "@nextsparkjs/core/lib/services";
|
|
|
17
17
|
import { canInviteToRole } from "@nextsparkjs/core/lib/teams/permissions";
|
|
18
18
|
import { EmailFactory } from "@nextsparkjs/core/lib/email/factory";
|
|
19
19
|
import { sendTeamInvitationEmail } from "@nextsparkjs/core/lib/email/send";
|
|
20
|
-
import { I18N_CONFIG } from "@nextsparkjs/core/lib/config";
|
|
20
|
+
import { I18N_CONFIG, APP_NAME } from "@nextsparkjs/core/lib/config";
|
|
21
21
|
import { withBasePath } from "@nextsparkjs/core/lib/base-path";
|
|
22
22
|
export async function OPTIONS(request) {
|
|
23
23
|
return handleCorsPreflightRequest(request);
|
|
@@ -230,7 +230,7 @@ export const POST = withRateLimitTier(withApiLogging(
|
|
|
230
230
|
role: validatedData.role,
|
|
231
231
|
acceptUrl,
|
|
232
232
|
expiresIn: "7 days",
|
|
233
|
-
appName: process.env.NEXT_PUBLIC_APP_NAME ||
|
|
233
|
+
appName: process.env.NEXT_PUBLIC_APP_NAME || APP_NAME
|
|
234
234
|
}, I18N_CONFIG.defaultLocale);
|
|
235
235
|
await emailProvider.send({
|
|
236
236
|
to: validatedData.email,
|
|
@@ -4,11 +4,13 @@
|
|
|
4
4
|
* GET /api/v1/teams/[teamId]/subscription - Get team's active subscription
|
|
5
5
|
*/
|
|
6
6
|
import { NextRequest, NextResponse } from 'next/server';
|
|
7
|
+
import { corsPreflight } from '@nextsparkjs/core/lib/api/cors-response';
|
|
7
8
|
interface RouteParams {
|
|
8
9
|
params: Promise<{
|
|
9
10
|
teamId: string;
|
|
10
11
|
}>;
|
|
11
12
|
}
|
|
12
13
|
export declare const GET: (request: NextRequest, props: RouteParams) => Promise<NextResponse>;
|
|
14
|
+
export declare const OPTIONS: typeof corsPreflight;
|
|
13
15
|
export {};
|
|
14
16
|
//# sourceMappingURL=route.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../../src/routes/api/v1/teams/[teamId]/subscription/route.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../../src/routes/api/v1/teams/[teamId]/subscription/route.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAGvD,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AAGvE,UAAU,WAAW;IACnB,MAAM,EAAE,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACpC;AAED,eAAO,MAAM,GAAG,qEAmCN,CAAA;AAEV,eAAO,MAAM,OAAO,sBAAgB,CAAA"}
|