convex-cms 0.0.1
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/cli/commands/admin.d.ts +16 -0
- package/dist/cli/commands/admin.d.ts.map +1 -0
- package/dist/cli/commands/admin.js +88 -0
- package/dist/cli/commands/admin.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +18 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/utils/detectConvexUrl.d.ts +13 -0
- package/dist/cli/utils/detectConvexUrl.d.ts.map +1 -0
- package/dist/cli/utils/detectConvexUrl.js +48 -0
- package/dist/cli/utils/detectConvexUrl.js.map +1 -0
- package/dist/cli/utils/openBrowser.d.ts +7 -0
- package/dist/cli/utils/openBrowser.d.ts.map +1 -0
- package/dist/cli/utils/openBrowser.js +17 -0
- package/dist/cli/utils/openBrowser.js.map +1 -0
- package/dist/client/admin-config.d.ts +126 -0
- package/dist/client/admin-config.d.ts.map +1 -0
- package/dist/client/admin-config.js +117 -0
- package/dist/client/admin-config.js.map +1 -0
- package/dist/client/adminApi.d.ts +2273 -0
- package/dist/client/adminApi.d.ts.map +1 -0
- package/dist/client/adminApi.js +716 -0
- package/dist/client/adminApi.js.map +1 -0
- package/dist/client/agentTools.d.ts +933 -0
- package/dist/client/agentTools.d.ts.map +1 -0
- package/dist/client/agentTools.js +1004 -0
- package/dist/client/agentTools.js.map +1 -0
- package/dist/client/argTypes.d.ts +212 -0
- package/dist/client/argTypes.d.ts.map +1 -0
- package/dist/client/argTypes.js +5 -0
- package/dist/client/argTypes.js.map +1 -0
- package/dist/client/field-types.d.ts +55 -0
- package/dist/client/field-types.d.ts.map +1 -0
- package/dist/client/field-types.js +152 -0
- package/dist/client/field-types.js.map +1 -0
- package/dist/client/index.d.ts +189 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +668 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/queryBuilder.d.ts +765 -0
- package/dist/client/queryBuilder.d.ts.map +1 -0
- package/dist/client/queryBuilder.js +970 -0
- package/dist/client/queryBuilder.js.map +1 -0
- package/dist/client/schema/codegen.d.ts +128 -0
- package/dist/client/schema/codegen.d.ts.map +1 -0
- package/dist/client/schema/codegen.js +318 -0
- package/dist/client/schema/codegen.js.map +1 -0
- package/dist/client/schema/defineContentType.d.ts +221 -0
- package/dist/client/schema/defineContentType.d.ts.map +1 -0
- package/dist/client/schema/defineContentType.js +380 -0
- package/dist/client/schema/defineContentType.js.map +1 -0
- package/dist/client/schema/index.d.ts +85 -0
- package/dist/client/schema/index.d.ts.map +1 -0
- package/dist/client/schema/index.js +92 -0
- package/dist/client/schema/index.js.map +1 -0
- package/dist/client/schema/schemaDrift.d.ts +199 -0
- package/dist/client/schema/schemaDrift.d.ts.map +1 -0
- package/dist/client/schema/schemaDrift.js +340 -0
- package/dist/client/schema/schemaDrift.js.map +1 -0
- package/dist/client/schema/typedClient.d.ts +401 -0
- package/dist/client/schema/typedClient.d.ts.map +1 -0
- package/dist/client/schema/typedClient.js +269 -0
- package/dist/client/schema/typedClient.js.map +1 -0
- package/dist/client/schema/types.d.ts +477 -0
- package/dist/client/schema/types.d.ts.map +1 -0
- package/dist/client/schema/types.js +39 -0
- package/dist/client/schema/types.js.map +1 -0
- package/dist/client/types.d.ts +449 -0
- package/dist/client/types.d.ts.map +1 -0
- package/dist/client/types.js +149 -0
- package/dist/client/types.js.map +1 -0
- package/dist/client/workflows.d.ts +51 -0
- package/dist/client/workflows.d.ts.map +1 -0
- package/dist/client/workflows.js +103 -0
- package/dist/client/workflows.js.map +1 -0
- package/dist/client/wrapper.d.ts +2198 -0
- package/dist/client/wrapper.d.ts.map +1 -0
- package/dist/client/wrapper.js +2651 -0
- package/dist/client/wrapper.js.map +1 -0
- package/dist/component/_generated/api.d.ts +124 -0
- package/dist/component/_generated/api.d.ts.map +1 -0
- package/dist/component/_generated/api.js +31 -0
- package/dist/component/_generated/api.js.map +1 -0
- package/dist/component/_generated/component.d.ts +4321 -0
- package/dist/component/_generated/component.d.ts.map +1 -0
- package/dist/component/_generated/component.js +11 -0
- package/dist/component/_generated/component.js.map +1 -0
- package/dist/component/_generated/dataModel.d.ts +46 -0
- package/dist/component/_generated/dataModel.d.ts.map +1 -0
- package/dist/component/_generated/dataModel.js +11 -0
- package/dist/component/_generated/dataModel.js.map +1 -0
- package/dist/component/_generated/server.d.ts +121 -0
- package/dist/component/_generated/server.d.ts.map +1 -0
- package/dist/component/_generated/server.js +78 -0
- package/dist/component/_generated/server.js.map +1 -0
- package/dist/component/auditLog.d.ts +410 -0
- package/dist/component/auditLog.d.ts.map +1 -0
- package/dist/component/auditLog.js +607 -0
- package/dist/component/auditLog.js.map +1 -0
- package/dist/component/authorization.d.ts +323 -0
- package/dist/component/authorization.d.ts.map +1 -0
- package/dist/component/authorization.js +464 -0
- package/dist/component/authorization.js.map +1 -0
- package/dist/component/authorizationHooks.d.ts +184 -0
- package/dist/component/authorizationHooks.d.ts.map +1 -0
- package/dist/component/authorizationHooks.js +521 -0
- package/dist/component/authorizationHooks.js.map +1 -0
- package/dist/component/bulkOperations.d.ts +200 -0
- package/dist/component/bulkOperations.d.ts.map +1 -0
- package/dist/component/bulkOperations.js +568 -0
- package/dist/component/bulkOperations.js.map +1 -0
- package/dist/component/contentEntries.d.ts +719 -0
- package/dist/component/contentEntries.d.ts.map +1 -0
- package/dist/component/contentEntries.js +1617 -0
- package/dist/component/contentEntries.js.map +1 -0
- package/dist/component/contentEntryMutations.d.ts +505 -0
- package/dist/component/contentEntryMutations.d.ts.map +1 -0
- package/dist/component/contentEntryMutations.js +1009 -0
- package/dist/component/contentEntryMutations.js.map +1 -0
- package/dist/component/contentEntryValidation.d.ts +115 -0
- package/dist/component/contentEntryValidation.d.ts.map +1 -0
- package/dist/component/contentEntryValidation.js +546 -0
- package/dist/component/contentEntryValidation.js.map +1 -0
- package/dist/component/contentLock.d.ts +328 -0
- package/dist/component/contentLock.d.ts.map +1 -0
- package/dist/component/contentLock.js +471 -0
- package/dist/component/contentLock.js.map +1 -0
- package/dist/component/contentTypeMigration.d.ts +411 -0
- package/dist/component/contentTypeMigration.d.ts.map +1 -0
- package/dist/component/contentTypeMigration.js +805 -0
- package/dist/component/contentTypeMigration.js.map +1 -0
- package/dist/component/contentTypeMutations.d.ts +975 -0
- package/dist/component/contentTypeMutations.d.ts.map +1 -0
- package/dist/component/contentTypeMutations.js +768 -0
- package/dist/component/contentTypeMutations.js.map +1 -0
- package/dist/component/contentTypes.d.ts +538 -0
- package/dist/component/contentTypes.d.ts.map +1 -0
- package/dist/component/contentTypes.js +304 -0
- package/dist/component/contentTypes.js.map +1 -0
- package/dist/component/convex.config.d.ts +42 -0
- package/dist/component/convex.config.d.ts.map +1 -0
- package/dist/component/convex.config.js +43 -0
- package/dist/component/convex.config.js.map +1 -0
- package/dist/component/documentTypes.d.ts +186 -0
- package/dist/component/documentTypes.d.ts.map +1 -0
- package/dist/component/documentTypes.js +23 -0
- package/dist/component/documentTypes.js.map +1 -0
- package/dist/component/eventEmitter.d.ts +281 -0
- package/dist/component/eventEmitter.d.ts.map +1 -0
- package/dist/component/eventEmitter.js +300 -0
- package/dist/component/eventEmitter.js.map +1 -0
- package/dist/component/exportImport.d.ts +1120 -0
- package/dist/component/exportImport.d.ts.map +1 -0
- package/dist/component/exportImport.js +931 -0
- package/dist/component/exportImport.js.map +1 -0
- package/dist/component/index.d.ts +28 -0
- package/dist/component/index.d.ts.map +1 -0
- package/dist/component/index.js +142 -0
- package/dist/component/index.js.map +1 -0
- package/dist/component/lib/deepReferenceResolver.d.ts +252 -0
- package/dist/component/lib/deepReferenceResolver.d.ts.map +1 -0
- package/dist/component/lib/deepReferenceResolver.js +601 -0
- package/dist/component/lib/deepReferenceResolver.js.map +1 -0
- package/dist/component/lib/errors.d.ts +306 -0
- package/dist/component/lib/errors.d.ts.map +1 -0
- package/dist/component/lib/errors.js +407 -0
- package/dist/component/lib/errors.js.map +1 -0
- package/dist/component/lib/index.d.ts +10 -0
- package/dist/component/lib/index.d.ts.map +1 -0
- package/dist/component/lib/index.js +33 -0
- package/dist/component/lib/index.js.map +1 -0
- package/dist/component/lib/mediaReferenceResolver.d.ts +217 -0
- package/dist/component/lib/mediaReferenceResolver.d.ts.map +1 -0
- package/dist/component/lib/mediaReferenceResolver.js +326 -0
- package/dist/component/lib/mediaReferenceResolver.js.map +1 -0
- package/dist/component/lib/metadataExtractor.d.ts +245 -0
- package/dist/component/lib/metadataExtractor.d.ts.map +1 -0
- package/dist/component/lib/metadataExtractor.js +548 -0
- package/dist/component/lib/metadataExtractor.js.map +1 -0
- package/dist/component/lib/mutationAuth.d.ts +95 -0
- package/dist/component/lib/mutationAuth.d.ts.map +1 -0
- package/dist/component/lib/mutationAuth.js +146 -0
- package/dist/component/lib/mutationAuth.js.map +1 -0
- package/dist/component/lib/queries.d.ts +17 -0
- package/dist/component/lib/queries.d.ts.map +1 -0
- package/dist/component/lib/queries.js +49 -0
- package/dist/component/lib/queries.js.map +1 -0
- package/dist/component/lib/ragContentChunker.d.ts +423 -0
- package/dist/component/lib/ragContentChunker.d.ts.map +1 -0
- package/dist/component/lib/ragContentChunker.js +897 -0
- package/dist/component/lib/ragContentChunker.js.map +1 -0
- package/dist/component/lib/referenceResolver.d.ts +175 -0
- package/dist/component/lib/referenceResolver.d.ts.map +1 -0
- package/dist/component/lib/referenceResolver.js +293 -0
- package/dist/component/lib/referenceResolver.js.map +1 -0
- package/dist/component/lib/slugGenerator.d.ts +71 -0
- package/dist/component/lib/slugGenerator.d.ts.map +1 -0
- package/dist/component/lib/slugGenerator.js +207 -0
- package/dist/component/lib/slugGenerator.js.map +1 -0
- package/dist/component/lib/slugUniqueness.d.ts +131 -0
- package/dist/component/lib/slugUniqueness.d.ts.map +1 -0
- package/dist/component/lib/slugUniqueness.js +229 -0
- package/dist/component/lib/slugUniqueness.js.map +1 -0
- package/dist/component/lib/softDelete.d.ts +18 -0
- package/dist/component/lib/softDelete.d.ts.map +1 -0
- package/dist/component/lib/softDelete.js +29 -0
- package/dist/component/lib/softDelete.js.map +1 -0
- package/dist/component/localeFallbackChain.d.ts +410 -0
- package/dist/component/localeFallbackChain.d.ts.map +1 -0
- package/dist/component/localeFallbackChain.js +467 -0
- package/dist/component/localeFallbackChain.js.map +1 -0
- package/dist/component/localeFields.d.ts +508 -0
- package/dist/component/localeFields.d.ts.map +1 -0
- package/dist/component/localeFields.js +592 -0
- package/dist/component/localeFields.js.map +1 -0
- package/dist/component/mediaAssetMutations.d.ts +235 -0
- package/dist/component/mediaAssetMutations.d.ts.map +1 -0
- package/dist/component/mediaAssetMutations.js +558 -0
- package/dist/component/mediaAssetMutations.js.map +1 -0
- package/dist/component/mediaAssets.d.ts +168 -0
- package/dist/component/mediaAssets.d.ts.map +1 -0
- package/dist/component/mediaAssets.js +618 -0
- package/dist/component/mediaAssets.js.map +1 -0
- package/dist/component/mediaFolderMutations.d.ts +642 -0
- package/dist/component/mediaFolderMutations.d.ts.map +1 -0
- package/dist/component/mediaFolderMutations.js +849 -0
- package/dist/component/mediaFolderMutations.js.map +1 -0
- package/dist/component/mediaUploadMutations.d.ts +136 -0
- package/dist/component/mediaUploadMutations.d.ts.map +1 -0
- package/dist/component/mediaUploadMutations.js +205 -0
- package/dist/component/mediaUploadMutations.js.map +1 -0
- package/dist/component/mediaVariantMutations.d.ts +468 -0
- package/dist/component/mediaVariantMutations.d.ts.map +1 -0
- package/dist/component/mediaVariantMutations.js +737 -0
- package/dist/component/mediaVariantMutations.js.map +1 -0
- package/dist/component/mediaVariants.d.ts +525 -0
- package/dist/component/mediaVariants.d.ts.map +1 -0
- package/dist/component/mediaVariants.js +661 -0
- package/dist/component/mediaVariants.js.map +1 -0
- package/dist/component/ragContentIndexer.d.ts +595 -0
- package/dist/component/ragContentIndexer.d.ts.map +1 -0
- package/dist/component/ragContentIndexer.js +794 -0
- package/dist/component/ragContentIndexer.js.map +1 -0
- package/dist/component/rateLimitHooks.d.ts +266 -0
- package/dist/component/rateLimitHooks.d.ts.map +1 -0
- package/dist/component/rateLimitHooks.js +412 -0
- package/dist/component/rateLimitHooks.js.map +1 -0
- package/dist/component/roles.d.ts +649 -0
- package/dist/component/roles.d.ts.map +1 -0
- package/dist/component/roles.js +884 -0
- package/dist/component/roles.js.map +1 -0
- package/dist/component/scheduledPublish.d.ts +182 -0
- package/dist/component/scheduledPublish.d.ts.map +1 -0
- package/dist/component/scheduledPublish.js +304 -0
- package/dist/component/scheduledPublish.js.map +1 -0
- package/dist/component/schema.d.ts +4114 -0
- package/dist/component/schema.d.ts.map +1 -0
- package/dist/component/schema.js +469 -0
- package/dist/component/schema.js.map +1 -0
- package/dist/component/taxonomies.d.ts +476 -0
- package/dist/component/taxonomies.d.ts.map +1 -0
- package/dist/component/taxonomies.js +785 -0
- package/dist/component/taxonomies.js.map +1 -0
- package/dist/component/taxonomyMutations.d.ts +206 -0
- package/dist/component/taxonomyMutations.d.ts.map +1 -0
- package/dist/component/taxonomyMutations.js +1001 -0
- package/dist/component/taxonomyMutations.js.map +1 -0
- package/dist/component/trash.d.ts +265 -0
- package/dist/component/trash.d.ts.map +1 -0
- package/dist/component/trash.js +621 -0
- package/dist/component/trash.js.map +1 -0
- package/dist/component/types.d.ts +4 -0
- package/dist/component/types.d.ts.map +1 -0
- package/dist/component/types.js +2 -0
- package/dist/component/types.js.map +1 -0
- package/dist/component/userContext.d.ts +508 -0
- package/dist/component/userContext.d.ts.map +1 -0
- package/dist/component/userContext.js +615 -0
- package/dist/component/userContext.js.map +1 -0
- package/dist/component/validation.d.ts +387 -0
- package/dist/component/validation.d.ts.map +1 -0
- package/dist/component/validation.js +1052 -0
- package/dist/component/validation.js.map +1 -0
- package/dist/component/validators.d.ts +4645 -0
- package/dist/component/validators.d.ts.map +1 -0
- package/dist/component/validators.js +641 -0
- package/dist/component/validators.js.map +1 -0
- package/dist/component/versionMutations.d.ts +216 -0
- package/dist/component/versionMutations.d.ts.map +1 -0
- package/dist/component/versionMutations.js +321 -0
- package/dist/component/versionMutations.js.map +1 -0
- package/dist/component/webhookTrigger.d.ts +770 -0
- package/dist/component/webhookTrigger.d.ts.map +1 -0
- package/dist/component/webhookTrigger.js +1413 -0
- package/dist/component/webhookTrigger.js.map +1 -0
- package/dist/react/index.d.ts +316 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +558 -0
- package/dist/react/index.js.map +1 -0
- package/dist/test.d.ts +2230 -0
- package/dist/test.d.ts.map +1 -0
- package/dist/test.js +1107 -0
- package/dist/test.js.map +1 -0
- package/package.json +95 -0
- package/src/cli/commands/admin.ts +104 -0
- package/src/cli/index.ts +21 -0
- package/src/cli/utils/detectConvexUrl.ts +54 -0
- package/src/cli/utils/openBrowser.ts +16 -0
- package/src/client/admin-config.ts +138 -0
- package/src/client/adminApi.ts +942 -0
- package/src/client/agentTools.ts +1311 -0
- package/src/client/argTypes.ts +316 -0
- package/src/client/field-types.ts +187 -0
- package/src/client/index.ts +1301 -0
- package/src/client/queryBuilder.ts +1100 -0
- package/src/client/schema/codegen.ts +500 -0
- package/src/client/schema/defineContentType.ts +501 -0
- package/src/client/schema/index.ts +169 -0
- package/src/client/schema/schemaDrift.ts +574 -0
- package/src/client/schema/typedClient.ts +688 -0
- package/src/client/schema/types.ts +666 -0
- package/src/client/types.ts +723 -0
- package/src/client/workflows.ts +141 -0
- package/src/client/wrapper.ts +4304 -0
- package/src/component/_generated/api.ts +140 -0
- package/src/component/_generated/component.ts +5029 -0
- package/src/component/_generated/dataModel.ts +60 -0
- package/src/component/_generated/server.ts +156 -0
- package/src/component/authorization.ts +647 -0
- package/src/component/authorizationHooks.ts +668 -0
- package/src/component/bulkOperations.ts +687 -0
- package/src/component/contentEntries.ts +1976 -0
- package/src/component/contentEntryMutations.ts +1223 -0
- package/src/component/contentEntryValidation.ts +707 -0
- package/src/component/contentLock.ts +550 -0
- package/src/component/contentTypeMigration.ts +1064 -0
- package/src/component/contentTypeMutations.ts +969 -0
- package/src/component/contentTypes.ts +346 -0
- package/src/component/convex.config.ts +44 -0
- package/src/component/documentTypes.ts +240 -0
- package/src/component/eventEmitter.ts +485 -0
- package/src/component/exportImport.ts +1169 -0
- package/src/component/index.ts +491 -0
- package/src/component/lib/deepReferenceResolver.ts +999 -0
- package/src/component/lib/errors.ts +816 -0
- package/src/component/lib/index.ts +145 -0
- package/src/component/lib/mediaReferenceResolver.ts +495 -0
- package/src/component/lib/metadataExtractor.ts +792 -0
- package/src/component/lib/mutationAuth.ts +199 -0
- package/src/component/lib/queries.ts +79 -0
- package/src/component/lib/ragContentChunker.ts +1371 -0
- package/src/component/lib/referenceResolver.ts +430 -0
- package/src/component/lib/slugGenerator.ts +262 -0
- package/src/component/lib/slugUniqueness.ts +333 -0
- package/src/component/lib/softDelete.ts +44 -0
- package/src/component/localeFallbackChain.ts +673 -0
- package/src/component/localeFields.ts +896 -0
- package/src/component/mediaAssetMutations.ts +725 -0
- package/src/component/mediaAssets.ts +932 -0
- package/src/component/mediaFolderMutations.ts +1046 -0
- package/src/component/mediaUploadMutations.ts +224 -0
- package/src/component/mediaVariantMutations.ts +900 -0
- package/src/component/mediaVariants.ts +793 -0
- package/src/component/ragContentIndexer.ts +1067 -0
- package/src/component/rateLimitHooks.ts +572 -0
- package/src/component/roles.ts +1360 -0
- package/src/component/scheduledPublish.ts +358 -0
- package/src/component/schema.ts +617 -0
- package/src/component/taxonomies.ts +949 -0
- package/src/component/taxonomyMutations.ts +1210 -0
- package/src/component/trash.ts +724 -0
- package/src/component/userContext.ts +898 -0
- package/src/component/validation.ts +1388 -0
- package/src/component/validators.ts +949 -0
- package/src/component/versionMutations.ts +392 -0
- package/src/component/webhookTrigger.ts +1922 -0
- package/src/react/index.ts +898 -0
- package/src/test.ts +1580 -0
|
@@ -0,0 +1,387 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Content Validation Functions
|
|
3
|
+
*
|
|
4
|
+
* Runtime validation helpers that check content data against field configurations.
|
|
5
|
+
* These complement the Convex validators by providing detailed validation logic
|
|
6
|
+
* and human-readable error messages.
|
|
7
|
+
*
|
|
8
|
+
* Supports both plain field values and localized field values (LocalizedFieldValue<T>)
|
|
9
|
+
* for fields marked as `localized: true` in their field definition.
|
|
10
|
+
*/
|
|
11
|
+
import { FieldType } from "./validators.js";
|
|
12
|
+
/**
|
|
13
|
+
* Field options structure (matches schema.ts fieldOptionsValidator)
|
|
14
|
+
*/
|
|
15
|
+
export interface FieldOptions {
|
|
16
|
+
minLength?: number;
|
|
17
|
+
maxLength?: number;
|
|
18
|
+
pattern?: string;
|
|
19
|
+
min?: number;
|
|
20
|
+
max?: number;
|
|
21
|
+
step?: number;
|
|
22
|
+
precision?: number;
|
|
23
|
+
allowedContentTypes?: string[];
|
|
24
|
+
multiple?: boolean;
|
|
25
|
+
/** Minimum number of references required (only applies when multiple is true) */
|
|
26
|
+
minItems?: number;
|
|
27
|
+
allowedMimeTypes?: string[];
|
|
28
|
+
maxFileSize?: number;
|
|
29
|
+
options?: Array<{
|
|
30
|
+
value: string;
|
|
31
|
+
label: string;
|
|
32
|
+
}>;
|
|
33
|
+
allowedBlocks?: string[];
|
|
34
|
+
allowedMarks?: string[];
|
|
35
|
+
taxonomyId?: string;
|
|
36
|
+
allowCreate?: boolean;
|
|
37
|
+
maxTags?: number;
|
|
38
|
+
minTags?: number;
|
|
39
|
+
allowMultiple?: boolean;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Field definition structure (matches schema.ts fieldDefinitionValidator)
|
|
43
|
+
*/
|
|
44
|
+
export interface FieldDefinition {
|
|
45
|
+
name: string;
|
|
46
|
+
label: string;
|
|
47
|
+
type: FieldType;
|
|
48
|
+
required: boolean;
|
|
49
|
+
searchable?: boolean;
|
|
50
|
+
localized?: boolean;
|
|
51
|
+
description?: string;
|
|
52
|
+
defaultValue?: unknown;
|
|
53
|
+
options?: FieldOptions;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Content type schema structure
|
|
57
|
+
*/
|
|
58
|
+
export interface ContentTypeSchema {
|
|
59
|
+
name: string;
|
|
60
|
+
displayName: string;
|
|
61
|
+
description?: string;
|
|
62
|
+
fields: FieldDefinition[];
|
|
63
|
+
titleField?: string;
|
|
64
|
+
slugField?: string;
|
|
65
|
+
singleton?: boolean;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Content data is a record of field names to their values
|
|
69
|
+
*/
|
|
70
|
+
export type ContentData = Record<string, unknown>;
|
|
71
|
+
export type ValidationError = {
|
|
72
|
+
field: string;
|
|
73
|
+
message: string;
|
|
74
|
+
code: ValidationErrorCode;
|
|
75
|
+
};
|
|
76
|
+
export type ValidationErrorCode = "REQUIRED" | "MIN_LENGTH" | "MAX_LENGTH" | "PATTERN_MISMATCH" | "MIN_VALUE" | "MAX_VALUE" | "NOT_INTEGER" | "MIN_DATE" | "MAX_DATE" | "INVALID_TYPE" | "MIN_ITEMS" | "MAX_ITEMS" | "INVALID_CONTENT_TYPE" | "UNKNOWN_FIELD" | "INVALID_MIME_TYPE" | "FILE_TOO_LARGE" | "INVALID_LOCALIZED_STRUCTURE" | "MISSING_LOCALE";
|
|
77
|
+
export type ValidationResult = {
|
|
78
|
+
valid: true;
|
|
79
|
+
errors: [];
|
|
80
|
+
} | {
|
|
81
|
+
valid: false;
|
|
82
|
+
errors: ValidationError[];
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* Validate a text field value against its configuration
|
|
86
|
+
*/
|
|
87
|
+
export declare function validateTextField(value: unknown, fieldDef: FieldDefinition): ValidationError[];
|
|
88
|
+
/**
|
|
89
|
+
* Validate a rich text field value against its configuration
|
|
90
|
+
*/
|
|
91
|
+
export declare function validateRichTextField(value: unknown, fieldDef: FieldDefinition): ValidationError[];
|
|
92
|
+
/**
|
|
93
|
+
* Validate a number field value against its configuration
|
|
94
|
+
*/
|
|
95
|
+
export declare function validateNumberField(value: unknown, fieldDef: FieldDefinition): ValidationError[];
|
|
96
|
+
/**
|
|
97
|
+
* Validate a boolean field value against its configuration
|
|
98
|
+
*/
|
|
99
|
+
export declare function validateBooleanField(value: unknown, fieldDef: FieldDefinition): ValidationError[];
|
|
100
|
+
/**
|
|
101
|
+
* Validate a date or datetime field value against its configuration
|
|
102
|
+
*/
|
|
103
|
+
export declare function validateDateField(value: unknown, fieldDef: FieldDefinition): ValidationError[];
|
|
104
|
+
/**
|
|
105
|
+
* Validate a reference field value against its configuration.
|
|
106
|
+
*
|
|
107
|
+
* Reference fields store IDs to other content entries. They support:
|
|
108
|
+
* - Single reference: `string` (one entry ID)
|
|
109
|
+
* - Multiple references: `string[]` (array of entry IDs) when `multiple: true`
|
|
110
|
+
*
|
|
111
|
+
* Configuration options:
|
|
112
|
+
* - `allowedContentTypes`: Array of content type names that can be referenced
|
|
113
|
+
* - `multiple`: If true, accepts an array of references
|
|
114
|
+
* - `minItems`: Minimum number of references required (only when `multiple: true`)
|
|
115
|
+
* - `max`: Maximum number of references allowed (only when `multiple: true`)
|
|
116
|
+
*
|
|
117
|
+
* @example
|
|
118
|
+
* ```typescript
|
|
119
|
+
* // Single reference to an author
|
|
120
|
+
* const authorField: FieldDefinition = {
|
|
121
|
+
* name: "author",
|
|
122
|
+
* label: "Author",
|
|
123
|
+
* type: "reference",
|
|
124
|
+
* required: true,
|
|
125
|
+
* options: {
|
|
126
|
+
* allowedContentTypes: ["user"],
|
|
127
|
+
* },
|
|
128
|
+
* };
|
|
129
|
+
*
|
|
130
|
+
* // Multiple references to related posts (1-5 required)
|
|
131
|
+
* const relatedPostsField: FieldDefinition = {
|
|
132
|
+
* name: "relatedPosts",
|
|
133
|
+
* label: "Related Posts",
|
|
134
|
+
* type: "reference",
|
|
135
|
+
* required: true,
|
|
136
|
+
* options: {
|
|
137
|
+
* allowedContentTypes: ["blog_post"],
|
|
138
|
+
* multiple: true,
|
|
139
|
+
* minItems: 1,
|
|
140
|
+
* max: 5,
|
|
141
|
+
* },
|
|
142
|
+
* };
|
|
143
|
+
* ```
|
|
144
|
+
*/
|
|
145
|
+
export declare function validateReferenceField(value: unknown, fieldDef: FieldDefinition): ValidationError[];
|
|
146
|
+
/**
|
|
147
|
+
* Check if a reference value is valid for a given content type constraint.
|
|
148
|
+
*
|
|
149
|
+
* This is a helper function that can be used in mutation handlers to validate
|
|
150
|
+
* that referenced entries exist and belong to allowed content types.
|
|
151
|
+
*
|
|
152
|
+
* @param referenceId - The content entry ID to validate
|
|
153
|
+
* @param allowedContentTypes - Array of allowed content type names (optional)
|
|
154
|
+
* @param contentTypeLookup - Function to get content type name by entry ID
|
|
155
|
+
* @returns Object with `valid` boolean and optional `error` message
|
|
156
|
+
*/
|
|
157
|
+
export declare function validateReferenceContentType(referenceId: string, allowedContentTypes: string[] | undefined, contentTypeLookup: (entryId: string) => Promise<string | null>): Promise<{
|
|
158
|
+
valid: boolean;
|
|
159
|
+
error?: string;
|
|
160
|
+
}>;
|
|
161
|
+
/**
|
|
162
|
+
* Validate a media field value against its configuration.
|
|
163
|
+
*
|
|
164
|
+
* Media fields store IDs to media assets. They support:
|
|
165
|
+
* - Single reference: `string` (one media asset ID)
|
|
166
|
+
* - Multiple references (gallery): `string[]` (array of media asset IDs) when `multiple: true`
|
|
167
|
+
*
|
|
168
|
+
* Configuration options:
|
|
169
|
+
* - `allowedMimeTypes`: Array of allowed MIME types (supports wildcards like "image/*")
|
|
170
|
+
* - `multiple`: If true, accepts an array of references (gallery mode)
|
|
171
|
+
* - `minItems`: Minimum number of media assets required (only when `multiple: true`)
|
|
172
|
+
* - `max`: Maximum number of media assets allowed (only when `multiple: true`)
|
|
173
|
+
* - `maxFileSize`: Maximum file size in bytes (validated at upload time, not here)
|
|
174
|
+
*
|
|
175
|
+
* Note: MIME type validation requires database lookups and is performed by
|
|
176
|
+
* `validateAllMediaReferences` in the mediaReferenceResolver module.
|
|
177
|
+
*
|
|
178
|
+
* @example
|
|
179
|
+
* ```typescript
|
|
180
|
+
* // Single featured image (images only)
|
|
181
|
+
* const featuredImageField: FieldDefinition = {
|
|
182
|
+
* name: "featuredImage",
|
|
183
|
+
* label: "Featured Image",
|
|
184
|
+
* type: "media",
|
|
185
|
+
* required: true,
|
|
186
|
+
* options: {
|
|
187
|
+
* allowedMimeTypes: ["image/*"],
|
|
188
|
+
* },
|
|
189
|
+
* };
|
|
190
|
+
*
|
|
191
|
+
* // Gallery with 2-10 images
|
|
192
|
+
* const galleryField: FieldDefinition = {
|
|
193
|
+
* name: "gallery",
|
|
194
|
+
* label: "Photo Gallery",
|
|
195
|
+
* type: "media",
|
|
196
|
+
* required: true,
|
|
197
|
+
* options: {
|
|
198
|
+
* allowedMimeTypes: ["image/jpeg", "image/png", "image/webp"],
|
|
199
|
+
* multiple: true,
|
|
200
|
+
* minItems: 2,
|
|
201
|
+
* max: 10,
|
|
202
|
+
* },
|
|
203
|
+
* };
|
|
204
|
+
* ```
|
|
205
|
+
*/
|
|
206
|
+
export declare function validateMediaField(value: unknown, fieldDef: FieldDefinition): ValidationError[];
|
|
207
|
+
/**
|
|
208
|
+
* Validate a select field value against its configuration
|
|
209
|
+
*/
|
|
210
|
+
export declare function validateSelectField(value: unknown, fieldDef: FieldDefinition): ValidationError[];
|
|
211
|
+
/**
|
|
212
|
+
* Validate a multi-select field value against its configuration
|
|
213
|
+
*/
|
|
214
|
+
export declare function validateMultiSelectField(value: unknown, fieldDef: FieldDefinition): ValidationError[];
|
|
215
|
+
/**
|
|
216
|
+
* Validate a JSON field value
|
|
217
|
+
*/
|
|
218
|
+
export declare function validateJsonField(value: unknown, fieldDef: FieldDefinition): ValidationError[];
|
|
219
|
+
/**
|
|
220
|
+
* Validate a tags field value against its configuration.
|
|
221
|
+
*
|
|
222
|
+
* Tags fields store arrays of taxonomy term IDs for flexible content categorization.
|
|
223
|
+
* They support:
|
|
224
|
+
* - Multiple term selection
|
|
225
|
+
* - Optional inline term creation (when allowCreate is true)
|
|
226
|
+
* - Min/max limits on number of tags
|
|
227
|
+
*
|
|
228
|
+
* Configuration options:
|
|
229
|
+
* - `taxonomyId`: The taxonomy these tags belong to (required at content type level)
|
|
230
|
+
* - `allowCreate`: If true, users can create new tags inline
|
|
231
|
+
* - `minTags`: Minimum number of tags required
|
|
232
|
+
* - `maxTags`: Maximum number of tags allowed
|
|
233
|
+
*
|
|
234
|
+
* @example
|
|
235
|
+
* ```typescript
|
|
236
|
+
* const tagsField: FieldDefinition = {
|
|
237
|
+
* name: "tags",
|
|
238
|
+
* label: "Tags",
|
|
239
|
+
* type: "tags",
|
|
240
|
+
* required: true,
|
|
241
|
+
* options: {
|
|
242
|
+
* taxonomyId: "tags_taxonomy_id",
|
|
243
|
+
* allowCreate: true,
|
|
244
|
+
* minTags: 1,
|
|
245
|
+
* maxTags: 10,
|
|
246
|
+
* },
|
|
247
|
+
* };
|
|
248
|
+
* ```
|
|
249
|
+
*/
|
|
250
|
+
export declare function validateTagsField(value: unknown, fieldDef: FieldDefinition): ValidationError[];
|
|
251
|
+
/**
|
|
252
|
+
* Validate a category field value against its configuration.
|
|
253
|
+
*
|
|
254
|
+
* Category fields store taxonomy term IDs for hierarchical content organization.
|
|
255
|
+
* They support:
|
|
256
|
+
* - Single category selection (default)
|
|
257
|
+
* - Multiple category selection (when allowMultiple is true)
|
|
258
|
+
*
|
|
259
|
+
* Configuration options:
|
|
260
|
+
* - `taxonomyId`: The taxonomy these categories belong to (required at content type level)
|
|
261
|
+
* - `allowMultiple`: If true, accepts an array of category IDs
|
|
262
|
+
*
|
|
263
|
+
* @example
|
|
264
|
+
* ```typescript
|
|
265
|
+
* // Single category selection
|
|
266
|
+
* const categoryField: FieldDefinition = {
|
|
267
|
+
* name: "category",
|
|
268
|
+
* label: "Category",
|
|
269
|
+
* type: "category",
|
|
270
|
+
* required: true,
|
|
271
|
+
* options: {
|
|
272
|
+
* taxonomyId: "categories_taxonomy_id",
|
|
273
|
+
* },
|
|
274
|
+
* };
|
|
275
|
+
*
|
|
276
|
+
* // Multiple category selection
|
|
277
|
+
* const categoriesField: FieldDefinition = {
|
|
278
|
+
* name: "categories",
|
|
279
|
+
* label: "Categories",
|
|
280
|
+
* type: "category",
|
|
281
|
+
* required: true,
|
|
282
|
+
* options: {
|
|
283
|
+
* taxonomyId: "categories_taxonomy_id",
|
|
284
|
+
* allowMultiple: true,
|
|
285
|
+
* },
|
|
286
|
+
* };
|
|
287
|
+
* ```
|
|
288
|
+
*/
|
|
289
|
+
export declare function validateCategoryField(value: unknown, fieldDef: FieldDefinition): ValidationError[];
|
|
290
|
+
/**
|
|
291
|
+
* Options for validating localized fields.
|
|
292
|
+
*/
|
|
293
|
+
export interface LocalizedValidationOptions {
|
|
294
|
+
/**
|
|
295
|
+
* The locale to validate. If provided, only that locale's value is validated
|
|
296
|
+
* for localized fields. If not provided, all locale values are validated.
|
|
297
|
+
*/
|
|
298
|
+
locale?: string;
|
|
299
|
+
/**
|
|
300
|
+
* Locales that must have values for required localized fields.
|
|
301
|
+
* If not provided, only checks if at least one locale has a value for required fields.
|
|
302
|
+
*/
|
|
303
|
+
requiredLocales?: string[];
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Validate a localized field value.
|
|
307
|
+
*
|
|
308
|
+
* For localized fields, the value should be a LocalizedFieldValue structure:
|
|
309
|
+
* `{ "en-US": "Hello", "es-ES": "Hola" }`
|
|
310
|
+
*
|
|
311
|
+
* This function validates:
|
|
312
|
+
* 1. The structure is a valid LocalizedFieldValue
|
|
313
|
+
* 2. Each locale's value passes the field type validation
|
|
314
|
+
* 3. Required locales have values (if specified)
|
|
315
|
+
*
|
|
316
|
+
* @param value - The localized field value to validate
|
|
317
|
+
* @param fieldDef - The field definition
|
|
318
|
+
* @param options - Validation options for localized fields
|
|
319
|
+
* @returns Array of validation errors
|
|
320
|
+
*/
|
|
321
|
+
export declare function validateLocalizedFieldValue(value: unknown, fieldDef: FieldDefinition, options?: LocalizedValidationOptions): ValidationError[];
|
|
322
|
+
/**
|
|
323
|
+
* Validate a single field value based on its definition.
|
|
324
|
+
*
|
|
325
|
+
* Handles both localized and non-localized fields:
|
|
326
|
+
* - Non-localized fields: Validates the value directly
|
|
327
|
+
* - Localized fields: Validates the LocalizedFieldValue structure and each locale's value
|
|
328
|
+
*
|
|
329
|
+
* @param value - The field value to validate (plain value or LocalizedFieldValue)
|
|
330
|
+
* @param fieldDef - The field definition
|
|
331
|
+
* @param options - Optional validation options for localized fields
|
|
332
|
+
* @returns Array of validation errors
|
|
333
|
+
*/
|
|
334
|
+
export declare function validateFieldValue(value: unknown, fieldDef: FieldDefinition, options?: LocalizedValidationOptions): ValidationError[];
|
|
335
|
+
/**
|
|
336
|
+
* Options for validating content data.
|
|
337
|
+
*/
|
|
338
|
+
export interface ContentValidationOptions {
|
|
339
|
+
/**
|
|
340
|
+
* If true, reports unknown fields as errors.
|
|
341
|
+
* If false (default), unknown fields are silently ignored.
|
|
342
|
+
*/
|
|
343
|
+
strictFields?: boolean;
|
|
344
|
+
/**
|
|
345
|
+
* Locale to validate for localized fields.
|
|
346
|
+
* If provided, only that locale's values are validated.
|
|
347
|
+
*/
|
|
348
|
+
locale?: string;
|
|
349
|
+
/**
|
|
350
|
+
* Locales that must have values for required localized fields.
|
|
351
|
+
*/
|
|
352
|
+
requiredLocales?: string[];
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* Validate content data against a content type schema
|
|
356
|
+
*
|
|
357
|
+
* @param data - The content data to validate
|
|
358
|
+
* @param schema - The content type schema defining expected fields
|
|
359
|
+
* @param options - Validation options
|
|
360
|
+
* @returns ValidationResult with any errors found
|
|
361
|
+
*
|
|
362
|
+
* @example
|
|
363
|
+
* ```typescript
|
|
364
|
+
* // Basic validation
|
|
365
|
+
* const result = validateContentData(data, schema);
|
|
366
|
+
*
|
|
367
|
+
* // Validate with localized field support
|
|
368
|
+
* const result = validateContentData(data, schema, {
|
|
369
|
+
* locale: "en-US",
|
|
370
|
+
* requiredLocales: ["en-US", "es-ES"],
|
|
371
|
+
* });
|
|
372
|
+
* ```
|
|
373
|
+
*/
|
|
374
|
+
export declare function validateContentData(data: ContentData, schema: ContentTypeSchema, options?: ContentValidationOptions): ValidationResult;
|
|
375
|
+
/**
|
|
376
|
+
* Apply default values to content data based on field definitions
|
|
377
|
+
*/
|
|
378
|
+
export declare function applyFieldDefaults(data: ContentData, schema: ContentTypeSchema): ContentData;
|
|
379
|
+
/**
|
|
380
|
+
* Get the field type from a field definition
|
|
381
|
+
*/
|
|
382
|
+
export declare function getFieldType(fieldDef: FieldDefinition): FieldType;
|
|
383
|
+
/**
|
|
384
|
+
* Check if a field is required based on its configuration
|
|
385
|
+
*/
|
|
386
|
+
export declare function isFieldRequired(fieldDef: FieldDefinition): boolean;
|
|
387
|
+
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/component/validation.ts"],"names":[],"mappings":"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"}
|