payload 3.0.0-beta.4 → 3.0.0-beta.40
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/auth.d.ts +1 -1
- package/auth.js +1 -1
- package/components.d.ts +14 -0
- package/components.js +71 -0
- package/dist/admin/LanguageOptions.d.ts +5 -0
- package/dist/admin/LanguageOptions.d.ts.map +1 -0
- package/dist/admin/LanguageOptions.js +3 -0
- package/dist/admin/LanguageOptions.js.map +1 -0
- package/dist/admin/RichText.d.ts +30 -15
- package/dist/admin/RichText.d.ts.map +1 -1
- package/dist/admin/RichText.js.map +1 -1
- package/dist/admin/elements/Cell.d.ts +2 -7
- package/dist/admin/elements/Cell.d.ts.map +1 -1
- package/dist/admin/elements/Cell.js.map +1 -1
- package/dist/admin/elements/Tab.d.ts +4 -0
- package/dist/admin/elements/Tab.d.ts.map +1 -1
- package/dist/admin/elements/Tab.js.map +1 -1
- package/dist/admin/elements/WithServerSideProps.d.ts +6 -2
- package/dist/admin/elements/WithServerSideProps.d.ts.map +1 -1
- package/dist/admin/elements/WithServerSideProps.js.map +1 -1
- package/dist/admin/forms/Error.d.ts +1 -0
- package/dist/admin/forms/Error.d.ts.map +1 -1
- package/dist/admin/forms/FieldDescription.d.ts +1 -1
- package/dist/admin/forms/FieldDescription.d.ts.map +1 -1
- package/dist/admin/forms/FieldDescription.js.map +1 -1
- package/dist/admin/forms/FieldTypes.d.ts +1 -0
- package/dist/admin/forms/FieldTypes.d.ts.map +1 -1
- package/dist/admin/forms/Label.d.ts +3 -2
- package/dist/admin/forms/Label.d.ts.map +1 -1
- package/dist/admin/forms/Label.js.map +1 -1
- package/dist/admin/forms/RowLabel.d.ts +1 -1
- package/dist/admin/forms/RowLabel.d.ts.map +1 -1
- package/dist/admin/forms/RowLabel.js.map +1 -1
- package/dist/admin/types.d.ts +4 -3
- package/dist/admin/types.d.ts.map +1 -1
- package/dist/admin/types.js.map +1 -1
- package/dist/admin/views/types.d.ts +7 -4
- package/dist/admin/views/types.d.ts.map +1 -1
- package/dist/admin/views/types.js.map +1 -1
- package/dist/auth/baseFields/apiKey.d.ts.map +1 -1
- package/dist/auth/baseFields/apiKey.js +6 -4
- package/dist/auth/baseFields/apiKey.js.map +1 -1
- package/dist/auth/cookies.d.ts +16 -4
- package/dist/auth/cookies.d.ts.map +1 -1
- package/dist/auth/cookies.js +45 -14
- package/dist/auth/cookies.js.map +1 -1
- package/dist/auth/defaultAccess.d.ts +2 -2
- package/dist/auth/defaultAccess.d.ts.map +1 -1
- package/dist/auth/defaultAccess.js.map +1 -1
- package/dist/auth/executeAccess.d.ts +2 -2
- package/dist/auth/executeAccess.d.ts.map +1 -1
- package/dist/auth/executeAccess.js.map +1 -1
- package/dist/auth/getAccessResults.d.ts +2 -2
- package/dist/auth/getAccessResults.d.ts.map +1 -1
- package/dist/auth/getAccessResults.js +1 -1
- package/dist/auth/getAccessResults.js.map +1 -1
- package/dist/auth/getFieldsToSign.d.ts +2 -2
- package/dist/auth/getFieldsToSign.d.ts.map +1 -1
- package/dist/auth/getFieldsToSign.js.map +1 -1
- package/dist/auth/operations/access.d.ts +2 -2
- package/dist/auth/operations/access.d.ts.map +1 -1
- package/dist/auth/operations/access.js.map +1 -1
- package/dist/auth/operations/auth.d.ts +2 -2
- package/dist/auth/operations/auth.d.ts.map +1 -1
- package/dist/auth/operations/auth.js.map +1 -1
- package/dist/auth/operations/forgotPassword.d.ts +2 -2
- package/dist/auth/operations/forgotPassword.d.ts.map +1 -1
- package/dist/auth/operations/forgotPassword.js +7 -8
- package/dist/auth/operations/forgotPassword.js.map +1 -1
- package/dist/auth/operations/init.d.ts +2 -2
- package/dist/auth/operations/init.d.ts.map +1 -1
- package/dist/auth/operations/init.js.map +1 -1
- package/dist/auth/operations/local/auth.js.map +1 -1
- package/dist/auth/operations/local/forgotPassword.d.ts +2 -2
- package/dist/auth/operations/local/forgotPassword.d.ts.map +1 -1
- package/dist/auth/operations/local/forgotPassword.js.map +1 -1
- package/dist/auth/operations/local/login.d.ts +2 -2
- package/dist/auth/operations/local/login.d.ts.map +1 -1
- package/dist/auth/operations/local/login.js.map +1 -1
- package/dist/auth/operations/local/resetPassword.d.ts +2 -2
- package/dist/auth/operations/local/resetPassword.d.ts.map +1 -1
- package/dist/auth/operations/local/resetPassword.js.map +1 -1
- package/dist/auth/operations/local/unlock.d.ts +2 -2
- package/dist/auth/operations/local/unlock.d.ts.map +1 -1
- package/dist/auth/operations/local/unlock.js.map +1 -1
- package/dist/auth/operations/local/verifyEmail.d.ts +2 -2
- package/dist/auth/operations/local/verifyEmail.d.ts.map +1 -1
- package/dist/auth/operations/local/verifyEmail.js.map +1 -1
- package/dist/auth/operations/login.d.ts +2 -2
- package/dist/auth/operations/login.d.ts.map +1 -1
- package/dist/auth/operations/login.js +21 -1
- package/dist/auth/operations/login.js.map +1 -1
- package/dist/auth/operations/logout.d.ts +2 -2
- package/dist/auth/operations/logout.d.ts.map +1 -1
- package/dist/auth/operations/logout.js.map +1 -1
- package/dist/auth/operations/me.d.ts +2 -2
- package/dist/auth/operations/me.d.ts.map +1 -1
- package/dist/auth/operations/me.js.map +1 -1
- package/dist/auth/operations/refresh.d.ts +2 -2
- package/dist/auth/operations/refresh.d.ts.map +1 -1
- package/dist/auth/operations/refresh.js.map +1 -1
- package/dist/auth/operations/registerFirstUser.d.ts +2 -2
- package/dist/auth/operations/registerFirstUser.d.ts.map +1 -1
- package/dist/auth/operations/registerFirstUser.js.map +1 -1
- package/dist/auth/operations/resetPassword.d.ts +2 -2
- package/dist/auth/operations/resetPassword.d.ts.map +1 -1
- package/dist/auth/operations/resetPassword.js.map +1 -1
- package/dist/auth/operations/unlock.d.ts +2 -2
- package/dist/auth/operations/unlock.d.ts.map +1 -1
- package/dist/auth/operations/unlock.js.map +1 -1
- package/dist/auth/operations/verifyEmail.d.ts +2 -2
- package/dist/auth/operations/verifyEmail.d.ts.map +1 -1
- package/dist/auth/operations/verifyEmail.js.map +1 -1
- package/dist/auth/sendVerificationEmail.d.ts +7 -8
- package/dist/auth/sendVerificationEmail.d.ts.map +1 -1
- package/dist/auth/sendVerificationEmail.js +7 -7
- package/dist/auth/sendVerificationEmail.js.map +1 -1
- package/dist/auth/strategies/local/incrementLoginAttempts.d.ts +2 -2
- package/dist/auth/strategies/local/incrementLoginAttempts.d.ts.map +1 -1
- package/dist/auth/strategies/local/incrementLoginAttempts.js.map +1 -1
- package/dist/auth/strategies/local/register.d.ts +2 -2
- package/dist/auth/strategies/local/register.d.ts.map +1 -1
- package/dist/auth/strategies/local/register.js +1 -1
- package/dist/auth/strategies/local/register.js.map +1 -1
- package/dist/auth/strategies/local/resetLoginAttempts.d.ts +2 -2
- package/dist/auth/strategies/local/resetLoginAttempts.d.ts.map +1 -1
- package/dist/auth/strategies/local/resetLoginAttempts.js.map +1 -1
- package/dist/auth/types.d.ts +6 -6
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/auth/types.js.map +1 -1
- package/dist/bin/generateTypes.d.ts +1 -1
- package/dist/bin/generateTypes.d.ts.map +1 -1
- package/dist/bin/generateTypes.js +12 -8
- package/dist/bin/generateTypes.js.map +1 -1
- package/dist/bin/loadEnv.d.ts +2 -2
- package/dist/bin/loadEnv.d.ts.map +1 -1
- package/dist/bin/loadEnv.js +18 -17
- package/dist/bin/loadEnv.js.map +1 -1
- package/dist/bin/loader/ignores.d.ts +2 -0
- package/dist/bin/loader/ignores.d.ts.map +1 -0
- package/dist/bin/loader/ignores.js +5 -0
- package/dist/bin/loader/ignores.js.map +1 -0
- package/dist/bin/loader/index.d.ts.map +1 -1
- package/dist/bin/loader/index.js +13 -15
- package/dist/bin/loader/index.js.map +1 -1
- package/dist/bin/loader/read-default-tsconfig.d.ts +25 -0
- package/dist/bin/loader/read-default-tsconfig.d.ts.map +1 -1
- package/dist/bin/loader/read-default-tsconfig.js +25 -1
- package/dist/bin/loader/read-default-tsconfig.js.map +1 -1
- package/dist/bin/loader/resolveOriginalPath.d.ts +10 -0
- package/dist/bin/loader/resolveOriginalPath.d.ts.map +1 -0
- package/dist/bin/loader/resolveOriginalPath.js +32 -0
- package/dist/bin/loader/resolveOriginalPath.js.map +1 -0
- package/dist/collections/config/client.d.ts +30 -3
- package/dist/collections/config/client.d.ts.map +1 -1
- package/dist/collections/config/client.js +3 -1
- package/dist/collections/config/client.js.map +1 -1
- package/dist/collections/config/defaults.d.ts +6 -5
- package/dist/collections/config/defaults.d.ts.map +1 -1
- package/dist/collections/config/defaults.js +1 -0
- package/dist/collections/config/defaults.js.map +1 -1
- package/dist/collections/config/sanitize.d.ts +2 -3
- package/dist/collections/config/sanitize.d.ts.map +1 -1
- package/dist/collections/config/sanitize.js +7 -4
- package/dist/collections/config/sanitize.js.map +1 -1
- package/dist/collections/config/schema.d.ts.map +1 -1
- package/dist/collections/config/schema.js +12 -2
- package/dist/collections/config/schema.js.map +1 -1
- package/dist/collections/config/types.d.ts +33 -18
- package/dist/collections/config/types.d.ts.map +1 -1
- package/dist/collections/config/types.js.map +1 -1
- package/dist/collections/dataloader.d.ts +14 -0
- package/dist/collections/dataloader.d.ts.map +1 -1
- package/dist/collections/dataloader.js +28 -13
- package/dist/collections/dataloader.js.map +1 -1
- package/dist/collections/operations/count.d.ts +13 -0
- package/dist/collections/operations/count.d.ts.map +1 -0
- package/dist/collections/operations/count.js +75 -0
- package/dist/collections/operations/count.js.map +1 -0
- package/dist/collections/operations/create.d.ts +2 -2
- package/dist/collections/operations/create.d.ts.map +1 -1
- package/dist/collections/operations/create.js +5 -4
- package/dist/collections/operations/create.js.map +1 -1
- package/dist/collections/operations/delete.d.ts +2 -2
- package/dist/collections/operations/delete.d.ts.map +1 -1
- package/dist/collections/operations/delete.js +1 -0
- package/dist/collections/operations/delete.js.map +1 -1
- package/dist/collections/operations/deleteByID.d.ts +2 -2
- package/dist/collections/operations/deleteByID.d.ts.map +1 -1
- package/dist/collections/operations/deleteByID.js +1 -0
- package/dist/collections/operations/deleteByID.js.map +1 -1
- package/dist/collections/operations/docAccess.d.ts +2 -2
- package/dist/collections/operations/docAccess.d.ts.map +1 -1
- package/dist/collections/operations/docAccess.js.map +1 -1
- package/dist/collections/operations/duplicate.d.ts +2 -2
- package/dist/collections/operations/duplicate.d.ts.map +1 -1
- package/dist/collections/operations/duplicate.js +2 -0
- package/dist/collections/operations/duplicate.js.map +1 -1
- package/dist/collections/operations/find.d.ts +2 -2
- package/dist/collections/operations/find.d.ts.map +1 -1
- package/dist/collections/operations/find.js +1 -0
- package/dist/collections/operations/find.js.map +1 -1
- package/dist/collections/operations/findByID.d.ts +2 -2
- package/dist/collections/operations/findByID.d.ts.map +1 -1
- package/dist/collections/operations/findByID.js +1 -0
- package/dist/collections/operations/findByID.js.map +1 -1
- package/dist/collections/operations/findVersionByID.d.ts +2 -2
- package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
- package/dist/collections/operations/findVersionByID.js +1 -0
- package/dist/collections/operations/findVersionByID.js.map +1 -1
- package/dist/collections/operations/findVersions.d.ts +2 -2
- package/dist/collections/operations/findVersions.d.ts.map +1 -1
- package/dist/collections/operations/findVersions.js +1 -0
- package/dist/collections/operations/findVersions.js.map +1 -1
- package/dist/collections/operations/local/count.d.ts +20 -0
- package/dist/collections/operations/local/count.d.ts.map +1 -0
- package/dist/collections/operations/local/count.js +19 -0
- package/dist/collections/operations/local/count.js.map +1 -0
- package/dist/collections/operations/local/create.d.ts +4 -4
- package/dist/collections/operations/local/create.d.ts.map +1 -1
- package/dist/collections/operations/local/create.js.map +1 -1
- package/dist/collections/operations/local/delete.d.ts +4 -4
- package/dist/collections/operations/local/delete.d.ts.map +1 -1
- package/dist/collections/operations/local/delete.js.map +1 -1
- package/dist/collections/operations/local/duplicate.d.ts +4 -4
- package/dist/collections/operations/local/duplicate.d.ts.map +1 -1
- package/dist/collections/operations/local/duplicate.js.map +1 -1
- package/dist/collections/operations/local/find.d.ts +4 -4
- package/dist/collections/operations/local/find.d.ts.map +1 -1
- package/dist/collections/operations/local/find.js.map +1 -1
- package/dist/collections/operations/local/findByID.d.ts +4 -4
- package/dist/collections/operations/local/findByID.d.ts.map +1 -1
- package/dist/collections/operations/local/findByID.js.map +1 -1
- package/dist/collections/operations/local/findVersionByID.d.ts +4 -4
- package/dist/collections/operations/local/findVersionByID.d.ts.map +1 -1
- package/dist/collections/operations/local/findVersionByID.js.map +1 -1
- package/dist/collections/operations/local/findVersions.d.ts +4 -4
- package/dist/collections/operations/local/findVersions.d.ts.map +1 -1
- package/dist/collections/operations/local/findVersions.js.map +1 -1
- package/dist/collections/operations/local/index.d.ts +2 -0
- package/dist/collections/operations/local/index.d.ts.map +1 -1
- package/dist/collections/operations/local/index.js +2 -0
- package/dist/collections/operations/local/index.js.map +1 -1
- package/dist/collections/operations/local/restoreVersion.d.ts +4 -4
- package/dist/collections/operations/local/restoreVersion.d.ts.map +1 -1
- package/dist/collections/operations/local/restoreVersion.js.map +1 -1
- package/dist/collections/operations/local/update.d.ts +4 -4
- package/dist/collections/operations/local/update.d.ts.map +1 -1
- package/dist/collections/operations/local/update.js.map +1 -1
- package/dist/collections/operations/restoreVersion.d.ts +2 -2
- package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
- package/dist/collections/operations/restoreVersion.js +2 -0
- package/dist/collections/operations/restoreVersion.js.map +1 -1
- package/dist/collections/operations/update.d.ts +2 -2
- package/dist/collections/operations/update.d.ts.map +1 -1
- package/dist/collections/operations/update.js +6 -3
- package/dist/collections/operations/update.js.map +1 -1
- package/dist/collections/operations/updateByID.d.ts +2 -2
- package/dist/collections/operations/updateByID.d.ts.map +1 -1
- package/dist/collections/operations/updateByID.js +5 -2
- package/dist/collections/operations/updateByID.js.map +1 -1
- package/dist/collections/operations/utils.d.ts +8 -2
- package/dist/collections/operations/utils.d.ts.map +1 -1
- package/dist/collections/operations/utils.js.map +1 -1
- package/dist/config/build.d.ts.map +1 -1
- package/dist/config/build.js +3 -4
- package/dist/config/build.js.map +1 -1
- package/dist/config/client.d.ts +2 -1
- package/dist/config/client.d.ts.map +1 -1
- package/dist/config/client.js +3 -1
- package/dist/config/client.js.map +1 -1
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +14 -3
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/find.d.ts.map +1 -1
- package/dist/config/find.js +27 -16
- package/dist/config/find.js.map +1 -1
- package/dist/config/sanitize.d.ts +1 -1
- package/dist/config/sanitize.d.ts.map +1 -1
- package/dist/config/sanitize.js +43 -10
- package/dist/config/sanitize.js.map +1 -1
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +21 -7
- package/dist/config/schema.js.map +1 -1
- package/dist/config/shared/openGraphSchema.d.ts +3 -0
- package/dist/config/shared/openGraphSchema.d.ts.map +1 -0
- package/dist/config/shared/openGraphSchema.js +16 -0
- package/dist/config/shared/openGraphSchema.js.map +1 -0
- package/dist/config/types.d.ts +146 -78
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +7 -13
- package/dist/config/types.js.map +1 -1
- package/dist/database/migrations/getPredefinedMigration.d.ts +12 -0
- package/dist/database/migrations/getPredefinedMigration.d.ts.map +1 -0
- package/dist/database/migrations/getPredefinedMigration.js +41 -0
- package/dist/database/migrations/getPredefinedMigration.js.map +1 -0
- package/dist/database/migrations/migrate.js.map +1 -1
- package/dist/database/migrations/migrateDown.js.map +1 -1
- package/dist/database/migrations/migrateRefresh.js.map +1 -1
- package/dist/database/migrations/migrateReset.js.map +1 -1
- package/dist/database/queryValidation/validateQueryPaths.d.ts +2 -2
- package/dist/database/queryValidation/validateQueryPaths.d.ts.map +1 -1
- package/dist/database/queryValidation/validateQueryPaths.js +1 -1
- package/dist/database/queryValidation/validateQueryPaths.js.map +1 -1
- package/dist/database/queryValidation/validateSearchParams.d.ts +2 -2
- package/dist/database/queryValidation/validateSearchParams.d.ts.map +1 -1
- package/dist/database/queryValidation/validateSearchParams.js.map +1 -1
- package/dist/database/types.d.ts +34 -19
- package/dist/database/types.d.ts.map +1 -1
- package/dist/database/types.js.map +1 -1
- package/dist/email/consoleEmailAdapter.d.ts +3 -0
- package/dist/email/consoleEmailAdapter.d.ts.map +1 -0
- package/dist/email/consoleEmailAdapter.js +17 -0
- package/dist/email/consoleEmailAdapter.js.map +1 -0
- package/dist/email/defaults.d.ts +2 -2
- package/dist/email/defaults.d.ts.map +1 -1
- package/dist/email/defaults.js +3 -3
- package/dist/email/defaults.js.map +1 -1
- package/dist/email/getStringifiedToAddress.d.ts +3 -0
- package/dist/email/getStringifiedToAddress.d.ts.map +1 -0
- package/dist/email/getStringifiedToAddress.js +20 -0
- package/dist/email/getStringifiedToAddress.js.map +1 -0
- package/dist/email/sendEmail.d.ts +3 -2
- package/dist/email/sendEmail.d.ts.map +1 -1
- package/dist/email/sendEmail.js +8 -4
- package/dist/email/sendEmail.js.map +1 -1
- package/dist/email/types.d.ts +26 -18
- package/dist/email/types.d.ts.map +1 -1
- package/dist/email/types.js +5 -1
- package/dist/email/types.js.map +1 -1
- package/dist/errors/APIError.d.ts +2 -2
- package/dist/errors/APIError.d.ts.map +1 -1
- package/dist/errors/APIError.js +1 -2
- package/dist/errors/APIError.js.map +1 -1
- package/dist/errors/AuthenticationError.d.ts +2 -3
- package/dist/errors/AuthenticationError.d.ts.map +1 -1
- package/dist/errors/AuthenticationError.js +2 -3
- package/dist/errors/AuthenticationError.js.map +1 -1
- package/dist/errors/DuplicateCollection.d.ts +2 -3
- package/dist/errors/DuplicateCollection.d.ts.map +1 -1
- package/dist/errors/DuplicateCollection.js +2 -3
- package/dist/errors/DuplicateCollection.js.map +1 -1
- package/dist/errors/DuplicateFieldName.d.ts +2 -3
- package/dist/errors/DuplicateFieldName.d.ts.map +1 -1
- package/dist/errors/DuplicateFieldName.js +2 -3
- package/dist/errors/DuplicateFieldName.js.map +1 -1
- package/dist/errors/DuplicateGlobal.d.ts +2 -3
- package/dist/errors/DuplicateGlobal.d.ts.map +1 -1
- package/dist/errors/DuplicateGlobal.js +2 -3
- package/dist/errors/DuplicateGlobal.js.map +1 -1
- package/dist/errors/ErrorDeletingFile.d.ts +2 -3
- package/dist/errors/ErrorDeletingFile.d.ts.map +1 -1
- package/dist/errors/ErrorDeletingFile.js +2 -3
- package/dist/errors/ErrorDeletingFile.js.map +1 -1
- package/dist/errors/FileRetrievalError.d.ts +6 -0
- package/dist/errors/FileRetrievalError.d.ts.map +1 -0
- package/dist/errors/FileRetrievalError.js +13 -0
- package/dist/errors/FileRetrievalError.js.map +1 -0
- package/dist/errors/FileUploadError.d.ts +2 -3
- package/dist/errors/FileUploadError.d.ts.map +1 -1
- package/dist/errors/FileUploadError.js +2 -3
- package/dist/errors/FileUploadError.js.map +1 -1
- package/dist/errors/Forbidden.d.ts +2 -3
- package/dist/errors/Forbidden.d.ts.map +1 -1
- package/dist/errors/Forbidden.js +2 -3
- package/dist/errors/Forbidden.js.map +1 -1
- package/dist/errors/InvalidConfiguration.d.ts +2 -3
- package/dist/errors/InvalidConfiguration.d.ts.map +1 -1
- package/dist/errors/InvalidConfiguration.js +2 -3
- package/dist/errors/InvalidConfiguration.js.map +1 -1
- package/dist/errors/InvalidFieldName.d.ts +2 -3
- package/dist/errors/InvalidFieldName.d.ts.map +1 -1
- package/dist/errors/InvalidFieldName.js +2 -3
- package/dist/errors/InvalidFieldName.js.map +1 -1
- package/dist/errors/InvalidFieldRelationship.d.ts +2 -3
- package/dist/errors/InvalidFieldRelationship.d.ts.map +1 -1
- package/dist/errors/InvalidFieldRelationship.js +2 -3
- package/dist/errors/InvalidFieldRelationship.js.map +1 -1
- package/dist/errors/InvalidSchema.d.ts +2 -3
- package/dist/errors/InvalidSchema.d.ts.map +1 -1
- package/dist/errors/InvalidSchema.js +2 -3
- package/dist/errors/InvalidSchema.js.map +1 -1
- package/dist/errors/LockedAuth.d.ts +2 -3
- package/dist/errors/LockedAuth.d.ts.map +1 -1
- package/dist/errors/LockedAuth.js +2 -3
- package/dist/errors/LockedAuth.js.map +1 -1
- package/dist/errors/MissingCollectionLabel.d.ts +2 -3
- package/dist/errors/MissingCollectionLabel.d.ts.map +1 -1
- package/dist/errors/MissingCollectionLabel.js +2 -3
- package/dist/errors/MissingCollectionLabel.js.map +1 -1
- package/dist/errors/MissingEditorProp.d.ts +2 -3
- package/dist/errors/MissingEditorProp.d.ts.map +1 -1
- package/dist/errors/MissingEditorProp.js +3 -4
- package/dist/errors/MissingEditorProp.js.map +1 -1
- package/dist/errors/MissingFieldInputOptions.d.ts +2 -3
- package/dist/errors/MissingFieldInputOptions.d.ts.map +1 -1
- package/dist/errors/MissingFieldInputOptions.js +2 -3
- package/dist/errors/MissingFieldInputOptions.js.map +1 -1
- package/dist/errors/MissingFieldType.d.ts +2 -3
- package/dist/errors/MissingFieldType.d.ts.map +1 -1
- package/dist/errors/MissingFieldType.js +2 -3
- package/dist/errors/MissingFieldType.js.map +1 -1
- package/dist/errors/MissingFile.d.ts +2 -3
- package/dist/errors/MissingFile.d.ts.map +1 -1
- package/dist/errors/MissingFile.js +2 -3
- package/dist/errors/MissingFile.js.map +1 -1
- package/dist/errors/NotFound.d.ts +2 -3
- package/dist/errors/NotFound.d.ts.map +1 -1
- package/dist/errors/NotFound.js +2 -3
- package/dist/errors/NotFound.js.map +1 -1
- package/dist/errors/QueryError.d.ts +2 -3
- package/dist/errors/QueryError.d.ts.map +1 -1
- package/dist/errors/QueryError.js +2 -3
- package/dist/errors/QueryError.js.map +1 -1
- package/dist/errors/TimestampsRequired.d.ts +2 -3
- package/dist/errors/TimestampsRequired.d.ts.map +1 -1
- package/dist/errors/TimestampsRequired.js +2 -3
- package/dist/errors/TimestampsRequired.js.map +1 -1
- package/dist/errors/UnathorizedError.d.ts +2 -3
- package/dist/errors/UnathorizedError.d.ts.map +1 -1
- package/dist/errors/UnathorizedError.js +2 -3
- package/dist/errors/UnathorizedError.js.map +1 -1
- package/dist/errors/ValidationError.d.ts +2 -3
- package/dist/errors/ValidationError.d.ts.map +1 -1
- package/dist/errors/ValidationError.js +2 -3
- package/dist/errors/ValidationError.js.map +1 -1
- package/dist/errors/index.d.ts +20 -19
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +20 -19
- package/dist/errors/index.js.map +1 -1
- package/dist/exports/auth.d.ts +1 -0
- package/dist/exports/auth.d.ts.map +1 -1
- package/dist/exports/auth.js +1 -0
- package/dist/exports/auth.js.map +1 -1
- package/dist/exports/database.d.ts +3 -2
- package/dist/exports/database.d.ts.map +1 -1
- package/dist/exports/database.js +1 -1
- package/dist/exports/database.js.map +1 -1
- package/dist/exports/i18n/he.d.ts +2 -0
- package/dist/exports/i18n/he.d.ts.map +1 -0
- package/dist/exports/i18n/he.js +3 -0
- package/dist/exports/i18n/he.js.map +1 -0
- package/dist/exports/i18n.d.ts +2 -0
- package/dist/exports/i18n.d.ts.map +1 -0
- package/dist/exports/i18n.js +3 -0
- package/dist/exports/i18n.js.map +1 -0
- package/dist/exports/node.d.ts +5 -0
- package/dist/exports/node.d.ts.map +1 -1
- package/dist/exports/node.js +5 -1
- package/dist/exports/node.js.map +1 -1
- package/dist/exports/operations.d.ts +1 -0
- package/dist/exports/operations.d.ts.map +1 -1
- package/dist/exports/operations.js +1 -0
- package/dist/exports/operations.js.map +1 -1
- package/dist/exports/types.d.ts +2 -1
- package/dist/exports/types.d.ts.map +1 -1
- package/dist/exports/types.js.map +1 -1
- package/dist/exports/utilities.d.ts +9 -3
- package/dist/exports/utilities.d.ts.map +1 -1
- package/dist/exports/utilities.js +8 -3
- package/dist/exports/utilities.js.map +1 -1
- package/dist/fields/config/client.d.ts +235 -79
- package/dist/fields/config/client.d.ts.map +1 -1
- package/dist/fields/config/client.js +2 -1
- package/dist/fields/config/client.js.map +1 -1
- package/dist/fields/config/sanitize.d.ts +7 -2
- package/dist/fields/config/sanitize.d.ts.map +1 -1
- package/dist/fields/config/sanitize.js +67 -34
- package/dist/fields/config/sanitize.js.map +1 -1
- package/dist/fields/config/sanitize.spec.js +76 -85
- package/dist/fields/config/sanitize.spec.js.map +1 -1
- package/dist/fields/config/schema.d.ts.map +1 -1
- package/dist/fields/config/schema.js +33 -6
- package/dist/fields/config/schema.js.map +1 -1
- package/dist/fields/config/types.d.ts +108 -44
- package/dist/fields/config/types.d.ts.map +1 -1
- package/dist/fields/config/types.js.map +1 -1
- package/dist/fields/getDefaultValue.d.ts +2 -2
- package/dist/fields/getDefaultValue.d.ts.map +1 -1
- package/dist/fields/getDefaultValue.js.map +1 -1
- package/dist/fields/hooks/afterChange/index.d.ts +2 -2
- package/dist/fields/hooks/afterChange/index.d.ts.map +1 -1
- package/dist/fields/hooks/afterChange/index.js.map +1 -1
- package/dist/fields/hooks/afterChange/promise.d.ts +2 -2
- package/dist/fields/hooks/afterChange/promise.d.ts.map +1 -1
- package/dist/fields/hooks/afterChange/promise.js.map +1 -1
- package/dist/fields/hooks/afterChange/traverseFields.d.ts +2 -2
- package/dist/fields/hooks/afterChange/traverseFields.d.ts.map +1 -1
- package/dist/fields/hooks/afterChange/traverseFields.js.map +1 -1
- package/dist/fields/hooks/afterRead/index.d.ts +3 -2
- package/dist/fields/hooks/afterRead/index.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/index.js +2 -1
- package/dist/fields/hooks/afterRead/index.js.map +1 -1
- package/dist/fields/hooks/afterRead/promise.d.ts +7 -3
- package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/promise.js +20 -18
- package/dist/fields/hooks/afterRead/promise.js.map +1 -1
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts +4 -3
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js +16 -10
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js.map +1 -1
- package/dist/fields/hooks/afterRead/traverseFields.d.ts +7 -3
- package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/traverseFields.js +2 -1
- package/dist/fields/hooks/afterRead/traverseFields.js.map +1 -1
- package/dist/fields/hooks/beforeChange/index.d.ts +2 -2
- package/dist/fields/hooks/beforeChange/index.d.ts.map +1 -1
- package/dist/fields/hooks/beforeChange/index.js.map +1 -1
- package/dist/fields/hooks/beforeChange/promise.d.ts +2 -2
- package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
- package/dist/fields/hooks/beforeChange/promise.js +3 -1
- package/dist/fields/hooks/beforeChange/promise.js.map +1 -1
- package/dist/fields/hooks/beforeChange/traverseFields.d.ts +14 -2
- package/dist/fields/hooks/beforeChange/traverseFields.d.ts.map +1 -1
- package/dist/fields/hooks/beforeChange/traverseFields.js.map +1 -1
- package/dist/fields/hooks/beforeValidate/index.d.ts +2 -2
- package/dist/fields/hooks/beforeValidate/index.d.ts.map +1 -1
- package/dist/fields/hooks/beforeValidate/index.js.map +1 -1
- package/dist/fields/hooks/beforeValidate/promise.d.ts +8 -2
- package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
- package/dist/fields/hooks/beforeValidate/promise.js +2 -0
- package/dist/fields/hooks/beforeValidate/promise.js.map +1 -1
- package/dist/fields/hooks/beforeValidate/traverseFields.d.ts +8 -2
- package/dist/fields/hooks/beforeValidate/traverseFields.d.ts.map +1 -1
- package/dist/fields/hooks/beforeValidate/traverseFields.js.map +1 -1
- package/dist/fields/validations.d.ts +6 -0
- package/dist/fields/validations.d.ts.map +1 -1
- package/dist/fields/validations.js +62 -7
- package/dist/fields/validations.js.map +1 -1
- package/dist/fields/validations.spec.js +1 -0
- package/dist/fields/validations.spec.js.map +1 -1
- package/dist/globals/config/client.d.ts +1 -1
- package/dist/globals/config/client.d.ts.map +1 -1
- package/dist/globals/config/client.js +2 -1
- package/dist/globals/config/client.js.map +1 -1
- package/dist/globals/config/sanitize.d.ts +2 -3
- package/dist/globals/config/sanitize.d.ts.map +1 -1
- package/dist/globals/config/sanitize.js +36 -35
- package/dist/globals/config/sanitize.js.map +1 -1
- package/dist/globals/config/schema.d.ts.map +1 -1
- package/dist/globals/config/schema.js +10 -1
- package/dist/globals/config/schema.js.map +1 -1
- package/dist/globals/config/types.d.ts +16 -9
- package/dist/globals/config/types.d.ts.map +1 -1
- package/dist/globals/config/types.js.map +1 -1
- package/dist/globals/operations/docAccess.d.ts +2 -2
- package/dist/globals/operations/docAccess.d.ts.map +1 -1
- package/dist/globals/operations/docAccess.js.map +1 -1
- package/dist/globals/operations/findOne.d.ts +2 -3
- package/dist/globals/operations/findOne.d.ts.map +1 -1
- package/dist/globals/operations/findOne.js +1 -0
- package/dist/globals/operations/findOne.js.map +1 -1
- package/dist/globals/operations/findVersionByID.d.ts +2 -2
- package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
- package/dist/globals/operations/findVersionByID.js +1 -0
- package/dist/globals/operations/findVersionByID.js.map +1 -1
- package/dist/globals/operations/findVersions.d.ts +2 -2
- package/dist/globals/operations/findVersions.d.ts.map +1 -1
- package/dist/globals/operations/findVersions.js +1 -0
- package/dist/globals/operations/findVersions.js.map +1 -1
- package/dist/globals/operations/local/findOne.d.ts +4 -4
- package/dist/globals/operations/local/findOne.d.ts.map +1 -1
- package/dist/globals/operations/local/findOne.js.map +1 -1
- package/dist/globals/operations/local/findVersionByID.d.ts +4 -4
- package/dist/globals/operations/local/findVersionByID.d.ts.map +1 -1
- package/dist/globals/operations/local/findVersionByID.js.map +1 -1
- package/dist/globals/operations/local/findVersions.d.ts +4 -4
- package/dist/globals/operations/local/findVersions.d.ts.map +1 -1
- package/dist/globals/operations/local/findVersions.js.map +1 -1
- package/dist/globals/operations/local/restoreVersion.d.ts +4 -4
- package/dist/globals/operations/local/restoreVersion.d.ts.map +1 -1
- package/dist/globals/operations/local/restoreVersion.js.map +1 -1
- package/dist/globals/operations/local/update.d.ts +4 -4
- package/dist/globals/operations/local/update.d.ts.map +1 -1
- package/dist/globals/operations/local/update.js.map +1 -1
- package/dist/globals/operations/restoreVersion.d.ts +2 -2
- package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
- package/dist/globals/operations/restoreVersion.js +1 -0
- package/dist/globals/operations/restoreVersion.js.map +1 -1
- package/dist/globals/operations/update.d.ts +2 -2
- package/dist/globals/operations/update.d.ts.map +1 -1
- package/dist/globals/operations/update.js +2 -0
- package/dist/globals/operations/update.js.map +1 -1
- package/dist/index.d.ts +16 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +26 -14
- package/dist/index.js.map +1 -1
- package/dist/preferences/deleteUserPreferences.d.ts +2 -2
- package/dist/preferences/deleteUserPreferences.d.ts.map +1 -1
- package/dist/preferences/deleteUserPreferences.js.map +1 -1
- package/dist/preferences/operations/delete.js +2 -2
- package/dist/preferences/operations/delete.js.map +1 -1
- package/dist/preferences/operations/update.js +1 -1
- package/dist/preferences/operations/update.js.map +1 -1
- package/dist/preferences/requestHandlers/delete.d.ts.map +1 -1
- package/dist/preferences/requestHandlers/delete.js +18 -5
- package/dist/preferences/requestHandlers/delete.js.map +1 -1
- package/dist/preferences/requestHandlers/findOne.d.ts.map +1 -1
- package/dist/preferences/requestHandlers/findOne.js +18 -5
- package/dist/preferences/requestHandlers/findOne.js.map +1 -1
- package/dist/preferences/requestHandlers/update.d.ts.map +1 -1
- package/dist/preferences/requestHandlers/update.js +19 -7
- package/dist/preferences/requestHandlers/update.js.map +1 -1
- package/dist/preferences/types.d.ts +3 -3
- package/dist/preferences/types.d.ts.map +1 -1
- package/dist/preferences/types.js.map +1 -1
- package/dist/translations/getLocalI18n.d.ts +1 -1
- package/dist/translations/getLocalI18n.d.ts.map +1 -1
- package/dist/translations/getLocalI18n.js +1 -1
- package/dist/translations/getLocalI18n.js.map +1 -1
- package/dist/types/index.d.ts +21 -29
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/uploads/canResizeImage.d.ts +1 -1
- package/dist/uploads/canResizeImage.d.ts.map +1 -1
- package/dist/uploads/canResizeImage.js +1 -1
- package/dist/uploads/canResizeImage.js.map +1 -1
- package/dist/uploads/cropImage.d.ts +1 -1
- package/dist/uploads/cropImage.d.ts.map +1 -1
- package/dist/uploads/cropImage.js +1 -1
- package/dist/uploads/cropImage.js.map +1 -1
- package/dist/uploads/deleteAssociatedFiles.d.ts +2 -2
- package/dist/uploads/deleteAssociatedFiles.d.ts.map +1 -1
- package/dist/uploads/deleteAssociatedFiles.js.map +1 -1
- package/dist/uploads/docWithFilenameExists.d.ts +2 -2
- package/dist/uploads/docWithFilenameExists.d.ts.map +1 -1
- package/dist/uploads/docWithFilenameExists.js.map +1 -1
- package/dist/uploads/generateFileData.d.ts +5 -3
- package/dist/uploads/generateFileData.d.ts.map +1 -1
- package/dist/uploads/generateFileData.js +55 -16
- package/dist/uploads/generateFileData.js.map +1 -1
- package/dist/uploads/getBaseFields.d.ts.map +1 -1
- package/dist/uploads/getBaseFields.js +23 -4
- package/dist/uploads/getBaseFields.js.map +1 -1
- package/dist/uploads/getExternalFile.d.ts +5 -4
- package/dist/uploads/getExternalFile.d.ts.map +1 -1
- package/dist/uploads/getExternalFile.js +10 -6
- package/dist/uploads/getExternalFile.js.map +1 -1
- package/dist/uploads/getFileByPath.d.ts +2 -2
- package/dist/uploads/getFileByPath.d.ts.map +1 -1
- package/dist/uploads/getFileByPath.js.map +1 -1
- package/dist/uploads/getImageSize.d.ts +2 -2
- package/dist/uploads/getImageSize.d.ts.map +1 -1
- package/dist/uploads/getImageSize.js +19 -5
- package/dist/uploads/getImageSize.js.map +1 -1
- package/dist/uploads/getSafeFilename.d.ts +4 -4
- package/dist/uploads/getSafeFilename.d.ts.map +1 -1
- package/dist/uploads/getSafeFilename.js +1 -2
- package/dist/uploads/getSafeFilename.js.map +1 -1
- package/dist/uploads/imageResizer.d.ts +8 -10
- package/dist/uploads/imageResizer.d.ts.map +1 -1
- package/dist/uploads/imageResizer.js +42 -24
- package/dist/uploads/imageResizer.js.map +1 -1
- package/dist/uploads/isImage.d.ts +1 -1
- package/dist/uploads/isImage.d.ts.map +1 -1
- package/dist/uploads/isImage.js +1 -1
- package/dist/uploads/isImage.js.map +1 -1
- package/dist/uploads/tempFile.d.ts +7 -0
- package/dist/uploads/tempFile.d.ts.map +1 -0
- package/dist/uploads/tempFile.js +39 -0
- package/dist/uploads/tempFile.js.map +1 -0
- package/dist/uploads/types.d.ts +28 -5
- package/dist/uploads/types.d.ts.map +1 -1
- package/dist/uploads/types.js.map +1 -1
- package/dist/uploads/unlinkTempFiles.d.ts +2 -2
- package/dist/uploads/unlinkTempFiles.d.ts.map +1 -1
- package/dist/uploads/unlinkTempFiles.js.map +1 -1
- package/dist/uploads/uploadFiles.d.ts +2 -2
- package/dist/uploads/uploadFiles.d.ts.map +1 -1
- package/dist/uploads/uploadFiles.js.map +1 -1
- package/dist/utilities/checkDuplicateCollections.js +1 -1
- package/dist/utilities/checkDuplicateCollections.js.map +1 -1
- package/dist/utilities/commitTransaction.d.ts +2 -2
- package/dist/utilities/commitTransaction.d.ts.map +1 -1
- package/dist/utilities/commitTransaction.js.map +1 -1
- package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
- package/dist/utilities/configToJSONSchema.js +27 -1
- package/dist/utilities/configToJSONSchema.js.map +1 -1
- package/dist/utilities/configToJSONSchema.spec.js +98 -2
- package/dist/utilities/configToJSONSchema.spec.js.map +1 -1
- package/dist/utilities/createLocalReq.d.ts +3 -3
- package/dist/utilities/createLocalReq.d.ts.map +1 -1
- package/dist/utilities/createLocalReq.js +8 -5
- package/dist/utilities/createLocalReq.js.map +1 -1
- package/dist/utilities/getEntityPolicies.d.ts +2 -2
- package/dist/utilities/getEntityPolicies.d.ts.map +1 -1
- package/dist/utilities/getEntityPolicies.js.map +1 -1
- package/dist/utilities/importWithoutClientFiles.d.ts.map +1 -1
- package/dist/utilities/importWithoutClientFiles.js +10 -4
- package/dist/utilities/importWithoutClientFiles.js.map +1 -1
- package/dist/utilities/initTransaction.d.ts +2 -2
- package/dist/utilities/initTransaction.d.ts.map +1 -1
- package/dist/utilities/initTransaction.js.map +1 -1
- package/dist/utilities/isEntityHidden.d.ts +2 -2
- package/dist/utilities/isEntityHidden.d.ts.map +1 -1
- package/dist/utilities/isEntityHidden.js.map +1 -1
- package/dist/utilities/isReactComponent.d.ts +2 -3
- package/dist/utilities/isReactComponent.d.ts.map +1 -1
- package/dist/utilities/isReactComponent.js +27 -10
- package/dist/utilities/isReactComponent.js.map +1 -1
- package/dist/utilities/killTransaction.d.ts +2 -2
- package/dist/utilities/killTransaction.d.ts.map +1 -1
- package/dist/utilities/killTransaction.js.map +1 -1
- package/dist/utilities/parseCookies.js +1 -1
- package/dist/utilities/parseCookies.js.map +1 -1
- package/dist/utilities/telemetry/events/adminInit.d.ts +2 -2
- package/dist/utilities/telemetry/events/adminInit.d.ts.map +1 -1
- package/dist/utilities/telemetry/events/adminInit.js.map +1 -1
- package/dist/utilities/telemetry/index.d.ts +9 -0
- package/dist/utilities/telemetry/index.d.ts.map +1 -1
- package/dist/utilities/telemetry/index.js +63 -15
- package/dist/utilities/telemetry/index.js.map +1 -1
- package/dist/versions/deleteCollectionVersions.d.ts +2 -2
- package/dist/versions/deleteCollectionVersions.d.ts.map +1 -1
- package/dist/versions/deleteCollectionVersions.js.map +1 -1
- package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts +2 -2
- package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts.map +1 -1
- package/dist/versions/drafts/replaceWithDraftIfAvailable.js.map +1 -1
- package/dist/versions/enforceMaxVersions.d.ts +2 -2
- package/dist/versions/enforceMaxVersions.d.ts.map +1 -1
- package/dist/versions/enforceMaxVersions.js.map +1 -1
- package/dist/versions/getLatestCollectionVersion.d.ts +2 -2
- package/dist/versions/getLatestCollectionVersion.d.ts.map +1 -1
- package/dist/versions/getLatestCollectionVersion.js.map +1 -1
- package/dist/versions/getLatestGlobalVersion.d.ts +2 -2
- package/dist/versions/getLatestGlobalVersion.d.ts.map +1 -1
- package/dist/versions/getLatestGlobalVersion.js.map +1 -1
- package/dist/versions/saveVersion.d.ts +2 -2
- package/dist/versions/saveVersion.d.ts.map +1 -1
- package/dist/versions/saveVersion.js +2 -1
- package/dist/versions/saveVersion.js.map +1 -1
- package/graphql.d.ts +3 -0
- package/graphql.js +27 -0
- package/package.json +73 -102
- package/utilities.d.ts +3 -1
- package/utilities.js +3 -1
- package/dist/email/build.d.ts +0 -5
- package/dist/email/build.d.ts.map +0 -1
- package/dist/email/build.js +0 -63
- package/dist/email/build.js.map +0 -1
- package/dist/email/mockHandler.d.ts +0 -5
- package/dist/email/mockHandler.d.ts.map +0 -1
- package/dist/email/mockHandler.js +0 -24
- package/dist/email/mockHandler.js.map +0 -1
- package/node.d.ts +0 -3
- package/node.js +0 -4
- package/src/index.ts +0 -498
- package/uploads.d.ts +0 -2
- package/uploads.js +0 -3
|
@@ -1,33 +1,24 @@
|
|
|
1
|
-
import { InvalidFieldName, InvalidFieldRelationship, MissingFieldType } from '../../errors';
|
|
2
|
-
import { sanitizeFields } from './sanitize';
|
|
3
|
-
const dummyConfig = {
|
|
4
|
-
collections: [],
|
|
5
|
-
db: {
|
|
6
|
-
defaultIDType: 'text',
|
|
7
|
-
init: ()=>({})
|
|
8
|
-
}
|
|
9
|
-
};
|
|
1
|
+
import { InvalidFieldName, InvalidFieldRelationship, MissingFieldType } from '../../errors/index.js';
|
|
2
|
+
import { sanitizeFields } from './sanitize.js';
|
|
10
3
|
describe('sanitizeFields', ()=>{
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
// @ts-ignore
|
|
4
|
+
const config = {};
|
|
5
|
+
it('should throw on missing type field', async ()=>{
|
|
14
6
|
const fields = [
|
|
7
|
+
// @ts-expect-error
|
|
15
8
|
{
|
|
16
9
|
label: 'some-collection',
|
|
17
10
|
name: 'Some Collection'
|
|
18
11
|
}
|
|
19
12
|
];
|
|
20
|
-
expect(()=>{
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
sanitizeFields({
|
|
24
|
-
config: dummyConfig,
|
|
13
|
+
await expect(async ()=>{
|
|
14
|
+
await sanitizeFields({
|
|
15
|
+
config,
|
|
25
16
|
fields,
|
|
26
17
|
validRelationships: []
|
|
27
18
|
});
|
|
28
|
-
}).toThrow(MissingFieldType);
|
|
19
|
+
}).rejects.toThrow(MissingFieldType);
|
|
29
20
|
});
|
|
30
|
-
it('should throw on invalid field name', ()=>{
|
|
21
|
+
it('should throw on invalid field name', async ()=>{
|
|
31
22
|
const fields = [
|
|
32
23
|
{
|
|
33
24
|
label: 'some.collection',
|
|
@@ -35,32 +26,32 @@ describe('sanitizeFields', ()=>{
|
|
|
35
26
|
type: 'text'
|
|
36
27
|
}
|
|
37
28
|
];
|
|
38
|
-
expect(()=>{
|
|
39
|
-
sanitizeFields({
|
|
40
|
-
config
|
|
29
|
+
await expect(async ()=>{
|
|
30
|
+
await sanitizeFields({
|
|
31
|
+
config,
|
|
41
32
|
fields,
|
|
42
33
|
validRelationships: []
|
|
43
34
|
});
|
|
44
|
-
}).toThrow(InvalidFieldName);
|
|
35
|
+
}).rejects.toThrow(InvalidFieldName);
|
|
45
36
|
});
|
|
46
37
|
describe('auto-labeling', ()=>{
|
|
47
|
-
it('should populate label if missing', ()=>{
|
|
38
|
+
it('should populate label if missing', async ()=>{
|
|
48
39
|
const fields = [
|
|
49
40
|
{
|
|
50
41
|
name: 'someField',
|
|
51
42
|
type: 'text'
|
|
52
43
|
}
|
|
53
44
|
];
|
|
54
|
-
const sanitizedField = sanitizeFields({
|
|
55
|
-
config
|
|
45
|
+
const sanitizedField = (await sanitizeFields({
|
|
46
|
+
config,
|
|
56
47
|
fields,
|
|
57
48
|
validRelationships: []
|
|
58
|
-
})[0];
|
|
49
|
+
}))[0];
|
|
59
50
|
expect(sanitizedField.name).toStrictEqual('someField');
|
|
60
51
|
expect(sanitizedField.label).toStrictEqual('Some Field');
|
|
61
52
|
expect(sanitizedField.type).toStrictEqual('text');
|
|
62
53
|
});
|
|
63
|
-
it('should allow auto-label override', ()=>{
|
|
54
|
+
it('should allow auto-label override', async ()=>{
|
|
64
55
|
const fields = [
|
|
65
56
|
{
|
|
66
57
|
label: 'Do not label',
|
|
@@ -68,17 +59,17 @@ describe('sanitizeFields', ()=>{
|
|
|
68
59
|
type: 'text'
|
|
69
60
|
}
|
|
70
61
|
];
|
|
71
|
-
const sanitizedField = sanitizeFields({
|
|
72
|
-
config
|
|
62
|
+
const sanitizedField = (await sanitizeFields({
|
|
63
|
+
config,
|
|
73
64
|
fields,
|
|
74
65
|
validRelationships: []
|
|
75
|
-
})[0];
|
|
66
|
+
}))[0];
|
|
76
67
|
expect(sanitizedField.name).toStrictEqual('someField');
|
|
77
68
|
expect(sanitizedField.label).toStrictEqual('Do not label');
|
|
78
69
|
expect(sanitizedField.type).toStrictEqual('text');
|
|
79
70
|
});
|
|
80
71
|
describe('opt-out', ()=>{
|
|
81
|
-
it('should allow label opt-out', ()=>{
|
|
72
|
+
it('should allow label opt-out', async ()=>{
|
|
82
73
|
const fields = [
|
|
83
74
|
{
|
|
84
75
|
label: false,
|
|
@@ -86,16 +77,16 @@ describe('sanitizeFields', ()=>{
|
|
|
86
77
|
type: 'text'
|
|
87
78
|
}
|
|
88
79
|
];
|
|
89
|
-
const sanitizedField = sanitizeFields({
|
|
90
|
-
config
|
|
80
|
+
const sanitizedField = (await sanitizeFields({
|
|
81
|
+
config,
|
|
91
82
|
fields,
|
|
92
83
|
validRelationships: []
|
|
93
|
-
})[0];
|
|
84
|
+
}))[0];
|
|
94
85
|
expect(sanitizedField.name).toStrictEqual('someField');
|
|
95
86
|
expect(sanitizedField.label).toStrictEqual(false);
|
|
96
87
|
expect(sanitizedField.type).toStrictEqual('text');
|
|
97
88
|
});
|
|
98
|
-
it('should allow label opt-out for arrays', ()=>{
|
|
89
|
+
it('should allow label opt-out for arrays', async ()=>{
|
|
99
90
|
const arrayField = {
|
|
100
91
|
fields: [
|
|
101
92
|
{
|
|
@@ -107,19 +98,19 @@ describe('sanitizeFields', ()=>{
|
|
|
107
98
|
name: 'items',
|
|
108
99
|
type: 'array'
|
|
109
100
|
};
|
|
110
|
-
const sanitizedField = sanitizeFields({
|
|
111
|
-
config
|
|
101
|
+
const sanitizedField = (await sanitizeFields({
|
|
102
|
+
config,
|
|
112
103
|
fields: [
|
|
113
104
|
arrayField
|
|
114
105
|
],
|
|
115
106
|
validRelationships: []
|
|
116
|
-
})[0];
|
|
107
|
+
}))[0];
|
|
117
108
|
expect(sanitizedField.name).toStrictEqual('items');
|
|
118
109
|
expect(sanitizedField.label).toStrictEqual(false);
|
|
119
110
|
expect(sanitizedField.type).toStrictEqual('array');
|
|
120
111
|
expect(sanitizedField.labels).toBeUndefined();
|
|
121
112
|
});
|
|
122
|
-
it('should allow label opt-out for blocks', ()=>{
|
|
113
|
+
it('should allow label opt-out for blocks', async ()=>{
|
|
123
114
|
const fields = [
|
|
124
115
|
{
|
|
125
116
|
blocks: [
|
|
@@ -138,18 +129,18 @@ describe('sanitizeFields', ()=>{
|
|
|
138
129
|
type: 'blocks'
|
|
139
130
|
}
|
|
140
131
|
];
|
|
141
|
-
const sanitizedField = sanitizeFields({
|
|
142
|
-
config
|
|
132
|
+
const sanitizedField = (await sanitizeFields({
|
|
133
|
+
config,
|
|
143
134
|
fields,
|
|
144
135
|
validRelationships: []
|
|
145
|
-
})[0];
|
|
136
|
+
}))[0];
|
|
146
137
|
expect(sanitizedField.name).toStrictEqual('noLabelBlock');
|
|
147
138
|
expect(sanitizedField.label).toStrictEqual(false);
|
|
148
139
|
expect(sanitizedField.type).toStrictEqual('blocks');
|
|
149
140
|
expect(sanitizedField.labels).toBeUndefined();
|
|
150
141
|
});
|
|
151
142
|
});
|
|
152
|
-
it('should label arrays with plural and singular', ()=>{
|
|
143
|
+
it('should label arrays with plural and singular', async ()=>{
|
|
153
144
|
const fields = [
|
|
154
145
|
{
|
|
155
146
|
fields: [
|
|
@@ -162,11 +153,11 @@ describe('sanitizeFields', ()=>{
|
|
|
162
153
|
type: 'array'
|
|
163
154
|
}
|
|
164
155
|
];
|
|
165
|
-
const sanitizedField = sanitizeFields({
|
|
166
|
-
config
|
|
156
|
+
const sanitizedField = (await sanitizeFields({
|
|
157
|
+
config,
|
|
167
158
|
fields,
|
|
168
159
|
validRelationships: []
|
|
169
|
-
})[0];
|
|
160
|
+
}))[0];
|
|
170
161
|
expect(sanitizedField.name).toStrictEqual('items');
|
|
171
162
|
expect(sanitizedField.label).toStrictEqual('Items');
|
|
172
163
|
expect(sanitizedField.type).toStrictEqual('array');
|
|
@@ -175,7 +166,7 @@ describe('sanitizeFields', ()=>{
|
|
|
175
166
|
singular: 'Item'
|
|
176
167
|
});
|
|
177
168
|
});
|
|
178
|
-
it('should label blocks with plural and singular', ()=>{
|
|
169
|
+
it('should label blocks with plural and singular', async ()=>{
|
|
179
170
|
const fields = [
|
|
180
171
|
{
|
|
181
172
|
blocks: [
|
|
@@ -193,11 +184,11 @@ describe('sanitizeFields', ()=>{
|
|
|
193
184
|
type: 'blocks'
|
|
194
185
|
}
|
|
195
186
|
];
|
|
196
|
-
const sanitizedField = sanitizeFields({
|
|
197
|
-
config
|
|
187
|
+
const sanitizedField = (await sanitizeFields({
|
|
188
|
+
config,
|
|
198
189
|
fields,
|
|
199
190
|
validRelationships: []
|
|
200
|
-
})[0];
|
|
191
|
+
}))[0];
|
|
201
192
|
expect(sanitizedField.name).toStrictEqual('specialBlock');
|
|
202
193
|
expect(sanitizedField.label).toStrictEqual('Special Block');
|
|
203
194
|
expect(sanitizedField.type).toStrictEqual('blocks');
|
|
@@ -209,7 +200,7 @@ describe('sanitizeFields', ()=>{
|
|
|
209
200
|
});
|
|
210
201
|
});
|
|
211
202
|
describe('relationships', ()=>{
|
|
212
|
-
it('should not throw on valid relationship', ()=>{
|
|
203
|
+
it('should not throw on valid relationship', async ()=>{
|
|
213
204
|
const validRelationships = [
|
|
214
205
|
'some-collection'
|
|
215
206
|
];
|
|
@@ -221,15 +212,15 @@ describe('sanitizeFields', ()=>{
|
|
|
221
212
|
type: 'relationship'
|
|
222
213
|
}
|
|
223
214
|
];
|
|
224
|
-
expect(()=>{
|
|
225
|
-
sanitizeFields({
|
|
226
|
-
config
|
|
215
|
+
await expect(async ()=>{
|
|
216
|
+
await sanitizeFields({
|
|
217
|
+
config,
|
|
227
218
|
fields,
|
|
228
219
|
validRelationships
|
|
229
220
|
});
|
|
230
221
|
}).not.toThrow();
|
|
231
222
|
});
|
|
232
|
-
it('should not throw on valid relationship - multiple', ()=>{
|
|
223
|
+
it('should not throw on valid relationship - multiple', async ()=>{
|
|
233
224
|
const validRelationships = [
|
|
234
225
|
'some-collection',
|
|
235
226
|
'another-collection'
|
|
@@ -245,15 +236,15 @@ describe('sanitizeFields', ()=>{
|
|
|
245
236
|
type: 'relationship'
|
|
246
237
|
}
|
|
247
238
|
];
|
|
248
|
-
expect(()=>{
|
|
249
|
-
sanitizeFields({
|
|
250
|
-
config
|
|
239
|
+
await expect(async ()=>{
|
|
240
|
+
await sanitizeFields({
|
|
241
|
+
config,
|
|
251
242
|
fields,
|
|
252
243
|
validRelationships
|
|
253
244
|
});
|
|
254
245
|
}).not.toThrow();
|
|
255
246
|
});
|
|
256
|
-
it('should not throw on valid relationship inside blocks', ()=>{
|
|
247
|
+
it('should not throw on valid relationship inside blocks', async ()=>{
|
|
257
248
|
const validRelationships = [
|
|
258
249
|
'some-collection'
|
|
259
250
|
];
|
|
@@ -278,15 +269,15 @@ describe('sanitizeFields', ()=>{
|
|
|
278
269
|
type: 'blocks'
|
|
279
270
|
}
|
|
280
271
|
];
|
|
281
|
-
expect(()=>{
|
|
282
|
-
sanitizeFields({
|
|
283
|
-
config
|
|
272
|
+
await expect(async ()=>{
|
|
273
|
+
await sanitizeFields({
|
|
274
|
+
config,
|
|
284
275
|
fields,
|
|
285
276
|
validRelationships
|
|
286
277
|
});
|
|
287
278
|
}).not.toThrow();
|
|
288
279
|
});
|
|
289
|
-
it('should throw on invalid relationship', ()=>{
|
|
280
|
+
it('should throw on invalid relationship', async ()=>{
|
|
290
281
|
const validRelationships = [
|
|
291
282
|
'some-collection'
|
|
292
283
|
];
|
|
@@ -298,15 +289,15 @@ describe('sanitizeFields', ()=>{
|
|
|
298
289
|
type: 'relationship'
|
|
299
290
|
}
|
|
300
291
|
];
|
|
301
|
-
expect(()=>{
|
|
302
|
-
sanitizeFields({
|
|
303
|
-
config
|
|
292
|
+
await expect(async ()=>{
|
|
293
|
+
await sanitizeFields({
|
|
294
|
+
config,
|
|
304
295
|
fields,
|
|
305
296
|
validRelationships
|
|
306
297
|
});
|
|
307
|
-
}).toThrow(InvalidFieldRelationship);
|
|
298
|
+
}).rejects.toThrow(InvalidFieldRelationship);
|
|
308
299
|
});
|
|
309
|
-
it('should throw on invalid relationship - multiple', ()=>{
|
|
300
|
+
it('should throw on invalid relationship - multiple', async ()=>{
|
|
310
301
|
const validRelationships = [
|
|
311
302
|
'some-collection',
|
|
312
303
|
'another-collection'
|
|
@@ -322,15 +313,15 @@ describe('sanitizeFields', ()=>{
|
|
|
322
313
|
type: 'relationship'
|
|
323
314
|
}
|
|
324
315
|
];
|
|
325
|
-
expect(()=>{
|
|
326
|
-
sanitizeFields({
|
|
327
|
-
config
|
|
316
|
+
await expect(async ()=>{
|
|
317
|
+
await sanitizeFields({
|
|
318
|
+
config,
|
|
328
319
|
fields,
|
|
329
320
|
validRelationships
|
|
330
321
|
});
|
|
331
|
-
}).toThrow(InvalidFieldRelationship);
|
|
322
|
+
}).rejects.toThrow(InvalidFieldRelationship);
|
|
332
323
|
});
|
|
333
|
-
it('should throw on invalid relationship inside blocks', ()=>{
|
|
324
|
+
it('should throw on invalid relationship inside blocks', async ()=>{
|
|
334
325
|
const validRelationships = [
|
|
335
326
|
'some-collection'
|
|
336
327
|
];
|
|
@@ -355,15 +346,15 @@ describe('sanitizeFields', ()=>{
|
|
|
355
346
|
type: 'blocks'
|
|
356
347
|
}
|
|
357
348
|
];
|
|
358
|
-
expect(()=>{
|
|
359
|
-
sanitizeFields({
|
|
360
|
-
config
|
|
349
|
+
await expect(async ()=>{
|
|
350
|
+
await sanitizeFields({
|
|
351
|
+
config,
|
|
361
352
|
fields,
|
|
362
353
|
validRelationships
|
|
363
354
|
});
|
|
364
|
-
}).toThrow(InvalidFieldRelationship);
|
|
355
|
+
}).rejects.toThrow(InvalidFieldRelationship);
|
|
365
356
|
});
|
|
366
|
-
it('should defaultValue of checkbox to false if required and undefined', ()=>{
|
|
357
|
+
it('should defaultValue of checkbox to false if required and undefined', async ()=>{
|
|
367
358
|
const fields = [
|
|
368
359
|
{
|
|
369
360
|
name: 'My Checkbox',
|
|
@@ -371,16 +362,16 @@ describe('sanitizeFields', ()=>{
|
|
|
371
362
|
type: 'checkbox'
|
|
372
363
|
}
|
|
373
364
|
];
|
|
374
|
-
const sanitizedField = sanitizeFields({
|
|
375
|
-
config
|
|
365
|
+
const sanitizedField = (await sanitizeFields({
|
|
366
|
+
config,
|
|
376
367
|
fields,
|
|
377
368
|
validRelationships: []
|
|
378
|
-
})[0];
|
|
369
|
+
}))[0];
|
|
379
370
|
expect(sanitizedField.defaultValue).toStrictEqual(false);
|
|
380
371
|
});
|
|
381
|
-
it('should return empty field array if no fields', ()=>{
|
|
382
|
-
const sanitizedFields = sanitizeFields({
|
|
383
|
-
config
|
|
372
|
+
it('should return empty field array if no fields', async ()=>{
|
|
373
|
+
const sanitizedFields = await sanitizeFields({
|
|
374
|
+
config,
|
|
384
375
|
fields: [],
|
|
385
376
|
validRelationships: []
|
|
386
377
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/fields/config/sanitize.spec.ts"],"sourcesContent":["import type {\n ArrayField,\n Block,\n BlockField,\n CheckboxField,\n Field,\n NumberField,\n TextField,\n} from './types'\nimport { Config } from '../../config/types'\nimport { InvalidFieldName, InvalidFieldRelationship, MissingFieldType } from '../../errors'\nimport { sanitizeFields } from './sanitize'\nimport type { BaseDatabaseAdapter } from '../../database/types.js'\n\nconst dummyConfig: Config = {\n collections: [],\n db: {\n defaultIDType: 'text',\n init: () => ({}) as BaseDatabaseAdapter['init'],\n } as BaseDatabaseAdapter,\n}\n\ndescribe('sanitizeFields', () => {\n it('should throw on missing type field', () => {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const fields: Field[] = [\n {\n label: 'some-collection',\n name: 'Some Collection',\n },\n ]\n expect(() => {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n sanitizeFields({\n config: dummyConfig,\n fields,\n validRelationships: [],\n })\n }).toThrow(MissingFieldType)\n })\n it('should throw on invalid field name', () => {\n const fields: Field[] = [\n {\n label: 'some.collection',\n name: 'some.collection',\n type: 'text',\n },\n ]\n expect(() => {\n sanitizeFields({\n config: dummyConfig,\n fields,\n validRelationships: [],\n })\n }).toThrow(InvalidFieldName)\n })\n\n describe('auto-labeling', () => {\n it('should populate label if missing', () => {\n const fields: Field[] = [\n {\n name: 'someField',\n type: 'text',\n },\n ]\n const sanitizedField = sanitizeFields({\n config: dummyConfig,\n fields,\n validRelationships: [],\n })[0] as TextField\n expect(sanitizedField.name).toStrictEqual('someField')\n expect(sanitizedField.label).toStrictEqual('Some Field')\n expect(sanitizedField.type).toStrictEqual('text')\n })\n it('should allow auto-label override', () => {\n const fields: Field[] = [\n {\n label: 'Do not label',\n name: 'someField',\n type: 'text',\n },\n ]\n const sanitizedField = sanitizeFields({\n config: dummyConfig,\n fields,\n validRelationships: [],\n })[0] as TextField\n expect(sanitizedField.name).toStrictEqual('someField')\n expect(sanitizedField.label).toStrictEqual('Do not label')\n expect(sanitizedField.type).toStrictEqual('text')\n })\n\n describe('opt-out', () => {\n it('should allow label opt-out', () => {\n const fields: Field[] = [\n {\n label: false,\n name: 'someField',\n type: 'text',\n },\n ]\n const sanitizedField = sanitizeFields({\n config: dummyConfig,\n fields,\n validRelationships: [],\n })[0] as TextField\n expect(sanitizedField.name).toStrictEqual('someField')\n expect(sanitizedField.label).toStrictEqual(false)\n expect(sanitizedField.type).toStrictEqual('text')\n })\n\n it('should allow label opt-out for arrays', () => {\n const arrayField: ArrayField = {\n fields: [\n {\n name: 'itemName',\n type: 'text',\n },\n ],\n label: false,\n name: 'items',\n type: 'array',\n }\n const sanitizedField = sanitizeFields({\n config: dummyConfig,\n fields: [arrayField],\n validRelationships: [],\n })[0] as ArrayField\n expect(sanitizedField.name).toStrictEqual('items')\n expect(sanitizedField.label).toStrictEqual(false)\n expect(sanitizedField.type).toStrictEqual('array')\n expect(sanitizedField.labels).toBeUndefined()\n })\n it('should allow label opt-out for blocks', () => {\n const fields: Field[] = [\n {\n blocks: [\n {\n fields: [\n {\n name: 'testNumber',\n type: 'number',\n },\n ],\n slug: 'number',\n },\n ],\n label: false,\n name: 'noLabelBlock',\n type: 'blocks',\n },\n ]\n const sanitizedField = sanitizeFields({\n config: dummyConfig,\n fields,\n validRelationships: [],\n })[0] as BlockField\n expect(sanitizedField.name).toStrictEqual('noLabelBlock')\n expect(sanitizedField.label).toStrictEqual(false)\n expect(sanitizedField.type).toStrictEqual('blocks')\n expect(sanitizedField.labels).toBeUndefined()\n })\n })\n\n it('should label arrays with plural and singular', () => {\n const fields: Field[] = [\n {\n fields: [\n {\n name: 'itemName',\n type: 'text',\n },\n ],\n name: 'items',\n type: 'array',\n },\n ]\n const sanitizedField = sanitizeFields({\n config: dummyConfig,\n fields,\n validRelationships: [],\n })[0] as ArrayField\n expect(sanitizedField.name).toStrictEqual('items')\n expect(sanitizedField.label).toStrictEqual('Items')\n expect(sanitizedField.type).toStrictEqual('array')\n expect(sanitizedField.labels).toMatchObject({ plural: 'Items', singular: 'Item' })\n })\n\n it('should label blocks with plural and singular', () => {\n const fields: Field[] = [\n {\n blocks: [\n {\n fields: [{ name: 'testNumber', type: 'number' }],\n slug: 'number',\n },\n ],\n name: 'specialBlock',\n type: 'blocks',\n },\n ]\n const sanitizedField = sanitizeFields({\n config: dummyConfig,\n fields,\n validRelationships: [],\n })[0] as BlockField\n expect(sanitizedField.name).toStrictEqual('specialBlock')\n expect(sanitizedField.label).toStrictEqual('Special Block')\n expect(sanitizedField.type).toStrictEqual('blocks')\n expect(sanitizedField.labels).toMatchObject({\n plural: 'Special Blocks',\n singular: 'Special Block',\n })\n expect((sanitizedField.blocks[0].fields[0] as NumberField).label).toStrictEqual('Test Number')\n })\n })\n\n describe('relationships', () => {\n it('should not throw on valid relationship', () => {\n const validRelationships = ['some-collection']\n const fields: Field[] = [\n {\n label: 'my-relationship',\n name: 'My Relationship',\n relationTo: 'some-collection',\n type: 'relationship',\n },\n ]\n expect(() => {\n sanitizeFields({ config: dummyConfig, fields, validRelationships })\n }).not.toThrow()\n })\n\n it('should not throw on valid relationship - multiple', () => {\n const validRelationships = ['some-collection', 'another-collection']\n const fields: Field[] = [\n {\n label: 'my-relationship',\n name: 'My Relationship',\n relationTo: ['some-collection', 'another-collection'],\n type: 'relationship',\n },\n ]\n expect(() => {\n sanitizeFields({ config: dummyConfig, fields, validRelationships })\n }).not.toThrow()\n })\n\n it('should not throw on valid relationship inside blocks', () => {\n const validRelationships = ['some-collection']\n const relationshipBlock: Block = {\n fields: [\n {\n label: 'my-relationship',\n name: 'My Relationship',\n relationTo: 'some-collection',\n type: 'relationship',\n },\n ],\n slug: 'relationshipBlock',\n }\n const fields: Field[] = [\n {\n blocks: [relationshipBlock],\n label: 'Layout Blocks',\n name: 'layout',\n type: 'blocks',\n },\n ]\n expect(() => {\n sanitizeFields({ config: dummyConfig, fields, validRelationships })\n }).not.toThrow()\n })\n\n it('should throw on invalid relationship', () => {\n const validRelationships = ['some-collection']\n const fields: Field[] = [\n {\n label: 'my-relationship',\n name: 'My Relationship',\n relationTo: 'not-valid',\n type: 'relationship',\n },\n ]\n expect(() => {\n sanitizeFields({ config: dummyConfig, fields, validRelationships })\n }).toThrow(InvalidFieldRelationship)\n })\n\n it('should throw on invalid relationship - multiple', () => {\n const validRelationships = ['some-collection', 'another-collection']\n const fields: Field[] = [\n {\n label: 'my-relationship',\n name: 'My Relationship',\n relationTo: ['some-collection', 'not-valid'],\n type: 'relationship',\n },\n ]\n expect(() => {\n sanitizeFields({ config: dummyConfig, fields, validRelationships })\n }).toThrow(InvalidFieldRelationship)\n })\n\n it('should throw on invalid relationship inside blocks', () => {\n const validRelationships = ['some-collection']\n const relationshipBlock: Block = {\n fields: [\n {\n label: 'my-relationship',\n name: 'My Relationship',\n relationTo: 'not-valid',\n type: 'relationship',\n },\n ],\n slug: 'relationshipBlock',\n }\n const fields: Field[] = [\n {\n blocks: [relationshipBlock],\n label: 'Layout Blocks',\n name: 'layout',\n type: 'blocks',\n },\n ]\n expect(() => {\n sanitizeFields({ config: dummyConfig, fields, validRelationships })\n }).toThrow(InvalidFieldRelationship)\n })\n\n it('should defaultValue of checkbox to false if required and undefined', () => {\n const fields: Field[] = [\n {\n name: 'My Checkbox',\n required: true,\n type: 'checkbox',\n },\n ]\n\n const sanitizedField = sanitizeFields({\n config: dummyConfig,\n fields,\n validRelationships: [],\n })[0] as CheckboxField\n expect(sanitizedField.defaultValue).toStrictEqual(false)\n })\n\n it('should return empty field array if no fields', () => {\n const sanitizedFields = sanitizeFields({\n config: dummyConfig,\n fields: [],\n validRelationships: [],\n })\n expect(sanitizedFields).toStrictEqual([])\n })\n })\n})\n"],"names":["InvalidFieldName","InvalidFieldRelationship","MissingFieldType","sanitizeFields","dummyConfig","collections","db","defaultIDType","init","describe","it","fields","label","name","expect","config","validRelationships","toThrow","type","sanitizedField","toStrictEqual","arrayField","labels","toBeUndefined","blocks","slug","toMatchObject","plural","singular","relationTo","not","relationshipBlock","required","defaultValue","sanitizedFields"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/fields/config/sanitize.spec.ts"],"sourcesContent":["import { Config } from '../../config/types.js'\nimport { InvalidFieldName, InvalidFieldRelationship, MissingFieldType } from '../../errors/index.js'\nimport { sanitizeFields } from './sanitize.js'\nimport type {\n ArrayField,\n Block,\n BlockField,\n CheckboxField,\n Field,\n NumberField,\n TextField,\n} from './types.js'\n\ndescribe('sanitizeFields', () => {\n const config = {} as Config\n it('should throw on missing type field', async () => {\n const fields: Field[] = [\n // @ts-expect-error\n {\n label: 'some-collection',\n name: 'Some Collection',\n },\n ]\n await expect(async () => {\n await sanitizeFields({\n config,\n fields,\n validRelationships: [],\n })\n }).rejects.toThrow(MissingFieldType)\n })\n it('should throw on invalid field name', async () => {\n const fields: Field[] = [\n {\n label: 'some.collection',\n name: 'some.collection',\n type: 'text',\n },\n ]\n await expect(async () => {\n await sanitizeFields({\n config,\n fields,\n validRelationships: [],\n })\n }).rejects.toThrow(InvalidFieldName)\n })\n\n describe('auto-labeling', () => {\n it('should populate label if missing', async () => {\n const fields: Field[] = [\n {\n name: 'someField',\n type: 'text',\n },\n ]\n const sanitizedField = (\n await sanitizeFields({\n config,\n fields,\n validRelationships: [],\n })\n )[0] as TextField\n expect(sanitizedField.name).toStrictEqual('someField')\n expect(sanitizedField.label).toStrictEqual('Some Field')\n expect(sanitizedField.type).toStrictEqual('text')\n })\n it('should allow auto-label override', async () => {\n const fields: Field[] = [\n {\n label: 'Do not label',\n name: 'someField',\n type: 'text',\n },\n ]\n const sanitizedField = (\n await sanitizeFields({\n config,\n fields,\n validRelationships: [],\n })\n )[0] as TextField\n expect(sanitizedField.name).toStrictEqual('someField')\n expect(sanitizedField.label).toStrictEqual('Do not label')\n expect(sanitizedField.type).toStrictEqual('text')\n })\n\n describe('opt-out', () => {\n it('should allow label opt-out', async () => {\n const fields: Field[] = [\n {\n label: false,\n name: 'someField',\n type: 'text',\n },\n ]\n const sanitizedField = (\n await sanitizeFields({\n config,\n fields,\n validRelationships: [],\n })\n )[0] as TextField\n expect(sanitizedField.name).toStrictEqual('someField')\n expect(sanitizedField.label).toStrictEqual(false)\n expect(sanitizedField.type).toStrictEqual('text')\n })\n\n it('should allow label opt-out for arrays', async () => {\n const arrayField: ArrayField = {\n fields: [\n {\n name: 'itemName',\n type: 'text',\n },\n ],\n label: false,\n name: 'items',\n type: 'array',\n }\n const sanitizedField = (\n await sanitizeFields({\n config,\n fields: [arrayField],\n validRelationships: [],\n })\n )[0] as ArrayField\n expect(sanitizedField.name).toStrictEqual('items')\n expect(sanitizedField.label).toStrictEqual(false)\n expect(sanitizedField.type).toStrictEqual('array')\n expect(sanitizedField.labels).toBeUndefined()\n })\n it('should allow label opt-out for blocks', async () => {\n const fields: Field[] = [\n {\n blocks: [\n {\n fields: [\n {\n name: 'testNumber',\n type: 'number',\n },\n ],\n slug: 'number',\n },\n ],\n label: false,\n name: 'noLabelBlock',\n type: 'blocks',\n },\n ]\n const sanitizedField = (\n await sanitizeFields({\n config,\n fields,\n validRelationships: [],\n })\n )[0] as BlockField\n expect(sanitizedField.name).toStrictEqual('noLabelBlock')\n expect(sanitizedField.label).toStrictEqual(false)\n expect(sanitizedField.type).toStrictEqual('blocks')\n expect(sanitizedField.labels).toBeUndefined()\n })\n })\n\n it('should label arrays with plural and singular', async () => {\n const fields: Field[] = [\n {\n fields: [\n {\n name: 'itemName',\n type: 'text',\n },\n ],\n name: 'items',\n type: 'array',\n },\n ]\n const sanitizedField = (\n await sanitizeFields({\n config,\n fields,\n validRelationships: [],\n })\n )[0] as ArrayField\n expect(sanitizedField.name).toStrictEqual('items')\n expect(sanitizedField.label).toStrictEqual('Items')\n expect(sanitizedField.type).toStrictEqual('array')\n expect(sanitizedField.labels).toMatchObject({ plural: 'Items', singular: 'Item' })\n })\n\n it('should label blocks with plural and singular', async () => {\n const fields: Field[] = [\n {\n blocks: [\n {\n fields: [{ name: 'testNumber', type: 'number' }],\n slug: 'number',\n },\n ],\n name: 'specialBlock',\n type: 'blocks',\n },\n ]\n const sanitizedField = (\n await sanitizeFields({\n config,\n fields,\n validRelationships: [],\n })\n )[0] as BlockField\n expect(sanitizedField.name).toStrictEqual('specialBlock')\n expect(sanitizedField.label).toStrictEqual('Special Block')\n expect(sanitizedField.type).toStrictEqual('blocks')\n expect(sanitizedField.labels).toMatchObject({\n plural: 'Special Blocks',\n singular: 'Special Block',\n })\n expect((sanitizedField.blocks[0].fields[0] as NumberField).label).toStrictEqual('Test Number')\n })\n })\n\n describe('relationships', () => {\n it('should not throw on valid relationship', async () => {\n const validRelationships = ['some-collection']\n const fields: Field[] = [\n {\n label: 'my-relationship',\n name: 'My Relationship',\n relationTo: 'some-collection',\n type: 'relationship',\n },\n ]\n await expect(async () => {\n await sanitizeFields({ config, fields, validRelationships })\n }).not.toThrow()\n })\n\n it('should not throw on valid relationship - multiple', async () => {\n const validRelationships = ['some-collection', 'another-collection']\n const fields: Field[] = [\n {\n label: 'my-relationship',\n name: 'My Relationship',\n relationTo: ['some-collection', 'another-collection'],\n type: 'relationship',\n },\n ]\n await expect(async () => {\n await sanitizeFields({ config, fields, validRelationships })\n }).not.toThrow()\n })\n\n it('should not throw on valid relationship inside blocks', async () => {\n const validRelationships = ['some-collection']\n const relationshipBlock: Block = {\n fields: [\n {\n label: 'my-relationship',\n name: 'My Relationship',\n relationTo: 'some-collection',\n type: 'relationship',\n },\n ],\n slug: 'relationshipBlock',\n }\n const fields: Field[] = [\n {\n blocks: [relationshipBlock],\n label: 'Layout Blocks',\n name: 'layout',\n type: 'blocks',\n },\n ]\n await expect(async () => {\n await sanitizeFields({ config, fields, validRelationships })\n }).not.toThrow()\n })\n\n it('should throw on invalid relationship', async () => {\n const validRelationships = ['some-collection']\n const fields: Field[] = [\n {\n label: 'my-relationship',\n name: 'My Relationship',\n relationTo: 'not-valid',\n type: 'relationship',\n },\n ]\n await expect(async () => {\n await sanitizeFields({ config, fields, validRelationships })\n }).rejects.toThrow(InvalidFieldRelationship)\n })\n\n it('should throw on invalid relationship - multiple', async () => {\n const validRelationships = ['some-collection', 'another-collection']\n const fields: Field[] = [\n {\n label: 'my-relationship',\n name: 'My Relationship',\n relationTo: ['some-collection', 'not-valid'],\n type: 'relationship',\n },\n ]\n await expect(async () => {\n await sanitizeFields({ config, fields, validRelationships })\n }).rejects.toThrow(InvalidFieldRelationship)\n })\n\n it('should throw on invalid relationship inside blocks', async () => {\n const validRelationships = ['some-collection']\n const relationshipBlock: Block = {\n fields: [\n {\n label: 'my-relationship',\n name: 'My Relationship',\n relationTo: 'not-valid',\n type: 'relationship',\n },\n ],\n slug: 'relationshipBlock',\n }\n const fields: Field[] = [\n {\n blocks: [relationshipBlock],\n label: 'Layout Blocks',\n name: 'layout',\n type: 'blocks',\n },\n ]\n await expect(async () => {\n await sanitizeFields({ config, fields, validRelationships })\n }).rejects.toThrow(InvalidFieldRelationship)\n })\n\n it('should defaultValue of checkbox to false if required and undefined', async () => {\n const fields: Field[] = [\n {\n name: 'My Checkbox',\n required: true,\n type: 'checkbox',\n },\n ]\n\n const sanitizedField = (\n await sanitizeFields({\n config,\n fields,\n validRelationships: [],\n })\n )[0] as CheckboxField\n expect(sanitizedField.defaultValue).toStrictEqual(false)\n })\n\n it('should return empty field array if no fields', async () => {\n const sanitizedFields = await sanitizeFields({\n config,\n fields: [],\n validRelationships: [],\n })\n expect(sanitizedFields).toStrictEqual([])\n })\n })\n})\n"],"names":["InvalidFieldName","InvalidFieldRelationship","MissingFieldType","sanitizeFields","describe","config","it","fields","label","name","expect","validRelationships","rejects","toThrow","type","sanitizedField","toStrictEqual","arrayField","labels","toBeUndefined","blocks","slug","toMatchObject","plural","singular","relationTo","not","relationshipBlock","required","defaultValue","sanitizedFields"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/fields/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AAIrB,eAAO,MAAM,wBAAwB,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/fields/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AAIrB,eAAO,MAAM,wBAAwB,uBAQvB,CAAA;AAEd,eAAO,MAAM,eAAe,uBAkB1B,CAAA;AAEF,eAAO,MAAM,SAAS,uBAoCV,CAAA;AAEZ,eAAO,MAAM,OAAO,uBAKlB,CAAA;AAEF,eAAO,MAAM,IAAI,uBAsBf,CAAA;AAEF,eAAO,MAAM,MAAM,uBAgCjB,CAAA;AAEF,eAAO,MAAM,QAAQ,uBAiBnB,CAAA;AAEF,eAAO,MAAM,KAAK,uBAgBhB,CAAA;AAEF,eAAO,MAAM,IAAI,uBAYf,CAAA;AAEF,eAAO,MAAM,IAAI,uBAYf,CAAA;AAEF,eAAO,MAAM,MAAM,uBAgCjB,CAAA;AAEF,eAAO,MAAM,KAAK,uBA4BhB,CAAA;AAEF,eAAO,MAAM,GAAG,uBAId,CAAA;AAEF,eAAO,MAAM,WAAW,uBAuBtB,CAAA;AAeF,eAAO,MAAM,IAAI,uBAQf,CAAA;AAEF,eAAO,MAAM,KAAK,uBAShB,CAAA;AAEF,eAAO,MAAM,KAAK,uBA2BhB,CAAA;AAEF,eAAO,MAAM,MAAM,uBAajB,CAAA;AAEF,eAAO,MAAM,QAAQ,uBAYnB,CAAA;AAEF,eAAO,MAAM,KAAK,uBAYhB,CAAA;AAEF,eAAO,MAAM,YAAY,uBA+BvB,CAAA;AAEF,eAAO,MAAM,MAAM,uBA+CjB,CAAA;AAEF,eAAO,MAAM,QAAQ,uBAsBnB,CAAA;AAEF,eAAO,MAAM,IAAI,uBAyBf,CAAA;AAEF,eAAO,MAAM,EAAE,uBAsBb,CAAA;AAEF,QAAA,MAAM,WAAW,6BAyBH,CAAA;AAEd,eAAe,WAAW,CAAA"}
|
|
@@ -2,6 +2,7 @@ import joi from 'joi';
|
|
|
2
2
|
import { componentSchema } from '../../config/shared/componentSchema.js';
|
|
3
3
|
export const baseAdminComponentFields = joi.object().keys({
|
|
4
4
|
Cell: componentSchema,
|
|
5
|
+
Description: componentSchema,
|
|
5
6
|
Field: componentSchema,
|
|
6
7
|
Filter: componentSchema
|
|
7
8
|
}).default({});
|
|
@@ -9,10 +10,13 @@ export const baseAdminFields = joi.object().keys({
|
|
|
9
10
|
className: joi.string(),
|
|
10
11
|
components: baseAdminComponentFields,
|
|
11
12
|
condition: joi.func(),
|
|
13
|
+
custom: joi.object().pattern(joi.string(), joi.any()),
|
|
12
14
|
description: joi.alternatives().try(joi.string(), joi.object().pattern(joi.string(), [
|
|
13
15
|
joi.string()
|
|
14
|
-
]),
|
|
16
|
+
]), joi.function()),
|
|
15
17
|
disableBulkEdit: joi.boolean().default(false),
|
|
18
|
+
disableListColumn: joi.boolean().default(false),
|
|
19
|
+
disableListFilter: joi.boolean().default(false),
|
|
16
20
|
disabled: joi.boolean().default(false),
|
|
17
21
|
hidden: joi.boolean().default(false),
|
|
18
22
|
initCollapsed: joi.boolean().default(false),
|
|
@@ -176,7 +180,8 @@ export const json = baseField.keys({
|
|
|
176
180
|
}),
|
|
177
181
|
editorOptions: joi.object().unknown()
|
|
178
182
|
}),
|
|
179
|
-
defaultValue: joi.alternatives().try(joi.array(), joi.object())
|
|
183
|
+
defaultValue: joi.alternatives().try(joi.array(), joi.object()),
|
|
184
|
+
jsonSchema: joi.object().unknown()
|
|
180
185
|
});
|
|
181
186
|
export const select = baseField.keys({
|
|
182
187
|
name: joi.string().required(),
|
|
@@ -226,9 +231,21 @@ export const row = baseField.keys({
|
|
|
226
231
|
});
|
|
227
232
|
export const collapsible = baseField.keys({
|
|
228
233
|
type: joi.string().valid('collapsible').required(),
|
|
229
|
-
admin: baseAdminFields.
|
|
234
|
+
admin: baseAdminFields.keys({
|
|
235
|
+
components: baseAdminComponentFields.keys({
|
|
236
|
+
RowLabel: componentSchema.optional()
|
|
237
|
+
}).default({})
|
|
238
|
+
}).default({}),
|
|
230
239
|
fields: joi.array().items(joi.link('#field')),
|
|
231
|
-
label: joi.alternatives().
|
|
240
|
+
label: joi.alternatives().conditional('admin.components.RowLabel', {
|
|
241
|
+
is: joi.exist(),
|
|
242
|
+
otherwise: joi.alternatives().try(joi.string(), joi.object().pattern(joi.string(), [
|
|
243
|
+
joi.string()
|
|
244
|
+
]), joi.function()).required(),
|
|
245
|
+
then: joi.alternatives().try(joi.string(), joi.object().pattern(joi.string(), [
|
|
246
|
+
joi.string()
|
|
247
|
+
]), joi.function()).optional()
|
|
248
|
+
})
|
|
232
249
|
});
|
|
233
250
|
const tab = baseField.keys({
|
|
234
251
|
name: joi.string().when('localized', {
|
|
@@ -275,7 +292,8 @@ export const array = baseField.keys({
|
|
|
275
292
|
admin: baseAdminFields.keys({
|
|
276
293
|
components: baseAdminComponentFields.keys({
|
|
277
294
|
RowLabel: componentSchema
|
|
278
|
-
}).default({})
|
|
295
|
+
}).default({}),
|
|
296
|
+
isSortable: joi.boolean()
|
|
279
297
|
}).default({}),
|
|
280
298
|
dbName: joi.alternatives().try(joi.string(), joi.func()),
|
|
281
299
|
defaultValue: joi.alternatives().try(joi.array().items(joi.object()), joi.func()),
|
|
@@ -377,8 +395,14 @@ export const relationship = baseField.keys({
|
|
|
377
395
|
export const blocks = baseField.keys({
|
|
378
396
|
name: joi.string().required(),
|
|
379
397
|
type: joi.string().valid('blocks').required(),
|
|
398
|
+
admin: baseAdminFields.keys({
|
|
399
|
+
isSortable: joi.boolean()
|
|
400
|
+
}).default({}),
|
|
380
401
|
blocks: joi.array().items(joi.object({
|
|
381
402
|
slug: joi.string().required(),
|
|
403
|
+
admin: joi.object().keys({
|
|
404
|
+
custom: joi.object().pattern(joi.string(), joi.any())
|
|
405
|
+
}),
|
|
382
406
|
custom: joi.object().pattern(joi.string(), joi.any()),
|
|
383
407
|
dbName: joi.alternatives().try(joi.string(), joi.func()),
|
|
384
408
|
fields: joi.array().items(joi.link('#field')),
|
|
@@ -426,7 +450,8 @@ export const richText = baseField.keys({
|
|
|
426
450
|
outputSchema: joi.func().optional(),
|
|
427
451
|
populationPromise: joi.func().optional(),
|
|
428
452
|
validate: joi.func().required()
|
|
429
|
-
}).unknown()
|
|
453
|
+
}).unknown(),
|
|
454
|
+
maxDepth: joi.number()
|
|
430
455
|
});
|
|
431
456
|
export const date = baseField.keys({
|
|
432
457
|
name: joi.string().required(),
|
|
@@ -463,6 +488,8 @@ export const ui = joi.object().keys({
|
|
|
463
488
|
Field: componentSchema
|
|
464
489
|
}).default({}),
|
|
465
490
|
condition: joi.func(),
|
|
491
|
+
custom: joi.object().pattern(joi.string(), joi.any()),
|
|
492
|
+
disableListColumn: joi.boolean().default(false),
|
|
466
493
|
position: joi.string().valid('sidebar'),
|
|
467
494
|
width: joi.string()
|
|
468
495
|
}).default(),
|