@rakun-kit/core 1.5.13 → 1.6.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/README.md +105 -20
- package/dist/cjs/api/operations/manager-contract.js +8 -0
- package/dist/cjs/api/operations/manager-contract.js.map +1 -1
- package/dist/cjs/api/operations/manager-manifest.js +5 -0
- package/dist/cjs/api/operations/manager-manifest.js.map +1 -1
- package/dist/cjs/api/operations/manager.js +4 -0
- package/dist/cjs/api/operations/manager.js.map +1 -1
- package/dist/cjs/api/routes/manager/auth/markTourSeen.js +4 -1
- package/dist/cjs/api/routes/manager/auth/markTourSeen.js.map +1 -1
- package/dist/cjs/api/routes/manager/localeVariants.js +20 -14
- package/dist/cjs/api/routes/manager/localeVariants.js.map +1 -1
- package/dist/cjs/api/routes/manager/media/deleteMediaStorage.js +14 -9
- package/dist/cjs/api/routes/manager/media/deleteMediaStorage.js.map +1 -1
- package/dist/cjs/api/routes/manager/media/finalizeUpload.js +4 -0
- package/dist/cjs/api/routes/manager/media/finalizeUpload.js.map +1 -1
- package/dist/cjs/api/routes/manager/media/reimportMedia.js +20 -10
- package/dist/cjs/api/routes/manager/media/reimportMedia.js.map +1 -1
- package/dist/cjs/api/routes/manager/media/replaceMedia.js +224 -0
- package/dist/cjs/api/routes/manager/media/replaceMedia.js.map +1 -0
- package/dist/cjs/api/routes/manager/media/resolveMediaRecordUrls.js +14 -12
- package/dist/cjs/api/routes/manager/media/resolveMediaRecordUrls.js.map +1 -1
- package/dist/cjs/api/routes/manager/media/uploadBinary.js +112 -39
- package/dist/cjs/api/routes/manager/media/uploadBinary.js.map +1 -1
- package/dist/cjs/api/routes/web/llms.js +53 -52
- package/dist/cjs/api/routes/web/llms.js.map +1 -1
- package/dist/cjs/api/routes/web/page.js +47 -14
- package/dist/cjs/api/routes/web/page.js.map +1 -1
- package/dist/cjs/api/routes/web/sitemap.js +12 -2
- package/dist/cjs/api/routes/web/sitemap.js.map +1 -1
- package/dist/cjs/api/routes/web/staticPaths.js +4 -2
- package/dist/cjs/api/routes/web/staticPaths.js.map +1 -1
- package/dist/cjs/api/utils/dynamicData.js +193 -130
- package/dist/cjs/api/utils/dynamicData.js.map +1 -1
- package/dist/cjs/api/utils/index.js +2 -1
- package/dist/cjs/api/utils/index.js.map +1 -1
- package/dist/cjs/api/utils/mediaUploadKey.js +11 -1
- package/dist/cjs/api/utils/mediaUploadKey.js.map +1 -1
- package/dist/cjs/api/utils/populates/populateLinks.js +27 -55
- package/dist/cjs/api/utils/populates/populateLinks.js.map +1 -1
- package/dist/cjs/api/utils/populates/populateRelations.js +78 -43
- package/dist/cjs/api/utils/populates/populateRelations.js.map +1 -1
- package/dist/cjs/api/utils/routes/routeMapHelpers.js +44 -10
- package/dist/cjs/api/utils/routes/routeMapHelpers.js.map +1 -1
- package/dist/cjs/api/utils/routes/updateRoutesMap.js +12 -7
- package/dist/cjs/api/utils/routes/updateRoutesMap.js.map +1 -1
- package/dist/cjs/client.js +1 -0
- package/dist/cjs/client.js.map +1 -1
- package/dist/cjs/contracts.js +1 -0
- package/dist/cjs/contracts.js.map +1 -1
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/internal-content-types/Backup.js +3 -3
- package/dist/cjs/internal-content-types/Backup.js.map +1 -1
- package/dist/cjs/internal-content-types/ContentComment.js +2 -2
- package/dist/cjs/internal-content-types/ContentComment.js.map +1 -1
- package/dist/cjs/internal-content-types/ContentReview.js +31 -18
- package/dist/cjs/internal-content-types/ContentReview.js.map +1 -1
- package/dist/cjs/internal-content-types/ContentReviewDecision.js +1 -1
- package/dist/cjs/internal-content-types/ContentReviewDecision.js.map +1 -1
- package/dist/cjs/internal-content-types/ContentReviewPolicy.js +2 -2
- package/dist/cjs/internal-content-types/ContentReviewPolicy.js.map +1 -1
- package/dist/cjs/internal-content-types/ContentVersion.js +4 -4
- package/dist/cjs/internal-content-types/ContentVersion.js.map +1 -1
- package/dist/cjs/internal-content-types/Language.js +1 -1
- package/dist/cjs/internal-content-types/Language.js.map +1 -1
- package/dist/cjs/internal-content-types/LlmsSettings.js +8 -9
- package/dist/cjs/internal-content-types/LlmsSettings.js.map +1 -1
- package/dist/cjs/internal-content-types/LoginIpBlock.js +1 -1
- package/dist/cjs/internal-content-types/LoginIpBlock.js.map +1 -1
- package/dist/cjs/internal-content-types/ManagerNotification.js +2 -2
- package/dist/cjs/internal-content-types/ManagerNotification.js.map +1 -1
- package/dist/cjs/internal-content-types/ManagerUser.js +9 -9
- package/dist/cjs/internal-content-types/ManagerUser.js.map +1 -1
- package/dist/cjs/internal-content-types/Media.js +18 -17
- package/dist/cjs/internal-content-types/Media.js.map +1 -1
- package/dist/cjs/internal-content-types/MediaFolder.js +2 -2
- package/dist/cjs/internal-content-types/MediaFolder.js.map +1 -1
- package/dist/cjs/internal-content-types/MfaChallenge.js +2 -2
- package/dist/cjs/internal-content-types/MfaChallenge.js.map +1 -1
- package/dist/cjs/internal-content-types/Migration.js +5 -5
- package/dist/cjs/internal-content-types/Migration.js.map +1 -1
- package/dist/cjs/internal-content-types/PasswordResetToken.js +1 -1
- package/dist/cjs/internal-content-types/PasswordResetToken.js.map +1 -1
- package/dist/cjs/internal-content-types/PreviewSnapshot.js +2 -2
- package/dist/cjs/internal-content-types/PreviewSnapshot.js.map +1 -1
- package/dist/cjs/internal-content-types/Redirect.js +4 -4
- package/dist/cjs/internal-content-types/Redirect.js.map +1 -1
- package/dist/cjs/internal-content-types/RobotsRule.js +3 -3
- package/dist/cjs/internal-content-types/RobotsRule.js.map +1 -1
- package/dist/cjs/internal-content-types/Route.js +2 -2
- package/dist/cjs/internal-content-types/Route.js.map +1 -1
- package/dist/cjs/internal-content-types/RouteLayoutModule.js +1 -1
- package/dist/cjs/internal-content-types/RouteLayoutModule.js.map +1 -1
- package/dist/cjs/internal-content-types/RouteLayoutModuleOverride.js +1 -1
- package/dist/cjs/internal-content-types/RouteLayoutModuleOverride.js.map +1 -1
- package/dist/cjs/internal-content-types/RouteMap.js +2 -2
- package/dist/cjs/internal-content-types/RouteMap.js.map +1 -1
- package/dist/cjs/internal-content-types/RouteSettings.js +1 -1
- package/dist/cjs/internal-content-types/RouteSettings.js.map +1 -1
- package/dist/cjs/internal-content-types/Seo.js +34 -20
- package/dist/cjs/internal-content-types/Seo.js.map +1 -1
- package/dist/cjs/internal-content-types/SeoAudit.js +29 -0
- package/dist/cjs/internal-content-types/SeoAudit.js.map +1 -0
- package/dist/cjs/internal-content-types/SeoSettings.js +5 -5
- package/dist/cjs/internal-content-types/SeoSettings.js.map +1 -1
- package/dist/cjs/internal-content-types/StructuredData.js +102 -0
- package/dist/cjs/internal-content-types/StructuredData.js.map +1 -0
- package/dist/cjs/internal-content-types/UserMfa.js +6 -6
- package/dist/cjs/internal-content-types/UserMfa.js.map +1 -1
- package/dist/cjs/internal-content-types/WebAuthnRegChallenge.js +1 -1
- package/dist/cjs/internal-content-types/WebAuthnRegChallenge.js.map +1 -1
- package/dist/cjs/internal-content-types/index.js +2 -0
- package/dist/cjs/internal-content-types/index.js.map +1 -1
- package/dist/cjs/lib/ContentType.js +11 -3
- package/dist/cjs/lib/ContentType.js.map +1 -1
- package/dist/cjs/lib/Registry.js +1 -0
- package/dist/cjs/lib/Registry.js.map +1 -1
- package/dist/cjs/lib/fields/Boolean.js +5 -1
- package/dist/cjs/lib/fields/Boolean.js.map +1 -1
- package/dist/cjs/lib/fields/Breadcrums.js +5 -1
- package/dist/cjs/lib/fields/Breadcrums.js.map +1 -1
- package/dist/cjs/lib/fields/ContentReference.js +22 -6
- package/dist/cjs/lib/fields/ContentReference.js.map +1 -1
- package/dist/cjs/lib/fields/Date.js +11 -5
- package/dist/cjs/lib/fields/Date.js.map +1 -1
- package/dist/cjs/lib/fields/Field.js +71 -45
- package/dist/cjs/lib/fields/Field.js.map +1 -1
- package/dist/cjs/lib/fields/Fields.js +2 -0
- package/dist/cjs/lib/fields/Fields.js.map +1 -1
- package/dist/cjs/lib/fields/File.js +74 -25
- package/dist/cjs/lib/fields/File.js.map +1 -1
- package/dist/cjs/lib/fields/Iterator.js +1 -1
- package/dist/cjs/lib/fields/Iterator.js.map +1 -1
- package/dist/cjs/lib/fields/Link.js +26 -15
- package/dist/cjs/lib/fields/Link.js.map +1 -1
- package/dist/cjs/lib/fields/List.js +34 -12
- package/dist/cjs/lib/fields/List.js.map +1 -1
- package/dist/cjs/lib/fields/Menu.js +56 -0
- package/dist/cjs/lib/fields/Menu.js.map +1 -0
- package/dist/cjs/lib/fields/Number.js +3 -2
- package/dist/cjs/lib/fields/Number.js.map +1 -1
- package/dist/cjs/lib/fields/Relation.js +17 -15
- package/dist/cjs/lib/fields/Relation.js.map +1 -1
- package/dist/cjs/lib/fields/Select.js +20 -4
- package/dist/cjs/lib/fields/Select.js.map +1 -1
- package/dist/cjs/lib/fields/SelfRelation.js +4 -3
- package/dist/cjs/lib/fields/SelfRelation.js.map +1 -1
- package/dist/cjs/lib/fields/SimpleList.js +38 -14
- package/dist/cjs/lib/fields/SimpleList.js.map +1 -1
- package/dist/cjs/lib/fields/String.js +34 -36
- package/dist/cjs/lib/fields/String.js.map +1 -1
- package/dist/cjs/lib/fields/index.js +1 -0
- package/dist/cjs/lib/fields/index.js.map +1 -1
- package/dist/cjs/media/imageOptimization.js.map +1 -1
- package/dist/cjs/media/mediaOptimization.js +18 -0
- package/dist/cjs/media/mediaOptimization.js.map +1 -0
- package/dist/cjs/media/videoOptimization.js +142 -0
- package/dist/cjs/media/videoOptimization.js.map +1 -0
- package/dist/cjs/orm/createIndexes.js +4 -0
- package/dist/cjs/orm/createIndexes.js.map +1 -1
- package/dist/cjs/schemas/manager/media/finalizeUpload.js +10 -1
- package/dist/cjs/schemas/manager/media/finalizeUpload.js.map +1 -1
- package/dist/cjs/schemas/manager/media/reimportMedia.js.map +1 -1
- package/dist/cjs/schemas/manager/media/replaceMedia.js +21 -0
- package/dist/cjs/schemas/manager/media/replaceMedia.js.map +1 -0
- package/dist/cjs/schemas/web/page.js +2 -3
- package/dist/cjs/schemas/web/page.js.map +1 -1
- package/dist/cjs/web/page.js +1 -1
- package/dist/cjs/web/page.js.map +1 -1
- package/dist/docs/index.md +117 -18
- package/dist/esm/api/operations/index.d.ts +154 -26
- package/dist/esm/api/operations/index.d.ts.map +1 -1
- package/dist/esm/api/operations/manager-contract.d.ts +108 -8
- package/dist/esm/api/operations/manager-contract.d.ts.map +1 -1
- package/dist/esm/api/operations/manager-contract.js +9 -1
- package/dist/esm/api/operations/manager-contract.js.map +1 -1
- package/dist/esm/api/operations/manager-manifest.d.ts +5 -0
- package/dist/esm/api/operations/manager-manifest.d.ts.map +1 -1
- package/dist/esm/api/operations/manager-manifest.js +5 -0
- package/dist/esm/api/operations/manager-manifest.js.map +1 -1
- package/dist/esm/api/operations/manager.d.ts +108 -8
- package/dist/esm/api/operations/manager.d.ts.map +1 -1
- package/dist/esm/api/operations/manager.js +4 -0
- package/dist/esm/api/operations/manager.js.map +1 -1
- package/dist/esm/api/operations/web-contract.d.ts +46 -18
- package/dist/esm/api/operations/web-contract.d.ts.map +1 -1
- package/dist/esm/api/operations/web.d.ts +46 -18
- package/dist/esm/api/operations/web.d.ts.map +1 -1
- package/dist/esm/api/routes/manager/auth/getSession.d.ts +2 -2
- package/dist/esm/api/routes/manager/auth/markTourSeen.d.ts +3 -3
- package/dist/esm/api/routes/manager/auth/markTourSeen.d.ts.map +1 -1
- package/dist/esm/api/routes/manager/auth/markTourSeen.js +4 -1
- package/dist/esm/api/routes/manager/auth/markTourSeen.js.map +1 -1
- package/dist/esm/api/routes/manager/auth/updateAccount.d.ts +2 -2
- package/dist/esm/api/routes/manager/auth/updateTutorialPreferences.d.ts +2 -2
- package/dist/esm/api/routes/manager/media/deleteMediaStorage.d.ts +1 -0
- package/dist/esm/api/routes/manager/media/deleteMediaStorage.d.ts.map +1 -1
- package/dist/esm/api/routes/manager/media/deleteMediaStorage.js +14 -9
- package/dist/esm/api/routes/manager/media/deleteMediaStorage.js.map +1 -1
- package/dist/esm/api/routes/manager/media/finalizeUpload.d.ts.map +1 -1
- package/dist/esm/api/routes/manager/media/finalizeUpload.js +5 -1
- package/dist/esm/api/routes/manager/media/finalizeUpload.js.map +1 -1
- package/dist/esm/api/routes/manager/media/reimportMedia.d.ts +12 -3
- package/dist/esm/api/routes/manager/media/reimportMedia.d.ts.map +1 -1
- package/dist/esm/api/routes/manager/media/reimportMedia.js +18 -8
- package/dist/esm/api/routes/manager/media/reimportMedia.js.map +1 -1
- package/dist/esm/api/routes/manager/media/replaceMedia.d.ts +32 -0
- package/dist/esm/api/routes/manager/media/replaceMedia.d.ts.map +1 -0
- package/dist/esm/api/routes/manager/media/replaceMedia.js +218 -0
- package/dist/esm/api/routes/manager/media/replaceMedia.js.map +1 -0
- package/dist/esm/api/routes/manager/media/resolveMediaRecordUrls.d.ts.map +1 -1
- package/dist/esm/api/routes/manager/media/resolveMediaRecordUrls.js +14 -12
- package/dist/esm/api/routes/manager/media/resolveMediaRecordUrls.js.map +1 -1
- package/dist/esm/api/routes/manager/media/uploadBinary.d.ts.map +1 -1
- package/dist/esm/api/routes/manager/media/uploadBinary.js +112 -39
- package/dist/esm/api/routes/manager/media/uploadBinary.js.map +1 -1
- package/dist/esm/api/routes/web/llms.d.ts +1 -1
- package/dist/esm/api/routes/web/llms.d.ts.map +1 -1
- package/dist/esm/api/routes/web/llms.js +43 -50
- package/dist/esm/api/routes/web/llms.js.map +1 -1
- package/dist/esm/api/routes/web/page.d.ts +2 -0
- package/dist/esm/api/routes/web/page.d.ts.map +1 -1
- package/dist/esm/api/routes/web/page.js +45 -14
- package/dist/esm/api/routes/web/page.js.map +1 -1
- package/dist/esm/api/routes/web/previewPage.d.ts +23 -9
- package/dist/esm/api/routes/web/previewPage.d.ts.map +1 -1
- package/dist/esm/api/routes/web/sitemap.d.ts.map +1 -1
- package/dist/esm/api/routes/web/sitemap.js +12 -2
- package/dist/esm/api/routes/web/sitemap.js.map +1 -1
- package/dist/esm/api/routes/web/staticPaths.d.ts.map +1 -1
- package/dist/esm/api/routes/web/staticPaths.js +4 -2
- package/dist/esm/api/routes/web/staticPaths.js.map +1 -1
- package/dist/esm/api/utils/dynamicData.d.ts +6 -5
- package/dist/esm/api/utils/dynamicData.d.ts.map +1 -1
- package/dist/esm/api/utils/dynamicData.js +200 -138
- package/dist/esm/api/utils/dynamicData.js.map +1 -1
- package/dist/esm/api/utils/getUser.d.ts +2 -2
- package/dist/esm/api/utils/index.d.ts +25 -25
- package/dist/esm/api/utils/index.d.ts.map +1 -1
- package/dist/esm/api/utils/index.js +25 -25
- package/dist/esm/api/utils/index.js.map +1 -1
- package/dist/esm/api/utils/mediaUploadKey.d.ts +2 -0
- package/dist/esm/api/utils/mediaUploadKey.d.ts.map +1 -1
- package/dist/esm/api/utils/mediaUploadKey.js +9 -0
- package/dist/esm/api/utils/mediaUploadKey.js.map +1 -1
- package/dist/esm/api/utils/populates/populateLinks.d.ts +4 -2
- package/dist/esm/api/utils/populates/populateLinks.d.ts.map +1 -1
- package/dist/esm/api/utils/populates/populateLinks.js +30 -58
- package/dist/esm/api/utils/populates/populateLinks.js.map +1 -1
- package/dist/esm/api/utils/populates/populateRelations.d.ts +2 -2
- package/dist/esm/api/utils/populates/populateRelations.d.ts.map +1 -1
- package/dist/esm/api/utils/populates/populateRelations.js +85 -50
- package/dist/esm/api/utils/populates/populateRelations.js.map +1 -1
- package/dist/esm/api/utils/reviews.d.ts +2 -2
- package/dist/esm/api/utils/routes/routeMapHelpers.d.ts +4 -1
- package/dist/esm/api/utils/routes/routeMapHelpers.d.ts.map +1 -1
- package/dist/esm/api/utils/routes/routeMapHelpers.js +42 -9
- package/dist/esm/api/utils/routes/routeMapHelpers.js.map +1 -1
- package/dist/esm/api/utils/routes/updateRoutesMap.d.ts.map +1 -1
- package/dist/esm/api/utils/routes/updateRoutesMap.js +12 -7
- package/dist/esm/api/utils/routes/updateRoutesMap.js.map +1 -1
- package/dist/esm/client.d.ts +2 -0
- package/dist/esm/client.d.ts.map +1 -1
- package/dist/esm/client.js +1 -0
- package/dist/esm/client.js.map +1 -1
- package/dist/esm/contracts.d.ts +1 -0
- package/dist/esm/contracts.d.ts.map +1 -1
- package/dist/esm/contracts.js +1 -0
- package/dist/esm/contracts.js.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal-content-types/ApiOperation.d.ts +56 -16
- package/dist/esm/internal-content-types/ApiOperation.d.ts.map +1 -1
- package/dist/esm/internal-content-types/Backup.d.ts +1044 -99
- package/dist/esm/internal-content-types/Backup.d.ts.map +1 -1
- package/dist/esm/internal-content-types/Backup.js +3 -3
- package/dist/esm/internal-content-types/Backup.js.map +1 -1
- package/dist/esm/internal-content-types/BackupDocument.d.ts +56 -16
- package/dist/esm/internal-content-types/BackupDocument.d.ts.map +1 -1
- package/dist/esm/internal-content-types/ContentComment.d.ts +5833 -614
- package/dist/esm/internal-content-types/ContentComment.d.ts.map +1 -1
- package/dist/esm/internal-content-types/ContentComment.js +2 -2
- package/dist/esm/internal-content-types/ContentComment.js.map +1 -1
- package/dist/esm/internal-content-types/ContentCommentReadState.d.ts +4384 -896
- package/dist/esm/internal-content-types/ContentCommentReadState.d.ts.map +1 -1
- package/dist/esm/internal-content-types/ContentReview.d.ts +33582 -9735
- package/dist/esm/internal-content-types/ContentReview.d.ts.map +1 -1
- package/dist/esm/internal-content-types/ContentReview.js +31 -18
- package/dist/esm/internal-content-types/ContentReview.js.map +1 -1
- package/dist/esm/internal-content-types/ContentReviewDecision.d.ts +4777 -914
- package/dist/esm/internal-content-types/ContentReviewDecision.d.ts.map +1 -1
- package/dist/esm/internal-content-types/ContentReviewDecision.js +1 -1
- package/dist/esm/internal-content-types/ContentReviewDecision.js.map +1 -1
- package/dist/esm/internal-content-types/ContentReviewPolicy.d.ts +1547 -40
- package/dist/esm/internal-content-types/ContentReviewPolicy.d.ts.map +1 -1
- package/dist/esm/internal-content-types/ContentReviewPolicy.js +2 -2
- package/dist/esm/internal-content-types/ContentReviewPolicy.js.map +1 -1
- package/dist/esm/internal-content-types/ContentTemplate.d.ts +38 -12
- package/dist/esm/internal-content-types/ContentTemplate.d.ts.map +1 -1
- package/dist/esm/internal-content-types/ContentVersion.d.ts +1168 -48
- package/dist/esm/internal-content-types/ContentVersion.d.ts.map +1 -1
- package/dist/esm/internal-content-types/ContentVersion.js +4 -4
- package/dist/esm/internal-content-types/ContentVersion.js.map +1 -1
- package/dist/esm/internal-content-types/HelloWorld.d.ts +15 -5
- package/dist/esm/internal-content-types/HelloWorld.d.ts.map +1 -1
- package/dist/esm/internal-content-types/Language.d.ts +109 -9
- package/dist/esm/internal-content-types/Language.d.ts.map +1 -1
- package/dist/esm/internal-content-types/Language.js +1 -1
- package/dist/esm/internal-content-types/Language.js.map +1 -1
- package/dist/esm/internal-content-types/LiteralTranslation.d.ts +28 -8
- package/dist/esm/internal-content-types/LiteralTranslation.d.ts.map +1 -1
- package/dist/esm/internal-content-types/LlmsSettings.d.ts +2351 -914
- package/dist/esm/internal-content-types/LlmsSettings.d.ts.map +1 -1
- package/dist/esm/internal-content-types/LlmsSettings.js +8 -9
- package/dist/esm/internal-content-types/LlmsSettings.js.map +1 -1
- package/dist/esm/internal-content-types/LoginIpBlock.d.ts +119 -13
- package/dist/esm/internal-content-types/LoginIpBlock.d.ts.map +1 -1
- package/dist/esm/internal-content-types/LoginIpBlock.js +1 -1
- package/dist/esm/internal-content-types/LoginIpBlock.js.map +1 -1
- package/dist/esm/internal-content-types/ManagerFavorite.d.ts +4370 -892
- package/dist/esm/internal-content-types/ManagerFavorite.d.ts.map +1 -1
- package/dist/esm/internal-content-types/ManagerNotification.d.ts +8876 -1441
- package/dist/esm/internal-content-types/ManagerNotification.d.ts.map +1 -1
- package/dist/esm/internal-content-types/ManagerNotification.js +2 -2
- package/dist/esm/internal-content-types/ManagerNotification.js.map +1 -1
- package/dist/esm/internal-content-types/ManagerRole.d.ts +17 -5
- package/dist/esm/internal-content-types/ManagerRole.d.ts.map +1 -1
- package/dist/esm/internal-content-types/ManagerUser.d.ts +1775 -48
- package/dist/esm/internal-content-types/ManagerUser.d.ts.map +1 -1
- package/dist/esm/internal-content-types/ManagerUser.js +9 -9
- package/dist/esm/internal-content-types/ManagerUser.js.map +1 -1
- package/dist/esm/internal-content-types/Media.d.ts +6101 -774
- package/dist/esm/internal-content-types/Media.d.ts.map +1 -1
- package/dist/esm/internal-content-types/Media.js +18 -17
- package/dist/esm/internal-content-types/Media.js.map +1 -1
- package/dist/esm/internal-content-types/MediaFolder.d.ts +401 -14
- package/dist/esm/internal-content-types/MediaFolder.d.ts.map +1 -1
- package/dist/esm/internal-content-types/MediaFolder.js +2 -2
- package/dist/esm/internal-content-types/MediaFolder.js.map +1 -1
- package/dist/esm/internal-content-types/MfaChallenge.d.ts +4915 -956
- package/dist/esm/internal-content-types/MfaChallenge.d.ts.map +1 -1
- package/dist/esm/internal-content-types/MfaChallenge.js +2 -2
- package/dist/esm/internal-content-types/MfaChallenge.js.map +1 -1
- package/dist/esm/internal-content-types/Migration.d.ts +1180 -39
- package/dist/esm/internal-content-types/Migration.d.ts.map +1 -1
- package/dist/esm/internal-content-types/Migration.js +5 -5
- package/dist/esm/internal-content-types/Migration.js.map +1 -1
- package/dist/esm/internal-content-types/MigrationLock.d.ts +8 -4
- package/dist/esm/internal-content-types/MigrationLock.d.ts.map +1 -1
- package/dist/esm/internal-content-types/Page.d.ts +45 -15
- package/dist/esm/internal-content-types/Page.d.ts.map +1 -1
- package/dist/esm/internal-content-types/PasswordResetToken.d.ts +4452 -894
- package/dist/esm/internal-content-types/PasswordResetToken.d.ts.map +1 -1
- package/dist/esm/internal-content-types/PasswordResetToken.js +1 -1
- package/dist/esm/internal-content-types/PasswordResetToken.js.map +1 -1
- package/dist/esm/internal-content-types/PreviewSnapshot.d.ts +646 -34
- package/dist/esm/internal-content-types/PreviewSnapshot.d.ts.map +1 -1
- package/dist/esm/internal-content-types/PreviewSnapshot.js +2 -2
- package/dist/esm/internal-content-types/PreviewSnapshot.js.map +1 -1
- package/dist/esm/internal-content-types/Redirect.d.ts +1462 -96
- package/dist/esm/internal-content-types/Redirect.d.ts.map +1 -1
- package/dist/esm/internal-content-types/Redirect.js +4 -4
- package/dist/esm/internal-content-types/Redirect.js.map +1 -1
- package/dist/esm/internal-content-types/RobotsRule.d.ts +862 -23
- package/dist/esm/internal-content-types/RobotsRule.d.ts.map +1 -1
- package/dist/esm/internal-content-types/RobotsRule.js +3 -3
- package/dist/esm/internal-content-types/RobotsRule.js.map +1 -1
- package/dist/esm/internal-content-types/Route.d.ts +424 -27
- package/dist/esm/internal-content-types/Route.d.ts.map +1 -1
- package/dist/esm/internal-content-types/Route.js +2 -2
- package/dist/esm/internal-content-types/Route.js.map +1 -1
- package/dist/esm/internal-content-types/RouteLayoutModule.d.ts +350 -25
- package/dist/esm/internal-content-types/RouteLayoutModule.d.ts.map +1 -1
- package/dist/esm/internal-content-types/RouteLayoutModule.js +1 -1
- package/dist/esm/internal-content-types/RouteLayoutModule.js.map +1 -1
- package/dist/esm/internal-content-types/RouteLayoutModuleOverride.d.ts +340 -21
- package/dist/esm/internal-content-types/RouteLayoutModuleOverride.d.ts.map +1 -1
- package/dist/esm/internal-content-types/RouteLayoutModuleOverride.js +1 -1
- package/dist/esm/internal-content-types/RouteLayoutModuleOverride.js.map +1 -1
- package/dist/esm/internal-content-types/RouteLocaleVariant.d.ts +84 -24
- package/dist/esm/internal-content-types/RouteLocaleVariant.d.ts.map +1 -1
- package/dist/esm/internal-content-types/RouteMap.d.ts +427 -22
- package/dist/esm/internal-content-types/RouteMap.d.ts.map +1 -1
- package/dist/esm/internal-content-types/RouteMap.js +2 -2
- package/dist/esm/internal-content-types/RouteMap.js.map +1 -1
- package/dist/esm/internal-content-types/RouteSettings.d.ts +1610 -534
- package/dist/esm/internal-content-types/RouteSettings.d.ts.map +1 -1
- package/dist/esm/internal-content-types/RouteSettings.js +1 -1
- package/dist/esm/internal-content-types/RouteSettings.js.map +1 -1
- package/dist/esm/internal-content-types/SchemaState.d.ts +32 -12
- package/dist/esm/internal-content-types/SchemaState.d.ts.map +1 -1
- package/dist/esm/internal-content-types/Seo.d.ts +3188 -605
- package/dist/esm/internal-content-types/Seo.d.ts.map +1 -1
- package/dist/esm/internal-content-types/Seo.js +34 -20
- package/dist/esm/internal-content-types/Seo.js.map +1 -1
- package/dist/esm/internal-content-types/SeoAudit.d.ts +2724 -0
- package/dist/esm/internal-content-types/SeoAudit.d.ts.map +1 -0
- package/dist/esm/internal-content-types/SeoAudit.js +23 -0
- package/dist/esm/internal-content-types/SeoAudit.js.map +1 -0
- package/dist/esm/internal-content-types/SeoSettings.d.ts +16072 -4113
- package/dist/esm/internal-content-types/SeoSettings.d.ts.map +1 -1
- package/dist/esm/internal-content-types/SeoSettings.js +5 -5
- package/dist/esm/internal-content-types/SeoSettings.js.map +1 -1
- package/dist/esm/internal-content-types/Session.d.ts +4365 -893
- package/dist/esm/internal-content-types/Session.d.ts.map +1 -1
- package/dist/esm/internal-content-types/StructuredData.d.ts +6095 -0
- package/dist/esm/internal-content-types/StructuredData.d.ts.map +1 -0
- package/dist/esm/internal-content-types/StructuredData.js +96 -0
- package/dist/esm/internal-content-types/StructuredData.js.map +1 -0
- package/dist/esm/internal-content-types/UserMfa.d.ts +5285 -903
- package/dist/esm/internal-content-types/UserMfa.d.ts.map +1 -1
- package/dist/esm/internal-content-types/UserMfa.js +6 -6
- package/dist/esm/internal-content-types/UserMfa.js.map +1 -1
- package/dist/esm/internal-content-types/WebAuthnCredential.d.ts +4409 -905
- package/dist/esm/internal-content-types/WebAuthnCredential.d.ts.map +1 -1
- package/dist/esm/internal-content-types/WebAuthnRegChallenge.d.ts +4466 -898
- package/dist/esm/internal-content-types/WebAuthnRegChallenge.d.ts.map +1 -1
- package/dist/esm/internal-content-types/WebAuthnRegChallenge.js +1 -1
- package/dist/esm/internal-content-types/WebAuthnRegChallenge.js.map +1 -1
- package/dist/esm/internal-content-types/index.d.ts +2 -0
- package/dist/esm/internal-content-types/index.d.ts.map +1 -1
- package/dist/esm/internal-content-types/index.js +2 -0
- package/dist/esm/internal-content-types/index.js.map +1 -1
- package/dist/esm/internal-content-types/syncAdminRole.d.ts +1 -1
- package/dist/esm/lib/ContentType.d.ts.map +1 -1
- package/dist/esm/lib/ContentType.js +11 -3
- package/dist/esm/lib/ContentType.js.map +1 -1
- package/dist/esm/lib/Registry.d.ts.map +1 -1
- package/dist/esm/lib/Registry.js +1 -0
- package/dist/esm/lib/Registry.js.map +1 -1
- package/dist/esm/lib/fields/Boolean.d.ts +4 -3
- package/dist/esm/lib/fields/Boolean.d.ts.map +1 -1
- package/dist/esm/lib/fields/Boolean.js +7 -3
- package/dist/esm/lib/fields/Boolean.js.map +1 -1
- package/dist/esm/lib/fields/Breadcrums.d.ts +2 -1
- package/dist/esm/lib/fields/Breadcrums.d.ts.map +1 -1
- package/dist/esm/lib/fields/Breadcrums.js +5 -1
- package/dist/esm/lib/fields/Breadcrums.js.map +1 -1
- package/dist/esm/lib/fields/ContentReference.d.ts +12 -5
- package/dist/esm/lib/fields/ContentReference.d.ts.map +1 -1
- package/dist/esm/lib/fields/ContentReference.js +25 -9
- package/dist/esm/lib/fields/ContentReference.js.map +1 -1
- package/dist/esm/lib/fields/Date.d.ts +5 -4
- package/dist/esm/lib/fields/Date.d.ts.map +1 -1
- package/dist/esm/lib/fields/Date.js +13 -7
- package/dist/esm/lib/fields/Date.js.map +1 -1
- package/dist/esm/lib/fields/Field.d.ts +105 -46
- package/dist/esm/lib/fields/Field.d.ts.map +1 -1
- package/dist/esm/lib/fields/Field.js +71 -45
- package/dist/esm/lib/fields/Field.js.map +1 -1
- package/dist/esm/lib/fields/Fields.d.ts +3 -0
- package/dist/esm/lib/fields/Fields.d.ts.map +1 -1
- package/dist/esm/lib/fields/Fields.js +2 -0
- package/dist/esm/lib/fields/Fields.js.map +1 -1
- package/dist/esm/lib/fields/File.d.ts +32 -6
- package/dist/esm/lib/fields/File.d.ts.map +1 -1
- package/dist/esm/lib/fields/File.js +76 -27
- package/dist/esm/lib/fields/File.js.map +1 -1
- package/dist/esm/lib/fields/Iterator.d.ts +2 -1
- package/dist/esm/lib/fields/Iterator.d.ts.map +1 -1
- package/dist/esm/lib/fields/Iterator.js +2 -2
- package/dist/esm/lib/fields/Iterator.js.map +1 -1
- package/dist/esm/lib/fields/Link.d.ts +32 -9
- package/dist/esm/lib/fields/Link.d.ts.map +1 -1
- package/dist/esm/lib/fields/Link.js +28 -18
- package/dist/esm/lib/fields/Link.js.map +1 -1
- package/dist/esm/lib/fields/List.d.ts +11 -10
- package/dist/esm/lib/fields/List.d.ts.map +1 -1
- package/dist/esm/lib/fields/List.js +37 -15
- package/dist/esm/lib/fields/List.js.map +1 -1
- package/dist/esm/lib/fields/Menu.d.ts +26 -0
- package/dist/esm/lib/fields/Menu.d.ts.map +1 -0
- package/dist/esm/lib/fields/Menu.js +49 -0
- package/dist/esm/lib/fields/Menu.js.map +1 -0
- package/dist/esm/lib/fields/Number.d.ts +4 -3
- package/dist/esm/lib/fields/Number.d.ts.map +1 -1
- package/dist/esm/lib/fields/Number.js +5 -4
- package/dist/esm/lib/fields/Number.js.map +1 -1
- package/dist/esm/lib/fields/Relation.d.ts +14 -13
- package/dist/esm/lib/fields/Relation.d.ts.map +1 -1
- package/dist/esm/lib/fields/Relation.js +21 -19
- package/dist/esm/lib/fields/Relation.js.map +1 -1
- package/dist/esm/lib/fields/Select.d.ts +10 -3
- package/dist/esm/lib/fields/Select.d.ts.map +1 -1
- package/dist/esm/lib/fields/Select.js +22 -6
- package/dist/esm/lib/fields/Select.js.map +1 -1
- package/dist/esm/lib/fields/SelfRelation.d.ts +5 -4
- package/dist/esm/lib/fields/SelfRelation.d.ts.map +1 -1
- package/dist/esm/lib/fields/SelfRelation.js +7 -6
- package/dist/esm/lib/fields/SelfRelation.js.map +1 -1
- package/dist/esm/lib/fields/SimpleList.d.ts +11 -4
- package/dist/esm/lib/fields/SimpleList.d.ts.map +1 -1
- package/dist/esm/lib/fields/SimpleList.js +40 -16
- package/dist/esm/lib/fields/SimpleList.js.map +1 -1
- package/dist/esm/lib/fields/String.d.ts +6 -5
- package/dist/esm/lib/fields/String.d.ts.map +1 -1
- package/dist/esm/lib/fields/String.js +38 -40
- package/dist/esm/lib/fields/String.js.map +1 -1
- package/dist/esm/lib/fields/index.d.ts +1 -0
- package/dist/esm/lib/fields/index.d.ts.map +1 -1
- package/dist/esm/lib/fields/index.js +1 -0
- package/dist/esm/lib/fields/index.js.map +1 -1
- package/dist/esm/manager.d.ts +5 -0
- package/dist/esm/manager.d.ts.map +1 -1
- package/dist/esm/media/imageOptimization.d.ts +7 -1
- package/dist/esm/media/imageOptimization.d.ts.map +1 -1
- package/dist/esm/media/imageOptimization.js.map +1 -1
- package/dist/esm/media/mediaOptimization.d.ts +12 -0
- package/dist/esm/media/mediaOptimization.d.ts.map +1 -0
- package/dist/esm/media/mediaOptimization.js +15 -0
- package/dist/esm/media/mediaOptimization.js.map +1 -0
- package/dist/esm/media/videoOptimization.d.ts +19 -0
- package/dist/esm/media/videoOptimization.d.ts.map +1 -0
- package/dist/esm/media/videoOptimization.js +136 -0
- package/dist/esm/media/videoOptimization.js.map +1 -0
- package/dist/esm/orm/createIndexes.d.ts.map +1 -1
- package/dist/esm/orm/createIndexes.js +5 -1
- package/dist/esm/orm/createIndexes.js.map +1 -1
- package/dist/esm/schemas/manager/media/finalizeUpload.d.ts +43 -0
- package/dist/esm/schemas/manager/media/finalizeUpload.d.ts.map +1 -1
- package/dist/esm/schemas/manager/media/finalizeUpload.js +9 -0
- package/dist/esm/schemas/manager/media/finalizeUpload.js.map +1 -1
- package/dist/esm/schemas/manager/media/reimportMedia.d.ts +17 -1
- package/dist/esm/schemas/manager/media/reimportMedia.d.ts.map +1 -1
- package/dist/esm/schemas/manager/media/reimportMedia.js.map +1 -1
- package/dist/esm/schemas/manager/media/replaceMedia.d.ts +107 -0
- package/dist/esm/schemas/manager/media/replaceMedia.d.ts.map +1 -0
- package/dist/esm/schemas/manager/media/replaceMedia.js +15 -0
- package/dist/esm/schemas/manager/media/replaceMedia.js.map +1 -0
- package/dist/esm/schemas/web/page.d.ts +147 -6
- package/dist/esm/schemas/web/page.d.ts.map +1 -1
- package/dist/esm/schemas/web/page.js +2 -3
- package/dist/esm/schemas/web/page.js.map +1 -1
- package/dist/esm/schemas/web/previewPage.d.ts +75 -6
- package/dist/esm/schemas/web/previewPage.d.ts.map +1 -1
- package/dist/esm/web/page.d.ts +7 -7
- package/dist/esm/web/page.d.ts.map +1 -1
- package/dist/esm/web/page.js +1 -1
- package/dist/esm/web/page.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +140 -138
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.resolveContentOutput = exports.stripDynamicBindings = exports.resolveDynamicData = exports.mergeDynamicListItems = exports.getDynamicListItemContentTypeName = exports.resolveRelatedCollectionValue = void 0;
|
|
3
|
+
exports.resolveContentOutput = exports.stripDynamicBindings = exports.resolveDynamicData = exports.mergeDynamicArrayItems = exports.mergeDynamicListItems = exports.getDynamicListItemContentTypeName = exports.resolveRelatedCollectionValue = void 0;
|
|
4
4
|
const bootstrapState_1 = require("../../bootstrapState");
|
|
5
5
|
const dynamicData_1 = require("../../lib/dynamicData");
|
|
6
6
|
const Logger_1 = require("../../lib/Logger");
|
|
@@ -12,97 +12,105 @@ const populateRelations_1 = require("./populates/populateRelations");
|
|
|
12
12
|
const safeManagerQuery_1 = require("./safeManagerQuery");
|
|
13
13
|
const context_1 = require("../hooks/context");
|
|
14
14
|
const breadcrums_1 = require("./breadcrums");
|
|
15
|
-
const isRecord = (value) => !!value &&
|
|
16
|
-
typeof value === "object" &&
|
|
17
|
-
!Array.isArray(value) &&
|
|
18
|
-
!(value instanceof Date);
|
|
15
|
+
const isRecord = (value) => !!value && typeof value === 'object' && !Array.isArray(value) && !(value instanceof Date);
|
|
19
16
|
const getAtPath = (value, path) => {
|
|
20
17
|
if (!path)
|
|
21
18
|
return undefined;
|
|
22
|
-
return path.split(
|
|
19
|
+
return path.split('.').reduce((current, segment) => {
|
|
23
20
|
if (!isRecord(current))
|
|
24
21
|
return undefined;
|
|
25
22
|
return current[segment];
|
|
26
23
|
}, value);
|
|
27
24
|
};
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
25
|
+
const setAtPath = (target, path, value) => {
|
|
26
|
+
const segments = path.split('.');
|
|
27
|
+
let current = target;
|
|
28
|
+
for (const [index, segment] of segments.entries()) {
|
|
29
|
+
if (index === segments.length - 1) {
|
|
30
|
+
Object.defineProperty(current, segment, {
|
|
31
|
+
configurable: true,
|
|
32
|
+
enumerable: true,
|
|
33
|
+
value,
|
|
34
|
+
writable: true,
|
|
35
|
+
});
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const existing = current[segment];
|
|
39
|
+
const next = isRecord(existing) ? existing : {};
|
|
40
|
+
if (next !== existing) {
|
|
41
|
+
Object.defineProperty(current, segment, {
|
|
42
|
+
configurable: true,
|
|
43
|
+
enumerable: true,
|
|
44
|
+
value: next,
|
|
45
|
+
writable: true,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
current = next;
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
const isPublicDocument = (value) => value._trashed !== true && value._visibility !== 'draft' && value._visibility !== 'trash';
|
|
31
52
|
const getAllowedSourceContentType = (sourceContentTypeName) => {
|
|
32
53
|
const contentType = (0, Registry_1.getContentTypeByName)(sourceContentTypeName);
|
|
33
|
-
return (0, dynamicData_1.isDynamicDataSourceContentTypeAllowed)(contentType)
|
|
34
|
-
|
|
54
|
+
return (0, dynamicData_1.isDynamicDataSourceContentTypeAllowed)(contentType) ? contentType : undefined;
|
|
55
|
+
};
|
|
56
|
+
const getDynamicTargetField = (contentType, path) => {
|
|
57
|
+
const [fieldName, ...rest] = path.split('.');
|
|
58
|
+
const field = contentType.fields[fieldName];
|
|
59
|
+
if (!field || !contentType.allowsDynamicBindingForField(fieldName)) {
|
|
60
|
+
return undefined;
|
|
61
|
+
}
|
|
62
|
+
if (rest.length === 0)
|
|
63
|
+
return field;
|
|
64
|
+
return rest.length === 1 &&
|
|
65
|
+
field.meta.capabilities.dynamic?.mapProperties === true &&
|
|
66
|
+
field.meta.capabilities.dynamic?.properties?.[rest[0]]
|
|
67
|
+
? field
|
|
35
68
|
: undefined;
|
|
36
69
|
};
|
|
37
|
-
const fileSourcePaths = new Set([
|
|
38
|
-
"url",
|
|
39
|
-
"previewUrl",
|
|
40
|
-
"name",
|
|
41
|
-
"title",
|
|
42
|
-
"alt",
|
|
43
|
-
"mime",
|
|
44
|
-
"srcSet",
|
|
45
|
-
"width",
|
|
46
|
-
"height",
|
|
47
|
-
"size",
|
|
48
|
-
]);
|
|
49
|
-
const linkSourcePaths = new Set(["href", "title"]);
|
|
50
70
|
const isDynamicSourcePathAllowed = (contentType, path, depth = 0) => {
|
|
51
71
|
if (!path)
|
|
52
72
|
return false;
|
|
53
|
-
const [fieldName, ...rest] = path.split(
|
|
73
|
+
const [fieldName, ...rest] = path.split('.');
|
|
54
74
|
const field = contentType.fields[fieldName];
|
|
55
75
|
if (!field || !contentType.allowsDynamicBindingForField(fieldName)) {
|
|
56
76
|
return false;
|
|
57
77
|
}
|
|
58
78
|
if (rest.length === 0)
|
|
59
79
|
return true;
|
|
60
|
-
if (field.meta.
|
|
61
|
-
|
|
62
|
-
depth < 3) {
|
|
63
|
-
return isDynamicSourcePathAllowed(field.contentType, rest.join("."), depth + 1);
|
|
64
|
-
}
|
|
65
|
-
if (field.meta.type === "File") {
|
|
66
|
-
return rest.length === 1 && fileSourcePaths.has(rest[0]);
|
|
67
|
-
}
|
|
68
|
-
if (field.meta.type === "Link") {
|
|
69
|
-
return rest.length === 1 && linkSourcePaths.has(rest[0]);
|
|
80
|
+
if (field.meta.capabilities.dynamic?.relation === true && 'contentType' in field && depth < 3) {
|
|
81
|
+
return isDynamicSourcePathAllowed(field.contentType, rest.join('.'), depth + 1);
|
|
70
82
|
}
|
|
71
|
-
return
|
|
83
|
+
return rest.length === 1 && !!field.meta.capabilities.dynamic?.properties?.[rest[0]];
|
|
72
84
|
};
|
|
73
85
|
const getDynamicSourceField = (contentType, path, depth = 0) => {
|
|
74
86
|
if (!path)
|
|
75
87
|
return undefined;
|
|
76
|
-
const [fieldName, ...rest] = path.split(
|
|
88
|
+
const [fieldName, ...rest] = path.split('.');
|
|
77
89
|
const field = contentType.fields[fieldName];
|
|
78
90
|
if (!field || !contentType.allowsDynamicBindingForField(fieldName)) {
|
|
79
91
|
return undefined;
|
|
80
92
|
}
|
|
81
93
|
if (rest.length === 0)
|
|
82
94
|
return field;
|
|
83
|
-
if (field.meta.
|
|
84
|
-
|
|
85
|
-
depth < 3) {
|
|
86
|
-
return getDynamicSourceField(field.contentType, rest.join("."), depth + 1);
|
|
95
|
+
if (field.meta.capabilities.dynamic?.relation === true && 'contentType' in field && depth < 3) {
|
|
96
|
+
return getDynamicSourceField(field.contentType, rest.join('.'), depth + 1);
|
|
87
97
|
}
|
|
88
98
|
return undefined;
|
|
89
99
|
};
|
|
90
100
|
const isArraySourceField = (field) => {
|
|
91
101
|
if (!field)
|
|
92
102
|
return false;
|
|
93
|
-
|
|
94
|
-
return true;
|
|
95
|
-
return "isMultiple" in field.meta && field.meta.isMultiple === true;
|
|
103
|
+
return field.meta.capabilities.valueKind === 'array';
|
|
96
104
|
};
|
|
97
105
|
const getRelationTarget = (field) => {
|
|
98
106
|
if (!field || field.getIsTranslatable())
|
|
99
107
|
return undefined;
|
|
100
|
-
if (field.meta.
|
|
108
|
+
if (field.meta.capabilities.dynamic?.relation === true && 'contentType' in field) {
|
|
101
109
|
return field.contentType;
|
|
102
110
|
}
|
|
103
|
-
if (field.meta.
|
|
111
|
+
if (field.meta.capabilities.dynamic?.collection === 'homogeneous' && 'field' in field) {
|
|
104
112
|
const itemField = field.field;
|
|
105
|
-
if (itemField.meta.
|
|
113
|
+
if (itemField.meta.capabilities.dynamic?.relation === true && 'contentType' in itemField) {
|
|
106
114
|
return itemField.contentType;
|
|
107
115
|
}
|
|
108
116
|
}
|
|
@@ -112,8 +120,8 @@ const getDocumentListItemContentType = (field, itemName) => {
|
|
|
112
120
|
if (!field || !isArraySourceField(field) || field.getIsTranslatable()) {
|
|
113
121
|
return undefined;
|
|
114
122
|
}
|
|
115
|
-
if (
|
|
116
|
-
|
|
123
|
+
if (field.meta.capabilities.dynamic?.collection === 'heterogeneous' &&
|
|
124
|
+
'fields' in field &&
|
|
117
125
|
Array.isArray(field.fields)) {
|
|
118
126
|
if (!itemName)
|
|
119
127
|
return undefined;
|
|
@@ -143,7 +151,7 @@ const loadSourceDocument = async (db, source) => {
|
|
|
143
151
|
if (!item || !isPublicDocument(item)) {
|
|
144
152
|
return undefined;
|
|
145
153
|
}
|
|
146
|
-
return (await (0, populateRelations_1.populateRelations)(await (0, populateLinks_1.
|
|
154
|
+
return (await (0, populateRelations_1.populateRelations)(await (0, populateLinks_1.populateFields)(item)));
|
|
147
155
|
};
|
|
148
156
|
const resolveSourceValue = async ({ db, source, currentSource, currentContentType, allowCurrentSource, contextSource, }) => {
|
|
149
157
|
const usesCurrentRecord = allowCurrentSource === true &&
|
|
@@ -166,8 +174,8 @@ const resolveSourceValue = async ({ db, source, currentSource, currentContentTyp
|
|
|
166
174
|
: await loadSourceDocument(db, source);
|
|
167
175
|
if (!sourceDocument)
|
|
168
176
|
return undefined;
|
|
169
|
-
if (source.virtual ===
|
|
170
|
-
const sourceId = typeof sourceDocument._id ===
|
|
177
|
+
if (source.virtual === 'href') {
|
|
178
|
+
const sourceId = typeof sourceDocument._id === 'string' ? sourceDocument._id : source.id;
|
|
171
179
|
return sourceId ? await resolveHref(source, sourceId) : undefined;
|
|
172
180
|
}
|
|
173
181
|
if (!isDynamicSourcePathAllowed(sourceContentType, source.path)) {
|
|
@@ -175,17 +183,17 @@ const resolveSourceValue = async ({ db, source, currentSource, currentContentTyp
|
|
|
175
183
|
}
|
|
176
184
|
return getAtPath(sourceDocument, source.path);
|
|
177
185
|
};
|
|
178
|
-
const isRelatedCollectionSource = (source) =>
|
|
179
|
-
const isNestedListSource = (source) =>
|
|
186
|
+
const isRelatedCollectionSource = (source) => 'kind' in source && source.kind === 'relatedCollection';
|
|
187
|
+
const isNestedListSource = (source) => 'kind' in source && source.kind === 'list';
|
|
180
188
|
const addPublicContentFilter = (query) => ({
|
|
181
189
|
...query,
|
|
182
190
|
filter: {
|
|
183
191
|
...query.filter,
|
|
184
192
|
_trashed: { $ne: true },
|
|
185
|
-
_visibility: { $nin: [
|
|
193
|
+
_visibility: { $nin: ['draft', 'trash'] },
|
|
186
194
|
},
|
|
187
195
|
});
|
|
188
|
-
const isDynamicQueryCurrentPathAllowed = (contentType, path) => path ===
|
|
196
|
+
const isDynamicQueryCurrentPathAllowed = (contentType, path) => path === '_id' || isDynamicSourcePathAllowed(contentType, path);
|
|
189
197
|
const resolveDynamicQueryValue = (value, currentItem, currentItemContentType, currentDocument, currentDocumentContentType) => {
|
|
190
198
|
const currentValue = dynamicData_1.DynamicQueryCurrentValueSchema.safeParse(value);
|
|
191
199
|
if (currentValue.success) {
|
|
@@ -194,9 +202,7 @@ const resolveDynamicQueryValue = (value, currentItem, currentItemContentType, cu
|
|
|
194
202
|
return { success: false };
|
|
195
203
|
}
|
|
196
204
|
const resolved = getAtPath(currentItem, path);
|
|
197
|
-
return resolved === undefined
|
|
198
|
-
? { success: false }
|
|
199
|
-
: { success: true, value: resolved };
|
|
205
|
+
return resolved === undefined ? { success: false } : { success: true, value: resolved };
|
|
200
206
|
}
|
|
201
207
|
const documentValue = dynamicData_1.DynamicQueryDocumentValueSchema.safeParse(value);
|
|
202
208
|
if (documentValue.success) {
|
|
@@ -205,9 +211,7 @@ const resolveDynamicQueryValue = (value, currentItem, currentItemContentType, cu
|
|
|
205
211
|
return { success: false };
|
|
206
212
|
}
|
|
207
213
|
const resolved = getAtPath(currentDocument, path);
|
|
208
|
-
return resolved === undefined
|
|
209
|
-
? { success: false }
|
|
210
|
-
: { success: true, value: resolved };
|
|
214
|
+
return resolved === undefined ? { success: false } : { success: true, value: resolved };
|
|
211
215
|
}
|
|
212
216
|
if (Array.isArray(value)) {
|
|
213
217
|
const items = [];
|
|
@@ -231,12 +235,12 @@ const resolveDynamicQueryValue = (value, currentItem, currentItemContentType, cu
|
|
|
231
235
|
}
|
|
232
236
|
return { success: true, value };
|
|
233
237
|
};
|
|
234
|
-
const resolveRelatedCollectionValue = async ({ db, source, currentSource, currentContentType, populateDocument = async (sourceItem) => (await (0, populateRelations_1.populateRelations)(await (0, populateLinks_1.
|
|
238
|
+
const resolveRelatedCollectionValue = async ({ db, source, currentSource, currentContentType, populateDocument = async (sourceItem) => (await (0, populateRelations_1.populateRelations)(await (0, populateLinks_1.populateFields)(sourceItem))), }) => {
|
|
235
239
|
if (!(0, dynamicData_1.isDynamicDataSourceContentTypeAllowed)(currentContentType)) {
|
|
236
240
|
return undefined;
|
|
237
241
|
}
|
|
238
242
|
const sourceId = currentSource._id;
|
|
239
|
-
if (typeof sourceId !==
|
|
243
|
+
if (typeof sourceId !== 'string')
|
|
240
244
|
return undefined;
|
|
241
245
|
const relatedContentType = getAllowedSourceContentType(source.contentType);
|
|
242
246
|
if (!relatedContentType)
|
|
@@ -268,16 +272,16 @@ const resolveRelatedCollectionValue = async ({ db, source, currentSource, curren
|
|
|
268
272
|
exports.resolveRelatedCollectionValue = resolveRelatedCollectionValue;
|
|
269
273
|
const resolveListMapSourceValue = async ({ db, source, targetField, currentSource, currentContentType, contextSource, }) => {
|
|
270
274
|
if (isNestedListSource(source)) {
|
|
271
|
-
|
|
272
|
-
if (!targetContentType)
|
|
275
|
+
if (!targetField || !getDynamicListTarget(targetField, source.itemName)) {
|
|
273
276
|
return undefined;
|
|
277
|
+
}
|
|
274
278
|
return await resolveListBinding({
|
|
275
279
|
db,
|
|
276
280
|
binding: source,
|
|
277
281
|
contextSource,
|
|
278
282
|
currentDocument: currentSource,
|
|
279
283
|
currentDocumentContentType: currentContentType,
|
|
280
|
-
|
|
284
|
+
targetField,
|
|
281
285
|
});
|
|
282
286
|
}
|
|
283
287
|
if (isRelatedCollectionSource(source)) {
|
|
@@ -297,7 +301,7 @@ const resolveListMapSourceValue = async ({ db, source, targetField, currentSourc
|
|
|
297
301
|
contextSource,
|
|
298
302
|
});
|
|
299
303
|
};
|
|
300
|
-
const resolveListBinding = async ({ db, binding, contextSource, currentDocument, currentDocumentContentType,
|
|
304
|
+
const resolveListBinding = async ({ db, binding, contextSource, currentDocument, currentDocumentContentType, targetField, }) => {
|
|
301
305
|
const documentSource = binding.source;
|
|
302
306
|
const rootDocumentSource = contextSource ?? {
|
|
303
307
|
contentType: currentDocumentContentType,
|
|
@@ -309,6 +313,9 @@ const resolveListBinding = async ({ db, binding, contextSource, currentDocument,
|
|
|
309
313
|
if (!sourceContentType) {
|
|
310
314
|
return undefined;
|
|
311
315
|
}
|
|
316
|
+
const target = getDynamicListTarget(targetField, binding.itemName);
|
|
317
|
+
if (!target)
|
|
318
|
+
return undefined;
|
|
312
319
|
let sourceItems;
|
|
313
320
|
if (documentSource) {
|
|
314
321
|
if (documentSource.contentType !== currentDocumentContentType.name) {
|
|
@@ -323,9 +330,7 @@ const resolveListBinding = async ({ db, binding, contextSource, currentDocument,
|
|
|
323
330
|
if (!Array.isArray(value))
|
|
324
331
|
return undefined;
|
|
325
332
|
sourceItems = documentSource.itemName
|
|
326
|
-
? value.flatMap((item) => isRecord(item) &&
|
|
327
|
-
item.name === documentSource.itemName &&
|
|
328
|
-
"value" in item
|
|
333
|
+
? value.flatMap((item) => isRecord(item) && item.name === documentSource.itemName && 'value' in item
|
|
329
334
|
? [item.value]
|
|
330
335
|
: [])
|
|
331
336
|
: value;
|
|
@@ -346,106 +351,148 @@ const resolveListBinding = async ({ db, binding, contextSource, currentDocument,
|
|
|
346
351
|
return undefined;
|
|
347
352
|
const populated = documentSource
|
|
348
353
|
? sourceItem
|
|
349
|
-
: (await (0, populateRelations_1.populateRelations)(await (0, populateLinks_1.
|
|
350
|
-
const
|
|
351
|
-
|
|
352
|
-
targetField,
|
|
354
|
+
: (await (0, populateRelations_1.populateRelations)(await (0, populateLinks_1.populateFields)(sourceItem)));
|
|
355
|
+
const mappedEntries = await Promise.all(Object.entries(binding.map).map(async ([targetPath, source]) => [
|
|
356
|
+
targetPath,
|
|
353
357
|
await resolveListMapSourceValue({
|
|
354
358
|
db,
|
|
355
359
|
source,
|
|
356
|
-
targetField:
|
|
360
|
+
targetField: target.kind === 'linkArray'
|
|
361
|
+
? undefined
|
|
362
|
+
: getDynamicTargetField(target.contentType, targetPath),
|
|
357
363
|
currentSource: populated,
|
|
358
364
|
currentContentType: sourceContentType,
|
|
359
365
|
contextSource: rootDocumentSource,
|
|
360
366
|
}),
|
|
361
|
-
]))
|
|
367
|
+
]));
|
|
368
|
+
const mapped = {};
|
|
369
|
+
mappedEntries
|
|
370
|
+
.sort(([left], [right]) => left.split('.').length - right.split('.').length)
|
|
371
|
+
.forEach(([targetPath, value]) => setAtPath(mapped, targetPath, value));
|
|
372
|
+
if (target.kind === 'linkArray')
|
|
373
|
+
return mapped;
|
|
374
|
+
const targetValue = {
|
|
375
|
+
_id: typeof sourceItem._id === 'string'
|
|
376
|
+
? `${binding.itemName}:${sourceItem._id}`
|
|
377
|
+
: `${binding.itemName}:${index}`,
|
|
378
|
+
_type: target.contentType.name,
|
|
379
|
+
...mapped,
|
|
380
|
+
};
|
|
381
|
+
if (target.kind === 'relationArray')
|
|
382
|
+
return targetValue;
|
|
362
383
|
return {
|
|
363
384
|
name: binding.itemName,
|
|
364
|
-
value:
|
|
365
|
-
_id: typeof sourceItem._id === "string"
|
|
366
|
-
? `${binding.itemName}:${sourceItem._id}`
|
|
367
|
-
: `${binding.itemName}:${index}`,
|
|
368
|
-
_type: itemContentTypeName,
|
|
369
|
-
...mapped,
|
|
370
|
-
},
|
|
385
|
+
value: targetValue,
|
|
371
386
|
};
|
|
372
387
|
}));
|
|
373
388
|
return resolvedItems.filter((item) => item !== undefined);
|
|
374
389
|
};
|
|
375
|
-
const
|
|
376
|
-
if (!field ||
|
|
390
|
+
const getBlocksTargetContentType = (field, itemName) => {
|
|
391
|
+
if (!field || field.meta.capabilities.dynamic?.collection !== 'heterogeneous') {
|
|
377
392
|
return undefined;
|
|
378
393
|
}
|
|
379
|
-
if (!(
|
|
394
|
+
if (!('fields' in field) || !Array.isArray(field.fields)) {
|
|
380
395
|
return undefined;
|
|
381
396
|
}
|
|
382
397
|
const entry = field.fields.find((item) => item.name === itemName);
|
|
383
398
|
if (!entry ||
|
|
384
|
-
entry.field.meta.
|
|
385
|
-
!(
|
|
399
|
+
entry.field.meta.capabilities.dynamic?.relation !== true ||
|
|
400
|
+
!('contentType' in entry.field)) {
|
|
386
401
|
return undefined;
|
|
387
402
|
}
|
|
388
403
|
return entry.field.contentType;
|
|
389
404
|
};
|
|
390
|
-
const
|
|
405
|
+
const getSimpleListItemField = (field) => {
|
|
406
|
+
if (!field ||
|
|
407
|
+
field.meta.capabilities.dynamic?.collection !== 'homogeneous' ||
|
|
408
|
+
!('field' in field)) {
|
|
409
|
+
return undefined;
|
|
410
|
+
}
|
|
411
|
+
return field.field;
|
|
412
|
+
};
|
|
413
|
+
const getDynamicListTarget = (field, itemName) => {
|
|
414
|
+
const blocksContentType = getBlocksTargetContentType(field, itemName);
|
|
415
|
+
if (blocksContentType) {
|
|
416
|
+
return { kind: 'blocks', contentType: blocksContentType };
|
|
417
|
+
}
|
|
418
|
+
const itemField = getSimpleListItemField(field);
|
|
419
|
+
if (!itemField)
|
|
420
|
+
return undefined;
|
|
421
|
+
if (itemField.meta.capabilities.dynamic?.relation === true && 'contentType' in itemField) {
|
|
422
|
+
const contentType = itemField.contentType;
|
|
423
|
+
if (itemName !== contentType.name)
|
|
424
|
+
return undefined;
|
|
425
|
+
return {
|
|
426
|
+
kind: 'relationArray',
|
|
427
|
+
contentType,
|
|
428
|
+
};
|
|
429
|
+
}
|
|
430
|
+
const itemTypeName = itemField.meta.editor ?? itemField.meta.type;
|
|
431
|
+
return itemField.meta.capabilities.dynamic?.mapProperties === true &&
|
|
432
|
+
itemField.meta.capabilities.dynamic?.properties &&
|
|
433
|
+
itemName === itemTypeName
|
|
434
|
+
? { kind: 'linkArray' }
|
|
435
|
+
: undefined;
|
|
436
|
+
};
|
|
437
|
+
const getDynamicListItemContentTypeName = (field, itemName) => {
|
|
438
|
+
const target = getDynamicListTarget(field, itemName);
|
|
439
|
+
return target && target.kind !== 'linkArray' ? target.contentType.name : itemName;
|
|
440
|
+
};
|
|
391
441
|
exports.getDynamicListItemContentTypeName = getDynamicListItemContentTypeName;
|
|
392
442
|
const filterListBindingMap = (contentType, fieldName, binding) => {
|
|
393
|
-
|
|
394
|
-
if (!targetContentType)
|
|
395
|
-
return binding;
|
|
396
|
-
return filterListBindingForTarget(targetContentType, binding);
|
|
443
|
+
return filterListBindingForTarget(contentType.fields[fieldName], binding);
|
|
397
444
|
};
|
|
398
|
-
const filterListBindingForTarget = (
|
|
445
|
+
const filterListBindingForTarget = (targetField, binding) => {
|
|
446
|
+
const target = getDynamicListTarget(targetField, binding.itemName);
|
|
447
|
+
if (!target)
|
|
448
|
+
return { ...binding, map: {} };
|
|
399
449
|
return {
|
|
400
450
|
...binding,
|
|
401
|
-
map: Object.fromEntries(Object.entries(binding.map).flatMap(([
|
|
402
|
-
if (
|
|
451
|
+
map: Object.fromEntries(Object.entries(binding.map).flatMap(([targetPath, source]) => {
|
|
452
|
+
if (target.kind === 'linkArray') {
|
|
453
|
+
return targetField &&
|
|
454
|
+
'field' in targetField &&
|
|
455
|
+
!!targetField.field.meta.capabilities.dynamic
|
|
456
|
+
?.properties?.[targetPath] &&
|
|
457
|
+
!isNestedListSource(source)
|
|
458
|
+
? [[targetPath, source]]
|
|
459
|
+
: [];
|
|
460
|
+
}
|
|
461
|
+
const field = getDynamicTargetField(target.contentType, targetPath);
|
|
462
|
+
if (!field) {
|
|
403
463
|
return [];
|
|
404
464
|
}
|
|
405
465
|
if (!isNestedListSource(source)) {
|
|
406
|
-
return [[
|
|
466
|
+
return [[targetPath, source]];
|
|
407
467
|
}
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
targetField,
|
|
413
|
-
filterListBindingForTarget(nestedTargetContentType, source),
|
|
414
|
-
],
|
|
415
|
-
]
|
|
416
|
-
: [];
|
|
468
|
+
if (targetPath.includes('.'))
|
|
469
|
+
return [];
|
|
470
|
+
const nestedTarget = getDynamicListTarget(field, source.itemName);
|
|
471
|
+
return nestedTarget ? [[targetPath, filterListBindingForTarget(field, source)]] : [];
|
|
417
472
|
})),
|
|
418
473
|
};
|
|
419
474
|
};
|
|
420
475
|
const getListItemStableKey = (item) => {
|
|
421
476
|
if (!isRecord(item))
|
|
422
477
|
return undefined;
|
|
423
|
-
const name = typeof item.name ===
|
|
478
|
+
const name = typeof item.name === 'string' ? item.name : '';
|
|
424
479
|
const value = item.value;
|
|
425
|
-
if (isRecord(value) && typeof value._id ===
|
|
426
|
-
const id = value._id.startsWith(`${name}:`)
|
|
427
|
-
? value._id.slice(name.length + 1)
|
|
428
|
-
: value._id;
|
|
480
|
+
if (isRecord(value) && typeof value._id === 'string') {
|
|
481
|
+
const id = value._id.startsWith(`${name}:`) ? value._id.slice(name.length + 1) : value._id;
|
|
429
482
|
return `${name}:${id}`;
|
|
430
483
|
}
|
|
431
|
-
if (isRecord(value) &&
|
|
432
|
-
isRecord(value.data) &&
|
|
433
|
-
typeof value.data._id === "string") {
|
|
484
|
+
if (isRecord(value) && isRecord(value.data) && typeof value.data._id === 'string') {
|
|
434
485
|
return `${name}:${value.data._id}`;
|
|
435
486
|
}
|
|
436
487
|
return undefined;
|
|
437
488
|
};
|
|
438
489
|
const isListValueItem = (item) => isRecord(item) &&
|
|
439
|
-
typeof item.name ===
|
|
440
|
-
Object.prototype.hasOwnProperty.call(item,
|
|
490
|
+
typeof item.name === 'string' &&
|
|
491
|
+
Object.prototype.hasOwnProperty.call(item, 'value') &&
|
|
441
492
|
item.value !== undefined;
|
|
442
493
|
const mergeDynamicListItems = (currentValue, resolvedValue) => {
|
|
443
|
-
const currentItems = Array.isArray(currentValue)
|
|
444
|
-
|
|
445
|
-
: [];
|
|
446
|
-
const resolvedItems = Array.isArray(resolvedValue)
|
|
447
|
-
? resolvedValue.filter(isListValueItem)
|
|
448
|
-
: [];
|
|
494
|
+
const currentItems = Array.isArray(currentValue) ? currentValue.filter(isListValueItem) : [];
|
|
495
|
+
const resolvedItems = Array.isArray(resolvedValue) ? resolvedValue.filter(isListValueItem) : [];
|
|
449
496
|
const seen = new Set();
|
|
450
497
|
const merged = [];
|
|
451
498
|
for (const item of [...resolvedItems, ...currentItems]) {
|
|
@@ -460,6 +507,20 @@ const mergeDynamicListItems = (currentValue, resolvedValue) => {
|
|
|
460
507
|
return merged;
|
|
461
508
|
};
|
|
462
509
|
exports.mergeDynamicListItems = mergeDynamicListItems;
|
|
510
|
+
const mergeDynamicArrayItems = (currentValue, resolvedValue) => {
|
|
511
|
+
const currentItems = Array.isArray(currentValue) ? currentValue : [];
|
|
512
|
+
const resolvedItems = Array.isArray(resolvedValue) ? resolvedValue : [];
|
|
513
|
+
const seenIds = new Set();
|
|
514
|
+
return [...resolvedItems, ...currentItems].filter((item) => {
|
|
515
|
+
if (!isRecord(item) || typeof item._id !== 'string')
|
|
516
|
+
return true;
|
|
517
|
+
if (seenIds.has(item._id))
|
|
518
|
+
return false;
|
|
519
|
+
seenIds.add(item._id);
|
|
520
|
+
return true;
|
|
521
|
+
});
|
|
522
|
+
};
|
|
523
|
+
exports.mergeDynamicArrayItems = mergeDynamicArrayItems;
|
|
463
524
|
const resolveRecordBindings = async ({ db, contentType, value, contextSource, }) => {
|
|
464
525
|
const bindings = (0, dynamicData_1.getDynamicDocumentBindings)(value[dynamicData_1.DYNAMIC_BINDINGS_FIELD_NAME]);
|
|
465
526
|
if (!bindings)
|
|
@@ -481,13 +542,14 @@ const resolveRecordBindings = async ({ db, contentType, value, contextSource, })
|
|
|
481
542
|
}
|
|
482
543
|
}
|
|
483
544
|
catch (error) {
|
|
484
|
-
Logger_1.Logger.error(
|
|
545
|
+
Logger_1.Logger.error('dynamicData: field binding failed', error);
|
|
485
546
|
}
|
|
486
547
|
}
|
|
487
548
|
for (const [field, binding] of Object.entries(bindings.lists ?? {})) {
|
|
488
549
|
if (!contentType.allowsDynamicBindingForField(field))
|
|
489
550
|
continue;
|
|
490
551
|
try {
|
|
552
|
+
const targetField = contentType.fields[field];
|
|
491
553
|
const filteredBinding = filterListBindingMap(contentType, field, binding);
|
|
492
554
|
const resolved = await resolveListBinding({
|
|
493
555
|
db,
|
|
@@ -495,14 +557,17 @@ const resolveRecordBindings = async ({ db, contentType, value, contextSource, })
|
|
|
495
557
|
contextSource,
|
|
496
558
|
currentDocument: contextSource?.value ?? next,
|
|
497
559
|
currentDocumentContentType: contextSource?.contentType ?? contentType,
|
|
498
|
-
|
|
560
|
+
targetField,
|
|
499
561
|
});
|
|
500
562
|
if (resolved !== undefined) {
|
|
501
|
-
next[field] =
|
|
563
|
+
next[field] =
|
|
564
|
+
targetField.meta.capabilities.dynamic?.collection === 'homogeneous'
|
|
565
|
+
? (0, exports.mergeDynamicArrayItems)(next[field], resolved)
|
|
566
|
+
: (0, exports.mergeDynamicListItems)(next[field], resolved);
|
|
502
567
|
}
|
|
503
568
|
}
|
|
504
569
|
catch (error) {
|
|
505
|
-
Logger_1.Logger.error(
|
|
570
|
+
Logger_1.Logger.error('dynamicData: list binding failed', error);
|
|
506
571
|
}
|
|
507
572
|
}
|
|
508
573
|
return next;
|
|
@@ -514,9 +579,7 @@ const resolveDynamicData = async (value, options) => {
|
|
|
514
579
|
if (!isRecord(value))
|
|
515
580
|
return value;
|
|
516
581
|
const contentType = options.contentType ??
|
|
517
|
-
(typeof value._type ===
|
|
518
|
-
? (0, Registry_1.getContentTypeByName)(value._type)
|
|
519
|
-
: undefined);
|
|
582
|
+
(typeof value._type === 'string' ? (0, Registry_1.getContentTypeByName)(value._type) : undefined);
|
|
520
583
|
const boundValue = contentType
|
|
521
584
|
? await resolveRecordBindings({
|
|
522
585
|
db: options.db,
|