@nextsparkjs/core 0.1.0-beta.191 → 0.1.0-beta.192
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 +1 -1
- package/dist/components/app/layouts/CurrentYear.d.ts +10 -0
- package/dist/components/app/layouts/CurrentYear.d.ts.map +1 -0
- package/dist/components/app/layouts/CurrentYear.js +8 -0
- package/dist/components/app/layouts/PublicFooter.d.ts.map +1 -1
- package/dist/components/app/layouts/PublicFooter.js +3 -3
- package/dist/components/app/layouts/PublicNavbar.js +1 -1
- package/dist/components/auth/DevKeyring.js +1 -1
- package/dist/components/auth/forms/LoginForm.d.ts.map +1 -1
- package/dist/components/auth/forms/LoginForm.js +47 -12
- package/dist/components/auth/forms/SignupForm.d.ts.map +1 -1
- package/dist/components/auth/forms/SignupForm.js +57 -5
- 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/pattern-card.js +2 -2
- package/dist/components/dashboard/block-editor/pattern-reference-preview.js +2 -2
- package/dist/components/dashboard/layouts/AuthenticatedDashboardLayout.d.ts +5 -0
- package/dist/components/dashboard/layouts/AuthenticatedDashboardLayout.d.ts.map +1 -0
- package/dist/components/dashboard/layouts/AuthenticatedDashboardLayout.js +37 -0
- package/dist/components/dashboard/layouts/Sidebar.js +1 -1
- package/dist/components/dashboard/layouts/TopNavbar.js +1 -1
- package/dist/components/dashboard/mobile/MobileBottomNav.js +1 -1
- package/dist/components/dashboard/mobile/MobileMoreSheet.js +1 -1
- package/dist/components/dashboard/mobile/MobileTopBar.js +5 -5
- package/dist/components/dashboard/mobile/QuickCreateSheet.js +5 -5
- package/dist/components/dashboard/navigation/DynamicNavigation.d.ts.map +1 -1
- package/dist/components/dashboard/navigation/DynamicNavigation.js +6 -9
- package/dist/components/devtools/BlockDetailViewer.js +2 -2
- package/dist/components/devtools/BlocksViewer.js +1 -1
- package/dist/components/docs/docs-sidebar.d.ts.map +1 -1
- package/dist/components/docs/docs-sidebar.js +2 -5
- package/dist/components/entities/EntityChildManager.js +8 -8
- package/dist/components/entities/EntityDetail.js +8 -8
- package/dist/components/entities/ErrorBoundary.js +2 -2
- package/dist/components/entities/wrappers/EntityDetailWrapper.js +22 -22
- package/dist/components/entities/wrappers/EntityFormWrapper.d.ts +1 -1
- package/dist/components/entities/wrappers/EntityFormWrapper.js +3 -3
- package/dist/components/entities/wrappers/EntityListWrapper.js +2 -2
- package/dist/components/settings/layouts/SettingsSidebar.js +2 -2
- package/dist/components/teams/InviteMemberDialog.js +1 -1
- package/dist/components/teams/TeamMembersList.js +1 -1
- package/dist/components/ui/accordion.js +1 -1
- package/dist/components/ui/avatar.js +1 -1
- package/dist/components/ui/badge.js +1 -1
- package/dist/components/ui/button.js +1 -1
- package/dist/components/ui/calendar.d.ts.map +1 -1
- package/dist/components/ui/calendar.js +22 -30
- package/dist/components/ui/card.js +1 -1
- package/dist/components/ui/checkbox.js +1 -1
- package/dist/components/ui/command.d.ts +7 -7
- package/dist/components/ui/input.js +1 -1
- package/dist/components/ui/label.js +1 -1
- package/dist/components/ui/progress.js +1 -1
- package/dist/components/ui/relation-display.js +1 -1
- package/dist/components/ui/separator.js +1 -1
- package/dist/components/ui/sheet.d.ts +1 -1
- package/dist/components/ui/simple-relation-select.js +1 -1
- package/dist/components/ui/skeleton.js +1 -1
- package/dist/components/ui/slider.js +1 -1
- package/dist/components/ui/switch.js +1 -1
- package/dist/components/ui/tabs.js +1 -1
- package/dist/components/ui/textarea.js +1 -1
- package/dist/contexts/TeamContext.js +1 -1
- package/dist/emails/otp-verification.d.ts +1 -1
- package/dist/emails/reset-password.d.ts +1 -1
- package/dist/emails/team-invitation.d.ts +1 -1
- package/dist/emails/verify-email.d.ts +2 -2
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/useAccountPreferencesSync.d.ts.map +1 -1
- package/dist/hooks/useAccountPreferencesSync.js +1 -1
- package/dist/hooks/useAuth.d.ts.map +1 -1
- package/dist/hooks/useAuth.js +1 -1
- package/dist/hooks/useAuthReadiness.d.ts +15 -0
- package/dist/hooks/useAuthReadiness.d.ts.map +1 -0
- package/dist/hooks/useAuthReadiness.js +62 -0
- package/dist/hooks/useContentTranslation.d.ts +7 -7
- package/dist/hooks/useContextAwareTranslations.js +10 -10
- package/dist/hooks/useEnabledEntities.js +2 -2
- package/dist/hooks/useEnsureUserMetadata.js +1 -1
- package/dist/hooks/useEntityConfig.js +4 -4
- package/dist/hooks/useEntityTranslations.d.ts.map +1 -1
- package/dist/hooks/useEntityTranslations.js +6 -2
- package/dist/hooks/useLocale.d.ts +3 -1
- package/dist/hooks/useLocale.d.ts.map +1 -1
- package/dist/hooks/useLocale.js +1 -1
- package/dist/hooks/useSubscription.d.ts +1 -1
- package/dist/hooks/useSubscription.d.ts.map +1 -1
- package/dist/hooks/useTeamsConfig.js +1 -1
- package/dist/hooks/useTranslationPreload.js +5 -5
- package/dist/i18n.d.ts +1 -14
- package/dist/i18n.d.ts.map +1 -1
- package/dist/i18n.js +13 -54
- package/dist/lib/api/auth/devtools-auth.d.ts +2 -2
- package/dist/lib/api/auth/devtools-auth.d.ts.map +1 -1
- package/dist/lib/api/auth/devtools-auth.js +3 -3
- package/dist/lib/api/entities.js +5 -5
- package/dist/lib/api/entity/audit-log.d.ts.map +1 -1
- package/dist/lib/api/entity/audit-log.js +12 -3
- package/dist/lib/api/entity/generic-handler.d.ts.map +1 -1
- package/dist/lib/api/entity/generic-handler.js +24 -38
- package/dist/lib/api/entity/resolver.d.ts +1 -3
- package/dist/lib/api/entity/resolver.d.ts.map +1 -1
- package/dist/lib/api/entity/resolver.js +0 -25
- package/dist/lib/api/helpers.d.ts +2 -2
- package/dist/lib/api/helpers.d.ts.map +1 -1
- package/dist/lib/api/helpers.js +1 -4
- package/dist/lib/api/keys.js +1 -1
- package/dist/lib/api/rate-limit.d.ts.map +1 -1
- package/dist/lib/api/rate-limit.js +2 -0
- package/dist/lib/auth/readiness.d.ts +92 -0
- package/dist/lib/auth/readiness.d.ts.map +1 -0
- package/dist/lib/auth/readiness.js +192 -0
- package/dist/lib/auth/request-session.d.ts +15 -0
- package/dist/lib/auth/request-session.d.ts.map +1 -0
- package/dist/lib/auth/request-session.js +22 -0
- package/dist/lib/auth/runtime-readiness.d.ts +49 -0
- package/dist/lib/auth/runtime-readiness.d.ts.map +1 -0
- package/dist/lib/auth/runtime-readiness.js +183 -0
- package/dist/lib/auth-client.d.ts +2 -2
- package/dist/lib/auth.d.ts.map +1 -1
- package/dist/lib/auth.js +16 -12
- package/dist/lib/billing/gateways/factory.d.ts +1 -1
- package/dist/lib/billing/schema.d.ts +5 -5
- package/dist/lib/config/app.config.d.ts.map +1 -1
- package/dist/lib/config/app.config.js +3 -52
- package/dist/lib/config/config-client.d.ts +554 -0
- package/dist/lib/config/config-client.d.ts.map +1 -0
- package/dist/lib/config/config-client.js +68 -0
- package/dist/lib/config/config-sync.d.ts.map +1 -1
- package/dist/lib/config/config-sync.js +4 -28
- package/dist/lib/config/i18n-config-client.d.ts +9 -0
- package/dist/lib/config/i18n-config-client.d.ts.map +1 -0
- package/dist/lib/config/i18n-config-client.js +7 -0
- package/dist/lib/config/i18n.defaults.d.ts +7 -0
- package/dist/lib/config/i18n.defaults.d.ts.map +1 -0
- package/dist/lib/config/i18n.defaults.js +54 -0
- package/dist/lib/config/index.d.ts +2 -2
- package/dist/lib/config/index.d.ts.map +1 -1
- package/dist/lib/config/index.js +3 -2
- package/dist/lib/config/nextspark-types.d.ts +49 -20
- package/dist/lib/config/nextspark-types.d.ts.map +1 -1
- package/dist/lib/config/nextspark-types.js +174 -1
- package/dist/lib/config/public-config-client.d.ts +22 -0
- package/dist/lib/config/public-config-client.d.ts.map +1 -0
- package/dist/lib/config/public-config-client.js +25 -0
- package/dist/lib/config/types.d.ts +1 -1
- package/dist/lib/db.d.ts +1 -0
- package/dist/lib/db.d.ts.map +1 -1
- package/dist/lib/db.js +19 -9
- package/dist/lib/email/templates.d.ts +1 -1
- package/dist/lib/entities/client-config.d.ts +10 -0
- package/dist/lib/entities/client-config.d.ts.map +1 -0
- package/dist/lib/entities/client-config.js +44 -0
- package/dist/lib/entities/client-entity-meta.d.ts +41 -0
- package/dist/lib/entities/client-entity-meta.d.ts.map +1 -0
- package/dist/lib/entities/client-entity-meta.js +30 -0
- package/dist/lib/entities/portable/media-ref.d.ts +21 -0
- package/dist/lib/entities/portable/media-ref.d.ts.map +1 -0
- package/dist/lib/entities/portable/media-ref.js +13 -0
- package/dist/lib/entities/portable/response-shape.d.ts +57 -0
- package/dist/lib/entities/portable/response-shape.d.ts.map +1 -0
- package/dist/lib/entities/portable/response-shape.js +50 -0
- package/dist/lib/entities/portable/schema-generator.d.ts +48 -0
- package/dist/lib/entities/portable/schema-generator.d.ts.map +1 -0
- package/dist/lib/entities/portable/schema-generator.js +758 -0
- package/dist/lib/entities/portable/system-fields.d.ts +10 -0
- package/dist/lib/entities/portable/system-fields.d.ts.map +1 -0
- package/dist/lib/entities/portable/system-fields.js +4 -0
- package/dist/lib/entities/portable/types.d.ts +81 -0
- package/dist/lib/entities/portable/types.d.ts.map +1 -0
- package/dist/lib/entities/queries.d.ts +2 -2
- package/dist/lib/entities/queries.d.ts.map +1 -1
- package/dist/lib/entities/queries.js +2 -2
- package/dist/lib/entities/registry.client.js +2 -2
- package/dist/lib/entities/registry.d.ts +1 -1
- package/dist/lib/entities/registry.js +2 -2
- package/dist/lib/entities/schema-generator.d.ts +6 -19
- package/dist/lib/entities/schema-generator.d.ts.map +1 -1
- package/dist/lib/entities/schema-generator.js +1 -764
- package/dist/lib/entities/system-fields.d.ts +3 -5
- package/dist/lib/entities/system-fields.d.ts.map +1 -1
- package/dist/lib/entities/system-fields.js +1 -1
- package/dist/lib/entities/types.d.ts +1 -1
- package/dist/lib/entities/types.d.ts.map +1 -1
- package/dist/lib/i18n/client-messages.d.ts +49 -0
- package/dist/lib/i18n/client-messages.d.ts.map +1 -0
- package/dist/lib/i18n/client-messages.js +80 -0
- package/dist/lib/locale-client.d.ts +1 -2
- package/dist/lib/locale-client.d.ts.map +1 -1
- package/dist/lib/locale-client.js +1 -1
- package/dist/lib/media/schemas.d.ts +1 -1
- package/dist/lib/middleware/index.d.ts +6 -19
- package/dist/lib/middleware/index.d.ts.map +1 -1
- package/dist/lib/middleware/index.js +11 -14
- package/dist/lib/plugins/env-loader.d.ts +1 -1
- package/dist/lib/plugins/env-loader.js +1 -1
- package/dist/lib/plugins/nav-items.d.ts +3 -0
- package/dist/lib/plugins/nav-items.d.ts.map +1 -0
- package/dist/lib/plugins/nav-items.js +16 -0
- package/dist/lib/scheduled-actions/initializer.d.ts +7 -7
- package/dist/lib/scheduled-actions/initializer.d.ts.map +1 -1
- package/dist/lib/scheduled-actions/initializer.js +6 -12
- package/dist/lib/selectors/auth-sel.d.ts +8 -0
- package/dist/lib/selectors/auth-sel.d.ts.map +1 -0
- package/dist/lib/selectors/auth-sel.js +6 -0
- package/dist/lib/selectors/core-selectors.d.ts +12 -0
- package/dist/lib/selectors/core-selectors.d.ts.map +1 -1
- package/dist/lib/selectors/domains/auth.selectors.d.ts +12 -0
- package/dist/lib/selectors/domains/auth.selectors.d.ts.map +1 -1
- package/dist/lib/selectors/domains/auth.selectors.js +18 -3
- package/dist/lib/selectors/selectors.d.ts +24 -0
- package/dist/lib/selectors/selectors.d.ts.map +1 -1
- package/dist/lib/services/index.d.ts +1 -5
- package/dist/lib/services/index.d.ts.map +1 -1
- package/dist/lib/services/index.js +1 -14
- package/dist/lib/services/plugin.service.d.ts +20 -3
- package/dist/lib/services/plugin.service.d.ts.map +1 -1
- package/dist/lib/services/plugin.service.js +31 -5
- package/dist/lib/services/theme.service.d.ts +8 -87
- package/dist/lib/services/theme.service.d.ts.map +1 -1
- package/dist/lib/services/theme.service.js +16 -128
- package/dist/lib/teams/dashboard-team.d.ts +1 -3
- package/dist/lib/teams/dashboard-team.d.ts.map +1 -1
- package/dist/lib/teams/dashboard-team.js +2 -4
- package/dist/lib/teams/schema.d.ts +1 -1
- package/dist/lib/theme/ThemeProvider.d.ts +2 -5
- package/dist/lib/theme/ThemeProvider.d.ts.map +1 -1
- package/dist/lib/theme/ThemeProvider.js +21 -66
- package/dist/lib/theme/forced-theme.d.ts +1 -1
- package/dist/lib/theme/get-default-theme-mode.d.ts.map +1 -1
- package/dist/lib/theme/get-default-theme-mode.js +2 -3
- package/dist/lib/theme/import-resolver.js +2 -2
- package/dist/lib/theme/override-resolver.js +9 -9
- package/dist/lib/theme/theme-styles.d.ts +12 -0
- package/dist/lib/theme/theme-styles.d.ts.map +1 -0
- package/dist/lib/theme/theme-styles.js +58 -0
- package/dist/lib/theme/types.d.ts +0 -2
- package/dist/lib/theme/types.d.ts.map +1 -1
- package/dist/lib/translations/i18n-integration.d.ts.map +1 -1
- package/dist/lib/translations/i18n-integration.js +11 -11
- package/dist/lib/translations/registry.d.ts +1 -1
- package/dist/lib/translations/registry.d.ts.map +1 -1
- package/dist/lib/translations/registry.js +10 -10
- package/dist/lib/utils/environment.server.d.ts +0 -1
- package/dist/lib/utils/environment.server.d.ts.map +1 -1
- package/dist/lib/utils/environment.server.js +5 -1
- package/dist/lib/utils/uuid.d.ts +2 -0
- package/dist/lib/utils/uuid.d.ts.map +1 -0
- package/dist/lib/utils/uuid.js +7 -0
- package/dist/lib/validation/invoices.d.ts +2 -2
- package/dist/messages/de/auth.json +11 -1
- package/dist/messages/de/index.d.ts +10 -0
- package/dist/messages/de/index.d.ts.map +1 -1
- package/dist/messages/en/auth.json +11 -1
- package/dist/messages/en/devtools.json +1 -1
- package/dist/messages/en/index.d.ts +10 -0
- package/dist/messages/en/index.d.ts.map +1 -1
- package/dist/messages/es/auth.json +11 -1
- package/dist/messages/es/index.d.ts +10 -0
- package/dist/messages/es/index.d.ts.map +1 -1
- package/dist/messages/fr/auth.json +11 -1
- package/dist/messages/fr/index.d.ts +10 -0
- package/dist/messages/fr/index.d.ts.map +1 -1
- package/dist/messages/it/auth.json +11 -1
- package/dist/messages/it/index.d.ts +10 -0
- package/dist/messages/it/index.d.ts.map +1 -1
- package/dist/messages/pt/auth.json +11 -1
- package/dist/messages/pt/index.d.ts +10 -0
- package/dist/messages/pt/index.d.ts.map +1 -1
- package/dist/migrations/028_api_audit_log_insert_policy.sql +18 -0
- package/dist/migrations/090_sample_data.sql +2 -2
- package/dist/migrations/README.md +7 -7
- package/dist/nextspark-registries.d.ts +83 -44
- package/dist/providers/PluginProvider.js +2 -2
- package/dist/providers/static-intl-provider.d.ts +6 -0
- package/dist/providers/static-intl-provider.d.ts.map +1 -1
- package/dist/providers/static-intl-provider.js +7 -2
- package/dist/providers/theme-provider.d.ts.map +1 -1
- package/dist/providers/theme-provider.js +7 -1
- package/dist/routes/(auth)/accept-invite/[token]/page.d.ts +3 -0
- package/dist/routes/(auth)/accept-invite/[token]/page.d.ts.map +1 -0
- package/dist/routes/(auth)/accept-invite/[token]/page.js +240 -0
- package/dist/routes/(auth)/auth-error/page.d.ts +5 -0
- package/dist/routes/(auth)/auth-error/page.d.ts.map +1 -0
- package/dist/routes/(auth)/auth-error/page.js +12 -0
- package/dist/routes/(auth)/forgot-password/page.d.ts +3 -0
- package/dist/routes/(auth)/forgot-password/page.d.ts.map +1 -0
- package/dist/routes/(auth)/forgot-password/page.js +203 -0
- package/dist/routes/(auth)/layout.cc.d.ts +7 -0
- package/dist/routes/(auth)/layout.cc.d.ts.map +1 -0
- package/dist/routes/(auth)/layout.cc.js +5 -0
- package/dist/routes/(auth)/layout.d.ts +7 -0
- package/dist/routes/(auth)/layout.d.ts.map +1 -0
- package/dist/routes/(auth)/layout.js +4 -0
- package/dist/routes/(auth)/login/page.cc.d.ts +9 -0
- package/dist/routes/(auth)/login/page.cc.d.ts.map +1 -0
- package/dist/routes/(auth)/login/page.cc.js +1 -0
- package/dist/routes/(auth)/login/page.d.ts +6 -0
- package/dist/routes/(auth)/login/page.d.ts.map +1 -0
- package/dist/routes/(auth)/login/page.js +12 -0
- package/dist/routes/(auth)/reset-password/page.d.ts +3 -0
- package/dist/routes/(auth)/reset-password/page.d.ts.map +1 -0
- package/dist/routes/(auth)/reset-password/page.js +153 -0
- package/dist/routes/(auth)/signup/page.cc.d.ts +9 -0
- package/dist/routes/(auth)/signup/page.cc.d.ts.map +1 -0
- package/dist/routes/(auth)/signup/page.cc.js +1 -0
- package/dist/routes/(auth)/signup/page.d.ts +6 -0
- package/dist/routes/(auth)/signup/page.d.ts.map +1 -0
- package/dist/routes/(auth)/signup/page.js +34 -0
- package/dist/routes/(auth)/verify-email/page.d.ts +3 -0
- package/dist/routes/(auth)/verify-email/page.d.ts.map +1 -0
- package/dist/routes/(auth)/verify-email/page.js +138 -0
- package/dist/routes/(public)/docs/[section]/[page]/page.cc.d.ts +12 -0
- package/dist/routes/(public)/docs/[section]/[page]/page.cc.d.ts.map +1 -0
- package/dist/routes/(public)/docs/[section]/[page]/page.cc.js +64 -0
- package/dist/routes/(public)/docs/[section]/[page]/page.d.ts +13 -0
- package/dist/routes/(public)/docs/[section]/[page]/page.d.ts.map +1 -0
- package/dist/routes/(public)/docs/[section]/[page]/page.js +64 -0
- package/dist/routes/(public)/docs/layout.d.ts +4 -0
- package/dist/routes/(public)/docs/layout.d.ts.map +1 -0
- package/dist/routes/(public)/docs/layout.js +15 -0
- package/dist/routes/(public)/docs/page.d.ts +4 -0
- package/dist/routes/(public)/docs/page.d.ts.map +1 -0
- package/dist/routes/(public)/docs/page.js +53 -0
- package/dist/routes/(public)/layout.cc.d.ts +7 -0
- package/dist/routes/(public)/layout.cc.d.ts.map +1 -0
- package/dist/routes/(public)/layout.cc.js +5 -0
- package/dist/routes/(public)/layout.d.ts +7 -0
- package/dist/routes/(public)/layout.d.ts.map +1 -0
- package/dist/routes/(public)/layout.js +4 -0
- package/dist/routes/(public)/page.d.ts +12 -0
- package/dist/routes/(public)/page.d.ts.map +1 -0
- package/dist/routes/(public)/page.js +5 -0
- package/dist/routes/403/page.d.ts +3 -0
- package/dist/routes/403/page.d.ts.map +1 -0
- package/dist/routes/403/page.js +51 -0
- package/dist/routes/_internal/area-access.d.ts +61 -0
- package/dist/routes/_internal/area-access.d.ts.map +1 -0
- package/dist/routes/_internal/area-access.js +84 -0
- package/dist/routes/_internal/auth-layout.cc.d.ts +8 -0
- package/dist/routes/_internal/auth-layout.cc.d.ts.map +1 -0
- package/dist/routes/_internal/auth-layout.cc.js +2 -0
- package/dist/routes/_internal/auth-layout.d.ts +19 -0
- package/dist/routes/_internal/auth-layout.d.ts.map +1 -0
- package/dist/routes/_internal/auth-layout.js +22 -0
- package/dist/routes/_internal/billing-webhooks.d.ts +19 -0
- package/dist/routes/_internal/billing-webhooks.d.ts.map +1 -0
- package/dist/routes/_internal/billing-webhooks.js +14 -0
- package/dist/routes/_internal/default-auth-layout.d.ts +8 -0
- package/dist/routes/_internal/default-auth-layout.d.ts.map +1 -0
- package/dist/routes/_internal/default-auth-layout.js +15 -0
- package/dist/routes/_internal/default-public-layout.d.ts +8 -0
- package/dist/routes/_internal/default-public-layout.d.ts.map +1 -0
- package/dist/routes/_internal/default-public-layout.js +13 -0
- package/dist/routes/_internal/devtools-layout.cc.d.ts +19 -0
- package/dist/routes/_internal/devtools-layout.cc.d.ts.map +1 -0
- package/dist/routes/_internal/devtools-layout.cc.js +5 -0
- package/dist/routes/_internal/devtools-layout.d.ts +36 -0
- package/dist/routes/_internal/devtools-layout.d.ts.map +1 -0
- package/dist/routes/_internal/devtools-layout.js +41 -0
- package/dist/routes/_internal/entity-create-route.d.ts +18 -0
- package/dist/routes/_internal/entity-create-route.d.ts.map +1 -0
- package/dist/routes/_internal/entity-create-route.js +11 -0
- package/dist/routes/_internal/entity-create-view.d.ts +8 -0
- package/dist/routes/_internal/entity-create-view.d.ts.map +1 -0
- package/dist/routes/_internal/entity-create-view.js +72 -0
- package/dist/routes/_internal/entity-dashboard.d.ts +9 -0
- package/dist/routes/_internal/entity-dashboard.d.ts.map +1 -0
- package/dist/routes/_internal/entity-dashboard.js +8 -0
- package/dist/routes/_internal/entity-detail-metadata.d.ts +7 -0
- package/dist/routes/_internal/entity-detail-metadata.d.ts.map +1 -0
- package/dist/routes/_internal/entity-detail-metadata.js +4 -0
- package/dist/routes/_internal/entity-detail-route.d.ts +24 -0
- package/dist/routes/_internal/entity-detail-route.d.ts.map +1 -0
- package/dist/routes/_internal/entity-detail-route.js +14 -0
- package/dist/routes/_internal/entity-edit-route.d.ts +23 -0
- package/dist/routes/_internal/entity-edit-route.d.ts.map +1 -0
- package/dist/routes/_internal/entity-edit-route.js +12 -0
- package/dist/routes/_internal/entity-edit-view.d.ts +9 -0
- package/dist/routes/_internal/entity-edit-view.d.ts.map +1 -0
- package/dist/routes/_internal/entity-edit-view.js +88 -0
- package/dist/routes/_internal/entity-error.d.ts +7 -0
- package/dist/routes/_internal/entity-error.d.ts.map +1 -0
- package/dist/routes/_internal/entity-error.js +41 -0
- package/dist/routes/_internal/entity-layout-route.d.ts +13 -0
- package/dist/routes/_internal/entity-layout-route.d.ts.map +1 -0
- package/dist/routes/_internal/entity-layout-route.js +7 -0
- package/dist/routes/_internal/entity-list-metadata.d.ts +7 -0
- package/dist/routes/_internal/entity-list-metadata.d.ts.map +1 -0
- package/dist/routes/_internal/entity-list-metadata.js +4 -0
- package/dist/routes/_internal/entity-list-route.d.ts +31 -0
- package/dist/routes/_internal/entity-list-route.d.ts.map +1 -0
- package/dist/routes/_internal/entity-list-route.js +11 -0
- package/dist/routes/_internal/entity-loading.d.ts +3 -0
- package/dist/routes/_internal/entity-loading.d.ts.map +1 -0
- package/dist/routes/_internal/entity-loading.js +48 -0
- package/dist/routes/_internal/entity-permission-layout.d.ts +10 -0
- package/dist/routes/_internal/entity-permission-layout.d.ts.map +1 -0
- package/dist/routes/_internal/entity-permission-layout.js +50 -0
- package/dist/routes/_internal/group-layouts.cc.d.ts +35 -0
- package/dist/routes/_internal/group-layouts.cc.d.ts.map +1 -0
- package/dist/routes/_internal/group-layouts.cc.js +37 -0
- package/dist/routes/_internal/polar-webhook.d.ts +27 -0
- package/dist/routes/_internal/polar-webhook.d.ts.map +1 -0
- package/dist/routes/_internal/polar-webhook.js +321 -0
- package/dist/routes/_internal/public-archive-route.d.ts +20 -0
- package/dist/routes/_internal/public-archive-route.d.ts.map +1 -0
- package/dist/routes/_internal/public-archive-route.js +29 -0
- package/dist/routes/_internal/public-entity-shared.d.ts +61 -0
- package/dist/routes/_internal/public-entity-shared.d.ts.map +1 -0
- package/dist/routes/_internal/public-entity-shared.js +57 -0
- package/dist/routes/_internal/public-item-route.cc.d.ts +5 -0
- package/dist/routes/_internal/public-item-route.cc.d.ts.map +1 -0
- package/dist/routes/_internal/public-item-route.cc.js +32 -0
- package/dist/routes/_internal/public-item-route.d.ts +49 -0
- package/dist/routes/_internal/public-item-route.d.ts.map +1 -0
- package/dist/routes/_internal/public-item-route.js +60 -0
- package/dist/routes/_internal/public-layout.cc.d.ts +8 -0
- package/dist/routes/_internal/public-layout.cc.d.ts.map +1 -0
- package/dist/routes/_internal/public-layout.cc.js +2 -0
- package/dist/routes/_internal/public-layout.d.ts +19 -0
- package/dist/routes/_internal/public-layout.d.ts.map +1 -0
- package/dist/routes/_internal/public-layout.js +18 -0
- package/dist/routes/_internal/root-layout.d.ts +13 -0
- package/dist/routes/_internal/root-layout.d.ts.map +1 -0
- package/dist/routes/_internal/root-layout.js +7 -0
- package/dist/routes/_internal/root-layout.ppr.d.ts +11 -0
- package/dist/routes/_internal/root-layout.ppr.d.ts.map +1 -0
- package/dist/routes/_internal/root-layout.ppr.js +7 -0
- package/dist/routes/_internal/superadmin-layout.cc.d.ts +19 -0
- package/dist/routes/_internal/superadmin-layout.cc.d.ts.map +1 -0
- package/dist/routes/_internal/superadmin-layout.cc.js +5 -0
- package/dist/routes/_internal/superadmin-layout.d.ts +35 -0
- package/dist/routes/_internal/superadmin-layout.d.ts.map +1 -0
- package/dist/routes/_internal/superadmin-layout.js +53 -0
- package/dist/routes/api/auth/[...all]/route.d.ts +9 -0
- package/dist/routes/api/auth/[...all]/route.d.ts.map +1 -0
- package/dist/routes/api/auth/[...all]/route.js +124 -0
- package/dist/routes/api/cron/billing/lifecycle/route.d.ts +22 -0
- package/dist/routes/api/cron/billing/lifecycle/route.d.ts.map +1 -0
- package/dist/routes/api/cron/billing/lifecycle/route.js +60 -0
- package/dist/routes/api/csp-report/route.d.ts +4 -0
- package/dist/routes/api/csp-report/route.d.ts.map +1 -0
- package/dist/routes/api/csp-report/route.js +111 -0
- package/dist/routes/api/devtools/config/entities/route.d.ts +9 -0
- package/dist/routes/api/devtools/config/entities/route.d.ts.map +1 -0
- package/dist/routes/api/devtools/config/entities/route.js +63 -0
- package/dist/routes/api/devtools/config/theme/route.d.ts +9 -0
- package/dist/routes/api/devtools/config/theme/route.d.ts.map +1 -0
- package/dist/routes/api/devtools/config/theme/route.js +48 -0
- package/dist/routes/api/devtools/tests/[...path]/route.d.ts +15 -0
- package/dist/routes/api/devtools/tests/[...path]/route.d.ts.map +1 -0
- package/dist/routes/api/devtools/tests/[...path]/route.js +93 -0
- package/dist/routes/api/devtools/tests/route.d.ts +9 -0
- package/dist/routes/api/devtools/tests/route.d.ts.map +1 -0
- package/dist/routes/api/devtools/tests/route.js +89 -0
- package/dist/routes/api/health/route.d.ts +3 -0
- package/dist/routes/api/health/route.d.ts.map +1 -0
- package/dist/routes/api/health/route.js +39 -0
- package/dist/routes/api/internal/user-metadata/route.d.ts +3 -0
- package/dist/routes/api/internal/user-metadata/route.d.ts.map +1 -0
- package/dist/routes/api/internal/user-metadata/route.js +33 -0
- package/dist/routes/api/mcp/route.d.ts +27 -0
- package/dist/routes/api/mcp/route.d.ts.map +1 -0
- package/dist/routes/api/mcp/route.js +108 -0
- package/dist/routes/api/superadmin/subscriptions/route.d.ts +9 -0
- package/dist/routes/api/superadmin/subscriptions/route.d.ts.map +1 -0
- package/dist/routes/api/superadmin/subscriptions/route.js +235 -0
- package/dist/routes/api/superadmin/teams/[teamId]/route.d.ts +13 -0
- package/dist/routes/api/superadmin/teams/[teamId]/route.d.ts.map +1 -0
- package/dist/routes/api/superadmin/teams/[teamId]/route.js +204 -0
- package/dist/routes/api/superadmin/teams/route.d.ts +20 -0
- package/dist/routes/api/superadmin/teams/route.d.ts.map +1 -0
- package/dist/routes/api/superadmin/teams/route.js +131 -0
- package/dist/routes/api/superadmin/users/[userId]/route.d.ts +45 -0
- package/dist/routes/api/superadmin/users/[userId]/route.d.ts.map +1 -0
- package/dist/routes/api/superadmin/users/[userId]/route.js +362 -0
- package/dist/routes/api/superadmin/users/route.d.ts +37 -0
- package/dist/routes/api/superadmin/users/route.d.ts.map +1 -0
- package/dist/routes/api/superadmin/users/route.js +239 -0
- package/dist/routes/api/user/delete-account/route.d.ts +3 -0
- package/dist/routes/api/user/delete-account/route.d.ts.map +1 -0
- package/dist/routes/api/user/delete-account/route.js +44 -0
- package/dist/routes/api/user/plan-flags/route.d.ts +23 -0
- package/dist/routes/api/user/plan-flags/route.d.ts.map +1 -0
- package/dist/routes/api/user/plan-flags/route.js +201 -0
- package/dist/routes/api/user/profile/route.d.ts +4 -0
- package/dist/routes/api/user/profile/route.d.ts.map +1 -0
- package/dist/routes/api/user/profile/route.js +96 -0
- package/dist/routes/api/v1/[entity]/[id]/child/[childType]/[childId]/route.d.ts +20 -0
- package/dist/routes/api/v1/[entity]/[id]/child/[childType]/[childId]/route.d.ts.map +1 -0
- package/dist/routes/api/v1/[entity]/[id]/child/[childType]/[childId]/route.js +144 -0
- package/dist/routes/api/v1/[entity]/[id]/child/[childType]/route.d.ts +19 -0
- package/dist/routes/api/v1/[entity]/[id]/child/[childType]/route.d.ts.map +1 -0
- package/dist/routes/api/v1/[entity]/[id]/child/[childType]/route.js +249 -0
- package/dist/routes/api/v1/[entity]/[id]/route.d.ts +35 -0
- package/dist/routes/api/v1/[entity]/[id]/route.d.ts.map +1 -0
- package/dist/routes/api/v1/[entity]/[id]/route.js +14 -0
- package/dist/routes/api/v1/[entity]/route.d.ts +17 -0
- package/dist/routes/api/v1/[entity]/route.d.ts.map +1 -0
- package/dist/routes/api/v1/[entity]/route.js +12 -0
- package/dist/routes/api/v1/api-keys/[id]/route.d.ts +30 -0
- package/dist/routes/api/v1/api-keys/[id]/route.d.ts.map +1 -0
- package/dist/routes/api/v1/api-keys/[id]/route.js +189 -0
- package/dist/routes/api/v1/api-keys/route.d.ts +5 -0
- package/dist/routes/api/v1/api-keys/route.d.ts.map +1 -0
- package/dist/routes/api/v1/api-keys/route.js +177 -0
- package/dist/routes/api/v1/auth/signup-with-invite/route.d.ts +4 -0
- package/dist/routes/api/v1/auth/signup-with-invite/route.d.ts.map +1 -0
- package/dist/routes/api/v1/auth/signup-with-invite/route.js +187 -0
- package/dist/routes/api/v1/billing/cancel/route.d.ts +19 -0
- package/dist/routes/api/v1/billing/cancel/route.d.ts.map +1 -0
- package/dist/routes/api/v1/billing/cancel/route.js +153 -0
- package/dist/routes/api/v1/billing/change-plan/route.d.ts +19 -0
- package/dist/routes/api/v1/billing/change-plan/route.d.ts.map +1 -0
- package/dist/routes/api/v1/billing/change-plan/route.js +63 -0
- package/dist/routes/api/v1/billing/check-action/route.d.ts +13 -0
- package/dist/routes/api/v1/billing/check-action/route.d.ts.map +1 -0
- package/dist/routes/api/v1/billing/check-action/route.js +55 -0
- package/dist/routes/api/v1/billing/checkout/route.d.ts +11 -0
- package/dist/routes/api/v1/billing/checkout/route.d.ts.map +1 -0
- package/dist/routes/api/v1/billing/checkout/route.js +114 -0
- package/dist/routes/api/v1/billing/plans/route.d.ts +10 -0
- package/dist/routes/api/v1/billing/plans/route.d.ts.map +1 -0
- package/dist/routes/api/v1/billing/plans/route.js +61 -0
- package/dist/routes/api/v1/billing/portal/route.d.ts +11 -0
- package/dist/routes/api/v1/billing/portal/route.d.ts.map +1 -0
- package/dist/routes/api/v1/billing/portal/route.js +66 -0
- package/dist/routes/api/v1/billing/webhooks/polar/route.d.ts +17 -0
- package/dist/routes/api/v1/billing/webhooks/polar/route.d.ts.map +1 -0
- package/dist/routes/api/v1/billing/webhooks/polar/route.js +3 -0
- package/dist/routes/api/v1/billing/webhooks/stripe/route.d.ts +17 -0
- package/dist/routes/api/v1/billing/webhooks/stripe/route.d.ts.map +1 -0
- package/dist/routes/api/v1/billing/webhooks/stripe/route.js +8 -0
- package/dist/routes/api/v1/blocks/[slug]/route.d.ts +7 -0
- package/dist/routes/api/v1/blocks/[slug]/route.d.ts.map +1 -0
- package/dist/routes/api/v1/blocks/[slug]/route.js +25 -0
- package/dist/routes/api/v1/blocks/docs.md +173 -0
- package/dist/routes/api/v1/blocks/route.d.ts +3 -0
- package/dist/routes/api/v1/blocks/route.d.ts.map +1 -0
- package/dist/routes/api/v1/blocks/route.js +44 -0
- package/dist/routes/api/v1/blocks/validate/route.d.ts +3 -0
- package/dist/routes/api/v1/blocks/validate/route.d.ts.map +1 -0
- package/dist/routes/api/v1/blocks/validate/route.js +38 -0
- package/dist/routes/api/v1/cron/process/route.d.ts +20 -0
- package/dist/routes/api/v1/cron/process/route.d.ts.map +1 -0
- package/dist/routes/api/v1/cron/process/route.js +73 -0
- package/dist/routes/api/v1/devtools/blocks/route.d.ts +12 -0
- package/dist/routes/api/v1/devtools/blocks/route.d.ts.map +1 -0
- package/dist/routes/api/v1/devtools/blocks/route.js +60 -0
- package/dist/routes/api/v1/devtools/docs/route.d.ts +14 -0
- package/dist/routes/api/v1/devtools/docs/route.d.ts.map +1 -0
- package/dist/routes/api/v1/devtools/docs/route.js +108 -0
- package/dist/routes/api/v1/devtools/docs.md +204 -0
- package/dist/routes/api/v1/devtools/features/route.d.ts +12 -0
- package/dist/routes/api/v1/devtools/features/route.d.ts.map +1 -0
- package/dist/routes/api/v1/devtools/features/route.js +45 -0
- package/dist/routes/api/v1/devtools/flows/route.d.ts +12 -0
- package/dist/routes/api/v1/devtools/flows/route.d.ts.map +1 -0
- package/dist/routes/api/v1/devtools/flows/route.js +45 -0
- package/dist/routes/api/v1/devtools/presets.ts +113 -0
- package/dist/routes/api/v1/devtools/scheduled-actions/route.d.ts +24 -0
- package/dist/routes/api/v1/devtools/scheduled-actions/route.d.ts.map +1 -0
- package/dist/routes/api/v1/devtools/scheduled-actions/route.js +180 -0
- package/dist/routes/api/v1/devtools/scheduled-actions/run/route.d.ts +12 -0
- package/dist/routes/api/v1/devtools/scheduled-actions/run/route.d.ts.map +1 -0
- package/dist/routes/api/v1/devtools/scheduled-actions/run/route.js +82 -0
- package/dist/routes/api/v1/devtools/testing/route.d.ts +12 -0
- package/dist/routes/api/v1/devtools/testing/route.d.ts.map +1 -0
- package/dist/routes/api/v1/devtools/testing/route.js +64 -0
- package/dist/routes/api/v1/media/[id]/route.d.ts +47 -0
- package/dist/routes/api/v1/media/[id]/route.d.ts.map +1 -0
- package/dist/routes/api/v1/media/[id]/route.js +86 -0
- package/dist/routes/api/v1/media/[id]/tags/route.d.ts +45 -0
- package/dist/routes/api/v1/media/[id]/tags/route.d.ts.map +1 -0
- package/dist/routes/api/v1/media/[id]/tags/route.js +126 -0
- package/dist/routes/api/v1/media/check-duplicates/route.d.ts +12 -0
- package/dist/routes/api/v1/media/check-duplicates/route.d.ts.map +1 -0
- package/dist/routes/api/v1/media/check-duplicates/route.js +45 -0
- package/dist/routes/api/v1/media/route.d.ts +20 -0
- package/dist/routes/api/v1/media/route.d.ts.map +1 -0
- package/dist/routes/api/v1/media/route.js +33 -0
- package/dist/routes/api/v1/media/upload/route.d.ts +24 -0
- package/dist/routes/api/v1/media/upload/route.d.ts.map +1 -0
- package/dist/routes/api/v1/media/upload/route.js +196 -0
- package/dist/routes/api/v1/media-tags/route.d.ts +19 -0
- package/dist/routes/api/v1/media-tags/route.d.ts.map +1 -0
- package/dist/routes/api/v1/media-tags/route.js +49 -0
- package/dist/routes/api/v1/patterns/[id]/usages/route.d.ts +23 -0
- package/dist/routes/api/v1/patterns/[id]/usages/route.d.ts.map +1 -0
- package/dist/routes/api/v1/patterns/[id]/usages/route.js +69 -0
- package/dist/routes/api/v1/post-categories/[id]/route.d.ts +17 -0
- package/dist/routes/api/v1/post-categories/[id]/route.d.ts.map +1 -0
- package/dist/routes/api/v1/post-categories/[id]/route.js +203 -0
- package/dist/routes/api/v1/post-categories/route.d.ts +4 -0
- package/dist/routes/api/v1/post-categories/route.d.ts.map +1 -0
- package/dist/routes/api/v1/post-categories/route.js +94 -0
- package/dist/routes/api/v1/team-invitations/[token]/accept/route.d.ts +8 -0
- package/dist/routes/api/v1/team-invitations/[token]/accept/route.d.ts.map +1 -0
- package/dist/routes/api/v1/team-invitations/[token]/accept/route.js +130 -0
- package/dist/routes/api/v1/team-invitations/[token]/decline/route.d.ts +8 -0
- package/dist/routes/api/v1/team-invitations/[token]/decline/route.d.ts.map +1 -0
- package/dist/routes/api/v1/team-invitations/[token]/decline/route.js +90 -0
- package/dist/routes/api/v1/team-invitations/[token]/route.d.ts +8 -0
- package/dist/routes/api/v1/team-invitations/[token]/route.d.ts.map +1 -0
- package/dist/routes/api/v1/team-invitations/[token]/route.js +66 -0
- package/dist/routes/api/v1/team-invitations/route.d.ts +4 -0
- package/dist/routes/api/v1/team-invitations/route.d.ts.map +1 -0
- package/dist/routes/api/v1/team-invitations/route.js +82 -0
- package/dist/routes/api/v1/teams/[teamId]/invitations/route.d.ts +13 -0
- package/dist/routes/api/v1/teams/[teamId]/invitations/route.d.ts.map +1 -0
- package/dist/routes/api/v1/teams/[teamId]/invitations/route.js +126 -0
- package/dist/routes/api/v1/teams/[teamId]/invoices/[invoiceNumber]/route.d.ts +9 -0
- package/dist/routes/api/v1/teams/[teamId]/invoices/[invoiceNumber]/route.d.ts.map +1 -0
- package/dist/routes/api/v1/teams/[teamId]/invoices/[invoiceNumber]/route.js +80 -0
- package/dist/routes/api/v1/teams/[teamId]/invoices/route.d.ts +8 -0
- package/dist/routes/api/v1/teams/[teamId]/invoices/route.d.ts.map +1 -0
- package/dist/routes/api/v1/teams/[teamId]/invoices/route.js +98 -0
- package/dist/routes/api/v1/teams/[teamId]/members/[memberId]/route.d.ts +15 -0
- package/dist/routes/api/v1/teams/[teamId]/members/[memberId]/route.d.ts.map +1 -0
- package/dist/routes/api/v1/teams/[teamId]/members/[memberId]/route.js +188 -0
- package/dist/routes/api/v1/teams/[teamId]/members/route.d.ts +13 -0
- package/dist/routes/api/v1/teams/[teamId]/members/route.d.ts.map +1 -0
- package/dist/routes/api/v1/teams/[teamId]/members/route.js +266 -0
- package/dist/routes/api/v1/teams/[teamId]/route.d.ts +18 -0
- package/dist/routes/api/v1/teams/[teamId]/route.d.ts.map +1 -0
- package/dist/routes/api/v1/teams/[teamId]/route.js +222 -0
- package/dist/routes/api/v1/teams/[teamId]/subscription/route.d.ts +14 -0
- package/dist/routes/api/v1/teams/[teamId]/subscription/route.d.ts.map +1 -0
- package/dist/routes/api/v1/teams/[teamId]/subscription/route.js +30 -0
- package/dist/routes/api/v1/teams/[teamId]/usage/[limitSlug]/route.d.ts +17 -0
- package/dist/routes/api/v1/teams/[teamId]/usage/[limitSlug]/route.d.ts.map +1 -0
- package/dist/routes/api/v1/teams/[teamId]/usage/[limitSlug]/route.js +67 -0
- package/dist/routes/api/v1/teams/route.d.ts +5 -0
- package/dist/routes/api/v1/teams/route.d.ts.map +1 -0
- package/dist/routes/api/v1/teams/route.js +231 -0
- package/dist/routes/api/v1/teams/switch/route.d.ts +4 -0
- package/dist/routes/api/v1/teams/switch/route.d.ts.map +1 -0
- package/dist/routes/api/v1/teams/switch/route.js +80 -0
- package/dist/routes/api/v1/users/[id]/meta/[key]/route.d.ts +89 -0
- package/dist/routes/api/v1/users/[id]/meta/[key]/route.d.ts.map +1 -0
- package/dist/routes/api/v1/users/[id]/meta/[key]/route.js +180 -0
- package/dist/routes/api/v1/users/[id]/route.d.ts +18 -0
- package/dist/routes/api/v1/users/[id]/route.d.ts.map +1 -0
- package/dist/routes/api/v1/users/[id]/route.js +189 -0
- package/dist/routes/api/v1/users/route.d.ts +5 -0
- package/dist/routes/api/v1/users/route.d.ts.map +1 -0
- package/dist/routes/api/v1/users/route.js +145 -0
- package/dist/routes/dashboard/(main)/layout.d.ts +5 -0
- package/dist/routes/dashboard/(main)/layout.d.ts.map +1 -0
- package/dist/routes/dashboard/(main)/layout.js +50 -0
- package/dist/routes/dashboard/(main)/loading.d.ts +3 -0
- package/dist/routes/dashboard/(main)/loading.d.ts.map +1 -0
- package/dist/routes/dashboard/(main)/loading.js +6 -0
- package/dist/routes/dashboard/(main)/media/page.d.ts +3 -0
- package/dist/routes/dashboard/(main)/media/page.d.ts.map +1 -0
- package/dist/routes/dashboard/(main)/media/page.js +548 -0
- package/dist/routes/dashboard/(main)/page.d.ts +3 -0
- package/dist/routes/dashboard/(main)/page.d.ts.map +1 -0
- package/dist/routes/dashboard/(main)/page.js +168 -0
- package/dist/routes/dashboard/(main)/patterns/[id]/edit/page.d.ts +8 -0
- package/dist/routes/dashboard/(main)/patterns/[id]/edit/page.d.ts.map +1 -0
- package/dist/routes/dashboard/(main)/patterns/[id]/edit/page.js +85 -0
- package/dist/routes/dashboard/(main)/patterns/[id]/page.d.ts +13 -0
- package/dist/routes/dashboard/(main)/patterns/[id]/page.d.ts.map +1 -0
- package/dist/routes/dashboard/(main)/patterns/[id]/page.js +6 -0
- package/dist/routes/dashboard/(main)/patterns/[id]/reports/page.d.ts +9 -0
- package/dist/routes/dashboard/(main)/patterns/[id]/reports/page.d.ts.map +1 -0
- package/dist/routes/dashboard/(main)/patterns/[id]/reports/page.js +128 -0
- package/dist/routes/dashboard/(main)/patterns/create/page.d.ts +8 -0
- package/dist/routes/dashboard/(main)/patterns/create/page.d.ts.map +1 -0
- package/dist/routes/dashboard/(main)/patterns/create/page.js +64 -0
- package/dist/routes/dashboard/(main)/patterns/page.d.ts +9 -0
- package/dist/routes/dashboard/(main)/patterns/page.d.ts.map +1 -0
- package/dist/routes/dashboard/(main)/patterns/page.js +334 -0
- package/dist/routes/dashboard/features/analytics/page.d.ts +3 -0
- package/dist/routes/dashboard/features/analytics/page.d.ts.map +1 -0
- package/dist/routes/dashboard/features/analytics/page.js +32 -0
- package/dist/routes/dashboard/features/automation/page.d.ts +3 -0
- package/dist/routes/dashboard/features/automation/page.d.ts.map +1 -0
- package/dist/routes/dashboard/features/automation/page.js +32 -0
- package/dist/routes/dashboard/features/layout.d.ts +7 -0
- package/dist/routes/dashboard/features/layout.d.ts.map +1 -0
- package/dist/routes/dashboard/features/layout.js +5 -0
- package/dist/routes/dashboard/features/loading.d.ts +3 -0
- package/dist/routes/dashboard/features/loading.d.ts.map +1 -0
- package/dist/routes/dashboard/features/loading.js +6 -0
- package/dist/routes/dashboard/features/webhooks/page.d.ts +3 -0
- package/dist/routes/dashboard/features/webhooks/page.d.ts.map +1 -0
- package/dist/routes/dashboard/features/webhooks/page.js +32 -0
- package/dist/routes/dashboard/layout.cc.d.ts +6 -0
- package/dist/routes/dashboard/layout.cc.d.ts.map +1 -0
- package/dist/routes/dashboard/layout.cc.js +3 -0
- package/dist/routes/dashboard/layout.d.ts +9 -0
- package/dist/routes/dashboard/layout.d.ts.map +1 -0
- package/dist/routes/dashboard/layout.js +15 -0
- package/dist/routes/dashboard/permission-denied/page.d.ts +9 -0
- package/dist/routes/dashboard/permission-denied/page.d.ts.map +1 -0
- package/dist/routes/dashboard/permission-denied/page.js +17 -0
- package/dist/routes/dashboard/settings/api-keys/loading.d.ts +3 -0
- package/dist/routes/dashboard/settings/api-keys/loading.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/api-keys/loading.js +6 -0
- package/dist/routes/dashboard/settings/api-keys/page.d.ts +3 -0
- package/dist/routes/dashboard/settings/api-keys/page.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/api-keys/page.js +391 -0
- package/dist/routes/dashboard/settings/billing/loading.d.ts +3 -0
- package/dist/routes/dashboard/settings/billing/loading.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/billing/loading.js +6 -0
- package/dist/routes/dashboard/settings/billing/page.d.ts +3 -0
- package/dist/routes/dashboard/settings/billing/page.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/billing/page.js +240 -0
- package/dist/routes/dashboard/settings/invoices/[invoiceNumber]/page.d.ts +8 -0
- package/dist/routes/dashboard/settings/invoices/[invoiceNumber]/page.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/invoices/[invoiceNumber]/page.js +151 -0
- package/dist/routes/dashboard/settings/invoices/loading.d.ts +3 -0
- package/dist/routes/dashboard/settings/invoices/loading.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/invoices/loading.js +6 -0
- package/dist/routes/dashboard/settings/invoices/page.d.ts +3 -0
- package/dist/routes/dashboard/settings/invoices/page.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/invoices/page.js +65 -0
- package/dist/routes/dashboard/settings/layout.d.ts +5 -0
- package/dist/routes/dashboard/settings/layout.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/layout.js +142 -0
- package/dist/routes/dashboard/settings/loading.d.ts +3 -0
- package/dist/routes/dashboard/settings/loading.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/loading.js +6 -0
- package/dist/routes/dashboard/settings/notifications/loading.d.ts +3 -0
- package/dist/routes/dashboard/settings/notifications/loading.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/notifications/loading.js +6 -0
- package/dist/routes/dashboard/settings/notifications/page.d.ts +3 -0
- package/dist/routes/dashboard/settings/notifications/page.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/notifications/page.js +399 -0
- package/dist/routes/dashboard/settings/page.d.ts +3 -0
- package/dist/routes/dashboard/settings/page.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/page.js +82 -0
- package/dist/routes/dashboard/settings/password/loading.d.ts +3 -0
- package/dist/routes/dashboard/settings/password/loading.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/password/loading.js +6 -0
- package/dist/routes/dashboard/settings/password/page.d.ts +3 -0
- package/dist/routes/dashboard/settings/password/page.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/password/page.js +302 -0
- package/dist/routes/dashboard/settings/plans/loading.d.ts +3 -0
- package/dist/routes/dashboard/settings/plans/loading.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/plans/loading.js +6 -0
- package/dist/routes/dashboard/settings/plans/page.d.ts +9 -0
- package/dist/routes/dashboard/settings/plans/page.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/plans/page.js +43 -0
- package/dist/routes/dashboard/settings/profile/loading.d.ts +3 -0
- package/dist/routes/dashboard/settings/profile/loading.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/profile/loading.js +6 -0
- package/dist/routes/dashboard/settings/profile/page.d.ts +3 -0
- package/dist/routes/dashboard/settings/profile/page.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/profile/page.js +615 -0
- package/dist/routes/dashboard/settings/security/loading.d.ts +3 -0
- package/dist/routes/dashboard/settings/security/loading.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/security/loading.js +6 -0
- package/dist/routes/dashboard/settings/security/page.d.ts +3 -0
- package/dist/routes/dashboard/settings/security/page.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/security/page.js +400 -0
- package/dist/routes/dashboard/settings/teams/loading.d.ts +3 -0
- package/dist/routes/dashboard/settings/teams/loading.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/teams/loading.js +6 -0
- package/dist/routes/dashboard/settings/teams/page.d.ts +3 -0
- package/dist/routes/dashboard/settings/teams/page.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/teams/page.js +205 -0
- package/dist/routes/dashboard/settings/teams/permissions/page.d.ts +9 -0
- package/dist/routes/dashboard/settings/teams/permissions/page.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/teams/permissions/page.js +50 -0
- package/dist/routes/devtools/api/[[...endpoint]]/page.d.ts +19 -0
- package/dist/routes/devtools/api/[[...endpoint]]/page.d.ts.map +1 -0
- package/dist/routes/devtools/api/[[...endpoint]]/page.js +14 -0
- package/dist/routes/devtools/api/layout.d.ts +20 -0
- package/dist/routes/devtools/api/layout.d.ts.map +1 -0
- package/dist/routes/devtools/api/layout.js +6 -0
- package/dist/routes/devtools/blocks/[slug]/page.d.ts +20 -0
- package/dist/routes/devtools/blocks/[slug]/page.d.ts.map +1 -0
- package/dist/routes/devtools/blocks/[slug]/page.js +16 -0
- package/dist/routes/devtools/blocks/page.d.ts +2 -0
- package/dist/routes/devtools/blocks/page.d.ts.map +1 -0
- package/dist/routes/devtools/blocks/page.js +21 -0
- package/dist/routes/devtools/config/page.d.ts +2 -0
- package/dist/routes/devtools/config/page.d.ts.map +1 -0
- package/dist/routes/devtools/config/page.js +21 -0
- package/dist/routes/devtools/features/page.d.ts +2 -0
- package/dist/routes/devtools/features/page.d.ts.map +1 -0
- package/dist/routes/devtools/features/page.js +21 -0
- package/dist/routes/devtools/flows/page.d.ts +2 -0
- package/dist/routes/devtools/flows/page.d.ts.map +1 -0
- package/dist/routes/devtools/flows/page.js +21 -0
- package/dist/routes/devtools/layout.cc.d.ts +7 -0
- package/dist/routes/devtools/layout.cc.d.ts.map +1 -0
- package/dist/routes/devtools/layout.cc.js +4 -0
- package/dist/routes/devtools/layout.d.ts +5 -0
- package/dist/routes/devtools/layout.d.ts.map +1 -0
- package/dist/routes/devtools/layout.js +3 -0
- package/dist/routes/devtools/page.d.ts +2 -0
- package/dist/routes/devtools/page.d.ts.map +1 -0
- package/dist/routes/devtools/page.js +92 -0
- package/dist/routes/devtools/plugins/[plugin]/page.d.ts +8 -0
- package/dist/routes/devtools/plugins/[plugin]/page.d.ts.map +1 -0
- package/dist/routes/devtools/plugins/[plugin]/page.js +11 -0
- package/dist/routes/devtools/scheduled-actions/page.d.ts +15 -0
- package/dist/routes/devtools/scheduled-actions/page.d.ts.map +1 -0
- package/dist/routes/devtools/scheduled-actions/page.js +121 -0
- package/dist/routes/devtools/style/page.d.ts +8 -0
- package/dist/routes/devtools/style/page.d.ts.map +1 -0
- package/dist/routes/devtools/style/page.js +241 -0
- package/dist/routes/devtools/tags/page.d.ts +2 -0
- package/dist/routes/devtools/tags/page.d.ts.map +1 -0
- package/dist/routes/devtools/tags/page.js +21 -0
- package/dist/routes/devtools/tests/[[...path]]/page.d.ts +8 -0
- package/dist/routes/devtools/tests/[[...path]]/page.d.ts.map +1 -0
- package/dist/routes/devtools/tests/[[...path]]/page.js +30 -0
- package/dist/routes/layout.d.ts +10 -0
- package/dist/routes/layout.d.ts.map +1 -0
- package/dist/routes/layout.js +73 -0
- package/dist/routes/layout.ppr.d.ts +26 -0
- package/dist/routes/layout.ppr.d.ts.map +1 -0
- package/dist/routes/layout.ppr.js +58 -0
- package/dist/routes/manifest.json +784 -0
- package/dist/routes/public/page.d.ts +3 -0
- package/dist/routes/public/page.d.ts.map +1 -0
- package/dist/routes/public/page.js +12 -0
- package/dist/routes/superadmin/docs/[section]/[page]/page.cc.d.ts +15 -0
- package/dist/routes/superadmin/docs/[section]/[page]/page.cc.d.ts.map +1 -0
- package/dist/routes/superadmin/docs/[section]/[page]/page.cc.js +63 -0
- package/dist/routes/superadmin/docs/[section]/[page]/page.d.ts +16 -0
- package/dist/routes/superadmin/docs/[section]/[page]/page.d.ts.map +1 -0
- package/dist/routes/superadmin/docs/[section]/[page]/page.js +61 -0
- package/dist/routes/superadmin/docs/page.d.ts +4 -0
- package/dist/routes/superadmin/docs/page.d.ts.map +1 -0
- package/dist/routes/superadmin/docs/page.js +50 -0
- package/dist/routes/superadmin/layout.cc.d.ts +7 -0
- package/dist/routes/superadmin/layout.cc.d.ts.map +1 -0
- package/dist/routes/superadmin/layout.cc.js +4 -0
- package/dist/routes/superadmin/layout.d.ts +5 -0
- package/dist/routes/superadmin/layout.d.ts.map +1 -0
- package/dist/routes/superadmin/layout.js +3 -0
- package/dist/routes/superadmin/page.d.ts +8 -0
- package/dist/routes/superadmin/page.d.ts.map +1 -0
- package/dist/routes/superadmin/page.js +91 -0
- package/dist/routes/superadmin/plugins/[plugin]/page.d.ts +8 -0
- package/dist/routes/superadmin/plugins/[plugin]/page.d.ts.map +1 -0
- package/dist/routes/superadmin/plugins/[plugin]/page.js +11 -0
- package/dist/routes/superadmin/subscriptions/page.d.ts +9 -0
- package/dist/routes/superadmin/subscriptions/page.d.ts.map +1 -0
- package/dist/routes/superadmin/subscriptions/page.js +470 -0
- package/dist/routes/superadmin/team-roles/page.d.ts +12 -0
- package/dist/routes/superadmin/team-roles/page.d.ts.map +1 -0
- package/dist/routes/superadmin/team-roles/page.js +385 -0
- package/dist/routes/superadmin/teams/[teamId]/page.d.ts +8 -0
- package/dist/routes/superadmin/teams/[teamId]/page.d.ts.map +1 -0
- package/dist/routes/superadmin/teams/[teamId]/page.js +429 -0
- package/dist/routes/superadmin/teams/page.d.ts +9 -0
- package/dist/routes/superadmin/teams/page.d.ts.map +1 -0
- package/dist/routes/superadmin/teams/page.js +259 -0
- package/dist/routes/superadmin/users/[userId]/page.d.ts +8 -0
- package/dist/routes/superadmin/users/[userId]/page.d.ts.map +1 -0
- package/dist/routes/superadmin/users/[userId]/page.js +342 -0
- package/dist/routes/superadmin/users/page.d.ts +9 -0
- package/dist/routes/superadmin/users/page.d.ts.map +1 -0
- package/dist/routes/superadmin/users/page.js +410 -0
- package/dist/routes/variants.json +86 -0
- package/dist/templates/blocks/README.md +6 -12
- package/dist/templates/blocks/cta-section/config.ts +0 -1
- package/dist/templates/blocks/cta-section/thumbnail.png +0 -0
- package/dist/templates/blocks/features-grid/config.ts +0 -1
- package/dist/templates/blocks/features-grid/thumbnail.png +0 -0
- package/dist/templates/blocks/hero/config.ts +0 -1
- package/dist/templates/blocks/hero/thumbnail.png +0 -0
- package/dist/templates/blocks/testimonials/config.ts +0 -1
- package/dist/templates/blocks/testimonials/thumbnail.png +0 -0
- package/dist/templates/blocks/text-content/config.ts +0 -1
- package/dist/templates/blocks/text-content/thumbnail.png +0 -0
- package/dist/templates/ci-workflows/README.md +4 -5
- package/dist/templates/ci-workflows/github/cypress-regression.yml +7 -14
- package/dist/templates/ci-workflows/github/cypress-smoke.yml +3 -5
- package/dist/templates/eslint.config.mjs +3 -3
- package/dist/templates/features/blog/blocks/post-content/config.ts +0 -1
- package/dist/templates/features/blog/entities/posts/posts.config.ts +1 -1
- package/dist/templates/features/pages/blocks/hero/config.ts +0 -1
- package/dist/templates/features/pages/entities/pages/pages.config.ts +1 -1
- package/dist/templates/instrumentation.ts +9 -0
- package/dist/templates/migrations/README.md +2 -2
- package/dist/templates/next.config.mjs +34 -8
- package/dist/templates/plugins/README.md +42 -0
- package/dist/templates/plugins/starter/plugin/README.md.template +97 -0
- package/dist/templates/plugins/starter/plugin/api/example/route.ts.template +94 -0
- package/dist/templates/plugins/starter/plugin/hooks/usePlugin.ts.template +102 -0
- package/dist/templates/pnpm-workspace.yaml +3 -5
- package/dist/templates/projects/blog/README.md +62 -0
- package/dist/templates/projects/blog/about.md +93 -0
- package/dist/templates/projects/blog/api/authors/[username]/route.ts +153 -0
- package/dist/templates/projects/blog/api/authors/docs.md +135 -0
- package/dist/templates/projects/blog/api/authors/presets.ts +45 -0
- package/dist/templates/projects/blog/api/authors/route.ts +66 -0
- package/dist/templates/projects/blog/api/posts/public/docs.md +124 -0
- package/dist/templates/projects/blog/api/posts/public/presets.ts +65 -0
- package/dist/templates/projects/blog/api/posts/public/route.ts +154 -0
- package/dist/templates/projects/blog/components/ExportPostsButton.tsx +103 -0
- package/dist/templates/projects/blog/components/ImportPostsDialog.tsx +285 -0
- package/dist/templates/projects/blog/components/PostsToolbar.tsx +24 -0
- package/dist/templates/projects/blog/components/editor/FeaturedImageUpload.tsx +186 -0
- package/dist/templates/projects/blog/components/editor/WysiwygEditor.tsx +389 -0
- package/dist/templates/projects/blog/components/index.ts +4 -0
- package/dist/templates/projects/blog/components/public/AuthorBio.tsx +106 -0
- package/dist/templates/projects/blog/components/public/AuthorCard.tsx +131 -0
- package/dist/templates/projects/blog/components/public/BlogFooter.tsx +186 -0
- package/dist/templates/projects/blog/components/public/BlogNavbar.tsx +201 -0
- package/dist/templates/projects/blog/components/public/PostCard.tsx +307 -0
- package/dist/templates/projects/blog/components/public/ReadingProgress.tsx +70 -0
- package/dist/templates/projects/blog/components/public/RelatedPosts.tsx +79 -0
- package/dist/templates/projects/blog/config/app.config.ts +193 -0
- package/dist/templates/projects/blog/config/billing.config.ts +143 -0
- package/dist/templates/projects/blog/config/dashboard.config.ts +346 -0
- package/dist/templates/projects/blog/config/dev.config.ts +48 -0
- package/dist/templates/projects/blog/config/features.config.ts +196 -0
- package/dist/templates/projects/blog/config/flows.config.ts +333 -0
- package/dist/templates/projects/blog/config/permissions.config.ts +112 -0
- package/dist/templates/projects/blog/config/theme.config.ts +128 -0
- package/dist/templates/projects/blog/entities/categories/api/docs.md +119 -0
- package/dist/templates/projects/blog/entities/categories/api/presets.ts +67 -0
- package/dist/templates/projects/blog/entities/categories/categories.config.ts +60 -0
- package/dist/templates/projects/blog/entities/categories/categories.fields.ts +115 -0
- package/dist/templates/projects/blog/entities/categories/categories.service.ts +333 -0
- package/dist/templates/projects/blog/entities/categories/categories.types.ts +58 -0
- package/dist/templates/projects/blog/entities/categories/messages/en.json +33 -0
- package/dist/templates/projects/blog/entities/categories/messages/es.json +33 -0
- package/dist/templates/projects/blog/entities/posts/api/docs.md +174 -0
- package/dist/templates/projects/blog/entities/posts/api/presets.ts +137 -0
- package/dist/templates/projects/blog/entities/posts/messages/en.json +100 -0
- package/dist/templates/projects/blog/entities/posts/messages/es.json +100 -0
- package/dist/templates/projects/blog/entities/posts/migrations/001_posts_table.sql +110 -0
- package/dist/templates/projects/blog/entities/posts/migrations/002_add_featured.sql +19 -0
- package/dist/templates/projects/blog/entities/posts/migrations/003_post_categories_pivot.sql +47 -0
- package/dist/templates/projects/blog/entities/posts/posts.config.ts +61 -0
- package/dist/templates/projects/blog/entities/posts/posts.fields.ts +234 -0
- package/dist/templates/projects/blog/entities/posts/posts.service.ts +464 -0
- package/dist/templates/projects/blog/entities/posts/posts.types.ts +80 -0
- package/dist/templates/projects/blog/lib/sanitize-post-html.ts +52 -0
- package/dist/templates/projects/blog/lib/selectors.ts +178 -0
- package/dist/templates/projects/blog/messages/en.json +113 -0
- package/dist/templates/projects/blog/messages/es.json +113 -0
- package/dist/templates/projects/blog/migrations/002_author_profile_fields.sql +37 -0
- package/dist/templates/projects/blog/migrations/003_categories_table.sql +90 -0
- package/dist/templates/projects/blog/migrations/090_billing_sample_data.sql +99 -0
- package/dist/templates/projects/blog/migrations/999_sample_data.sql +412 -0
- package/dist/templates/projects/blog/migrations/999_theme_sample_data.sql +1070 -0
- package/dist/templates/projects/blog/package.json +30 -0
- package/dist/templates/projects/blog/permissions-matrix.md +63 -0
- package/dist/templates/projects/blog/styles/article.css +333 -0
- package/dist/templates/projects/blog/styles/components.css +204 -0
- package/dist/templates/projects/blog/styles/globals.css +384 -0
- package/dist/templates/projects/blog/styles/theme.css +167 -0
- package/dist/templates/projects/blog/templates/(public)/author/[username]/page.tsx +248 -0
- package/dist/templates/projects/blog/templates/(public)/authors/page.tsx +162 -0
- package/dist/templates/projects/blog/templates/(public)/layout.tsx +44 -0
- package/dist/templates/projects/blog/templates/(public)/page.tsx +277 -0
- package/dist/templates/projects/blog/templates/(public)/posts/[slug]/page.tsx +344 -0
- package/dist/templates/projects/blog/templates/dashboard/(main)/page.tsx +386 -0
- package/dist/templates/projects/blog/templates/dashboard/(main)/posts/[id]/edit/page.tsx +530 -0
- package/dist/templates/projects/blog/templates/dashboard/(main)/posts/[id]/page.tsx +33 -0
- package/dist/templates/projects/blog/templates/dashboard/(main)/posts/create/page.tsx +354 -0
- package/dist/templates/projects/blog/templates/dashboard/(main)/posts/page.tsx +834 -0
- package/dist/templates/projects/blog/tests/cypress/e2e/README.md +170 -0
- package/dist/templates/projects/blog/tests/cypress/e2e/categories/categories-crud.cy.ts +322 -0
- package/dist/templates/projects/blog/tests/cypress/e2e/categories/categories-crud.md +73 -0
- package/dist/templates/projects/blog/tests/cypress/e2e/posts/posts-crud.cy.ts +460 -0
- package/dist/templates/projects/blog/tests/cypress/e2e/posts/posts-crud.md +115 -0
- package/dist/templates/projects/blog/tests/cypress/e2e/posts/posts-editor.cy.ts +290 -0
- package/dist/templates/projects/blog/tests/cypress/e2e/posts/posts-editor.md +139 -0
- package/dist/templates/projects/blog/tests/cypress/e2e/posts/posts-status-workflow.cy.ts +302 -0
- package/dist/templates/projects/blog/tests/cypress/e2e/posts/posts-status-workflow.md +83 -0
- package/dist/templates/projects/blog/tests/cypress/fixtures/blocks.json +9 -0
- package/dist/templates/projects/blog/tests/cypress/fixtures/entities.json +51 -0
- package/dist/templates/projects/blog/tests/cypress/src/FeaturedImageUpload.js +131 -0
- package/dist/templates/projects/blog/tests/cypress/src/PostEditor.js +386 -0
- package/dist/templates/projects/blog/tests/cypress/src/PostsList.js +350 -0
- package/dist/templates/projects/blog/tests/cypress/src/WysiwygEditor.js +373 -0
- package/dist/templates/projects/blog/tests/cypress/src/components/EntityForm.ts +378 -0
- package/dist/templates/projects/blog/tests/cypress/src/components/EntityList.ts +378 -0
- package/dist/templates/projects/blog/tests/cypress/src/components/PostEditorPOM.ts +447 -0
- package/dist/templates/projects/blog/tests/cypress/src/components/PostsPOM.ts +362 -0
- package/dist/templates/projects/blog/tests/cypress/src/components/index.ts +18 -0
- package/dist/templates/projects/blog/tests/cypress/src/index.js +33 -0
- package/dist/templates/projects/blog/tests/cypress/src/selectors.ts +49 -0
- package/dist/templates/projects/blog/tests/cypress/src/session-helpers.ts +151 -0
- package/dist/templates/projects/blog/tests/cypress/support/e2e.ts +90 -0
- package/dist/templates/projects/blog/tests/cypress.config.ts +149 -0
- package/dist/templates/projects/blog/tests/jest/components/WysiwygEditor.test.tsx +118 -0
- package/dist/templates/projects/blog/tests/jest/jest.config.cjs +104 -0
- package/dist/templates/projects/blog/tests/jest/lib/sanitize-post-html.test.ts +48 -0
- package/dist/templates/projects/blog/tests/jest/setup.ts +170 -0
- package/dist/templates/projects/blog/tests/jest/tsconfig.jest.json +6 -0
- package/dist/templates/projects/blog/tests/tsconfig.json +7 -0
- package/dist/templates/projects/crm/CRM_PLAN.md +343 -0
- package/dist/templates/projects/crm/about.md +122 -0
- package/dist/templates/projects/crm/config/app.config.ts +178 -0
- package/dist/templates/projects/crm/config/billing.config.ts +184 -0
- package/dist/templates/projects/crm/config/dashboard.config.ts +385 -0
- package/dist/templates/projects/crm/config/dev.config.ts +55 -0
- package/dist/templates/projects/crm/config/features.config.ts +336 -0
- package/dist/templates/projects/crm/config/flows.config.ts +511 -0
- package/dist/templates/projects/crm/config/permissions.config.ts +308 -0
- package/dist/templates/projects/crm/config/theme.config.ts +111 -0
- package/dist/templates/projects/crm/entities/activities/activities.config.ts +61 -0
- package/dist/templates/projects/crm/entities/activities/activities.fields.ts +362 -0
- package/dist/templates/projects/crm/entities/activities/activities.service.ts +503 -0
- package/dist/templates/projects/crm/entities/activities/activities.types.ts +117 -0
- package/dist/templates/projects/crm/entities/activities/api/docs.md +146 -0
- package/dist/templates/projects/crm/entities/activities/api/presets.ts +132 -0
- package/dist/templates/projects/crm/entities/activities/messages/en.json +123 -0
- package/dist/templates/projects/crm/entities/activities/messages/es.json +123 -0
- package/dist/templates/projects/crm/entities/activities/migrations/020_activities_table.sql +123 -0
- package/dist/templates/projects/crm/entities/activities/migrations/021_activities_metas.sql +114 -0
- package/dist/templates/projects/crm/entities/activities/migrations/022_activities_sample_data.sql +420 -0
- package/dist/templates/projects/crm/entities/campaigns/api/docs.md +140 -0
- package/dist/templates/projects/crm/entities/campaigns/api/presets.ts +147 -0
- package/dist/templates/projects/crm/entities/campaigns/campaigns.config.ts +61 -0
- package/dist/templates/projects/crm/entities/campaigns/campaigns.fields.ts +413 -0
- package/dist/templates/projects/crm/entities/campaigns/campaigns.service.ts +426 -0
- package/dist/templates/projects/crm/entities/campaigns/campaigns.types.ts +124 -0
- package/dist/templates/projects/crm/entities/campaigns/messages/en.json +145 -0
- package/dist/templates/projects/crm/entities/campaigns/messages/es.json +145 -0
- package/dist/templates/projects/crm/entities/campaigns/migrations/001_campaigns_table.sql +127 -0
- package/dist/templates/projects/crm/entities/campaigns/migrations/002_campaigns_metas.sql +114 -0
- package/dist/templates/projects/crm/entities/campaigns/migrations/003_campaigns_sample_data.sql +364 -0
- package/dist/templates/projects/crm/entities/companies/api/docs.md +139 -0
- package/dist/templates/projects/crm/entities/companies/api/presets.ts +107 -0
- package/dist/templates/projects/crm/entities/companies/companies.config.ts +61 -0
- package/dist/templates/projects/crm/entities/companies/companies.fields.ts +429 -0
- package/dist/templates/projects/crm/entities/companies/companies.service.ts +566 -0
- package/dist/templates/projects/crm/entities/companies/companies.types.ts +125 -0
- package/dist/templates/projects/crm/entities/companies/messages/en.json +146 -0
- package/dist/templates/projects/crm/entities/companies/messages/es.json +146 -0
- package/dist/templates/projects/crm/entities/companies/migrations/001_companies_table.sql +150 -0
- package/dist/templates/projects/crm/entities/companies/migrations/002_companies_metas.sql +114 -0
- package/dist/templates/projects/crm/entities/companies/migrations/003_companies_sample_data.sql +246 -0
- package/dist/templates/projects/crm/entities/contacts/api/docs.md +139 -0
- package/dist/templates/projects/crm/entities/contacts/api/presets.ts +98 -0
- package/dist/templates/projects/crm/entities/contacts/contacts.config.ts +61 -0
- package/dist/templates/projects/crm/entities/contacts/contacts.fields.ts +359 -0
- package/dist/templates/projects/crm/entities/contacts/contacts.service.ts +509 -0
- package/dist/templates/projects/crm/entities/contacts/contacts.types.ts +108 -0
- package/dist/templates/projects/crm/entities/contacts/messages/en.json +117 -0
- package/dist/templates/projects/crm/entities/contacts/messages/es.json +117 -0
- package/dist/templates/projects/crm/entities/contacts/migrations/001_contacts_table.sql +134 -0
- package/dist/templates/projects/crm/entities/contacts/migrations/002_contacts_metas.sql +114 -0
- package/dist/templates/projects/crm/entities/contacts/migrations/003_contacts_sample_data.sql +421 -0
- package/dist/templates/projects/crm/entities/leads/api/docs.md +132 -0
- package/dist/templates/projects/crm/entities/leads/api/presets.ts +109 -0
- package/dist/templates/projects/crm/entities/leads/leads.config.ts +61 -0
- package/dist/templates/projects/crm/entities/leads/leads.fields.ts +336 -0
- package/dist/templates/projects/crm/entities/leads/leads.service.ts +496 -0
- package/dist/templates/projects/crm/entities/leads/leads.types.ts +114 -0
- package/dist/templates/projects/crm/entities/leads/messages/en.json +132 -0
- package/dist/templates/projects/crm/entities/leads/messages/es.json +132 -0
- package/dist/templates/projects/crm/entities/leads/migrations/001_leads_table.sql +150 -0
- package/dist/templates/projects/crm/entities/leads/migrations/002_leads_metas.sql +120 -0
- package/dist/templates/projects/crm/entities/leads/migrations/003_leads_sample_data.sql +242 -0
- package/dist/templates/projects/crm/entities/notes/api/docs.md +135 -0
- package/dist/templates/projects/crm/entities/notes/api/presets.ts +115 -0
- package/dist/templates/projects/crm/entities/notes/messages/en.json +114 -0
- package/dist/templates/projects/crm/entities/notes/messages/es.json +114 -0
- package/dist/templates/projects/crm/entities/notes/migrations/020_notes_table.sql +118 -0
- package/dist/templates/projects/crm/entities/notes/migrations/021_notes_metas.sql +114 -0
- package/dist/templates/projects/crm/entities/notes/migrations/022_notes_sample_data.sql +275 -0
- package/dist/templates/projects/crm/entities/notes/notes.config.ts +61 -0
- package/dist/templates/projects/crm/entities/notes/notes.fields.ts +283 -0
- package/dist/templates/projects/crm/entities/notes/notes.service.ts +320 -0
- package/dist/templates/projects/crm/entities/notes/notes.types.ts +102 -0
- package/dist/templates/projects/crm/entities/opportunities/api/docs.md +151 -0
- package/dist/templates/projects/crm/entities/opportunities/api/presets.ts +151 -0
- package/dist/templates/projects/crm/entities/opportunities/messages/en.json +107 -0
- package/dist/templates/projects/crm/entities/opportunities/messages/es.json +107 -0
- package/dist/templates/projects/crm/entities/opportunities/migrations/010_opportunities_table.sql +145 -0
- package/dist/templates/projects/crm/entities/opportunities/migrations/011_opportunities_metas.sql +114 -0
- package/dist/templates/projects/crm/entities/opportunities/migrations/012_opportunities_sample_data.sql +438 -0
- package/dist/templates/projects/crm/entities/opportunities/opportunities.config.ts +61 -0
- package/dist/templates/projects/crm/entities/opportunities/opportunities.fields.ts +416 -0
- package/dist/templates/projects/crm/entities/opportunities/opportunities.service.ts +525 -0
- package/dist/templates/projects/crm/entities/opportunities/opportunities.types.ts +135 -0
- package/dist/templates/projects/crm/entities/pipelines/api/docs.md +145 -0
- package/dist/templates/projects/crm/entities/pipelines/api/presets.ts +118 -0
- package/dist/templates/projects/crm/entities/pipelines/messages/en.json +115 -0
- package/dist/templates/projects/crm/entities/pipelines/messages/es.json +115 -0
- package/dist/templates/projects/crm/entities/pipelines/migrations/001_pipelines_table.sql +106 -0
- package/dist/templates/projects/crm/entities/pipelines/migrations/002_pipelines_metas.sql +114 -0
- package/dist/templates/projects/crm/entities/pipelines/migrations/003_pipelines_sample_data.sql +91 -0
- package/dist/templates/projects/crm/entities/pipelines/pipelines.config.ts +62 -0
- package/dist/templates/projects/crm/entities/pipelines/pipelines.fields.ts +193 -0
- package/dist/templates/projects/crm/entities/pipelines/pipelines.service.ts +383 -0
- package/dist/templates/projects/crm/entities/pipelines/pipelines.types.ts +78 -0
- package/dist/templates/projects/crm/entities/products/api/docs.md +137 -0
- package/dist/templates/projects/crm/entities/products/api/presets.ts +132 -0
- package/dist/templates/projects/crm/entities/products/messages/en.json +135 -0
- package/dist/templates/projects/crm/entities/products/messages/es.json +135 -0
- package/dist/templates/projects/crm/entities/products/migrations/001_products_table.sql +117 -0
- package/dist/templates/projects/crm/entities/products/migrations/002_products_metas.sql +114 -0
- package/dist/templates/projects/crm/entities/products/migrations/003_products_sample_data.sql +247 -0
- package/dist/templates/projects/crm/entities/products/products.config.ts +62 -0
- package/dist/templates/projects/crm/entities/products/products.fields.ts +361 -0
- package/dist/templates/projects/crm/entities/products/products.service.ts +437 -0
- package/dist/templates/projects/crm/entities/products/products.types.ts +125 -0
- package/dist/templates/projects/crm/lib/crm-constants.ts +77 -0
- package/dist/templates/projects/crm/lib/crm-utils.ts +185 -0
- package/dist/templates/projects/crm/lib/selectors.ts +332 -0
- package/dist/templates/projects/crm/messages/en.json +131 -0
- package/dist/templates/projects/crm/messages/es.json +131 -0
- package/dist/templates/projects/crm/migrations/090_billing_sample_data.sql +99 -0
- package/dist/templates/projects/crm/migrations/999_theme_sample_data.sql +473 -0
- package/dist/templates/projects/crm/package.json +26 -0
- package/dist/templates/projects/crm/pendings.md +204 -0
- package/dist/templates/projects/crm/permissions-matrix.md +216 -0
- package/dist/templates/projects/crm/styles/components.css +414 -0
- package/dist/templates/projects/crm/styles/crm-theme.css +358 -0
- package/dist/templates/projects/crm/styles/globals.css +624 -0
- package/dist/templates/projects/crm/styles/variables.css +111 -0
- package/dist/templates/projects/crm/templates/dashboard/(main)/activities/components/ActivityCard.tsx +169 -0
- package/dist/templates/projects/crm/templates/dashboard/(main)/activities/components/ActivityTimeline.tsx +165 -0
- package/dist/templates/projects/crm/templates/dashboard/(main)/activities/page.tsx +297 -0
- package/dist/templates/projects/crm/templates/dashboard/(main)/campaigns/page.tsx +373 -0
- package/dist/templates/projects/crm/templates/dashboard/(main)/companies/page.tsx +296 -0
- package/dist/templates/projects/crm/templates/dashboard/(main)/contacts/page.tsx +347 -0
- package/dist/templates/projects/crm/templates/dashboard/(main)/layout.tsx +98 -0
- package/dist/templates/projects/crm/templates/dashboard/(main)/leads/page.tsx +335 -0
- package/dist/templates/projects/crm/templates/dashboard/(main)/opportunities/[id]/edit/page.tsx +95 -0
- package/dist/templates/projects/crm/templates/dashboard/(main)/opportunities/create/page.tsx +94 -0
- package/dist/templates/projects/crm/templates/dashboard/(main)/opportunities/page.tsx +350 -0
- package/dist/templates/projects/crm/templates/dashboard/(main)/pipelines/[id]/edit/page.tsx +95 -0
- package/dist/templates/projects/crm/templates/dashboard/(main)/pipelines/[id]/page.tsx +143 -0
- package/dist/templates/projects/crm/templates/dashboard/(main)/pipelines/create/page.tsx +94 -0
- package/dist/templates/projects/crm/templates/dashboard/(main)/pipelines/page.tsx +235 -0
- package/dist/templates/projects/crm/templates/dashboard/(main)/products/[id]/edit/page.tsx +97 -0
- package/dist/templates/projects/crm/templates/dashboard/(main)/products/[id]/page.tsx +510 -0
- package/dist/templates/projects/crm/templates/dashboard/(main)/products/create/page.tsx +96 -0
- package/dist/templates/projects/crm/templates/dashboard/(main)/products/page.tsx +308 -0
- package/dist/templates/projects/crm/templates/shared/ActionButtons.tsx +41 -0
- package/dist/templates/projects/crm/templates/shared/CRMDashboard.tsx +519 -0
- package/dist/templates/projects/crm/templates/shared/CRMDataTable.tsx +441 -0
- package/dist/templates/projects/crm/templates/shared/CRMMetricCard.tsx +76 -0
- package/dist/templates/projects/crm/templates/shared/CRMMobileNav.tsx +172 -0
- package/dist/templates/projects/crm/templates/shared/CRMSidebar.tsx +347 -0
- package/dist/templates/projects/crm/templates/shared/CRMTopBar.tsx +266 -0
- package/dist/templates/projects/crm/templates/shared/DealCard.tsx +123 -0
- package/dist/templates/projects/crm/templates/shared/EntityCard.tsx +58 -0
- package/dist/templates/projects/crm/templates/shared/OpportunityForm.tsx +649 -0
- package/dist/templates/projects/crm/templates/shared/PipelineForm.tsx +367 -0
- package/dist/templates/projects/crm/templates/shared/PipelineKanban.tsx +194 -0
- package/dist/templates/projects/crm/templates/shared/QuickFilters.tsx +47 -0
- package/dist/templates/projects/crm/templates/shared/StageColumn.tsx +175 -0
- package/dist/templates/projects/crm/templates/shared/StageSelect.tsx +177 -0
- package/dist/templates/projects/crm/templates/shared/StagesRepeater.tsx +317 -0
- package/dist/templates/projects/crm/templates/shared/index.ts +9 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/api/activities/activities-crud.cy.ts +686 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/api/campaigns/campaigns-crud.cy.ts +592 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/api/companies/companies-crud.cy.ts +682 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/api/contacts/contacts-crud.cy.ts +668 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/api/leads/leads-crud.cy.ts +648 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/api/notes/notes-crud.cy.ts +424 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/api/opportunities/opportunities-crud.cy.ts +865 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/api/pipelines/pipelines-crud.cy.ts +545 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/api/products/products-crud.cy.ts +447 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/ui/activities/activities-admin.cy.ts +268 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/ui/activities/activities-member.cy.ts +257 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/ui/activities/activities-owner.cy.ts +268 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/ui/companies/companies-admin.cy.ts +188 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/ui/companies/companies-member.cy.ts +166 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/ui/companies/companies-owner.cy.ts +189 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/ui/contacts/contacts-admin.cy.ts +252 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/ui/contacts/contacts-member.cy.ts +224 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/ui/contacts/contacts-owner.cy.ts +236 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/ui/leads/leads-admin.cy.ts +286 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/ui/leads/leads-member.cy.ts +193 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/ui/leads/leads-owner.cy.ts +210 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/ui/opportunities/opportunities-admin.cy.ts +197 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/ui/opportunities/opportunities-member.cy.ts +229 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/ui/opportunities/opportunities-owner.cy.ts +196 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/ui/pipelines/pipelines-admin.cy.ts +320 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/ui/pipelines/pipelines-member.cy.ts +262 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/ui/pipelines/pipelines-owner.cy.ts +282 -0
- package/dist/templates/projects/crm/tests/cypress/fixtures/blocks.json +9 -0
- package/dist/templates/projects/crm/tests/cypress/fixtures/entities.json +240 -0
- package/dist/templates/projects/crm/tests/cypress/src/components/CRMDataTable.js +223 -0
- package/dist/templates/projects/crm/tests/cypress/src/components/CRMMobileNav.js +138 -0
- package/dist/templates/projects/crm/tests/cypress/src/components/CRMSidebar.js +145 -0
- package/dist/templates/projects/crm/tests/cypress/src/components/CRMTopBar.js +194 -0
- package/dist/templates/projects/crm/tests/cypress/src/components/DealCard.js +197 -0
- package/dist/templates/projects/crm/tests/cypress/src/components/EntityDetail.ts +290 -0
- package/dist/templates/projects/crm/tests/cypress/src/components/EntityForm.ts +357 -0
- package/dist/templates/projects/crm/tests/cypress/src/components/EntityList.ts +360 -0
- package/dist/templates/projects/crm/tests/cypress/src/components/PipelineKanban.js +204 -0
- package/dist/templates/projects/crm/tests/cypress/src/components/StageColumn.js +196 -0
- package/dist/templates/projects/crm/tests/cypress/src/components/index.js +13 -0
- package/dist/templates/projects/crm/tests/cypress/src/components/index.ts +22 -0
- package/dist/templates/projects/crm/tests/cypress/src/controllers/ActivityAPIController.ts +113 -0
- package/dist/templates/projects/crm/tests/cypress/src/controllers/BaseAPIController.ts +307 -0
- package/dist/templates/projects/crm/tests/cypress/src/controllers/CampaignAPIController.ts +114 -0
- package/dist/templates/projects/crm/tests/cypress/src/controllers/CompanyAPIController.ts +112 -0
- package/dist/templates/projects/crm/tests/cypress/src/controllers/ContactAPIController.ts +104 -0
- package/dist/templates/projects/crm/tests/cypress/src/controllers/LeadAPIController.ts +96 -0
- package/dist/templates/projects/crm/tests/cypress/src/controllers/NoteAPIController.ts +130 -0
- package/dist/templates/projects/crm/tests/cypress/src/controllers/OpportunityAPIController.ts +134 -0
- package/dist/templates/projects/crm/tests/cypress/src/controllers/PipelineAPIController.ts +116 -0
- package/dist/templates/projects/crm/tests/cypress/src/controllers/ProductAPIController.ts +113 -0
- package/dist/templates/projects/crm/tests/cypress/src/controllers/index.ts +35 -0
- package/dist/templates/projects/crm/tests/cypress/src/entities/ActivitiesPOM.ts +130 -0
- package/dist/templates/projects/crm/tests/cypress/src/entities/CompaniesPOM.ts +117 -0
- package/dist/templates/projects/crm/tests/cypress/src/entities/ContactsPOM.ts +117 -0
- package/dist/templates/projects/crm/tests/cypress/src/entities/LeadsPOM.ts +129 -0
- package/dist/templates/projects/crm/tests/cypress/src/entities/OpportunitiesPOM.ts +178 -0
- package/dist/templates/projects/crm/tests/cypress/src/entities/PipelinesPOM.ts +341 -0
- package/dist/templates/projects/crm/tests/cypress/src/entities/index.ts +31 -0
- package/dist/templates/projects/crm/tests/cypress/src/forms/OpportunityForm.js +316 -0
- package/dist/templates/projects/crm/tests/cypress/src/forms/PipelineForm.js +243 -0
- package/dist/templates/projects/crm/tests/cypress/src/forms/index.js +8 -0
- package/dist/templates/projects/crm/tests/cypress/src/index.js +22 -0
- package/dist/templates/projects/crm/tests/cypress/src/index.ts +68 -0
- package/dist/templates/projects/crm/tests/cypress/src/selectors.ts +50 -0
- package/dist/templates/projects/crm/tests/cypress/src/session-helpers.ts +176 -0
- package/dist/templates/projects/crm/tests/cypress/support/e2e.ts +90 -0
- package/dist/templates/projects/crm/tests/cypress.config.ts +149 -0
- package/dist/templates/projects/crm/tests/tsconfig.json +7 -0
- package/dist/templates/projects/productivity/README.md +73 -0
- package/dist/templates/projects/productivity/about.md +123 -0
- package/dist/templates/projects/productivity/components/CardDetailModal.tsx +318 -0
- package/dist/templates/projects/productivity/components/KanbanBoard.tsx +613 -0
- package/dist/templates/projects/productivity/components/KanbanCard.tsx +218 -0
- package/dist/templates/projects/productivity/components/KanbanColumn.tsx +264 -0
- package/dist/templates/projects/productivity/components/SortableList.tsx +46 -0
- package/dist/templates/projects/productivity/components/index.ts +4 -0
- package/dist/templates/projects/productivity/config/app.config.ts +165 -0
- package/dist/templates/projects/productivity/config/billing.config.ts +184 -0
- package/dist/templates/projects/productivity/config/dashboard.config.ts +370 -0
- package/dist/templates/projects/productivity/config/dev.config.ts +55 -0
- package/dist/templates/projects/productivity/config/features.config.ts +256 -0
- package/dist/templates/projects/productivity/config/flows.config.ts +484 -0
- package/dist/templates/projects/productivity/config/permissions.config.ts +178 -0
- package/dist/templates/projects/productivity/config/theme.config.ts +106 -0
- package/dist/templates/projects/productivity/entities/boards/api/docs.md +131 -0
- package/dist/templates/projects/productivity/entities/boards/api/presets.ts +113 -0
- package/dist/templates/projects/productivity/entities/boards/boards.config.ts +61 -0
- package/dist/templates/projects/productivity/entities/boards/boards.fields.ts +154 -0
- package/dist/templates/projects/productivity/entities/boards/boards.service.ts +256 -0
- package/dist/templates/projects/productivity/entities/boards/boards.types.ts +57 -0
- package/dist/templates/projects/productivity/entities/boards/messages/en.json +80 -0
- package/dist/templates/projects/productivity/entities/boards/messages/es.json +80 -0
- package/dist/templates/projects/productivity/entities/boards/migrations/001_boards_table.sql +83 -0
- package/dist/templates/projects/productivity/entities/cards/api/docs.md +162 -0
- package/dist/templates/projects/productivity/entities/cards/api/presets.ts +172 -0
- package/dist/templates/projects/productivity/entities/cards/cards.config.ts +61 -0
- package/dist/templates/projects/productivity/entities/cards/cards.fields.ts +242 -0
- package/dist/templates/projects/productivity/entities/cards/cards.service.ts +336 -0
- package/dist/templates/projects/productivity/entities/cards/cards.types.ts +79 -0
- package/dist/templates/projects/productivity/entities/cards/messages/en.json +114 -0
- package/dist/templates/projects/productivity/entities/cards/messages/es.json +114 -0
- package/dist/templates/projects/productivity/entities/cards/migrations/020_cards_table.sql +92 -0
- package/dist/templates/projects/productivity/entities/lists/api/docs.md +143 -0
- package/dist/templates/projects/productivity/entities/lists/api/presets.ts +81 -0
- package/dist/templates/projects/productivity/entities/lists/lists.config.ts +61 -0
- package/dist/templates/projects/productivity/entities/lists/lists.fields.ts +105 -0
- package/dist/templates/projects/productivity/entities/lists/lists.service.ts +252 -0
- package/dist/templates/projects/productivity/entities/lists/lists.types.ts +55 -0
- package/dist/templates/projects/productivity/entities/lists/messages/en.json +60 -0
- package/dist/templates/projects/productivity/entities/lists/messages/es.json +60 -0
- package/dist/templates/projects/productivity/entities/lists/migrations/010_lists_table.sql +79 -0
- package/dist/templates/projects/productivity/lib/selectors.ts +205 -0
- package/dist/templates/projects/productivity/messages/en.json +79 -0
- package/dist/templates/projects/productivity/messages/es.json +79 -0
- package/dist/templates/projects/productivity/migrations/090_billing_sample_data.sql +100 -0
- package/dist/templates/projects/productivity/migrations/999_theme_sample_data.sql +922 -0
- package/dist/templates/projects/productivity/migrations/999a_initial_sample_data.sql +377 -0
- package/dist/templates/projects/productivity/migrations/999b_abundant_sample_data.sql +346 -0
- package/dist/templates/projects/productivity/package.json +29 -0
- package/dist/templates/projects/productivity/permissions-matrix.md +122 -0
- package/dist/templates/projects/productivity/styles/components.css +460 -0
- package/dist/templates/projects/productivity/styles/globals.css +608 -0
- package/dist/templates/projects/productivity/templates/dashboard/(main)/boards/[id]/[cardId]/page.tsx +239 -0
- package/dist/templates/projects/productivity/templates/dashboard/(main)/boards/[id]/edit/page.tsx +391 -0
- package/dist/templates/projects/productivity/templates/dashboard/(main)/boards/[id]/page.tsx +237 -0
- package/dist/templates/projects/productivity/templates/dashboard/(main)/boards/create/page.tsx +237 -0
- package/dist/templates/projects/productivity/templates/dashboard/(main)/boards/page.tsx +336 -0
- package/dist/templates/projects/productivity/templates/dashboard/(main)/layout.tsx +32 -0
- package/dist/templates/projects/productivity/templates/dashboard/(main)/page.tsx +593 -0
- package/dist/templates/projects/productivity/templates/shared/ProductivityMobileNav.tsx +411 -0
- package/dist/templates/projects/productivity/templates/shared/ProductivitySidebar.tsx +539 -0
- package/dist/templates/projects/productivity/templates/shared/ProductivityTopBar.tsx +318 -0
- package/dist/templates/projects/productivity/tests/cypress/e2e/ui/boards/boards-owner.cy.ts +349 -0
- package/dist/templates/projects/productivity/tests/cypress/e2e/ui/cards/cards-modal.cy.ts +369 -0
- package/dist/templates/projects/productivity/tests/cypress/e2e/ui/kanban/kanban-cards.cy.ts +280 -0
- package/dist/templates/projects/productivity/tests/cypress/e2e/ui/kanban/kanban-columns.cy.ts +243 -0
- package/dist/templates/projects/productivity/tests/cypress/fixtures/blocks.json +9 -0
- package/dist/templates/projects/productivity/tests/cypress/fixtures/entities.json +60 -0
- package/dist/templates/projects/productivity/tests/cypress/src/components/BoardsPOM.ts +353 -0
- package/dist/templates/projects/productivity/tests/cypress/src/components/CardsPOM.ts +383 -0
- package/dist/templates/projects/productivity/tests/cypress/src/components/KanbanPOM.ts +399 -0
- package/dist/templates/projects/productivity/tests/cypress/src/components/index.ts +9 -0
- package/dist/templates/projects/productivity/tests/cypress/src/controllers/BoardsAPIController.js +302 -0
- package/dist/templates/projects/productivity/tests/cypress/src/controllers/CardsAPIController.js +406 -0
- package/dist/templates/projects/productivity/tests/cypress/src/controllers/ListsAPIController.js +299 -0
- package/dist/templates/projects/productivity/tests/cypress/src/index.ts +25 -0
- package/dist/templates/projects/productivity/tests/cypress/src/selectors.ts +50 -0
- package/dist/templates/projects/productivity/tests/cypress/src/session-helpers.ts +176 -0
- package/dist/templates/projects/productivity/tests/cypress/support/e2e.ts +90 -0
- package/dist/templates/projects/productivity/tests/cypress.config.ts +149 -0
- package/dist/templates/projects/productivity/tests/tsconfig.json +7 -0
- package/dist/templates/projects/starter/blocks/cta-section/config.ts +10 -0
- package/dist/templates/projects/starter/blocks/features-grid/config.ts +10 -0
- package/dist/templates/projects/starter/blocks/hero/config.ts +10 -0
- package/dist/templates/projects/starter/blocks/testimonials/config.ts +10 -0
- package/dist/templates/projects/starter/blocks/text-content/config.ts +10 -0
- package/dist/templates/projects/starter/emails/_README.md +69 -0
- package/dist/templates/projects/starter/entities/pages/pages.config.ts +95 -0
- package/dist/templates/projects/starter/entities/posts/posts.config.ts +102 -0
- package/dist/templates/projects/starter/entities/tasks/tasks.config.ts +82 -0
- package/dist/templates/projects/starter/styles/globals.css +213 -0
- package/dist/templates/projects/starter/templates/(public)/page.tsx +49 -0
- package/dist/templates/projects/starter/tests/cypress/e2e/_utils/docs/README.md +215 -0
- package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/block-editor.bdd.md +491 -0
- package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/dashboard-navigation.bdd.md +147 -0
- package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/dashboard-sidebar.bdd.md +76 -0
- package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/dashboard-topnav.bdd.md +326 -0
- package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/patterns.bdd.md +388 -0
- package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/settings-api-keys.bdd.md +266 -0
- package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/settings-billing.bdd.md +78 -0
- package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/settings-layout.bdd.md +129 -0
- package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/settings-password.bdd.md +82 -0
- package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/settings-profile.bdd.md +77 -0
- package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/settings-teams.bdd.md +130 -0
- package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/superadmin.bdd.md +261 -0
- package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/tasks.bdd.md +593 -0
- package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/teams.bdd.md +278 -0
- package/dist/templates/projects/starter/tests/cypress/src/session-helpers.ts +548 -0
- package/dist/templates/projects/starter/tests/cypress.config.ts +215 -0
- package/dist/templates/projects/starter/tests/jest/example.test.tsx +87 -0
- package/dist/templates/projects/starter/tests/jest/jest.config.cjs +92 -0
- package/dist/templates/projects/starter/tests/jest/services/tasks.service.test.ts +547 -0
- package/dist/templates/projects/starter/tests/jest/tsconfig.jest.json +8 -0
- package/dist/templates/projects/starter/tests/tsconfig.json +7 -0
- package/dist/templates/proxy.ts +366 -107
- package/dist/templates/public/uploads/README.md +1 -1
- package/dist/templates/scripts/cy-run-prod.cjs +6 -34
- package/dist/templates/tsconfig.cypress.json +4 -5
- package/dist/templates/tsconfig.json +8 -16
- package/dist/types/api-presets.d.ts +2 -2
- package/dist/types/blocks.d.ts +15 -18
- package/dist/types/blocks.d.ts.map +1 -1
- package/dist/types/blocks.js +1 -8
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +3 -0
- package/dist/types/plugin.d.ts +40 -0
- package/dist/types/plugin.d.ts.map +1 -1
- package/dist/types/plugin.js +23 -0
- package/dist/types/theme.d.ts +0 -25
- package/dist/types/theme.d.ts.map +1 -1
- package/dist/types/user.types.d.ts +3 -3
- package/dist/types/user.types.d.ts.map +1 -1
- package/dist/types/user.types.js +6 -6
- package/globals.css +5 -7
- package/migrations/028_api_audit_log_insert_policy.sql +18 -0
- package/migrations/090_sample_data.sql +2 -2
- package/migrations/README.md +7 -7
- package/package.json +14 -20
- package/scripts/build/auth-readiness-load.mjs +57 -0
- package/scripts/build/auth-readiness.mjs +210 -0
- package/scripts/build/config-loader.mjs +36 -60
- package/scripts/build/docs-registry.mjs +6 -84
- package/scripts/build/mobile-boundary.mjs +525 -0
- package/scripts/build/registry/__tests__/api-docs-colocated.test.mjs +105 -0
- package/scripts/build/registry/__tests__/billing-registry.test.mjs +8 -4
- package/scripts/build/registry/__tests__/block-registry.test.mjs +101 -5
- package/scripts/build/registry/__tests__/build-output.test.mjs +12 -87
- package/scripts/build/registry/__tests__/config-loader-root-first.test.mjs +33 -0
- package/scripts/build/registry/__tests__/icons-discovery.test.mjs +99 -29
- package/scripts/build/registry/__tests__/mcp-registry.test.mjs +6 -6
- package/scripts/build/registry/__tests__/packaged-plugin-discovery.test.mjs +42 -0
- package/scripts/build/registry/__tests__/plugin-capabilities.test.mjs +1030 -0
- package/scripts/build/registry/__tests__/plugin-registry-types.test.mjs +69 -0
- package/scripts/build/registry/__tests__/project-mode-root-first.test.mjs +175 -0
- package/scripts/build/registry/__tests__/safe-fs.test.mjs +5 -29
- package/scripts/build/registry/__tests__/scheduled-actions-registry.test.mjs +2 -2
- package/scripts/build/registry/__tests__/theme-registry.test.mjs +117 -0
- package/scripts/build/registry/__tests__/translation-registry-root-first.test.mjs +38 -0
- package/scripts/build/registry/__tests__/write-places.test.mjs +35 -128
- package/scripts/build/registry/config.mjs +29 -167
- package/scripts/build/registry/contracts/README.md +120 -0
- package/scripts/build/registry/contracts/__tests__/contracts-wire.test.mjs +168 -0
- package/scripts/build/registry/contracts/__tests__/contracts.test.mjs +590 -0
- package/scripts/build/registry/contracts/index.mjs +162 -0
- package/scripts/build/registry/contracts/portable.mjs +58 -0
- package/scripts/build/registry/contracts/publish.mjs +191 -0
- package/scripts/build/registry/contracts/read-columns.mjs +96 -0
- package/scripts/build/registry/contracts/read-entities.mjs +418 -0
- package/scripts/build/registry/contracts/render.mjs +341 -0
- package/scripts/build/registry/discovery/all-entities.mjs +57 -0
- package/scripts/build/registry/discovery/api-presets.mjs +23 -46
- package/scripts/build/registry/discovery/auth.mjs +3 -4
- package/scripts/build/registry/discovery/blocks.mjs +126 -17
- package/scripts/build/registry/discovery/core-routes.mjs +23 -73
- package/scripts/build/registry/discovery/emails.mjs +14 -19
- package/scripts/build/registry/discovery/entities.mjs +14 -18
- package/scripts/build/registry/discovery/icons.mjs +6 -15
- package/scripts/build/registry/discovery/index.mjs +0 -1
- package/scripts/build/registry/discovery/mcp-overrides.mjs +6 -12
- package/scripts/build/registry/discovery/mcp-overrides.test.mjs +24 -63
- package/scripts/build/registry/discovery/middlewares.mjs +21 -82
- package/scripts/build/registry/discovery/parent-child.mjs +2 -6
- package/scripts/build/registry/discovery/permissions.mjs +8 -13
- package/scripts/build/registry/discovery/plugin-capabilities.mjs +912 -0
- package/scripts/build/registry/discovery/plugins.mjs +55 -90
- package/scripts/build/registry/discovery/themes.mjs +79 -385
- package/scripts/build/registry/generators/api-presets-registry.mjs +4 -4
- package/scripts/build/registry/generators/billing-registry.mjs +17 -40
- package/scripts/build/registry/generators/block-registry.mjs +42 -3
- package/scripts/build/registry/generators/docs-registry.mjs +11 -30
- package/scripts/build/registry/generators/email-registry.mjs +4 -4
- package/scripts/build/registry/generators/entity-registry.mjs +3 -3
- package/scripts/build/registry/generators/feature-registry.mjs +5 -7
- package/scripts/build/registry/generators/index.mjs +2 -2
- package/scripts/build/registry/generators/middleware-registry.mjs +2 -2
- package/scripts/build/registry/generators/permissions-registry.mjs +5 -11
- package/scripts/build/registry/generators/plugin-catalog.mjs +73 -0
- package/scripts/build/registry/generators/plugin-registry.mjs +3 -1
- package/scripts/build/registry/generators/route-handlers.mjs +11 -105
- package/scripts/build/registry/generators/theme-registry.mjs +170 -1
- package/scripts/build/registry/generators/translation-registry.mjs +37 -71
- package/scripts/build/registry/generators/unified-registry.mjs +4 -10
- package/scripts/build/registry/host/README.md +296 -0
- package/scripts/build/registry/host/__tests__/diag-write-child.mjs +6 -0
- package/scripts/build/registry/host/__tests__/facade-emitter.test.mjs +659 -0
- package/scripts/build/registry/host/__tests__/host-area-access.test.mjs +278 -0
- package/scripts/build/registry/host/__tests__/host-composition.test.mjs +286 -0
- package/scripts/build/registry/host/__tests__/host-entities.test.mjs +886 -0
- package/scripts/build/registry/host/__tests__/host-generation.test.mjs +382 -0
- package/scripts/build/registry/host/__tests__/host-helpers.mjs +88 -0
- package/scripts/build/registry/host/__tests__/host-mode.test.mjs +153 -0
- package/scripts/build/registry/host/__tests__/host-plan.test.mjs +362 -0
- package/scripts/build/registry/host/__tests__/host-project-composition.test.mjs +269 -0
- package/scripts/build/registry/host/__tests__/host-project.test.mjs +80 -0
- package/scripts/build/registry/host/__tests__/host-proxy-areas.test.mjs +69 -0
- package/scripts/build/registry/host/__tests__/host-robustness.test.mjs +525 -0
- package/scripts/build/registry/host/__tests__/host-watch.test.mjs +162 -0
- package/scripts/build/registry/host/__tests__/lock-race-child.mjs +19 -0
- package/scripts/build/registry/host/__tests__/publish-crash-child.mjs +6 -0
- package/scripts/build/registry/host/__tests__/static-imports.test.mjs +254 -0
- package/scripts/build/registry/host/core-routes.mjs +307 -0
- package/scripts/build/registry/host/entity-routes.mjs +392 -0
- package/scripts/build/registry/host/facade-emitter.mjs +666 -0
- package/scripts/build/registry/host/generation.mjs +723 -0
- package/scripts/build/registry/host/mode.mjs +57 -0
- package/scripts/build/registry/host/next-literal.mjs +87 -0
- package/scripts/build/registry/host/next-route-exports.json +366 -0
- package/scripts/build/registry/host/plan.mjs +668 -0
- package/scripts/build/registry/host/prepare-cli.mjs +191 -0
- package/scripts/build/registry/host/prepare.mjs +722 -0
- package/scripts/build/registry/host/proxy-areas.mjs +56 -0
- package/scripts/build/registry/host/render.mjs +437 -0
- package/scripts/build/registry/host/static-imports.mjs +317 -0
- package/scripts/build/registry/host/webhooks.mjs +93 -0
- package/scripts/build/registry/index.mjs +4 -13
- package/scripts/build/registry/post-build/index.mjs +1 -8
- package/scripts/build/registry/post-build/own-gitignores.mjs +3 -4
- package/scripts/build/registry/post-build/test-fixtures.mjs +20 -30
- package/scripts/build/registry/post-build/tree-display.mjs +6 -6
- package/scripts/build/registry/project-mode.mjs +224 -51
- package/scripts/build/registry/validate-env.test.mjs +4 -89
- package/scripts/build/registry/validation/entity-validator.mjs +5 -6
- package/scripts/build/registry/write-places.mjs +26 -85
- package/scripts/build/registry.mjs +54 -195
- package/scripts/build/routes-manifest.mjs +214 -0
- package/scripts/build/safe-fs.mjs +1 -2
- package/scripts/build/update-tsconfig.mjs +26 -204
- package/scripts/create-plugin.mjs +10 -8
- package/scripts/create-theme.mjs +2 -305
- package/scripts/db/run-migrations.mjs +24 -86
- package/scripts/db/theme-location.mjs +23 -44
- package/scripts/db/verify-theme-migrations.mjs +16 -5
- package/scripts/deploy/vercel-deploy.mjs +8 -10
- package/scripts/dev/watch-plugins.mjs +39 -130
- package/scripts/maintenance/core-updater.mjs +29 -36
- package/scripts/maintenance/step-guard.mjs +1 -1
- package/scripts/postinstall.mjs +25 -43
- package/scripts/setup/setup-ci.mjs +2 -3
- package/scripts/test/build-entities.mjs +27 -107
- package/scripts/test/cy.mjs +29 -125
- package/scripts/test/jest.mjs +22 -50
- package/scripts/update-registry-imports.mjs +0 -1
- package/scripts/validation/check-imports.sh +33 -213
- package/src/lib/entities/portable/media-ref.ts +24 -0
- package/src/lib/entities/portable/response-shape.ts +80 -0
- package/src/lib/entities/portable/schema-generator.ts +965 -0
- package/src/lib/entities/portable/system-fields.ts +11 -0
- package/src/lib/entities/portable/types.ts +71 -0
- package/templates/blocks/README.md +6 -12
- package/templates/blocks/cta-section/config.ts +0 -1
- package/templates/blocks/cta-section/thumbnail.png +0 -0
- package/templates/blocks/features-grid/config.ts +0 -1
- package/templates/blocks/features-grid/thumbnail.png +0 -0
- package/templates/blocks/hero/config.ts +0 -1
- package/templates/blocks/hero/thumbnail.png +0 -0
- package/templates/blocks/testimonials/config.ts +0 -1
- package/templates/blocks/testimonials/thumbnail.png +0 -0
- package/templates/blocks/text-content/config.ts +0 -1
- package/templates/blocks/text-content/thumbnail.png +0 -0
- package/templates/ci-workflows/README.md +4 -5
- package/templates/ci-workflows/github/cypress-regression.yml +7 -14
- package/templates/ci-workflows/github/cypress-smoke.yml +3 -5
- package/templates/eslint.config.mjs +3 -3
- package/templates/features/blog/blocks/post-content/config.ts +0 -1
- package/templates/features/blog/entities/posts/posts.config.ts +1 -1
- package/templates/features/pages/blocks/hero/config.ts +0 -1
- package/templates/features/pages/entities/pages/pages.config.ts +1 -1
- package/templates/instrumentation.ts +9 -0
- package/templates/migrations/README.md +2 -2
- package/templates/next.config.mjs +34 -8
- package/templates/plugins/README.md +42 -0
- package/templates/plugins/starter/plugin/README.md.template +97 -0
- package/templates/plugins/starter/plugin/api/example/route.ts.template +94 -0
- package/templates/plugins/starter/plugin/hooks/usePlugin.ts.template +102 -0
- package/templates/pnpm-workspace.yaml +3 -5
- package/templates/projects/blog/README.md +62 -0
- package/templates/projects/blog/about.md +93 -0
- package/templates/projects/blog/api/authors/[username]/route.ts +153 -0
- package/templates/projects/blog/api/authors/docs.md +135 -0
- package/templates/projects/blog/api/authors/presets.ts +45 -0
- package/templates/projects/blog/api/authors/route.ts +66 -0
- package/templates/projects/blog/api/posts/public/docs.md +124 -0
- package/templates/projects/blog/api/posts/public/presets.ts +65 -0
- package/templates/projects/blog/api/posts/public/route.ts +154 -0
- package/templates/projects/blog/components/ExportPostsButton.tsx +103 -0
- package/templates/projects/blog/components/ImportPostsDialog.tsx +285 -0
- package/templates/projects/blog/components/PostsToolbar.tsx +24 -0
- package/templates/projects/blog/components/editor/FeaturedImageUpload.tsx +186 -0
- package/templates/projects/blog/components/editor/WysiwygEditor.tsx +389 -0
- package/templates/projects/blog/components/index.ts +4 -0
- package/templates/projects/blog/components/public/AuthorBio.tsx +106 -0
- package/templates/projects/blog/components/public/AuthorCard.tsx +131 -0
- package/templates/projects/blog/components/public/BlogFooter.tsx +186 -0
- package/templates/projects/blog/components/public/BlogNavbar.tsx +201 -0
- package/templates/projects/blog/components/public/PostCard.tsx +307 -0
- package/templates/projects/blog/components/public/ReadingProgress.tsx +70 -0
- package/templates/projects/blog/components/public/RelatedPosts.tsx +79 -0
- package/templates/projects/blog/config/app.config.ts +193 -0
- package/templates/projects/blog/config/billing.config.ts +143 -0
- package/templates/projects/blog/config/dashboard.config.ts +346 -0
- package/templates/projects/blog/config/dev.config.ts +48 -0
- package/templates/projects/blog/config/features.config.ts +196 -0
- package/templates/projects/blog/config/flows.config.ts +333 -0
- package/templates/projects/blog/config/permissions.config.ts +112 -0
- package/templates/projects/blog/config/theme.config.ts +128 -0
- package/templates/projects/blog/entities/categories/api/docs.md +119 -0
- package/templates/projects/blog/entities/categories/api/presets.ts +67 -0
- package/templates/projects/blog/entities/categories/categories.config.ts +60 -0
- package/templates/projects/blog/entities/categories/categories.fields.ts +115 -0
- package/templates/projects/blog/entities/categories/categories.service.ts +333 -0
- package/templates/projects/blog/entities/categories/categories.types.ts +58 -0
- package/templates/projects/blog/entities/categories/messages/en.json +33 -0
- package/templates/projects/blog/entities/categories/messages/es.json +33 -0
- package/templates/projects/blog/entities/posts/api/docs.md +174 -0
- package/templates/projects/blog/entities/posts/api/presets.ts +137 -0
- package/templates/projects/blog/entities/posts/messages/en.json +100 -0
- package/templates/projects/blog/entities/posts/messages/es.json +100 -0
- package/templates/projects/blog/entities/posts/migrations/001_posts_table.sql +110 -0
- package/templates/projects/blog/entities/posts/migrations/002_add_featured.sql +19 -0
- package/templates/projects/blog/entities/posts/migrations/003_post_categories_pivot.sql +47 -0
- package/templates/projects/blog/entities/posts/posts.config.ts +61 -0
- package/templates/projects/blog/entities/posts/posts.fields.ts +234 -0
- package/templates/projects/blog/entities/posts/posts.service.ts +464 -0
- package/templates/projects/blog/entities/posts/posts.types.ts +80 -0
- package/templates/projects/blog/lib/sanitize-post-html.ts +52 -0
- package/templates/projects/blog/lib/selectors.ts +178 -0
- package/templates/projects/blog/messages/en.json +113 -0
- package/templates/projects/blog/messages/es.json +113 -0
- package/templates/projects/blog/migrations/002_author_profile_fields.sql +37 -0
- package/templates/projects/blog/migrations/003_categories_table.sql +90 -0
- package/templates/projects/blog/migrations/090_billing_sample_data.sql +99 -0
- package/templates/projects/blog/migrations/999_sample_data.sql +412 -0
- package/templates/projects/blog/migrations/999_theme_sample_data.sql +1070 -0
- package/templates/projects/blog/package.json +30 -0
- package/templates/projects/blog/permissions-matrix.md +63 -0
- package/templates/projects/blog/styles/article.css +333 -0
- package/templates/projects/blog/styles/components.css +204 -0
- package/templates/projects/blog/styles/globals.css +384 -0
- package/templates/projects/blog/styles/theme.css +167 -0
- package/templates/projects/blog/templates/(public)/author/[username]/page.tsx +248 -0
- package/templates/projects/blog/templates/(public)/authors/page.tsx +162 -0
- package/templates/projects/blog/templates/(public)/layout.tsx +44 -0
- package/templates/projects/blog/templates/(public)/page.tsx +277 -0
- package/templates/projects/blog/templates/(public)/posts/[slug]/page.tsx +344 -0
- package/templates/projects/blog/templates/dashboard/(main)/page.tsx +386 -0
- package/templates/projects/blog/templates/dashboard/(main)/posts/[id]/edit/page.tsx +530 -0
- package/templates/projects/blog/templates/dashboard/(main)/posts/[id]/page.tsx +33 -0
- package/templates/projects/blog/templates/dashboard/(main)/posts/create/page.tsx +354 -0
- package/templates/projects/blog/templates/dashboard/(main)/posts/page.tsx +834 -0
- package/templates/projects/blog/tests/cypress/e2e/README.md +170 -0
- package/templates/projects/blog/tests/cypress/e2e/categories/categories-crud.cy.ts +322 -0
- package/templates/projects/blog/tests/cypress/e2e/categories/categories-crud.md +73 -0
- package/templates/projects/blog/tests/cypress/e2e/posts/posts-crud.cy.ts +460 -0
- package/templates/projects/blog/tests/cypress/e2e/posts/posts-crud.md +115 -0
- package/templates/projects/blog/tests/cypress/e2e/posts/posts-editor.cy.ts +290 -0
- package/templates/projects/blog/tests/cypress/e2e/posts/posts-editor.md +139 -0
- package/templates/projects/blog/tests/cypress/e2e/posts/posts-status-workflow.cy.ts +302 -0
- package/templates/projects/blog/tests/cypress/e2e/posts/posts-status-workflow.md +83 -0
- package/templates/projects/blog/tests/cypress/fixtures/blocks.json +9 -0
- package/templates/projects/blog/tests/cypress/fixtures/entities.json +51 -0
- package/templates/projects/blog/tests/cypress/src/FeaturedImageUpload.js +131 -0
- package/templates/projects/blog/tests/cypress/src/PostEditor.js +386 -0
- package/templates/projects/blog/tests/cypress/src/PostsList.js +350 -0
- package/templates/projects/blog/tests/cypress/src/WysiwygEditor.js +373 -0
- package/templates/projects/blog/tests/cypress/src/components/EntityForm.ts +378 -0
- package/templates/projects/blog/tests/cypress/src/components/EntityList.ts +378 -0
- package/templates/projects/blog/tests/cypress/src/components/PostEditorPOM.ts +447 -0
- package/templates/projects/blog/tests/cypress/src/components/PostsPOM.ts +362 -0
- package/templates/projects/blog/tests/cypress/src/components/index.ts +18 -0
- package/templates/projects/blog/tests/cypress/src/index.js +33 -0
- package/templates/projects/blog/tests/cypress/src/selectors.ts +49 -0
- package/templates/projects/blog/tests/cypress/src/session-helpers.ts +151 -0
- package/templates/projects/blog/tests/cypress/support/e2e.ts +90 -0
- package/templates/projects/blog/tests/cypress.config.ts +149 -0
- package/templates/projects/blog/tests/jest/__mocks__/jose.js +22 -0
- package/templates/projects/blog/tests/jest/__mocks__/next-server.js +56 -0
- package/templates/projects/blog/tests/jest/components/WysiwygEditor.test.tsx +118 -0
- package/templates/projects/blog/tests/jest/jest.config.cjs +104 -0
- package/templates/projects/blog/tests/jest/lib/sanitize-post-html.test.ts +48 -0
- package/templates/projects/blog/tests/jest/setup.ts +170 -0
- package/templates/projects/blog/tests/jest/tsconfig.jest.json +6 -0
- package/templates/projects/blog/tests/tsconfig.json +7 -0
- package/templates/projects/crm/CRM_PLAN.md +343 -0
- package/templates/projects/crm/about.md +122 -0
- package/templates/projects/crm/config/app.config.ts +178 -0
- package/templates/projects/crm/config/billing.config.ts +184 -0
- package/templates/projects/crm/config/dashboard.config.ts +385 -0
- package/templates/projects/crm/config/dev.config.ts +55 -0
- package/templates/projects/crm/config/features.config.ts +336 -0
- package/templates/projects/crm/config/flows.config.ts +511 -0
- package/templates/projects/crm/config/permissions.config.ts +308 -0
- package/templates/projects/crm/config/theme.config.ts +111 -0
- package/templates/projects/crm/entities/activities/activities.config.ts +61 -0
- package/templates/projects/crm/entities/activities/activities.fields.ts +362 -0
- package/templates/projects/crm/entities/activities/activities.service.ts +503 -0
- package/templates/projects/crm/entities/activities/activities.types.ts +117 -0
- package/templates/projects/crm/entities/activities/api/docs.md +146 -0
- package/templates/projects/crm/entities/activities/api/presets.ts +132 -0
- package/templates/projects/crm/entities/activities/messages/en.json +123 -0
- package/templates/projects/crm/entities/activities/messages/es.json +123 -0
- package/templates/projects/crm/entities/activities/migrations/020_activities_table.sql +123 -0
- package/templates/projects/crm/entities/activities/migrations/021_activities_metas.sql +114 -0
- package/templates/projects/crm/entities/activities/migrations/022_activities_sample_data.sql +420 -0
- package/templates/projects/crm/entities/campaigns/api/docs.md +140 -0
- package/templates/projects/crm/entities/campaigns/api/presets.ts +147 -0
- package/templates/projects/crm/entities/campaigns/campaigns.config.ts +61 -0
- package/templates/projects/crm/entities/campaigns/campaigns.fields.ts +413 -0
- package/templates/projects/crm/entities/campaigns/campaigns.service.ts +426 -0
- package/templates/projects/crm/entities/campaigns/campaigns.types.ts +124 -0
- package/templates/projects/crm/entities/campaigns/messages/en.json +145 -0
- package/templates/projects/crm/entities/campaigns/messages/es.json +145 -0
- package/templates/projects/crm/entities/campaigns/migrations/001_campaigns_table.sql +127 -0
- package/templates/projects/crm/entities/campaigns/migrations/002_campaigns_metas.sql +114 -0
- package/templates/projects/crm/entities/campaigns/migrations/003_campaigns_sample_data.sql +364 -0
- package/templates/projects/crm/entities/companies/api/docs.md +139 -0
- package/templates/projects/crm/entities/companies/api/presets.ts +107 -0
- package/templates/projects/crm/entities/companies/companies.config.ts +61 -0
- package/templates/projects/crm/entities/companies/companies.fields.ts +429 -0
- package/templates/projects/crm/entities/companies/companies.service.ts +566 -0
- package/templates/projects/crm/entities/companies/companies.types.ts +125 -0
- package/templates/projects/crm/entities/companies/messages/en.json +146 -0
- package/templates/projects/crm/entities/companies/messages/es.json +146 -0
- package/templates/projects/crm/entities/companies/migrations/001_companies_table.sql +150 -0
- package/templates/projects/crm/entities/companies/migrations/002_companies_metas.sql +114 -0
- package/templates/projects/crm/entities/companies/migrations/003_companies_sample_data.sql +246 -0
- package/templates/projects/crm/entities/contacts/api/docs.md +139 -0
- package/templates/projects/crm/entities/contacts/api/presets.ts +98 -0
- package/templates/projects/crm/entities/contacts/contacts.config.ts +61 -0
- package/templates/projects/crm/entities/contacts/contacts.fields.ts +359 -0
- package/templates/projects/crm/entities/contacts/contacts.service.ts +509 -0
- package/templates/projects/crm/entities/contacts/contacts.types.ts +108 -0
- package/templates/projects/crm/entities/contacts/messages/en.json +117 -0
- package/templates/projects/crm/entities/contacts/messages/es.json +117 -0
- package/templates/projects/crm/entities/contacts/migrations/001_contacts_table.sql +134 -0
- package/templates/projects/crm/entities/contacts/migrations/002_contacts_metas.sql +114 -0
- package/templates/projects/crm/entities/contacts/migrations/003_contacts_sample_data.sql +421 -0
- package/templates/projects/crm/entities/leads/api/docs.md +132 -0
- package/templates/projects/crm/entities/leads/api/presets.ts +109 -0
- package/templates/projects/crm/entities/leads/leads.config.ts +61 -0
- package/templates/projects/crm/entities/leads/leads.fields.ts +336 -0
- package/templates/projects/crm/entities/leads/leads.service.ts +496 -0
- package/templates/projects/crm/entities/leads/leads.types.ts +114 -0
- package/templates/projects/crm/entities/leads/messages/en.json +132 -0
- package/templates/projects/crm/entities/leads/messages/es.json +132 -0
- package/templates/projects/crm/entities/leads/migrations/001_leads_table.sql +150 -0
- package/templates/projects/crm/entities/leads/migrations/002_leads_metas.sql +120 -0
- package/templates/projects/crm/entities/leads/migrations/003_leads_sample_data.sql +242 -0
- package/templates/projects/crm/entities/notes/api/docs.md +135 -0
- package/templates/projects/crm/entities/notes/api/presets.ts +115 -0
- package/templates/projects/crm/entities/notes/messages/en.json +114 -0
- package/templates/projects/crm/entities/notes/messages/es.json +114 -0
- package/templates/projects/crm/entities/notes/migrations/020_notes_table.sql +118 -0
- package/templates/projects/crm/entities/notes/migrations/021_notes_metas.sql +114 -0
- package/templates/projects/crm/entities/notes/migrations/022_notes_sample_data.sql +275 -0
- package/templates/projects/crm/entities/notes/notes.config.ts +61 -0
- package/templates/projects/crm/entities/notes/notes.fields.ts +283 -0
- package/templates/projects/crm/entities/notes/notes.service.ts +320 -0
- package/templates/projects/crm/entities/notes/notes.types.ts +102 -0
- package/templates/projects/crm/entities/opportunities/api/docs.md +151 -0
- package/templates/projects/crm/entities/opportunities/api/presets.ts +151 -0
- package/templates/projects/crm/entities/opportunities/messages/en.json +107 -0
- package/templates/projects/crm/entities/opportunities/messages/es.json +107 -0
- package/templates/projects/crm/entities/opportunities/migrations/010_opportunities_table.sql +145 -0
- package/templates/projects/crm/entities/opportunities/migrations/011_opportunities_metas.sql +114 -0
- package/templates/projects/crm/entities/opportunities/migrations/012_opportunities_sample_data.sql +438 -0
- package/templates/projects/crm/entities/opportunities/opportunities.config.ts +61 -0
- package/templates/projects/crm/entities/opportunities/opportunities.fields.ts +416 -0
- package/templates/projects/crm/entities/opportunities/opportunities.service.ts +525 -0
- package/templates/projects/crm/entities/opportunities/opportunities.types.ts +135 -0
- package/templates/projects/crm/entities/pipelines/api/docs.md +145 -0
- package/templates/projects/crm/entities/pipelines/api/presets.ts +118 -0
- package/templates/projects/crm/entities/pipelines/messages/en.json +115 -0
- package/templates/projects/crm/entities/pipelines/messages/es.json +115 -0
- package/templates/projects/crm/entities/pipelines/migrations/001_pipelines_table.sql +106 -0
- package/templates/projects/crm/entities/pipelines/migrations/002_pipelines_metas.sql +114 -0
- package/templates/projects/crm/entities/pipelines/migrations/003_pipelines_sample_data.sql +91 -0
- package/templates/projects/crm/entities/pipelines/pipelines.config.ts +62 -0
- package/templates/projects/crm/entities/pipelines/pipelines.fields.ts +193 -0
- package/templates/projects/crm/entities/pipelines/pipelines.service.ts +383 -0
- package/templates/projects/crm/entities/pipelines/pipelines.types.ts +78 -0
- package/templates/projects/crm/entities/products/api/docs.md +137 -0
- package/templates/projects/crm/entities/products/api/presets.ts +132 -0
- package/templates/projects/crm/entities/products/messages/en.json +135 -0
- package/templates/projects/crm/entities/products/messages/es.json +135 -0
- package/templates/projects/crm/entities/products/migrations/001_products_table.sql +117 -0
- package/templates/projects/crm/entities/products/migrations/002_products_metas.sql +114 -0
- package/templates/projects/crm/entities/products/migrations/003_products_sample_data.sql +247 -0
- package/templates/projects/crm/entities/products/products.config.ts +62 -0
- package/templates/projects/crm/entities/products/products.fields.ts +361 -0
- package/templates/projects/crm/entities/products/products.service.ts +437 -0
- package/templates/projects/crm/entities/products/products.types.ts +125 -0
- package/templates/projects/crm/lib/crm-constants.ts +77 -0
- package/templates/projects/crm/lib/crm-utils.ts +185 -0
- package/templates/projects/crm/lib/selectors.ts +332 -0
- package/templates/projects/crm/messages/en.json +131 -0
- package/templates/projects/crm/messages/es.json +131 -0
- package/templates/projects/crm/migrations/090_billing_sample_data.sql +99 -0
- package/templates/projects/crm/migrations/999_theme_sample_data.sql +473 -0
- package/templates/projects/crm/package.json +26 -0
- package/templates/projects/crm/pendings.md +204 -0
- package/templates/projects/crm/permissions-matrix.md +216 -0
- package/templates/projects/crm/styles/components.css +414 -0
- package/templates/projects/crm/styles/crm-theme.css +358 -0
- package/templates/projects/crm/styles/globals.css +624 -0
- package/templates/projects/crm/styles/variables.css +111 -0
- package/templates/projects/crm/templates/dashboard/(main)/activities/components/ActivityCard.tsx +169 -0
- package/templates/projects/crm/templates/dashboard/(main)/activities/components/ActivityTimeline.tsx +165 -0
- package/templates/projects/crm/templates/dashboard/(main)/activities/page.tsx +297 -0
- package/templates/projects/crm/templates/dashboard/(main)/campaigns/page.tsx +373 -0
- package/templates/projects/crm/templates/dashboard/(main)/companies/page.tsx +296 -0
- package/templates/projects/crm/templates/dashboard/(main)/contacts/page.tsx +347 -0
- package/templates/projects/crm/templates/dashboard/(main)/layout.tsx +98 -0
- package/templates/projects/crm/templates/dashboard/(main)/leads/page.tsx +335 -0
- package/templates/projects/crm/templates/dashboard/(main)/opportunities/[id]/edit/page.tsx +95 -0
- package/templates/projects/crm/templates/dashboard/(main)/opportunities/create/page.tsx +94 -0
- package/templates/projects/crm/templates/dashboard/(main)/opportunities/page.tsx +350 -0
- package/templates/projects/crm/templates/dashboard/(main)/pipelines/[id]/edit/page.tsx +95 -0
- package/templates/projects/crm/templates/dashboard/(main)/pipelines/[id]/page.tsx +143 -0
- package/templates/projects/crm/templates/dashboard/(main)/pipelines/create/page.tsx +94 -0
- package/templates/projects/crm/templates/dashboard/(main)/pipelines/page.tsx +235 -0
- package/templates/projects/crm/templates/dashboard/(main)/products/[id]/edit/page.tsx +97 -0
- package/templates/projects/crm/templates/dashboard/(main)/products/[id]/page.tsx +510 -0
- package/templates/projects/crm/templates/dashboard/(main)/products/create/page.tsx +96 -0
- package/templates/projects/crm/templates/dashboard/(main)/products/page.tsx +308 -0
- package/templates/projects/crm/templates/shared/ActionButtons.tsx +41 -0
- package/templates/projects/crm/templates/shared/CRMDashboard.tsx +519 -0
- package/templates/projects/crm/templates/shared/CRMDataTable.tsx +441 -0
- package/templates/projects/crm/templates/shared/CRMMetricCard.tsx +76 -0
- package/templates/projects/crm/templates/shared/CRMMobileNav.tsx +172 -0
- package/templates/projects/crm/templates/shared/CRMSidebar.tsx +347 -0
- package/templates/projects/crm/templates/shared/CRMTopBar.tsx +266 -0
- package/templates/projects/crm/templates/shared/DealCard.tsx +123 -0
- package/templates/projects/crm/templates/shared/EntityCard.tsx +58 -0
- package/templates/projects/crm/templates/shared/OpportunityForm.tsx +649 -0
- package/templates/projects/crm/templates/shared/PipelineForm.tsx +367 -0
- package/templates/projects/crm/templates/shared/PipelineKanban.tsx +194 -0
- package/templates/projects/crm/templates/shared/QuickFilters.tsx +47 -0
- package/templates/projects/crm/templates/shared/StageColumn.tsx +175 -0
- package/templates/projects/crm/templates/shared/StageSelect.tsx +177 -0
- package/templates/projects/crm/templates/shared/StagesRepeater.tsx +317 -0
- package/templates/projects/crm/templates/shared/index.ts +9 -0
- package/templates/projects/crm/tests/cypress/e2e/api/activities/activities-crud.cy.ts +686 -0
- package/templates/projects/crm/tests/cypress/e2e/api/campaigns/campaigns-crud.cy.ts +592 -0
- package/templates/projects/crm/tests/cypress/e2e/api/companies/companies-crud.cy.ts +682 -0
- package/templates/projects/crm/tests/cypress/e2e/api/contacts/contacts-crud.cy.ts +668 -0
- package/templates/projects/crm/tests/cypress/e2e/api/leads/leads-crud.cy.ts +648 -0
- package/templates/projects/crm/tests/cypress/e2e/api/notes/notes-crud.cy.ts +424 -0
- package/templates/projects/crm/tests/cypress/e2e/api/opportunities/opportunities-crud.cy.ts +865 -0
- package/templates/projects/crm/tests/cypress/e2e/api/pipelines/pipelines-crud.cy.ts +545 -0
- package/templates/projects/crm/tests/cypress/e2e/api/products/products-crud.cy.ts +447 -0
- package/templates/projects/crm/tests/cypress/e2e/ui/activities/activities-admin.cy.ts +268 -0
- package/templates/projects/crm/tests/cypress/e2e/ui/activities/activities-member.cy.ts +257 -0
- package/templates/projects/crm/tests/cypress/e2e/ui/activities/activities-owner.cy.ts +268 -0
- package/templates/projects/crm/tests/cypress/e2e/ui/companies/companies-admin.cy.ts +188 -0
- package/templates/projects/crm/tests/cypress/e2e/ui/companies/companies-member.cy.ts +166 -0
- package/templates/projects/crm/tests/cypress/e2e/ui/companies/companies-owner.cy.ts +189 -0
- package/templates/projects/crm/tests/cypress/e2e/ui/contacts/contacts-admin.cy.ts +252 -0
- package/templates/projects/crm/tests/cypress/e2e/ui/contacts/contacts-member.cy.ts +224 -0
- package/templates/projects/crm/tests/cypress/e2e/ui/contacts/contacts-owner.cy.ts +236 -0
- package/templates/projects/crm/tests/cypress/e2e/ui/leads/leads-admin.cy.ts +286 -0
- package/templates/projects/crm/tests/cypress/e2e/ui/leads/leads-member.cy.ts +193 -0
- package/templates/projects/crm/tests/cypress/e2e/ui/leads/leads-owner.cy.ts +210 -0
- package/templates/projects/crm/tests/cypress/e2e/ui/opportunities/opportunities-admin.cy.ts +197 -0
- package/templates/projects/crm/tests/cypress/e2e/ui/opportunities/opportunities-member.cy.ts +229 -0
- package/templates/projects/crm/tests/cypress/e2e/ui/opportunities/opportunities-owner.cy.ts +196 -0
- package/templates/projects/crm/tests/cypress/e2e/ui/pipelines/pipelines-admin.cy.ts +320 -0
- package/templates/projects/crm/tests/cypress/e2e/ui/pipelines/pipelines-member.cy.ts +262 -0
- package/templates/projects/crm/tests/cypress/e2e/ui/pipelines/pipelines-owner.cy.ts +282 -0
- package/templates/projects/crm/tests/cypress/fixtures/blocks.json +9 -0
- package/templates/projects/crm/tests/cypress/fixtures/entities.json +240 -0
- package/templates/projects/crm/tests/cypress/src/components/CRMDataTable.js +223 -0
- package/templates/projects/crm/tests/cypress/src/components/CRMMobileNav.js +138 -0
- package/templates/projects/crm/tests/cypress/src/components/CRMSidebar.js +145 -0
- package/templates/projects/crm/tests/cypress/src/components/CRMTopBar.js +194 -0
- package/templates/projects/crm/tests/cypress/src/components/DealCard.js +197 -0
- package/templates/projects/crm/tests/cypress/src/components/EntityDetail.ts +290 -0
- package/templates/projects/crm/tests/cypress/src/components/EntityForm.ts +357 -0
- package/templates/projects/crm/tests/cypress/src/components/EntityList.ts +360 -0
- package/templates/projects/crm/tests/cypress/src/components/PipelineKanban.js +204 -0
- package/templates/projects/crm/tests/cypress/src/components/StageColumn.js +196 -0
- package/templates/projects/crm/tests/cypress/src/components/index.js +13 -0
- package/templates/projects/crm/tests/cypress/src/components/index.ts +22 -0
- package/templates/projects/crm/tests/cypress/src/controllers/ActivityAPIController.ts +113 -0
- package/templates/projects/crm/tests/cypress/src/controllers/BaseAPIController.ts +307 -0
- package/templates/projects/crm/tests/cypress/src/controllers/CampaignAPIController.ts +114 -0
- package/templates/projects/crm/tests/cypress/src/controllers/CompanyAPIController.ts +112 -0
- package/templates/projects/crm/tests/cypress/src/controllers/ContactAPIController.ts +104 -0
- package/templates/projects/crm/tests/cypress/src/controllers/LeadAPIController.ts +96 -0
- package/templates/projects/crm/tests/cypress/src/controllers/NoteAPIController.ts +130 -0
- package/templates/projects/crm/tests/cypress/src/controllers/OpportunityAPIController.ts +134 -0
- package/templates/projects/crm/tests/cypress/src/controllers/PipelineAPIController.ts +116 -0
- package/templates/projects/crm/tests/cypress/src/controllers/ProductAPIController.ts +113 -0
- package/templates/projects/crm/tests/cypress/src/controllers/index.ts +35 -0
- package/templates/projects/crm/tests/cypress/src/entities/ActivitiesPOM.ts +130 -0
- package/templates/projects/crm/tests/cypress/src/entities/CompaniesPOM.ts +117 -0
- package/templates/projects/crm/tests/cypress/src/entities/ContactsPOM.ts +117 -0
- package/templates/projects/crm/tests/cypress/src/entities/LeadsPOM.ts +129 -0
- package/templates/projects/crm/tests/cypress/src/entities/OpportunitiesPOM.ts +178 -0
- package/templates/projects/crm/tests/cypress/src/entities/PipelinesPOM.ts +341 -0
- package/templates/projects/crm/tests/cypress/src/entities/index.ts +31 -0
- package/templates/projects/crm/tests/cypress/src/forms/OpportunityForm.js +316 -0
- package/templates/projects/crm/tests/cypress/src/forms/PipelineForm.js +243 -0
- package/templates/projects/crm/tests/cypress/src/forms/index.js +8 -0
- package/templates/projects/crm/tests/cypress/src/index.js +22 -0
- package/templates/projects/crm/tests/cypress/src/index.ts +68 -0
- package/templates/projects/crm/tests/cypress/src/selectors.ts +50 -0
- package/templates/projects/crm/tests/cypress/src/session-helpers.ts +176 -0
- package/templates/projects/crm/tests/cypress/support/e2e.ts +90 -0
- package/templates/projects/crm/tests/cypress.config.ts +149 -0
- package/templates/projects/crm/tests/tsconfig.json +7 -0
- package/templates/projects/productivity/README.md +73 -0
- package/templates/projects/productivity/about.md +123 -0
- package/templates/projects/productivity/components/CardDetailModal.tsx +318 -0
- package/templates/projects/productivity/components/KanbanBoard.tsx +613 -0
- package/templates/projects/productivity/components/KanbanCard.tsx +218 -0
- package/templates/projects/productivity/components/KanbanColumn.tsx +264 -0
- package/templates/projects/productivity/components/SortableList.tsx +46 -0
- package/templates/projects/productivity/components/index.ts +4 -0
- package/templates/projects/productivity/config/app.config.ts +165 -0
- package/templates/projects/productivity/config/billing.config.ts +184 -0
- package/templates/projects/productivity/config/dashboard.config.ts +370 -0
- package/templates/projects/productivity/config/dev.config.ts +55 -0
- package/templates/projects/productivity/config/features.config.ts +256 -0
- package/templates/projects/productivity/config/flows.config.ts +484 -0
- package/templates/projects/productivity/config/permissions.config.ts +178 -0
- package/templates/projects/productivity/config/theme.config.ts +106 -0
- package/templates/projects/productivity/entities/boards/api/docs.md +131 -0
- package/templates/projects/productivity/entities/boards/api/presets.ts +113 -0
- package/templates/projects/productivity/entities/boards/boards.config.ts +61 -0
- package/templates/projects/productivity/entities/boards/boards.fields.ts +154 -0
- package/templates/projects/productivity/entities/boards/boards.service.ts +256 -0
- package/templates/projects/productivity/entities/boards/boards.types.ts +57 -0
- package/templates/projects/productivity/entities/boards/messages/en.json +80 -0
- package/templates/projects/productivity/entities/boards/messages/es.json +80 -0
- package/templates/projects/productivity/entities/boards/migrations/001_boards_table.sql +83 -0
- package/templates/projects/productivity/entities/cards/api/docs.md +162 -0
- package/templates/projects/productivity/entities/cards/api/presets.ts +172 -0
- package/templates/projects/productivity/entities/cards/cards.config.ts +61 -0
- package/templates/projects/productivity/entities/cards/cards.fields.ts +242 -0
- package/templates/projects/productivity/entities/cards/cards.service.ts +336 -0
- package/templates/projects/productivity/entities/cards/cards.types.ts +79 -0
- package/templates/projects/productivity/entities/cards/messages/en.json +114 -0
- package/templates/projects/productivity/entities/cards/messages/es.json +114 -0
- package/templates/projects/productivity/entities/cards/migrations/020_cards_table.sql +92 -0
- package/templates/projects/productivity/entities/lists/api/docs.md +143 -0
- package/templates/projects/productivity/entities/lists/api/presets.ts +81 -0
- package/templates/projects/productivity/entities/lists/lists.config.ts +61 -0
- package/templates/projects/productivity/entities/lists/lists.fields.ts +105 -0
- package/templates/projects/productivity/entities/lists/lists.service.ts +252 -0
- package/templates/projects/productivity/entities/lists/lists.types.ts +55 -0
- package/templates/projects/productivity/entities/lists/messages/en.json +60 -0
- package/templates/projects/productivity/entities/lists/messages/es.json +60 -0
- package/templates/projects/productivity/entities/lists/migrations/010_lists_table.sql +79 -0
- package/templates/projects/productivity/lib/selectors.ts +205 -0
- package/templates/projects/productivity/messages/en.json +79 -0
- package/templates/projects/productivity/messages/es.json +79 -0
- package/templates/projects/productivity/migrations/090_billing_sample_data.sql +100 -0
- package/templates/projects/productivity/migrations/999_theme_sample_data.sql +922 -0
- package/templates/projects/productivity/migrations/999a_initial_sample_data.sql +377 -0
- package/templates/projects/productivity/migrations/999b_abundant_sample_data.sql +346 -0
- package/templates/projects/productivity/package.json +29 -0
- package/templates/projects/productivity/permissions-matrix.md +122 -0
- package/templates/projects/productivity/styles/components.css +460 -0
- package/templates/projects/productivity/styles/globals.css +608 -0
- package/templates/projects/productivity/templates/dashboard/(main)/boards/[id]/[cardId]/page.tsx +239 -0
- package/templates/projects/productivity/templates/dashboard/(main)/boards/[id]/edit/page.tsx +391 -0
- package/templates/projects/productivity/templates/dashboard/(main)/boards/[id]/page.tsx +237 -0
- package/templates/projects/productivity/templates/dashboard/(main)/boards/create/page.tsx +237 -0
- package/templates/projects/productivity/templates/dashboard/(main)/boards/page.tsx +336 -0
- package/templates/projects/productivity/templates/dashboard/(main)/layout.tsx +32 -0
- package/templates/projects/productivity/templates/dashboard/(main)/page.tsx +593 -0
- package/templates/projects/productivity/templates/shared/ProductivityMobileNav.tsx +411 -0
- package/templates/projects/productivity/templates/shared/ProductivitySidebar.tsx +539 -0
- package/templates/projects/productivity/templates/shared/ProductivityTopBar.tsx +318 -0
- package/templates/projects/productivity/tests/cypress/e2e/ui/boards/boards-owner.cy.ts +349 -0
- package/templates/projects/productivity/tests/cypress/e2e/ui/cards/cards-modal.cy.ts +369 -0
- package/templates/projects/productivity/tests/cypress/e2e/ui/kanban/kanban-cards.cy.ts +280 -0
- package/templates/projects/productivity/tests/cypress/e2e/ui/kanban/kanban-columns.cy.ts +243 -0
- package/templates/projects/productivity/tests/cypress/fixtures/blocks.json +9 -0
- package/templates/projects/productivity/tests/cypress/fixtures/entities.json +60 -0
- package/templates/projects/productivity/tests/cypress/src/components/BoardsPOM.ts +353 -0
- package/templates/projects/productivity/tests/cypress/src/components/CardsPOM.ts +383 -0
- package/templates/projects/productivity/tests/cypress/src/components/KanbanPOM.ts +399 -0
- package/templates/projects/productivity/tests/cypress/src/components/index.ts +9 -0
- package/templates/projects/productivity/tests/cypress/src/controllers/BoardsAPIController.js +302 -0
- package/templates/projects/productivity/tests/cypress/src/controllers/CardsAPIController.js +406 -0
- package/templates/projects/productivity/tests/cypress/src/controllers/ListsAPIController.js +299 -0
- package/templates/projects/productivity/tests/cypress/src/index.ts +25 -0
- package/templates/projects/productivity/tests/cypress/src/selectors.ts +50 -0
- package/templates/projects/productivity/tests/cypress/src/session-helpers.ts +176 -0
- package/templates/projects/productivity/tests/cypress/support/e2e.ts +90 -0
- package/templates/projects/productivity/tests/cypress.config.ts +149 -0
- package/templates/projects/productivity/tests/tsconfig.json +7 -0
- package/templates/projects/starter/blocks/cta-section/config.ts +10 -0
- package/templates/projects/starter/blocks/features-grid/config.ts +10 -0
- package/templates/projects/starter/blocks/hero/config.ts +10 -0
- package/templates/projects/starter/blocks/testimonials/config.ts +10 -0
- package/templates/projects/starter/blocks/text-content/config.ts +10 -0
- package/templates/projects/starter/emails/_README.md +69 -0
- package/templates/projects/starter/entities/pages/pages.config.ts +95 -0
- package/templates/projects/starter/entities/posts/posts.config.ts +102 -0
- package/templates/projects/starter/entities/tasks/tasks.config.ts +82 -0
- package/templates/projects/starter/styles/globals.css +213 -0
- package/templates/projects/starter/templates/(public)/page.tsx +49 -0
- package/templates/projects/starter/tests/cypress/e2e/_utils/docs/README.md +215 -0
- package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/block-editor.bdd.md +491 -0
- package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/dashboard-navigation.bdd.md +147 -0
- package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/dashboard-sidebar.bdd.md +76 -0
- package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/dashboard-topnav.bdd.md +326 -0
- package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/patterns.bdd.md +388 -0
- package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/settings-api-keys.bdd.md +266 -0
- package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/settings-billing.bdd.md +78 -0
- package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/settings-layout.bdd.md +129 -0
- package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/settings-password.bdd.md +82 -0
- package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/settings-profile.bdd.md +77 -0
- package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/settings-teams.bdd.md +130 -0
- package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/superadmin.bdd.md +261 -0
- package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/tasks.bdd.md +593 -0
- package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/teams.bdd.md +278 -0
- package/templates/projects/starter/tests/cypress/src/session-helpers.ts +548 -0
- package/templates/projects/starter/tests/cypress.config.ts +215 -0
- package/templates/projects/starter/tests/jest/__mocks__/jose.js +22 -0
- package/templates/projects/starter/tests/jest/__mocks__/next-server.js +56 -0
- package/templates/projects/starter/tests/jest/example.test.tsx +87 -0
- package/templates/projects/starter/tests/jest/jest.config.cjs +92 -0
- package/templates/projects/starter/tests/jest/services/tasks.service.test.ts +547 -0
- package/templates/projects/starter/tests/jest/tsconfig.jest.json +8 -0
- package/templates/projects/starter/tests/tsconfig.json +7 -0
- package/templates/proxy.ts +366 -107
- package/templates/public/uploads/README.md +1 -1
- package/templates/scripts/cy-run-prod.cjs +6 -34
- package/templates/tsconfig.cypress.json +4 -5
- package/templates/tsconfig.json +8 -16
- package/tests/jest/__mocks__/@nextsparkjs/registries/app-config.client.ts +3 -0
- package/tests/jest/__mocks__/@nextsparkjs/registries/block-schemas.ts +5 -0
- package/tests/jest/__mocks__/@nextsparkjs/registries/dashboard-config.client.ts +2 -0
- package/tests/jest/__mocks__/@nextsparkjs/registries/dev-keyring.client.ts +2 -0
- package/tests/jest/__mocks__/@nextsparkjs/registries/docs-registry.ts +7 -7
- package/tests/jest/__mocks__/@nextsparkjs/registries/plugin-catalog.ts +21 -0
- package/tests/jest/__mocks__/@nextsparkjs/registries/plugin-registry.client.ts +9 -0
- package/tests/jest/__mocks__/@nextsparkjs/registries/route-handlers.ts +1 -11
- package/tests/jest/__mocks__/@nextsparkjs/registries/theme-registry.client.ts +41 -0
- package/tests/jest/__mocks__/@nextsparkjs/registries/theme-registry.ts +2 -3
- package/tests/jest/__mocks__/@nextsparkjs/registries/translation-registry.ts +6 -0
- package/dist/lib/api/entity/public-resolver.d.ts +0 -28
- package/dist/lib/api/entity/public-resolver.d.ts.map +0 -1
- package/dist/lib/api/entity/public-resolver.js +0 -95
- package/dist/lib/services/middleware.service.d.ts +0 -66
- package/dist/lib/services/middleware.service.d.ts.map +0 -1
- package/dist/lib/services/middleware.service.js +0 -111
- package/dist/lib/services/route-handler.service.d.ts +0 -155
- package/dist/lib/services/route-handler.service.d.ts.map +0 -1
- package/dist/lib/services/route-handler.service.js +0 -160
- package/dist/lib/services/template.service.d.ts +0 -148
- package/dist/lib/services/template.service.d.ts.map +0 -1
- package/dist/lib/services/template.service.js +0 -184
- package/dist/lib/template-resolver.d.ts +0 -103
- package/dist/lib/template-resolver.d.ts.map +0 -1
- package/dist/lib/template-resolver.js +0 -120
- package/dist/lib/theme/theme-loader.d.ts +0 -59
- package/dist/lib/theme/theme-loader.d.ts.map +0 -1
- package/dist/lib/theme/theme-loader.js +0 -191
- package/dist/templates/app/(auth)/accept-invite/[token]/page.tsx +0 -339
- package/dist/templates/app/(auth)/auth-error/page.tsx +0 -25
- package/dist/templates/app/(auth)/forgot-password/page.tsx +0 -215
- package/dist/templates/app/(auth)/layout.tsx +0 -54
- package/dist/templates/app/(auth)/login/page.tsx +0 -22
- package/dist/templates/app/(auth)/reset-password/page.tsx +0 -211
- package/dist/templates/app/(auth)/signup/page.tsx +0 -63
- package/dist/templates/app/(auth)/verify-email/page.tsx +0 -190
- package/dist/templates/app/(public)/[...slug]/page.tsx +0 -386
- package/dist/templates/app/(public)/docs/[section]/[page]/page.tsx +0 -101
- package/dist/templates/app/(public)/docs/layout.tsx +0 -25
- package/dist/templates/app/(public)/docs/page.tsx +0 -81
- package/dist/templates/app/(public)/layout.tsx +0 -44
- package/dist/templates/app/(public)/page.tsx +0 -19
- package/dist/templates/app/403/page.tsx +0 -89
- package/dist/templates/app/api/auth/[...all]/route.ts +0 -214
- package/dist/templates/app/api/cron/billing/lifecycle/route.ts +0 -98
- package/dist/templates/app/api/csp-report/route.ts +0 -181
- package/dist/templates/app/api/devtools/config/entities/route.ts +0 -115
- package/dist/templates/app/api/devtools/config/theme/route.ts +0 -67
- package/dist/templates/app/api/devtools/tests/[...path]/route.ts +0 -131
- package/dist/templates/app/api/devtools/tests/route.ts +0 -135
- package/dist/templates/app/api/health/route.ts +0 -53
- package/dist/templates/app/api/internal/user-metadata/route.ts +0 -47
- package/dist/templates/app/api/mcp/route.ts +0 -176
- package/dist/templates/app/api/superadmin/subscriptions/route.ts +0 -315
- package/dist/templates/app/api/superadmin/teams/[teamId]/route.ts +0 -292
- package/dist/templates/app/api/superadmin/teams/route.ts +0 -187
- package/dist/templates/app/api/superadmin/users/[userId]/route.ts +0 -542
- package/dist/templates/app/api/superadmin/users/route.ts +0 -322
- package/dist/templates/app/api/user/delete-account/route.ts +0 -58
- package/dist/templates/app/api/user/plan-flags/route.ts +0 -270
- package/dist/templates/app/api/user/profile/route.ts +0 -129
- package/dist/templates/app/api/v1/[entity]/[id]/child/[childType]/[childId]/route.ts +0 -208
- package/dist/templates/app/api/v1/[entity]/[id]/child/[childType]/route.ts +0 -329
- package/dist/templates/app/api/v1/[entity]/[id]/route.ts +0 -33
- package/dist/templates/app/api/v1/[entity]/route.ts +0 -29
- package/dist/templates/app/api/v1/api-keys/[id]/route.ts +0 -283
- package/dist/templates/app/api/v1/api-keys/route.ts +0 -241
- package/dist/templates/app/api/v1/auth/signup-with-invite/route.ts +0 -243
- package/dist/templates/app/api/v1/billing/cancel/route.ts +0 -206
- package/dist/templates/app/api/v1/billing/change-plan/route.ts +0 -99
- package/dist/templates/app/api/v1/billing/check-action/route.ts +0 -85
- package/dist/templates/app/api/v1/billing/checkout/route.ts +0 -153
- package/dist/templates/app/api/v1/billing/plans/route.ts +0 -82
- package/dist/templates/app/api/v1/billing/portal/route.ts +0 -93
- package/dist/templates/app/api/v1/billing/webhooks/polar/route.ts +0 -495
- package/dist/templates/app/api/v1/billing/webhooks/stripe/route.ts +0 -34
- package/dist/templates/app/api/v1/blocks/[slug]/route.ts +0 -30
- package/dist/templates/app/api/v1/blocks/docs.md +0 -173
- package/dist/templates/app/api/v1/blocks/route.ts +0 -46
- package/dist/templates/app/api/v1/blocks/validate/route.ts +0 -47
- package/dist/templates/app/api/v1/cron/process/route.ts +0 -106
- package/dist/templates/app/api/v1/devtools/blocks/route.ts +0 -84
- package/dist/templates/app/api/v1/devtools/docs/route.ts +0 -153
- package/dist/templates/app/api/v1/devtools/docs.md +0 -204
- package/dist/templates/app/api/v1/devtools/features/route.ts +0 -63
- package/dist/templates/app/api/v1/devtools/flows/route.ts +0 -63
- package/dist/templates/app/api/v1/devtools/presets.ts +0 -113
- package/dist/templates/app/api/v1/devtools/scheduled-actions/route.ts +0 -244
- package/dist/templates/app/api/v1/devtools/scheduled-actions/run/route.ts +0 -111
- package/dist/templates/app/api/v1/devtools/testing/route.ts +0 -84
- package/dist/templates/app/api/v1/media/[id]/route.ts +0 -168
- package/dist/templates/app/api/v1/media/[id]/tags/route.ts +0 -212
- package/dist/templates/app/api/v1/media/check-duplicates/route.ts +0 -66
- package/dist/templates/app/api/v1/media/route.ts +0 -64
- package/dist/templates/app/api/v1/media/upload/route.ts +0 -274
- package/dist/templates/app/api/v1/media-tags/route.ts +0 -81
- package/dist/templates/app/api/v1/patterns/[id]/usages/route.ts +0 -108
- package/dist/templates/app/api/v1/plugin/[...path]/route.ts +0 -374
- package/dist/templates/app/api/v1/plugin/docs.md +0 -79
- package/dist/templates/app/api/v1/plugin/presets.ts +0 -21
- package/dist/templates/app/api/v1/plugin/route.ts +0 -97
- package/dist/templates/app/api/v1/post-categories/[id]/route.ts +0 -258
- package/dist/templates/app/api/v1/post-categories/route.ts +0 -121
- package/dist/templates/app/api/v1/team-invitations/[token]/accept/route.ts +0 -177
- package/dist/templates/app/api/v1/team-invitations/[token]/decline/route.ts +0 -118
- package/dist/templates/app/api/v1/team-invitations/[token]/route.ts +0 -90
- package/dist/templates/app/api/v1/team-invitations/route.ts +0 -113
- package/dist/templates/app/api/v1/teams/[teamId]/invitations/route.ts +0 -181
- package/dist/templates/app/api/v1/teams/[teamId]/invoices/[invoiceNumber]/route.ts +0 -105
- package/dist/templates/app/api/v1/teams/[teamId]/invoices/route.ts +0 -125
- package/dist/templates/app/api/v1/teams/[teamId]/members/[memberId]/route.ts +0 -260
- package/dist/templates/app/api/v1/teams/[teamId]/members/route.ts +0 -350
- package/dist/templates/app/api/v1/teams/[teamId]/route.ts +0 -289
- package/dist/templates/app/api/v1/teams/[teamId]/subscription/route.ts +0 -51
- package/dist/templates/app/api/v1/teams/[teamId]/usage/[limitSlug]/route.ts +0 -96
- package/dist/templates/app/api/v1/teams/route.ts +0 -305
- package/dist/templates/app/api/v1/teams/switch/route.ts +0 -106
- package/dist/templates/app/api/v1/theme/[...path]/route.ts +0 -383
- package/dist/templates/app/api/v1/theme/docs.md +0 -74
- package/dist/templates/app/api/v1/theme/presets.ts +0 -21
- package/dist/templates/app/api/v1/theme/route.ts +0 -97
- package/dist/templates/app/api/v1/users/[id]/meta/[key]/route.ts +0 -313
- package/dist/templates/app/api/v1/users/[id]/route.ts +0 -270
- package/dist/templates/app/api/v1/users/route.ts +0 -194
- package/dist/templates/app/dashboard/(main)/[entity]/[id]/edit/page.tsx +0 -117
- package/dist/templates/app/dashboard/(main)/[entity]/[id]/page.tsx +0 -85
- package/dist/templates/app/dashboard/(main)/[entity]/create/page.tsx +0 -95
- package/dist/templates/app/dashboard/(main)/[entity]/error.tsx +0 -51
- package/dist/templates/app/dashboard/(main)/[entity]/layout.tsx +0 -115
- package/dist/templates/app/dashboard/(main)/[entity]/loading.tsx +0 -64
- package/dist/templates/app/dashboard/(main)/[entity]/page.tsx +0 -71
- package/dist/templates/app/dashboard/(main)/layout.tsx +0 -99
- package/dist/templates/app/dashboard/(main)/loading.tsx +0 -8
- package/dist/templates/app/dashboard/(main)/media/page.tsx +0 -621
- package/dist/templates/app/dashboard/(main)/page.tsx +0 -201
- package/dist/templates/app/dashboard/(main)/patterns/[id]/edit/page.tsx +0 -117
- package/dist/templates/app/dashboard/(main)/patterns/[id]/page.tsx +0 -23
- package/dist/templates/app/dashboard/(main)/patterns/[id]/reports/page.tsx +0 -174
- package/dist/templates/app/dashboard/(main)/patterns/create/page.tsx +0 -89
- package/dist/templates/app/dashboard/(main)/patterns/page.tsx +0 -447
- package/dist/templates/app/dashboard/features/analytics/page.tsx +0 -38
- package/dist/templates/app/dashboard/features/automation/page.tsx +0 -38
- package/dist/templates/app/dashboard/features/layout.tsx +0 -16
- package/dist/templates/app/dashboard/features/loading.tsx +0 -8
- package/dist/templates/app/dashboard/features/webhooks/page.tsx +0 -38
- package/dist/templates/app/dashboard/layout.tsx +0 -87
- package/dist/templates/app/dashboard/permission-denied/page.tsx +0 -32
- package/dist/templates/app/dashboard/settings/api-keys/loading.tsx +0 -8
- package/dist/templates/app/dashboard/settings/api-keys/page.tsx +0 -516
- package/dist/templates/app/dashboard/settings/billing/loading.tsx +0 -8
- package/dist/templates/app/dashboard/settings/billing/page.tsx +0 -289
- package/dist/templates/app/dashboard/settings/invoices/[invoiceNumber]/page.tsx +0 -222
- package/dist/templates/app/dashboard/settings/invoices/loading.tsx +0 -8
- package/dist/templates/app/dashboard/settings/invoices/page.tsx +0 -82
- package/dist/templates/app/dashboard/settings/layout.tsx +0 -151
- package/dist/templates/app/dashboard/settings/loading.tsx +0 -8
- package/dist/templates/app/dashboard/settings/notifications/loading.tsx +0 -8
- package/dist/templates/app/dashboard/settings/notifications/page.tsx +0 -462
- package/dist/templates/app/dashboard/settings/page.tsx +0 -93
- package/dist/templates/app/dashboard/settings/password/loading.tsx +0 -8
- package/dist/templates/app/dashboard/settings/password/page.tsx +0 -305
- package/dist/templates/app/dashboard/settings/plans/loading.tsx +0 -8
- package/dist/templates/app/dashboard/settings/plans/page.tsx +0 -62
- package/dist/templates/app/dashboard/settings/profile/loading.tsx +0 -8
- package/dist/templates/app/dashboard/settings/profile/page.tsx +0 -688
- package/dist/templates/app/dashboard/settings/security/loading.tsx +0 -8
- package/dist/templates/app/dashboard/settings/security/page.tsx +0 -506
- package/dist/templates/app/dashboard/settings/teams/loading.tsx +0 -8
- package/dist/templates/app/dashboard/settings/teams/page.tsx +0 -272
- package/dist/templates/app/dashboard/settings/teams/permissions/page.tsx +0 -95
- package/dist/templates/app/devtools/api/[[...endpoint]]/page.tsx +0 -33
- package/dist/templates/app/devtools/api/layout.tsx +0 -23
- package/dist/templates/app/devtools/blocks/[slug]/page.tsx +0 -39
- package/dist/templates/app/devtools/blocks/page.tsx +0 -40
- package/dist/templates/app/devtools/config/page.tsx +0 -40
- package/dist/templates/app/devtools/features/page.tsx +0 -40
- package/dist/templates/app/devtools/flows/page.tsx +0 -40
- package/dist/templates/app/devtools/layout.tsx +0 -66
- package/dist/templates/app/devtools/page.tsx +0 -130
- package/dist/templates/app/devtools/plugins/[plugin]/page.tsx +0 -17
- package/dist/templates/app/devtools/scheduled-actions/page.tsx +0 -158
- package/dist/templates/app/devtools/style/page.tsx +0 -330
- package/dist/templates/app/devtools/tags/page.tsx +0 -40
- package/dist/templates/app/devtools/tests/[[...path]]/page.tsx +0 -56
- package/dist/templates/app/favicon.ico +0 -0
- package/dist/templates/app/globals.css +0 -12
- package/dist/templates/app/layout.ppr.tsx +0 -105
- package/dist/templates/app/layout.tsx +0 -118
- package/dist/templates/app/public/page.tsx +0 -30
- package/dist/templates/app/superadmin/docs/[section]/[page]/page.tsx +0 -93
- package/dist/templates/app/superadmin/docs/page.tsx +0 -75
- package/dist/templates/app/superadmin/layout.tsx +0 -96
- package/dist/templates/app/superadmin/page.tsx +0 -149
- package/dist/templates/app/superadmin/plugins/[plugin]/page.tsx +0 -17
- package/dist/templates/app/superadmin/subscriptions/page.tsx +0 -658
- package/dist/templates/app/superadmin/team-roles/page.tsx +0 -493
- package/dist/templates/app/superadmin/teams/[teamId]/page.tsx +0 -691
- package/dist/templates/app/superadmin/teams/page.tsx +0 -302
- package/dist/templates/app/superadmin/users/[userId]/page.tsx +0 -549
- package/dist/templates/app/superadmin/users/page.tsx +0 -529
- package/dist/templates/contents/plugins/README.md +0 -42
- package/dist/templates/contents/plugins/starter/plugin/README.md.template +0 -97
- package/dist/templates/contents/plugins/starter/plugin/api/example/route.ts.template +0 -94
- package/dist/templates/contents/plugins/starter/plugin/hooks/usePlugin.ts.template +0 -102
- package/dist/templates/contents/themes/starter/blocks/cta-section/config.ts +0 -11
- package/dist/templates/contents/themes/starter/blocks/features-grid/config.ts +0 -11
- package/dist/templates/contents/themes/starter/blocks/hero/config.ts +0 -11
- package/dist/templates/contents/themes/starter/blocks/testimonials/config.ts +0 -11
- package/dist/templates/contents/themes/starter/blocks/text-content/config.ts +0 -11
- package/dist/templates/contents/themes/starter/emails/_README.md +0 -69
- package/dist/templates/contents/themes/starter/entities/pages/pages.config.ts +0 -95
- package/dist/templates/contents/themes/starter/entities/posts/posts.config.ts +0 -102
- package/dist/templates/contents/themes/starter/entities/tasks/tasks.config.ts +0 -82
- package/dist/templates/contents/themes/starter/public/theme/blocks/hero/thumbnail.png +0 -1
- package/dist/templates/contents/themes/starter/styles/globals.css +0 -214
- package/dist/templates/contents/themes/starter/templates/(public)/loading.tsx +0 -5
- package/dist/templates/contents/themes/starter/templates/(public)/page.tsx +0 -37
- package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/docs/README.md +0 -215
- package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/block-editor.bdd.md +0 -491
- package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/dashboard-navigation.bdd.md +0 -147
- package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/dashboard-sidebar.bdd.md +0 -76
- package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/dashboard-topnav.bdd.md +0 -326
- package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/patterns.bdd.md +0 -388
- package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/settings-api-keys.bdd.md +0 -266
- package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/settings-billing.bdd.md +0 -78
- package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/settings-layout.bdd.md +0 -129
- package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/settings-password.bdd.md +0 -82
- package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/settings-profile.bdd.md +0 -77
- package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/settings-teams.bdd.md +0 -130
- package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/superadmin.bdd.md +0 -261
- package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/tasks.bdd.md +0 -593
- package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/teams.bdd.md +0 -278
- package/dist/templates/contents/themes/starter/tests/cypress/src/session-helpers.ts +0 -549
- package/dist/templates/contents/themes/starter/tests/cypress.config.ts +0 -220
- package/dist/templates/contents/themes/starter/tests/jest/example.test.tsx +0 -87
- package/dist/templates/contents/themes/starter/tests/jest/jest.config.cjs +0 -95
- package/dist/templates/contents/themes/starter/tests/jest/services/tasks.service.test.ts +0 -547
- package/dist/templates/contents/themes/starter/tests/jest/tsconfig.jest.json +0 -8
- package/dist/templates/contents/themes/starter/tests/tsconfig.json +0 -15
- package/dist/templates/public/theme/blocks/cta-section/thumbnail.png +0 -1
- package/dist/templates/public/theme/blocks/features-grid/thumbnail.png +0 -1
- package/dist/templates/public/theme/blocks/hero/thumbnail.png +0 -1
- package/dist/templates/public/theme/blocks/testimonials/thumbnail.png +0 -1
- package/dist/templates/public/theme/blocks/text-content/thumbnail.png +0 -1
- package/scripts/build/registry/__tests__/globals-css-tag.test.mjs +0 -66
- package/scripts/build/registry/__tests__/page-generator.test.mjs +0 -604
- package/scripts/build/registry/__tests__/published-signatures.test.mjs +0 -239
- package/scripts/build/registry/__tests__/route-file-rule.test.mjs +0 -170
- package/scripts/build/registry/__tests__/template-analysis.test.mjs +0 -142
- package/scripts/build/registry/__tests__/template-registry.test.mjs +0 -693
- package/scripts/build/registry/__tests__/templates-plan.test.mjs +0 -128
- package/scripts/build/registry/__tests__/templates-tree.test.mjs +0 -367
- package/scripts/build/registry/discovery/templates.mjs +0 -250
- package/scripts/build/registry/generators/template-registry.mjs +0 -560
- package/scripts/build/registry/post-build/page-generator.mjs +0 -1066
- package/scripts/build/registry/post-build/route-cleanup.mjs +0 -199
- package/scripts/build/registry/watch.mjs +0 -80
- package/scripts/build/templates-plan.mjs +0 -44
- package/scripts/build/theme.mjs +0 -452
- package/scripts/generate-app.mjs +0 -190
- package/scripts/setup/npm-postinstall.mjs +0 -193
- package/scripts/setup/postinstall.mjs +0 -155
- package/scripts/test/jest-theme.mjs +0 -65
- package/scripts/utils/generated-tag.mjs +0 -66
- package/templates/app/(auth)/accept-invite/[token]/page.tsx +0 -339
- package/templates/app/(auth)/auth-error/page.tsx +0 -25
- package/templates/app/(auth)/forgot-password/page.tsx +0 -215
- package/templates/app/(auth)/layout.tsx +0 -54
- package/templates/app/(auth)/login/page.tsx +0 -22
- package/templates/app/(auth)/reset-password/page.tsx +0 -211
- package/templates/app/(auth)/signup/page.tsx +0 -63
- package/templates/app/(auth)/verify-email/page.tsx +0 -190
- package/templates/app/(public)/[...slug]/page.tsx +0 -386
- package/templates/app/(public)/docs/[section]/[page]/page.tsx +0 -101
- package/templates/app/(public)/docs/layout.tsx +0 -25
- package/templates/app/(public)/docs/page.tsx +0 -81
- package/templates/app/(public)/layout.tsx +0 -44
- package/templates/app/(public)/page.tsx +0 -19
- package/templates/app/403/page.tsx +0 -89
- package/templates/app/api/auth/[...all]/route.ts +0 -214
- package/templates/app/api/cron/billing/lifecycle/route.ts +0 -98
- package/templates/app/api/csp-report/route.ts +0 -181
- package/templates/app/api/devtools/config/entities/route.ts +0 -115
- package/templates/app/api/devtools/config/theme/route.ts +0 -67
- package/templates/app/api/devtools/tests/[...path]/route.ts +0 -131
- package/templates/app/api/devtools/tests/route.ts +0 -135
- package/templates/app/api/health/route.ts +0 -53
- package/templates/app/api/internal/user-metadata/route.ts +0 -47
- package/templates/app/api/mcp/route.ts +0 -176
- package/templates/app/api/superadmin/subscriptions/route.ts +0 -315
- package/templates/app/api/superadmin/teams/[teamId]/route.ts +0 -292
- package/templates/app/api/superadmin/teams/route.ts +0 -187
- package/templates/app/api/superadmin/users/[userId]/route.ts +0 -542
- package/templates/app/api/superadmin/users/route.ts +0 -322
- package/templates/app/api/user/delete-account/route.ts +0 -58
- package/templates/app/api/user/plan-flags/route.ts +0 -270
- package/templates/app/api/user/profile/route.ts +0 -129
- package/templates/app/api/v1/[entity]/[id]/child/[childType]/[childId]/route.ts +0 -208
- package/templates/app/api/v1/[entity]/[id]/child/[childType]/route.ts +0 -329
- package/templates/app/api/v1/[entity]/[id]/route.ts +0 -33
- package/templates/app/api/v1/[entity]/docs.md +0 -369
- package/templates/app/api/v1/[entity]/presets.ts +0 -194
- package/templates/app/api/v1/[entity]/route.ts +0 -29
- package/templates/app/api/v1/api-keys/[id]/route.ts +0 -283
- package/templates/app/api/v1/api-keys/docs.md +0 -101
- package/templates/app/api/v1/api-keys/presets.ts +0 -31
- package/templates/app/api/v1/api-keys/route.ts +0 -241
- package/templates/app/api/v1/auth/docs.md +0 -184
- package/templates/app/api/v1/auth/presets.ts +0 -44
- package/templates/app/api/v1/auth/signup-with-invite/route.ts +0 -243
- package/templates/app/api/v1/billing/cancel/route.ts +0 -206
- package/templates/app/api/v1/billing/change-plan/route.ts +0 -99
- package/templates/app/api/v1/billing/check-action/route.ts +0 -85
- package/templates/app/api/v1/billing/checkout/route.ts +0 -153
- package/templates/app/api/v1/billing/docs.md +0 -209
- package/templates/app/api/v1/billing/plans/route.ts +0 -82
- package/templates/app/api/v1/billing/portal/route.ts +0 -93
- package/templates/app/api/v1/billing/presets.ts +0 -121
- package/templates/app/api/v1/billing/webhooks/polar/route.ts +0 -495
- package/templates/app/api/v1/billing/webhooks/stripe/route.ts +0 -34
- package/templates/app/api/v1/blocks/[slug]/route.ts +0 -30
- package/templates/app/api/v1/blocks/docs.md +0 -173
- package/templates/app/api/v1/blocks/presets.ts +0 -121
- package/templates/app/api/v1/blocks/route.ts +0 -46
- package/templates/app/api/v1/blocks/validate/route.ts +0 -47
- package/templates/app/api/v1/cron/docs.md +0 -116
- package/templates/app/api/v1/cron/presets.ts +0 -26
- package/templates/app/api/v1/cron/process/route.ts +0 -106
- package/templates/app/api/v1/devtools/blocks/route.ts +0 -84
- package/templates/app/api/v1/devtools/docs/route.ts +0 -153
- package/templates/app/api/v1/devtools/docs.md +0 -204
- package/templates/app/api/v1/devtools/features/route.ts +0 -63
- package/templates/app/api/v1/devtools/flows/route.ts +0 -63
- package/templates/app/api/v1/devtools/presets.ts +0 -113
- package/templates/app/api/v1/devtools/scheduled-actions/route.ts +0 -244
- package/templates/app/api/v1/devtools/scheduled-actions/run/route.ts +0 -111
- package/templates/app/api/v1/devtools/testing/route.ts +0 -84
- package/templates/app/api/v1/media/[id]/route.ts +0 -168
- package/templates/app/api/v1/media/[id]/tags/route.ts +0 -212
- package/templates/app/api/v1/media/check-duplicates/route.ts +0 -66
- package/templates/app/api/v1/media/docs.md +0 -117
- package/templates/app/api/v1/media/presets.ts +0 -24
- package/templates/app/api/v1/media/route.ts +0 -64
- package/templates/app/api/v1/media/upload/route.ts +0 -274
- package/templates/app/api/v1/media-tags/route.ts +0 -81
- package/templates/app/api/v1/patterns/[id]/usages/route.ts +0 -108
- package/templates/app/api/v1/plugin/[...path]/route.ts +0 -374
- package/templates/app/api/v1/plugin/docs.md +0 -79
- package/templates/app/api/v1/plugin/presets.ts +0 -21
- package/templates/app/api/v1/plugin/route.ts +0 -97
- package/templates/app/api/v1/post-categories/[id]/route.ts +0 -258
- package/templates/app/api/v1/post-categories/docs.md +0 -134
- package/templates/app/api/v1/post-categories/presets.ts +0 -78
- package/templates/app/api/v1/post-categories/route.ts +0 -121
- package/templates/app/api/v1/team-invitations/[token]/accept/route.ts +0 -177
- package/templates/app/api/v1/team-invitations/[token]/decline/route.ts +0 -118
- package/templates/app/api/v1/team-invitations/[token]/route.ts +0 -90
- package/templates/app/api/v1/team-invitations/docs.md +0 -88
- package/templates/app/api/v1/team-invitations/presets.ts +0 -43
- package/templates/app/api/v1/team-invitations/route.ts +0 -113
- package/templates/app/api/v1/teams/[teamId]/invitations/route.ts +0 -181
- package/templates/app/api/v1/teams/[teamId]/invoices/[invoiceNumber]/route.ts +0 -105
- package/templates/app/api/v1/teams/[teamId]/invoices/route.ts +0 -125
- package/templates/app/api/v1/teams/[teamId]/members/[memberId]/route.ts +0 -260
- package/templates/app/api/v1/teams/[teamId]/members/route.ts +0 -350
- package/templates/app/api/v1/teams/[teamId]/route.ts +0 -289
- package/templates/app/api/v1/teams/[teamId]/subscription/route.ts +0 -51
- package/templates/app/api/v1/teams/[teamId]/usage/[limitSlug]/route.ts +0 -96
- package/templates/app/api/v1/teams/docs.md +0 -315
- package/templates/app/api/v1/teams/presets.ts +0 -178
- package/templates/app/api/v1/teams/route.ts +0 -305
- package/templates/app/api/v1/teams/switch/route.ts +0 -106
- package/templates/app/api/v1/theme/[...path]/route.ts +0 -383
- package/templates/app/api/v1/theme/docs.md +0 -74
- package/templates/app/api/v1/theme/presets.ts +0 -21
- package/templates/app/api/v1/theme/route.ts +0 -97
- package/templates/app/api/v1/users/[id]/meta/[key]/route.ts +0 -313
- package/templates/app/api/v1/users/[id]/route.ts +0 -270
- package/templates/app/api/v1/users/docs.md +0 -93
- package/templates/app/api/v1/users/presets.ts +0 -59
- package/templates/app/api/v1/users/route.ts +0 -194
- package/templates/app/dashboard/(main)/[entity]/[id]/edit/page.tsx +0 -117
- package/templates/app/dashboard/(main)/[entity]/[id]/page.tsx +0 -85
- package/templates/app/dashboard/(main)/[entity]/create/page.tsx +0 -95
- package/templates/app/dashboard/(main)/[entity]/error.tsx +0 -51
- package/templates/app/dashboard/(main)/[entity]/layout.tsx +0 -115
- package/templates/app/dashboard/(main)/[entity]/loading.tsx +0 -64
- package/templates/app/dashboard/(main)/[entity]/page.tsx +0 -71
- package/templates/app/dashboard/(main)/layout.tsx +0 -99
- package/templates/app/dashboard/(main)/loading.tsx +0 -8
- package/templates/app/dashboard/(main)/media/page.tsx +0 -621
- package/templates/app/dashboard/(main)/page.tsx +0 -201
- package/templates/app/dashboard/(main)/patterns/[id]/edit/page.tsx +0 -117
- package/templates/app/dashboard/(main)/patterns/[id]/page.tsx +0 -23
- package/templates/app/dashboard/(main)/patterns/[id]/reports/page.tsx +0 -174
- package/templates/app/dashboard/(main)/patterns/create/page.tsx +0 -89
- package/templates/app/dashboard/(main)/patterns/page.tsx +0 -447
- package/templates/app/dashboard/features/analytics/page.tsx +0 -38
- package/templates/app/dashboard/features/automation/page.tsx +0 -38
- package/templates/app/dashboard/features/layout.tsx +0 -16
- package/templates/app/dashboard/features/loading.tsx +0 -8
- package/templates/app/dashboard/features/webhooks/page.tsx +0 -38
- package/templates/app/dashboard/layout.tsx +0 -87
- package/templates/app/dashboard/permission-denied/page.tsx +0 -32
- package/templates/app/dashboard/settings/api-keys/loading.tsx +0 -8
- package/templates/app/dashboard/settings/api-keys/page.tsx +0 -516
- package/templates/app/dashboard/settings/billing/loading.tsx +0 -8
- package/templates/app/dashboard/settings/billing/page.tsx +0 -289
- package/templates/app/dashboard/settings/invoices/[invoiceNumber]/page.tsx +0 -222
- package/templates/app/dashboard/settings/invoices/loading.tsx +0 -8
- package/templates/app/dashboard/settings/invoices/page.tsx +0 -82
- package/templates/app/dashboard/settings/layout.tsx +0 -151
- package/templates/app/dashboard/settings/loading.tsx +0 -8
- package/templates/app/dashboard/settings/notifications/loading.tsx +0 -8
- package/templates/app/dashboard/settings/notifications/page.tsx +0 -462
- package/templates/app/dashboard/settings/page.tsx +0 -93
- package/templates/app/dashboard/settings/password/loading.tsx +0 -8
- package/templates/app/dashboard/settings/password/page.tsx +0 -305
- package/templates/app/dashboard/settings/plans/loading.tsx +0 -8
- package/templates/app/dashboard/settings/plans/page.tsx +0 -62
- package/templates/app/dashboard/settings/profile/loading.tsx +0 -8
- package/templates/app/dashboard/settings/profile/page.tsx +0 -688
- package/templates/app/dashboard/settings/security/loading.tsx +0 -8
- package/templates/app/dashboard/settings/security/page.tsx +0 -506
- package/templates/app/dashboard/settings/teams/loading.tsx +0 -8
- package/templates/app/dashboard/settings/teams/page.tsx +0 -272
- package/templates/app/dashboard/settings/teams/permissions/page.tsx +0 -95
- package/templates/app/devtools/api/[[...endpoint]]/page.tsx +0 -33
- package/templates/app/devtools/api/layout.tsx +0 -23
- package/templates/app/devtools/blocks/[slug]/page.tsx +0 -39
- package/templates/app/devtools/blocks/page.tsx +0 -40
- package/templates/app/devtools/config/page.tsx +0 -40
- package/templates/app/devtools/features/page.tsx +0 -40
- package/templates/app/devtools/flows/page.tsx +0 -40
- package/templates/app/devtools/layout.tsx +0 -66
- package/templates/app/devtools/page.tsx +0 -130
- package/templates/app/devtools/plugins/[plugin]/page.tsx +0 -17
- package/templates/app/devtools/scheduled-actions/page.tsx +0 -158
- package/templates/app/devtools/style/page.tsx +0 -330
- package/templates/app/devtools/tags/page.tsx +0 -40
- package/templates/app/devtools/tests/[[...path]]/page.tsx +0 -56
- package/templates/app/favicon.ico +0 -0
- package/templates/app/globals.css +0 -12
- package/templates/app/layout.ppr.tsx +0 -105
- package/templates/app/layout.tsx +0 -118
- package/templates/app/public/page.tsx +0 -30
- package/templates/app/superadmin/docs/[section]/[page]/page.tsx +0 -93
- package/templates/app/superadmin/docs/page.tsx +0 -75
- package/templates/app/superadmin/layout.tsx +0 -96
- package/templates/app/superadmin/page.tsx +0 -149
- package/templates/app/superadmin/plugins/[plugin]/page.tsx +0 -17
- package/templates/app/superadmin/subscriptions/page.tsx +0 -658
- package/templates/app/superadmin/team-roles/page.tsx +0 -493
- package/templates/app/superadmin/teams/[teamId]/page.tsx +0 -691
- package/templates/app/superadmin/teams/page.tsx +0 -302
- package/templates/app/superadmin/users/[userId]/page.tsx +0 -549
- package/templates/app/superadmin/users/page.tsx +0 -529
- package/templates/contents/plugins/README.md +0 -42
- package/templates/contents/plugins/starter/plugin/README.md.template +0 -97
- package/templates/contents/plugins/starter/plugin/api/example/route.ts.template +0 -94
- package/templates/contents/plugins/starter/plugin/hooks/usePlugin.ts.template +0 -102
- package/templates/contents/themes/.gitkeep +0 -0
- package/templates/contents/themes/starter/blocks/.gitkeep +0 -0
- package/templates/contents/themes/starter/blocks/cta-section/config.ts +0 -11
- package/templates/contents/themes/starter/blocks/features-grid/config.ts +0 -11
- package/templates/contents/themes/starter/blocks/hero/config.ts +0 -11
- package/templates/contents/themes/starter/blocks/testimonials/config.ts +0 -11
- package/templates/contents/themes/starter/blocks/text-content/config.ts +0 -11
- package/templates/contents/themes/starter/emails/_README.md +0 -69
- package/templates/contents/themes/starter/entities/pages/pages.config.ts +0 -95
- package/templates/contents/themes/starter/entities/posts/posts.config.ts +0 -102
- package/templates/contents/themes/starter/entities/tasks/tasks.config.ts +0 -82
- package/templates/contents/themes/starter/public/brand/.gitkeep +0 -0
- package/templates/contents/themes/starter/public/theme/blocks/hero/thumbnail.png +0 -1
- package/templates/contents/themes/starter/styles/globals.css +0 -214
- package/templates/contents/themes/starter/templates/(public)/loading.tsx +0 -5
- package/templates/contents/themes/starter/templates/(public)/page.tsx +0 -37
- package/templates/contents/themes/starter/tests/cypress/e2e/_utils/docs/README.md +0 -215
- package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/block-editor.bdd.md +0 -491
- package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/dashboard-navigation.bdd.md +0 -147
- package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/dashboard-sidebar.bdd.md +0 -76
- package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/dashboard-topnav.bdd.md +0 -326
- package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/patterns.bdd.md +0 -388
- package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/settings-api-keys.bdd.md +0 -266
- package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/settings-billing.bdd.md +0 -78
- package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/settings-layout.bdd.md +0 -129
- package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/settings-password.bdd.md +0 -82
- package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/settings-profile.bdd.md +0 -77
- package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/settings-teams.bdd.md +0 -130
- package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/superadmin.bdd.md +0 -261
- package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/tasks.bdd.md +0 -593
- package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/teams.bdd.md +0 -278
- package/templates/contents/themes/starter/tests/cypress/src/session-helpers.ts +0 -549
- package/templates/contents/themes/starter/tests/cypress.config.ts +0 -220
- package/templates/contents/themes/starter/tests/jest/example.test.tsx +0 -87
- package/templates/contents/themes/starter/tests/jest/jest.config.cjs +0 -95
- package/templates/contents/themes/starter/tests/jest/services/tasks.service.test.ts +0 -547
- package/templates/contents/themes/starter/tests/jest/tsconfig.jest.json +0 -8
- package/templates/contents/themes/starter/tests/tsconfig.json +0 -15
- package/templates/public/theme/blocks/cta-section/thumbnail.png +0 -1
- package/templates/public/theme/blocks/features-grid/thumbnail.png +0 -1
- package/templates/public/theme/blocks/hero/thumbnail.png +0 -1
- package/templates/public/theme/blocks/testimonials/thumbnail.png +0 -1
- package/templates/public/theme/blocks/text-content/thumbnail.png +0 -1
- package/tests/jest/__mocks__/@nextsparkjs/registries/template-registry.client.ts +0 -11
- package/tests/jest/__mocks__/@nextsparkjs/registries/template-registry.ts +0 -11
- package/tests/jest/__mocks__/@nextsparkjs/registries/template-scopes/client.ts +0 -21
- package/tests/jest/__mocks__/@nextsparkjs/registries/template-scopes/server.ts +0 -23
- /package/dist/{templates/contents/plugins/.gitkeep → lib/entities/portable/types.js} +0 -0
- /package/dist/{templates/app → routes}/api/v1/[entity]/docs.md +0 -0
- /package/dist/{templates/app → routes}/api/v1/[entity]/presets.ts +0 -0
- /package/dist/{templates/app → routes}/api/v1/api-keys/docs.md +0 -0
- /package/dist/{templates/app → routes}/api/v1/api-keys/presets.ts +0 -0
- /package/dist/{templates/app → routes}/api/v1/auth/docs.md +0 -0
- /package/dist/{templates/app → routes}/api/v1/auth/presets.ts +0 -0
- /package/dist/{templates/app → routes}/api/v1/billing/docs.md +0 -0
- /package/dist/{templates/app → routes}/api/v1/billing/presets.ts +0 -0
- /package/dist/{templates/app → routes}/api/v1/blocks/presets.ts +0 -0
- /package/dist/{templates/app → routes}/api/v1/cron/docs.md +0 -0
- /package/dist/{templates/app → routes}/api/v1/cron/presets.ts +0 -0
- /package/dist/{templates/app → routes}/api/v1/media/docs.md +0 -0
- /package/dist/{templates/app → routes}/api/v1/media/presets.ts +0 -0
- /package/dist/{templates/app → routes}/api/v1/post-categories/docs.md +0 -0
- /package/dist/{templates/app → routes}/api/v1/post-categories/presets.ts +0 -0
- /package/dist/{templates/app → routes}/api/v1/team-invitations/docs.md +0 -0
- /package/dist/{templates/app → routes}/api/v1/team-invitations/presets.ts +0 -0
- /package/dist/{templates/app → routes}/api/v1/teams/docs.md +0 -0
- /package/dist/{templates/app → routes}/api/v1/teams/presets.ts +0 -0
- /package/dist/{templates/app → routes}/api/v1/users/docs.md +0 -0
- /package/dist/{templates/app → routes}/api/v1/users/presets.ts +0 -0
- /package/dist/templates/{contents/plugins → plugins}/starter/plugin/components/ExampleWidget.tsx.template +0 -0
- /package/dist/templates/{contents/plugins → plugins}/starter/plugin/entities/.gitkeep +0 -0
- /package/dist/templates/{contents/plugins → plugins}/starter/plugin/lib/core.ts.template +0 -0
- /package/dist/templates/{contents/plugins → plugins}/starter/plugin/lib/types.ts.template +0 -0
- /package/dist/templates/{contents/plugins → plugins}/starter/plugin/messages/de.json +0 -0
- /package/dist/templates/{contents/plugins → plugins}/starter/plugin/messages/en.json +0 -0
- /package/dist/templates/{contents/plugins → plugins}/starter/plugin/messages/es.json +0 -0
- /package/dist/templates/{contents/plugins → plugins}/starter/plugin/messages/fr.json +0 -0
- /package/dist/templates/{contents/plugins → plugins}/starter/plugin/messages/it.json +0 -0
- /package/dist/templates/{contents/plugins → plugins}/starter/plugin/messages/pt.json +0 -0
- /package/dist/templates/{contents/plugins → plugins}/starter/plugin/migrations/README.md +0 -0
- /package/dist/templates/{contents/plugins → plugins}/starter/plugin/plugin.config.ts.template +0 -0
- /package/dist/templates/{contents/plugins → plugins}/starter/plugin/tests/plugin.test.ts.template +0 -0
- /package/dist/templates/{contents/themes/starter → projects/blog}/tests/jest/__mocks__/jose.js +0 -0
- /package/dist/templates/{contents/themes/starter → projects/blog}/tests/jest/__mocks__/next-server.js +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/README.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/about/business.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/about/features.json +0 -0
- /package/dist/templates/{contents/themes → projects/starter/blocks}/.gitkeep +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/cta-section/component.tsx +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/cta-section/fields.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/cta-section/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/cta-section/schema.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/cta-section/thumbnail.png +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/features-grid/component.tsx +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/features-grid/fields.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/features-grid/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/features-grid/schema.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/features-grid/thumbnail.png +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/hero/component.tsx +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/hero/fields.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/hero/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/hero/schema.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/hero/thumbnail.png +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/testimonials/component.tsx +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/testimonials/fields.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/testimonials/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/testimonials/schema.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/testimonials/thumbnail.png +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/text-content/component.tsx +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/text-content/fields.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/text-content/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/text-content/schema.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/text-content/thumbnail.png +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/components/.gitkeep +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/components/analytics/RecentActivity.tsx +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/components/analytics/StatsCard.tsx +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/components/analytics/TasksChart.tsx +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/components/analytics/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/config/app.config.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/config/billing.config.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/config/dashboard.config.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/config/dev.config.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/config/features.config.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/config/permissions.config.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/config/theme.config.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/docs/public/01-overview/01-introduction.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/docs/public/01-overview/02-customization.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/docs/superadmin/01-setup/01-configuration.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/docs/superadmin/02-entities/01-tasks.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/emails/verify-email.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/pages/api/docs.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/pages/api/presets.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/pages/messages/en.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/pages/messages/es.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/pages/migrations/001_pages_table.sql +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/pages/migrations/002_pages_metas.sql +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/pages/migrations/003_add_status.sql +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/pages/pages-management.service.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/pages/pages.fields.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/pages/pages.service.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/pages/pages.types.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/posts/api/docs.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/posts/api/presets.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/posts/components/post-header.tsx +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/posts/messages/en.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/posts/messages/es.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/posts/migrations/001_posts_table.sql +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/posts/migrations/003_add_status.sql +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/posts/migrations/004_entity_taxonomy_relations.sql +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/posts/migrations/006_posts_metas.sql +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/posts/posts.fields.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/posts/posts.service.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/posts/posts.types.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/api/docs.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/api/presets.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/messages/de.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/messages/en.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/messages/es.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/messages/fr.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/messages/it.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/messages/pt.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/migrations/001_tasks_table.sql +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/migrations/002_task_metas.sql +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/tasks.fields.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/tasks.service.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/tasks.types.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/lib/.gitkeep +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/lib/hooks/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/lib/hooks/useAnalyticsData.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/lib/hooks/useTaskStats.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/lib/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/lib/selectors.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/lib/utils.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/de/analytics.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/de/common.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/de/dev.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/de/features.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/de/home.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/de/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/de/navigation.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/de/public.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/en/analytics.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/en/common.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/en/dev.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/en/features.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/en/home.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/en/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/en/navigation.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/en/public.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/es/analytics.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/es/common.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/es/dev.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/es/features.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/es/home.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/es/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/es/navigation.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/es/public.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/fr/analytics.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/fr/common.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/fr/dev.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/fr/features.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/fr/home.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/fr/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/fr/navigation.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/fr/public.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/it/analytics.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/it/common.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/it/dev.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/it/features.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/it/home.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/it/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/it/navigation.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/pt/analytics.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/pt/common.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/pt/dev.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/pt/features.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/pt/home.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/pt/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/pt/navigation.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/migrations/README.md +0 -0
- /package/dist/templates/{contents/themes/starter/blocks → projects/starter/public/brand}/.gitkeep +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/styles/components.css +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/templates/(public)/layout.tsx +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/templates/(public)/support/page.tsx +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/templates/dashboard/analytics/loading.tsx +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/templates/dashboard/analytics/page.tsx +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/access.bdd.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/access.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/navigation.bdd.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/navigation.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/pages.bdd.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/pages.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/auth.bdd.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/auth.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/billing.bdd.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/billing.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/block-editor.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-container.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-mobile.bdd.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-mobile.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-navigation.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-sidebar.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-topnav.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/devtools.bdd.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/devtools.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/global-search.bdd.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/global-search.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/patterns.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-api-keys.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-billing.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-layout.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-password.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-profile.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-teams.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/superadmin.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/tasks.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/teams.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/all-teams.bdd.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/all-teams.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/all-users.bdd.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/all-users.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/dashboard.bdd.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/dashboard.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/subscriptions-overview.bdd.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/subscriptions-overview.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/api/entities/tasks/TaskAPIController.js +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/uat/entities/tasks/tasks-crud.bdd.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/uat/entities/tasks/tasks-crud.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/fixtures/entities.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/components/DevKeyringPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/components/EntityForm.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/components/EntityList.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/components/TeamSwitcherPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/components/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/controllers/BaseAPIController.js +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/controllers/index.js +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/core/AuthPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/core/BasePOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/core/BlockEditorBasePOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/core/DashboardEntityPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/core/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/entities/PagesPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/entities/PatternsPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/entities/TasksPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/entities/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/BillingPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/DashboardPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/DevtoolsPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/PageBuilderPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/PostEditorPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/ScheduledActionsPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/SettingsPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/SuperadminPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/SuperadminTeamRolesPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/helpers/ApiInterceptor.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/selectors.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/support/commands.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/support/doc-commands.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/support/e2e.ts +0 -0
- /package/{templates/contents/themes → dist/templates/projects}/starter/tests/jest/__mocks__/jose.js +0 -0
- /package/{templates/contents/themes → dist/templates/projects}/starter/tests/jest/__mocks__/next-server.js +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/jest/setup.ts +0 -0
- /package/templates/{contents/plugins → plugins}/starter/plugin/components/ExampleWidget.tsx.template +0 -0
- /package/templates/{contents/plugins → plugins}/starter/plugin/entities/.gitkeep +0 -0
- /package/templates/{contents/plugins → plugins}/starter/plugin/lib/core.ts.template +0 -0
- /package/templates/{contents/plugins → plugins}/starter/plugin/lib/types.ts.template +0 -0
- /package/templates/{contents/plugins → plugins}/starter/plugin/messages/de.json +0 -0
- /package/templates/{contents/plugins → plugins}/starter/plugin/messages/en.json +0 -0
- /package/templates/{contents/plugins → plugins}/starter/plugin/messages/es.json +0 -0
- /package/templates/{contents/plugins → plugins}/starter/plugin/messages/fr.json +0 -0
- /package/templates/{contents/plugins → plugins}/starter/plugin/messages/it.json +0 -0
- /package/templates/{contents/plugins → plugins}/starter/plugin/messages/pt.json +0 -0
- /package/templates/{contents/plugins → plugins}/starter/plugin/migrations/README.md +0 -0
- /package/templates/{contents/plugins → plugins}/starter/plugin/plugin.config.ts.template +0 -0
- /package/templates/{contents/plugins → plugins}/starter/plugin/tests/plugin.test.ts.template +0 -0
- /package/templates/{contents/themes → projects}/starter/README.md +0 -0
- /package/templates/{contents/themes → projects}/starter/about/business.md +0 -0
- /package/templates/{contents/themes → projects}/starter/about/features.json +0 -0
- /package/{dist/templates/contents/themes/starter/public/brand → templates/projects/starter/blocks}/.gitkeep +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/cta-section/component.tsx +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/cta-section/fields.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/cta-section/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/cta-section/schema.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/cta-section/thumbnail.png +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/features-grid/component.tsx +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/features-grid/fields.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/features-grid/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/features-grid/schema.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/features-grid/thumbnail.png +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/hero/component.tsx +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/hero/fields.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/hero/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/hero/schema.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/hero/thumbnail.png +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/testimonials/component.tsx +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/testimonials/fields.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/testimonials/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/testimonials/schema.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/testimonials/thumbnail.png +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/text-content/component.tsx +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/text-content/fields.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/text-content/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/text-content/schema.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/text-content/thumbnail.png +0 -0
- /package/templates/{contents/themes → projects}/starter/components/.gitkeep +0 -0
- /package/templates/{contents/themes → projects}/starter/components/analytics/RecentActivity.tsx +0 -0
- /package/templates/{contents/themes → projects}/starter/components/analytics/StatsCard.tsx +0 -0
- /package/templates/{contents/themes → projects}/starter/components/analytics/TasksChart.tsx +0 -0
- /package/templates/{contents/themes → projects}/starter/components/analytics/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/config/app.config.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/config/billing.config.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/config/dashboard.config.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/config/dev.config.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/config/features.config.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/config/permissions.config.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/config/theme.config.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/docs/public/01-overview/01-introduction.md +0 -0
- /package/templates/{contents/themes → projects}/starter/docs/public/01-overview/02-customization.md +0 -0
- /package/templates/{contents/themes → projects}/starter/docs/superadmin/01-setup/01-configuration.md +0 -0
- /package/templates/{contents/themes → projects}/starter/docs/superadmin/02-entities/01-tasks.md +0 -0
- /package/templates/{contents/themes → projects}/starter/emails/verify-email.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/pages/api/docs.md +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/pages/api/presets.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/pages/messages/en.json +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/pages/messages/es.json +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/pages/migrations/001_pages_table.sql +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/pages/migrations/002_pages_metas.sql +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/pages/migrations/003_add_status.sql +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/pages/pages-management.service.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/pages/pages.fields.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/pages/pages.service.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/pages/pages.types.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/posts/api/docs.md +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/posts/api/presets.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/posts/components/post-header.tsx +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/posts/messages/en.json +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/posts/messages/es.json +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/posts/migrations/001_posts_table.sql +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/posts/migrations/003_add_status.sql +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/posts/migrations/004_entity_taxonomy_relations.sql +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/posts/migrations/006_posts_metas.sql +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/posts/posts.fields.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/posts/posts.service.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/posts/posts.types.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/tasks/api/docs.md +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/tasks/api/presets.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/tasks/messages/de.json +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/tasks/messages/en.json +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/tasks/messages/es.json +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/tasks/messages/fr.json +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/tasks/messages/it.json +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/tasks/messages/pt.json +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/tasks/migrations/001_tasks_table.sql +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/tasks/migrations/002_task_metas.sql +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/tasks/tasks.fields.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/tasks/tasks.service.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/tasks/tasks.types.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/lib/.gitkeep +0 -0
- /package/templates/{contents/themes → projects}/starter/lib/hooks/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/lib/hooks/useAnalyticsData.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/lib/hooks/useTaskStats.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/lib/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/lib/selectors.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/lib/utils.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/de/analytics.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/de/common.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/de/dev.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/de/features.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/de/home.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/de/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/de/navigation.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/de/public.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/en/analytics.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/en/common.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/en/dev.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/en/features.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/en/home.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/en/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/en/navigation.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/en/public.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/es/analytics.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/es/common.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/es/dev.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/es/features.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/es/home.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/es/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/es/navigation.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/es/public.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/fr/analytics.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/fr/common.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/fr/dev.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/fr/features.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/fr/home.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/fr/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/fr/navigation.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/fr/public.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/it/analytics.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/it/common.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/it/dev.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/it/features.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/it/home.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/it/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/it/navigation.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/pt/analytics.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/pt/common.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/pt/dev.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/pt/features.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/pt/home.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/pt/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/pt/navigation.json +0 -0
- /package/templates/{contents/themes → projects}/starter/migrations/README.md +0 -0
- /package/templates/{contents/plugins → projects/starter/public/brand}/.gitkeep +0 -0
- /package/templates/{contents/themes → projects}/starter/styles/components.css +0 -0
- /package/templates/{contents/themes → projects}/starter/templates/(public)/layout.tsx +0 -0
- /package/templates/{contents/themes → projects}/starter/templates/(public)/support/page.tsx +0 -0
- /package/templates/{contents/themes → projects}/starter/templates/dashboard/analytics/loading.tsx +0 -0
- /package/templates/{contents/themes → projects}/starter/templates/dashboard/analytics/page.tsx +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/access.bdd.md +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/access.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/navigation.bdd.md +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/navigation.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/pages.bdd.md +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/pages.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/auth.bdd.md +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/auth.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/billing.bdd.md +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/billing.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/block-editor.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-container.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-mobile.bdd.md +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-mobile.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-navigation.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-sidebar.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-topnav.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/devtools.bdd.md +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/devtools.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/global-search.bdd.md +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/global-search.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/patterns.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-api-keys.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-billing.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-layout.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-password.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-profile.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-teams.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/superadmin.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/tasks.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/teams.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/all-teams.bdd.md +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/all-teams.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/all-users.bdd.md +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/all-users.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/dashboard.bdd.md +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/dashboard.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/subscriptions-overview.bdd.md +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/subscriptions-overview.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/api/entities/tasks/TaskAPIController.js +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/uat/entities/tasks/tasks-crud.bdd.md +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/uat/entities/tasks/tasks-crud.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/fixtures/entities.json +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/components/DevKeyringPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/components/EntityForm.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/components/EntityList.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/components/TeamSwitcherPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/components/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/controllers/BaseAPIController.js +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/controllers/index.js +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/core/AuthPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/core/BasePOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/core/BlockEditorBasePOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/core/DashboardEntityPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/core/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/entities/PagesPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/entities/PatternsPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/entities/TasksPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/entities/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/BillingPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/DashboardPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/DevtoolsPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/PageBuilderPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/PostEditorPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/ScheduledActionsPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/SettingsPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/SuperadminPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/SuperadminTeamRolesPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/helpers/ApiInterceptor.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/selectors.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/support/commands.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/support/doc-commands.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/support/e2e.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/jest/setup.ts +0 -0
|
@@ -0,0 +1,1070 @@
|
|
|
1
|
+
-- ============================================================================
|
|
2
|
+
-- Blog Theme - Multi-Author Sample Data Migration
|
|
3
|
+
-- Scenario: Medium-style multi-author blog platform
|
|
4
|
+
-- Teams Mode: single-user (each author has isolated team, public feed aggregates all)
|
|
5
|
+
-- ============================================================================
|
|
6
|
+
|
|
7
|
+
-- ============================================
|
|
8
|
+
-- STEP 0: CLEANUP (preserves superadmin)
|
|
9
|
+
-- ============================================
|
|
10
|
+
DO $$
|
|
11
|
+
DECLARE
|
|
12
|
+
v_superadmin_id TEXT;
|
|
13
|
+
BEGIN
|
|
14
|
+
-- Get superadmin ID to preserve
|
|
15
|
+
SELECT id INTO v_superadmin_id FROM "users" WHERE role = 'superadmin' LIMIT 1;
|
|
16
|
+
|
|
17
|
+
-- Clean theme entities (if tables exist)
|
|
18
|
+
IF EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = 'posts') THEN
|
|
19
|
+
TRUNCATE "posts" CASCADE;
|
|
20
|
+
END IF;
|
|
21
|
+
|
|
22
|
+
IF EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = 'categories') THEN
|
|
23
|
+
TRUNCATE "categories" CASCADE;
|
|
24
|
+
END IF;
|
|
25
|
+
|
|
26
|
+
IF EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = 'invoices') THEN
|
|
27
|
+
TRUNCATE "invoices" CASCADE;
|
|
28
|
+
END IF;
|
|
29
|
+
|
|
30
|
+
-- Clean team-related data (except superadmin's)
|
|
31
|
+
IF v_superadmin_id IS NOT NULL THEN
|
|
32
|
+
DELETE FROM "api_audit_log" WHERE "userId" != v_superadmin_id;
|
|
33
|
+
DELETE FROM "api_key" WHERE "userId" != v_superadmin_id;
|
|
34
|
+
DELETE FROM "team_members" WHERE "userId" != v_superadmin_id;
|
|
35
|
+
DELETE FROM "teams" WHERE "ownerId" != v_superadmin_id;
|
|
36
|
+
DELETE FROM "users_metas" WHERE "userId" != v_superadmin_id;
|
|
37
|
+
DELETE FROM "session" WHERE "userId" != v_superadmin_id;
|
|
38
|
+
DELETE FROM "account" WHERE "userId" != v_superadmin_id;
|
|
39
|
+
DELETE FROM "users" WHERE id != v_superadmin_id;
|
|
40
|
+
ELSE
|
|
41
|
+
-- No superadmin, clean everything
|
|
42
|
+
DELETE FROM "api_audit_log";
|
|
43
|
+
DELETE FROM "api_key";
|
|
44
|
+
DELETE FROM "team_members";
|
|
45
|
+
DELETE FROM "teams";
|
|
46
|
+
DELETE FROM "users_metas";
|
|
47
|
+
DELETE FROM "session";
|
|
48
|
+
DELETE FROM "account";
|
|
49
|
+
DELETE FROM "users";
|
|
50
|
+
END IF;
|
|
51
|
+
|
|
52
|
+
RAISE NOTICE 'Blog theme cleanup complete. Superadmin preserved.';
|
|
53
|
+
END $$;
|
|
54
|
+
|
|
55
|
+
-- ============================================
|
|
56
|
+
-- STEP 1: CREATE 3 BLOG AUTHORS
|
|
57
|
+
-- ============================================
|
|
58
|
+
-- Multi-author Medium-style platform with 3 content creators
|
|
59
|
+
|
|
60
|
+
INSERT INTO "users" (
|
|
61
|
+
id,
|
|
62
|
+
email,
|
|
63
|
+
name,
|
|
64
|
+
"firstName",
|
|
65
|
+
"lastName",
|
|
66
|
+
username,
|
|
67
|
+
bio,
|
|
68
|
+
social_twitter,
|
|
69
|
+
social_linkedin,
|
|
70
|
+
social_website,
|
|
71
|
+
role,
|
|
72
|
+
"emailVerified",
|
|
73
|
+
language,
|
|
74
|
+
country,
|
|
75
|
+
timezone,
|
|
76
|
+
"createdAt",
|
|
77
|
+
"updatedAt"
|
|
78
|
+
) VALUES
|
|
79
|
+
-- Marcos Tech - Technology & Startups niche
|
|
80
|
+
(
|
|
81
|
+
'usr-blog-marcos',
|
|
82
|
+
'blog_author_marcos@nextspark.dev',
|
|
83
|
+
'Marcos Tech',
|
|
84
|
+
'Marcos',
|
|
85
|
+
'Tech',
|
|
86
|
+
'marcos_tech',
|
|
87
|
+
'Tech entrepreneur and developer. Building the future one line of code at a time. Writing about AI, SaaS, and startup life.',
|
|
88
|
+
'https://twitter.com/marcostech',
|
|
89
|
+
'https://linkedin.com/in/marcostech',
|
|
90
|
+
'https://marcostech.dev',
|
|
91
|
+
'member',
|
|
92
|
+
true,
|
|
93
|
+
'en',
|
|
94
|
+
'US',
|
|
95
|
+
'America/Los_Angeles',
|
|
96
|
+
NOW() - INTERVAL '6 months',
|
|
97
|
+
NOW()
|
|
98
|
+
),
|
|
99
|
+
-- Lucia Lifestyle - Travel & Lifestyle niche
|
|
100
|
+
(
|
|
101
|
+
'usr-blog-lucia',
|
|
102
|
+
'blog_author_lucia@nextspark.dev',
|
|
103
|
+
'Lucia Lifestyle',
|
|
104
|
+
'Lucia',
|
|
105
|
+
'Lifestyle',
|
|
106
|
+
'lucia_lifestyle',
|
|
107
|
+
'Digital nomad exploring the world. Sharing travel tips, remote work advice, and lifestyle adventures from 30+ countries.',
|
|
108
|
+
'https://twitter.com/lucialifestyle',
|
|
109
|
+
'https://linkedin.com/in/lucialifestyle',
|
|
110
|
+
'https://lucialifestyle.com',
|
|
111
|
+
'member',
|
|
112
|
+
true,
|
|
113
|
+
'es',
|
|
114
|
+
'ES',
|
|
115
|
+
'Europe/Madrid',
|
|
116
|
+
NOW() - INTERVAL '5 months',
|
|
117
|
+
NOW()
|
|
118
|
+
),
|
|
119
|
+
-- Carlos Finance - Business & Finance niche
|
|
120
|
+
(
|
|
121
|
+
'usr-blog-carlos',
|
|
122
|
+
'blog_author_carlos@nextspark.dev',
|
|
123
|
+
'Carlos Finance',
|
|
124
|
+
'Carlos',
|
|
125
|
+
'Finance',
|
|
126
|
+
'carlos_finance',
|
|
127
|
+
'Financial advisor helping everyday people build wealth. Making personal finance simple and accessible for everyone.',
|
|
128
|
+
'https://twitter.com/carlosfinance',
|
|
129
|
+
'https://linkedin.com/in/carlosfinance',
|
|
130
|
+
NULL,
|
|
131
|
+
'member',
|
|
132
|
+
true,
|
|
133
|
+
'en',
|
|
134
|
+
'US',
|
|
135
|
+
'America/New_York',
|
|
136
|
+
NOW() - INTERVAL '4 months',
|
|
137
|
+
NOW()
|
|
138
|
+
)
|
|
139
|
+
ON CONFLICT (email) DO NOTHING;
|
|
140
|
+
|
|
141
|
+
-- ============================================
|
|
142
|
+
-- STEP 2: CREATE 3 AUTHOR TEAMS (BLOGS)
|
|
143
|
+
-- ============================================
|
|
144
|
+
-- Each author has their own isolated blog
|
|
145
|
+
|
|
146
|
+
INSERT INTO "teams" (
|
|
147
|
+
id,
|
|
148
|
+
name,
|
|
149
|
+
slug,
|
|
150
|
+
description,
|
|
151
|
+
"ownerId",
|
|
152
|
+
"createdAt",
|
|
153
|
+
"updatedAt"
|
|
154
|
+
) VALUES
|
|
155
|
+
(
|
|
156
|
+
'team-blog-marcos',
|
|
157
|
+
'Marcos Tech Blog',
|
|
158
|
+
'marcos-tech',
|
|
159
|
+
'Technology insights and startup wisdom',
|
|
160
|
+
'usr-blog-marcos',
|
|
161
|
+
NOW() - INTERVAL '6 months',
|
|
162
|
+
NOW()
|
|
163
|
+
),
|
|
164
|
+
(
|
|
165
|
+
'team-blog-lucia',
|
|
166
|
+
'Lucia Lifestyle Blog',
|
|
167
|
+
'lucia-lifestyle',
|
|
168
|
+
'Travel adventures and lifestyle tips',
|
|
169
|
+
'usr-blog-lucia',
|
|
170
|
+
NOW() - INTERVAL '5 months',
|
|
171
|
+
NOW()
|
|
172
|
+
),
|
|
173
|
+
(
|
|
174
|
+
'team-blog-carlos',
|
|
175
|
+
'Carlos Finance Blog',
|
|
176
|
+
'carlos-finance',
|
|
177
|
+
'Personal finance and investment strategies',
|
|
178
|
+
'usr-blog-carlos',
|
|
179
|
+
NOW() - INTERVAL '4 months',
|
|
180
|
+
NOW()
|
|
181
|
+
)
|
|
182
|
+
ON CONFLICT (id) DO NOTHING;
|
|
183
|
+
|
|
184
|
+
-- ============================================
|
|
185
|
+
-- STEP 3: CREATE TEAM MEMBERSHIPS
|
|
186
|
+
-- ============================================
|
|
187
|
+
|
|
188
|
+
INSERT INTO "team_members" (
|
|
189
|
+
id,
|
|
190
|
+
"teamId",
|
|
191
|
+
"userId",
|
|
192
|
+
role,
|
|
193
|
+
"joinedAt"
|
|
194
|
+
) VALUES
|
|
195
|
+
('tm-blog-marcos', 'team-blog-marcos', 'usr-blog-marcos', 'owner', NOW() - INTERVAL '6 months'),
|
|
196
|
+
('tm-blog-lucia', 'team-blog-lucia', 'usr-blog-lucia', 'owner', NOW() - INTERVAL '5 months'),
|
|
197
|
+
('tm-blog-carlos', 'team-blog-carlos', 'usr-blog-carlos', 'owner', NOW() - INTERVAL '4 months')
|
|
198
|
+
ON CONFLICT (id) DO NOTHING;
|
|
199
|
+
|
|
200
|
+
-- ============================================
|
|
201
|
+
-- STEP 4: CREATE ACCOUNTS (Password: Test1234)
|
|
202
|
+
-- ============================================
|
|
203
|
+
-- Hash: 3db9e98e2b4d3caca97fdf2783791cbc:34b293de615caf277a237773208858e960ea8aa10f1f5c5c309b632f192cac34d52ceafbd338385616f4929e4b1b6c055b67429c6722ffdb80b01d9bf4764866
|
|
204
|
+
|
|
205
|
+
INSERT INTO "account" (
|
|
206
|
+
id,
|
|
207
|
+
"userId",
|
|
208
|
+
"accountId",
|
|
209
|
+
"providerId",
|
|
210
|
+
"accessToken",
|
|
211
|
+
"refreshToken",
|
|
212
|
+
"idToken",
|
|
213
|
+
"accessTokenExpiresAt",
|
|
214
|
+
"refreshTokenExpiresAt",
|
|
215
|
+
"scope",
|
|
216
|
+
"password",
|
|
217
|
+
"createdAt",
|
|
218
|
+
"updatedAt"
|
|
219
|
+
) VALUES
|
|
220
|
+
(
|
|
221
|
+
'acc-blog-marcos',
|
|
222
|
+
'usr-blog-marcos',
|
|
223
|
+
'blog_author_marcos@nextspark.dev',
|
|
224
|
+
'credential',
|
|
225
|
+
NULL, NULL, NULL, NULL, NULL, NULL,
|
|
226
|
+
'3db9e98e2b4d3caca97fdf2783791cbc:34b293de615caf277a237773208858e960ea8aa10f1f5c5c309b632f192cac34d52ceafbd338385616f4929e4b1b6c055b67429c6722ffdb80b01d9bf4764866',
|
|
227
|
+
NOW() - INTERVAL '6 months',
|
|
228
|
+
NOW()
|
|
229
|
+
),
|
|
230
|
+
(
|
|
231
|
+
'acc-blog-lucia',
|
|
232
|
+
'usr-blog-lucia',
|
|
233
|
+
'blog_author_lucia@nextspark.dev',
|
|
234
|
+
'credential',
|
|
235
|
+
NULL, NULL, NULL, NULL, NULL, NULL,
|
|
236
|
+
'3db9e98e2b4d3caca97fdf2783791cbc:34b293de615caf277a237773208858e960ea8aa10f1f5c5c309b632f192cac34d52ceafbd338385616f4929e4b1b6c055b67429c6722ffdb80b01d9bf4764866',
|
|
237
|
+
NOW() - INTERVAL '5 months',
|
|
238
|
+
NOW()
|
|
239
|
+
),
|
|
240
|
+
(
|
|
241
|
+
'acc-blog-carlos',
|
|
242
|
+
'usr-blog-carlos',
|
|
243
|
+
'blog_author_carlos@nextspark.dev',
|
|
244
|
+
'credential',
|
|
245
|
+
NULL, NULL, NULL, NULL, NULL, NULL,
|
|
246
|
+
'3db9e98e2b4d3caca97fdf2783791cbc:34b293de615caf277a237773208858e960ea8aa10f1f5c5c309b632f192cac34d52ceafbd338385616f4929e4b1b6c055b67429c6722ffdb80b01d9bf4764866',
|
|
247
|
+
NOW() - INTERVAL '4 months',
|
|
248
|
+
NOW()
|
|
249
|
+
)
|
|
250
|
+
ON CONFLICT ("providerId", "accountId") DO NOTHING;
|
|
251
|
+
|
|
252
|
+
-- ============================================
|
|
253
|
+
-- STEP 5: CREATE USER METADATA
|
|
254
|
+
-- ============================================
|
|
255
|
+
|
|
256
|
+
INSERT INTO "users_metas" (
|
|
257
|
+
"userId",
|
|
258
|
+
"metaKey",
|
|
259
|
+
"metaValue",
|
|
260
|
+
"dataType",
|
|
261
|
+
"isPublic",
|
|
262
|
+
"isSearchable",
|
|
263
|
+
"createdAt",
|
|
264
|
+
"updatedAt"
|
|
265
|
+
) VALUES
|
|
266
|
+
-- Marcos metadata
|
|
267
|
+
('usr-blog-marcos', 'activeTeamId', '"team-blog-marcos"', 'json', false, false, NOW(), NOW()),
|
|
268
|
+
('usr-blog-marcos', 'uiPreferences', '{"theme": "dark", "sidebarCollapsed": false}', 'json', false, false, NOW(), NOW()),
|
|
269
|
+
-- Lucia metadata
|
|
270
|
+
('usr-blog-lucia', 'activeTeamId', '"team-blog-lucia"', 'json', false, false, NOW(), NOW()),
|
|
271
|
+
('usr-blog-lucia', 'uiPreferences', '{"theme": "light", "sidebarCollapsed": false}', 'json', false, false, NOW(), NOW()),
|
|
272
|
+
-- Carlos metadata
|
|
273
|
+
('usr-blog-carlos', 'activeTeamId', '"team-blog-carlos"', 'json', false, false, NOW(), NOW()),
|
|
274
|
+
('usr-blog-carlos', 'uiPreferences', '{"theme": "light", "sidebarCollapsed": true}', 'json', false, false, NOW(), NOW())
|
|
275
|
+
ON CONFLICT ("userId", "metaKey") DO NOTHING;
|
|
276
|
+
|
|
277
|
+
-- ============================================
|
|
278
|
+
-- STEP 6: CREATE SAMPLE CATEGORIES
|
|
279
|
+
-- ============================================
|
|
280
|
+
-- Each author has 3 categories for their niche
|
|
281
|
+
|
|
282
|
+
INSERT INTO "categories" (
|
|
283
|
+
id,
|
|
284
|
+
"teamId",
|
|
285
|
+
"userId",
|
|
286
|
+
name,
|
|
287
|
+
slug,
|
|
288
|
+
description,
|
|
289
|
+
"createdAt",
|
|
290
|
+
"updatedAt"
|
|
291
|
+
) VALUES
|
|
292
|
+
-- Marcos Tech categories (Technology & Startups)
|
|
293
|
+
('cat-marcos-tech', 'team-blog-marcos', 'usr-blog-marcos', 'Technology', 'technology', 'Tech trends, programming, and software development', NOW() - INTERVAL '6 months', NOW()),
|
|
294
|
+
('cat-marcos-startups', 'team-blog-marcos', 'usr-blog-marcos', 'Startups', 'startups', 'Startup advice, MVPs, and entrepreneurship', NOW() - INTERVAL '6 months', NOW()),
|
|
295
|
+
('cat-marcos-ai', 'team-blog-marcos', 'usr-blog-marcos', 'AI & ML', 'ai-ml', 'Artificial intelligence and machine learning insights', NOW() - INTERVAL '6 months', NOW()),
|
|
296
|
+
|
|
297
|
+
-- Lucia Lifestyle categories (Travel & Lifestyle)
|
|
298
|
+
('cat-lucia-travel', 'team-blog-lucia', 'usr-blog-lucia', 'Travel', 'travel', 'Travel guides, destinations, and tips', NOW() - INTERVAL '5 months', NOW()),
|
|
299
|
+
('cat-lucia-lifestyle', 'team-blog-lucia', 'usr-blog-lucia', 'Lifestyle', 'lifestyle', 'Digital nomad lifestyle and work-life balance', NOW() - INTERVAL '5 months', NOW()),
|
|
300
|
+
('cat-lucia-remote', 'team-blog-lucia', 'usr-blog-lucia', 'Remote Work', 'remote-work', 'Working remotely, cafes, and productivity', NOW() - INTERVAL '5 months', NOW()),
|
|
301
|
+
|
|
302
|
+
-- Carlos Finance categories (Business & Finance)
|
|
303
|
+
('cat-carlos-investing', 'team-blog-carlos', 'usr-blog-carlos', 'Investing', 'investing', 'Investment strategies and financial markets', NOW() - INTERVAL '4 months', NOW()),
|
|
304
|
+
('cat-carlos-finance', 'team-blog-carlos', 'usr-blog-carlos', 'Personal Finance', 'personal-finance', 'Budgeting, saving, and money management', NOW() - INTERVAL '4 months', NOW()),
|
|
305
|
+
('cat-carlos-income', 'team-blog-carlos', 'usr-blog-carlos', 'Side Hustles', 'side-hustles', 'Extra income streams and entrepreneurship', NOW() - INTERVAL '4 months', NOW())
|
|
306
|
+
ON CONFLICT (id) DO NOTHING;
|
|
307
|
+
|
|
308
|
+
-- ============================================
|
|
309
|
+
-- STEP 7: CREATE API KEYS
|
|
310
|
+
-- ============================================
|
|
311
|
+
|
|
312
|
+
INSERT INTO "api_key" (
|
|
313
|
+
id,
|
|
314
|
+
"userId",
|
|
315
|
+
name,
|
|
316
|
+
"keyHash",
|
|
317
|
+
"keyPrefix",
|
|
318
|
+
scopes,
|
|
319
|
+
"expiresAt",
|
|
320
|
+
"createdAt",
|
|
321
|
+
"updatedAt",
|
|
322
|
+
status
|
|
323
|
+
) VALUES
|
|
324
|
+
(
|
|
325
|
+
'apikey-blog-marcos',
|
|
326
|
+
'usr-blog-marcos',
|
|
327
|
+
'Marcos Blog API Key',
|
|
328
|
+
'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855',
|
|
329
|
+
'testkey_marcos01',
|
|
330
|
+
ARRAY['posts:read', 'posts:write', 'posts:delete'],
|
|
331
|
+
NULL,
|
|
332
|
+
NOW(),
|
|
333
|
+
NOW(),
|
|
334
|
+
'active'
|
|
335
|
+
),
|
|
336
|
+
(
|
|
337
|
+
'apikey-blog-lucia',
|
|
338
|
+
'usr-blog-lucia',
|
|
339
|
+
'Lucia Blog API Key',
|
|
340
|
+
'a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2',
|
|
341
|
+
'testkey_lucia001',
|
|
342
|
+
ARRAY['posts:read', 'posts:write', 'posts:delete'],
|
|
343
|
+
NULL,
|
|
344
|
+
NOW(),
|
|
345
|
+
NOW(),
|
|
346
|
+
'active'
|
|
347
|
+
),
|
|
348
|
+
(
|
|
349
|
+
'apikey-blog-carlos',
|
|
350
|
+
'usr-blog-carlos',
|
|
351
|
+
'Carlos Blog API Key',
|
|
352
|
+
'f0e1d2c3b4a5968778695a4b3c2d1e0f9a8b7c6d5e4f3a2b1c0d9e8f7a6b5c4d3',
|
|
353
|
+
'testkey_carlos1',
|
|
354
|
+
ARRAY['posts:read', 'posts:write', 'posts:delete'],
|
|
355
|
+
NULL,
|
|
356
|
+
NOW(),
|
|
357
|
+
NOW(),
|
|
358
|
+
'active'
|
|
359
|
+
)
|
|
360
|
+
ON CONFLICT (id) DO NOTHING;
|
|
361
|
+
|
|
362
|
+
-- ============================================
|
|
363
|
+
-- STEP 8: CREATE SAMPLE POSTS (13 total)
|
|
364
|
+
-- ============================================
|
|
365
|
+
-- Marcos Tech: 5 posts (4 published, 1 draft)
|
|
366
|
+
-- Lucia Lifestyle: 4 posts (3 published, 1 draft)
|
|
367
|
+
-- Carlos Finance: 4 posts (3 published, 1 draft)
|
|
368
|
+
|
|
369
|
+
INSERT INTO "posts" (
|
|
370
|
+
id,
|
|
371
|
+
title,
|
|
372
|
+
slug,
|
|
373
|
+
excerpt,
|
|
374
|
+
content,
|
|
375
|
+
category,
|
|
376
|
+
tags,
|
|
377
|
+
status,
|
|
378
|
+
"publishedAt",
|
|
379
|
+
"userId",
|
|
380
|
+
"teamId",
|
|
381
|
+
"createdAt",
|
|
382
|
+
"updatedAt"
|
|
383
|
+
) VALUES
|
|
384
|
+
-- ========================================
|
|
385
|
+
-- MARCOS TECH - Technology & Startups (5 posts)
|
|
386
|
+
-- ========================================
|
|
387
|
+
(
|
|
388
|
+
'post-marcos-001',
|
|
389
|
+
'The Future of AI in SaaS',
|
|
390
|
+
'the-future-of-ai-in-saas',
|
|
391
|
+
'How artificial intelligence is transforming the software-as-a-service industry and what founders need to know.',
|
|
392
|
+
E'# The Future of AI in SaaS\n\nArtificial intelligence is no longer a buzzword - it''s reshaping how we build and deliver software.\n\n## The Current Landscape\n\nEvery SaaS company is now an AI company, whether they realize it or not. The integration of AI capabilities has become table stakes.\n\n### Key Trends\n\n1. **Intelligent Automation** - From customer support to data analysis\n2. **Predictive Analytics** - Understanding user behavior before it happens\n3. **Natural Language Interfaces** - Conversational UX is becoming standard\n4. **Personalization at Scale** - One-size-fits-all is dead\n\n## What This Means for Founders\n\nIf you''re building a SaaS product in 2024, you need to think about AI from day one.\n\n### Start Here\n\n- Identify repetitive tasks that AI could automate\n- Look for patterns in your data that could drive insights\n- Consider conversational interfaces for complex workflows\n\n## The Risks\n\n- Over-engineering solutions\n- Privacy concerns with user data\n- The "AI washing" trap\n\n## My Prediction\n\nIn 5 years, the distinction between "AI-powered" and regular software will disappear. AI will simply be how software works.\n\nThe question isn''t whether to adopt AI. It''s how fast you can do it well.',
|
|
393
|
+
'Technology',
|
|
394
|
+
'["ai", "saas", "startups", "machine-learning", "future"]'::jsonb,
|
|
395
|
+
'published',
|
|
396
|
+
NOW() - INTERVAL '30 days',
|
|
397
|
+
'usr-blog-marcos',
|
|
398
|
+
'team-blog-marcos',
|
|
399
|
+
NOW() - INTERVAL '30 days',
|
|
400
|
+
NOW() - INTERVAL '30 days'
|
|
401
|
+
),
|
|
402
|
+
(
|
|
403
|
+
'post-marcos-002',
|
|
404
|
+
'Building MVPs Fast',
|
|
405
|
+
'building-mvps-fast',
|
|
406
|
+
'A practical guide to launching your minimum viable product in weeks, not months.',
|
|
407
|
+
E'# Building MVPs Fast\n\nSpeed is a startup''s greatest advantage. Here''s how to ship your MVP in weeks, not months.\n\n## The MVP Mindset\n\nAn MVP isn''t a crappy version of your product. It''s the smallest thing that delivers real value.\n\n## My Framework\n\n### Week 1: Define\n- Identify ONE core problem\n- List the minimum features to solve it\n- Cut that list in half\n- Cut it again\n\n### Week 2: Design\n- Paper sketches first\n- Low-fidelity wireframes\n- Don''t touch high-fidelity until validated\n\n### Week 3-4: Build\n- Use existing tools (no custom auth!)\n- Deploy early, deploy often\n- Get something in front of users ASAP\n\n## Tools I Recommend\n\n- **Auth**: Clerk, Auth0, or Better Auth\n- **Database**: Supabase or PlanetScale\n- **Payments**: Stripe (always)\n- **Hosting**: Vercel or Railway\n\n## Common Mistakes\n\n1. Building features nobody asked for\n2. Perfecting UI before validating value\n3. Not talking to users daily\n4. Building everything from scratch\n\n## The Golden Rule\n\nIf you''re not embarrassed by your first release, you launched too late.\n\nShip it. Learn. Iterate.',
|
|
408
|
+
'Startups',
|
|
409
|
+
'["mvp", "startups", "development", "product", "speed"]'::jsonb,
|
|
410
|
+
'published',
|
|
411
|
+
NOW() - INTERVAL '21 days',
|
|
412
|
+
'usr-blog-marcos',
|
|
413
|
+
'team-blog-marcos',
|
|
414
|
+
NOW() - INTERVAL '21 days',
|
|
415
|
+
NOW() - INTERVAL '21 days'
|
|
416
|
+
),
|
|
417
|
+
(
|
|
418
|
+
'post-marcos-003',
|
|
419
|
+
'Why TypeScript Won',
|
|
420
|
+
'why-typescript-won',
|
|
421
|
+
'The rise of TypeScript and why it became the default choice for modern web development.',
|
|
422
|
+
E'# Why TypeScript Won\n\nFive years ago, TypeScript was "that Microsoft thing." Today, it''s the default for serious JavaScript development.\n\n## The Numbers Don''t Lie\n\n- 78% of JS developers use TypeScript\n- Every major framework supports it natively\n- GitHub''s own platform runs on it\n\n## Why Developers Love It\n\n### 1. Catch Bugs Before They Ship\n```typescript\nfunction greet(name: string) {\n return `Hello, ${name}!`\n}\n\ngreet(42) // Error: Argument of type ''number'' is not assignable\n```\n\n### 2. Better IDE Experience\n- Autocomplete that actually works\n- Refactoring without fear\n- Documentation built into the types\n\n### 3. Self-Documenting Code\n```typescript\ninterface User {\n id: string\n email: string\n role: ''admin'' | ''member''\n createdAt: Date\n}\n```\n\n## The Migration Path\n\n1. Rename `.js` to `.ts`\n2. Add types incrementally\n3. Enable strict mode when ready\n\n## What Changed My Mind\n\nI was a TypeScript skeptic. Then I maintained a large JavaScript codebase.\n\nThe time "lost" to writing types is nothing compared to the time saved debugging runtime errors.\n\n## The Verdict\n\nTypeScript didn''t win by being perfect. It won by solving real problems for real developers.',
|
|
423
|
+
'Technology',
|
|
424
|
+
'["typescript", "javascript", "programming", "web-development"]'::jsonb,
|
|
425
|
+
'published',
|
|
426
|
+
NOW() - INTERVAL '14 days',
|
|
427
|
+
'usr-blog-marcos',
|
|
428
|
+
'team-blog-marcos',
|
|
429
|
+
NOW() - INTERVAL '14 days',
|
|
430
|
+
NOW() - INTERVAL '14 days'
|
|
431
|
+
),
|
|
432
|
+
(
|
|
433
|
+
'post-marcos-004',
|
|
434
|
+
'Startup Metrics That Matter',
|
|
435
|
+
'startup-metrics-that-matter',
|
|
436
|
+
'Stop tracking vanity metrics. Focus on the numbers that actually predict success.',
|
|
437
|
+
E'# Startup Metrics That Matter\n\nNot all metrics are created equal. Here''s what to actually track.\n\n## The Vanity Trap\n\nPage views. App downloads. Social followers.\n\nThese feel good but tell you nothing about your business health.\n\n## Metrics That Matter\n\n### 1. Monthly Recurring Revenue (MRR)\nThe lifeblood of any SaaS. Track it religiously.\n\n### 2. Customer Acquisition Cost (CAC)\nHow much to acquire one customer?\n```\nCAC = Marketing Spend / New Customers\n```\n\n### 3. Lifetime Value (LTV)\nHow much does a customer pay over their lifetime?\n```\nLTV = Average Revenue per User * Average Lifespan\n```\n\n### 4. The Magic Ratio: LTV/CAC\n- < 1: You''re losing money on every customer\n- 1-3: Sustainable but tight\n- > 3: Healthy business (aim here)\n\n### 5. Churn Rate\nThe percentage of customers who leave each month.\n```\nChurn = Lost Customers / Total Customers * 100\n```\n\n## The Dashboard\n\nI check these daily:\n- MRR and growth rate\n- Trial-to-paid conversion\n- Active users (DAU/MAU)\n\nWeekly:\n- CAC and LTV\n- Churn by cohort\n- NPS score\n\n## The One Number\n\nIf you can only track one thing: **Net Revenue Retention**\n\nAre existing customers paying you more or less over time?',
|
|
438
|
+
'Startups',
|
|
439
|
+
'["metrics", "saas", "business", "analytics", "growth"]'::jsonb,
|
|
440
|
+
'published',
|
|
441
|
+
NOW() - INTERVAL '7 days',
|
|
442
|
+
'usr-blog-marcos',
|
|
443
|
+
'team-blog-marcos',
|
|
444
|
+
NOW() - INTERVAL '7 days',
|
|
445
|
+
NOW() - INTERVAL '7 days'
|
|
446
|
+
),
|
|
447
|
+
(
|
|
448
|
+
'post-marcos-005',
|
|
449
|
+
'Remote Team Culture',
|
|
450
|
+
'remote-team-culture',
|
|
451
|
+
'Building strong company culture when your team is distributed across the globe.',
|
|
452
|
+
E'# Remote Team Culture\n\nBuilding culture is hard. Building remote culture is harder. But it''s not impossible.\n\n## The Challenge\n\nNo water cooler conversations. No spontaneous lunches. No reading the room.\n\nHow do you build connection without proximity?\n\n## What Works\n\n### 1. Over-communicate\n- Default to public channels\n- Write things down\n- Share context, not just decisions\n\n### 2. Create Rituals\n- Monday kickoffs\n- Friday wins\n- Virtual coffee chats\n\n### 3. Invest in IRL\n- Quarterly team meetups\n- Annual company retreat\n- Budget for local coworking\n\n## Tools That Help\n\n- **Async video**: Loom for updates\n- **Virtual office**: Gather or similar\n- **Documentation**: Notion or Confluence\n- **Chat**: Slack with threading discipline\n\n## Common Mistakes\n\n1. Too many meetings\n2. Expecting always-on availability\n3. Not trusting people to work\n4. Forgetting timezones exist\n\n## Our Practices\n\n[Draft - adding our specific examples]',
|
|
453
|
+
'Startups',
|
|
454
|
+
'["remote-work", "culture", "team-building", "management", "startup"]'::jsonb,
|
|
455
|
+
'draft',
|
|
456
|
+
NULL,
|
|
457
|
+
'usr-blog-marcos',
|
|
458
|
+
'team-blog-marcos',
|
|
459
|
+
NOW() - INTERVAL '2 days',
|
|
460
|
+
NOW() - INTERVAL '2 days'
|
|
461
|
+
),
|
|
462
|
+
|
|
463
|
+
-- ========================================
|
|
464
|
+
-- LUCIA LIFESTYLE - Travel & Lifestyle (4 posts)
|
|
465
|
+
-- ========================================
|
|
466
|
+
(
|
|
467
|
+
'post-lucia-001',
|
|
468
|
+
'Best Cafes for Remote Work in Lisbon',
|
|
469
|
+
'best-cafes-remote-work-lisbon',
|
|
470
|
+
'A digital nomad''s guide to the best spots to work in Portugal''s vibrant capital.',
|
|
471
|
+
E'# Best Cafes for Remote Work in Lisbon\n\nLisbon has become a digital nomad hotspot. Here are my favorite spots to work.\n\n## What I Look For\n\n- Stable WiFi (minimum 50 Mbps)\n- Power outlets\n- Good coffee (obviously)\n- Not too crowded\n- Laptop-friendly vibes\n\n## My Top Picks\n\n### 1. Fabrica Coffee Roasters\n**Rua das Portas de Santo Antao**\n- WiFi: Excellent (80+ Mbps)\n- Outlets: Plenty\n- Vibe: Industrial, creative\n- Best for: Deep focus work\n- Pro tip: Go early, gets crowded after 11am\n\n### 2. Copenhagen Coffee Lab\n**Rua Nova da Piedade**\n- WiFi: Great (60 Mbps)\n- Outlets: Limited (bring a power bank)\n- Vibe: Minimalist Scandinavian\n- Best for: Client calls (quiet)\n- Pro tip: Their flat white is perfect\n\n### 3. Dear Breakfast\n**Multiple locations**\n- WiFi: Good (50 Mbps)\n- Outlets: Adequate\n- Vibe: Instagram-worthy\n- Best for: Brunch + emails\n- Pro tip: Try the avocado toast (yes, really)\n\n### 4. Village Underground\n**Creative hub in Alcantara**\n- WiFi: Excellent\n- Outlets: Everywhere\n- Vibe: Old buses turned into offices!\n- Best for: Community + coworking\n- Pro tip: Book a day pass for full access\n\n## The Coworking Alternative\n\nSometimes you need a proper desk:\n- **Heden**: Beautiful space, great events\n- **Second Home**: Design-focused, pricey but worth it\n\n## WiFi Backup Plan\n\nAlways have a local SIM with data. I use NOS - 10GB for around 15 euros.\n\nSee you at the next cafe!',
|
|
472
|
+
'Travel',
|
|
473
|
+
'["lisbon", "digital-nomad", "remote-work", "cafes", "portugal"]'::jsonb,
|
|
474
|
+
'published',
|
|
475
|
+
NOW() - INTERVAL '25 days',
|
|
476
|
+
'usr-blog-lucia',
|
|
477
|
+
'team-blog-lucia',
|
|
478
|
+
NOW() - INTERVAL '25 days',
|
|
479
|
+
NOW() - INTERVAL '25 days'
|
|
480
|
+
),
|
|
481
|
+
(
|
|
482
|
+
'post-lucia-002',
|
|
483
|
+
'Digital Nomad Essentials',
|
|
484
|
+
'digital-nomad-essentials',
|
|
485
|
+
'Everything I pack for a location-independent lifestyle, refined over 3 years on the road.',
|
|
486
|
+
E'# Digital Nomad Essentials\n\nAfter 3 years of nomading, I''ve learned what actually matters. Here''s my packing list.\n\n## The Non-Negotiables\n\n### Tech\n- MacBook Air M2 (light, powerful, all-day battery)\n- iPhone with dual SIM capability\n- AirPods Pro (noise canceling for flights)\n- Universal power adapter (I use EPICKA)\n- Portable charger (20,000 mAh minimum)\n- Kindle Paperwhite\n\n### Work Accessories\n- Lightweight laptop stand (Roost)\n- Compact mouse (Logitech MX Anywhere)\n- Collapsible water bottle\n- Blue light glasses\n- Noise-canceling headphones for calls\n\n## Clothing Philosophy\n\n**The capsule wardrobe approach:**\n- 3-4 tops that mix and match\n- 2 bottoms (one jeans, one versatile)\n- 1 light jacket\n- Comfortable walking shoes\n- Flip flops\n\nEverything should:\n- Wash easily\n- Dry quickly\n- Not wrinkle\n- Match everything else\n\n## The Bag\n\n**Osprey Farpoint 40L** - My ride or die\n- Fits carry-on requirements\n- Laptop compartment\n- Comfortable for long walks\n- Locks together for security\n\n## What I Stopped Bringing\n\n- Books (Kindle is life)\n- Separate camera (iPhone is enough)\n- "Just in case" items\n- More than 7 days of clothes\n\n## Pro Tips\n\n1. Ship heavy items to your next destination\n2. Buy toiletries locally\n3. Backup everything to cloud\n4. Get travel insurance (World Nomads)\n\nLess stuff = more freedom.',
|
|
487
|
+
'Lifestyle',
|
|
488
|
+
'["digital-nomad", "packing", "travel", "minimalism", "remote-work"]'::jsonb,
|
|
489
|
+
'published',
|
|
490
|
+
NOW() - INTERVAL '18 days',
|
|
491
|
+
'usr-blog-lucia',
|
|
492
|
+
'team-blog-lucia',
|
|
493
|
+
NOW() - INTERVAL '18 days',
|
|
494
|
+
NOW() - INTERVAL '18 days'
|
|
495
|
+
),
|
|
496
|
+
(
|
|
497
|
+
'post-lucia-003',
|
|
498
|
+
'Hidden Gems of Southeast Asia',
|
|
499
|
+
'hidden-gems-southeast-asia',
|
|
500
|
+
'Beyond Bali: Discovering the less-traveled corners of Southeast Asia.',
|
|
501
|
+
E'# Hidden Gems of Southeast Asia\n\nEveryone goes to Bali. Here are the places I loved even more.\n\n## Vietnam: Phong Nha\n\n**Why it''s special:** World''s largest cave systems\n\n- Skip Ha Long Bay (too touristy)\n- Phong Nha is raw, beautiful, uncrowded\n- Stay at Easy Tiger hostel\n- Do the Paradise Cave tour\n\n**Best for:** Adventure seekers, nature lovers\n\n## Philippines: Siargao\n\n**Why it''s special:** The next Bali (but still unspoiled)\n\n- Perfect for beginners to learn surfing\n- Cloud 9 break for experienced surfers\n- Island hopping to empty beaches\n- Incredible food scene developing\n\n**Best for:** Surfers, chill vibes\n\n## Thailand: Pai\n\n**Why it''s special:** Hippie mountain town\n\n- Skip Chiang Mai''s crowds\n- 3-hour winding drive worth it\n- Hot springs, waterfalls, canyons\n- Best pad thai I''ve ever had\n\n**Best for:** Motorcyclists, nature\n\n## Malaysia: Penang\n\n**Why it''s special:** Food capital of Asia\n\n- Georgetown''s street art\n- Hawker food heaven\n- Mix of cultures\n- Great digital nomad infrastructure\n\n**Best for:** Foodies, culture lovers\n\n## Indonesia: Lombok\n\n**Why it''s special:** Bali 20 years ago\n\n- Same beauty, fraction of tourists\n- Gili Islands nearby\n- Mount Rinjani trekking\n- Authentic village experiences\n\n**Best for:** Beach lovers, trekkers\n\n## Getting Off the Beaten Path\n\n1. Talk to locals, not TripAdvisor\n2. Take buses, not flights\n3. Stay longer in fewer places\n4. Learn a few words in local language\n\nThe real magic is where the tourists aren''t.',
|
|
502
|
+
'Travel',
|
|
503
|
+
'["southeast-asia", "travel", "hidden-gems", "adventure", "digital-nomad"]'::jsonb,
|
|
504
|
+
'published',
|
|
505
|
+
NOW() - INTERVAL '10 days',
|
|
506
|
+
'usr-blog-lucia',
|
|
507
|
+
'team-blog-lucia',
|
|
508
|
+
NOW() - INTERVAL '10 days',
|
|
509
|
+
NOW() - INTERVAL '10 days'
|
|
510
|
+
),
|
|
511
|
+
(
|
|
512
|
+
'post-lucia-004',
|
|
513
|
+
'Work-Life Balance Tips',
|
|
514
|
+
'work-life-balance-tips',
|
|
515
|
+
'How to actually disconnect when your office is everywhere.',
|
|
516
|
+
E'# Work-Life Balance Tips\n\nWhen your office is everywhere, balance gets tricky. Here''s what I''ve learned.\n\n## The Problem\n\nAs a digital nomad, there''s no physical separation between work and life.\n\nThe beach IS your office. The cafe IS your meeting room.\n\n## Setting Boundaries\n\n### Time Boundaries\n- Set fixed work hours (I do 9am-5pm local time)\n- No emails after dinner\n- Weekends are sacred\n\n### Space Boundaries\n- Never work from bed\n- Designate a "work spot" even in small spaces\n- Close the laptop when done\n\n[Draft - more tips coming]\n\n## The Hardest Part\n\nGiving yourself permission to not work.\n\nMore coming soon...',
|
|
517
|
+
'Lifestyle',
|
|
518
|
+
'["work-life-balance", "remote-work", "mental-health", "productivity", "digital-nomad"]'::jsonb,
|
|
519
|
+
'draft',
|
|
520
|
+
NULL,
|
|
521
|
+
'usr-blog-lucia',
|
|
522
|
+
'team-blog-lucia',
|
|
523
|
+
NOW() - INTERVAL '3 days',
|
|
524
|
+
NOW() - INTERVAL '3 days'
|
|
525
|
+
),
|
|
526
|
+
|
|
527
|
+
-- ========================================
|
|
528
|
+
-- CARLOS FINANCE - Business & Finance (4 posts)
|
|
529
|
+
-- ========================================
|
|
530
|
+
(
|
|
531
|
+
'post-carlos-001',
|
|
532
|
+
'Investing 101 for Beginners',
|
|
533
|
+
'investing-101-for-beginners',
|
|
534
|
+
'Everything you need to know to start investing today, explained in plain English.',
|
|
535
|
+
E'# Investing 101 for Beginners\n\nInvesting seems complicated. It doesn''t have to be. Let''s break it down.\n\n## Why Invest?\n\nMoney in a savings account loses value to inflation every year.\n\n$10,000 today = ~$7,500 purchasing power in 10 years (at 3% inflation)\n\nInvesting is how you make your money work for you.\n\n## The Basics\n\n### Stocks\nOwning a tiny piece of a company.\n- Higher risk, higher potential reward\n- Apple, Google, thousands of companies\n\n### Bonds\nLending money to governments or companies.\n- Lower risk, lower returns\n- More stable than stocks\n\n### Index Funds\nA basket of many stocks in one purchase.\n- S&P 500 = 500 largest US companies\n- Instant diversification\n- My recommendation for beginners\n\n## Getting Started\n\n### Step 1: Emergency Fund First\n3-6 months expenses in savings BEFORE investing.\n\n### Step 2: Open a Brokerage Account\n- Fidelity, Vanguard, or Schwab\n- All have no minimums\n- All have index funds\n\n### Step 3: Start Small\n- $50/month is a great start\n- Automate it\n- Increase as you can\n\n## The Power of Time\n\n$200/month starting at 25 = ~$500,000 at 65\n$200/month starting at 35 = ~$230,000 at 65\n\nSame money. Different outcomes. Time matters.\n\n## Golden Rules\n\n1. Don''t invest money you need soon\n2. Don''t try to time the market\n3. Diversify (index funds do this automatically)\n4. Stay the course during downturns\n5. Keep fees low (under 0.2%)\n\n## My Simple Portfolio\n\n- 80% Total US Stock Market Index (VTI)\n- 20% Total International (VXUS)\n\nThat''s it. Boring wins.',
|
|
536
|
+
'Finance',
|
|
537
|
+
'["investing", "beginners", "personal-finance", "stocks", "index-funds"]'::jsonb,
|
|
538
|
+
'published',
|
|
539
|
+
NOW() - INTERVAL '28 days',
|
|
540
|
+
'usr-blog-carlos',
|
|
541
|
+
'team-blog-carlos',
|
|
542
|
+
NOW() - INTERVAL '28 days',
|
|
543
|
+
NOW() - INTERVAL '28 days'
|
|
544
|
+
),
|
|
545
|
+
(
|
|
546
|
+
'post-carlos-002',
|
|
547
|
+
'Side Hustles That Actually Work',
|
|
548
|
+
'side-hustles-that-actually-work',
|
|
549
|
+
'Realistic ways to earn extra income without falling for get-rich-quick schemes.',
|
|
550
|
+
E'# Side Hustles That Actually Work\n\nForget the "make $10k/month passive income" gurus. Here''s what actually works.\n\n## The Reality Check\n\nMost side hustles:\n- Take time to build\n- Require real work\n- Won''t make you rich overnight\n\nBut they CAN:\n- Add $500-2000/month\n- Build valuable skills\n- Potentially become full-time income\n\n## Tier 1: Skill-Based (Highest Pay)\n\n### Freelance Writing\n- Start: $50-100/article\n- Experienced: $200-500/article\n- Platform: Contently, LinkedIn\n\n### Web Development\n- Start: $500-1000/project\n- Experienced: $2000-5000/project\n- Platform: Upwork, word of mouth\n\n### Design\n- Start: $100-300/project\n- Experienced: $500-2000/project\n- Platform: 99designs, Fiverr Pro\n\n## Tier 2: Service-Based (Consistent)\n\n### Virtual Assistant\n- $15-25/hour\n- Admin, email, scheduling\n- Platforms: Belay, Time Etc\n\n### Tutoring\n- $20-50/hour\n- Online or local\n- Platform: Wyzant, Varsity Tutors\n\n### Consulting\n- Bill your expertise hourly\n- LinkedIn is your friend\n- Start with former colleagues\n\n## Tier 3: Digital Products (Scalable)\n\n### Online Courses\n- Create once, sell forever\n- Takes 3-6 months to build\n- Platforms: Teachable, Podia\n\n### Ebooks/Guides\n- Lower effort than courses\n- Price $10-50\n- Sell through Gumroad\n\n## What Doesn''t Work\n\n- MLM (it''s always MLM)\n- Survey sites (pennies/hour)\n- "Passive income" dropshipping\n- Crypto day trading\n\n## My Advice\n\n1. Start with skills you already have\n2. Dedicate consistent hours (5-10/week)\n3. Reinvest earnings\n4. Be patient (3-6 months to see results)',
|
|
551
|
+
'Finance',
|
|
552
|
+
'["side-hustle", "income", "freelance", "money", "career"]'::jsonb,
|
|
553
|
+
'published',
|
|
554
|
+
NOW() - INTERVAL '20 days',
|
|
555
|
+
'usr-blog-carlos',
|
|
556
|
+
'team-blog-carlos',
|
|
557
|
+
NOW() - INTERVAL '20 days',
|
|
558
|
+
NOW() - INTERVAL '20 days'
|
|
559
|
+
),
|
|
560
|
+
(
|
|
561
|
+
'post-carlos-003',
|
|
562
|
+
'Understanding Crypto Markets',
|
|
563
|
+
'understanding-crypto-markets',
|
|
564
|
+
'A balanced look at cryptocurrency: the technology, the hype, and the reality.',
|
|
565
|
+
E'# Understanding Crypto Markets\n\nCrypto is either the future of money or a giant scam, depending on who you ask. Let''s look at it objectively.\n\n## What Is Cryptocurrency?\n\nDigital money that runs on blockchain technology.\n\n**Blockchain**: A shared database that no single entity controls.\n\n## The Big Players\n\n### Bitcoin (BTC)\n- The original\n- "Digital gold" narrative\n- Limited to 21 million coins ever\n- Most institutional acceptance\n\n### Ethereum (ETH)\n- Platform for apps and smart contracts\n- Powers DeFi and NFTs\n- More utility than Bitcoin\n- Higher risk/reward\n\n## The Bull Case\n\n1. Decentralization from governments/banks\n2. Inflation hedge (limited supply)\n3. Global, borderless transactions\n4. New financial infrastructure\n\n## The Bear Case\n\n1. Extreme volatility\n2. Regulatory uncertainty\n3. Environmental concerns (mining)\n4. Used for illegal activity\n5. Many projects are scams\n\n## My Honest Take\n\nCrypto is:\n- NOT a get-rich-quick scheme\n- NOT replacing the dollar soon\n- NOT completely without value\n\nIt IS:\n- Interesting technology\n- A speculative asset\n- High risk, high potential reward\n\n## If You''re Going to Invest\n\n1. Only money you can afford to lose (1-5% of portfolio max)\n2. Stick to BTC and ETH (everything else is gambling)\n3. Use real exchanges (Coinbase, Kraken)\n4. Never invest based on TikTok\n5. Plan to hold 5+ years\n\n## Red Flags\n\n- "Guaranteed returns"\n- Celebrity endorsements\n- New coins promising 1000x\n- "Send me crypto, I''ll send back double"\n\n## The Bottom Line\n\nEducate yourself. Be skeptical. Only invest what you understand.',
|
|
566
|
+
'Finance',
|
|
567
|
+
'["crypto", "bitcoin", "ethereum", "investing", "blockchain"]'::jsonb,
|
|
568
|
+
'published',
|
|
569
|
+
NOW() - INTERVAL '12 days',
|
|
570
|
+
'usr-blog-carlos',
|
|
571
|
+
'team-blog-carlos',
|
|
572
|
+
NOW() - INTERVAL '12 days',
|
|
573
|
+
NOW() - INTERVAL '12 days'
|
|
574
|
+
),
|
|
575
|
+
(
|
|
576
|
+
'post-carlos-004',
|
|
577
|
+
'Building Passive Income',
|
|
578
|
+
'building-passive-income',
|
|
579
|
+
'Real passive income strategies that work, without the Instagram guru BS.',
|
|
580
|
+
E'# Building Passive Income\n\nLet me be clear: TRUE passive income takes years to build. But it''s worth it.\n\n## What Passive Income Actually Means\n\n**Not**: Money for nothing\n**Actually**: Income that doesn''t require active work AFTER initial effort\n\n## The Math of Financial Freedom\n\nPassive income goal = Monthly expenses x 12 / 0.04\n\nExample: $5,000/month expenses\n$5,000 x 12 = $60,000/year\n$60,000 / 0.04 = $1,500,000 invested\n\nThat''s the 4% rule - withdraw 4% annually without depleting principal.\n\n## Realistic Passive Income Sources\n\n### Dividend Investing\n- Stocks that pay quarterly\n- 3-4% yield typically\n- Requires significant capital\n- Most "passive" option\n\n### Rental Property\n- Monthly cash flow\n- Requires management (not fully passive)\n- Tax advantages\n- Leverage possible\n\n[Draft - more strategies coming]\n\n## The Timeline\n\nYear 1-3: Build active income, save aggressively\nYear 3-5: Invest consistently, reinvest everything\nYear 5-10: Compound growth kicks in\nYear 10+: Passive income becomes meaningful\n\nMore coming soon...',
|
|
581
|
+
'Finance',
|
|
582
|
+
'["passive-income", "investing", "financial-freedom", "money", "wealth"]'::jsonb,
|
|
583
|
+
'draft',
|
|
584
|
+
NULL,
|
|
585
|
+
'usr-blog-carlos',
|
|
586
|
+
'team-blog-carlos',
|
|
587
|
+
NOW() - INTERVAL '5 days',
|
|
588
|
+
NOW() - INTERVAL '5 days'
|
|
589
|
+
)
|
|
590
|
+
ON CONFLICT (id) DO NOTHING;
|
|
591
|
+
|
|
592
|
+
-- ============================================
|
|
593
|
+
-- STEP 9: MARK FEATURED POSTS
|
|
594
|
+
-- ============================================
|
|
595
|
+
|
|
596
|
+
UPDATE "posts" SET "featured" = true WHERE id IN (
|
|
597
|
+
'post-marcos-001', -- The Future of AI in SaaS
|
|
598
|
+
'post-marcos-003', -- Why TypeScript Won
|
|
599
|
+
'post-lucia-001', -- Best Cafes for Remote Work in Lisbon
|
|
600
|
+
'post-lucia-003', -- Hidden Gems of Southeast Asia
|
|
601
|
+
'post-carlos-001', -- Investing 101 for Beginners
|
|
602
|
+
'post-carlos-002' -- Side Hustles That Actually Work
|
|
603
|
+
);
|
|
604
|
+
|
|
605
|
+
-- ============================================
|
|
606
|
+
-- STEP 10: CREATE INVOICES (6 per team = 18 total)
|
|
607
|
+
-- ============================================
|
|
608
|
+
-- Pro Plan subscription: $29/month
|
|
609
|
+
-- Status: 5 paid + 1 pending per team
|
|
610
|
+
|
|
611
|
+
INSERT INTO "invoices" (
|
|
612
|
+
id,
|
|
613
|
+
"teamId",
|
|
614
|
+
"invoiceNumber",
|
|
615
|
+
date,
|
|
616
|
+
amount,
|
|
617
|
+
currency,
|
|
618
|
+
status,
|
|
619
|
+
"pdfUrl",
|
|
620
|
+
description
|
|
621
|
+
) VALUES
|
|
622
|
+
-- Marcos Tech Blog invoices
|
|
623
|
+
('inv-marcos-001', 'team-blog-marcos', 'INV-MARCOS-001', NOW() - INTERVAL '5 months', 29.00, 'USD', 'paid', 'https://billing.example.com/invoices/inv-marcos-001.pdf', 'Pro Plan - Monthly subscription'),
|
|
624
|
+
('inv-marcos-002', 'team-blog-marcos', 'INV-MARCOS-002', NOW() - INTERVAL '4 months', 29.00, 'USD', 'paid', 'https://billing.example.com/invoices/inv-marcos-002.pdf', 'Pro Plan - Monthly subscription'),
|
|
625
|
+
('inv-marcos-003', 'team-blog-marcos', 'INV-MARCOS-003', NOW() - INTERVAL '3 months', 29.00, 'USD', 'paid', 'https://billing.example.com/invoices/inv-marcos-003.pdf', 'Pro Plan - Monthly subscription'),
|
|
626
|
+
('inv-marcos-004', 'team-blog-marcos', 'INV-MARCOS-004', NOW() - INTERVAL '2 months', 29.00, 'USD', 'paid', 'https://billing.example.com/invoices/inv-marcos-004.pdf', 'Pro Plan - Monthly subscription'),
|
|
627
|
+
('inv-marcos-005', 'team-blog-marcos', 'INV-MARCOS-005', NOW() - INTERVAL '1 month', 29.00, 'USD', 'paid', 'https://billing.example.com/invoices/inv-marcos-005.pdf', 'Pro Plan - Monthly subscription'),
|
|
628
|
+
('inv-marcos-006', 'team-blog-marcos', 'INV-MARCOS-006', NOW(), 29.00, 'USD', 'pending', NULL, 'Pro Plan - Monthly subscription'),
|
|
629
|
+
|
|
630
|
+
-- Lucia Lifestyle Blog invoices
|
|
631
|
+
('inv-lucia-001', 'team-blog-lucia', 'INV-LUCIA-001', NOW() - INTERVAL '5 months', 29.00, 'USD', 'paid', 'https://billing.example.com/invoices/inv-lucia-001.pdf', 'Pro Plan - Monthly subscription'),
|
|
632
|
+
('inv-lucia-002', 'team-blog-lucia', 'INV-LUCIA-002', NOW() - INTERVAL '4 months', 29.00, 'USD', 'paid', 'https://billing.example.com/invoices/inv-lucia-002.pdf', 'Pro Plan - Monthly subscription'),
|
|
633
|
+
('inv-lucia-003', 'team-blog-lucia', 'INV-LUCIA-003', NOW() - INTERVAL '3 months', 29.00, 'USD', 'paid', 'https://billing.example.com/invoices/inv-lucia-003.pdf', 'Pro Plan - Monthly subscription'),
|
|
634
|
+
('inv-lucia-004', 'team-blog-lucia', 'INV-LUCIA-004', NOW() - INTERVAL '2 months', 29.00, 'USD', 'paid', 'https://billing.example.com/invoices/inv-lucia-004.pdf', 'Pro Plan - Monthly subscription'),
|
|
635
|
+
('inv-lucia-005', 'team-blog-lucia', 'INV-LUCIA-005', NOW() - INTERVAL '1 month', 29.00, 'USD', 'paid', 'https://billing.example.com/invoices/inv-lucia-005.pdf', 'Pro Plan - Monthly subscription'),
|
|
636
|
+
('inv-lucia-006', 'team-blog-lucia', 'INV-LUCIA-006', NOW(), 29.00, 'USD', 'pending', NULL, 'Pro Plan - Monthly subscription'),
|
|
637
|
+
|
|
638
|
+
-- Carlos Finance Blog invoices
|
|
639
|
+
('inv-carlos-001', 'team-blog-carlos', 'INV-CARLOS-001', NOW() - INTERVAL '5 months', 29.00, 'USD', 'paid', 'https://billing.example.com/invoices/inv-carlos-001.pdf', 'Pro Plan - Monthly subscription'),
|
|
640
|
+
('inv-carlos-002', 'team-blog-carlos', 'INV-CARLOS-002', NOW() - INTERVAL '4 months', 29.00, 'USD', 'paid', 'https://billing.example.com/invoices/inv-carlos-002.pdf', 'Pro Plan - Monthly subscription'),
|
|
641
|
+
('inv-carlos-003', 'team-blog-carlos', 'INV-CARLOS-003', NOW() - INTERVAL '3 months', 29.00, 'USD', 'paid', 'https://billing.example.com/invoices/inv-carlos-003.pdf', 'Pro Plan - Monthly subscription'),
|
|
642
|
+
('inv-carlos-004', 'team-blog-carlos', 'INV-CARLOS-004', NOW() - INTERVAL '2 months', 29.00, 'USD', 'paid', 'https://billing.example.com/invoices/inv-carlos-004.pdf', 'Pro Plan - Monthly subscription'),
|
|
643
|
+
('inv-carlos-005', 'team-blog-carlos', 'INV-CARLOS-005', NOW() - INTERVAL '1 month', 29.00, 'USD', 'paid', 'https://billing.example.com/invoices/inv-carlos-005.pdf', 'Pro Plan - Monthly subscription'),
|
|
644
|
+
('inv-carlos-006', 'team-blog-carlos', 'INV-CARLOS-006', NOW(), 29.00, 'USD', 'pending', NULL, 'Pro Plan - Monthly subscription')
|
|
645
|
+
ON CONFLICT (id) DO NOTHING;
|
|
646
|
+
|
|
647
|
+
-- ============================================
|
|
648
|
+
-- STEP 11: SUBSCRIPTIONS (B2C - with userId optimization)
|
|
649
|
+
-- ============================================
|
|
650
|
+
-- Note: Blog theme is single-user B2C - we use userId for optimization
|
|
651
|
+
-- Each author = 1 team = 1 subscription = 1 user
|
|
652
|
+
|
|
653
|
+
-- First, delete auto-created free subscriptions from the trigger
|
|
654
|
+
-- (the trigger creates a free subscription for each new team)
|
|
655
|
+
DELETE FROM public."subscriptions" WHERE "teamId" IN (
|
|
656
|
+
'team-blog-marcos', 'team-blog-lucia', 'team-blog-carlos'
|
|
657
|
+
);
|
|
658
|
+
|
|
659
|
+
INSERT INTO public."subscriptions" (
|
|
660
|
+
id, "teamId", "userId", "planId", status,
|
|
661
|
+
"currentPeriodStart", "currentPeriodEnd", "billingInterval", "paymentProvider",
|
|
662
|
+
"externalSubscriptionId", "externalCustomerId", "createdAt"
|
|
663
|
+
) VALUES
|
|
664
|
+
-- Marcos Tech → Pro Plan $29/mo (active, monthly)
|
|
665
|
+
('sub-blog-marcos', 'team-blog-marcos', 'usr-blog-marcos', (SELECT id FROM public."plans" WHERE slug = 'pro'), 'active',
|
|
666
|
+
NOW() - INTERVAL '30 days', NOW() + INTERVAL '30 days', 'monthly', 'stripe',
|
|
667
|
+
'sub_stripe_marcos', 'cus_marcos', NOW() - INTERVAL '6 months'),
|
|
668
|
+
-- Lucia Lifestyle → Pro Plan $29/mo (active, monthly)
|
|
669
|
+
('sub-blog-lucia', 'team-blog-lucia', 'usr-blog-lucia', (SELECT id FROM public."plans" WHERE slug = 'pro'), 'active',
|
|
670
|
+
NOW() - INTERVAL '15 days', NOW() + INTERVAL '15 days', 'monthly', 'stripe',
|
|
671
|
+
'sub_stripe_lucia', 'cus_lucia', NOW() - INTERVAL '5 months'),
|
|
672
|
+
-- Carlos Finance → Pro Plan (trialing, monthly)
|
|
673
|
+
('sub-blog-carlos', 'team-blog-carlos', 'usr-blog-carlos', (SELECT id FROM public."plans" WHERE slug = 'pro'), 'trialing',
|
|
674
|
+
NOW(), NOW() + INTERVAL '14 days', 'monthly', NULL, NULL, NULL, NOW() - INTERVAL '4 months')
|
|
675
|
+
ON CONFLICT (id) DO NOTHING;
|
|
676
|
+
|
|
677
|
+
UPDATE public."subscriptions" SET "trialEndsAt" = NOW() + INTERVAL '14 days'
|
|
678
|
+
WHERE id = 'sub-blog-carlos';
|
|
679
|
+
|
|
680
|
+
-- ============================================
|
|
681
|
+
-- STEP 12: BILLING EVENTS
|
|
682
|
+
-- ============================================
|
|
683
|
+
|
|
684
|
+
INSERT INTO public."billing_events" (id, "subscriptionId", type, status, amount, currency, "createdAt")
|
|
685
|
+
VALUES
|
|
686
|
+
-- Marcos pagos (6 meses @ $29)
|
|
687
|
+
('be-blog-marcos-001', 'sub-blog-marcos', 'payment', 'succeeded', 2900, 'usd', NOW() - INTERVAL '6 months'),
|
|
688
|
+
('be-blog-marcos-002', 'sub-blog-marcos', 'payment', 'succeeded', 2900, 'usd', NOW() - INTERVAL '5 months'),
|
|
689
|
+
('be-blog-marcos-003', 'sub-blog-marcos', 'payment', 'succeeded', 2900, 'usd', NOW() - INTERVAL '4 months'),
|
|
690
|
+
('be-blog-marcos-004', 'sub-blog-marcos', 'payment', 'succeeded', 2900, 'usd', NOW() - INTERVAL '3 months'),
|
|
691
|
+
('be-blog-marcos-005', 'sub-blog-marcos', 'payment', 'succeeded', 2900, 'usd', NOW() - INTERVAL '2 months'),
|
|
692
|
+
('be-blog-marcos-006', 'sub-blog-marcos', 'payment', 'succeeded', 2900, 'usd', NOW() - INTERVAL '1 month'),
|
|
693
|
+
-- Lucia pagos (5 meses @ $29)
|
|
694
|
+
('be-blog-lucia-001', 'sub-blog-lucia', 'payment', 'succeeded', 2900, 'usd', NOW() - INTERVAL '5 months'),
|
|
695
|
+
('be-blog-lucia-002', 'sub-blog-lucia', 'payment', 'succeeded', 2900, 'usd', NOW() - INTERVAL '4 months'),
|
|
696
|
+
('be-blog-lucia-003', 'sub-blog-lucia', 'payment', 'succeeded', 2900, 'usd', NOW() - INTERVAL '3 months'),
|
|
697
|
+
('be-blog-lucia-004', 'sub-blog-lucia', 'payment', 'succeeded', 2900, 'usd', NOW() - INTERVAL '2 months'),
|
|
698
|
+
('be-blog-lucia-005', 'sub-blog-lucia', 'payment', 'succeeded', 2900, 'usd', NOW() - INTERVAL '1 month')
|
|
699
|
+
ON CONFLICT (id) DO NOTHING;
|
|
700
|
+
|
|
701
|
+
-- ============================================
|
|
702
|
+
-- STEP 13: TEAM METADATA (B2C author attributes)
|
|
703
|
+
-- ============================================
|
|
704
|
+
|
|
705
|
+
UPDATE public."teams" SET metadata = '{"authorNiche": "technology", "postsPublished": 4, "featuredCount": 2}'::jsonb WHERE id = 'team-blog-marcos';
|
|
706
|
+
UPDATE public."teams" SET metadata = '{"authorNiche": "travel", "postsPublished": 3, "featuredCount": 2}'::jsonb WHERE id = 'team-blog-lucia';
|
|
707
|
+
UPDATE public."teams" SET metadata = '{"authorNiche": "finance", "postsPublished": 3, "featuredCount": 2}'::jsonb WHERE id = 'team-blog-carlos';
|
|
708
|
+
|
|
709
|
+
-- ============================================
|
|
710
|
+
-- STEP 14: 10 NEW BLOGGERS WITH DIVERSE SCENARIOS
|
|
711
|
+
-- ============================================
|
|
712
|
+
-- Mix of monthly/yearly, active/canceled/past_due
|
|
713
|
+
-- Password: Test1234 (same hash as above)
|
|
714
|
+
|
|
715
|
+
INSERT INTO "users" (
|
|
716
|
+
id, email, name, "firstName", "lastName", username, bio,
|
|
717
|
+
social_twitter, role, "emailVerified", language, country, timezone, "createdAt", "updatedAt"
|
|
718
|
+
) VALUES
|
|
719
|
+
-- 1. Diana Design - Pro Monthly Active
|
|
720
|
+
('usr-blog-diana', 'blog_author_diana@nextspark.dev', 'Diana Design', 'Diana', 'Design',
|
|
721
|
+
'diana_design', 'UX/UI designer creating beautiful digital experiences.',
|
|
722
|
+
'https://twitter.com/dianadesign', 'member', true, 'en', 'US', 'America/New_York',
|
|
723
|
+
NOW() - INTERVAL '8 months', NOW()),
|
|
724
|
+
-- 2. Elena Eco - Pro Monthly Active
|
|
725
|
+
('usr-blog-elena', 'blog_author_elena@nextspark.dev', 'Elena Eco', 'Elena', 'Eco',
|
|
726
|
+
'elena_eco', 'Sustainable living advocate. Small changes, big impact.',
|
|
727
|
+
'https://twitter.com/elenaeco', 'member', true, 'en', 'DE', 'Europe/Berlin',
|
|
728
|
+
NOW() - INTERVAL '7 months', NOW()),
|
|
729
|
+
-- 3. Felix Fitness - Pro Yearly Active
|
|
730
|
+
('usr-blog-felix', 'blog_author_felix@nextspark.dev', 'Felix Fitness', 'Felix', 'Fitness',
|
|
731
|
+
'felix_fitness', 'Personal trainer helping you achieve your fitness goals.',
|
|
732
|
+
'https://twitter.com/felixfitness', 'member', true, 'en', 'AU', 'Australia/Sydney',
|
|
733
|
+
NOW() - INTERVAL '14 months', NOW()),
|
|
734
|
+
-- 4. Gloria Gourmet - Pro Yearly Active
|
|
735
|
+
('usr-blog-gloria', 'blog_author_gloria@nextspark.dev', 'Gloria Gourmet', 'Gloria', 'Gourmet',
|
|
736
|
+
'gloria_gourmet', 'Food blogger exploring cuisines from around the world.',
|
|
737
|
+
'https://twitter.com/gloriagourmet', 'member', true, 'es', 'MX', 'America/Mexico_City',
|
|
738
|
+
NOW() - INTERVAL '12 months', NOW()),
|
|
739
|
+
-- 5. Hugo Health - Pro Monthly Active
|
|
740
|
+
('usr-blog-hugo', 'blog_author_hugo@nextspark.dev', 'Hugo Health', 'Hugo', 'Health',
|
|
741
|
+
'hugo_health', 'Medical doctor sharing health tips for everyday wellness.',
|
|
742
|
+
'https://twitter.com/hugohealth', 'member', true, 'en', 'UK', 'Europe/London',
|
|
743
|
+
NOW() - INTERVAL '6 months', NOW()),
|
|
744
|
+
-- 6. Iris Inspire - Pro Monthly Past Due
|
|
745
|
+
('usr-blog-iris', 'blog_author_iris@nextspark.dev', 'Iris Inspire', 'Iris', 'Inspire',
|
|
746
|
+
'iris_inspire', 'Motivation coach helping you unlock your potential.',
|
|
747
|
+
'https://twitter.com/irisinspire', 'member', true, 'en', 'CA', 'America/Toronto',
|
|
748
|
+
NOW() - INTERVAL '5 months', NOW()),
|
|
749
|
+
-- 7. Jorge Journey - Pro Monthly Canceled (voluntary)
|
|
750
|
+
('usr-blog-jorge', 'blog_author_jorge@nextspark.dev', 'Jorge Journey', 'Jorge', 'Journey',
|
|
751
|
+
'jorge_journey', 'Adventure seeker documenting epic journeys.',
|
|
752
|
+
'https://twitter.com/jorgejourney', 'member', true, 'es', 'AR', 'America/Argentina/Buenos_Aires',
|
|
753
|
+
NOW() - INTERVAL '9 months', NOW()),
|
|
754
|
+
-- 8. Karen Kitchen - Pro Yearly Canceled (payment failed)
|
|
755
|
+
('usr-blog-karen', 'blog_author_karen@nextspark.dev', 'Karen Kitchen', 'Karen', 'Kitchen',
|
|
756
|
+
'karen_kitchen', 'Home cook sharing family recipes and cooking tips.',
|
|
757
|
+
'https://twitter.com/karenkitchen', 'member', true, 'en', 'US', 'America/Chicago',
|
|
758
|
+
NOW() - INTERVAL '15 months', NOW()),
|
|
759
|
+
-- 9. Leo Learn - Free Plan Active
|
|
760
|
+
('usr-blog-leo', 'blog_author_leo@nextspark.dev', 'Leo Learn', 'Leo', 'Learn',
|
|
761
|
+
'leo_learn', 'Educator making learning fun and accessible.',
|
|
762
|
+
'https://twitter.com/leolearn', 'member', true, 'en', 'IN', 'Asia/Kolkata',
|
|
763
|
+
NOW() - INTERVAL '2 months', NOW()),
|
|
764
|
+
-- 10. Maria Music - Pro Monthly Trialing
|
|
765
|
+
('usr-blog-maria', 'blog_author_maria@nextspark.dev', 'Maria Music', 'Maria', 'Music',
|
|
766
|
+
'maria_music', 'Musician and producer exploring sounds and stories.',
|
|
767
|
+
'https://twitter.com/mariamusic', 'member', true, 'es', 'ES', 'Europe/Madrid',
|
|
768
|
+
NOW() - INTERVAL '5 days', NOW())
|
|
769
|
+
ON CONFLICT (email) DO NOTHING;
|
|
770
|
+
|
|
771
|
+
-- Teams for 10 new bloggers
|
|
772
|
+
INSERT INTO "teams" (id, name, slug, description, "ownerId", "createdAt", "updatedAt") VALUES
|
|
773
|
+
('team-blog-diana', 'Diana Design Blog', 'diana-design', 'UX/UI design insights', 'usr-blog-diana', NOW() - INTERVAL '8 months', NOW()),
|
|
774
|
+
('team-blog-elena', 'Elena Eco Blog', 'elena-eco', 'Sustainable living tips', 'usr-blog-elena', NOW() - INTERVAL '7 months', NOW()),
|
|
775
|
+
('team-blog-felix', 'Felix Fitness Blog', 'felix-fitness', 'Fitness and health content', 'usr-blog-felix', NOW() - INTERVAL '14 months', NOW()),
|
|
776
|
+
('team-blog-gloria', 'Gloria Gourmet Blog', 'gloria-gourmet', 'Food and recipes', 'usr-blog-gloria', NOW() - INTERVAL '12 months', NOW()),
|
|
777
|
+
('team-blog-hugo', 'Hugo Health Blog', 'hugo-health', 'Health and wellness', 'usr-blog-hugo', NOW() - INTERVAL '6 months', NOW()),
|
|
778
|
+
('team-blog-iris', 'Iris Inspire Blog', 'iris-inspire', 'Motivation and self-improvement', 'usr-blog-iris', NOW() - INTERVAL '5 months', NOW()),
|
|
779
|
+
('team-blog-jorge', 'Jorge Journey Blog', 'jorge-journey', 'Adventure travel stories', 'usr-blog-jorge', NOW() - INTERVAL '9 months', NOW()),
|
|
780
|
+
('team-blog-karen', 'Karen Kitchen Blog', 'karen-kitchen', 'Home cooking recipes', 'usr-blog-karen', NOW() - INTERVAL '15 months', NOW()),
|
|
781
|
+
('team-blog-leo', 'Leo Learn Blog', 'leo-learn', 'Educational content', 'usr-blog-leo', NOW() - INTERVAL '2 months', NOW()),
|
|
782
|
+
('team-blog-maria', 'Maria Music Blog', 'maria-music', 'Music and production', 'usr-blog-maria', NOW() - INTERVAL '5 days', NOW())
|
|
783
|
+
ON CONFLICT (id) DO NOTHING;
|
|
784
|
+
|
|
785
|
+
-- Team memberships
|
|
786
|
+
INSERT INTO "team_members" (id, "teamId", "userId", role, "joinedAt") VALUES
|
|
787
|
+
('tm-blog-diana', 'team-blog-diana', 'usr-blog-diana', 'owner', NOW() - INTERVAL '8 months'),
|
|
788
|
+
('tm-blog-elena', 'team-blog-elena', 'usr-blog-elena', 'owner', NOW() - INTERVAL '7 months'),
|
|
789
|
+
('tm-blog-felix', 'team-blog-felix', 'usr-blog-felix', 'owner', NOW() - INTERVAL '14 months'),
|
|
790
|
+
('tm-blog-gloria', 'team-blog-gloria', 'usr-blog-gloria', 'owner', NOW() - INTERVAL '12 months'),
|
|
791
|
+
('tm-blog-hugo', 'team-blog-hugo', 'usr-blog-hugo', 'owner', NOW() - INTERVAL '6 months'),
|
|
792
|
+
('tm-blog-iris', 'team-blog-iris', 'usr-blog-iris', 'owner', NOW() - INTERVAL '5 months'),
|
|
793
|
+
('tm-blog-jorge', 'team-blog-jorge', 'usr-blog-jorge', 'owner', NOW() - INTERVAL '9 months'),
|
|
794
|
+
('tm-blog-karen', 'team-blog-karen', 'usr-blog-karen', 'owner', NOW() - INTERVAL '15 months'),
|
|
795
|
+
('tm-blog-leo', 'team-blog-leo', 'usr-blog-leo', 'owner', NOW() - INTERVAL '2 months'),
|
|
796
|
+
('tm-blog-maria', 'team-blog-maria', 'usr-blog-maria', 'owner', NOW() - INTERVAL '5 days')
|
|
797
|
+
ON CONFLICT (id) DO NOTHING;
|
|
798
|
+
|
|
799
|
+
-- Accounts (Password: Test1234)
|
|
800
|
+
INSERT INTO "account" (id, "userId", "accountId", "providerId", "password", "createdAt", "updatedAt") VALUES
|
|
801
|
+
('acc-blog-diana', 'usr-blog-diana', 'blog_author_diana@nextspark.dev', 'credential', '3db9e98e2b4d3caca97fdf2783791cbc:34b293de615caf277a237773208858e960ea8aa10f1f5c5c309b632f192cac34d52ceafbd338385616f4929e4b1b6c055b67429c6722ffdb80b01d9bf4764866', NOW() - INTERVAL '8 months', NOW()),
|
|
802
|
+
('acc-blog-elena', 'usr-blog-elena', 'blog_author_elena@nextspark.dev', 'credential', '3db9e98e2b4d3caca97fdf2783791cbc:34b293de615caf277a237773208858e960ea8aa10f1f5c5c309b632f192cac34d52ceafbd338385616f4929e4b1b6c055b67429c6722ffdb80b01d9bf4764866', NOW() - INTERVAL '7 months', NOW()),
|
|
803
|
+
('acc-blog-felix', 'usr-blog-felix', 'blog_author_felix@nextspark.dev', 'credential', '3db9e98e2b4d3caca97fdf2783791cbc:34b293de615caf277a237773208858e960ea8aa10f1f5c5c309b632f192cac34d52ceafbd338385616f4929e4b1b6c055b67429c6722ffdb80b01d9bf4764866', NOW() - INTERVAL '14 months', NOW()),
|
|
804
|
+
('acc-blog-gloria', 'usr-blog-gloria', 'blog_author_gloria@nextspark.dev', 'credential', '3db9e98e2b4d3caca97fdf2783791cbc:34b293de615caf277a237773208858e960ea8aa10f1f5c5c309b632f192cac34d52ceafbd338385616f4929e4b1b6c055b67429c6722ffdb80b01d9bf4764866', NOW() - INTERVAL '12 months', NOW()),
|
|
805
|
+
('acc-blog-hugo', 'usr-blog-hugo', 'blog_author_hugo@nextspark.dev', 'credential', '3db9e98e2b4d3caca97fdf2783791cbc:34b293de615caf277a237773208858e960ea8aa10f1f5c5c309b632f192cac34d52ceafbd338385616f4929e4b1b6c055b67429c6722ffdb80b01d9bf4764866', NOW() - INTERVAL '6 months', NOW()),
|
|
806
|
+
('acc-blog-iris', 'usr-blog-iris', 'blog_author_iris@nextspark.dev', 'credential', '3db9e98e2b4d3caca97fdf2783791cbc:34b293de615caf277a237773208858e960ea8aa10f1f5c5c309b632f192cac34d52ceafbd338385616f4929e4b1b6c055b67429c6722ffdb80b01d9bf4764866', NOW() - INTERVAL '5 months', NOW()),
|
|
807
|
+
('acc-blog-jorge', 'usr-blog-jorge', 'blog_author_jorge@nextspark.dev', 'credential', '3db9e98e2b4d3caca97fdf2783791cbc:34b293de615caf277a237773208858e960ea8aa10f1f5c5c309b632f192cac34d52ceafbd338385616f4929e4b1b6c055b67429c6722ffdb80b01d9bf4764866', NOW() - INTERVAL '9 months', NOW()),
|
|
808
|
+
('acc-blog-karen', 'usr-blog-karen', 'blog_author_karen@nextspark.dev', 'credential', '3db9e98e2b4d3caca97fdf2783791cbc:34b293de615caf277a237773208858e960ea8aa10f1f5c5c309b632f192cac34d52ceafbd338385616f4929e4b1b6c055b67429c6722ffdb80b01d9bf4764866', NOW() - INTERVAL '15 months', NOW()),
|
|
809
|
+
('acc-blog-leo', 'usr-blog-leo', 'blog_author_leo@nextspark.dev', 'credential', '3db9e98e2b4d3caca97fdf2783791cbc:34b293de615caf277a237773208858e960ea8aa10f1f5c5c309b632f192cac34d52ceafbd338385616f4929e4b1b6c055b67429c6722ffdb80b01d9bf4764866', NOW() - INTERVAL '2 months', NOW()),
|
|
810
|
+
('acc-blog-maria', 'usr-blog-maria', 'blog_author_maria@nextspark.dev', 'credential', '3db9e98e2b4d3caca97fdf2783791cbc:34b293de615caf277a237773208858e960ea8aa10f1f5c5c309b632f192cac34d52ceafbd338385616f4929e4b1b6c055b67429c6722ffdb80b01d9bf4764866', NOW() - INTERVAL '5 days', NOW())
|
|
811
|
+
ON CONFLICT ("providerId", "accountId") DO NOTHING;
|
|
812
|
+
|
|
813
|
+
-- Users meta
|
|
814
|
+
INSERT INTO "users_metas" ("userId", "metaKey", "metaValue", "dataType", "isPublic", "isSearchable", "createdAt", "updatedAt") VALUES
|
|
815
|
+
('usr-blog-diana', 'activeTeamId', '"team-blog-diana"', 'json', false, false, NOW(), NOW()),
|
|
816
|
+
('usr-blog-elena', 'activeTeamId', '"team-blog-elena"', 'json', false, false, NOW(), NOW()),
|
|
817
|
+
('usr-blog-felix', 'activeTeamId', '"team-blog-felix"', 'json', false, false, NOW(), NOW()),
|
|
818
|
+
('usr-blog-gloria', 'activeTeamId', '"team-blog-gloria"', 'json', false, false, NOW(), NOW()),
|
|
819
|
+
('usr-blog-hugo', 'activeTeamId', '"team-blog-hugo"', 'json', false, false, NOW(), NOW()),
|
|
820
|
+
('usr-blog-iris', 'activeTeamId', '"team-blog-iris"', 'json', false, false, NOW(), NOW()),
|
|
821
|
+
('usr-blog-jorge', 'activeTeamId', '"team-blog-jorge"', 'json', false, false, NOW(), NOW()),
|
|
822
|
+
('usr-blog-karen', 'activeTeamId', '"team-blog-karen"', 'json', false, false, NOW(), NOW()),
|
|
823
|
+
('usr-blog-leo', 'activeTeamId', '"team-blog-leo"', 'json', false, false, NOW(), NOW()),
|
|
824
|
+
('usr-blog-maria', 'activeTeamId', '"team-blog-maria"', 'json', false, false, NOW(), NOW())
|
|
825
|
+
ON CONFLICT ("userId", "metaKey") DO NOTHING;
|
|
826
|
+
|
|
827
|
+
-- ============================================
|
|
828
|
+
-- STEP 15: SUBSCRIPTIONS FOR 10 NEW BLOGGERS
|
|
829
|
+
-- ============================================
|
|
830
|
+
-- Diverse scenarios: active/canceled/past_due, monthly/yearly
|
|
831
|
+
|
|
832
|
+
-- Delete auto-created free subscriptions from the trigger
|
|
833
|
+
DELETE FROM public."subscriptions" WHERE "teamId" IN (
|
|
834
|
+
'team-blog-diana', 'team-blog-elena', 'team-blog-felix', 'team-blog-gloria',
|
|
835
|
+
'team-blog-hugo', 'team-blog-iris', 'team-blog-jorge', 'team-blog-karen',
|
|
836
|
+
'team-blog-leo', 'team-blog-maria'
|
|
837
|
+
);
|
|
838
|
+
|
|
839
|
+
INSERT INTO public."subscriptions" (
|
|
840
|
+
id, "teamId", "userId", "planId", status,
|
|
841
|
+
"currentPeriodStart", "currentPeriodEnd", "billingInterval",
|
|
842
|
+
"paymentProvider", "externalSubscriptionId", "externalCustomerId",
|
|
843
|
+
"createdAt", "canceledAt", "cancelAtPeriodEnd", metadata
|
|
844
|
+
) VALUES
|
|
845
|
+
-- 1. Diana Design - Pro Monthly ACTIVE (8 months customer)
|
|
846
|
+
('sub-blog-diana', 'team-blog-diana', 'usr-blog-diana', (SELECT id FROM public."plans" WHERE slug = 'pro'), 'active',
|
|
847
|
+
NOW() - INTERVAL '25 days', NOW() + INTERVAL '5 days', 'monthly',
|
|
848
|
+
'stripe', 'sub_stripe_diana', 'cus_diana',
|
|
849
|
+
NOW() - INTERVAL '8 months', NULL, false, '{}'::jsonb),
|
|
850
|
+
|
|
851
|
+
-- 2. Elena Eco - Pro Monthly ACTIVE (7 months customer)
|
|
852
|
+
('sub-blog-elena', 'team-blog-elena', 'usr-blog-elena', (SELECT id FROM public."plans" WHERE slug = 'pro'), 'active',
|
|
853
|
+
NOW() - INTERVAL '20 days', NOW() + INTERVAL '10 days', 'monthly',
|
|
854
|
+
'stripe', 'sub_stripe_elena', 'cus_elena',
|
|
855
|
+
NOW() - INTERVAL '7 months', NULL, false, '{}'::jsonb),
|
|
856
|
+
|
|
857
|
+
-- 3. Felix Fitness - Pro Yearly ACTIVE (14 months = 2nd year)
|
|
858
|
+
('sub-blog-felix', 'team-blog-felix', 'usr-blog-felix', (SELECT id FROM public."plans" WHERE slug = 'pro'), 'active',
|
|
859
|
+
NOW() - INTERVAL '60 days', NOW() + INTERVAL '305 days', 'yearly',
|
|
860
|
+
'stripe', 'sub_stripe_felix', 'cus_felix',
|
|
861
|
+
NOW() - INTERVAL '14 months', NULL, false, '{}'::jsonb),
|
|
862
|
+
|
|
863
|
+
-- 4. Gloria Gourmet - Pro Yearly ACTIVE (12 months)
|
|
864
|
+
('sub-blog-gloria', 'team-blog-gloria', 'usr-blog-gloria', (SELECT id FROM public."plans" WHERE slug = 'pro'), 'active',
|
|
865
|
+
NOW() - INTERVAL '30 days', NOW() + INTERVAL '335 days', 'yearly',
|
|
866
|
+
'stripe', 'sub_stripe_gloria', 'cus_gloria',
|
|
867
|
+
NOW() - INTERVAL '12 months', NULL, false, '{}'::jsonb),
|
|
868
|
+
|
|
869
|
+
-- 5. Hugo Health - Pro Monthly ACTIVE (6 months customer)
|
|
870
|
+
('sub-blog-hugo', 'team-blog-hugo', 'usr-blog-hugo', (SELECT id FROM public."plans" WHERE slug = 'pro'), 'active',
|
|
871
|
+
NOW() - INTERVAL '18 days', NOW() + INTERVAL '12 days', 'monthly',
|
|
872
|
+
'stripe', 'sub_stripe_hugo', 'cus_hugo',
|
|
873
|
+
NOW() - INTERVAL '6 months', NULL, false, '{}'::jsonb),
|
|
874
|
+
|
|
875
|
+
-- 6. Iris Inspire - Pro Monthly PAST_DUE (failed payment)
|
|
876
|
+
('sub-blog-iris', 'team-blog-iris', 'usr-blog-iris', (SELECT id FROM public."plans" WHERE slug = 'pro'), 'past_due',
|
|
877
|
+
NOW() - INTERVAL '35 days', NOW() - INTERVAL '5 days', 'monthly',
|
|
878
|
+
'stripe', 'sub_stripe_iris', 'cus_iris',
|
|
879
|
+
NOW() - INTERVAL '5 months', NULL, false,
|
|
880
|
+
'{"lastPaymentAttempt": "failed", "retryCount": 2}'::jsonb),
|
|
881
|
+
|
|
882
|
+
-- 7. Jorge Journey - Pro Monthly CANCELED (voluntary - user decided to cancel)
|
|
883
|
+
('sub-blog-jorge', 'team-blog-jorge', 'usr-blog-jorge', (SELECT id FROM public."plans" WHERE slug = 'pro'), 'canceled',
|
|
884
|
+
NOW() - INTERVAL '45 days', NOW() - INTERVAL '15 days', 'monthly',
|
|
885
|
+
'stripe', 'sub_stripe_jorge', 'cus_jorge',
|
|
886
|
+
NOW() - INTERVAL '9 months', NOW() - INTERVAL '15 days', false,
|
|
887
|
+
'{"cancelReason": "voluntary", "canceledBy": "user", "feedback": "taking a break"}'::jsonb),
|
|
888
|
+
|
|
889
|
+
-- 8. Karen Kitchen - Pro Yearly CANCELED (payment failed 4 times)
|
|
890
|
+
('sub-blog-karen', 'team-blog-karen', 'usr-blog-karen', (SELECT id FROM public."plans" WHERE slug = 'pro'), 'canceled',
|
|
891
|
+
NOW() - INTERVAL '400 days', NOW() - INTERVAL '35 days', 'yearly',
|
|
892
|
+
'stripe', 'sub_stripe_karen', 'cus_karen',
|
|
893
|
+
NOW() - INTERVAL '15 months', NOW() - INTERVAL '35 days', false,
|
|
894
|
+
'{"cancelReason": "payment_failed", "failedAttempts": 4, "lastCardEnding": "4242"}'::jsonb),
|
|
895
|
+
|
|
896
|
+
-- 9. Leo Learn - Free Plan ACTIVE (no billing)
|
|
897
|
+
('sub-blog-leo', 'team-blog-leo', 'usr-blog-leo', (SELECT id FROM public."plans" WHERE slug = 'free'), 'active',
|
|
898
|
+
NOW() - INTERVAL '2 months', NOW() + INTERVAL '100 years', 'monthly',
|
|
899
|
+
NULL, NULL, NULL,
|
|
900
|
+
NOW() - INTERVAL '2 months', NULL, false, '{}'::jsonb),
|
|
901
|
+
|
|
902
|
+
-- 10. Maria Music - Pro Monthly TRIALING (5 days in)
|
|
903
|
+
('sub-blog-maria', 'team-blog-maria', 'usr-blog-maria', (SELECT id FROM public."plans" WHERE slug = 'pro'), 'trialing',
|
|
904
|
+
NOW() - INTERVAL '5 days', NOW() + INTERVAL '25 days', 'monthly',
|
|
905
|
+
NULL, NULL, NULL,
|
|
906
|
+
NOW() - INTERVAL '5 days', NULL, false, '{}'::jsonb)
|
|
907
|
+
ON CONFLICT (id) DO NOTHING;
|
|
908
|
+
|
|
909
|
+
-- Set trial end date for Maria
|
|
910
|
+
UPDATE public."subscriptions" SET "trialEndsAt" = NOW() + INTERVAL '9 days'
|
|
911
|
+
WHERE id = 'sub-blog-maria';
|
|
912
|
+
|
|
913
|
+
-- ============================================
|
|
914
|
+
-- STEP 16: BILLING EVENTS FOR 10 NEW BLOGGERS
|
|
915
|
+
-- ============================================
|
|
916
|
+
-- Coherent payment history matching subscription scenarios
|
|
917
|
+
|
|
918
|
+
INSERT INTO public."billing_events" (
|
|
919
|
+
id, "subscriptionId", type, status, amount, currency, "externalPaymentId", "createdAt"
|
|
920
|
+
) VALUES
|
|
921
|
+
-- ========================================
|
|
922
|
+
-- DIANA DESIGN - 8 months @ $29/mo = 8 payments
|
|
923
|
+
-- ========================================
|
|
924
|
+
('be-diana-m1', 'sub-blog-diana', 'payment', 'succeeded', 2900, 'usd', 'pi_diana_m1', NOW() - INTERVAL '8 months'),
|
|
925
|
+
('be-diana-m2', 'sub-blog-diana', 'payment', 'succeeded', 2900, 'usd', 'pi_diana_m2', NOW() - INTERVAL '7 months'),
|
|
926
|
+
('be-diana-m3', 'sub-blog-diana', 'payment', 'succeeded', 2900, 'usd', 'pi_diana_m3', NOW() - INTERVAL '6 months'),
|
|
927
|
+
('be-diana-m4', 'sub-blog-diana', 'payment', 'succeeded', 2900, 'usd', 'pi_diana_m4', NOW() - INTERVAL '5 months'),
|
|
928
|
+
('be-diana-m5', 'sub-blog-diana', 'payment', 'succeeded', 2900, 'usd', 'pi_diana_m5', NOW() - INTERVAL '4 months'),
|
|
929
|
+
('be-diana-m6', 'sub-blog-diana', 'payment', 'succeeded', 2900, 'usd', 'pi_diana_m6', NOW() - INTERVAL '3 months'),
|
|
930
|
+
('be-diana-m7', 'sub-blog-diana', 'payment', 'succeeded', 2900, 'usd', 'pi_diana_m7', NOW() - INTERVAL '2 months'),
|
|
931
|
+
('be-diana-m8', 'sub-blog-diana', 'payment', 'succeeded', 2900, 'usd', 'pi_diana_m8', NOW() - INTERVAL '1 month'),
|
|
932
|
+
|
|
933
|
+
-- ========================================
|
|
934
|
+
-- ELENA ECO - 7 months @ $29/mo = 7 payments
|
|
935
|
+
-- ========================================
|
|
936
|
+
('be-elena-m1', 'sub-blog-elena', 'payment', 'succeeded', 2900, 'usd', 'pi_elena_m1', NOW() - INTERVAL '7 months'),
|
|
937
|
+
('be-elena-m2', 'sub-blog-elena', 'payment', 'succeeded', 2900, 'usd', 'pi_elena_m2', NOW() - INTERVAL '6 months'),
|
|
938
|
+
('be-elena-m3', 'sub-blog-elena', 'payment', 'succeeded', 2900, 'usd', 'pi_elena_m3', NOW() - INTERVAL '5 months'),
|
|
939
|
+
('be-elena-m4', 'sub-blog-elena', 'payment', 'succeeded', 2900, 'usd', 'pi_elena_m4', NOW() - INTERVAL '4 months'),
|
|
940
|
+
('be-elena-m5', 'sub-blog-elena', 'payment', 'succeeded', 2900, 'usd', 'pi_elena_m5', NOW() - INTERVAL '3 months'),
|
|
941
|
+
('be-elena-m6', 'sub-blog-elena', 'payment', 'succeeded', 2900, 'usd', 'pi_elena_m6', NOW() - INTERVAL '2 months'),
|
|
942
|
+
('be-elena-m7', 'sub-blog-elena', 'payment', 'succeeded', 2900, 'usd', 'pi_elena_m7', NOW() - INTERVAL '1 month'),
|
|
943
|
+
|
|
944
|
+
-- ========================================
|
|
945
|
+
-- FELIX FITNESS - 2 yearly payments @ $290/yr
|
|
946
|
+
-- ========================================
|
|
947
|
+
('be-felix-y1', 'sub-blog-felix', 'payment', 'succeeded', 29000, 'usd', 'pi_felix_y1', NOW() - INTERVAL '14 months'),
|
|
948
|
+
('be-felix-y2', 'sub-blog-felix', 'payment', 'succeeded', 29000, 'usd', 'pi_felix_y2', NOW() - INTERVAL '2 months'),
|
|
949
|
+
|
|
950
|
+
-- ========================================
|
|
951
|
+
-- GLORIA GOURMET - 1 yearly payment @ $290/yr
|
|
952
|
+
-- ========================================
|
|
953
|
+
('be-gloria-y1', 'sub-blog-gloria', 'payment', 'succeeded', 29000, 'usd', 'pi_gloria_y1', NOW() - INTERVAL '1 month'),
|
|
954
|
+
|
|
955
|
+
-- ========================================
|
|
956
|
+
-- HUGO HEALTH - 6 months @ $29/mo = 6 payments
|
|
957
|
+
-- ========================================
|
|
958
|
+
('be-hugo-m1', 'sub-blog-hugo', 'payment', 'succeeded', 2900, 'usd', 'pi_hugo_m1', NOW() - INTERVAL '6 months'),
|
|
959
|
+
('be-hugo-m2', 'sub-blog-hugo', 'payment', 'succeeded', 2900, 'usd', 'pi_hugo_m2', NOW() - INTERVAL '5 months'),
|
|
960
|
+
('be-hugo-m3', 'sub-blog-hugo', 'payment', 'succeeded', 2900, 'usd', 'pi_hugo_m3', NOW() - INTERVAL '4 months'),
|
|
961
|
+
('be-hugo-m4', 'sub-blog-hugo', 'payment', 'succeeded', 2900, 'usd', 'pi_hugo_m4', NOW() - INTERVAL '3 months'),
|
|
962
|
+
('be-hugo-m5', 'sub-blog-hugo', 'payment', 'succeeded', 2900, 'usd', 'pi_hugo_m5', NOW() - INTERVAL '2 months'),
|
|
963
|
+
('be-hugo-m6', 'sub-blog-hugo', 'payment', 'succeeded', 2900, 'usd', 'pi_hugo_m6', NOW() - INTERVAL '1 month'),
|
|
964
|
+
|
|
965
|
+
-- ========================================
|
|
966
|
+
-- IRIS INSPIRE - 4 successful + 2 failed (PAST_DUE scenario)
|
|
967
|
+
-- ========================================
|
|
968
|
+
('be-iris-m1', 'sub-blog-iris', 'payment', 'succeeded', 2900, 'usd', 'pi_iris_m1', NOW() - INTERVAL '5 months'),
|
|
969
|
+
('be-iris-m2', 'sub-blog-iris', 'payment', 'succeeded', 2900, 'usd', 'pi_iris_m2', NOW() - INTERVAL '4 months'),
|
|
970
|
+
('be-iris-m3', 'sub-blog-iris', 'payment', 'succeeded', 2900, 'usd', 'pi_iris_m3', NOW() - INTERVAL '3 months'),
|
|
971
|
+
('be-iris-m4', 'sub-blog-iris', 'payment', 'succeeded', 2900, 'usd', 'pi_iris_m4', NOW() - INTERVAL '2 months'),
|
|
972
|
+
-- Failed payment - 1st attempt
|
|
973
|
+
('be-iris-fail1', 'sub-blog-iris', 'payment', 'failed', 2900, 'usd', 'pi_iris_fail1', NOW() - INTERVAL '32 days'),
|
|
974
|
+
-- Failed payment - 2nd attempt (retry)
|
|
975
|
+
('be-iris-fail2', 'sub-blog-iris', 'payment', 'failed', 2900, 'usd', 'pi_iris_fail2', NOW() - INTERVAL '25 days'),
|
|
976
|
+
|
|
977
|
+
-- ========================================
|
|
978
|
+
-- JORGE JOURNEY - 8 successful then VOLUNTARY CANCEL
|
|
979
|
+
-- ========================================
|
|
980
|
+
('be-jorge-m1', 'sub-blog-jorge', 'payment', 'succeeded', 2900, 'usd', 'pi_jorge_m1', NOW() - INTERVAL '9 months'),
|
|
981
|
+
('be-jorge-m2', 'sub-blog-jorge', 'payment', 'succeeded', 2900, 'usd', 'pi_jorge_m2', NOW() - INTERVAL '8 months'),
|
|
982
|
+
('be-jorge-m3', 'sub-blog-jorge', 'payment', 'succeeded', 2900, 'usd', 'pi_jorge_m3', NOW() - INTERVAL '7 months'),
|
|
983
|
+
('be-jorge-m4', 'sub-blog-jorge', 'payment', 'succeeded', 2900, 'usd', 'pi_jorge_m4', NOW() - INTERVAL '6 months'),
|
|
984
|
+
('be-jorge-m5', 'sub-blog-jorge', 'payment', 'succeeded', 2900, 'usd', 'pi_jorge_m5', NOW() - INTERVAL '5 months'),
|
|
985
|
+
('be-jorge-m6', 'sub-blog-jorge', 'payment', 'succeeded', 2900, 'usd', 'pi_jorge_m6', NOW() - INTERVAL '4 months'),
|
|
986
|
+
('be-jorge-m7', 'sub-blog-jorge', 'payment', 'succeeded', 2900, 'usd', 'pi_jorge_m7', NOW() - INTERVAL '3 months'),
|
|
987
|
+
('be-jorge-m8', 'sub-blog-jorge', 'payment', 'succeeded', 2900, 'usd', 'pi_jorge_m8', NOW() - INTERVAL '2 months'),
|
|
988
|
+
-- Final invoice before cancellation
|
|
989
|
+
('be-jorge-last', 'sub-blog-jorge', 'invoice', 'succeeded', 2900, 'usd', 'in_jorge_last', NOW() - INTERVAL '45 days'),
|
|
990
|
+
|
|
991
|
+
-- ========================================
|
|
992
|
+
-- KAREN KITCHEN - 1 yearly success + 4 failed attempts = CANCELED
|
|
993
|
+
-- ========================================
|
|
994
|
+
('be-karen-y1', 'sub-blog-karen', 'payment', 'succeeded', 29000, 'usd', 'pi_karen_y1', NOW() - INTERVAL '15 months'),
|
|
995
|
+
-- Renewal failed - attempt 1
|
|
996
|
+
('be-karen-fail1', 'sub-blog-karen', 'payment', 'failed', 29000, 'usd', 'pi_karen_fail1', NOW() - INTERVAL '3 months'),
|
|
997
|
+
-- Renewal failed - attempt 2
|
|
998
|
+
('be-karen-fail2', 'sub-blog-karen', 'payment', 'failed', 29000, 'usd', 'pi_karen_fail2', NOW() - INTERVAL '75 days'),
|
|
999
|
+
-- Renewal failed - attempt 3
|
|
1000
|
+
('be-karen-fail3', 'sub-blog-karen', 'payment', 'failed', 29000, 'usd', 'pi_karen_fail3', NOW() - INTERVAL '55 days'),
|
|
1001
|
+
-- Renewal failed - attempt 4 (final, then canceled)
|
|
1002
|
+
('be-karen-fail4', 'sub-blog-karen', 'payment', 'failed', 29000, 'usd', 'pi_karen_fail4', NOW() - INTERVAL '40 days')
|
|
1003
|
+
|
|
1004
|
+
-- LEO LEARN: Free plan - no billing events
|
|
1005
|
+
-- MARIA MUSIC: Trialing - no billing events yet
|
|
1006
|
+
ON CONFLICT (id) DO NOTHING;
|
|
1007
|
+
|
|
1008
|
+
-- ============================================
|
|
1009
|
+
-- STEP 17: TEAM METADATA FOR NEW BLOGGERS
|
|
1010
|
+
-- ============================================
|
|
1011
|
+
|
|
1012
|
+
UPDATE public."teams" SET metadata = '{"authorNiche": "design", "segment": "creator"}'::jsonb WHERE id = 'team-blog-diana';
|
|
1013
|
+
UPDATE public."teams" SET metadata = '{"authorNiche": "sustainability", "segment": "creator"}'::jsonb WHERE id = 'team-blog-elena';
|
|
1014
|
+
UPDATE public."teams" SET metadata = '{"authorNiche": "fitness", "segment": "creator", "billingCycle": "annual"}'::jsonb WHERE id = 'team-blog-felix';
|
|
1015
|
+
UPDATE public."teams" SET metadata = '{"authorNiche": "food", "segment": "creator", "billingCycle": "annual"}'::jsonb WHERE id = 'team-blog-gloria';
|
|
1016
|
+
UPDATE public."teams" SET metadata = '{"authorNiche": "health", "segment": "creator"}'::jsonb WHERE id = 'team-blog-hugo';
|
|
1017
|
+
UPDATE public."teams" SET metadata = '{"authorNiche": "motivation", "segment": "creator", "atRisk": true}'::jsonb WHERE id = 'team-blog-iris';
|
|
1018
|
+
UPDATE public."teams" SET metadata = '{"authorNiche": "adventure", "segment": "creator", "churned": true}'::jsonb WHERE id = 'team-blog-jorge';
|
|
1019
|
+
UPDATE public."teams" SET metadata = '{"authorNiche": "cooking", "segment": "creator", "churned": true}'::jsonb WHERE id = 'team-blog-karen';
|
|
1020
|
+
UPDATE public."teams" SET metadata = '{"authorNiche": "education", "segment": "free"}'::jsonb WHERE id = 'team-blog-leo';
|
|
1021
|
+
UPDATE public."teams" SET metadata = '{"authorNiche": "music", "segment": "trialing"}'::jsonb WHERE id = 'team-blog-maria';
|
|
1022
|
+
|
|
1023
|
+
-- ============================================
|
|
1024
|
+
-- SUCCESS SUMMARY
|
|
1025
|
+
-- ============================================
|
|
1026
|
+
|
|
1027
|
+
DO $$
|
|
1028
|
+
BEGIN
|
|
1029
|
+
RAISE NOTICE '';
|
|
1030
|
+
RAISE NOTICE '================================================================';
|
|
1031
|
+
RAISE NOTICE ' Blog Theme Sample Data - Multi-Author Platform (Medium-style)';
|
|
1032
|
+
RAISE NOTICE '================================================================';
|
|
1033
|
+
RAISE NOTICE '';
|
|
1034
|
+
RAISE NOTICE ' ORIGINAL AUTHORS (3):';
|
|
1035
|
+
RAISE NOTICE ' ------------------------------------------------------------';
|
|
1036
|
+
RAISE NOTICE ' 1. blog_author_marcos@nextspark.dev / Test1234 - Pro Monthly Active';
|
|
1037
|
+
RAISE NOTICE ' 2. blog_author_lucia@nextspark.dev / Test1234 - Pro Monthly Active';
|
|
1038
|
+
RAISE NOTICE ' 3. blog_author_carlos@nextspark.dev / Test1234 - Pro Monthly Trialing';
|
|
1039
|
+
RAISE NOTICE '';
|
|
1040
|
+
RAISE NOTICE ' NEW AUTHORS (10):';
|
|
1041
|
+
RAISE NOTICE ' ------------------------------------------------------------';
|
|
1042
|
+
RAISE NOTICE ' 4. blog_author_diana@nextspark.dev / Test1234 - Pro Monthly Active';
|
|
1043
|
+
RAISE NOTICE ' 5. blog_author_elena@nextspark.dev / Test1234 - Pro Monthly Active';
|
|
1044
|
+
RAISE NOTICE ' 6. blog_author_felix@nextspark.dev / Test1234 - Pro Yearly Active';
|
|
1045
|
+
RAISE NOTICE ' 7. blog_author_gloria@nextspark.dev / Test1234 - Pro Yearly Active';
|
|
1046
|
+
RAISE NOTICE ' 8. blog_author_hugo@nextspark.dev / Test1234 - Pro Monthly Active';
|
|
1047
|
+
RAISE NOTICE ' 9. blog_author_iris@nextspark.dev / Test1234 - Pro Monthly PAST_DUE';
|
|
1048
|
+
RAISE NOTICE ' 10. blog_author_jorge@nextspark.dev / Test1234 - Pro CANCELED (voluntary)';
|
|
1049
|
+
RAISE NOTICE ' 11. blog_author_karen@nextspark.dev / Test1234 - Pro CANCELED (payment failed)';
|
|
1050
|
+
RAISE NOTICE ' 12. blog_author_leo@nextspark.dev / Test1234 - Free Plan Active';
|
|
1051
|
+
RAISE NOTICE ' 13. blog_author_maria@nextspark.dev / Test1234 - Pro Monthly Trialing';
|
|
1052
|
+
RAISE NOTICE '';
|
|
1053
|
+
RAISE NOTICE ' SUBSCRIPTION SUMMARY:';
|
|
1054
|
+
RAISE NOTICE ' ------------------------------------------------------------';
|
|
1055
|
+
RAISE NOTICE ' - Monthly Active: 6 (Marcos, Lucia, Diana, Elena, Hugo)';
|
|
1056
|
+
RAISE NOTICE ' - Yearly Active: 2 (Felix, Gloria)';
|
|
1057
|
+
RAISE NOTICE ' - Trialing: 2 (Carlos, Maria)';
|
|
1058
|
+
RAISE NOTICE ' - Past Due: 1 (Iris)';
|
|
1059
|
+
RAISE NOTICE ' - Canceled Voluntary: 1 (Jorge)';
|
|
1060
|
+
RAISE NOTICE ' - Canceled Payment Failed: 1 (Karen)';
|
|
1061
|
+
RAISE NOTICE ' - Free Plan: 1 (Leo)';
|
|
1062
|
+
RAISE NOTICE '';
|
|
1063
|
+
RAISE NOTICE ' BILLING (Pro Plan = $29/mo, $290/yr):';
|
|
1064
|
+
RAISE NOTICE ' ------------------------------------------------------------';
|
|
1065
|
+
RAISE NOTICE ' - MRR (monthly active): ~$203 (7 x $29)';
|
|
1066
|
+
RAISE NOTICE ' - ARR (yearly active): $580 (2 x $290)';
|
|
1067
|
+
RAISE NOTICE ' - At-risk revenue: $29 (Iris past_due)';
|
|
1068
|
+
RAISE NOTICE '';
|
|
1069
|
+
RAISE NOTICE '================================================================';
|
|
1070
|
+
END $$;
|