payload 3.0.0-alpha.40 → 3.0.0-alpha.42
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.js +1 -1
- package/config.js +1 -1
- package/database.js +1 -1
- package/dist/admin/RichText.js +1 -1
- package/dist/admin/RichText.js.map +1 -0
- package/dist/admin/elements/Cell.js +1 -1
- package/dist/admin/elements/Cell.js.map +1 -0
- package/dist/admin/elements/DatePicker.js +1 -1
- package/dist/admin/elements/DatePicker.js.map +1 -0
- package/dist/admin/elements/PreviewButton.js +1 -1
- package/dist/admin/elements/PreviewButton.js.map +1 -0
- package/dist/admin/elements/PublishButton.js +1 -1
- package/dist/admin/elements/PublishButton.js.map +1 -0
- package/dist/admin/elements/SaveButton.js +1 -1
- package/dist/admin/elements/SaveButton.js.map +1 -0
- package/dist/admin/elements/SaveDraftButton.js +1 -1
- package/dist/admin/elements/SaveDraftButton.js.map +1 -0
- package/dist/admin/elements/Tab.js +1 -1
- package/dist/admin/elements/Tab.js.map +1 -0
- package/dist/admin/forms/Error.js +1 -1
- package/dist/admin/forms/Error.js.map +1 -0
- package/dist/admin/forms/FieldDescription.js +1 -1
- package/dist/admin/forms/FieldDescription.js.map +1 -0
- package/dist/admin/forms/FieldTypes.js +1 -1
- package/dist/admin/forms/FieldTypes.js.map +1 -0
- package/dist/admin/forms/Form.js +1 -1
- package/dist/admin/forms/Form.js.map +1 -0
- package/dist/admin/forms/Label.js +1 -1
- package/dist/admin/forms/Label.js.map +1 -0
- package/dist/admin/forms/RowLabel.js +1 -1
- package/dist/admin/forms/RowLabel.js.map +1 -0
- package/dist/admin/types.js +1 -1
- package/dist/admin/types.js.map +1 -0
- package/dist/admin/views/types.js +1 -1
- package/dist/admin/views/types.js.map +1 -0
- package/dist/assets/assets.d.js +1 -1
- package/dist/assets/assets.d.js.map +1 -0
- package/dist/auth/baseFields/accountLock.js +1 -1
- package/dist/auth/baseFields/accountLock.js.map +1 -0
- package/dist/auth/baseFields/apiKey.js +1 -1
- package/dist/auth/baseFields/apiKey.js.map +1 -0
- package/dist/auth/baseFields/auth.js +1 -1
- package/dist/auth/baseFields/auth.js.map +1 -0
- package/dist/auth/baseFields/verification.js +1 -1
- package/dist/auth/baseFields/verification.js.map +1 -0
- package/dist/auth/cookies.js +1 -1
- package/dist/auth/cookies.js.map +1 -0
- package/dist/auth/crypto.js +1 -1
- package/dist/auth/crypto.js.map +1 -0
- package/dist/auth/defaultAccess.js +1 -1
- package/dist/auth/defaultAccess.js.map +1 -0
- package/dist/auth/defaultUser.js +1 -1
- package/dist/auth/defaultUser.js.map +1 -0
- package/dist/auth/executeAccess.js +1 -1
- package/dist/auth/executeAccess.js.map +1 -0
- package/dist/auth/extractJWT.js +1 -1
- package/dist/auth/extractJWT.js.map +1 -0
- package/dist/auth/getAccessResults.js +1 -1
- package/dist/auth/getAccessResults.js.map +1 -0
- package/dist/auth/getAuthenticatedUser.js +1 -1
- package/dist/auth/getAuthenticatedUser.js.map +1 -0
- package/dist/auth/getFieldsToSign.js +1 -1
- package/dist/auth/getFieldsToSign.js.map +1 -0
- package/dist/auth/index.js +1 -1
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/isLocked.js +1 -1
- package/dist/auth/isLocked.js.map +1 -0
- package/dist/auth/operations/access.js +1 -1
- package/dist/auth/operations/access.js.map +1 -0
- package/dist/auth/operations/forgotPassword.js +1 -1
- package/dist/auth/operations/forgotPassword.js.map +1 -0
- package/dist/auth/operations/init.js +1 -1
- package/dist/auth/operations/init.js.map +1 -0
- package/dist/auth/operations/local/forgotPassword.js +1 -1
- package/dist/auth/operations/local/forgotPassword.js.map +1 -0
- package/dist/auth/operations/local/index.js +1 -1
- package/dist/auth/operations/local/index.js.map +1 -0
- package/dist/auth/operations/local/login.js +1 -1
- package/dist/auth/operations/local/login.js.map +1 -0
- package/dist/auth/operations/local/resetPassword.js +1 -1
- package/dist/auth/operations/local/resetPassword.js.map +1 -0
- package/dist/auth/operations/local/unlock.js +1 -1
- package/dist/auth/operations/local/unlock.js.map +1 -0
- package/dist/auth/operations/local/verifyEmail.js +1 -1
- package/dist/auth/operations/local/verifyEmail.js.map +1 -0
- package/dist/auth/operations/login.js +1 -1
- package/dist/auth/operations/login.js.map +1 -0
- package/dist/auth/operations/logout.js +1 -1
- package/dist/auth/operations/logout.js.map +1 -0
- package/dist/auth/operations/me.js +1 -1
- package/dist/auth/operations/me.js.map +1 -0
- package/dist/auth/operations/refresh.js +1 -1
- package/dist/auth/operations/refresh.js.map +1 -0
- package/dist/auth/operations/registerFirstUser.js +1 -1
- package/dist/auth/operations/registerFirstUser.js.map +1 -0
- package/dist/auth/operations/resetPassword.js +1 -1
- package/dist/auth/operations/resetPassword.js.map +1 -0
- package/dist/auth/operations/unlock.js +1 -1
- package/dist/auth/operations/unlock.js.map +1 -0
- package/dist/auth/operations/verifyEmail.js +1 -1
- package/dist/auth/operations/verifyEmail.js.map +1 -0
- package/dist/auth/sendVerificationEmail.js +1 -1
- package/dist/auth/sendVerificationEmail.js.map +1 -0
- package/dist/auth/strategies/apiKey.js +1 -1
- package/dist/auth/strategies/apiKey.js.map +1 -0
- package/dist/auth/strategies/jwt.js +1 -1
- package/dist/auth/strategies/jwt.js.map +1 -0
- package/dist/auth/strategies/local/authenticate.js +1 -1
- package/dist/auth/strategies/local/authenticate.js.map +1 -0
- package/dist/auth/strategies/local/generatePasswordSaltHash.js +1 -1
- package/dist/auth/strategies/local/generatePasswordSaltHash.js.map +1 -0
- package/dist/auth/strategies/local/incrementLoginAttempts.js +1 -1
- package/dist/auth/strategies/local/incrementLoginAttempts.js.map +1 -0
- package/dist/auth/strategies/local/register.js +1 -1
- package/dist/auth/strategies/local/register.js.map +1 -0
- package/dist/auth/strategies/local/resetLoginAttempts.js +1 -1
- package/dist/auth/strategies/local/resetLoginAttempts.js.map +1 -0
- package/dist/auth/types.js +1 -1
- package/dist/auth/types.js.map +1 -0
- package/dist/bin/generateTypes.js +1 -1
- package/dist/bin/generateTypes.js.map +1 -0
- package/dist/bin/index.js +1 -1
- package/dist/bin/index.js.map +1 -0
- package/dist/bin/loadEnv.js +1 -1
- package/dist/bin/loadEnv.js.map +1 -0
- package/dist/bin/migrate.js +1 -1
- package/dist/bin/migrate.js.map +1 -0
- package/dist/bin/register/clientExtensions.js +1 -1
- package/dist/bin/register/clientExtensions.js.map +1 -0
- package/dist/bin/register/index.js +1 -1
- package/dist/bin/register/index.js.map +1 -0
- package/dist/bin/register/read-default-tsconfig.js +1 -1
- package/dist/bin/register/read-default-tsconfig.js.map +1 -0
- package/dist/bin/register/register.js +1 -1
- package/dist/bin/register/register.js.map +1 -0
- package/dist/collections/config/build.js +1 -1
- package/dist/collections/config/build.js.map +1 -0
- package/dist/collections/config/defaults.js +1 -1
- package/dist/collections/config/defaults.js.map +1 -0
- package/dist/collections/config/sanitize.js +1 -1
- package/dist/collections/config/sanitize.js.map +1 -0
- package/dist/collections/config/schema.js +1 -1
- package/dist/collections/config/schema.js.map +1 -0
- package/dist/collections/config/types.js +1 -1
- package/dist/collections/config/types.js.map +1 -0
- package/dist/collections/dataloader.js +1 -1
- package/dist/collections/dataloader.js.map +1 -0
- package/dist/collections/operations/create.js +1 -1
- package/dist/collections/operations/create.js.map +1 -0
- package/dist/collections/operations/delete.js +1 -1
- package/dist/collections/operations/delete.js.map +1 -0
- package/dist/collections/operations/deleteByID.js +1 -1
- package/dist/collections/operations/deleteByID.js.map +1 -0
- package/dist/collections/operations/docAccess.js +1 -1
- package/dist/collections/operations/docAccess.js.map +1 -0
- package/dist/collections/operations/find.js +1 -1
- package/dist/collections/operations/find.js.map +1 -0
- package/dist/collections/operations/findByID.js +1 -1
- package/dist/collections/operations/findByID.js.map +1 -0
- package/dist/collections/operations/findVersionByID.js +1 -1
- package/dist/collections/operations/findVersionByID.js.map +1 -0
- package/dist/collections/operations/findVersions.js +1 -1
- package/dist/collections/operations/findVersions.js.map +1 -0
- package/dist/collections/operations/local/create.js +1 -1
- package/dist/collections/operations/local/create.js.map +1 -0
- package/dist/collections/operations/local/delete.js +1 -1
- package/dist/collections/operations/local/delete.js.map +1 -0
- package/dist/collections/operations/local/find.js +1 -1
- package/dist/collections/operations/local/find.js.map +1 -0
- package/dist/collections/operations/local/findByID.js +1 -1
- package/dist/collections/operations/local/findByID.js.map +1 -0
- package/dist/collections/operations/local/findVersionByID.js +1 -1
- package/dist/collections/operations/local/findVersionByID.js.map +1 -0
- package/dist/collections/operations/local/findVersions.js +1 -1
- package/dist/collections/operations/local/findVersions.js.map +1 -0
- package/dist/collections/operations/local/index.js +1 -1
- package/dist/collections/operations/local/index.js.map +1 -0
- package/dist/collections/operations/local/restoreVersion.js +1 -1
- package/dist/collections/operations/local/restoreVersion.js.map +1 -0
- package/dist/collections/operations/local/update.js +1 -1
- package/dist/collections/operations/local/update.js.map +1 -0
- package/dist/collections/operations/restoreVersion.js +1 -1
- package/dist/collections/operations/restoreVersion.js.map +1 -0
- package/dist/collections/operations/update.js +1 -1
- package/dist/collections/operations/update.js.map +1 -0
- package/dist/collections/operations/updateByID.js +1 -1
- package/dist/collections/operations/updateByID.js.map +1 -0
- package/dist/collections/operations/utils.js +1 -1
- package/dist/collections/operations/utils.js.map +1 -0
- package/dist/config/build.js +1 -1
- package/dist/config/build.js.map +1 -0
- package/dist/config/createClientConfig.js +1 -1
- package/dist/config/createClientConfig.js.map +1 -0
- package/dist/config/defaults.js +1 -1
- package/dist/config/defaults.js.map +1 -0
- package/dist/config/find.js +1 -1
- package/dist/config/find.js.map +1 -0
- package/dist/config/load.js +1 -1
- package/dist/config/load.js.map +1 -0
- package/dist/config/sanitize.js +1 -1
- package/dist/config/sanitize.js.map +1 -0
- package/dist/config/schema.js +1 -1
- package/dist/config/schema.js.map +1 -0
- package/dist/config/shared/adminViewSchema.js +1 -1
- package/dist/config/shared/adminViewSchema.js.map +1 -0
- package/dist/config/shared/componentSchema.js +1 -1
- package/dist/config/shared/componentSchema.js.map +1 -0
- package/dist/config/types.js +1 -1
- package/dist/config/types.js.map +1 -0
- package/dist/config/validate.js +1 -1
- package/dist/config/validate.js.map +1 -0
- package/dist/database/combineQueries.js +1 -1
- package/dist/database/combineQueries.js.map +1 -0
- package/dist/database/createDatabaseAdapter.js +1 -1
- package/dist/database/createDatabaseAdapter.js.map +1 -0
- package/dist/database/flattenWhereToOperators.js +1 -1
- package/dist/database/flattenWhereToOperators.js.map +1 -0
- package/dist/database/getLocalizedPaths.js +1 -1
- package/dist/database/getLocalizedPaths.js.map +1 -0
- package/dist/database/migrations/createMigration.js +1 -1
- package/dist/database/migrations/createMigration.js.map +1 -0
- package/dist/database/migrations/getMigrations.js +1 -1
- package/dist/database/migrations/getMigrations.js.map +1 -0
- package/dist/database/migrations/migrate.js +1 -1
- package/dist/database/migrations/migrate.js.map +1 -0
- package/dist/database/migrations/migrateDown.js +1 -1
- package/dist/database/migrations/migrateDown.js.map +1 -0
- package/dist/database/migrations/migrateRefresh.js +1 -1
- package/dist/database/migrations/migrateRefresh.js.map +1 -0
- package/dist/database/migrations/migrateReset.js +1 -1
- package/dist/database/migrations/migrateReset.js.map +1 -0
- package/dist/database/migrations/migrateStatus.js +1 -1
- package/dist/database/migrations/migrateStatus.js.map +1 -0
- package/dist/database/migrations/migrationTemplate.js +1 -1
- package/dist/database/migrations/migrationTemplate.js.map +1 -0
- package/dist/database/migrations/migrationsCollection.js +1 -1
- package/dist/database/migrations/migrationsCollection.js.map +1 -0
- package/dist/database/migrations/readMigrationFiles.js +1 -1
- package/dist/database/migrations/readMigrationFiles.js.map +1 -0
- package/dist/database/queryValidation/types.js +1 -1
- package/dist/database/queryValidation/types.js.map +1 -0
- package/dist/database/queryValidation/validateQueryPaths.js +1 -1
- package/dist/database/queryValidation/validateQueryPaths.js.map +1 -0
- package/dist/database/queryValidation/validateSearchParams.js +1 -1
- package/dist/database/queryValidation/validateSearchParams.js.map +1 -0
- package/dist/database/types.js +1 -1
- package/dist/database/types.js.map +1 -0
- package/dist/email/build.js +1 -1
- package/dist/email/build.js.map +1 -0
- package/dist/email/defaults.js +1 -1
- package/dist/email/defaults.js.map +1 -0
- package/dist/email/mockHandler.js +1 -1
- package/dist/email/mockHandler.js.map +1 -0
- package/dist/email/sendEmail.js +1 -1
- package/dist/email/sendEmail.js.map +1 -0
- package/dist/email/types.js +1 -1
- package/dist/email/types.js.map +1 -0
- package/dist/errors/APIError.js +1 -1
- package/dist/errors/APIError.js.map +1 -0
- package/dist/errors/AuthenticationError.js +1 -1
- package/dist/errors/AuthenticationError.js.map +1 -0
- package/dist/errors/DuplicateCollection.js +1 -1
- package/dist/errors/DuplicateCollection.js.map +1 -0
- package/dist/errors/DuplicateFieldName.js +1 -1
- package/dist/errors/DuplicateFieldName.js.map +1 -0
- package/dist/errors/DuplicateGlobal.js +1 -1
- package/dist/errors/DuplicateGlobal.js.map +1 -0
- package/dist/errors/ErrorDeletingFile.js +1 -1
- package/dist/errors/ErrorDeletingFile.js.map +1 -0
- package/dist/errors/FileUploadError.js +1 -1
- package/dist/errors/FileUploadError.js.map +1 -0
- package/dist/errors/Forbidden.js +1 -1
- package/dist/errors/Forbidden.js.map +1 -0
- package/dist/errors/InvalidConfiguration.js +1 -1
- package/dist/errors/InvalidConfiguration.js.map +1 -0
- package/dist/errors/InvalidFieldName.js +1 -1
- package/dist/errors/InvalidFieldName.js.map +1 -0
- package/dist/errors/InvalidFieldRelationship.js +1 -1
- package/dist/errors/InvalidFieldRelationship.js.map +1 -0
- package/dist/errors/InvalidSchema.js +1 -1
- package/dist/errors/InvalidSchema.js.map +1 -0
- package/dist/errors/LockedAuth.js +1 -1
- package/dist/errors/LockedAuth.js.map +1 -0
- package/dist/errors/MissingCollectionLabel.js +1 -1
- package/dist/errors/MissingCollectionLabel.js.map +1 -0
- package/dist/errors/MissingFieldInputOptions.js +1 -1
- package/dist/errors/MissingFieldInputOptions.js.map +1 -0
- package/dist/errors/MissingFieldType.js +1 -1
- package/dist/errors/MissingFieldType.js.map +1 -0
- package/dist/errors/MissingFile.js +1 -1
- package/dist/errors/MissingFile.js.map +1 -0
- package/dist/errors/NotFound.js +1 -1
- package/dist/errors/NotFound.js.map +1 -0
- package/dist/errors/QueryError.js +1 -1
- package/dist/errors/QueryError.js.map +1 -0
- package/dist/errors/TimestampsRequired.js +1 -1
- package/dist/errors/TimestampsRequired.js.map +1 -0
- package/dist/errors/UnathorizedError.js +1 -1
- package/dist/errors/UnathorizedError.js.map +1 -0
- package/dist/errors/ValidationError.js +1 -1
- package/dist/errors/ValidationError.js.map +1 -0
- package/dist/errors/index.js +1 -1
- package/dist/errors/index.js.map +1 -0
- package/dist/errors/types.js +1 -1
- package/dist/errors/types.js.map +1 -0
- package/dist/exports/auth.js +1 -1
- package/dist/exports/auth.js.map +1 -0
- package/dist/exports/components/utilities.js +1 -1
- package/dist/exports/components/utilities.js.map +1 -0
- package/dist/exports/config.js +1 -1
- package/dist/exports/config.js.map +1 -0
- package/dist/exports/database.js +1 -1
- package/dist/exports/database.js.map +1 -0
- package/dist/exports/errors.js +1 -1
- package/dist/exports/errors.js.map +1 -0
- package/dist/exports/fields/index.js +1 -1
- package/dist/exports/fields/index.js.map +1 -0
- package/dist/exports/fields/validations.js +1 -1
- package/dist/exports/fields/validations.js.map +1 -0
- package/dist/exports/operations.js +1 -1
- package/dist/exports/operations.js.map +1 -0
- package/dist/exports/types.js +1 -1
- package/dist/exports/types.js.map +1 -0
- package/dist/exports/utilities.js +1 -1
- package/dist/exports/utilities.js.map +1 -0
- package/dist/exports/versions.js +1 -1
- package/dist/exports/versions.js.map +1 -0
- package/dist/fields/baseFields/baseBlockFields.js +1 -1
- package/dist/fields/baseFields/baseBlockFields.js.map +1 -0
- package/dist/fields/baseFields/baseIDField.js +1 -1
- package/dist/fields/baseFields/baseIDField.js.map +1 -0
- package/dist/fields/config/sanitize.js +1 -1
- package/dist/fields/config/sanitize.js.map +1 -0
- package/dist/fields/config/sanitize.spec.js +1 -1
- package/dist/fields/config/sanitize.spec.js.map +1 -0
- package/dist/fields/config/schema.js +1 -1
- package/dist/fields/config/schema.js.map +1 -0
- package/dist/fields/config/types.js +1 -1
- package/dist/fields/config/types.js.map +1 -0
- package/dist/fields/getDefaultValue.js +1 -1
- package/dist/fields/getDefaultValue.js.map +1 -0
- package/dist/fields/hooks/afterChange/index.js +1 -1
- package/dist/fields/hooks/afterChange/index.js.map +1 -0
- package/dist/fields/hooks/afterChange/promise.js +1 -1
- package/dist/fields/hooks/afterChange/promise.js.map +1 -0
- package/dist/fields/hooks/afterChange/traverseFields.js +1 -1
- package/dist/fields/hooks/afterChange/traverseFields.js.map +1 -0
- package/dist/fields/hooks/afterRead/index.js +1 -1
- package/dist/fields/hooks/afterRead/index.js.map +1 -0
- package/dist/fields/hooks/afterRead/promise.js +1 -1
- package/dist/fields/hooks/afterRead/promise.js.map +1 -0
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js +1 -1
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js.map +1 -0
- package/dist/fields/hooks/afterRead/traverseFields.js +1 -1
- package/dist/fields/hooks/afterRead/traverseFields.js.map +1 -0
- package/dist/fields/hooks/beforeChange/cloneDataFromOriginalDoc.js +1 -1
- package/dist/fields/hooks/beforeChange/cloneDataFromOriginalDoc.js.map +1 -0
- package/dist/fields/hooks/beforeChange/getExistingRowDoc.js +1 -1
- package/dist/fields/hooks/beforeChange/getExistingRowDoc.js.map +1 -0
- package/dist/fields/hooks/beforeChange/index.js +1 -1
- package/dist/fields/hooks/beforeChange/index.js.map +1 -0
- package/dist/fields/hooks/beforeChange/promise.js +1 -1
- package/dist/fields/hooks/beforeChange/promise.js.map +1 -0
- package/dist/fields/hooks/beforeChange/traverseFields.js +1 -1
- package/dist/fields/hooks/beforeChange/traverseFields.js.map +1 -0
- package/dist/fields/hooks/beforeValidate/index.js +1 -1
- package/dist/fields/hooks/beforeValidate/index.js.map +1 -0
- package/dist/fields/hooks/beforeValidate/promise.js +1 -1
- package/dist/fields/hooks/beforeValidate/promise.js.map +1 -0
- package/dist/fields/hooks/beforeValidate/traverseFields.js +1 -1
- package/dist/fields/hooks/beforeValidate/traverseFields.js.map +1 -0
- package/dist/fields/mergeBaseFields.js +1 -1
- package/dist/fields/mergeBaseFields.js.map +1 -0
- package/dist/fields/sortableFieldTypes.js +1 -1
- package/dist/fields/sortableFieldTypes.js.map +1 -0
- package/dist/fields/validations.js +1 -1
- package/dist/fields/validations.js.map +1 -0
- package/dist/fields/validations.spec.js +1 -1
- package/dist/fields/validations.spec.js.map +1 -0
- package/dist/globals/config/sanitize.js +1 -1
- package/dist/globals/config/sanitize.js.map +1 -0
- package/dist/globals/config/schema.js +1 -1
- package/dist/globals/config/schema.js.map +1 -0
- package/dist/globals/config/types.js +1 -1
- package/dist/globals/config/types.js.map +1 -0
- package/dist/globals/operations/docAccess.js +1 -1
- package/dist/globals/operations/docAccess.js.map +1 -0
- package/dist/globals/operations/findOne.js +1 -1
- package/dist/globals/operations/findOne.js.map +1 -0
- package/dist/globals/operations/findVersionByID.js +1 -1
- package/dist/globals/operations/findVersionByID.js.map +1 -0
- package/dist/globals/operations/findVersions.js +1 -1
- package/dist/globals/operations/findVersions.js.map +1 -0
- package/dist/globals/operations/local/findOne.js +1 -1
- package/dist/globals/operations/local/findOne.js.map +1 -0
- package/dist/globals/operations/local/findVersionByID.js +1 -1
- package/dist/globals/operations/local/findVersionByID.js.map +1 -0
- package/dist/globals/operations/local/findVersions.js +1 -1
- package/dist/globals/operations/local/findVersions.js.map +1 -0
- package/dist/globals/operations/local/index.js +1 -1
- package/dist/globals/operations/local/index.js.map +1 -0
- package/dist/globals/operations/local/restoreVersion.js +1 -1
- package/dist/globals/operations/local/restoreVersion.js.map +1 -0
- package/dist/globals/operations/local/update.js +1 -1
- package/dist/globals/operations/local/update.js.map +1 -0
- package/dist/globals/operations/restoreVersion.js +1 -1
- package/dist/globals/operations/restoreVersion.js.map +1 -0
- package/dist/globals/operations/update.js +1 -1
- package/dist/globals/operations/update.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -3
- package/dist/index.js.map +1 -0
- package/dist/localization/middleware.js +1 -1
- package/dist/localization/middleware.js.map +1 -0
- package/dist/localization/sanitizeFallbackLocale.js +1 -1
- package/dist/localization/sanitizeFallbackLocale.js.map +1 -0
- package/dist/preferences/deleteUserPreferences.js +1 -1
- package/dist/preferences/deleteUserPreferences.js.map +1 -0
- package/dist/preferences/operations/delete.d.ts.map +1 -1
- package/dist/preferences/operations/delete.js +1 -2
- package/dist/preferences/operations/delete.js.map +1 -0
- package/dist/preferences/operations/findOne.js +1 -1
- package/dist/preferences/operations/findOne.js.map +1 -0
- package/dist/preferences/operations/update.js +1 -1
- package/dist/preferences/operations/update.js.map +1 -0
- package/dist/preferences/preferencesCollection.js +1 -1
- package/dist/preferences/preferencesCollection.js.map +1 -0
- package/dist/preferences/requestHandlers/delete.js +1 -1
- package/dist/preferences/requestHandlers/delete.js.map +1 -0
- package/dist/preferences/requestHandlers/findOne.js +1 -1
- package/dist/preferences/requestHandlers/findOne.js.map +1 -0
- package/dist/preferences/requestHandlers/update.js +1 -1
- package/dist/preferences/requestHandlers/update.js.map +1 -0
- package/dist/preferences/types.js +1 -1
- package/dist/preferences/types.js.map +1 -0
- package/dist/translations/extractTranslations.js +1 -1
- package/dist/translations/extractTranslations.js.map +1 -0
- package/dist/translations/getLocalI18n.js +1 -1
- package/dist/translations/getLocalI18n.js.map +1 -0
- package/dist/types/constants.js +1 -1
- package/dist/types/constants.js.map +1 -0
- package/dist/types/index.js +1 -1
- package/dist/types/index.js.map +1 -0
- package/dist/uploads/canResizeImage.js +1 -1
- package/dist/uploads/canResizeImage.js.map +1 -0
- package/dist/uploads/cropImage.js +1 -1
- package/dist/uploads/cropImage.js.map +1 -0
- package/dist/uploads/deleteAssociatedFiles.js +1 -1
- package/dist/uploads/deleteAssociatedFiles.js.map +1 -0
- package/dist/uploads/docWithFilenameExists.js +1 -1
- package/dist/uploads/docWithFilenameExists.js.map +1 -0
- package/dist/uploads/fileExists.js +1 -1
- package/dist/uploads/fileExists.js.map +1 -0
- package/dist/uploads/formatFilesize.js +1 -1
- package/dist/uploads/formatFilesize.js.map +1 -0
- package/dist/uploads/generateFileData.js +1 -1
- package/dist/uploads/generateFileData.js.map +1 -0
- package/dist/uploads/getBaseFields.js +1 -1
- package/dist/uploads/getBaseFields.js.map +1 -0
- package/dist/uploads/getExternalFile.js +1 -1
- package/dist/uploads/getExternalFile.js.map +1 -0
- package/dist/uploads/getFileByPath.js +1 -1
- package/dist/uploads/getFileByPath.js.map +1 -0
- package/dist/uploads/getImageSize.js +1 -1
- package/dist/uploads/getImageSize.js.map +1 -0
- package/dist/uploads/getSafeFilename.js +1 -1
- package/dist/uploads/getSafeFilename.js.map +1 -0
- package/dist/uploads/imageResizer.js +1 -1
- package/dist/uploads/imageResizer.js.map +1 -0
- package/dist/uploads/isImage.d.ts.map +1 -1
- package/dist/uploads/isImage.js +3 -2
- package/dist/uploads/isImage.js.map +1 -0
- package/dist/uploads/mimeTypeValidator.js +1 -1
- package/dist/uploads/mimeTypeValidator.js.map +1 -0
- package/dist/uploads/mimeTypeValidator.spec.js +1 -1
- package/dist/uploads/mimeTypeValidator.spec.js.map +1 -0
- package/dist/uploads/saveBufferToFile.js +1 -1
- package/dist/uploads/saveBufferToFile.js.map +1 -0
- package/dist/uploads/types.js +1 -1
- package/dist/uploads/types.js.map +1 -0
- package/dist/uploads/unlinkTempFiles.js +1 -1
- package/dist/uploads/unlinkTempFiles.js.map +1 -0
- package/dist/uploads/uploadFiles.js +1 -1
- package/dist/uploads/uploadFiles.js.map +1 -0
- package/dist/utilities/checkDuplicateCollections.js +1 -1
- package/dist/utilities/checkDuplicateCollections.js.map +1 -0
- package/dist/utilities/combineMerge.js +1 -1
- package/dist/utilities/combineMerge.js.map +1 -0
- package/dist/utilities/commitTransaction.js +1 -1
- package/dist/utilities/commitTransaction.js.map +1 -0
- package/dist/utilities/configToJSONSchema.js +1 -1
- package/dist/utilities/configToJSONSchema.js.map +1 -0
- package/dist/utilities/configToJSONSchema.spec.js +1 -1
- package/dist/utilities/configToJSONSchema.spec.js.map +1 -0
- package/dist/utilities/convertData.js +1 -1
- package/dist/utilities/convertData.js.map +1 -0
- package/dist/utilities/createArrayFromCommaDelineated.js +1 -1
- package/dist/utilities/createArrayFromCommaDelineated.js.map +1 -0
- package/dist/utilities/createLocalReq.js +1 -1
- package/dist/utilities/createLocalReq.js.map +1 -0
- package/dist/utilities/deepCopyObject.js +1 -1
- package/dist/utilities/deepCopyObject.js.map +1 -0
- package/dist/utilities/deepMerge.js +1 -1
- package/dist/utilities/deepMerge.js.map +1 -0
- package/dist/utilities/fieldSchemaToJSON.js +1 -1
- package/dist/utilities/fieldSchemaToJSON.js.map +1 -0
- package/dist/utilities/flattenTopLevelFields.js +1 -1
- package/dist/utilities/flattenTopLevelFields.js.map +1 -0
- package/dist/utilities/formatLabels.js +1 -1
- package/dist/utilities/formatLabels.js.map +1 -0
- package/dist/utilities/formatLabels.spec.js +1 -1
- package/dist/utilities/formatLabels.spec.js.map +1 -0
- package/dist/utilities/getCSSVariable.js +1 -1
- package/dist/utilities/getCSSVariable.js.map +1 -0
- package/dist/utilities/getCollectionIDFieldTypes.js +1 -1
- package/dist/utilities/getCollectionIDFieldTypes.js.map +1 -0
- package/dist/utilities/getEntityPolicies.js +1 -1
- package/dist/utilities/getEntityPolicies.js.map +1 -0
- package/dist/utilities/getIDType.js +1 -1
- package/dist/utilities/getIDType.js.map +1 -0
- package/dist/utilities/getObjectDotNotation.js +1 -1
- package/dist/utilities/getObjectDotNotation.js.map +1 -0
- package/dist/utilities/getUniqueListBy.js +1 -1
- package/dist/utilities/getUniqueListBy.js.map +1 -0
- package/dist/utilities/initTransaction.js +1 -1
- package/dist/utilities/initTransaction.js.map +1 -0
- package/dist/utilities/isEntityHidden.js +1 -1
- package/dist/utilities/isEntityHidden.js.map +1 -0
- package/dist/utilities/isNumber.js +1 -1
- package/dist/utilities/isNumber.js.map +1 -0
- package/dist/utilities/isPlainObject.js +1 -1
- package/dist/utilities/isPlainObject.js.map +1 -0
- package/dist/utilities/isValidID.js +1 -1
- package/dist/utilities/isValidID.js.map +1 -0
- package/dist/utilities/isolateObjectProperty.js +1 -1
- package/dist/utilities/isolateObjectProperty.js.map +1 -0
- package/dist/utilities/killTransaction.js +1 -1
- package/dist/utilities/killTransaction.js.map +1 -0
- package/dist/utilities/logger.js +1 -1
- package/dist/utilities/logger.js.map +1 -0
- package/dist/utilities/mapAsync.js +1 -1
- package/dist/utilities/mapAsync.js.map +1 -0
- package/dist/utilities/overwriteMerge.js +1 -1
- package/dist/utilities/overwriteMerge.js.map +1 -0
- package/dist/utilities/parseCookies.js +1 -1
- package/dist/utilities/parseCookies.js.map +1 -0
- package/dist/utilities/sanitizeInternalFields.js +1 -1
- package/dist/utilities/sanitizeInternalFields.js.map +1 -0
- package/dist/utilities/setsAreEqual.js +1 -1
- package/dist/utilities/setsAreEqual.js.map +1 -0
- package/dist/utilities/telemetry/events/adminInit.js +1 -1
- package/dist/utilities/telemetry/events/adminInit.js.map +1 -0
- package/dist/utilities/telemetry/events/serverInit.js +1 -1
- package/dist/utilities/telemetry/events/serverInit.js.map +1 -0
- package/dist/utilities/telemetry/index.js +1 -1
- package/dist/utilities/telemetry/index.js.map +1 -0
- package/dist/utilities/telemetry/oneWayHash.js +1 -1
- package/dist/utilities/telemetry/oneWayHash.js.map +1 -0
- package/dist/utilities/timestamp.js +1 -1
- package/dist/utilities/timestamp.js.map +1 -0
- package/dist/utilities/toKebabCase.js +1 -1
- package/dist/utilities/toKebabCase.js.map +1 -0
- package/dist/utilities/wait.js +1 -1
- package/dist/utilities/wait.js.map +1 -0
- package/dist/utilities/wordBoundariesRegex.js +1 -1
- package/dist/utilities/wordBoundariesRegex.js.map +1 -0
- package/dist/versions/baseFields.js +1 -1
- package/dist/versions/baseFields.js.map +1 -0
- package/dist/versions/buildCollectionFields.js +1 -1
- package/dist/versions/buildCollectionFields.js.map +1 -0
- package/dist/versions/buildGlobalFields.js +1 -1
- package/dist/versions/buildGlobalFields.js.map +1 -0
- package/dist/versions/deleteCollectionVersions.js +1 -1
- package/dist/versions/deleteCollectionVersions.js.map +1 -0
- package/dist/versions/drafts/appendVersionToQueryKey.js +1 -1
- package/dist/versions/drafts/appendVersionToQueryKey.js.map +1 -0
- package/dist/versions/drafts/getQueryDraftsSort.js +1 -1
- package/dist/versions/drafts/getQueryDraftsSort.js.map +1 -0
- package/dist/versions/drafts/replaceWithDraftIfAvailable.js +1 -1
- package/dist/versions/drafts/replaceWithDraftIfAvailable.js.map +1 -0
- package/dist/versions/enforceMaxVersions.js +1 -1
- package/dist/versions/enforceMaxVersions.js.map +1 -0
- package/dist/versions/getLatestCollectionVersion.js +1 -1
- package/dist/versions/getLatestCollectionVersion.js.map +1 -0
- package/dist/versions/getLatestGlobalVersion.js +1 -1
- package/dist/versions/getLatestGlobalVersion.js.map +1 -0
- package/dist/versions/getVersionsModelName.js +1 -1
- package/dist/versions/getVersionsModelName.js.map +1 -0
- package/dist/versions/saveVersion.js +1 -1
- package/dist/versions/saveVersion.js.map +1 -0
- package/dist/versions/types.js +1 -1
- package/dist/versions/types.js.map +1 -0
- package/errors.js +1 -1
- package/operations.js +1 -1
- package/package.json +2 -2
- package/types.js +1 -1
- package/utilities.js +1 -1
- package/versions.js +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/database/migrations/migrationTemplate.ts"],"sourcesContent":["export const migrationTemplate = `\nimport {\n MigrateUpArgs,\n MigrateDownArgs,\n} from \"@payloadcms/db-mongodb\";\n\nexport async function up({ payload, req }: MigrateUpArgs): Promise<void> {\n // Migration code\n};\n\nexport async function down({ payload, req }: MigrateDownArgs): Promise<void> {\n // Migration code\n};\n`\n"],"names":["migrationTemplate"],"mappings":"AAAA,OAAO,MAAMA,oBAAoB,CAAC;;;;;;;;;;;;;AAalC,CAAC,CAAA"}
|
|
@@ -17,4 +17,4 @@ export const migrationsCollection = {
|
|
|
17
17
|
graphQL: false
|
|
18
18
|
};
|
|
19
19
|
|
|
20
|
-
//# sourceMappingURL=
|
|
20
|
+
//# sourceMappingURL=migrationsCollection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/database/migrations/migrationsCollection.ts"],"sourcesContent":["import type { CollectionConfig } from '../../collections/config/types.js'\n\nexport const migrationsCollection: CollectionConfig = {\n slug: 'payload-migrations',\n admin: {\n hidden: true,\n },\n endpoints: false,\n fields: [\n {\n name: 'name',\n type: 'text',\n },\n {\n name: 'batch',\n type: 'number',\n // NOTE: This value is -1 if it is a \"dev push\"\n },\n ],\n graphQL: false,\n}\n"],"names":["migrationsCollection","slug","admin","hidden","endpoints","fields","name","type","graphQL"],"mappings":"AAEA,OAAO,MAAMA,uBAAyC;IACpDC,MAAM;IACNC,OAAO;QACLC,QAAQ;IACV;IACAC,WAAW;IACXC,QAAQ;QACN;YACEC,MAAM;YACNC,MAAM;QACR;QACA;YACED,MAAM;YACNC,MAAM;QAER;KACD;IACDC,SAAS;AACX,EAAC"}
|
|
@@ -29,4 +29,4 @@ import path from 'path';
|
|
|
29
29
|
}));
|
|
30
30
|
};
|
|
31
31
|
|
|
32
|
-
//# sourceMappingURL=
|
|
32
|
+
//# sourceMappingURL=readMigrationFiles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/database/migrations/readMigrationFiles.ts"],"sourcesContent":["import fs from 'fs'\nimport path from 'path'\n\nimport type { Payload } from '../../index.js'\nimport type { Migration } from '../types.js'\n\n/**\n * Read the migration files from disk\n */\nexport const readMigrationFiles = async ({\n payload,\n}: {\n payload: Payload\n}): Promise<Migration[]> => {\n if (!fs.existsSync(payload.db.migrationDir)) {\n payload.logger.error({\n msg: `No migration directory found at ${payload.db.migrationDir}`,\n })\n return []\n }\n\n payload.logger.info({\n msg: `Reading migration files from ${payload.db.migrationDir}`,\n })\n\n const files = fs\n .readdirSync(payload.db.migrationDir)\n .sort()\n .filter((f) => {\n return f.endsWith('.ts') || f.endsWith('.js')\n })\n .map((file) => {\n return path.resolve(payload.db.migrationDir, file)\n })\n\n return Promise.all(\n files.map(async (filePath) => {\n // eval used to circumvent errors bundling\n const migration = await eval(`import('${filePath.replaceAll('\\\\', '/')}')`)\n\n const result: Migration = {\n name: path.basename(filePath).split('.')?.[0],\n down: migration.down,\n up: migration.up,\n }\n\n return result\n }),\n )\n}\n"],"names":["fs","path","readMigrationFiles","payload","existsSync","db","migrationDir","logger","error","msg","info","files","readdirSync","sort","filter","f","endsWith","map","file","resolve","Promise","all","filePath","migration","eval","replaceAll","result","name","basename","split","down","up"],"mappings":"AAAA,OAAOA,QAAQ,KAAI;AACnB,OAAOC,UAAU,OAAM;AAKvB;;CAEC,GACD,OAAO,MAAMC,qBAAqB,OAAO,EACvCC,OAAO,EAGR;IACC,IAAI,CAACH,GAAGI,UAAU,CAACD,QAAQE,EAAE,CAACC,YAAY,GAAG;QAC3CH,QAAQI,MAAM,CAACC,KAAK,CAAC;YACnBC,KAAK,CAAC,gCAAgC,EAAEN,QAAQE,EAAE,CAACC,YAAY,CAAC,CAAC;QACnE;QACA,OAAO,EAAE;IACX;IAEAH,QAAQI,MAAM,CAACG,IAAI,CAAC;QAClBD,KAAK,CAAC,6BAA6B,EAAEN,QAAQE,EAAE,CAACC,YAAY,CAAC,CAAC;IAChE;IAEA,MAAMK,QAAQX,GACXY,WAAW,CAACT,QAAQE,EAAE,CAACC,YAAY,EACnCO,IAAI,GACJC,MAAM,CAAC,CAACC;QACP,OAAOA,EAAEC,QAAQ,CAAC,UAAUD,EAAEC,QAAQ,CAAC;IACzC,GACCC,GAAG,CAAC,CAACC;QACJ,OAAOjB,KAAKkB,OAAO,CAAChB,QAAQE,EAAE,CAACC,YAAY,EAAEY;IAC/C;IAEF,OAAOE,QAAQC,GAAG,CAChBV,MAAMM,GAAG,CAAC,OAAOK;QACf,0CAA0C;QAC1C,MAAMC,YAAY,MAAMC,KAAK,CAAC,QAAQ,EAAEF,SAASG,UAAU,CAAC,MAAM,KAAK,EAAE,CAAC;QAE1E,MAAMC,SAAoB;YACxBC,MAAM1B,KAAK2B,QAAQ,CAACN,UAAUO,KAAK,CAAC,MAAM,CAAC,EAAE;YAC7CC,MAAMP,UAAUO,IAAI;YACpBC,IAAIR,UAAUQ,EAAE;QAClB;QAEA,OAAOL;IACT;AAEJ,EAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { };
|
|
2
2
|
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/database/queryValidation/types.ts"],"sourcesContent":["import type { CollectionPermission, GlobalPermission } from '../../auth/index.js'\nimport type { Field, FieldAffectingData, TabAsField, UIField } from '../../fields/config/types.js'\n\nexport type EntityPolicies = {\n collections?: {\n [collectionSlug: string]: CollectionPermission\n }\n globals?: {\n [globalSlug: string]: GlobalPermission\n }\n}\n\nexport type PathToQuery = {\n collectionSlug?: string\n complete: boolean\n field: Field | TabAsField\n fields?: (FieldAffectingData | TabAsField | UIField)[]\n globalSlug?: string\n invalid?: boolean\n path: string\n}\n"],"names":[],"mappings":"AAYA,WAQC"}
|
|
@@ -61,4 +61,4 @@ export async function validateQueryPaths({ collectionConfig, errors = [], global
|
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
-
//# sourceMappingURL=
|
|
64
|
+
//# sourceMappingURL=validateQueryPaths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/database/queryValidation/validateQueryPaths.ts"],"sourcesContent":["/* eslint-disable no-restricted-syntax */\nimport type { SanitizedCollectionConfig } from '../../collections/config/types.js'\nimport type { Field, FieldAffectingData } from '../../fields/config/types.js'\nimport type { SanitizedGlobalConfig } from '../../globals/config/types.js'\n/* eslint-disable no-await-in-loop */\nimport type { Operator, PayloadRequest, Where, WhereField } from '../../types/index.js'\nimport type { EntityPolicies } from './types.js'\n\nimport QueryError from '../../errors/QueryError.js'\nimport { validOperators } from '../../types/constants.js'\nimport { deepCopyObject } from '../../utilities/deepCopyObject.js'\nimport flattenFields from '../../utilities/flattenTopLevelFields.js'\nimport { validateSearchParam } from './validateSearchParams.js'\n\ntype Args = {\n errors?: { path: string }[]\n overrideAccess: boolean\n policies?: EntityPolicies\n req: PayloadRequest\n versionFields?: Field[]\n where: Where\n} & (\n | {\n collectionConfig: SanitizedCollectionConfig\n globalConfig?: never | undefined\n }\n | {\n collectionConfig?: never | undefined\n globalConfig: SanitizedGlobalConfig\n }\n)\n\nconst flattenWhere = (query: Where): WhereField[] =>\n Object.entries(query).reduce((flattenedConstraints, [key, val]) => {\n if ((key === 'and' || key === 'or') && Array.isArray(val)) {\n const subWhereConstraints: Where[] = val.reduce((acc, subVal) => {\n const subWhere = flattenWhere(subVal)\n return [...acc, ...subWhere]\n }, [])\n return [...flattenedConstraints, ...subWhereConstraints]\n }\n\n return [...flattenedConstraints, { [key]: val }]\n }, [])\n\nexport async function validateQueryPaths({\n collectionConfig,\n errors = [],\n globalConfig,\n overrideAccess,\n policies = {\n collections: {},\n globals: {},\n },\n req,\n versionFields,\n where,\n}: Args): Promise<void> {\n const fields = flattenFields(\n versionFields || (globalConfig || collectionConfig).fields,\n ) as FieldAffectingData[]\n if (typeof where === 'object') {\n const whereFields = flattenWhere(where)\n // We need to determine if the whereKey is an AND, OR, or a schema path\n const promises = []\n whereFields.map(async (constraint) => {\n Object.keys(constraint).map(async (path) => {\n Object.entries(constraint[path]).map(async ([operator, val]) => {\n if (validOperators.includes(operator as Operator)) {\n promises.push(\n validateSearchParam({\n collectionConfig: deepCopyObject(collectionConfig),\n errors,\n fields: fields as Field[],\n globalConfig: deepCopyObject(globalConfig),\n operator,\n overrideAccess,\n path,\n policies,\n req,\n val,\n versionFields,\n }),\n )\n }\n })\n })\n })\n await Promise.all(promises)\n if (errors.length > 0) {\n throw new QueryError(errors)\n }\n }\n}\n"],"names":["QueryError","validOperators","deepCopyObject","flattenFields","validateSearchParam","flattenWhere","query","Object","entries","reduce","flattenedConstraints","key","val","Array","isArray","subWhereConstraints","acc","subVal","subWhere","validateQueryPaths","collectionConfig","errors","globalConfig","overrideAccess","policies","collections","globals","req","versionFields","where","fields","whereFields","promises","map","constraint","keys","path","operator","includes","push","Promise","all","length"],"mappings":"AAAA,uCAAuC,GAQvC,OAAOA,gBAAgB,6BAA4B;AACnD,SAASC,cAAc,QAAQ,2BAA0B;AACzD,SAASC,cAAc,QAAQ,oCAAmC;AAClE,OAAOC,mBAAmB,2CAA0C;AACpE,SAASC,mBAAmB,QAAQ,4BAA2B;AAoB/D,MAAMC,eAAe,CAACC,QACpBC,OAAOC,OAAO,CAACF,OAAOG,MAAM,CAAC,CAACC,sBAAsB,CAACC,KAAKC,IAAI;QAC5D,IAAI,AAACD,CAAAA,QAAQ,SAASA,QAAQ,IAAG,KAAME,MAAMC,OAAO,CAACF,MAAM;YACzD,MAAMG,sBAA+BH,IAAIH,MAAM,CAAC,CAACO,KAAKC;gBACpD,MAAMC,WAAWb,aAAaY;gBAC9B,OAAO;uBAAID;uBAAQE;iBAAS;YAC9B,GAAG,EAAE;YACL,OAAO;mBAAIR;mBAAyBK;aAAoB;QAC1D;QAEA,OAAO;eAAIL;YAAsB;gBAAE,CAACC,IAAI,EAAEC;YAAI;SAAE;IAClD,GAAG,EAAE;AAEP,OAAO,eAAeO,mBAAmB,EACvCC,gBAAgB,EAChBC,SAAS,EAAE,EACXC,YAAY,EACZC,cAAc,EACdC,WAAW;IACTC,aAAa,CAAC;IACdC,SAAS,CAAC;AACZ,CAAC,EACDC,GAAG,EACHC,aAAa,EACbC,KAAK,EACA;IACL,MAAMC,SAAS3B,cACbyB,iBAAiB,AAACN,CAAAA,gBAAgBF,gBAAe,EAAGU,MAAM;IAE5D,IAAI,OAAOD,UAAU,UAAU;QAC7B,MAAME,cAAc1B,aAAawB;QACjC,uEAAuE;QACvE,MAAMG,WAAW,EAAE;QACnBD,YAAYE,GAAG,CAAC,OAAOC;YACrB3B,OAAO4B,IAAI,CAACD,YAAYD,GAAG,CAAC,OAAOG;gBACjC7B,OAAOC,OAAO,CAAC0B,UAAU,CAACE,KAAK,EAAEH,GAAG,CAAC,OAAO,CAACI,UAAUzB,IAAI;oBACzD,IAAIX,eAAeqC,QAAQ,CAACD,WAAuB;wBACjDL,SAASO,IAAI,CACXnC,oBAAoB;4BAClBgB,kBAAkBlB,eAAekB;4BACjCC;4BACAS,QAAQA;4BACRR,cAAcpB,eAAeoB;4BAC7Be;4BACAd;4BACAa;4BACAZ;4BACAG;4BACAf;4BACAgB;wBACF;oBAEJ;gBACF;YACF;QACF;QACA,MAAMY,QAAQC,GAAG,CAACT;QAClB,IAAIX,OAAOqB,MAAM,GAAG,GAAG;YACrB,MAAM,IAAI1C,WAAWqB;QACvB;IACF;AACF"}
|
|
@@ -134,4 +134,4 @@ import { validateQueryPaths } from './validateQueryPaths.js';
|
|
|
134
134
|
await Promise.all(promises);
|
|
135
135
|
}
|
|
136
136
|
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kYXRhYmFzZS9xdWVyeVZhbGlkYXRpb24vdmFsaWRhdGVTZWFyY2hQYXJhbXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzLmpzJ1xuaW1wb3J0IHR5cGUgeyBGaWVsZCB9IGZyb20gJy4uLy4uL2ZpZWxkcy9jb25maWcvdHlwZXMuanMnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZEdsb2JhbENvbmZpZyB9IGZyb20gJy4uLy4uL2dsb2JhbHMvY29uZmlnL3R5cGVzLmpzJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uLy4uL3R5cGVzL2luZGV4LmpzJ1xuaW1wb3J0IHR5cGUgeyBFbnRpdHlQb2xpY2llcywgUGF0aFRvUXVlcnkgfSBmcm9tICcuL3R5cGVzLmpzJ1xuXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhIH0gZnJvbSAnLi4vLi4vZmllbGRzL2NvbmZpZy90eXBlcy5qcydcbmltcG9ydCB7IGdldEVudGl0eVBvbGljaWVzIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2dldEVudGl0eVBvbGljaWVzLmpzJ1xuaW1wb3J0IHsgZ2V0TG9jYWxpemVkUGF0aHMgfSBmcm9tICcuLi9nZXRMb2NhbGl6ZWRQYXRocy5qcydcbmltcG9ydCB7IHZhbGlkYXRlUXVlcnlQYXRocyB9IGZyb20gJy4vdmFsaWRhdGVRdWVyeVBhdGhzLmpzJ1xuXG50eXBlIEFyZ3MgPSB7XG4gIGNvbGxlY3Rpb25Db25maWc/OiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnXG4gIGVycm9yczogeyBwYXRoOiBzdHJpbmcgfVtdXG4gIGZpZWxkczogRmllbGRbXVxuICBnbG9iYWxDb25maWc/OiBTYW5pdGl6ZWRHbG9iYWxDb25maWdcbiAgb3BlcmF0b3I6IHN0cmluZ1xuICBvdmVycmlkZUFjY2VzczogYm9vbGVhblxuICBwYXRoOiBzdHJpbmdcbiAgcG9saWNpZXM6IEVudGl0eVBvbGljaWVzXG4gIHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgdmFsOiB1bmtub3duXG4gIHZlcnNpb25GaWVsZHM/OiBGaWVsZFtdXG59XG5cbi8qKlxuICogVmFsaWRhdGUgdGhlIFBheWxvYWQga2V5IC8gdmFsdWUgLyBvcGVyYXRvclxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdmFsaWRhdGVTZWFyY2hQYXJhbSh7XG4gIGNvbGxlY3Rpb25Db25maWcsXG4gIGVycm9ycyxcbiAgZmllbGRzLFxuICBnbG9iYWxDb25maWcsXG4gIG9wZXJhdG9yLFxuICBvdmVycmlkZUFjY2VzcyxcbiAgcGF0aDogaW5jb21pbmdQYXRoLFxuICBwb2xpY2llcyxcbiAgcmVxLFxuICB2YWwsXG4gIHZlcnNpb25GaWVsZHMsXG59OiBBcmdzKTogUHJvbWlzZTx2b2lkPiB7XG4gIC8vIFJlcGxhY2UgR3JhcGhRTCBuZXN0ZWQgZmllbGQgZG91YmxlIHVuZGVyc2NvcmUgZm9ybWF0dGluZ1xuICBsZXQgc2FuaXRpemVkUGF0aFxuICBpZiAoaW5jb21pbmdQYXRoID09PSAnX2lkJykge1xuICAgIHNhbml0aXplZFBhdGggPSAnaWQnXG4gIH0gZWxzZSB7XG4gICAgc2FuaXRpemVkUGF0aCA9IGluY29taW5nUGF0aC5yZXBsYWNlKC9fXy9nLCAnLicpXG4gIH1cbiAgbGV0IHBhdGhzOiBQYXRoVG9RdWVyeVtdID0gW11cbiAgY29uc3QgeyBzbHVnIH0gPSBjb2xsZWN0aW9uQ29uZmlnIHx8IGdsb2JhbENvbmZpZ1xuXG4gIGlmIChnbG9iYWxDb25maWcgJiYgIXBvbGljaWVzLmdsb2JhbHNbc2x1Z10pIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cbiAgICBnbG9iYWxDb25maWcuZmllbGRzID0gZmllbGRzXG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cbiAgICBwb2xpY2llcy5nbG9iYWxzW3NsdWddID0gYXdhaXQgZ2V0RW50aXR5UG9saWNpZXMoe1xuICAgICAgdHlwZTogJ2dsb2JhbCcsXG4gICAgICBlbnRpdHk6IGdsb2JhbENvbmZpZyxcbiAgICAgIG9wZXJhdGlvbnM6IFsncmVhZCddLFxuICAgICAgcmVxLFxuICAgIH0pXG4gIH1cblxuICBpZiAoc2FuaXRpemVkUGF0aCAhPT0gJ2lkJykge1xuICAgIHBhdGhzID0gYXdhaXQgZ2V0TG9jYWxpemVkUGF0aHMoe1xuICAgICAgY29sbGVjdGlvblNsdWc6IGNvbGxlY3Rpb25Db25maWc/LnNsdWcsXG4gICAgICBmaWVsZHMsXG4gICAgICBnbG9iYWxTbHVnOiBnbG9iYWxDb25maWc/LnNsdWcsXG4gICAgICBpbmNvbWluZ1BhdGg6IHNhbml0aXplZFBhdGgsXG4gICAgICBsb2NhbGU6IHJlcS5sb2NhbGUsXG4gICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgIHBheWxvYWQ6IHJlcS5wYXlsb2FkLFxuICAgIH0pXG4gIH1cbiAgY29uc3QgcHJvbWlzZXMgPSBbXVxuICBwcm9taXNlcy5wdXNoKFxuICAgIC4uLnBhdGhzLm1hcChhc3luYyAoeyBjb2xsZWN0aW9uU2x1ZywgZmllbGQsIGludmFsaWQsIHBhdGggfSwgaSkgPT4ge1xuICAgICAgaWYgKGludmFsaWQpIHtcbiAgICAgICAgZXJyb3JzLnB1c2goeyBwYXRoIH0pXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBpZiAoIW92ZXJyaWRlQWNjZXNzICYmIGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpKSB7XG4gICAgICAgIGlmIChjb2xsZWN0aW9uU2x1Zykge1xuICAgICAgICAgIGlmICghcG9saWNpZXMuY29sbGVjdGlvbnNbY29sbGVjdGlvblNsdWddKSB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cbiAgICAgICAgICAgIHBvbGljaWVzLmNvbGxlY3Rpb25zW2NvbGxlY3Rpb25TbHVnXSA9IGF3YWl0IGdldEVudGl0eVBvbGljaWVzKHtcbiAgICAgICAgICAgICAgdHlwZTogJ2NvbGxlY3Rpb24nLFxuICAgICAgICAgICAgICBlbnRpdHk6IHJlcS5wYXlsb2FkLmNvbGxlY3Rpb25zW2NvbGxlY3Rpb25TbHVnXS5jb25maWcsXG4gICAgICAgICAgICAgIG9wZXJhdGlvbnM6IFsncmVhZCddLFxuICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIFsnaGFzaCcsICdzYWx0J10uaW5jbHVkZXMoaW5jb21pbmdQYXRoKSAmJlxuICAgICAgICAgICAgY29sbGVjdGlvbkNvbmZpZy5hdXRoICYmXG4gICAgICAgICAgICAhY29sbGVjdGlvbkNvbmZpZy5hdXRoPy5kaXNhYmxlTG9jYWxTdHJhdGVneVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgZXJyb3JzLnB1c2goeyBwYXRoOiBpbmNvbWluZ1BhdGggfSlcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGZpZWxkUGF0aCA9IHBhdGhcbiAgICAgICAgLy8gcmVtb3ZlIGxvY2FsZSBmcm9tIGVuZCBvZiBwYXRoXG4gICAgICAgIGlmIChwYXRoLmVuZHNXaXRoKGAuJHtyZXEubG9jYWxlfWApKSB7XG4gICAgICAgICAgZmllbGRQYXRoID0gcGF0aC5zbGljZSgwLCAtKHJlcS5sb2NhbGUubGVuZ3RoICsgMSkpXG4gICAgICAgIH1cbiAgICAgICAgLy8gcmVtb3ZlIFwiLnZhbHVlXCIgZnJvbSBlbmRzIG9mIHBvbHltb3JwaGljIHJlbGF0aW9uc2hpcCBwYXRoc1xuICAgICAgICBpZiAoZmllbGQudHlwZSA9PT0gJ3JlbGF0aW9uc2hpcCcgJiYgQXJyYXkuaXNBcnJheShmaWVsZC5yZWxhdGlvblRvKSkge1xuICAgICAgICAgIGZpZWxkUGF0aCA9IGZpZWxkUGF0aC5yZXBsYWNlKCcudmFsdWUnLCAnJylcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBlbnRpdHlUeXBlOiAnY29sbGVjdGlvbnMnIHwgJ2dsb2JhbHMnID0gZ2xvYmFsQ29uZmlnID8gJ2dsb2JhbHMnIDogJ2NvbGxlY3Rpb25zJ1xuICAgICAgICBjb25zdCBlbnRpdHlTbHVnID0gY29sbGVjdGlvblNsdWcgfHwgZ2xvYmFsQ29uZmlnLnNsdWdcbiAgICAgICAgY29uc3Qgc2VnbWVudHMgPSBmaWVsZFBhdGguc3BsaXQoJy4nKVxuXG4gICAgICAgIGxldCBmaWVsZEFjY2Vzc1xuICAgICAgICBpZiAodmVyc2lvbkZpZWxkcykge1xuICAgICAgICAgIGZpZWxkQWNjZXNzID0gcG9saWNpZXNbZW50aXR5VHlwZV1bZW50aXR5U2x1Z11cbiAgICAgICAgICBpZiAoc2VnbWVudHNbMF0gPT09ICdwYXJlbnQnIHx8IHNlZ21lbnRzWzBdID09PSAndmVyc2lvbicpIHtcbiAgICAgICAgICAgIHNlZ21lbnRzLnNoaWZ0KClcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZmllbGRBY2Nlc3MgPSBwb2xpY2llc1tlbnRpdHlUeXBlXVtlbnRpdHlTbHVnXS5maWVsZHNcbiAgICAgICAgfVxuXG4gICAgICAgIHNlZ21lbnRzLmZvckVhY2goKHNlZ21lbnQpID0+IHtcbiAgICAgICAgICBpZiAoZmllbGRBY2Nlc3Nbc2VnbWVudF0pIHtcbiAgICAgICAgICAgIGlmICgnZmllbGRzJyBpbiBmaWVsZEFjY2Vzc1tzZWdtZW50XSkge1xuICAgICAgICAgICAgICBmaWVsZEFjY2VzcyA9IGZpZWxkQWNjZXNzW3NlZ21lbnRdLmZpZWxkc1xuICAgICAgICAgICAgfSBlbHNlIGlmICgnYmxvY2tzJyBpbiBmaWVsZEFjY2Vzc1tzZWdtZW50XSkge1xuICAgICAgICAgICAgICBmaWVsZEFjY2VzcyA9IGZpZWxkQWNjZXNzW3NlZ21lbnRdXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBmaWVsZEFjY2VzcyA9IGZpZWxkQWNjZXNzW3NlZ21lbnRdXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuXG4gICAgICAgIGlmICghZmllbGRBY2Nlc3M/LnJlYWQ/LnBlcm1pc3Npb24pIHtcbiAgICAgICAgICBlcnJvcnMucHVzaCh7IHBhdGg6IGZpZWxkUGF0aCB9KVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChpID4gMSkge1xuICAgICAgICAvLyBSZW1vdmUgdG9wIGNvbGxlY3Rpb24gYW5kIHJldmVyc2UgYXJyYXlcbiAgICAgICAgLy8gdG8gd29yayBiYWNrd2FyZHMgZnJvbSB0b3BcbiAgICAgICAgY29uc3QgcGF0aHNUb1F1ZXJ5ID0gcGF0aHMuc2xpY2UoMSkucmV2ZXJzZSgpXG5cbiAgICAgICAgcGF0aHNUb1F1ZXJ5LmZvckVhY2goXG4gICAgICAgICAgKHsgY29sbGVjdGlvblNsdWc6IHBhdGhDb2xsZWN0aW9uU2x1ZywgcGF0aDogc3ViUGF0aCB9LCBwYXRoVG9RdWVyeUluZGV4KSA9PiB7XG4gICAgICAgICAgICAvLyBPbiB0aGUgXCJkZWVwZXN0XCIgY29sbGVjdGlvbixcbiAgICAgICAgICAgIC8vIHZhbGlkYXRlIHF1ZXJ5IG9mIHRoZSByZWxhdGlvbnNoaXBcbiAgICAgICAgICAgIGlmIChwYXRoVG9RdWVyeUluZGV4ID09PSAwKSB7XG4gICAgICAgICAgICAgIHByb21pc2VzLnB1c2goXG4gICAgICAgICAgICAgICAgdmFsaWRhdGVRdWVyeVBhdGhzKHtcbiAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25Db25maWc6IHJlcS5wYXlsb2FkLmNvbGxlY3Rpb25zW3BhdGhDb2xsZWN0aW9uU2x1Z10uY29uZmlnLFxuICAgICAgICAgICAgICAgICAgZXJyb3JzLFxuICAgICAgICAgICAgICAgICAgZ2xvYmFsQ29uZmlnOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgICAgICAgICAgICAgIHBvbGljaWVzLFxuICAgICAgICAgICAgICAgICAgcmVxLFxuICAgICAgICAgICAgICAgICAgd2hlcmU6IHtcbiAgICAgICAgICAgICAgICAgICAgW3N1YlBhdGhdOiB7XG4gICAgICAgICAgICAgICAgICAgICAgW29wZXJhdG9yXTogdmFsLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9KSxcbiAgKVxuICBhd2FpdCBQcm9taXNlLmFsbChwcm9taXNlcylcbn1cbiJdLCJuYW1lcyI6WyJmaWVsZEFmZmVjdHNEYXRhIiwiZ2V0RW50aXR5UG9saWNpZXMiLCJnZXRMb2NhbGl6ZWRQYXRocyIsInZhbGlkYXRlUXVlcnlQYXRocyIsInZhbGlkYXRlU2VhcmNoUGFyYW0iLCJjb2xsZWN0aW9uQ29uZmlnIiwiZXJyb3JzIiwiZmllbGRzIiwiZ2xvYmFsQ29uZmlnIiwib3BlcmF0b3IiLCJvdmVycmlkZUFjY2VzcyIsInBhdGgiLCJpbmNvbWluZ1BhdGgiLCJwb2xpY2llcyIsInJlcSIsInZhbCIsInZlcnNpb25GaWVsZHMiLCJzYW5pdGl6ZWRQYXRoIiwicmVwbGFjZSIsInBhdGhzIiwic2x1ZyIsImdsb2JhbHMiLCJ0eXBlIiwiZW50aXR5Iiwib3BlcmF0aW9ucyIsImNvbGxlY3Rpb25TbHVnIiwiZ2xvYmFsU2x1ZyIsImxvY2FsZSIsInBheWxvYWQiLCJwcm9taXNlcyIsInB1c2giLCJtYXAiLCJmaWVsZCIsImludmFsaWQiLCJpIiwiY29sbGVjdGlvbnMiLCJjb25maWciLCJpbmNsdWRlcyIsImF1dGgiLCJkaXNhYmxlTG9jYWxTdHJhdGVneSIsImZpZWxkUGF0aCIsImVuZHNXaXRoIiwic2xpY2UiLCJsZW5ndGgiLCJBcnJheSIsImlzQXJyYXkiLCJyZWxhdGlvblRvIiwiZW50aXR5VHlwZSIsImVudGl0eVNsdWciLCJzZWdtZW50cyIsInNwbGl0IiwiZmllbGRBY2Nlc3MiLCJzaGlmdCIsImZvckVhY2giLCJzZWdtZW50IiwicmVhZCIsInBlcm1pc3Npb24iLCJwYXRoc1RvUXVlcnkiLCJyZXZlcnNlIiwicGF0aENvbGxlY3Rpb25TbHVnIiwic3ViUGF0aCIsInBhdGhUb1F1ZXJ5SW5kZXgiLCJ1bmRlZmluZWQiLCJ3aGVyZSIsIlByb21pc2UiLCJhbGwiXSwibWFwcGluZ3MiOiJBQU1BLFNBQVNBLGdCQUFnQixRQUFRLCtCQUE4QjtBQUMvRCxTQUFTQyxpQkFBaUIsUUFBUSx1Q0FBc0M7QUFDeEUsU0FBU0MsaUJBQWlCLFFBQVEsMEJBQXlCO0FBQzNELFNBQVNDLGtCQUFrQixRQUFRLDBCQUF5QjtBQWdCNUQ7O0NBRUMsR0FDRCxPQUFPLGVBQWVDLG9CQUFvQixFQUN4Q0MsZ0JBQWdCLEVBQ2hCQyxNQUFNLEVBQ05DLE1BQU0sRUFDTkMsWUFBWSxFQUNaQyxRQUFRLEVBQ1JDLGNBQWMsRUFDZEMsTUFBTUMsWUFBWSxFQUNsQkMsUUFBUSxFQUNSQyxHQUFHLEVBQ0hDLEdBQUcsRUFDSEMsYUFBYSxFQUNSO0lBQ0wsNERBQTREO0lBQzVELElBQUlDO0lBQ0osSUFBSUwsaUJBQWlCLE9BQU87UUFDMUJLLGdCQUFnQjtJQUNsQixPQUFPO1FBQ0xBLGdCQUFnQkwsYUFBYU0sT0FBTyxDQUFDLE9BQU87SUFDOUM7SUFDQSxJQUFJQyxRQUF1QixFQUFFO0lBQzdCLE1BQU0sRUFBRUMsSUFBSSxFQUFFLEdBQUdmLG9CQUFvQkc7SUFFckMsSUFBSUEsZ0JBQWdCLENBQUNLLFNBQVNRLE9BQU8sQ0FBQ0QsS0FBSyxFQUFFO1FBQzNDLDZDQUE2QztRQUM3Q1osYUFBYUQsTUFBTSxHQUFHQTtRQUV0Qiw2Q0FBNkM7UUFDN0NNLFNBQVNRLE9BQU8sQ0FBQ0QsS0FBSyxHQUFHLE1BQU1uQixrQkFBa0I7WUFDL0NxQixNQUFNO1lBQ05DLFFBQVFmO1lBQ1JnQixZQUFZO2dCQUFDO2FBQU87WUFDcEJWO1FBQ0Y7SUFDRjtJQUVBLElB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
|
|
137
|
+
//# sourceMappingURL=validateSearchParams.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/database/queryValidation/validateSearchParams.ts"],"sourcesContent":["import type { SanitizedCollectionConfig } from '../../collections/config/types.js'\nimport type { Field } from '../../fields/config/types.js'\nimport type { SanitizedGlobalConfig } from '../../globals/config/types.js'\nimport type { PayloadRequest } from '../../types/index.js'\nimport type { EntityPolicies, PathToQuery } from './types.js'\n\nimport { fieldAffectsData } from '../../fields/config/types.js'\nimport { getEntityPolicies } from '../../utilities/getEntityPolicies.js'\nimport { getLocalizedPaths } from '../getLocalizedPaths.js'\nimport { validateQueryPaths } from './validateQueryPaths.js'\n\ntype Args = {\n collectionConfig?: SanitizedCollectionConfig\n errors: { path: string }[]\n fields: Field[]\n globalConfig?: SanitizedGlobalConfig\n operator: string\n overrideAccess: boolean\n path: string\n policies: EntityPolicies\n req: PayloadRequest\n val: unknown\n versionFields?: Field[]\n}\n\n/**\n * Validate the Payload key / value / operator\n */\nexport async function validateSearchParam({\n collectionConfig,\n errors,\n fields,\n globalConfig,\n operator,\n overrideAccess,\n path: incomingPath,\n policies,\n req,\n val,\n versionFields,\n}: Args): Promise<void> {\n // Replace GraphQL nested field double underscore formatting\n let sanitizedPath\n if (incomingPath === '_id') {\n sanitizedPath = 'id'\n } else {\n sanitizedPath = incomingPath.replace(/__/g, '.')\n }\n let paths: PathToQuery[] = []\n const { slug } = collectionConfig || globalConfig\n\n if (globalConfig && !policies.globals[slug]) {\n // eslint-disable-next-line no-param-reassign\n globalConfig.fields = fields\n\n // eslint-disable-next-line no-param-reassign\n policies.globals[slug] = await getEntityPolicies({\n type: 'global',\n entity: globalConfig,\n operations: ['read'],\n req,\n })\n }\n\n if (sanitizedPath !== 'id') {\n paths = await getLocalizedPaths({\n collectionSlug: collectionConfig?.slug,\n fields,\n globalSlug: globalConfig?.slug,\n incomingPath: sanitizedPath,\n locale: req.locale,\n overrideAccess,\n payload: req.payload,\n })\n }\n const promises = []\n promises.push(\n ...paths.map(async ({ collectionSlug, field, invalid, path }, i) => {\n if (invalid) {\n errors.push({ path })\n return\n }\n\n if (!overrideAccess && fieldAffectsData(field)) {\n if (collectionSlug) {\n if (!policies.collections[collectionSlug]) {\n // eslint-disable-next-line no-param-reassign\n policies.collections[collectionSlug] = await getEntityPolicies({\n type: 'collection',\n entity: req.payload.collections[collectionSlug].config,\n operations: ['read'],\n req,\n })\n }\n\n if (\n ['hash', 'salt'].includes(incomingPath) &&\n collectionConfig.auth &&\n !collectionConfig.auth?.disableLocalStrategy\n ) {\n errors.push({ path: incomingPath })\n }\n }\n let fieldPath = path\n // remove locale from end of path\n if (path.endsWith(`.${req.locale}`)) {\n fieldPath = path.slice(0, -(req.locale.length + 1))\n }\n // remove \".value\" from ends of polymorphic relationship paths\n if (field.type === 'relationship' && Array.isArray(field.relationTo)) {\n fieldPath = fieldPath.replace('.value', '')\n }\n const entityType: 'collections' | 'globals' = globalConfig ? 'globals' : 'collections'\n const entitySlug = collectionSlug || globalConfig.slug\n const segments = fieldPath.split('.')\n\n let fieldAccess\n if (versionFields) {\n fieldAccess = policies[entityType][entitySlug]\n if (segments[0] === 'parent' || segments[0] === 'version') {\n segments.shift()\n }\n } else {\n fieldAccess = policies[entityType][entitySlug].fields\n }\n\n segments.forEach((segment) => {\n if (fieldAccess[segment]) {\n if ('fields' in fieldAccess[segment]) {\n fieldAccess = fieldAccess[segment].fields\n } else if ('blocks' in fieldAccess[segment]) {\n fieldAccess = fieldAccess[segment]\n } else {\n fieldAccess = fieldAccess[segment]\n }\n }\n })\n\n if (!fieldAccess?.read?.permission) {\n errors.push({ path: fieldPath })\n }\n }\n\n if (i > 1) {\n // Remove top collection and reverse array\n // to work backwards from top\n const pathsToQuery = paths.slice(1).reverse()\n\n pathsToQuery.forEach(\n ({ collectionSlug: pathCollectionSlug, path: subPath }, pathToQueryIndex) => {\n // On the \"deepest\" collection,\n // validate query of the relationship\n if (pathToQueryIndex === 0) {\n promises.push(\n validateQueryPaths({\n collectionConfig: req.payload.collections[pathCollectionSlug].config,\n errors,\n globalConfig: undefined,\n overrideAccess,\n policies,\n req,\n where: {\n [subPath]: {\n [operator]: val,\n },\n },\n }),\n )\n }\n },\n )\n }\n }),\n )\n await Promise.all(promises)\n}\n"],"names":["fieldAffectsData","getEntityPolicies","getLocalizedPaths","validateQueryPaths","validateSearchParam","collectionConfig","errors","fields","globalConfig","operator","overrideAccess","path","incomingPath","policies","req","val","versionFields","sanitizedPath","replace","paths","slug","globals","type","entity","operations","collectionSlug","globalSlug","locale","payload","promises","push","map","field","invalid","i","collections","config","includes","auth","disableLocalStrategy","fieldPath","endsWith","slice","length","Array","isArray","relationTo","entityType","entitySlug","segments","split","fieldAccess","shift","forEach","segment","read","permission","pathsToQuery","reverse","pathCollectionSlug","subPath","pathToQueryIndex","undefined","where","Promise","all"],"mappings":"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"}
|
package/dist/database/types.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { };
|
|
2
2
|
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhYmFzZS90eXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFR5cGVXaXRoSUQgfSBmcm9tICcuLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMuanMnXG5pbXBvcnQgdHlwZSB7IFR5cGVXaXRoSUQgYXMgR2xvYmFsc1R5cGVXaXRoSUQgfSBmcm9tICcuLi9nbG9iYWxzL2NvbmZpZy90eXBlcy5qcydcbmltcG9ydCB0eXBlIHsgRG9jdW1lbnQsIFBheWxvYWQsIFBheWxvYWRSZXF1ZXN0LCBXaGVyZSB9IGZyb20gJy4uL3R5cGVzL2luZGV4LmpzJ1xuaW1wb3J0IHR5cGUgeyBUeXBlV2l0aFZlcnNpb24gfSBmcm9tICcuLi92ZXJzaW9ucy90eXBlcy5qcydcblxuZXhwb3J0IHR5cGUgeyBUeXBlV2l0aFZlcnNpb24gfVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VEYXRhYmFzZUFkYXB0ZXIge1xuICAvKipcbiAgICogU3RhcnQgYSB0cmFuc2FjdGlvbiwgcmVxdWlyaW5nIGNvbW1pdFRyYW5zYWN0aW9uKCkgdG8gYmUgY2FsbGVkIGZvciBhbnkgY2hhbmdlcyB0byBiZSBtYWRlLlxuICAgKiBAcmV0dXJucyBhbiBpZGVudGlmaWVyIGZvciB0aGUgdHJhbnNhY3Rpb24gb3IgbnVsbCBpZiBvbmUgY2Fubm90IGJlIGVzdGFibGlzaGVkXG4gICAqL1xuICBiZWdpblRyYW5zYWN0aW9uPzogQmVnaW5UcmFuc2FjdGlvblxuICAvKipcbiAgICogUGVyc2lzdCB0aGUgY2hhbmdlcyBtYWRlIHNpbmNlIHRoZSBzdGFydCBvZiB0aGUgdHJhbnNhY3Rpb24uXG4gICAqL1xuICBjb21taXRUcmFuc2FjdGlvbj86IENvbW1pdFRyYW5zYWN0aW9uXG5cbiAgLyoqXG4gICAqIE9wZW4gdGhlIGNvbm5lY3Rpb24gdG8gdGhlIGRhdGFiYXNlXG4gICAqL1xuICBjb25uZWN0PzogQ29ubmVjdFxuXG4gIGNyZWF0ZTogQ3JlYXRlXG5cbiAgY3JlYXRlR2xvYmFsOiBDcmVhdGVHbG9iYWxcblxuICBjcmVhdGVHbG9iYWxWZXJzaW9uOiBDcmVhdGVHbG9iYWxWZXJzaW9uXG4gIC8qKlxuICAgKiBPdXRwdXQgYSBtaWdyYXRpb24gZmlsZVxuICAgKi9cbiAgY3JlYXRlTWlncmF0aW9uOiBDcmVhdGVNaWdyYXRpb25cblxuICBjcmVhdGVWZXJzaW9uOiBDcmVhdGVWZXJzaW9uXG5cbiAgLyoqXG4gICAqIFNwZWNpZnkgaWYgdGhlIElEIGlzIGEgdGV4dCBvciBudW1iZXIgZmllbGQgYnkgZGVmYXVsdCB3aXRoaW4gdGhpcyBkYXRhYmFzZSBhZGFwdGVyLlxuICAgKi9cbiAgZGVmYXVsdElEVHlwZTogJ251bWJlcicgfCAndGV4dCdcblxuICBkZWxldGVNYW55OiBEZWxldGVNYW55XG5cbiAgZGVsZXRlT25lOiBEZWxldGVPbmVcblxuICBkZWxldGVWZXJzaW9uczogRGVsZXRlVmVyc2lvbnNcblxuICAvKipcbiAgICogVGVybWluYXRlIHRoZSBjb25uZWN0aW9uIHdpdGggdGhlIGRhdGFiYXNlXG4gICAqL1xuICBkZXN0cm95PzogRGVzdHJveVxuXG4gIGZpbmQ6IDxUID0gVHlwZVdpdGhJRD4oYXJnczogRmluZEFyZ3MpID0+IFByb21pc2U8UGFnaW5hdGVkRG9jczxUPj5cblxuICBmaW5kR2xvYmFsOiBGaW5kR2xvYmFsXG5cbiAgZmluZEdsb2JhbFZlcnNpb25zOiBGaW5kR2xvYmFsVmVyc2lvbnNcblxuICBmaW5kT25lOiBGaW5kT25lXG5cbiAgZmluZFZlcnNpb25zOiBGaW5kVmVyc2lvbnNcblxuICAvKipcbiAgICogUGVyZm9ybSBzdGFydHVwIHRhc2tzIHJlcXVpcmVkIHRvIGludGVyYWN0IHdpdGggdGhlIGRhdGFiYXNlIHN1Y2ggYXMgYnVpbGRpbmcgU2NoZW1hIGFuZCBtb2RlbHNcbiAgICovXG4gIGluaXQ/OiBJbml0XG5cbiAgLyoqXG4gICAqIFJ1biBhbnkgbWlncmF0aW9uIHVwIGZ1bmN0aW9ucyB0aGF0IGhhdmUgbm90IHlldCBiZWVuIHBlcmZvcm1lZCBhbmQgdXBkYXRlIHRoZSBzdGF0dXNcbiAgICovXG4gIG1pZ3JhdGU6ICgpID0+IFByb21pc2U8dm9pZD5cblxuICAvKipcbiAgICogUnVuIGFueSBtaWdyYXRpb24gZG93biBmdW5jdGlvbnMgdGhhdCBoYXZlIGJlZW4gcGVyZm9ybWVkXG4gICAqL1xuICBtaWdyYXRlRG93bjogKCkgPT4gUHJvbWlzZTx2b2lkPlxuXG4gIC8qKlxuICAgKiBEcm9wIHRoZSBjdXJyZW50IGRhdGFiYXNlIGFuZCBydW4gYWxsIG1pZ3JhdGUgdXAgZnVuY3Rpb25zXG4gICAqL1xuICBtaWdyYXRlRnJlc2g6IChhcmdzOiB7IGZvcmNlQWNjZXB0V2FybmluZz86IGJvb2xlYW4gfSkgPT4gUHJvbWlzZTx2b2lkPlxuICAvKipcbiAgICogUnVuIGFsbCBtaWdyYXRpb24gZG93biBmdW5jdGlvbnMgYmVmb3JlIHJ1bm5pbmcgdXBcbiAgICovXG4gIG1pZ3JhdGVSZWZyZXNoOiAoKSA9PiBQcm9taXNlPHZvaWQ+XG5cbiAgLyoqXG4gICAqIFJ1biBhbGwgbWlncmF0ZSBkb3duIGZ1bmN0aW9uc1xuICAgKi9cbiAgbWlncmF0ZVJlc2V0OiAoKSA9PiBQcm9taXNlPHZvaWQ+XG4gIC8qKlxuICAgKiBSZWFkIHRoZSBjdXJyZW50IHN0YXRlIG9mIG1pZ3JhdGlvbnMgYW5kIG91dHB1dCB0aGUgcmVzdWx0IHRvIHNob3cgd2hpY2ggaGF2ZSBiZWVuIHJ1blxuICAgKi9cbiAgbWlncmF0ZVN0YXR1czogKCkgPT4gUHJvbWlzZTx2b2lkPlxuICAvKipcbiAgICogUGF0aCB0byByZWFkIGFuZCB3cml0ZSBtaWdyYXRpb24gZmlsZXMgZnJvbVxuICAgKi9cbiAgbWlncmF0aW9uRGlyOiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBkYXRhYmFzZSBhZGFwdGVyXG4gICAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqXG4gICAqIHJlZmVyZW5jZSB0byB0aGUgaW5zdGFuY2Ugb2YgcGF5bG9hZFxuICAgKi9cbiAgcGF5bG9hZDogUGF5bG9hZFxuXG4gIHF1ZXJ5RHJhZnRzOiBRdWVyeURyYWZ0c1xuICAvKipcbiAgICogQWJvcnQgYW55IGNoYW5nZXMgc2luY2UgdGhlIHN0YXJ0IG9mIHRoZSB0cmFuc2FjdGlvbi5cbiAgICovXG4gIHJvbGxiYWNrVHJhbnNhY3Rpb24/OiBSb2xsYmFja1RyYW5zYWN0aW9uXG4gIC8qKlxuICAgKiBBIGtleS12YWx1ZSBzdG9yZSBvZiBhbGwgc2Vzc2lvbnMgb3BlbiAodXNlZCBmb3IgdHJhbnNhY3Rpb25zKVxuICAgKi9cbiAgc2Vzc2lvbnM/OiB7XG4gICAgW2lkOiBzdHJpbmddOiB7XG4gICAgICBkYjogdW5rbm93blxuICAgICAgcmVqZWN0OiAoKSA9PiBQcm9taXNlPHZvaWQ+XG4gICAgICByZXNvbHZlOiAoKSA9PiBQcm9taXNlPHZvaWQ+XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlR2xvYmFsOiBVcGRhdGVHbG9iYWxcblxuICB1cGRhdGVHbG9iYWxWZXJzaW9uOiBVcGRhdGVHbG9iYWxWZXJzaW9uXG5cbiAgdXBkYXRlT25lOiBVcGRhdGVPbmVcblxuICB1cGRhdGVWZXJzaW9uOiBVcGRhdGVWZXJzaW9uXG59XG5cbmV4cG9ydCB0eXBlIEluaXQgPSAocGF5bG9hZDogUGF5bG9hZCkgPT4gUHJvbWlzZTx2b2lkPiB8IHZvaWRcblxudHlwZSBDb25uZWN0QXJncyA9IHtcbiAgaG90UmVsb2FkOiBib29sZWFuXG59XG5cbmV4cG9ydCB0eXBlIENvbm5lY3QgPSAoYXJncz86IENvbm5lY3RBcmdzKSA9PiBQcm9taXNlPHZvaWQ+XG5cbmV4cG9ydCB0eXBlIERlc3Ryb3kgPSAocGF5bG9hZDogUGF5bG9hZCkgPT4gUHJvbWlzZTx2b2lkPlxuXG5leHBvcnQgdHlwZSBDcmVhdGVNaWdyYXRpb24gPSAoYXJnczoge1xuICBmaWxlPzogc3RyaW5nXG4gIC8qKlxuICAgKiBTa2lwcyB0aGUgcHJvbXB0IGFza2luZyB0byBjcmVhdGUgZW1wdHkgbWlncmF0aW9uc1xuICAgKi9cbiAgZm9yY2VBY2NlcHRXYXJuaW5nPzogYm9vbGVhblxuICBtaWdyYXRpb25OYW1lPzogc3RyaW5nXG4gIHBheWxvYWQ6IFBheWxvYWRcbn0pID0+IFByb21pc2U8dm9pZD5cblxuZXhwb3J0IHR5cGUgVHJhbnNhY3Rpb24gPSAoXG4gIGNhbGxiYWNrOiAoKSA9PiBQcm9taXNlPHZvaWQ+LFxuICBvcHRpb25zPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4pID0+IFByb21pc2U8dm9pZD5cblxuZXhwb3J0IHR5cGUgQmVnaW5UcmFuc2FjdGlvbiA9IChcbiAgb3B0aW9ucz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuKSA9PiBQcm9taXNlPG51bGwgfCBudW1iZXIgfCBzdHJpbmc+XG5cbmV4cG9ydCB0eXBlIFJvbGxiYWNrVHJhbnNhY3Rpb24gPSAoaWQ6IG51bWJlciB8IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuXG5leHBvcnQgdHlwZSBDb21taXRUcmFuc2FjdGlvbiA9IChpZDogbnVtYmVyIHwgc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5RHJhZnRzQXJncyA9IHtcbiAgY29sbGVjdGlvbjogc3RyaW5nXG4gIGxpbWl0PzogbnVtYmVyXG4gIGxvY2FsZT86IHN0cmluZ1xuICBwYWdlPzogbnVtYmVyXG4gIHBhZ2luYXRpb24/OiBib29sZWFuXG4gIHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgc29ydD86IHN0cmluZ1xuICB3aGVyZT86IFdoZXJlXG59XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5RHJhZnRzID0gPFQgPSBUeXBlV2l0aElEPihhcmdzOiBRdWVyeURyYWZ0c0FyZ3MpID0+IFByb21pc2U8UGFnaW5hdGVkRG9jczxUPj5cblxuZXhwb3J0IHR5cGUgRmluZE9uZUFyZ3MgPSB7XG4gIGNvbGxlY3Rpb246IHN0cmluZ1xuICBsb2NhbGU/OiBzdHJpbmdcbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICB3aGVyZT86IFdoZXJlXG59XG5cbmV4cG9ydCB0eXBlIEZpbmRPbmUgPSA8VCBleHRlbmRzIFR5cGVXaXRoSUQ+KGFyZ3M6IEZpbmRPbmVBcmdzKSA9PiBQcm9taXNlPFQgfCBudWxsPlxuXG5leHBvcnQgdHlwZSBGaW5kQXJncyA9IHtcbiAgY29sbGVjdGlvbjogc3RyaW5nXG4gIC8qKiBTZXR0aW5nIGxpbWl0IHRvIDEgaXMgZXF1YWwgdG8gdGhlIHByZXZpb3VzIE1vZGVsLmZpbmRPbmUoKS4gU2V0dGluZyBsaW1pdCB0byAwIGRpc2FibGVzIHRoZSBsaW1pdCAqL1xuICBsaW1pdD86IG51bWJlclxuICBsb2NhbGU/OiBzdHJpbmdcbiAgcGFnZT86IG51bWJlclxuICBwYWdpbmF0aW9uPzogYm9vbGVhblxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gIHNraXA/OiBudW1iZXJcbiAgc29ydD86IHN0cmluZ1xuICB2ZXJzaW9ucz86IGJvb2xlYW5cbiAgd2hlcmU/OiBXaGVyZVxufVxuXG5leHBvcnQgdHlwZSBGaW5kID0gPFQgPSBUeXBlV2l0aElEPihhcmdzOiBGaW5kQXJncykgPT4gUHJvbWlzZTxQYWdpbmF0ZWREb2NzPFQ+PlxuXG50eXBlIEJhc2VWZXJzaW9uQXJncyA9IHtcbiAgbGltaXQ/OiBudW1iZXJcbiAgbG9jYWxlPzogc3RyaW5nXG4gIHBhZ2U/OiBudW1iZXJcbiAgcGFnaW5hdGlvbj86IGJvb2xlYW5cbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICBza2lwPzogbnVtYmVyXG4gIHNvcnQ/OiBzdHJpbmdcbiAgdmVyc2lvbnM/OiBib29sZWFuXG4gIHdoZXJlPzogV2hlcmVcbn1cblxuZXhwb3J0IHR5cGUgRmluZFZlcnNpb25zQXJncyA9IEJhc2VWZXJzaW9uQXJncyAmIHtcbiAgY29sbGVjdGlvbjogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIEZpbmRWZXJzaW9ucyA9IDxUID0gVHlwZVdpdGhJRD4oXG4gIGFyZ3M6IEZpbmRWZXJzaW9uc0FyZ3MsXG4pID0+IFByb21pc2U8UGFnaW5hdGVkRG9jczxUeXBlV2l0aFZlcnNpb248VD4+PlxuXG5leHBvcnQgdHlwZSBGaW5kR2xvYmFsVmVyc2lvbnNBcmdzID0gQmFzZVZlcnNpb25BcmdzICYge1xuICBnbG9iYWw6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBGaW5kR2xvYmFsQXJncyA9IHtcbiAgbG9jYWxlPzogc3RyaW5nXG4gIHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgc2x1Zzogc3RyaW5nXG4gIHdoZXJlPzogV2hlcmVcbn1cblxuZXhwb3J0IHR5cGUgVXBkYXRlR2xvYmFsVmVyc2lvbkFyZ3M8VCA9IFR5cGVXaXRoSUQ+ID0ge1xuICBnbG9iYWw6IHN0cmluZ1xuICBsb2NhbGU/OiBzdHJpbmdcbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICB2ZXJzaW9uRGF0YTogVFxufSAmIChcbiAgfCB7XG4gICAgICBpZDogbnVtYmVyIHwgc3RyaW5nXG4gICAgICB3aGVyZT86IG5ldmVyXG4gICAgfVxuICB8IHtcbiAgICAgIGlkPzogbmV2ZXJcbiAgICAgIHdoZXJlOiBXaGVyZVxuICAgIH1cbilcblxuZXhwb3J0IHR5cGUgVXBkYXRlR2xvYmFsVmVyc2lvbiA9IDxUIGV4dGVuZHMgVHlwZVdpdGhJRCA9IFR5cGVXaXRoSUQ+KFxuICBhcmdzOiBVcGRhdGVHbG9iYWxWZXJzaW9uQXJnczxUPixcbikgPT4gUHJvbWlzZTxUeXBlV2l0aFZlcnNpb248VD4+XG5cbmV4cG9ydCB0eXBlIEZpbmRHbG9iYWwgPSA8VCBleHRlbmRzIEdsb2JhbHNUeXBlV2l0aElEID0gYW55PihhcmdzOiBGaW5kR2xvYmFsQXJncykgPT4gUHJvbWlzZTxUPlxuXG5leHBvcnQgdHlwZSBDcmVhdGVHbG9iYWxBcmdzPFQgZXh0ZW5kcyBHbG9iYWxzVHlwZVdpdGhJRCA9IGFueT4gPSB7XG4gIGRhdGE6IFRcbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICBzbHVnOiBzdHJpbmdcbn1cbmV4cG9ydCB0eXBlIENyZWF0ZUdsb2JhbCA9IDxUIGV4dGVuZHMgR2xvYmFsc1R5cGVXaXRoSUQgPSBhbnk+KFxuICBhcmdzOiBDcmVhdGVHbG9iYWxBcmdzPFQ+LFxuKSA9PiBQcm9taXNlPFQ+XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUdsb2JhbEFyZ3M8VCBleHRlbmRzIEdsb2JhbHNUeXBlV2l0aElEID0gYW55PiA9IHtcbiAgZGF0YTogVFxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gIHNsdWc6IHN0cmluZ1xufVxuZXhwb3J0IHR5cGUgVXBkYXRlR2xvYmFsID0gPFQgZXh0ZW5kcyBHbG9iYWxzVHlwZVdpdGhJRCA9IGFueT4oXG4gIGFyZ3M6IFVwZGF0ZUdsb2JhbEFyZ3M8VD4sXG4pID0+IFByb21pc2U8VD5cbi8vIGV4cG9ydCB0eXBlIFVwZGF0ZU9uZSA9IChhcmdzOiBVcGRhdGVPbmVBcmdzKSA9PiBQcm9taXNlPERvY3VtZW50PlxuXG5leHBvcnQgdHlwZSBGaW5kR2xvYmFsVmVyc2lvbnMgPSA8VCA9IFR5cGVXaXRoSUQ+KFxuICBhcmdzOiBGaW5kR2xvYmFsVmVyc2lvbnNBcmdzLFxuKSA9PiBQcm9taXNlPFBhZ2luYXRlZERvY3M8VHlwZVdpdGhWZXJzaW9uPFQ+Pj5cblxuZXhwb3J0IHR5cGUgRGVsZXRlVmVyc2lvbnNBcmdzID0ge1xuICBjb2xsZWN0aW9uOiBzdHJpbmdcbiAgbG9jYWxlPzogc3RyaW5nXG4gIHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgc29ydD86IHtcbiAgICBba2V5OiBzdHJpbmddOiBzdHJpbmdcbiAgfVxuICB3aGVyZTogV2hlcmVcbn1cblxuZXhwb3J0IHR5cGUgQ3JlYXRlVmVyc2lvbkFyZ3M8VCA9IFR5cGVXaXRoSUQ+ID0ge1xuICBhdXRvc2F2ZTogYm9vbGVhblxuICBjb2xsZWN0aW9uU2x1Zzogc3RyaW5nXG4gIGNyZWF0ZWRBdDogc3RyaW5nXG4gIC8qKiBJRCBvZiB0aGUgcGFyZW50IGRvY3VtZW50IGZvciB3aGljaCB0aGUgdmVyc2lvbiBzaG91bGQgYmUgY3JlYXRlZCBmb3IgKi9cbiAgcGFyZW50OiBudW1iZXIgfCBzdHJpbmdcbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICB1cGRhdGVkQXQ6IHN0cmluZ1xuICB2ZXJzaW9uRGF0YTogVFxufVxuXG5leHBvcnQgdHlwZSBDcmVhdGVWZXJzaW9uID0gPFQgZXh0ZW5kcyBUeXBlV2l0aElEID0gVHlwZVdpdGhJRD4oXG4gIGFyZ3M6IENyZWF0ZVZlcnNpb25BcmdzPFQ+LFxuKSA9PiBQcm9taXNlPFR5cGVXaXRoVmVyc2lvbjxUPj5cblxuZXhwb3J0IHR5cGUgQ3JlYXRlR2xvYmFsVmVyc2lvbkFyZ3M8VCA9IFR5cGVXaXRoSUQ+ID0ge1xuICBhdXRvc2F2ZTogYm9vbGVhblxuICBjcmVhdGVkQXQ6IHN0cmluZ1xuICBnbG9iYWxTbHVnOiBzdHJpbmdcbiAgLyoqIElEIG9mIHRoZSBwYXJlbnQgZG9jdW1lbnQgZm9yIHdoaWNoIHRoZSB2ZXJzaW9uIHNob3VsZCBiZSBjcmVhdGVkIGZvciAqL1xuICBwYXJlbnQ6IG51bWJlciB8IHN0cmluZ1xuICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gIHVwZGF0ZWRBdDogc3RyaW5nXG4gIHZlcnNpb25EYXRhOiBUXG59XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUdsb2JhbFZlcnNpb24gPSA8VCBleHRlbmRzIFR5cGVXaXRoSUQgPSBUeXBlV2l0aElEPihcbiAgYXJnczogQ3JlYXRlR2xvYmFsVmVyc2lvbkFyZ3M8VD4sXG4pID0+IFByb21pc2U8VHlwZVdpdGhWZXJzaW9uPFQ+PlxuXG5leHBvcnQgdHlwZSBEZWxldGVWZXJzaW9ucyA9IChhcmdzOiBEZWxldGVWZXJzaW9uc0FyZ3MpID0+IFByb21pc2U8dm9pZD5cblxuZXhwb3J0IHR5cGUgVXBkYXRlVmVyc2lvbkFyZ3M8VCA9IFR5cGVXaXRoSUQ+ID0ge1xuICBjb2xsZWN0aW9uOiBzdHJpbmdcbiAgbG9jYWxlPzogc3RyaW5nXG4gIHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgdmVyc2lvbkRhdGE6IFRcbn0gJiAoXG4gIHwge1xuICAgICAgaWQ6IG51bWJlciB8IHN0cmluZ1xuICAgICAgd2hlcmU/OiBuZXZlclxuICAgIH1cbiAgfCB7XG4gICAgICBpZD86IG5ldmVyXG4gICAgICB3aGVyZTogV2hlcmVcbiAgICB9XG4pXG5cbmV4cG9ydCB0eXBlIFVwZGF0ZVZlcnNpb24gPSA8VCBleHRlbmRzIFR5cGVXaXRoSUQgPSBUeXBlV2l0aElEPihcbiAgYXJnczogVXBkYXRlVmVyc2lvbkFyZ3M8VD4sXG4pID0+IFByb21pc2U8VHlwZVdpdGhWZXJzaW9uPFQ+PlxuXG5leHBvcnQgdHlwZSBDcmVhdGVBcmdzID0ge1xuICBjb2xsZWN0aW9uOiBzdHJpbmdcbiAgZGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgZHJhZnQ/OiBib29sZWFuXG4gIGxvY2FsZT86IHN0cmluZ1xuICByZXE6IFBheWxvYWRSZXF1ZXN0XG59XG5cbmV4cG9ydCB0eXBlIENyZWF0ZSA9IChhcmdzOiBDcmVhdGVBcmdzKSA9PiBQcm9taXNlPERvY3VtZW50PlxuXG5leHBvcnQgdHlwZSBVcGRhdGVPbmVBcmdzID0ge1xuICBjb2xsZWN0aW9uOiBzdHJpbmdcbiAgZGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgZHJhZnQ/OiBib29sZWFuXG4gIGxvY2FsZT86IHN0cmluZ1xuICByZXE6IFBheWxvYWRSZXF1ZXN0XG59ICYgKFxuICB8IHtcbiAgICAgIGlkOiBudW1iZXIgfCBzdHJpbmdcbiAgICAgIHdoZXJlPzogbmV2ZXJcbiAgICB9XG4gIHwge1xuICAgICAgaWQ/OiBuZXZlclxuICAgICAgd2hlcmU6IFdoZXJlXG4gICAgfVxuKVxuXG5leHBvcnQgdHlwZSBVcGRhdGVPbmUgPSAoYXJnczogVXBkYXRlT25lQXJncykgPT4gUHJvbWlzZTxEb2N1bWVudD5cblxuZXhwb3J0IHR5cGUgRGVsZXRlT25lQXJncyA9IHtcbiAgY29sbGVjdGlvbjogc3RyaW5nXG4gIHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgd2hlcmU6IFdoZXJlXG59XG5cbmV4cG9ydCB0eXBlIERlbGV0ZU9uZSA9IChhcmdzOiBEZWxldGVPbmVBcmdzKSA9PiBQcm9taXNlPERvY3VtZW50PlxuXG5leHBvcnQgdHlwZSBEZWxldGVNYW55QXJncyA9IHtcbiAgY29sbGVjdGlvbjogc3RyaW5nXG4gIHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgd2hlcmU6IFdoZXJlXG59XG5cbmV4cG9ydCB0eXBlIERlbGV0ZU1hbnkgPSAoYXJnczogRGVsZXRlTWFueUFyZ3MpID0+IFByb21pc2U8dm9pZD5cblxuZXhwb3J0IHR5cGUgTWlncmF0aW9uID0gTWlncmF0aW9uRGF0YSAmIHtcbiAgZG93bjogKHsgcGF5bG9hZCwgcmVxIH06IHsgcGF5bG9hZDogUGF5bG9hZDsgcmVxOiBQYXlsb2FkUmVxdWVzdCB9KSA9PiBQcm9taXNlPGJvb2xlYW4+XG4gIHVwOiAoeyBwYXlsb2FkLCByZXEgfTogeyBwYXlsb2FkOiBQYXlsb2FkOyByZXE6IFBheWxvYWRSZXF1ZXN0IH0pID0+IFByb21pc2U8Ym9vbGVhbj5cbn1cblxuZXhwb3J0IHR5cGUgTWlncmF0aW9uRGF0YSA9IHtcbiAgYmF0Y2g/OiBudW1iZXJcbiAgaWQ/OiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIFBhZ2luYXRlZERvY3M8VCA9IGFueT4gPSB7XG4gIGRvY3M6IFRbXVxuICBoYXNOZXh0UGFnZTogYm9vbGVhblxuICBoYXNQcmV2UGFnZTogYm9vbGVhblxuICBsaW1pdDogbnVtYmVyXG4gIG5leHRQYWdlPzogbnVsbCB8IG51bWJlciB8IHVuZGVmaW5lZFxuICBwYWdlPzogbnVtYmVyXG4gIHBhZ2luZ0NvdW50ZXI6IG51bWJlclxuICBwcmV2UGFnZT86IG51bGwgfCBudW1iZXIgfCB1bmRlZmluZWRcbiAgdG90YWxEb2NzOiBudW1iZXJcbiAgdG90YWxQYWdlczogbnVtYmVyXG59XG5cbmV4cG9ydCB0eXBlIERhdGFiYXNlQWRhcHRlclJlc3VsdDxUID0gQmFzZURhdGFiYXNlQWRhcHRlcj4gPSB7XG4gIGRlZmF1bHRJRFR5cGU6ICdudW1iZXInIHwgJ3RleHQnXG4gIGluaXQ6IChhcmdzOiB7IHBheWxvYWQ6IFBheWxvYWQgfSkgPT4gVFxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlaQSxXQUdDIn0=
|
|
3
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/database/types.ts"],"sourcesContent":["import type { TypeWithID } from '../collections/config/types.js'\nimport type { TypeWithID as GlobalsTypeWithID } from '../globals/config/types.js'\nimport type { Document, Payload, PayloadRequest, Where } from '../types/index.js'\nimport type { TypeWithVersion } from '../versions/types.js'\n\nexport type { TypeWithVersion }\n\nexport interface BaseDatabaseAdapter {\n /**\n * Start a transaction, requiring commitTransaction() to be called for any changes to be made.\n * @returns an identifier for the transaction or null if one cannot be established\n */\n beginTransaction?: BeginTransaction\n /**\n * Persist the changes made since the start of the transaction.\n */\n commitTransaction?: CommitTransaction\n\n /**\n * Open the connection to the database\n */\n connect?: Connect\n\n create: Create\n\n createGlobal: CreateGlobal\n\n createGlobalVersion: CreateGlobalVersion\n /**\n * Output a migration file\n */\n createMigration: CreateMigration\n\n createVersion: CreateVersion\n\n /**\n * Specify if the ID is a text or number field by default within this database adapter.\n */\n defaultIDType: 'number' | 'text'\n\n deleteMany: DeleteMany\n\n deleteOne: DeleteOne\n\n deleteVersions: DeleteVersions\n\n /**\n * Terminate the connection with the database\n */\n destroy?: Destroy\n\n find: <T = TypeWithID>(args: FindArgs) => Promise<PaginatedDocs<T>>\n\n findGlobal: FindGlobal\n\n findGlobalVersions: FindGlobalVersions\n\n findOne: FindOne\n\n findVersions: FindVersions\n\n /**\n * Perform startup tasks required to interact with the database such as building Schema and models\n */\n init?: Init\n\n /**\n * Run any migration up functions that have not yet been performed and update the status\n */\n migrate: () => Promise<void>\n\n /**\n * Run any migration down functions that have been performed\n */\n migrateDown: () => Promise<void>\n\n /**\n * Drop the current database and run all migrate up functions\n */\n migrateFresh: (args: { forceAcceptWarning?: boolean }) => Promise<void>\n /**\n * Run all migration down functions before running up\n */\n migrateRefresh: () => Promise<void>\n\n /**\n * Run all migrate down functions\n */\n migrateReset: () => Promise<void>\n /**\n * Read the current state of migrations and output the result to show which have been run\n */\n migrateStatus: () => Promise<void>\n /**\n * Path to read and write migration files from\n */\n migrationDir: string\n /**\n * The name of the database adapter\n */\n name: string\n /**\n * reference to the instance of payload\n */\n payload: Payload\n\n queryDrafts: QueryDrafts\n /**\n * Abort any changes since the start of the transaction.\n */\n rollbackTransaction?: RollbackTransaction\n /**\n * A key-value store of all sessions open (used for transactions)\n */\n sessions?: {\n [id: string]: {\n db: unknown\n reject: () => Promise<void>\n resolve: () => Promise<void>\n }\n }\n\n updateGlobal: UpdateGlobal\n\n updateGlobalVersion: UpdateGlobalVersion\n\n updateOne: UpdateOne\n\n updateVersion: UpdateVersion\n}\n\nexport type Init = (payload: Payload) => Promise<void> | void\n\ntype ConnectArgs = {\n hotReload: boolean\n}\n\nexport type Connect = (args?: ConnectArgs) => Promise<void>\n\nexport type Destroy = (payload: Payload) => Promise<void>\n\nexport type CreateMigration = (args: {\n file?: string\n /**\n * Skips the prompt asking to create empty migrations\n */\n forceAcceptWarning?: boolean\n migrationName?: string\n payload: Payload\n}) => Promise<void>\n\nexport type Transaction = (\n callback: () => Promise<void>,\n options?: Record<string, unknown>,\n) => Promise<void>\n\nexport type BeginTransaction = (\n options?: Record<string, unknown>,\n) => Promise<null | number | string>\n\nexport type RollbackTransaction = (id: number | string) => Promise<void>\n\nexport type CommitTransaction = (id: number | string) => Promise<void>\n\nexport type QueryDraftsArgs = {\n collection: string\n limit?: number\n locale?: string\n page?: number\n pagination?: boolean\n req: PayloadRequest\n sort?: string\n where?: Where\n}\n\nexport type QueryDrafts = <T = TypeWithID>(args: QueryDraftsArgs) => Promise<PaginatedDocs<T>>\n\nexport type FindOneArgs = {\n collection: string\n locale?: string\n req: PayloadRequest\n where?: Where\n}\n\nexport type FindOne = <T extends TypeWithID>(args: FindOneArgs) => Promise<T | null>\n\nexport type FindArgs = {\n collection: string\n /** Setting limit to 1 is equal to the previous Model.findOne(). Setting limit to 0 disables the limit */\n limit?: number\n locale?: string\n page?: number\n pagination?: boolean\n req: PayloadRequest\n skip?: number\n sort?: string\n versions?: boolean\n where?: Where\n}\n\nexport type Find = <T = TypeWithID>(args: FindArgs) => Promise<PaginatedDocs<T>>\n\ntype BaseVersionArgs = {\n limit?: number\n locale?: string\n page?: number\n pagination?: boolean\n req: PayloadRequest\n skip?: number\n sort?: string\n versions?: boolean\n where?: Where\n}\n\nexport type FindVersionsArgs = BaseVersionArgs & {\n collection: string\n}\n\nexport type FindVersions = <T = TypeWithID>(\n args: FindVersionsArgs,\n) => Promise<PaginatedDocs<TypeWithVersion<T>>>\n\nexport type FindGlobalVersionsArgs = BaseVersionArgs & {\n global: string\n}\n\nexport type FindGlobalArgs = {\n locale?: string\n req: PayloadRequest\n slug: string\n where?: Where\n}\n\nexport type UpdateGlobalVersionArgs<T = TypeWithID> = {\n global: string\n locale?: string\n req: PayloadRequest\n versionData: T\n} & (\n | {\n id: number | string\n where?: never\n }\n | {\n id?: never\n where: Where\n }\n)\n\nexport type UpdateGlobalVersion = <T extends TypeWithID = TypeWithID>(\n args: UpdateGlobalVersionArgs<T>,\n) => Promise<TypeWithVersion<T>>\n\nexport type FindGlobal = <T extends GlobalsTypeWithID = any>(args: FindGlobalArgs) => Promise<T>\n\nexport type CreateGlobalArgs<T extends GlobalsTypeWithID = any> = {\n data: T\n req: PayloadRequest\n slug: string\n}\nexport type CreateGlobal = <T extends GlobalsTypeWithID = any>(\n args: CreateGlobalArgs<T>,\n) => Promise<T>\n\nexport type UpdateGlobalArgs<T extends GlobalsTypeWithID = any> = {\n data: T\n req: PayloadRequest\n slug: string\n}\nexport type UpdateGlobal = <T extends GlobalsTypeWithID = any>(\n args: UpdateGlobalArgs<T>,\n) => Promise<T>\n// export type UpdateOne = (args: UpdateOneArgs) => Promise<Document>\n\nexport type FindGlobalVersions = <T = TypeWithID>(\n args: FindGlobalVersionsArgs,\n) => Promise<PaginatedDocs<TypeWithVersion<T>>>\n\nexport type DeleteVersionsArgs = {\n collection: string\n locale?: string\n req: PayloadRequest\n sort?: {\n [key: string]: string\n }\n where: Where\n}\n\nexport type CreateVersionArgs<T = TypeWithID> = {\n autosave: boolean\n collectionSlug: string\n createdAt: string\n /** ID of the parent document for which the version should be created for */\n parent: number | string\n req: PayloadRequest\n updatedAt: string\n versionData: T\n}\n\nexport type CreateVersion = <T extends TypeWithID = TypeWithID>(\n args: CreateVersionArgs<T>,\n) => Promise<TypeWithVersion<T>>\n\nexport type CreateGlobalVersionArgs<T = TypeWithID> = {\n autosave: boolean\n createdAt: string\n globalSlug: string\n /** ID of the parent document for which the version should be created for */\n parent: number | string\n req: PayloadRequest\n updatedAt: string\n versionData: T\n}\n\nexport type CreateGlobalVersion = <T extends TypeWithID = TypeWithID>(\n args: CreateGlobalVersionArgs<T>,\n) => Promise<TypeWithVersion<T>>\n\nexport type DeleteVersions = (args: DeleteVersionsArgs) => Promise<void>\n\nexport type UpdateVersionArgs<T = TypeWithID> = {\n collection: string\n locale?: string\n req: PayloadRequest\n versionData: T\n} & (\n | {\n id: number | string\n where?: never\n }\n | {\n id?: never\n where: Where\n }\n)\n\nexport type UpdateVersion = <T extends TypeWithID = TypeWithID>(\n args: UpdateVersionArgs<T>,\n) => Promise<TypeWithVersion<T>>\n\nexport type CreateArgs = {\n collection: string\n data: Record<string, unknown>\n draft?: boolean\n locale?: string\n req: PayloadRequest\n}\n\nexport type Create = (args: CreateArgs) => Promise<Document>\n\nexport type UpdateOneArgs = {\n collection: string\n data: Record<string, unknown>\n draft?: boolean\n locale?: string\n req: PayloadRequest\n} & (\n | {\n id: number | string\n where?: never\n }\n | {\n id?: never\n where: Where\n }\n)\n\nexport type UpdateOne = (args: UpdateOneArgs) => Promise<Document>\n\nexport type DeleteOneArgs = {\n collection: string\n req: PayloadRequest\n where: Where\n}\n\nexport type DeleteOne = (args: DeleteOneArgs) => Promise<Document>\n\nexport type DeleteManyArgs = {\n collection: string\n req: PayloadRequest\n where: Where\n}\n\nexport type DeleteMany = (args: DeleteManyArgs) => Promise<void>\n\nexport type Migration = MigrationData & {\n down: ({ payload, req }: { payload: Payload; req: PayloadRequest }) => Promise<boolean>\n up: ({ payload, req }: { payload: Payload; req: PayloadRequest }) => Promise<boolean>\n}\n\nexport type MigrationData = {\n batch?: number\n id?: string\n name: string\n}\n\nexport type PaginatedDocs<T = any> = {\n docs: T[]\n hasNextPage: boolean\n hasPrevPage: boolean\n limit: number\n nextPage?: null | number | undefined\n page?: number\n pagingCounter: number\n prevPage?: null | number | undefined\n totalDocs: number\n totalPages: number\n}\n\nexport type DatabaseAdapterResult<T = BaseDatabaseAdapter> = {\n defaultIDType: 'number' | 'text'\n init: (args: { payload: Payload }) => T\n}\n"],"names":[],"mappings":"AAyZA,WAGC"}
|
package/dist/email/build.js
CHANGED
|
@@ -60,4 +60,4 @@ export default async function buildEmail(emailConfig, logger) {
|
|
|
60
60
|
return handleMockAccount(emailConfig, logger);
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
//# sourceMappingURL=
|
|
63
|
+
//# sourceMappingURL=build.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/email/build.ts"],"sourcesContent":["import type { Transporter } from 'nodemailer'\nimport type { Logger } from 'pino'\n\nimport nodemailer from 'nodemailer'\n\nimport type { EmailOptions, EmailTransport } from '../config/types.js'\nimport type { BuildEmailResult, MockEmailHandler } from './types.js'\n\nimport { hasTransport, hasTransportOptions } from '../config/types.js'\nimport { InvalidConfiguration } from '../errors/index.js'\nimport mockHandler from './mockHandler.js'\n\nasync function handleTransport(\n transport: Transporter,\n email: EmailTransport,\n logger: Logger,\n): BuildEmailResult {\n try {\n await transport.verify()\n } catch (err) {\n logger.error(`There is an error with the email configuration you have provided. ${err}`)\n }\n\n return { ...email, transport }\n}\n\nconst ensureConfigHasFrom = (emailConfig: EmailOptions) => {\n if (!emailConfig?.fromName || !emailConfig?.fromAddress) {\n throw new InvalidConfiguration(\n 'Email fromName and fromAddress must be configured when transport is configured',\n )\n }\n}\n\nconst handleMockAccount = async (emailConfig: EmailOptions, logger: Logger) => {\n let mockAccount: MockEmailHandler\n try {\n mockAccount = await mockHandler(emailConfig)\n const {\n account: { pass, user, web },\n } = mockAccount\n if (emailConfig?.logMockCredentials) {\n logger.info('E-mail configured with mock configuration')\n logger.info(`Log into mock email provider at ${web}`)\n logger.info(`Mock email account username: ${user}`)\n logger.info(`Mock email account password: ${pass}`)\n }\n } catch (err) {\n logger.error({ err, msg: 'There was a problem setting up the mock email handler' })\n }\n return mockAccount\n}\n\nexport default async function buildEmail(\n emailConfig: EmailOptions | undefined,\n logger: Logger,\n): BuildEmailResult {\n if (!emailConfig) {\n return handleMockAccount(emailConfig, logger)\n }\n\n if (hasTransport(emailConfig) && emailConfig.transport) {\n ensureConfigHasFrom(emailConfig)\n const email = { ...emailConfig }\n const { transport }: { transport: Transporter } = emailConfig\n return handleTransport(transport, email, logger)\n }\n\n if (hasTransportOptions(emailConfig) && emailConfig.transportOptions) {\n ensureConfigHasFrom(emailConfig)\n const email = { ...emailConfig } as EmailTransport\n const transport = nodemailer.createTransport(emailConfig.transportOptions)\n return handleTransport(transport, email, logger)\n }\n\n return handleMockAccount(emailConfig, logger)\n}\n"],"names":["nodemailer","hasTransport","hasTransportOptions","InvalidConfiguration","mockHandler","handleTransport","transport","email","logger","verify","err","error","ensureConfigHasFrom","emailConfig","fromName","fromAddress","handleMockAccount","mockAccount","account","pass","user","web","logMockCredentials","info","msg","buildEmail","transportOptions","createTransport"],"mappings":"AAGA,OAAOA,gBAAgB,aAAY;AAKnC,SAASC,YAAY,EAAEC,mBAAmB,QAAQ,qBAAoB;AACtE,SAASC,oBAAoB,QAAQ,qBAAoB;AACzD,OAAOC,iBAAiB,mBAAkB;AAE1C,eAAeC,gBACbC,SAAsB,EACtBC,KAAqB,EACrBC,MAAc;IAEd,IAAI;QACF,MAAMF,UAAUG,MAAM;IACxB,EAAE,OAAOC,KAAK;QACZF,OAAOG,KAAK,CAAC,CAAC,kEAAkE,EAAED,IAAI,CAAC;IACzF;IAEA,OAAO;QAAE,GAAGH,KAAK;QAAED;IAAU;AAC/B;AAEA,MAAMM,sBAAsB,CAACC;IAC3B,IAAI,CAACA,aAAaC,YAAY,CAACD,aAAaE,aAAa;QACvD,MAAM,IAAIZ,qBACR;IAEJ;AACF;AAEA,MAAMa,oBAAoB,OAAOH,aAA2BL;IAC1D,IAAIS;IACJ,IAAI;QACFA,cAAc,MAAMb,YAAYS;QAChC,MAAM,EACJK,SAAS,EAAEC,IAAI,EAAEC,IAAI,EAAEC,GAAG,EAAE,EAC7B,GAAGJ;QACJ,IAAIJ,aAAaS,oBAAoB;YACnCd,OAAOe,IAAI,CAAC;YACZf,OAAOe,IAAI,CAAC,CAAC,gCAAgC,EAAEF,IAAI,CAAC;YACpDb,OAAOe,IAAI,CAAC,CAAC,6BAA6B,EAAEH,KAAK,CAAC;YAClDZ,OAAOe,IAAI,CAAC,CAAC,6BAA6B,EAAEJ,KAAK,CAAC;QACpD;IACF,EAAE,OAAOT,KAAK;QACZF,OAAOG,KAAK,CAAC;YAAED;YAAKc,KAAK;QAAwD;IACnF;IACA,OAAOP;AACT;AAEA,eAAe,eAAeQ,WAC5BZ,WAAqC,EACrCL,MAAc;IAEd,IAAI,CAACK,aAAa;QAChB,OAAOG,kBAAkBH,aAAaL;IACxC;IAEA,IAAIP,aAAaY,gBAAgBA,YAAYP,SAAS,EAAE;QACtDM,oBAAoBC;QACpB,MAAMN,QAAQ;YAAE,GAAGM,WAAW;QAAC;QAC/B,MAAM,EAAEP,SAAS,EAAE,GAA+BO;QAClD,OAAOR,gBAAgBC,WAAWC,OAAOC;IAC3C;IAEA,IAAIN,oBAAoBW,gBAAgBA,YAAYa,gBAAgB,EAAE;QACpEd,oBAAoBC;QACpB,MAAMN,QAAQ;YAAE,GAAGM,WAAW;QAAC;QAC/B,MAAMP,YAAYN,WAAW2B,eAAe,CAACd,YAAYa,gBAAgB;QACzE,OAAOrB,gBAAgBC,WAAWC,OAAOC;IAC3C;IAEA,OAAOQ,kBAAkBH,aAAaL;AACxC"}
|
package/dist/email/defaults.js
CHANGED
|
@@ -3,4 +3,4 @@ export const defaults = {
|
|
|
3
3
|
fromName: 'Payload'
|
|
4
4
|
};
|
|
5
5
|
|
|
6
|
-
//# sourceMappingURL=
|
|
6
|
+
//# sourceMappingURL=defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/email/defaults.ts"],"sourcesContent":["import type { EmailOptions } from '../config/types.js'\n\nexport const defaults: EmailOptions = {\n fromAddress: 'info@payloadcms.com',\n fromName: 'Payload',\n}\n"],"names":["defaults","fromAddress","fromName"],"mappings":"AAEA,OAAO,MAAMA,WAAyB;IACpCC,aAAa;IACbC,UAAU;AACZ,EAAC"}
|
|
@@ -21,4 +21,4 @@ const mockEmailHandler = async (emailConfig)=>{
|
|
|
21
21
|
};
|
|
22
22
|
export default mockEmailHandler;
|
|
23
23
|
|
|
24
|
-
//# sourceMappingURL=
|
|
24
|
+
//# sourceMappingURL=mockHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/email/mockHandler.ts"],"sourcesContent":["import nodemailer from 'nodemailer'\n\nimport type { EmailOptions } from '../config/types.js'\nimport type { MockEmailHandler } from './types.js'\n\nimport { defaults as emailDefaults } from './defaults.js'\n\nconst mockEmailHandler = async (emailConfig: EmailOptions): Promise<MockEmailHandler> => {\n const testAccount = await nodemailer.createTestAccount()\n\n const smtpOptions = {\n ...emailConfig,\n auth: {\n pass: testAccount.pass,\n user: testAccount.user,\n },\n fromAddress: emailConfig?.fromAddress || emailDefaults.fromAddress,\n fromName: emailConfig?.fromName || emailDefaults.fromName,\n host: 'smtp.ethereal.email',\n port: 587,\n secure: false,\n }\n\n return {\n account: testAccount,\n transport: nodemailer.createTransport(smtpOptions),\n }\n}\n\nexport default mockEmailHandler\n"],"names":["nodemailer","defaults","emailDefaults","mockEmailHandler","emailConfig","testAccount","createTestAccount","smtpOptions","auth","pass","user","fromAddress","fromName","host","port","secure","account","transport","createTransport"],"mappings":"AAAA,OAAOA,gBAAgB,aAAY;AAKnC,SAASC,YAAYC,aAAa,QAAQ,gBAAe;AAEzD,MAAMC,mBAAmB,OAAOC;IAC9B,MAAMC,cAAc,MAAML,WAAWM,iBAAiB;IAEtD,MAAMC,cAAc;QAClB,GAAGH,WAAW;QACdI,MAAM;YACJC,MAAMJ,YAAYI,IAAI;YACtBC,MAAML,YAAYK,IAAI;QACxB;QACAC,aAAaP,aAAaO,eAAeT,cAAcS,WAAW;QAClEC,UAAUR,aAAaQ,YAAYV,cAAcU,QAAQ;QACzDC,MAAM;QACNC,MAAM;QACNC,QAAQ;IACV;IAEA,OAAO;QACLC,SAASX;QACTY,WAAWjB,WAAWkB,eAAe,CAACX;IACxC;AACF;AAEA,eAAeJ,iBAAgB"}
|
package/dist/email/sendEmail.js
CHANGED
|
@@ -10,4 +10,4 @@ export default async function sendEmail(message) {
|
|
|
10
10
|
return result;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
//# sourceMappingURL=
|
|
13
|
+
//# sourceMappingURL=sendEmail.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/email/sendEmail.ts"],"sourcesContent":["import type { SendMailOptions } from 'nodemailer'\n\nexport default async function sendEmail(message: SendMailOptions): Promise<unknown> {\n let result\n\n try {\n const email = await this.email\n result = await email.transport.sendMail(message)\n } catch (err) {\n this.logger.error(err, `Failed to send mail to ${message.to}, subject: ${message.subject}`)\n return err\n }\n\n return result\n}\n"],"names":["sendEmail","message","result","email","transport","sendMail","err","logger","error","to","subject"],"mappings":"AAEA,eAAe,eAAeA,UAAUC,OAAwB;IAC9D,IAAIC;IAEJ,IAAI;QACF,MAAMC,QAAQ,MAAM,IAAI,CAACA,KAAK;QAC9BD,SAAS,MAAMC,MAAMC,SAAS,CAACC,QAAQ,CAACJ;IAC1C,EAAE,OAAOK,KAAK;QACZ,IAAI,CAACC,MAAM,CAACC,KAAK,CAACF,KAAK,CAAC,uBAAuB,EAAEL,QAAQQ,EAAE,CAAC,WAAW,EAAER,QAAQS,OAAO,CAAC,CAAC;QAC1F,OAAOJ;IACT;IAEA,OAAOJ;AACT"}
|
package/dist/email/types.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { };
|
|
2
2
|
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/email/types.ts"],"sourcesContent":["import type { TestAccount, Transporter } from 'nodemailer'\nimport type Mail from 'nodemailer/lib/mailer'\nimport type SMTPConnection from 'nodemailer/lib/smtp-connection'\n\nexport type Message = {\n from: string\n html: string\n subject: string\n to: string\n}\n\nexport type MockEmailHandler = { account: TestAccount; transport: Transporter }\nexport type BuildEmailResult = Promise<\n | {\n fromAddress: string\n fromName: string\n transport: Mail\n transportOptions?: SMTPConnection.Options\n }\n | MockEmailHandler\n>\n"],"names":[],"mappings":"AAYA,WAQC"}
|
package/dist/errors/APIError.js
CHANGED
|
@@ -32,4 +32,4 @@ class ExtendableError extends Error {
|
|
|
32
32
|
}
|
|
33
33
|
export default APIError;
|
|
34
34
|
|
|
35
|
-
//# sourceMappingURL=
|
|
35
|
+
//# sourceMappingURL=APIError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/errors/APIError.ts"],"sourcesContent":["/* eslint-disable max-classes-per-file */\nimport httpStatus from 'http-status'\n\nclass ExtendableError<TData extends object = { [key: string]: unknown }> extends Error {\n data: TData\n\n isOperational: boolean\n\n isPublic: boolean\n\n status: number\n\n constructor(message: string, status: number, data: TData, isPublic: boolean) {\n super(message)\n this.name = this.constructor.name\n this.message = message\n this.status = status\n this.data = data\n this.isPublic = isPublic\n this.isOperational = true // This is required since bluebird 4 doesn't append it anymore.\n Error.captureStackTrace(this, this.constructor)\n }\n}\n\n/**\n * Class representing an API error.\n * @extends ExtendableError\n */\nclass APIError<\n TData extends null | object = { [key: string]: unknown } | null,\n> extends ExtendableError<TData> {\n /**\n * Creates an API error.\n * @param {string} message - Error message.\n * @param {number} status - HTTP status code of error.\n * @param {object} data - response data to be returned.\n * @param {boolean} isPublic - Whether the message should be visible to user or not.\n */\n constructor(\n message: string,\n status: number = httpStatus.INTERNAL_SERVER_ERROR,\n data: TData = null,\n isPublic = false,\n ) {\n super(message, status, data, isPublic)\n }\n}\n\nexport default APIError\n"],"names":["httpStatus","ExtendableError","Error","data","isOperational","isPublic","status","constructor","message","name","captureStackTrace","APIError","INTERNAL_SERVER_ERROR"],"mappings":"AAAA,uCAAuC,GACvC,OAAOA,gBAAgB,cAAa;AAEpC,MAAMC,wBAA2EC;IAC/EC,KAAW;IAEXC,cAAsB;IAEtBC,SAAiB;IAEjBC,OAAc;IAEdC,YAAYC,OAAe,EAAEF,MAAc,EAAEH,IAAW,EAAEE,QAAiB,CAAE;QAC3E,KAAK,CAACG;QACN,IAAI,CAACC,IAAI,GAAG,IAAI,CAACF,WAAW,CAACE,IAAI;QACjC,IAAI,CAACD,OAAO,GAAGA;QACf,IAAI,CAACF,MAAM,GAAGA;QACd,IAAI,CAACH,IAAI,GAAGA;QACZ,IAAI,CAACE,QAAQ,GAAGA;QAChB,IAAI,CAACD,aAAa,GAAG,KAAK,+DAA+D;;QACzFF,MAAMQ,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAACH,WAAW;IAChD;AACF;AAEA;;;CAGC,GACD,MAAMI,iBAEIV;IACR;;;;;;GAMC,GACDM,YACEC,OAAe,EACfF,SAAiBN,WAAWY,qBAAqB,EACjDT,OAAc,IAAI,EAClBE,WAAW,KAAK,CAChB;QACA,KAAK,CAACG,SAASF,QAAQH,MAAME;IAC/B;AACF;AAEA,eAAeM,SAAQ"}
|
|
@@ -8,4 +8,4 @@ class AuthenticationError extends APIError {
|
|
|
8
8
|
}
|
|
9
9
|
export default AuthenticationError;
|
|
10
10
|
|
|
11
|
-
//# sourceMappingURL=
|
|
11
|
+
//# sourceMappingURL=AuthenticationError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/errors/AuthenticationError.ts"],"sourcesContent":["import type { TFunction } from '@payloadcms/translations'\n\nimport { translations } from '@payloadcms/translations/api'\nimport httpStatus from 'http-status'\n\nimport APIError from './APIError.js'\n\nclass AuthenticationError extends APIError {\n constructor(t?: TFunction) {\n super(\n t ? t('error:emailOrPasswordIncorrect') : translations.en.error.emailOrPasswordIncorrect,\n httpStatus.UNAUTHORIZED,\n )\n }\n}\n\nexport default AuthenticationError\n"],"names":["translations","httpStatus","APIError","AuthenticationError","constructor","t","en","error","emailOrPasswordIncorrect","UNAUTHORIZED"],"mappings":"AAEA,SAASA,YAAY,QAAQ,+BAA8B;AAC3D,OAAOC,gBAAgB,cAAa;AAEpC,OAAOC,cAAc,gBAAe;AAEpC,MAAMC,4BAA4BD;IAChCE,YAAYC,CAAa,CAAE;QACzB,KAAK,CACHA,IAAIA,EAAE,oCAAoCL,aAAaM,EAAE,CAACC,KAAK,CAACC,wBAAwB,EACxFP,WAAWQ,YAAY;IAE3B;AACF;AAEA,eAAeN,oBAAmB"}
|
|
@@ -6,4 +6,4 @@ class DuplicateCollection extends APIError {
|
|
|
6
6
|
}
|
|
7
7
|
export default DuplicateCollection;
|
|
8
8
|
|
|
9
|
-
//# sourceMappingURL=
|
|
9
|
+
//# sourceMappingURL=DuplicateCollection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/errors/DuplicateCollection.ts"],"sourcesContent":["import APIError from './APIError.js'\n\nclass DuplicateCollection extends APIError {\n constructor(propertyName: string, duplicates: string[]) {\n super(`Collection ${propertyName} already in use: \"${duplicates.join(', ')}\"`)\n }\n}\n\nexport default DuplicateCollection\n"],"names":["APIError","DuplicateCollection","constructor","propertyName","duplicates","join"],"mappings":"AAAA,OAAOA,cAAc,gBAAe;AAEpC,MAAMC,4BAA4BD;IAChCE,YAAYC,YAAoB,EAAEC,UAAoB,CAAE;QACtD,KAAK,CAAC,CAAC,WAAW,EAAED,aAAa,kBAAkB,EAAEC,WAAWC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/E;AACF;AAEA,eAAeJ,oBAAmB"}
|
|
@@ -6,4 +6,4 @@ class DuplicateFieldName extends APIError {
|
|
|
6
6
|
}
|
|
7
7
|
export default DuplicateFieldName;
|
|
8
8
|
|
|
9
|
-
//# sourceMappingURL=
|
|
9
|
+
//# sourceMappingURL=DuplicateFieldName.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/errors/DuplicateFieldName.ts"],"sourcesContent":["import APIError from './APIError.js'\n\nclass DuplicateFieldName extends APIError {\n constructor(fieldName: string) {\n super(\n `A field with the name '${fieldName}' was found multiple times on the same level. Field names must be unique.`,\n )\n }\n}\n\nexport default DuplicateFieldName\n"],"names":["APIError","DuplicateFieldName","constructor","fieldName"],"mappings":"AAAA,OAAOA,cAAc,gBAAe;AAEpC,MAAMC,2BAA2BD;IAC/BE,YAAYC,SAAiB,CAAE;QAC7B,KAAK,CACH,CAAC,uBAAuB,EAAEA,UAAU,yEAAyE,CAAC;IAElH;AACF;AAEA,eAAeF,mBAAkB"}
|
|
@@ -6,4 +6,4 @@ class DuplicateGlobal extends APIError {
|
|
|
6
6
|
}
|
|
7
7
|
export default DuplicateGlobal;
|
|
8
8
|
|
|
9
|
-
//# sourceMappingURL=
|
|
9
|
+
//# sourceMappingURL=DuplicateGlobal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/errors/DuplicateGlobal.ts"],"sourcesContent":["import type { GlobalConfig } from '../globals/config/types.js'\n\nimport APIError from './APIError.js'\n\nclass DuplicateGlobal extends APIError {\n constructor(config: GlobalConfig) {\n super(`Global label \"${config.label}\" is already in use`)\n }\n}\n\nexport default DuplicateGlobal\n"],"names":["APIError","DuplicateGlobal","constructor","config","label"],"mappings":"AAEA,OAAOA,cAAc,gBAAe;AAEpC,MAAMC,wBAAwBD;IAC5BE,YAAYC,MAAoB,CAAE;QAChC,KAAK,CAAC,CAAC,cAAc,EAAEA,OAAOC,KAAK,CAAC,mBAAmB,CAAC;IAC1D;AACF;AAEA,eAAeH,gBAAe"}
|
|
@@ -8,4 +8,4 @@ class ErrorDeletingFile extends APIError {
|
|
|
8
8
|
}
|
|
9
9
|
export default ErrorDeletingFile;
|
|
10
10
|
|
|
11
|
-
//# sourceMappingURL=
|
|
11
|
+
//# sourceMappingURL=ErrorDeletingFile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/errors/ErrorDeletingFile.ts"],"sourcesContent":["import type { TFunction } from '@payloadcms/translations'\n\nimport { translations } from '@payloadcms/translations/api'\nimport httpStatus from 'http-status'\n\nimport APIError from './APIError.js'\n\nclass ErrorDeletingFile extends APIError {\n constructor(t?: TFunction) {\n super(\n t ? t('error:deletingFile') : translations.en.error.deletingFile,\n httpStatus.INTERNAL_SERVER_ERROR,\n )\n }\n}\n\nexport default ErrorDeletingFile\n"],"names":["translations","httpStatus","APIError","ErrorDeletingFile","constructor","t","en","error","deletingFile","INTERNAL_SERVER_ERROR"],"mappings":"AAEA,SAASA,YAAY,QAAQ,+BAA8B;AAC3D,OAAOC,gBAAgB,cAAa;AAEpC,OAAOC,cAAc,gBAAe;AAEpC,MAAMC,0BAA0BD;IAC9BE,YAAYC,CAAa,CAAE;QACzB,KAAK,CACHA,IAAIA,EAAE,wBAAwBL,aAAaM,EAAE,CAACC,KAAK,CAACC,YAAY,EAChEP,WAAWQ,qBAAqB;IAEpC;AACF;AAEA,eAAeN,kBAAiB"}
|
|
@@ -8,4 +8,4 @@ class FileUploadError extends APIError {
|
|
|
8
8
|
}
|
|
9
9
|
export default FileUploadError;
|
|
10
10
|
|
|
11
|
-
//# sourceMappingURL=
|
|
11
|
+
//# sourceMappingURL=FileUploadError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/errors/FileUploadError.ts"],"sourcesContent":["import type { TFunction } from '@payloadcms/translations'\n\nimport { translations } from '@payloadcms/translations/api'\nimport httpStatus from 'http-status'\n\nimport APIError from './APIError.js'\n\nclass FileUploadError extends APIError {\n constructor(t?: TFunction) {\n super(\n t ? t('error:problemUploadingFile') : translations.en.error.problemUploadingFile,\n httpStatus.BAD_REQUEST,\n )\n }\n}\n\nexport default FileUploadError\n"],"names":["translations","httpStatus","APIError","FileUploadError","constructor","t","en","error","problemUploadingFile","BAD_REQUEST"],"mappings":"AAEA,SAASA,YAAY,QAAQ,+BAA8B;AAC3D,OAAOC,gBAAgB,cAAa;AAEpC,OAAOC,cAAc,gBAAe;AAEpC,MAAMC,wBAAwBD;IAC5BE,YAAYC,CAAa,CAAE;QACzB,KAAK,CACHA,IAAIA,EAAE,gCAAgCL,aAAaM,EAAE,CAACC,KAAK,CAACC,oBAAoB,EAChFP,WAAWQ,WAAW;IAE1B;AACF;AAEA,eAAeN,gBAAe"}
|
package/dist/errors/Forbidden.js
CHANGED
|
@@ -8,4 +8,4 @@ class Forbidden extends APIError {
|
|
|
8
8
|
}
|
|
9
9
|
export default Forbidden;
|
|
10
10
|
|
|
11
|
-
//# sourceMappingURL=
|
|
11
|
+
//# sourceMappingURL=Forbidden.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/errors/Forbidden.ts"],"sourcesContent":["import type { TFunction } from '@payloadcms/translations'\n\nimport { translations } from '@payloadcms/translations/api'\nimport httpStatus from 'http-status'\n\nimport APIError from './APIError.js'\n\nclass Forbidden extends APIError {\n constructor(t?: TFunction) {\n super(\n t ? t('error:notAllowedToPerformAction') : translations.en.error.notAllowedToPerformAction,\n httpStatus.FORBIDDEN,\n )\n }\n}\n\nexport default Forbidden\n"],"names":["translations","httpStatus","APIError","Forbidden","constructor","t","en","error","notAllowedToPerformAction","FORBIDDEN"],"mappings":"AAEA,SAASA,YAAY,QAAQ,+BAA8B;AAC3D,OAAOC,gBAAgB,cAAa;AAEpC,OAAOC,cAAc,gBAAe;AAEpC,MAAMC,kBAAkBD;IACtBE,YAAYC,CAAa,CAAE;QACzB,KAAK,CACHA,IAAIA,EAAE,qCAAqCL,aAAaM,EAAE,CAACC,KAAK,CAACC,yBAAyB,EAC1FP,WAAWQ,SAAS;IAExB;AACF;AAEA,eAAeN,UAAS"}
|
|
@@ -7,4 +7,4 @@ class InvalidConfiguration extends APIError {
|
|
|
7
7
|
}
|
|
8
8
|
export default InvalidConfiguration;
|
|
9
9
|
|
|
10
|
-
//# sourceMappingURL=
|
|
10
|
+
//# sourceMappingURL=InvalidConfiguration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/errors/InvalidConfiguration.ts"],"sourcesContent":["import httpStatus from 'http-status'\n\nimport APIError from './APIError.js'\n\nclass InvalidConfiguration extends APIError {\n constructor(message: string) {\n super(message, httpStatus.INTERNAL_SERVER_ERROR)\n }\n}\n\nexport default InvalidConfiguration\n"],"names":["httpStatus","APIError","InvalidConfiguration","constructor","message","INTERNAL_SERVER_ERROR"],"mappings":"AAAA,OAAOA,gBAAgB,cAAa;AAEpC,OAAOC,cAAc,gBAAe;AAEpC,MAAMC,6BAA6BD;IACjCE,YAAYC,OAAe,CAAE;QAC3B,KAAK,CAACA,SAASJ,WAAWK,qBAAqB;IACjD;AACF;AAEA,eAAeH,qBAAoB"}
|
|
@@ -6,4 +6,4 @@ class InvalidFieldName extends APIError {
|
|
|
6
6
|
}
|
|
7
7
|
export default InvalidFieldName;
|
|
8
8
|
|
|
9
|
-
//# sourceMappingURL=
|
|
9
|
+
//# sourceMappingURL=InvalidFieldName.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/errors/InvalidFieldName.ts"],"sourcesContent":["import type { FieldAffectingData } from '../fields/config/types.js'\n\nimport APIError from './APIError.js'\n\nclass InvalidFieldName extends APIError {\n constructor(field: FieldAffectingData, fieldName: string) {\n super(\n `Field ${field.label} has invalid name '${fieldName}'. Field names can not include periods (.) and must be alphanumeric.`,\n )\n }\n}\n\nexport default InvalidFieldName\n"],"names":["APIError","InvalidFieldName","constructor","field","fieldName","label"],"mappings":"AAEA,OAAOA,cAAc,gBAAe;AAEpC,MAAMC,yBAAyBD;IAC7BE,YAAYC,KAAyB,EAAEC,SAAiB,CAAE;QACxD,KAAK,CACH,CAAC,MAAM,EAAED,MAAME,KAAK,CAAC,mBAAmB,EAAED,UAAU,oEAAoE,CAAC;IAE7H;AACF;AAEA,eAAeH,iBAAgB"}
|
|
@@ -6,4 +6,4 @@ class InvalidFieldRelationship extends APIError {
|
|
|
6
6
|
}
|
|
7
7
|
export default InvalidFieldRelationship;
|
|
8
8
|
|
|
9
|
-
//# sourceMappingURL=
|
|
9
|
+
//# sourceMappingURL=InvalidFieldRelationship.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/errors/InvalidFieldRelationship.ts"],"sourcesContent":["import type { RelationshipField, UploadField } from '../fields/config/types.js'\n\nimport APIError from './APIError.js'\n\nclass InvalidFieldRelationship extends APIError {\n constructor(field: RelationshipField | UploadField, relationship: string) {\n super(`Field ${field.label} has invalid relationship '${relationship}'.`)\n }\n}\n\nexport default InvalidFieldRelationship\n"],"names":["APIError","InvalidFieldRelationship","constructor","field","relationship","label"],"mappings":"AAEA,OAAOA,cAAc,gBAAe;AAEpC,MAAMC,iCAAiCD;IACrCE,YAAYC,KAAsC,EAAEC,YAAoB,CAAE;QACxE,KAAK,CAAC,CAAC,MAAM,EAAED,MAAME,KAAK,CAAC,2BAA2B,EAAED,aAAa,EAAE,CAAC;IAC1E;AACF;AAEA,eAAeH,yBAAwB"}
|
|
@@ -7,4 +7,4 @@ class InvalidSchema extends APIError {
|
|
|
7
7
|
}
|
|
8
8
|
export default InvalidSchema;
|
|
9
9
|
|
|
10
|
-
//# sourceMappingURL=
|
|
10
|
+
//# sourceMappingURL=InvalidSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/errors/InvalidSchema.ts"],"sourcesContent":["import httpStatus from 'http-status'\n\nimport APIError from './APIError.js'\n\nclass InvalidSchema extends APIError {\n constructor(message: string, results: any) {\n super(message, httpStatus.INTERNAL_SERVER_ERROR, results)\n }\n}\n\nexport default InvalidSchema\n"],"names":["httpStatus","APIError","InvalidSchema","constructor","message","results","INTERNAL_SERVER_ERROR"],"mappings":"AAAA,OAAOA,gBAAgB,cAAa;AAEpC,OAAOC,cAAc,gBAAe;AAEpC,MAAMC,sBAAsBD;IAC1BE,YAAYC,OAAe,EAAEC,OAAY,CAAE;QACzC,KAAK,CAACD,SAASJ,WAAWM,qBAAqB,EAAED;IACnD;AACF;AAEA,eAAeH,cAAa"}
|
|
@@ -8,4 +8,4 @@ class LockedAuth extends APIError {
|
|
|
8
8
|
}
|
|
9
9
|
export default LockedAuth;
|
|
10
10
|
|
|
11
|
-
//# sourceMappingURL=
|
|
11
|
+
//# sourceMappingURL=LockedAuth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/errors/LockedAuth.ts"],"sourcesContent":["import type { TFunction } from '@payloadcms/translations'\n\nimport { translations } from '@payloadcms/translations/api'\nimport httpStatus from 'http-status'\n\nimport APIError from './APIError.js'\n\nclass LockedAuth extends APIError {\n constructor(t?: TFunction) {\n super(t ? t('error:userLocked') : translations.en.error.userLocked, httpStatus.UNAUTHORIZED)\n }\n}\n\nexport default LockedAuth\n"],"names":["translations","httpStatus","APIError","LockedAuth","constructor","t","en","error","userLocked","UNAUTHORIZED"],"mappings":"AAEA,SAASA,YAAY,QAAQ,+BAA8B;AAC3D,OAAOC,gBAAgB,cAAa;AAEpC,OAAOC,cAAc,gBAAe;AAEpC,MAAMC,mBAAmBD;IACvBE,YAAYC,CAAa,CAAE;QACzB,KAAK,CAACA,IAAIA,EAAE,sBAAsBL,aAAaM,EAAE,CAACC,KAAK,CAACC,UAAU,EAAEP,WAAWQ,YAAY;IAC7F;AACF;AAEA,eAAeN,WAAU"}
|
|
@@ -6,4 +6,4 @@ class MissingCollectionLabel extends APIError {
|
|
|
6
6
|
}
|
|
7
7
|
export default MissingCollectionLabel;
|
|
8
8
|
|
|
9
|
-
//# sourceMappingURL=
|
|
9
|
+
//# sourceMappingURL=MissingCollectionLabel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/errors/MissingCollectionLabel.ts"],"sourcesContent":["import APIError from './APIError.js'\n\nclass MissingCollectionLabel extends APIError {\n constructor() {\n super('payload.config.collection object is missing label')\n }\n}\n\nexport default MissingCollectionLabel\n"],"names":["APIError","MissingCollectionLabel","constructor"],"mappings":"AAAA,OAAOA,cAAc,gBAAe;AAEpC,MAAMC,+BAA+BD;IACnCE,aAAc;QACZ,KAAK,CAAC;IACR;AACF;AAEA,eAAeD,uBAAsB"}
|
|
@@ -6,4 +6,4 @@ class MissingFieldInputOptions extends APIError {
|
|
|
6
6
|
}
|
|
7
7
|
export default MissingFieldInputOptions;
|
|
8
8
|
|
|
9
|
-
//# sourceMappingURL=
|
|
9
|
+
//# sourceMappingURL=MissingFieldInputOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/errors/MissingFieldInputOptions.ts"],"sourcesContent":["import type { RadioField, SelectField } from '../fields/config/types.js'\n\nimport APIError from './APIError.js'\n\nclass MissingFieldInputOptions extends APIError {\n constructor(field: RadioField | SelectField) {\n super(`Field ${field.label} is missing options.`)\n }\n}\n\nexport default MissingFieldInputOptions\n"],"names":["APIError","MissingFieldInputOptions","constructor","field","label"],"mappings":"AAEA,OAAOA,cAAc,gBAAe;AAEpC,MAAMC,iCAAiCD;IACrCE,YAAYC,KAA+B,CAAE;QAC3C,KAAK,CAAC,CAAC,MAAM,EAAEA,MAAMC,KAAK,CAAC,oBAAoB,CAAC;IAClD;AACF;AAEA,eAAeH,yBAAwB"}
|
|
@@ -7,4 +7,4 @@ class MissingFieldType extends APIError {
|
|
|
7
7
|
}
|
|
8
8
|
export default MissingFieldType;
|
|
9
9
|
|
|
10
|
-
//# sourceMappingURL=
|
|
10
|
+
//# sourceMappingURL=MissingFieldType.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/errors/MissingFieldType.ts"],"sourcesContent":["import type { Field } from '../fields/config/types.js'\n\nimport { fieldAffectsData } from '../fields/config/types.js'\nimport APIError from './APIError.js'\n\nclass MissingFieldType extends APIError {\n constructor(field: Field) {\n super(\n `Field${\n fieldAffectsData(field) ? ` \"${field.name}\"` : ''\n } is either missing a field type or it does not match an available field type`,\n )\n }\n}\n\nexport default MissingFieldType\n"],"names":["fieldAffectsData","APIError","MissingFieldType","constructor","field","name"],"mappings":"AAEA,SAASA,gBAAgB,QAAQ,4BAA2B;AAC5D,OAAOC,cAAc,gBAAe;AAEpC,MAAMC,yBAAyBD;IAC7BE,YAAYC,KAAY,CAAE;QACxB,KAAK,CACH,CAAC,KAAK,EACJJ,iBAAiBI,SAAS,CAAC,EAAE,EAAEA,MAAMC,IAAI,CAAC,CAAC,CAAC,GAAG,GAChD,4EAA4E,CAAC;IAElF;AACF;AAEA,eAAeH,iBAAgB"}
|
|
@@ -8,4 +8,4 @@ class MissingFile extends APIError {
|
|
|
8
8
|
}
|
|
9
9
|
export default MissingFile;
|
|
10
10
|
|
|
11
|
-
//# sourceMappingURL=
|
|
11
|
+
//# sourceMappingURL=MissingFile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/errors/MissingFile.ts"],"sourcesContent":["import type { TFunction } from '@payloadcms/translations'\n\nimport { translations } from '@payloadcms/translations/api'\nimport httpStatus from 'http-status'\n\nimport APIError from './APIError.js'\n\nclass MissingFile extends APIError {\n constructor(t?: TFunction) {\n super(\n t ? t('error:noFilesUploaded') : translations.en.error.noFilesUploaded,\n httpStatus.BAD_REQUEST,\n )\n }\n}\n\nexport default MissingFile\n"],"names":["translations","httpStatus","APIError","MissingFile","constructor","t","en","error","noFilesUploaded","BAD_REQUEST"],"mappings":"AAEA,SAASA,YAAY,QAAQ,+BAA8B;AAC3D,OAAOC,gBAAgB,cAAa;AAEpC,OAAOC,cAAc,gBAAe;AAEpC,MAAMC,oBAAoBD;IACxBE,YAAYC,CAAa,CAAE;QACzB,KAAK,CACHA,IAAIA,EAAE,2BAA2BL,aAAaM,EAAE,CAACC,KAAK,CAACC,eAAe,EACtEP,WAAWQ,WAAW;IAE1B;AACF;AAEA,eAAeN,YAAW"}
|