payload 3.0.0-beta.4 → 3.0.0-beta.41
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 +49 -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 +38 -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 +9 -2
- 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 +65 -22
- 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 +2 -3
- 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 +9 -11
- package/dist/uploads/imageResizer.d.ts.map +1 -1
- package/dist/uploads/imageResizer.js +57 -31
- 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 +74 -103
- 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataloader.d.ts","sourceRoot":"","sources":["../../src/collections/dataloader.ts"],"names":[],"mappings":"AAEA,OAAO,UAAU,MAAM,YAAY,CAAA;AAEnC,OAAO,KAAK,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"dataloader.d.ts","sourceRoot":"","sources":["../../src/collections/dataloader.ts"],"names":[],"mappings":"AAEA,OAAO,UAAU,MAAM,YAAY,CAAA;AAEnC,OAAO,KAAK,EAAE,cAAc,EAA0B,MAAM,mBAAmB,CAAA;AAC/E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAuJnD,eAAO,MAAM,aAAa,QAAS,cAAc,2CAA0C,CAAA;AAE3F,KAAK,kBAAkB,GAAG;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB,KAAK,EAAE,OAAO,CAAA;IACd,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,OAAO,CAAA;IACvB,gBAAgB,EAAE,OAAO,CAAA;IACzB,aAAa,EAAE,MAAM,GAAG,MAAM,CAAA;CAC/B,CAAA;AACD,eAAO,MAAM,wBAAwB,oIAWlC,kBAAkB,KAAG,MAYpB,CAAA"}
|
|
@@ -28,7 +28,7 @@ const batchAndLoadDocs = (req)=>async (keys)=>{
|
|
|
28
28
|
};
|
|
29
29
|
*
|
|
30
30
|
**/ const batchByFindArgs = keys.reduce((batches, key)=>{
|
|
31
|
-
const [transactionID, collection, id, depth, currentDepth, locale, fallbackLocale, overrideAccess, showHiddenFields] = JSON.parse(key);
|
|
31
|
+
const [transactionID, collection, id, depth, currentDepth, locale, fallbackLocale, overrideAccess, showHiddenFields, draft] = JSON.parse(key);
|
|
32
32
|
const batchKeyArray = [
|
|
33
33
|
transactionID,
|
|
34
34
|
collection,
|
|
@@ -37,7 +37,8 @@ const batchAndLoadDocs = (req)=>async (keys)=>{
|
|
|
37
37
|
locale,
|
|
38
38
|
fallbackLocale,
|
|
39
39
|
overrideAccess,
|
|
40
|
-
showHiddenFields
|
|
40
|
+
showHiddenFields,
|
|
41
|
+
draft
|
|
41
42
|
];
|
|
42
43
|
const batchKey = JSON.stringify(batchKeyArray);
|
|
43
44
|
const idType = payload.collections?.[collection].customIDType || payload.db.defaultIDType;
|
|
@@ -57,18 +58,19 @@ const batchAndLoadDocs = (req)=>async (keys)=>{
|
|
|
57
58
|
// Run find requests one after another, so as to not hang transactions
|
|
58
59
|
await Object.entries(batchByFindArgs).reduce(async (priorFind, [batchKey, ids])=>{
|
|
59
60
|
await priorFind;
|
|
60
|
-
const [transactionID, collection, depth, currentDepth, locale, fallbackLocale, overrideAccess, showHiddenFields] = JSON.parse(batchKey);
|
|
61
|
+
const [transactionID, collection, depth, currentDepth, locale, fallbackLocale, overrideAccess, showHiddenFields, draft] = JSON.parse(batchKey);
|
|
61
62
|
req.transactionID = transactionID;
|
|
62
63
|
const result = await payload.find({
|
|
63
64
|
collection,
|
|
64
65
|
currentDepth,
|
|
65
66
|
depth,
|
|
66
67
|
disableErrors: true,
|
|
68
|
+
draft,
|
|
67
69
|
fallbackLocale,
|
|
68
70
|
locale,
|
|
69
71
|
overrideAccess: Boolean(overrideAccess),
|
|
70
72
|
pagination: false,
|
|
71
|
-
req,
|
|
73
|
+
req: req,
|
|
72
74
|
showHiddenFields: Boolean(showHiddenFields),
|
|
73
75
|
where: {
|
|
74
76
|
id: {
|
|
@@ -79,17 +81,18 @@ const batchAndLoadDocs = (req)=>async (keys)=>{
|
|
|
79
81
|
// For each returned doc, find index in original keys
|
|
80
82
|
// Inject doc within docs array if index exists
|
|
81
83
|
result.docs.forEach((doc)=>{
|
|
82
|
-
const docKey =
|
|
83
|
-
|
|
84
|
-
collection,
|
|
85
|
-
doc.id,
|
|
86
|
-
depth,
|
|
84
|
+
const docKey = createDataloaderCacheKey({
|
|
85
|
+
collectionSlug: collection,
|
|
87
86
|
currentDepth,
|
|
88
|
-
|
|
89
|
-
|
|
87
|
+
depth,
|
|
88
|
+
docID: doc.id,
|
|
89
|
+
draft,
|
|
90
|
+
fallbackLocale: req.fallbackLocale,
|
|
91
|
+
locale: req.locale,
|
|
90
92
|
overrideAccess,
|
|
91
|
-
showHiddenFields
|
|
92
|
-
|
|
93
|
+
showHiddenFields,
|
|
94
|
+
transactionID: req.transactionID
|
|
95
|
+
});
|
|
93
96
|
const docsIndex = keys.findIndex((key)=>key === docKey);
|
|
94
97
|
if (docsIndex > -1) {
|
|
95
98
|
docs[docsIndex] = doc;
|
|
@@ -102,5 +105,17 @@ const batchAndLoadDocs = (req)=>async (keys)=>{
|
|
|
102
105
|
return docs;
|
|
103
106
|
};
|
|
104
107
|
export const getDataLoader = (req)=>new DataLoader(batchAndLoadDocs(req));
|
|
108
|
+
export const createDataloaderCacheKey = ({ collectionSlug, currentDepth, depth, docID, draft, fallbackLocale, locale, overrideAccess, showHiddenFields, transactionID })=>JSON.stringify([
|
|
109
|
+
transactionID,
|
|
110
|
+
collectionSlug,
|
|
111
|
+
docID,
|
|
112
|
+
depth,
|
|
113
|
+
currentDepth,
|
|
114
|
+
locale,
|
|
115
|
+
fallbackLocale,
|
|
116
|
+
overrideAccess,
|
|
117
|
+
showHiddenFields,
|
|
118
|
+
draft
|
|
119
|
+
]);
|
|
105
120
|
|
|
106
121
|
//# sourceMappingURL=dataloader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/collections/dataloader.ts"],"sourcesContent":["import type { BatchLoadFn } from 'dataloader'\n\nimport DataLoader from 'dataloader'\n\nimport type { PayloadRequest } from '../types/index.js'\nimport type { TypeWithID } from './config/types.js'\n\nimport { isValidID } from '../utilities/isValidID.js'\n\n// Payload uses `dataloader` to solve the classic GraphQL N+1 problem.\n\n// We keep a list of all documents requested to be populated for any given request\n// and then batch together documents within the same collection,\n// making only 1 find per each collection, rather than `findByID` per each requested doc.\n\n// This dramatically improves performance for REST and Local API `depth` populations,\n// and also ensures complex GraphQL queries perform lightning-fast.\n\nconst batchAndLoadDocs =\n (req: PayloadRequest): BatchLoadFn<string, TypeWithID> =>\n async (keys: string[]): Promise<TypeWithID[]> => {\n const { payload } = req\n\n // Create docs array of same length as keys, using null as value\n // We will replace nulls with injected docs as they are retrieved\n const docs: (TypeWithID | null)[] = keys.map(() => null)\n\n /**\n * Batch IDs by their `find` args\n * so we can make one find query per combination of collection, depth, locale, and fallbackLocale.\n *\n * Resulting shape will be as follows:\n {\n // key is stringified set of find args\n '[null,\"pages\",2,0,\"es\",\"en\",false,false]': [\n // value is array of IDs to find with these args\n 'q34tl23462346234524',\n '435523540194324280',\n '2346245j35l3j5234532li',\n ],\n // etc\n };\n *\n **/\n\n const batchByFindArgs = keys.reduce((batches, key) => {\n const [\n transactionID,\n collection,\n id,\n depth,\n currentDepth,\n locale,\n fallbackLocale,\n overrideAccess,\n showHiddenFields,\n ] = JSON.parse(key)\n\n const batchKeyArray = [\n transactionID,\n collection,\n depth,\n currentDepth,\n locale,\n fallbackLocale,\n overrideAccess,\n showHiddenFields,\n ]\n\n const batchKey = JSON.stringify(batchKeyArray)\n\n const idType = payload.collections?.[collection].customIDType || payload.db.defaultIDType\n\n let sanitizedID: number | string = id\n\n if (idType === 'number') sanitizedID = parseFloat(id)\n\n if (isValidID(sanitizedID, idType)) {\n return {\n ...batches,\n [batchKey]: [...(batches[batchKey] || []), sanitizedID],\n }\n }\n return batches\n }, {})\n\n // Run find requests one after another, so as to not hang transactions\n\n await Object.entries(batchByFindArgs).reduce(async (priorFind, [batchKey, ids]) => {\n await priorFind\n\n const [\n transactionID,\n collection,\n depth,\n currentDepth,\n locale,\n fallbackLocale,\n overrideAccess,\n showHiddenFields,\n ] = JSON.parse(batchKey)\n\n req.transactionID = transactionID\n\n const result = await payload.find({\n collection,\n currentDepth,\n depth,\n disableErrors: true,\n fallbackLocale,\n locale,\n overrideAccess: Boolean(overrideAccess),\n pagination: false,\n req,\n showHiddenFields: Boolean(showHiddenFields),\n where: {\n id: {\n in: ids,\n },\n },\n })\n\n // For each returned doc, find index in original keys\n // Inject doc within docs array if index exists\n\n result.docs.forEach((doc) => {\n const docKey =
|
|
1
|
+
{"version":3,"sources":["../../src/collections/dataloader.ts"],"sourcesContent":["import type { BatchLoadFn } from 'dataloader'\n\nimport DataLoader from 'dataloader'\n\nimport type { PayloadRequest, PayloadRequestWithData } from '../types/index.js'\nimport type { TypeWithID } from './config/types.js'\n\nimport { isValidID } from '../utilities/isValidID.js'\n\n// Payload uses `dataloader` to solve the classic GraphQL N+1 problem.\n\n// We keep a list of all documents requested to be populated for any given request\n// and then batch together documents within the same collection,\n// making only 1 find per each collection, rather than `findByID` per each requested doc.\n\n// This dramatically improves performance for REST and Local API `depth` populations,\n// and also ensures complex GraphQL queries perform lightning-fast.\n\nconst batchAndLoadDocs =\n (req: PayloadRequest): BatchLoadFn<string, TypeWithID> =>\n async (keys: string[]): Promise<TypeWithID[]> => {\n const { payload } = req\n\n // Create docs array of same length as keys, using null as value\n // We will replace nulls with injected docs as they are retrieved\n const docs: (TypeWithID | null)[] = keys.map(() => null)\n\n /**\n * Batch IDs by their `find` args\n * so we can make one find query per combination of collection, depth, locale, and fallbackLocale.\n *\n * Resulting shape will be as follows:\n {\n // key is stringified set of find args\n '[null,\"pages\",2,0,\"es\",\"en\",false,false]': [\n // value is array of IDs to find with these args\n 'q34tl23462346234524',\n '435523540194324280',\n '2346245j35l3j5234532li',\n ],\n // etc\n };\n *\n **/\n\n const batchByFindArgs = keys.reduce((batches, key) => {\n const [\n transactionID,\n collection,\n id,\n depth,\n currentDepth,\n locale,\n fallbackLocale,\n overrideAccess,\n showHiddenFields,\n draft,\n ] = JSON.parse(key)\n\n const batchKeyArray = [\n transactionID,\n collection,\n depth,\n currentDepth,\n locale,\n fallbackLocale,\n overrideAccess,\n showHiddenFields,\n draft,\n ]\n\n const batchKey = JSON.stringify(batchKeyArray)\n\n const idType = payload.collections?.[collection].customIDType || payload.db.defaultIDType\n\n let sanitizedID: number | string = id\n\n if (idType === 'number') sanitizedID = parseFloat(id)\n\n if (isValidID(sanitizedID, idType)) {\n return {\n ...batches,\n [batchKey]: [...(batches[batchKey] || []), sanitizedID],\n }\n }\n return batches\n }, {})\n\n // Run find requests one after another, so as to not hang transactions\n\n await Object.entries(batchByFindArgs).reduce(async (priorFind, [batchKey, ids]) => {\n await priorFind\n\n const [\n transactionID,\n collection,\n depth,\n currentDepth,\n locale,\n fallbackLocale,\n overrideAccess,\n showHiddenFields,\n draft,\n ] = JSON.parse(batchKey)\n\n req.transactionID = transactionID\n\n const result = await payload.find({\n collection,\n currentDepth,\n depth,\n disableErrors: true,\n draft,\n fallbackLocale,\n locale,\n overrideAccess: Boolean(overrideAccess),\n pagination: false,\n req: req as PayloadRequestWithData,\n showHiddenFields: Boolean(showHiddenFields),\n where: {\n id: {\n in: ids,\n },\n },\n })\n\n // For each returned doc, find index in original keys\n // Inject doc within docs array if index exists\n\n result.docs.forEach((doc) => {\n const docKey = createDataloaderCacheKey({\n collectionSlug: collection,\n currentDepth,\n depth,\n docID: doc.id,\n draft,\n fallbackLocale: req.fallbackLocale,\n locale: req.locale,\n overrideAccess,\n showHiddenFields,\n transactionID: req.transactionID,\n })\n const docsIndex = keys.findIndex((key) => key === docKey)\n\n if (docsIndex > -1) {\n docs[docsIndex] = doc\n }\n })\n }, Promise.resolve())\n\n // Return docs array,\n // which has now been injected with all fetched docs\n // and should match the length of the incoming keys arg\n return docs\n }\n\nexport const getDataLoader = (req: PayloadRequest) => new DataLoader(batchAndLoadDocs(req))\n\ntype CreateCacheKeyArgs = {\n collectionSlug: string\n currentDepth: number\n depth: number\n docID: number | string\n draft: boolean\n fallbackLocale: string\n locale: string\n overrideAccess: boolean\n showHiddenFields: boolean\n transactionID: number | string\n}\nexport const createDataloaderCacheKey = ({\n collectionSlug,\n currentDepth,\n depth,\n docID,\n draft,\n fallbackLocale,\n locale,\n overrideAccess,\n showHiddenFields,\n transactionID,\n}: CreateCacheKeyArgs): string =>\n JSON.stringify([\n transactionID,\n collectionSlug,\n docID,\n depth,\n currentDepth,\n locale,\n fallbackLocale,\n overrideAccess,\n showHiddenFields,\n draft,\n ])\n"],"names":["DataLoader","isValidID","batchAndLoadDocs","req","keys","payload","docs","map","batchByFindArgs","reduce","batches","key","transactionID","collection","id","depth","currentDepth","locale","fallbackLocale","overrideAccess","showHiddenFields","draft","JSON","parse","batchKeyArray","batchKey","stringify","idType","collections","customIDType","db","defaultIDType","sanitizedID","parseFloat","Object","entries","priorFind","ids","result","find","disableErrors","Boolean","pagination","where","in","forEach","doc","docKey","createDataloaderCacheKey","collectionSlug","docID","docsIndex","findIndex","Promise","resolve","getDataLoader"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { PayloadRequestWithData, Where } from '../../types/index.js';
|
|
2
|
+
import type { Collection, TypeWithID } from '../config/types.js';
|
|
3
|
+
export type Arguments = {
|
|
4
|
+
collection: Collection;
|
|
5
|
+
disableErrors?: boolean;
|
|
6
|
+
overrideAccess?: boolean;
|
|
7
|
+
req?: PayloadRequestWithData;
|
|
8
|
+
where?: Where;
|
|
9
|
+
};
|
|
10
|
+
export declare const countOperation: <T extends TypeWithID & Record<string, unknown>>(incomingArgs: Arguments) => Promise<{
|
|
11
|
+
totalDocs: number;
|
|
12
|
+
}>;
|
|
13
|
+
//# sourceMappingURL=count.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"count.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/count.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAUhE,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,CAAC,EAAE,sBAAsB,CAAA;IAC5B,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,eAAO,MAAM,cAAc,iEACX,SAAS,KACtB,QAAQ;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAwF/B,CAAA"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import executeAccess from '../../auth/executeAccess.js';
|
|
2
|
+
import { combineQueries } from '../../database/combineQueries.js';
|
|
3
|
+
import { validateQueryPaths } from '../../database/queryValidation/validateQueryPaths.js';
|
|
4
|
+
import { commitTransaction } from '../../utilities/commitTransaction.js';
|
|
5
|
+
import { initTransaction } from '../../utilities/initTransaction.js';
|
|
6
|
+
import { killTransaction } from '../../utilities/killTransaction.js';
|
|
7
|
+
import { buildAfterOperation } from './utils.js';
|
|
8
|
+
export const countOperation = async (incomingArgs)=>{
|
|
9
|
+
let args = incomingArgs;
|
|
10
|
+
try {
|
|
11
|
+
const shouldCommit = await initTransaction(args.req);
|
|
12
|
+
// /////////////////////////////////////
|
|
13
|
+
// beforeOperation - Collection
|
|
14
|
+
// /////////////////////////////////////
|
|
15
|
+
await args.collection.config.hooks.beforeOperation.reduce(async (priorHook, hook)=>{
|
|
16
|
+
await priorHook;
|
|
17
|
+
args = await hook({
|
|
18
|
+
args,
|
|
19
|
+
collection: args.collection.config,
|
|
20
|
+
context: args.req.context,
|
|
21
|
+
operation: 'count',
|
|
22
|
+
req: args.req
|
|
23
|
+
}) || args;
|
|
24
|
+
}, Promise.resolve());
|
|
25
|
+
const { collection: { config: collectionConfig }, disableErrors, overrideAccess, req: { payload }, req, where } = args;
|
|
26
|
+
// /////////////////////////////////////
|
|
27
|
+
// Access
|
|
28
|
+
// /////////////////////////////////////
|
|
29
|
+
let accessResult;
|
|
30
|
+
if (!overrideAccess) {
|
|
31
|
+
accessResult = await executeAccess({
|
|
32
|
+
disableErrors,
|
|
33
|
+
req
|
|
34
|
+
}, collectionConfig.access.read);
|
|
35
|
+
// If errors are disabled, and access returns false, return empty results
|
|
36
|
+
if (accessResult === false) {
|
|
37
|
+
return {
|
|
38
|
+
totalDocs: 0
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
let result;
|
|
43
|
+
const fullWhere = combineQueries(where, accessResult);
|
|
44
|
+
await validateQueryPaths({
|
|
45
|
+
collectionConfig,
|
|
46
|
+
overrideAccess,
|
|
47
|
+
req,
|
|
48
|
+
where
|
|
49
|
+
});
|
|
50
|
+
result = await payload.db.count({
|
|
51
|
+
collection: collectionConfig.slug,
|
|
52
|
+
req,
|
|
53
|
+
where: fullWhere
|
|
54
|
+
});
|
|
55
|
+
// /////////////////////////////////////
|
|
56
|
+
// afterOperation - Collection
|
|
57
|
+
// /////////////////////////////////////
|
|
58
|
+
result = await buildAfterOperation({
|
|
59
|
+
args,
|
|
60
|
+
collection: collectionConfig,
|
|
61
|
+
operation: 'count',
|
|
62
|
+
result
|
|
63
|
+
});
|
|
64
|
+
// /////////////////////////////////////
|
|
65
|
+
// Return results
|
|
66
|
+
// /////////////////////////////////////
|
|
67
|
+
if (shouldCommit) await commitTransaction(req);
|
|
68
|
+
return result;
|
|
69
|
+
} catch (error) {
|
|
70
|
+
await killTransaction(args.req);
|
|
71
|
+
throw error;
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
//# sourceMappingURL=count.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/collections/operations/count.ts"],"sourcesContent":["import type { AccessResult } from '../../config/types.js'\nimport type { PayloadRequestWithData, Where } from '../../types/index.js'\nimport type { Collection, TypeWithID } from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { validateQueryPaths } from '../../database/queryValidation/validateQueryPaths.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { buildAfterOperation } from './utils.js'\n\nexport type Arguments = {\n collection: Collection\n disableErrors?: boolean\n overrideAccess?: boolean\n req?: PayloadRequestWithData\n where?: Where\n}\n\nexport const countOperation = async <T extends TypeWithID & Record<string, unknown>>(\n incomingArgs: Arguments,\n): Promise<{ totalDocs: number }> => {\n let args = incomingArgs\n\n try {\n const shouldCommit = await initTransaction(args.req)\n\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n await args.collection.config.hooks.beforeOperation.reduce(async (priorHook, hook) => {\n await priorHook\n\n args =\n (await hook({\n args,\n collection: args.collection.config,\n context: args.req.context,\n operation: 'count',\n req: args.req,\n })) || args\n }, Promise.resolve())\n\n const {\n collection: { config: collectionConfig },\n disableErrors,\n overrideAccess,\n req: { payload },\n req,\n where,\n } = args\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n let accessResult: AccessResult\n\n if (!overrideAccess) {\n accessResult = await executeAccess({ disableErrors, req }, collectionConfig.access.read)\n\n // If errors are disabled, and access returns false, return empty results\n if (accessResult === false) {\n return {\n totalDocs: 0,\n }\n }\n }\n\n let result: { totalDocs: number }\n\n const fullWhere = combineQueries(where, accessResult)\n\n await validateQueryPaths({\n collectionConfig,\n overrideAccess,\n req,\n where,\n })\n\n result = await payload.db.count({\n collection: collectionConfig.slug,\n req,\n where: fullWhere,\n })\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation<T>({\n args,\n collection: collectionConfig,\n operation: 'count',\n result,\n })\n\n // /////////////////////////////////////\n // Return results\n // /////////////////////////////////////\n\n if (shouldCommit) await commitTransaction(req)\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["executeAccess","combineQueries","validateQueryPaths","commitTransaction","initTransaction","killTransaction","buildAfterOperation","countOperation","incomingArgs","args","shouldCommit","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","operation","Promise","resolve","collectionConfig","disableErrors","overrideAccess","payload","where","accessResult","access","read","totalDocs","result","fullWhere","db","count","slug","error"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAIA,OAAOA,mBAAmB,8BAA6B;AACvD,SAASC,cAAc,QAAQ,mCAAkC;AACjE,SAASC,kBAAkB,QAAQ,uDAAsD;AACzF,SAASC,iBAAiB,QAAQ,uCAAsC;AACxE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,mBAAmB,QAAQ,aAAY;AAUhD,OAAO,MAAMC,iBAAiB,OAC5BC;IAEA,IAAIC,OAAOD;IAEX,IAAI;QACF,MAAME,eAAe,MAAMN,gBAAgBK,KAAKE,GAAG;QAEnD,wCAAwC;QACxC,+BAA+B;QAC/B,wCAAwC;QAExC,MAAMF,KAAKG,UAAU,CAACC,MAAM,CAACC,KAAK,CAACC,eAAe,CAACC,MAAM,CAAC,OAAOC,WAAWC;YAC1E,MAAMD;YAENR,OACE,AAAC,MAAMS,KAAK;gBACVT;gBACAG,YAAYH,KAAKG,UAAU,CAACC,MAAM;gBAClCM,SAASV,KAAKE,GAAG,CAACQ,OAAO;gBACzBC,WAAW;gBACXT,KAAKF,KAAKE,GAAG;YACf,MAAOF;QACX,GAAGY,QAAQC,OAAO;QAElB,MAAM,EACJV,YAAY,EAAEC,QAAQU,gBAAgB,EAAE,EACxCC,aAAa,EACbC,cAAc,EACdd,KAAK,EAAEe,OAAO,EAAE,EAChBf,GAAG,EACHgB,KAAK,EACN,GAAGlB;QAEJ,wCAAwC;QACxC,SAAS;QACT,wCAAwC;QAExC,IAAImB;QAEJ,IAAI,CAACH,gBAAgB;YACnBG,eAAe,MAAM5B,cAAc;gBAAEwB;gBAAeb;YAAI,GAAGY,iBAAiBM,MAAM,CAACC,IAAI;YAEvF,yEAAyE;YACzE,IAAIF,iBAAiB,OAAO;gBAC1B,OAAO;oBACLG,WAAW;gBACb;YACF;QACF;QAEA,IAAIC;QAEJ,MAAMC,YAAYhC,eAAe0B,OAAOC;QAExC,MAAM1B,mBAAmB;YACvBqB;YACAE;YACAd;YACAgB;QACF;QAEAK,SAAS,MAAMN,QAAQQ,EAAE,CAACC,KAAK,CAAC;YAC9BvB,YAAYW,iBAAiBa,IAAI;YACjCzB;YACAgB,OAAOM;QACT;QAEA,wCAAwC;QACxC,8BAA8B;QAC9B,wCAAwC;QAExCD,SAAS,MAAM1B,oBAAuB;YACpCG;YACAG,YAAYW;YACZH,WAAW;YACXY;QACF;QAEA,wCAAwC;QACxC,iBAAiB;QACjB,wCAAwC;QAExC,IAAItB,cAAc,MAAMP,kBAAkBQ;QAE1C,OAAOqB;IACT,EAAE,OAAOK,OAAgB;QACvB,MAAMhC,gBAAgBI,KAAKE,GAAG;QAC9B,MAAM0B;IACR;AACF,EAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { MarkOptional } from 'ts-essentials';
|
|
2
2
|
import type { GeneratedTypes } from '../../index.js';
|
|
3
|
-
import type {
|
|
3
|
+
import type { PayloadRequestWithData } from '../../types/index.js';
|
|
4
4
|
import type { Collection } from '../config/types.js';
|
|
5
5
|
export type CreateUpdateType = {
|
|
6
6
|
[field: number | string | symbol]: unknown;
|
|
@@ -14,7 +14,7 @@ export type Arguments<T extends CreateUpdateType> = {
|
|
|
14
14
|
draft?: boolean;
|
|
15
15
|
overrideAccess?: boolean;
|
|
16
16
|
overwriteExistingFiles?: boolean;
|
|
17
|
-
req:
|
|
17
|
+
req: PayloadRequestWithData;
|
|
18
18
|
showHiddenFields?: boolean;
|
|
19
19
|
};
|
|
20
20
|
export declare const createOperation: <TSlug extends string | number | symbol>(incomingArgs: Arguments<GeneratedTypes['collections'][TSlug]>) => Promise<GeneratedTypes['collections'][TSlug]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAIjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAY,
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAIjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAY,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAC5E,OAAO,KAAK,EAIV,UAAU,EACX,MAAM,oBAAoB,CAAA;AAmB3B,MAAM,MAAM,gBAAgB,GAAG;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;CAAE,CAAA;AAE7E,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,gBAAgB,IAAI;IAClD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,YAAY,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,GAAG,WAAW,CAAC,CAAA;IACjE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,GAAG,EAAE,sBAAsB,CAAA;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,eAAe,yDACZ,UAAU,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,KAC5D,QAAQ,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAyU9C,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import crypto from 'crypto';
|
|
2
2
|
import executeAccess from '../../auth/executeAccess.js';
|
|
3
|
-
import sendVerificationEmail from '../../auth/sendVerificationEmail.js';
|
|
3
|
+
import { sendVerificationEmail } from '../../auth/sendVerificationEmail.js';
|
|
4
4
|
import { registerLocalStrategy } from '../../auth/strategies/local/register.js';
|
|
5
5
|
import { afterChange } from '../../fields/hooks/afterChange/index.js';
|
|
6
6
|
import { afterRead } from '../../fields/hooks/afterRead/index.js';
|
|
@@ -32,7 +32,7 @@ export const createOperation = async (incomingArgs)=>{
|
|
|
32
32
|
req: args.req
|
|
33
33
|
}) || args;
|
|
34
34
|
}, Promise.resolve());
|
|
35
|
-
const { autosave = false, collection: { config: collectionConfig }, collection, depth, disableVerificationEmail, draft = false, overrideAccess, overwriteExistingFiles = false, req: { fallbackLocale, locale, payload, payload: { config,
|
|
35
|
+
const { autosave = false, collection: { config: collectionConfig }, collection, depth, disableVerificationEmail, draft = false, overrideAccess, overwriteExistingFiles = false, req: { fallbackLocale, locale, payload, payload: { config, email } }, req, showHiddenFields } = args;
|
|
36
36
|
let { data } = args;
|
|
37
37
|
const shouldSaveDraft = Boolean(draft && collectionConfig.versions.drafts);
|
|
38
38
|
// /////////////////////////////////////
|
|
@@ -60,6 +60,7 @@ export const createOperation = async (incomingArgs)=>{
|
|
|
60
60
|
collection,
|
|
61
61
|
config,
|
|
62
62
|
data,
|
|
63
|
+
operation: 'create',
|
|
63
64
|
overwriteExistingFiles,
|
|
64
65
|
req,
|
|
65
66
|
throwOnMissingFile: !shouldSaveDraft && collection.config.upload.filesRequiredOnCreate !== false
|
|
@@ -182,9 +183,8 @@ export const createOperation = async (incomingArgs)=>{
|
|
|
182
183
|
},
|
|
183
184
|
config: payload.config,
|
|
184
185
|
disableEmail: disableVerificationEmail,
|
|
185
|
-
|
|
186
|
+
email: payload.email,
|
|
186
187
|
req,
|
|
187
|
-
sendEmail: payload.sendEmail,
|
|
188
188
|
token: verificationToken,
|
|
189
189
|
user: result
|
|
190
190
|
});
|
|
@@ -197,6 +197,7 @@ export const createOperation = async (incomingArgs)=>{
|
|
|
197
197
|
context: req.context,
|
|
198
198
|
depth,
|
|
199
199
|
doc: result,
|
|
200
|
+
draft,
|
|
200
201
|
fallbackLocale,
|
|
201
202
|
global: null,
|
|
202
203
|
locale,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/collections/operations/create.ts"],"sourcesContent":["import type { MarkOptional } from 'ts-essentials'\n\nimport crypto from 'crypto'\n\nimport type { GeneratedTypes } from '../../index.js'\nimport type { Document, PayloadRequest } from '../../types/index.js'\nimport type {\n AfterChangeHook,\n BeforeOperationHook,\n BeforeValidateHook,\n Collection,\n} from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport sendVerificationEmail from '../../auth/sendVerificationEmail.js'\nimport { registerLocalStrategy } from '../../auth/strategies/local/register.js'\nimport { afterChange } from '../../fields/hooks/afterChange/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { beforeChange } from '../../fields/hooks/beforeChange/index.js'\nimport { beforeValidate } from '../../fields/hooks/beforeValidate/index.js'\nimport { generateFileData } from '../../uploads/generateFileData.js'\nimport { unlinkTempFiles } from '../../uploads/unlinkTempFiles.js'\nimport { uploadFiles } from '../../uploads/uploadFiles.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport sanitizeInternalFields from '../../utilities/sanitizeInternalFields.js'\nimport { saveVersion } from '../../versions/saveVersion.js'\nimport { buildAfterOperation } from './utils.js'\n\nexport type CreateUpdateType = { [field: number | string | symbol]: unknown }\n\nexport type Arguments<T extends CreateUpdateType> = {\n autosave?: boolean\n collection: Collection\n data: MarkOptional<T, 'createdAt' | 'id' | 'sizes' | 'updatedAt'>\n depth?: number\n disableVerificationEmail?: boolean\n draft?: boolean\n overrideAccess?: boolean\n overwriteExistingFiles?: boolean\n req: PayloadRequest\n showHiddenFields?: boolean\n}\n\nexport const createOperation = async <TSlug extends keyof GeneratedTypes['collections']>(\n incomingArgs: Arguments<GeneratedTypes['collections'][TSlug]>,\n): Promise<GeneratedTypes['collections'][TSlug]> => {\n let args = incomingArgs\n\n try {\n const shouldCommit = await initTransaction(args.req)\n\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n await args.collection.config.hooks.beforeOperation.reduce(\n async (priorHook: BeforeOperationHook | Promise<void>, hook: BeforeOperationHook) => {\n await priorHook\n\n args =\n (await hook({\n args,\n collection: args.collection.config,\n context: args.req.context,\n operation: 'create',\n req: args.req,\n })) || args\n },\n Promise.resolve(),\n )\n\n const {\n autosave = false,\n collection: { config: collectionConfig },\n collection,\n depth,\n disableVerificationEmail,\n draft = false,\n overrideAccess,\n overwriteExistingFiles = false,\n req: {\n fallbackLocale,\n locale,\n payload,\n payload: { config, emailOptions },\n },\n req,\n showHiddenFields,\n } = args\n\n let { data } = args\n\n const shouldSaveDraft = Boolean(draft && collectionConfig.versions.drafts)\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n if (!overrideAccess) {\n await executeAccess({ data, req }, collectionConfig.access.create)\n }\n\n // /////////////////////////////////////\n // Custom id\n // /////////////////////////////////////\n\n if (payload.collections[collectionConfig.slug].customIDType) {\n data = {\n _id: data.id,\n ...data,\n }\n }\n\n // /////////////////////////////////////\n // Generate data for all files and sizes\n // /////////////////////////////////////\n\n const { data: newFileData, files: filesToUpload } = await generateFileData({\n collection,\n config,\n data,\n overwriteExistingFiles,\n req,\n throwOnMissingFile:\n !shouldSaveDraft && collection.config.upload.filesRequiredOnCreate !== false,\n })\n\n data = newFileData\n\n // /////////////////////////////////////\n // beforeValidate - Fields\n // /////////////////////////////////////\n\n data = await beforeValidate({\n collection: collectionConfig,\n context: req.context,\n data,\n doc: {},\n global: null,\n operation: 'create',\n overrideAccess,\n req,\n })\n\n // /////////////////////////////////////\n // beforeValidate - Collections\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeValidate.reduce(\n async (priorHook: BeforeValidateHook | Promise<void>, hook: BeforeValidateHook) => {\n await priorHook\n\n data =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n data,\n operation: 'create',\n req,\n })) || data\n },\n Promise.resolve(),\n )\n\n // /////////////////////////////////////\n // Write files to local storage\n // /////////////////////////////////////\n\n // if (!collectionConfig.upload.disableLocalStorage) {\n // await uploadFiles(payload, filesToUpload, req.t)\n // }\n\n // /////////////////////////////////////\n // beforeChange - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeChange.reduce(async (priorHook, hook) => {\n await priorHook\n\n data =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n data,\n operation: 'create',\n req,\n })) || data\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // beforeChange - Fields\n // /////////////////////////////////////\n\n const resultWithLocales = await beforeChange<Record<string, unknown>>({\n collection: collectionConfig,\n context: req.context,\n data,\n doc: {},\n docWithLocales: {},\n global: null,\n operation: 'create',\n req,\n skipValidation: shouldSaveDraft,\n })\n\n // /////////////////////////////////////\n // Write files to local storage\n // /////////////////////////////////////\n\n if (!collectionConfig.upload.disableLocalStorage) {\n await uploadFiles(payload, filesToUpload, req)\n }\n\n // /////////////////////////////////////\n // Create\n // /////////////////////////////////////\n\n let doc\n\n if (collectionConfig.auth && !collectionConfig.auth.disableLocalStrategy) {\n if (data.email) {\n resultWithLocales.email = (data.email as string).toLowerCase()\n }\n\n if (collectionConfig.auth.verify) {\n resultWithLocales._verified = Boolean(resultWithLocales._verified) || false\n resultWithLocales._verificationToken = crypto.randomBytes(20).toString('hex')\n }\n\n doc = await registerLocalStrategy({\n collection: collectionConfig,\n doc: resultWithLocales,\n password: data.password as string,\n payload: req.payload,\n req,\n })\n } else {\n doc = await payload.db.create({\n collection: collectionConfig.slug,\n data: resultWithLocales,\n req,\n })\n }\n\n const verificationToken = doc._verificationToken\n let result: Document = sanitizeInternalFields(doc)\n\n // /////////////////////////////////////\n // Create version\n // /////////////////////////////////////\n\n if (collectionConfig.versions) {\n await saveVersion({\n id: result.id,\n autosave,\n collection: collectionConfig,\n docWithLocales: result,\n payload,\n req,\n })\n }\n\n // /////////////////////////////////////\n // Send verification email if applicable\n // /////////////////////////////////////\n\n if (collectionConfig.auth && collectionConfig.auth.verify) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n sendVerificationEmail({\n collection: { config: collectionConfig },\n config: payload.config,\n disableEmail: disableVerificationEmail,\n emailOptions,\n req,\n sendEmail: payload.sendEmail,\n token: verificationToken,\n user: result,\n })\n }\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth,\n doc: result,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterChange - Fields\n // /////////////////////////////////////\n\n result = await afterChange({\n collection: collectionConfig,\n context: req.context,\n data,\n doc: result,\n global: null,\n operation: 'create',\n previousDoc: {},\n req,\n })\n\n // /////////////////////////////////////\n // afterChange - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterChange.reduce(\n async (priorHook: AfterChangeHook | Promise<void>, hook: AfterChangeHook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n operation: 'create',\n previousDoc: {},\n req: args.req,\n })) || result\n },\n Promise.resolve(),\n )\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation<GeneratedTypes['collections'][TSlug]>({\n args,\n collection: collectionConfig,\n operation: 'create',\n result,\n })\n\n await unlinkTempFiles({ collectionConfig, config, req })\n\n // /////////////////////////////////////\n // Return results\n // /////////////////////////////////////\n\n if (shouldCommit) await commitTransaction(req)\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["crypto","executeAccess","sendVerificationEmail","registerLocalStrategy","afterChange","afterRead","beforeChange","beforeValidate","generateFileData","unlinkTempFiles","uploadFiles","commitTransaction","initTransaction","killTransaction","sanitizeInternalFields","saveVersion","buildAfterOperation","createOperation","incomingArgs","args","shouldCommit","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","operation","Promise","resolve","autosave","collectionConfig","depth","disableVerificationEmail","draft","overrideAccess","overwriteExistingFiles","fallbackLocale","locale","payload","emailOptions","showHiddenFields","data","shouldSaveDraft","Boolean","versions","drafts","access","create","collections","slug","customIDType","_id","id","newFileData","files","filesToUpload","throwOnMissingFile","upload","filesRequiredOnCreate","doc","global","resultWithLocales","docWithLocales","skipValidation","disableLocalStorage","auth","disableLocalStrategy","email","toLowerCase","verify","_verified","_verificationToken","randomBytes","toString","password","db","verificationToken","result","disableEmail","sendEmail","token","user","previousDoc","error"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/collections/operations/create.ts"],"sourcesContent":["import type { MarkOptional } from 'ts-essentials'\n\nimport crypto from 'crypto'\n\nimport type { GeneratedTypes } from '../../index.js'\nimport type { Document, PayloadRequestWithData } from '../../types/index.js'\nimport type {\n AfterChangeHook,\n BeforeOperationHook,\n BeforeValidateHook,\n Collection,\n} from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { sendVerificationEmail } from '../../auth/sendVerificationEmail.js'\nimport { registerLocalStrategy } from '../../auth/strategies/local/register.js'\nimport { afterChange } from '../../fields/hooks/afterChange/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { beforeChange } from '../../fields/hooks/beforeChange/index.js'\nimport { beforeValidate } from '../../fields/hooks/beforeValidate/index.js'\nimport { generateFileData } from '../../uploads/generateFileData.js'\nimport { unlinkTempFiles } from '../../uploads/unlinkTempFiles.js'\nimport { uploadFiles } from '../../uploads/uploadFiles.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport sanitizeInternalFields from '../../utilities/sanitizeInternalFields.js'\nimport { saveVersion } from '../../versions/saveVersion.js'\nimport { buildAfterOperation } from './utils.js'\n\nexport type CreateUpdateType = { [field: number | string | symbol]: unknown }\n\nexport type Arguments<T extends CreateUpdateType> = {\n autosave?: boolean\n collection: Collection\n data: MarkOptional<T, 'createdAt' | 'id' | 'sizes' | 'updatedAt'>\n depth?: number\n disableVerificationEmail?: boolean\n draft?: boolean\n overrideAccess?: boolean\n overwriteExistingFiles?: boolean\n req: PayloadRequestWithData\n showHiddenFields?: boolean\n}\n\nexport const createOperation = async <TSlug extends keyof GeneratedTypes['collections']>(\n incomingArgs: Arguments<GeneratedTypes['collections'][TSlug]>,\n): Promise<GeneratedTypes['collections'][TSlug]> => {\n let args = incomingArgs\n\n try {\n const shouldCommit = await initTransaction(args.req)\n\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n await args.collection.config.hooks.beforeOperation.reduce(\n async (priorHook: BeforeOperationHook | Promise<void>, hook: BeforeOperationHook) => {\n await priorHook\n\n args =\n (await hook({\n args,\n collection: args.collection.config,\n context: args.req.context,\n operation: 'create',\n req: args.req,\n })) || args\n },\n Promise.resolve(),\n )\n\n const {\n autosave = false,\n collection: { config: collectionConfig },\n collection,\n depth,\n disableVerificationEmail,\n draft = false,\n overrideAccess,\n overwriteExistingFiles = false,\n req: {\n fallbackLocale,\n locale,\n payload,\n payload: { config, email },\n },\n req,\n showHiddenFields,\n } = args\n\n let { data } = args\n\n const shouldSaveDraft = Boolean(draft && collectionConfig.versions.drafts)\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n if (!overrideAccess) {\n await executeAccess({ data, req }, collectionConfig.access.create)\n }\n\n // /////////////////////////////////////\n // Custom id\n // /////////////////////////////////////\n\n if (payload.collections[collectionConfig.slug].customIDType) {\n data = {\n _id: data.id,\n ...data,\n }\n }\n\n // /////////////////////////////////////\n // Generate data for all files and sizes\n // /////////////////////////////////////\n\n const { data: newFileData, files: filesToUpload } = await generateFileData({\n collection,\n config,\n data,\n operation: 'create',\n overwriteExistingFiles,\n req,\n throwOnMissingFile:\n !shouldSaveDraft && collection.config.upload.filesRequiredOnCreate !== false,\n })\n\n data = newFileData\n\n // /////////////////////////////////////\n // beforeValidate - Fields\n // /////////////////////////////////////\n\n data = await beforeValidate({\n collection: collectionConfig,\n context: req.context,\n data,\n doc: {},\n global: null,\n operation: 'create',\n overrideAccess,\n req,\n })\n\n // /////////////////////////////////////\n // beforeValidate - Collections\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeValidate.reduce(\n async (priorHook: BeforeValidateHook | Promise<void>, hook: BeforeValidateHook) => {\n await priorHook\n\n data =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n data,\n operation: 'create',\n req,\n })) || data\n },\n Promise.resolve(),\n )\n\n // /////////////////////////////////////\n // Write files to local storage\n // /////////////////////////////////////\n\n // if (!collectionConfig.upload.disableLocalStorage) {\n // await uploadFiles(payload, filesToUpload, req.t)\n // }\n\n // /////////////////////////////////////\n // beforeChange - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeChange.reduce(async (priorHook, hook) => {\n await priorHook\n\n data =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n data,\n operation: 'create',\n req,\n })) || data\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // beforeChange - Fields\n // /////////////////////////////////////\n\n const resultWithLocales = await beforeChange<Record<string, unknown>>({\n collection: collectionConfig,\n context: req.context,\n data,\n doc: {},\n docWithLocales: {},\n global: null,\n operation: 'create',\n req,\n skipValidation: shouldSaveDraft,\n })\n\n // /////////////////////////////////////\n // Write files to local storage\n // /////////////////////////////////////\n\n if (!collectionConfig.upload.disableLocalStorage) {\n await uploadFiles(payload, filesToUpload, req)\n }\n\n // /////////////////////////////////////\n // Create\n // /////////////////////////////////////\n\n let doc\n\n if (collectionConfig.auth && !collectionConfig.auth.disableLocalStrategy) {\n if (data.email) {\n resultWithLocales.email = (data.email as string).toLowerCase()\n }\n\n if (collectionConfig.auth.verify) {\n resultWithLocales._verified = Boolean(resultWithLocales._verified) || false\n resultWithLocales._verificationToken = crypto.randomBytes(20).toString('hex')\n }\n\n doc = await registerLocalStrategy({\n collection: collectionConfig,\n doc: resultWithLocales,\n password: data.password as string,\n payload: req.payload,\n req,\n })\n } else {\n doc = await payload.db.create({\n collection: collectionConfig.slug,\n data: resultWithLocales,\n req,\n })\n }\n\n const verificationToken = doc._verificationToken\n let result: Document = sanitizeInternalFields(doc)\n\n // /////////////////////////////////////\n // Create version\n // /////////////////////////////////////\n\n if (collectionConfig.versions) {\n await saveVersion({\n id: result.id,\n autosave,\n collection: collectionConfig,\n docWithLocales: result,\n payload,\n req,\n })\n }\n\n // /////////////////////////////////////\n // Send verification email if applicable\n // /////////////////////////////////////\n\n if (collectionConfig.auth && collectionConfig.auth.verify) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n sendVerificationEmail({\n collection: { config: collectionConfig },\n config: payload.config,\n disableEmail: disableVerificationEmail,\n email: payload.email,\n req,\n token: verificationToken,\n user: result,\n })\n }\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth,\n doc: result,\n draft,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterChange - Fields\n // /////////////////////////////////////\n\n result = await afterChange({\n collection: collectionConfig,\n context: req.context,\n data,\n doc: result,\n global: null,\n operation: 'create',\n previousDoc: {},\n req,\n })\n\n // /////////////////////////////////////\n // afterChange - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterChange.reduce(\n async (priorHook: AfterChangeHook | Promise<void>, hook: AfterChangeHook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n operation: 'create',\n previousDoc: {},\n req: args.req,\n })) || result\n },\n Promise.resolve(),\n )\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation<GeneratedTypes['collections'][TSlug]>({\n args,\n collection: collectionConfig,\n operation: 'create',\n result,\n })\n\n await unlinkTempFiles({ collectionConfig, config, req })\n\n // /////////////////////////////////////\n // Return results\n // /////////////////////////////////////\n\n if (shouldCommit) await commitTransaction(req)\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["crypto","executeAccess","sendVerificationEmail","registerLocalStrategy","afterChange","afterRead","beforeChange","beforeValidate","generateFileData","unlinkTempFiles","uploadFiles","commitTransaction","initTransaction","killTransaction","sanitizeInternalFields","saveVersion","buildAfterOperation","createOperation","incomingArgs","args","shouldCommit","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","operation","Promise","resolve","autosave","collectionConfig","depth","disableVerificationEmail","draft","overrideAccess","overwriteExistingFiles","fallbackLocale","locale","payload","email","showHiddenFields","data","shouldSaveDraft","Boolean","versions","drafts","access","create","collections","slug","customIDType","_id","id","newFileData","files","filesToUpload","throwOnMissingFile","upload","filesRequiredOnCreate","doc","global","resultWithLocales","docWithLocales","skipValidation","disableLocalStorage","auth","disableLocalStrategy","toLowerCase","verify","_verified","_verificationToken","randomBytes","toString","password","db","verificationToken","result","disableEmail","token","user","previousDoc","error"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { GeneratedTypes } from '../../index.js';
|
|
2
|
-
import type {
|
|
2
|
+
import type { PayloadRequestWithData, Where } from '../../types/index.js';
|
|
3
3
|
import type { Collection } from '../config/types.js';
|
|
4
4
|
export type Arguments = {
|
|
5
5
|
collection: Collection;
|
|
6
6
|
depth?: number;
|
|
7
7
|
overrideAccess?: boolean;
|
|
8
|
-
req:
|
|
8
|
+
req: PayloadRequestWithData;
|
|
9
9
|
showHiddenFields?: boolean;
|
|
10
10
|
where: Where;
|
|
11
11
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/delete.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/delete.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACzE,OAAO,KAAK,EAAuB,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAezE,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,sBAAsB,CAAA;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED,eAAO,MAAM,eAAe,yDACZ,SAAS,KACtB,QAAQ;IACT,IAAI,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,EAAE,CAAA;IAC5C,MAAM,EAAE;QACN,EAAE,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAA;QAC9C,OAAO,EAAE,MAAM,CAAA;KAChB,EAAE,CAAA;CACJ,CA0OA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/collections/operations/delete.ts"],"sourcesContent":["import httpStatus from 'http-status'\n\nimport type { AccessResult } from '../../config/types.js'\nimport type { GeneratedTypes } from '../../index.js'\nimport type { PayloadRequest, Where } from '../../types/index.js'\nimport type { BeforeOperationHook, Collection } from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { validateQueryPaths } from '../../database/queryValidation/validateQueryPaths.js'\nimport { APIError } from '../../errors/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { deleteUserPreferences } from '../../preferences/deleteUserPreferences.js'\nimport { deleteAssociatedFiles } from '../../uploads/deleteAssociatedFiles.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { deleteCollectionVersions } from '../../versions/deleteCollectionVersions.js'\nimport { buildAfterOperation } from './utils.js'\n\nexport type Arguments = {\n collection: Collection\n depth?: number\n overrideAccess?: boolean\n req: PayloadRequest\n showHiddenFields?: boolean\n where: Where\n}\n\nexport const deleteOperation = async <TSlug extends keyof GeneratedTypes['collections']>(\n incomingArgs: Arguments,\n): Promise<{\n docs: GeneratedTypes['collections'][TSlug][]\n errors: {\n id: GeneratedTypes['collections'][TSlug]['id']\n message: string\n }[]\n}> => {\n let args = incomingArgs\n\n try {\n const shouldCommit = await initTransaction(args.req)\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n await args.collection.config.hooks.beforeOperation.reduce(\n async (priorHook: BeforeOperationHook | Promise<void>, hook: BeforeOperationHook) => {\n await priorHook\n\n args =\n (await hook({\n args,\n collection: args.collection.config,\n context: args.req.context,\n operation: 'delete',\n req: args.req,\n })) || args\n },\n Promise.resolve(),\n )\n\n const {\n collection: { config: collectionConfig },\n depth,\n overrideAccess,\n req: {\n fallbackLocale,\n locale,\n payload: { config },\n payload,\n },\n req,\n showHiddenFields,\n where,\n } = args\n\n if (!where) {\n throw new APIError(\"Missing 'where' query of documents to delete.\", httpStatus.BAD_REQUEST)\n }\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n let accessResult: AccessResult\n\n if (!overrideAccess) {\n accessResult = await executeAccess({ req }, collectionConfig.access.delete)\n }\n\n await validateQueryPaths({\n collectionConfig,\n overrideAccess,\n req,\n where,\n })\n\n const fullWhere = combineQueries(where, accessResult)\n\n // /////////////////////////////////////\n // Retrieve documents\n // /////////////////////////////////////\n\n const { docs } = await payload.db.find<GeneratedTypes['collections'][TSlug]>({\n collection: collectionConfig.slug,\n locale,\n req,\n where: fullWhere,\n })\n\n const errors = []\n\n /* eslint-disable no-param-reassign */\n const promises = docs.map(async (doc) => {\n let result\n\n const { id } = doc\n\n try {\n // /////////////////////////////////////\n // beforeDelete - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeDelete.reduce(async (priorHook, hook) => {\n await priorHook\n\n return hook({\n id,\n collection: collectionConfig,\n context: req.context,\n req,\n })\n }, Promise.resolve())\n\n await deleteAssociatedFiles({\n collectionConfig,\n config,\n doc,\n overrideDelete: true,\n req,\n })\n\n // /////////////////////////////////////\n // Delete versions\n // /////////////////////////////////////\n\n if (collectionConfig.versions) {\n await deleteCollectionVersions({\n id,\n slug: collectionConfig.slug,\n payload,\n req,\n })\n }\n\n // /////////////////////////////////////\n // Delete document\n // /////////////////////////////////////\n\n await payload.db.deleteOne({\n collection: collectionConfig.slug,\n req,\n where: {\n id: {\n equals: id,\n },\n },\n })\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth,\n doc: result || doc,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result || doc,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterDelete - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterDelete.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n id,\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // 8. Return results\n // /////////////////////////////////////\n\n return result\n } catch (error) {\n errors.push({\n id: doc.id,\n message: error.message,\n })\n }\n return null\n })\n\n const awaitedDocs = await Promise.all(promises)\n\n // /////////////////////////////////////\n // Delete Preferences\n // /////////////////////////////////////\n\n await deleteUserPreferences({\n collectionConfig,\n ids: docs.map(({ id }) => id),\n payload,\n req,\n })\n\n let result = {\n docs: awaitedDocs.filter(Boolean),\n errors,\n }\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation<GeneratedTypes['collections'][TSlug]>({\n args,\n collection: collectionConfig,\n operation: 'delete',\n result,\n })\n\n if (shouldCommit) await commitTransaction(req)\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["httpStatus","executeAccess","combineQueries","validateQueryPaths","APIError","afterRead","deleteUserPreferences","deleteAssociatedFiles","commitTransaction","initTransaction","killTransaction","deleteCollectionVersions","buildAfterOperation","deleteOperation","incomingArgs","args","shouldCommit","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","operation","Promise","resolve","collectionConfig","depth","overrideAccess","fallbackLocale","locale","payload","showHiddenFields","where","BAD_REQUEST","accessResult","access","delete","fullWhere","docs","db","find","slug","errors","promises","map","doc","result","id","beforeDelete","overrideDelete","versions","deleteOne","equals","global","afterDelete","error","push","message","awaitedDocs","all","ids","filter","Boolean"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/collections/operations/delete.ts"],"sourcesContent":["import httpStatus from 'http-status'\n\nimport type { AccessResult } from '../../config/types.js'\nimport type { GeneratedTypes } from '../../index.js'\nimport type { PayloadRequestWithData, Where } from '../../types/index.js'\nimport type { BeforeOperationHook, Collection } from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { validateQueryPaths } from '../../database/queryValidation/validateQueryPaths.js'\nimport { APIError } from '../../errors/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { deleteUserPreferences } from '../../preferences/deleteUserPreferences.js'\nimport { deleteAssociatedFiles } from '../../uploads/deleteAssociatedFiles.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { deleteCollectionVersions } from '../../versions/deleteCollectionVersions.js'\nimport { buildAfterOperation } from './utils.js'\n\nexport type Arguments = {\n collection: Collection\n depth?: number\n overrideAccess?: boolean\n req: PayloadRequestWithData\n showHiddenFields?: boolean\n where: Where\n}\n\nexport const deleteOperation = async <TSlug extends keyof GeneratedTypes['collections']>(\n incomingArgs: Arguments,\n): Promise<{\n docs: GeneratedTypes['collections'][TSlug][]\n errors: {\n id: GeneratedTypes['collections'][TSlug]['id']\n message: string\n }[]\n}> => {\n let args = incomingArgs\n\n try {\n const shouldCommit = await initTransaction(args.req)\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n await args.collection.config.hooks.beforeOperation.reduce(\n async (priorHook: BeforeOperationHook | Promise<void>, hook: BeforeOperationHook) => {\n await priorHook\n\n args =\n (await hook({\n args,\n collection: args.collection.config,\n context: args.req.context,\n operation: 'delete',\n req: args.req,\n })) || args\n },\n Promise.resolve(),\n )\n\n const {\n collection: { config: collectionConfig },\n depth,\n overrideAccess,\n req: {\n fallbackLocale,\n locale,\n payload: { config },\n payload,\n },\n req,\n showHiddenFields,\n where,\n } = args\n\n if (!where) {\n throw new APIError(\"Missing 'where' query of documents to delete.\", httpStatus.BAD_REQUEST)\n }\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n let accessResult: AccessResult\n\n if (!overrideAccess) {\n accessResult = await executeAccess({ req }, collectionConfig.access.delete)\n }\n\n await validateQueryPaths({\n collectionConfig,\n overrideAccess,\n req,\n where,\n })\n\n const fullWhere = combineQueries(where, accessResult)\n\n // /////////////////////////////////////\n // Retrieve documents\n // /////////////////////////////////////\n\n const { docs } = await payload.db.find<GeneratedTypes['collections'][TSlug]>({\n collection: collectionConfig.slug,\n locale,\n req,\n where: fullWhere,\n })\n\n const errors = []\n\n /* eslint-disable no-param-reassign */\n const promises = docs.map(async (doc) => {\n let result\n\n const { id } = doc\n\n try {\n // /////////////////////////////////////\n // beforeDelete - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeDelete.reduce(async (priorHook, hook) => {\n await priorHook\n\n return hook({\n id,\n collection: collectionConfig,\n context: req.context,\n req,\n })\n }, Promise.resolve())\n\n await deleteAssociatedFiles({\n collectionConfig,\n config,\n doc,\n overrideDelete: true,\n req,\n })\n\n // /////////////////////////////////////\n // Delete versions\n // /////////////////////////////////////\n\n if (collectionConfig.versions) {\n await deleteCollectionVersions({\n id,\n slug: collectionConfig.slug,\n payload,\n req,\n })\n }\n\n // /////////////////////////////////////\n // Delete document\n // /////////////////////////////////////\n\n await payload.db.deleteOne({\n collection: collectionConfig.slug,\n req,\n where: {\n id: {\n equals: id,\n },\n },\n })\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth,\n doc: result || doc,\n draft: undefined,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result || doc,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterDelete - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterDelete.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n id,\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // 8. Return results\n // /////////////////////////////////////\n\n return result\n } catch (error) {\n errors.push({\n id: doc.id,\n message: error.message,\n })\n }\n return null\n })\n\n const awaitedDocs = await Promise.all(promises)\n\n // /////////////////////////////////////\n // Delete Preferences\n // /////////////////////////////////////\n\n await deleteUserPreferences({\n collectionConfig,\n ids: docs.map(({ id }) => id),\n payload,\n req,\n })\n\n let result = {\n docs: awaitedDocs.filter(Boolean),\n errors,\n }\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation<GeneratedTypes['collections'][TSlug]>({\n args,\n collection: collectionConfig,\n operation: 'delete',\n result,\n })\n\n if (shouldCommit) await commitTransaction(req)\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["httpStatus","executeAccess","combineQueries","validateQueryPaths","APIError","afterRead","deleteUserPreferences","deleteAssociatedFiles","commitTransaction","initTransaction","killTransaction","deleteCollectionVersions","buildAfterOperation","deleteOperation","incomingArgs","args","shouldCommit","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","operation","Promise","resolve","collectionConfig","depth","overrideAccess","fallbackLocale","locale","payload","showHiddenFields","where","BAD_REQUEST","accessResult","access","delete","fullWhere","docs","db","find","slug","errors","promises","map","doc","result","id","beforeDelete","overrideDelete","versions","deleteOne","equals","draft","undefined","global","afterDelete","error","push","message","awaitedDocs","all","ids","filter","Boolean"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type { Document,
|
|
1
|
+
import type { Document, PayloadRequestWithData } from '../../types/index.js';
|
|
2
2
|
import type { Collection } from '../config/types.js';
|
|
3
3
|
export type Arguments = {
|
|
4
4
|
collection: Collection;
|
|
5
5
|
depth?: number;
|
|
6
6
|
id: number | string;
|
|
7
7
|
overrideAccess?: boolean;
|
|
8
|
-
req:
|
|
8
|
+
req: PayloadRequestWithData;
|
|
9
9
|
showHiddenFields?: boolean;
|
|
10
10
|
};
|
|
11
11
|
export declare const deleteByIDOperation: <TSlug extends string | number | symbol>(incomingArgs: Arguments) => Promise<Document>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deleteByID.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/deleteByID.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"deleteByID.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/deleteByID.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAC5E,OAAO,KAAK,EAAuB,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAezE,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,sBAAsB,CAAA;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,mBAAmB,yDAChB,SAAS,KACtB,QAAQ,QAAQ,CAkMlB,CAAA"}
|