@sonicjs-cms/core 2.11.0 → 2.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{app-Ozl9agJG.d.cts → app-COElO4Rm.d.cts} +6 -1
- package/dist/{app-Ozl9agJG.d.ts → app-COElO4Rm.d.ts} +6 -1
- package/dist/{chunk-BUU2US2Z.js → chunk-6R6LAUR7.js} +3 -3
- package/dist/{chunk-BUU2US2Z.js.map → chunk-6R6LAUR7.js.map} +1 -1
- package/dist/{chunk-JJS7JZCH.js → chunk-76TX6XND.js} +4 -2
- package/dist/chunk-76TX6XND.js.map +1 -0
- package/dist/{chunk-DE5YTNCD.cjs → chunk-AG3SIPP7.cjs} +9 -2
- package/dist/chunk-AG3SIPP7.cjs.map +1 -0
- package/dist/{chunk-74XCYEI7.js → chunk-BWZBKLOC.js} +3 -3
- package/dist/{chunk-74XCYEI7.js.map → chunk-BWZBKLOC.js.map} +1 -1
- package/dist/{chunk-NMLFKXWW.js → chunk-H3XXBAMO.js} +15 -2
- package/dist/chunk-H3XXBAMO.js.map +1 -0
- package/dist/{chunk-LTKV7AE5.cjs → chunk-H4NHRZ6Y.cjs} +4 -2
- package/dist/chunk-H4NHRZ6Y.cjs.map +1 -0
- package/dist/{chunk-GKRGDJGG.js → chunk-HXIYYE57.js} +6 -6
- package/dist/{chunk-GKRGDJGG.js.map → chunk-HXIYYE57.js.map} +1 -1
- package/dist/{chunk-6BVLPACH.cjs → chunk-I6FFGQIT.cjs} +15 -2
- package/dist/chunk-I6FFGQIT.cjs.map +1 -0
- package/dist/{chunk-JTQBNSZX.js → chunk-NDFHQOPP.js} +4176 -3805
- package/dist/chunk-NDFHQOPP.js.map +1 -0
- package/dist/{chunk-LFAQUR7P.cjs → chunk-NZWFCUDA.cjs} +26 -2
- package/dist/chunk-NZWFCUDA.cjs.map +1 -0
- package/dist/{chunk-3G7XX4UI.cjs → chunk-RBXFXT7H.cjs} +9 -9
- package/dist/{chunk-3G7XX4UI.cjs.map → chunk-RBXFXT7H.cjs.map} +1 -1
- package/dist/{chunk-QLPFENZ2.cjs → chunk-RXNLGINR.cjs} +3 -3
- package/dist/{chunk-QLPFENZ2.cjs.map → chunk-RXNLGINR.cjs.map} +1 -1
- package/dist/{chunk-VJCLJH3X.js → chunk-TBJY2FF7.js} +26 -2
- package/dist/chunk-TBJY2FF7.js.map +1 -0
- package/dist/{chunk-H55AYIRI.js → chunk-U3ZMGBVC.js} +9 -2
- package/dist/chunk-U3ZMGBVC.js.map +1 -0
- package/dist/{chunk-B2ASV5RD.cjs → chunk-VHNTCB2X.cjs} +10 -10
- package/dist/{chunk-B2ASV5RD.cjs.map → chunk-VHNTCB2X.cjs.map} +1 -1
- package/dist/{chunk-ASAEJ4B7.cjs → chunk-ZV6ZCJ74.cjs} +4376 -4001
- package/dist/chunk-ZV6ZCJ74.cjs.map +1 -0
- package/dist/index.cjs +1828 -170
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +53 -5
- package/dist/index.d.ts +53 -5
- package/dist/index.js +1656 -13
- package/dist/index.js.map +1 -1
- package/dist/middleware.cjs +29 -29
- package/dist/middleware.d.cts +1 -1
- package/dist/middleware.d.ts +1 -1
- package/dist/middleware.js +3 -3
- package/dist/migrations-USSEHJC7.js +4 -0
- package/dist/{migrations-UFVJTPVT.js.map → migrations-USSEHJC7.js.map} +1 -1
- package/dist/migrations-ZE6IZNLB.cjs +13 -0
- package/dist/{migrations-VNYOSUNE.cjs.map → migrations-ZE6IZNLB.cjs.map} +1 -1
- package/dist/{plugin-bootstrap-DXBAYaqM.d.ts → plugin-bootstrap-CZ1GDum7.d.ts} +802 -1
- package/dist/{plugin-bootstrap-DCXpeQVb.d.cts → plugin-bootstrap-DVGLQrcO.d.cts} +802 -1
- package/dist/routes.cjs +30 -30
- package/dist/routes.d.cts +1 -1
- package/dist/routes.d.ts +1 -1
- package/dist/routes.js +7 -7
- package/dist/services.cjs +39 -39
- package/dist/services.d.cts +1 -1
- package/dist/services.d.ts +1 -1
- package/dist/services.js +3 -3
- package/dist/templates.cjs +19 -19
- package/dist/templates.js +2 -2
- package/dist/utils.cjs +11 -11
- package/dist/utils.js +1 -1
- package/migrations/034_security_audit_plugin.sql +27 -0
- package/package.json +1 -1
- package/dist/chunk-6BVLPACH.cjs.map +0 -1
- package/dist/chunk-ASAEJ4B7.cjs.map +0 -1
- package/dist/chunk-DE5YTNCD.cjs.map +0 -1
- package/dist/chunk-H55AYIRI.js.map +0 -1
- package/dist/chunk-JJS7JZCH.js.map +0 -1
- package/dist/chunk-JTQBNSZX.js.map +0 -1
- package/dist/chunk-LFAQUR7P.cjs.map +0 -1
- package/dist/chunk-LTKV7AE5.cjs.map +0 -1
- package/dist/chunk-NMLFKXWW.js.map +0 -1
- package/dist/chunk-VJCLJH3X.js.map +0 -1
- package/dist/migrations-UFVJTPVT.js +0 -4
- package/dist/migrations-VNYOSUNE.cjs +0 -13
package/dist/index.d.cts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
export { B as Bindings,
|
|
2
|
-
import { B as schema } from './plugin-bootstrap-
|
|
3
|
-
export { D as Collection, E as Content, C as CorePlugin, F as DbPlugin, G as DbPluginHook, L as LogCategory, H as LogConfig, a as LogEntry, b as LogFilter, c as LogLevel, d as Logger, I as Media, M as Migration, e as MigrationService, f as MigrationStatus, N as NewCollection, J as NewContent, K as NewLogConfig, O as NewMedia, Q as NewPlugin, R as NewPluginActivityLog, S as NewPluginAsset, T as NewPluginHook, U as NewPluginRoute, V as NewSystemLog, W as NewUser, X as NewWorkflowHistory, Y as PluginActivityLog, Z as PluginAsset, P as PluginBootstrapService, _ as PluginRoute, g as PluginServiceClass, $ as SystemLog, a0 as User, a1 as WorkflowHistory, a2 as apiTokens, h as backfillFormSubmissions, i as cleanupRemovedCollections, a3 as collections, a4 as content, a5 as contentVersions, j as createContentFromSubmission, k as deriveCollectionSchemaFromFormio, l as deriveSubmissionTitle, m as fullCollectionSync, n as getAvailableCollectionNames, o as getLogger, p as getManagedCollections, q as initLogger, a6 as insertCollectionSchema, a7 as insertContentSchema, a8 as insertLogConfigSchema, a9 as insertMediaSchema, aa as insertPluginActivityLogSchema, ab as insertPluginAssetSchema, ac as insertPluginHookSchema, ad as insertPluginRouteSchema, ae as insertPluginSchema, af as insertSystemLogSchema, ag as insertUserSchema, ah as insertWorkflowHistorySchema, r as isCollectionManaged, s as loadCollectionConfig, t as loadCollectionConfigs, ai as logConfig, u as mapFormStatusToContentStatus, aj as media, ak as pluginActivityLog, al as pluginAssets, am as pluginHooks, an as pluginRoutes, ao as plugins, v as registerCollections, ap as selectCollectionSchema, aq as selectContentSchema, ar as selectLogConfigSchema, as as selectMediaSchema, at as selectPluginActivityLogSchema, au as selectPluginAssetSchema, av as selectPluginHookSchema, aw as selectPluginRouteSchema, ax as selectPluginSchema, ay as selectSystemLogSchema, az as selectUserSchema, aA as selectWorkflowHistorySchema, w as syncAllFormCollections, x as syncCollection, y as syncCollections, z as syncFormCollection, aB as systemLogs, aC as users, A as validateCollectionConfig, aD as workflowHistory } from './plugin-bootstrap-
|
|
1
|
+
export { B as Bindings, a as SonicJSApp, S as SonicJSConfig, V as Variables, c as createSonicJSApp, s as setupCoreMiddleware, b as setupCoreRoutes } from './app-COElO4Rm.cjs';
|
|
2
|
+
import { B as schema } from './plugin-bootstrap-DVGLQrcO.cjs';
|
|
3
|
+
export { D as Collection, E as Content, C as CorePlugin, F as DbPlugin, G as DbPluginHook, L as LogCategory, H as LogConfig, a as LogEntry, b as LogFilter, c as LogLevel, d as Logger, I as Media, M as Migration, e as MigrationService, f as MigrationStatus, N as NewCollection, J as NewContent, K as NewLogConfig, O as NewMedia, Q as NewPlugin, R as NewPluginActivityLog, S as NewPluginAsset, T as NewPluginHook, U as NewPluginRoute, V as NewSystemLog, W as NewUser, X as NewWorkflowHistory, Y as PluginActivityLog, Z as PluginAsset, P as PluginBootstrapService, _ as PluginRoute, g as PluginServiceClass, $ as SystemLog, a0 as User, a1 as WorkflowHistory, a2 as apiTokens, h as backfillFormSubmissions, i as cleanupRemovedCollections, a3 as collections, a4 as content, a5 as contentVersions, j as createContentFromSubmission, k as deriveCollectionSchemaFromFormio, l as deriveSubmissionTitle, m as fullCollectionSync, n as getAvailableCollectionNames, o as getLogger, p as getManagedCollections, q as initLogger, a6 as insertCollectionSchema, a7 as insertContentSchema, a8 as insertLogConfigSchema, a9 as insertMediaSchema, aa as insertPluginActivityLogSchema, ab as insertPluginAssetSchema, ac as insertPluginHookSchema, ad as insertPluginRouteSchema, ae as insertPluginSchema, af as insertSystemLogSchema, ag as insertUserSchema, ah as insertWorkflowHistorySchema, r as isCollectionManaged, s as loadCollectionConfig, t as loadCollectionConfigs, ai as logConfig, u as mapFormStatusToContentStatus, aj as media, ak as pluginActivityLog, al as pluginAssets, am as pluginHooks, an as pluginRoutes, ao as plugins, v as registerCollections, ap as selectCollectionSchema, aq as selectContentSchema, ar as selectLogConfigSchema, as as selectMediaSchema, at as selectPluginActivityLogSchema, au as selectPluginAssetSchema, av as selectPluginHookSchema, aw as selectPluginRouteSchema, ax as selectPluginSchema, ay as selectSystemLogSchema, az as selectUserSchema, aA as selectWorkflowHistorySchema, w as syncAllFormCollections, x as syncCollection, y as syncCollections, z as syncFormCollection, aB as systemLogs, aC as users, A as validateCollectionConfig, aD as workflowHistory } from './plugin-bootstrap-DVGLQrcO.cjs';
|
|
4
4
|
export { AuthManager, Permission, PermissionManager, UserPermissions, bootstrapMiddleware, cacheHeaders, compressionMiddleware, detailedLoggingMiddleware, getActivePlugins, isPluginActive, logActivity, loggingMiddleware, optionalAuth, performanceLoggingMiddleware, requireActivePlugin, requireActivePlugins, requireAnyPermission, requireAuth, requirePermission, requireRole, securityHeaders, securityLoggingMiddleware } from './middleware.cjs';
|
|
5
5
|
export { H as HookSystemImpl, a as HookUtils, P as PluginManagerClass, b as PluginRegistryImpl, c as PluginValidatorClass, S as ScopedHookSystemClass } from './plugin-manager-BoM3Q7o7.cjs';
|
|
6
6
|
export { ROUTES_INFO, adminApiRoutes, adminCheckboxRoutes, adminCodeExamplesRoutes, adminCollectionsRoutes, adminContentRoutes, adminDashboardRoutes, adminDesignRoutes, adminLogsRoutes, adminMediaRoutes, adminPluginRoutes, adminSettingsRoutes, adminTestimonialsRoutes, adminUsersRoutes, apiContentCrudRoutes, apiMediaRoutes, apiRoutes, apiSystemRoutes, authRoutes } from './routes.cjs';
|
|
7
7
|
export { A as AlertData, C as ConfirmationDialogOptions, F as Filter, a as FilterBarData, b as FilterOption, c as FormData, d as FormField, P as PaginationData, T as TableColumn, e as TableData, g as getConfirmationDialogScript, r as renderAlert, f as renderConfirmationDialog, h as renderFilterBar, i as renderForm, j as renderFormField, k as renderPagination, l as renderTable } from './filter-bar.template-DlVYMk-T.cjs';
|
|
8
|
-
|
|
8
|
+
import { e as FieldType } from './collection-config-B4PG-AaF.cjs';
|
|
9
|
+
export { C as CollectionConfig, b as CollectionConfigModule, c as CollectionSchema, d as CollectionSyncResult, F as FieldConfig } from './collection-config-B4PG-AaF.cjs';
|
|
9
10
|
export { A as AuthService, C as ContentService, H as HOOKS, a as HookContext, b as HookHandler, c as HookName, d as HookSystem, M as MediaService, P as Plugin, f as PluginAdminPage, g as PluginBuilderOptions, h as PluginComponent, i as PluginConfig, j as PluginContext, k as PluginHook, l as PluginLogger, m as PluginManager, n as PluginMenuItem, o as PluginMiddleware, p as PluginModel, q as PluginRegistry, r as PluginRoutes, s as PluginService, t as PluginStatus, u as PluginValidationResult, v as PluginValidator, S as ScopedHookSystem } from './plugin-DDYetMF-.cjs';
|
|
10
11
|
export { P as PluginManifest } from './plugin-manifest-Dpy8wxIB.cjs';
|
|
11
12
|
export { F as FilterCondition, a as FilterGroup, b as FilterOperator, Q as QueryFilter, c as QueryFilterBuilder, d as QueryResult, S as SONICJS_VERSION, T as TemplateRenderer, e as buildQuery, f as escapeHtml, g as getCoreVersion, m as metricsTracker, r as renderTemplate, s as sanitizeInput, h as sanitizeObject, t as templateRenderer } from './version-ChpccWQ1.cjs';
|
|
@@ -636,6 +637,53 @@ declare class OAuthService {
|
|
|
636
637
|
generateState(): string;
|
|
637
638
|
}
|
|
638
639
|
|
|
640
|
+
/**
|
|
641
|
+
* User Profile Config Registry
|
|
642
|
+
*
|
|
643
|
+
* Global singleton storing developer-defined custom profile field definitions.
|
|
644
|
+
* Set once at app boot via defineUserProfile(), queried by routes and templates.
|
|
645
|
+
*/
|
|
646
|
+
|
|
647
|
+
interface ProfileFieldDefinition {
|
|
648
|
+
name: string;
|
|
649
|
+
label: string;
|
|
650
|
+
type: FieldType;
|
|
651
|
+
options?: string[];
|
|
652
|
+
default?: any;
|
|
653
|
+
required?: boolean;
|
|
654
|
+
placeholder?: string;
|
|
655
|
+
helpText?: string;
|
|
656
|
+
hidden?: boolean;
|
|
657
|
+
fields?: ProfileFieldDefinition[];
|
|
658
|
+
validation?: {
|
|
659
|
+
min?: number;
|
|
660
|
+
max?: number;
|
|
661
|
+
pattern?: string;
|
|
662
|
+
};
|
|
663
|
+
}
|
|
664
|
+
interface UserProfileConfig {
|
|
665
|
+
fields: ProfileFieldDefinition[];
|
|
666
|
+
registrationFields?: string[];
|
|
667
|
+
}
|
|
668
|
+
declare function defineUserProfile(config: UserProfileConfig): void;
|
|
669
|
+
declare function getUserProfileConfig(): UserProfileConfig | null;
|
|
670
|
+
|
|
671
|
+
/**
|
|
672
|
+
* User Profiles Plugin
|
|
673
|
+
*
|
|
674
|
+
* Configurable custom profile fields for users.
|
|
675
|
+
* Developers call defineUserProfile() at app boot to declare custom fields
|
|
676
|
+
* that are stored as JSON in user_profiles.data and rendered in the admin UI.
|
|
677
|
+
*
|
|
678
|
+
* API Routes:
|
|
679
|
+
* GET /api/user-profiles/schema → Public field definitions
|
|
680
|
+
* GET /api/user-profiles/:userId → Get custom data for a user (auth required)
|
|
681
|
+
* PUT /api/user-profiles/:userId → Update custom data for a user (auth required)
|
|
682
|
+
*/
|
|
683
|
+
|
|
684
|
+
declare function createUserProfilesPlugin(): Plugin;
|
|
685
|
+
declare const userProfilesPlugin: Plugin;
|
|
686
|
+
|
|
639
687
|
/**
|
|
640
688
|
* @sonicjs/core - Main Entry Point
|
|
641
689
|
*
|
|
@@ -656,4 +704,4 @@ declare class OAuthService {
|
|
|
656
704
|
|
|
657
705
|
declare const VERSION: string;
|
|
658
706
|
|
|
659
|
-
export { BUILT_IN_PROVIDERS, OAuthService, PluginBuilder, PluginHelpers, VERSION, createDb, createOAuthProvidersPlugin, oauthProvidersPlugin };
|
|
707
|
+
export { BUILT_IN_PROVIDERS, FieldType, OAuthService, PluginBuilder, PluginHelpers, type ProfileFieldDefinition, type UserProfileConfig, VERSION, createDb, createOAuthProvidersPlugin, createUserProfilesPlugin, defineUserProfile, getUserProfileConfig, oauthProvidersPlugin, userProfilesPlugin };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
export { B as Bindings,
|
|
2
|
-
import { B as schema } from './plugin-bootstrap-
|
|
3
|
-
export { D as Collection, E as Content, C as CorePlugin, F as DbPlugin, G as DbPluginHook, L as LogCategory, H as LogConfig, a as LogEntry, b as LogFilter, c as LogLevel, d as Logger, I as Media, M as Migration, e as MigrationService, f as MigrationStatus, N as NewCollection, J as NewContent, K as NewLogConfig, O as NewMedia, Q as NewPlugin, R as NewPluginActivityLog, S as NewPluginAsset, T as NewPluginHook, U as NewPluginRoute, V as NewSystemLog, W as NewUser, X as NewWorkflowHistory, Y as PluginActivityLog, Z as PluginAsset, P as PluginBootstrapService, _ as PluginRoute, g as PluginServiceClass, $ as SystemLog, a0 as User, a1 as WorkflowHistory, a2 as apiTokens, h as backfillFormSubmissions, i as cleanupRemovedCollections, a3 as collections, a4 as content, a5 as contentVersions, j as createContentFromSubmission, k as deriveCollectionSchemaFromFormio, l as deriveSubmissionTitle, m as fullCollectionSync, n as getAvailableCollectionNames, o as getLogger, p as getManagedCollections, q as initLogger, a6 as insertCollectionSchema, a7 as insertContentSchema, a8 as insertLogConfigSchema, a9 as insertMediaSchema, aa as insertPluginActivityLogSchema, ab as insertPluginAssetSchema, ac as insertPluginHookSchema, ad as insertPluginRouteSchema, ae as insertPluginSchema, af as insertSystemLogSchema, ag as insertUserSchema, ah as insertWorkflowHistorySchema, r as isCollectionManaged, s as loadCollectionConfig, t as loadCollectionConfigs, ai as logConfig, u as mapFormStatusToContentStatus, aj as media, ak as pluginActivityLog, al as pluginAssets, am as pluginHooks, an as pluginRoutes, ao as plugins, v as registerCollections, ap as selectCollectionSchema, aq as selectContentSchema, ar as selectLogConfigSchema, as as selectMediaSchema, at as selectPluginActivityLogSchema, au as selectPluginAssetSchema, av as selectPluginHookSchema, aw as selectPluginRouteSchema, ax as selectPluginSchema, ay as selectSystemLogSchema, az as selectUserSchema, aA as selectWorkflowHistorySchema, w as syncAllFormCollections, x as syncCollection, y as syncCollections, z as syncFormCollection, aB as systemLogs, aC as users, A as validateCollectionConfig, aD as workflowHistory } from './plugin-bootstrap-
|
|
1
|
+
export { B as Bindings, a as SonicJSApp, S as SonicJSConfig, V as Variables, c as createSonicJSApp, s as setupCoreMiddleware, b as setupCoreRoutes } from './app-COElO4Rm.js';
|
|
2
|
+
import { B as schema } from './plugin-bootstrap-CZ1GDum7.js';
|
|
3
|
+
export { D as Collection, E as Content, C as CorePlugin, F as DbPlugin, G as DbPluginHook, L as LogCategory, H as LogConfig, a as LogEntry, b as LogFilter, c as LogLevel, d as Logger, I as Media, M as Migration, e as MigrationService, f as MigrationStatus, N as NewCollection, J as NewContent, K as NewLogConfig, O as NewMedia, Q as NewPlugin, R as NewPluginActivityLog, S as NewPluginAsset, T as NewPluginHook, U as NewPluginRoute, V as NewSystemLog, W as NewUser, X as NewWorkflowHistory, Y as PluginActivityLog, Z as PluginAsset, P as PluginBootstrapService, _ as PluginRoute, g as PluginServiceClass, $ as SystemLog, a0 as User, a1 as WorkflowHistory, a2 as apiTokens, h as backfillFormSubmissions, i as cleanupRemovedCollections, a3 as collections, a4 as content, a5 as contentVersions, j as createContentFromSubmission, k as deriveCollectionSchemaFromFormio, l as deriveSubmissionTitle, m as fullCollectionSync, n as getAvailableCollectionNames, o as getLogger, p as getManagedCollections, q as initLogger, a6 as insertCollectionSchema, a7 as insertContentSchema, a8 as insertLogConfigSchema, a9 as insertMediaSchema, aa as insertPluginActivityLogSchema, ab as insertPluginAssetSchema, ac as insertPluginHookSchema, ad as insertPluginRouteSchema, ae as insertPluginSchema, af as insertSystemLogSchema, ag as insertUserSchema, ah as insertWorkflowHistorySchema, r as isCollectionManaged, s as loadCollectionConfig, t as loadCollectionConfigs, ai as logConfig, u as mapFormStatusToContentStatus, aj as media, ak as pluginActivityLog, al as pluginAssets, am as pluginHooks, an as pluginRoutes, ao as plugins, v as registerCollections, ap as selectCollectionSchema, aq as selectContentSchema, ar as selectLogConfigSchema, as as selectMediaSchema, at as selectPluginActivityLogSchema, au as selectPluginAssetSchema, av as selectPluginHookSchema, aw as selectPluginRouteSchema, ax as selectPluginSchema, ay as selectSystemLogSchema, az as selectUserSchema, aA as selectWorkflowHistorySchema, w as syncAllFormCollections, x as syncCollection, y as syncCollections, z as syncFormCollection, aB as systemLogs, aC as users, A as validateCollectionConfig, aD as workflowHistory } from './plugin-bootstrap-CZ1GDum7.js';
|
|
4
4
|
export { AuthManager, Permission, PermissionManager, UserPermissions, bootstrapMiddleware, cacheHeaders, compressionMiddleware, detailedLoggingMiddleware, getActivePlugins, isPluginActive, logActivity, loggingMiddleware, optionalAuth, performanceLoggingMiddleware, requireActivePlugin, requireActivePlugins, requireAnyPermission, requireAuth, requirePermission, requireRole, securityHeaders, securityLoggingMiddleware } from './middleware.js';
|
|
5
5
|
export { H as HookSystemImpl, a as HookUtils, P as PluginManagerClass, b as PluginRegistryImpl, c as PluginValidatorClass, S as ScopedHookSystemClass } from './plugin-manager-Efx9RyDX.js';
|
|
6
6
|
export { ROUTES_INFO, adminApiRoutes, adminCheckboxRoutes, adminCodeExamplesRoutes, adminCollectionsRoutes, adminContentRoutes, adminDashboardRoutes, adminDesignRoutes, adminLogsRoutes, adminMediaRoutes, adminPluginRoutes, adminSettingsRoutes, adminTestimonialsRoutes, adminUsersRoutes, apiContentCrudRoutes, apiMediaRoutes, apiRoutes, apiSystemRoutes, authRoutes } from './routes.js';
|
|
7
7
|
export { A as AlertData, C as ConfirmationDialogOptions, F as Filter, a as FilterBarData, b as FilterOption, c as FormData, d as FormField, P as PaginationData, T as TableColumn, e as TableData, g as getConfirmationDialogScript, r as renderAlert, f as renderConfirmationDialog, h as renderFilterBar, i as renderForm, j as renderFormField, k as renderPagination, l as renderTable } from './filter-bar.template-DlVYMk-T.js';
|
|
8
|
-
|
|
8
|
+
import { e as FieldType } from './collection-config-B4PG-AaF.js';
|
|
9
|
+
export { C as CollectionConfig, b as CollectionConfigModule, c as CollectionSchema, d as CollectionSyncResult, F as FieldConfig } from './collection-config-B4PG-AaF.js';
|
|
9
10
|
export { A as AuthService, C as ContentService, H as HOOKS, a as HookContext, b as HookHandler, c as HookName, d as HookSystem, M as MediaService, P as Plugin, f as PluginAdminPage, g as PluginBuilderOptions, h as PluginComponent, i as PluginConfig, j as PluginContext, k as PluginHook, l as PluginLogger, m as PluginManager, n as PluginMenuItem, o as PluginMiddleware, p as PluginModel, q as PluginRegistry, r as PluginRoutes, s as PluginService, t as PluginStatus, u as PluginValidationResult, v as PluginValidator, S as ScopedHookSystem } from './plugin-DDYetMF-.js';
|
|
10
11
|
export { P as PluginManifest } from './plugin-manifest-Dpy8wxIB.js';
|
|
11
12
|
export { F as FilterCondition, a as FilterGroup, b as FilterOperator, Q as QueryFilter, c as QueryFilterBuilder, d as QueryResult, S as SONICJS_VERSION, T as TemplateRenderer, e as buildQuery, f as escapeHtml, g as getCoreVersion, m as metricsTracker, r as renderTemplate, s as sanitizeInput, h as sanitizeObject, t as templateRenderer } from './version-ChpccWQ1.js';
|
|
@@ -636,6 +637,53 @@ declare class OAuthService {
|
|
|
636
637
|
generateState(): string;
|
|
637
638
|
}
|
|
638
639
|
|
|
640
|
+
/**
|
|
641
|
+
* User Profile Config Registry
|
|
642
|
+
*
|
|
643
|
+
* Global singleton storing developer-defined custom profile field definitions.
|
|
644
|
+
* Set once at app boot via defineUserProfile(), queried by routes and templates.
|
|
645
|
+
*/
|
|
646
|
+
|
|
647
|
+
interface ProfileFieldDefinition {
|
|
648
|
+
name: string;
|
|
649
|
+
label: string;
|
|
650
|
+
type: FieldType;
|
|
651
|
+
options?: string[];
|
|
652
|
+
default?: any;
|
|
653
|
+
required?: boolean;
|
|
654
|
+
placeholder?: string;
|
|
655
|
+
helpText?: string;
|
|
656
|
+
hidden?: boolean;
|
|
657
|
+
fields?: ProfileFieldDefinition[];
|
|
658
|
+
validation?: {
|
|
659
|
+
min?: number;
|
|
660
|
+
max?: number;
|
|
661
|
+
pattern?: string;
|
|
662
|
+
};
|
|
663
|
+
}
|
|
664
|
+
interface UserProfileConfig {
|
|
665
|
+
fields: ProfileFieldDefinition[];
|
|
666
|
+
registrationFields?: string[];
|
|
667
|
+
}
|
|
668
|
+
declare function defineUserProfile(config: UserProfileConfig): void;
|
|
669
|
+
declare function getUserProfileConfig(): UserProfileConfig | null;
|
|
670
|
+
|
|
671
|
+
/**
|
|
672
|
+
* User Profiles Plugin
|
|
673
|
+
*
|
|
674
|
+
* Configurable custom profile fields for users.
|
|
675
|
+
* Developers call defineUserProfile() at app boot to declare custom fields
|
|
676
|
+
* that are stored as JSON in user_profiles.data and rendered in the admin UI.
|
|
677
|
+
*
|
|
678
|
+
* API Routes:
|
|
679
|
+
* GET /api/user-profiles/schema → Public field definitions
|
|
680
|
+
* GET /api/user-profiles/:userId → Get custom data for a user (auth required)
|
|
681
|
+
* PUT /api/user-profiles/:userId → Update custom data for a user (auth required)
|
|
682
|
+
*/
|
|
683
|
+
|
|
684
|
+
declare function createUserProfilesPlugin(): Plugin;
|
|
685
|
+
declare const userProfilesPlugin: Plugin;
|
|
686
|
+
|
|
639
687
|
/**
|
|
640
688
|
* @sonicjs/core - Main Entry Point
|
|
641
689
|
*
|
|
@@ -656,4 +704,4 @@ declare class OAuthService {
|
|
|
656
704
|
|
|
657
705
|
declare const VERSION: string;
|
|
658
706
|
|
|
659
|
-
export { BUILT_IN_PROVIDERS, OAuthService, PluginBuilder, PluginHelpers, VERSION, createDb, createOAuthProvidersPlugin, oauthProvidersPlugin };
|
|
707
|
+
export { BUILT_IN_PROVIDERS, FieldType, OAuthService, PluginBuilder, PluginHelpers, type ProfileFieldDefinition, type UserProfileConfig, VERSION, createDb, createOAuthProvidersPlugin, createUserProfilesPlugin, defineUserProfile, getUserProfileConfig, oauthProvidersPlugin, userProfilesPlugin };
|