payload 3.0.0-alpha.41 → 3.0.0-alpha.43
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/collections/config/sanitize.ts"],"sourcesContent":["import merge from 'deepmerge'\n\nimport type { Config } from '../../config/types.js'\nimport type { CollectionConfig, SanitizedCollectionConfig } from './types.js'\n\nimport baseAccountLockFields from '../../auth/baseFields/accountLock.js'\nimport baseAPIKeyFields from '../../auth/baseFields/apiKey.js'\nimport baseAuthFields from '../../auth/baseFields/auth.js'\nimport baseVerificationFields from '../../auth/baseFields/verification.js'\nimport TimestampsRequired from '../../errors/TimestampsRequired.js'\nimport { sanitizeFields } from '../../fields/config/sanitize.js'\nimport { fieldAffectsData } from '../../fields/config/types.js'\nimport mergeBaseFields from '../../fields/mergeBaseFields.js'\nimport { extractTranslations } from '../../translations/extractTranslations.js'\nimport getBaseUploadFields from '../../uploads/getBaseFields.js'\nimport { formatLabels } from '../../utilities/formatLabels.js'\nimport { isPlainObject } from '../../utilities/isPlainObject.js'\nimport baseVersionFields from '../../versions/baseFields.js'\nimport { authDefaults, defaults } from './defaults.js'\n\nconst translations = extractTranslations(['general:createdAt', 'general:updatedAt'])\n\nconst sanitizeCollection = (\n config: Config,\n collection: CollectionConfig,\n): SanitizedCollectionConfig => {\n // /////////////////////////////////\n // Make copy of collection config\n // /////////////////////////////////\n\n const sanitized: CollectionConfig = merge(defaults, collection, {\n isMergeableObject: isPlainObject,\n })\n\n if (sanitized.timestamps !== false) {\n // add default timestamps fields only as needed\n let hasUpdatedAt = null\n let hasCreatedAt = null\n sanitized.fields.some((field) => {\n if (fieldAffectsData(field)) {\n if (field.name === 'updatedAt') hasUpdatedAt = true\n if (field.name === 'createdAt') hasCreatedAt = true\n }\n return hasCreatedAt && hasUpdatedAt\n })\n if (!hasUpdatedAt) {\n sanitized.fields.push({\n name: 'updatedAt',\n type: 'date',\n admin: {\n disableBulkEdit: true,\n hidden: true,\n },\n label: translations['general:updatedAt'],\n })\n }\n if (!hasCreatedAt) {\n sanitized.fields.push({\n name: 'createdAt',\n admin: {\n disableBulkEdit: true,\n hidden: true,\n },\n // The default sort for list view is createdAt. Thus, enabling indexing by default, is a major performance improvement, especially for large or a large amount of collections.\n type: 'date',\n index: true,\n label: translations['general:createdAt'],\n })\n }\n }\n\n sanitized.labels = sanitized.labels || formatLabels(sanitized.slug)\n\n if (sanitized.versions) {\n if (sanitized.versions === true) sanitized.versions = { drafts: false }\n\n if (sanitized.timestamps === false) {\n throw new TimestampsRequired(collection)\n }\n\n if (sanitized.versions.drafts) {\n if (sanitized.versions.drafts === true) {\n sanitized.versions.drafts = {\n autosave: false,\n }\n }\n\n if (sanitized.versions.drafts.autosave === true) {\n sanitized.versions.drafts.autosave = {\n interval: 2000,\n }\n }\n\n sanitized.fields = mergeBaseFields(sanitized.fields, baseVersionFields)\n }\n }\n\n if (sanitized.upload) {\n if (sanitized.upload === true) sanitized.upload = {}\n\n sanitized.upload.staticDir = sanitized.upload.staticDir || sanitized.slug\n sanitized.admin.useAsTitle =\n sanitized.admin.useAsTitle && sanitized.admin.useAsTitle !== 'id'\n ? sanitized.admin.useAsTitle\n : 'filename'\n\n const uploadFields = getBaseUploadFields({\n collection: sanitized,\n config,\n })\n\n sanitized.fields = mergeBaseFields(sanitized.fields, uploadFields)\n }\n\n if (sanitized.auth) {\n sanitized.auth = merge(authDefaults, typeof sanitized.auth === 'object' ? sanitized.auth : {}, {\n isMergeableObject: isPlainObject,\n })\n\n let authFields = []\n\n if (sanitized.auth.useAPIKey) {\n authFields = authFields.concat(baseAPIKeyFields)\n }\n\n if (!sanitized.auth.disableLocalStrategy) {\n authFields = authFields.concat(baseAuthFields)\n\n if (sanitized.auth.verify) {\n if (sanitized.auth.verify === true) sanitized.auth.verify = {}\n authFields = authFields.concat(baseVerificationFields)\n }\n\n if (sanitized.auth.maxLoginAttempts > 0) {\n authFields = authFields.concat(baseAccountLockFields)\n }\n }\n\n if (!sanitized.auth.strategies) {\n sanitized.auth.strategies = []\n }\n\n sanitized.fields = mergeBaseFields(sanitized.fields, authFields)\n }\n\n // /////////////////////////////////\n // Sanitize fields\n // /////////////////////////////////\n\n const validRelationships = config.collections.map((c) => c.slug) || []\n sanitized.fields = sanitizeFields({\n config,\n fields: sanitized.fields,\n validRelationships,\n })\n\n return sanitized as SanitizedCollectionConfig\n}\n\nexport default sanitizeCollection\n"],"names":["merge","baseAccountLockFields","baseAPIKeyFields","baseAuthFields","baseVerificationFields","TimestampsRequired","sanitizeFields","fieldAffectsData","mergeBaseFields","extractTranslations","getBaseUploadFields","formatLabels","isPlainObject","baseVersionFields","authDefaults","defaults","translations","sanitizeCollection","config","collection","sanitized","isMergeableObject","timestamps","hasUpdatedAt","hasCreatedAt","fields","some","field","name","push","type","admin","disableBulkEdit","hidden","label","index","labels","slug","versions","drafts","autosave","interval","upload","staticDir","useAsTitle","uploadFields","auth","authFields","useAPIKey","concat","disableLocalStrategy","verify","maxLoginAttempts","strategies","validRelationships","collections","map","c"],"mappings":"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"}
|
|
@@ -182,4 +182,4 @@ const collectionSchema = joi.object().keys({
|
|
|
182
182
|
});
|
|
183
183
|
export default collectionSchema;
|
|
184
184
|
|
|
185
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9jb25maWcvc2NoZW1hLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBqb2kgZnJvbSAnam9pJ1xuXG5pbXBvcnQgeyBlbmRwb2ludHNTY2hlbWEgfSBmcm9tICcuLi8uLi9jb25maWcvc2NoZW1hLmpzJ1xuaW1wb3J0IHtcbiAgY29tcG9uZW50U2NoZW1hLFxuICBjdXN0b21WaWV3U2NoZW1hLFxuICBsaXZlUHJldmlld1NjaGVtYSxcbn0gZnJvbSAnLi4vLi4vY29uZmlnL3NoYXJlZC9jb21wb25lbnRTY2hlbWEuanMnXG5cbmNvbnN0IHN0cmF0ZWd5QmFzZVNjaGVtYSA9IGpvaS5vYmplY3QoKS5rZXlzKHtcbiAgbG9nb3V0OiBqb2kuYm9vbGVhbigpLFxuICByZWZyZXNoOiBqb2kuYm9vbGVhbigpLFxufSlcblxuY29uc3QgY29sbGVjdGlvblNjaGVtYSA9IGpvaS5vYmplY3QoKS5rZXlzKHtcbiAgc2x1Zzogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIGFjY2Vzczogam9pLm9iamVjdCh7XG4gICAgYWRtaW46IGpvaS5mdW5jKCksXG4gICAgY3JlYXRlOiBqb2kuZnVuYygpLFxuICAgIGRlbGV0ZTogam9pLmZ1bmMoKSxcbiAgICByZWFkOiBqb2kuZnVuYygpLFxuICAgIHJlYWRWZXJzaW9uczogam9pLmZ1bmMoKSxcbiAgICB1bmxvY2s6IGpvaS5mdW5jKCksXG4gICAgdXBkYXRlOiBqb2kuZnVuYygpLFxuICB9KSxcbiAgYWRtaW46IGpvaS5vYmplY3Qoe1xuICAgIGNvbXBvbmVudHM6IGpvaS5vYmplY3Qoe1xuICAgICAgQWZ0ZXJMaXN0OiBqb2kuYXJyYXkoKS5pdGVtcyhjb21wb25lbnRTY2hlbWEpLFxuICAgICAgQWZ0ZXJMaXN0VGFibGU6IGpvaS5hcnJheSgpLml0ZW1zKGNvbXBvbmVudFNjaGVtYSksXG4gICAgICBCZWZvcmVMaXN0OiBqb2kuYXJyYXkoKS5pdGVtcyhjb21wb25lbnRTY2hlbWEpLFxuICAgICAgQmVmb3JlTGlzdFRhYmxlOiBqb2kuYXJyYXkoKS5pdGVtcyhjb21wb25lbnRTY2hlbWEpLFxuICAgICAgZWRpdDogam9pLm9iamVjdCh7XG4gICAgICAgIFByZXZpZXdCdXR0b246IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgICAgUHVibGlzaEJ1dHRvbjogY29tcG9uZW50U2NoZW1hLFxuICAgICAgICBTYXZlQnV0dG9uOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICAgIFNhdmVEcmFmdEJ1dHRvbjogY29tcG9uZW50U2NoZW1hLFxuICAgICAgfSksXG4gICAgICB2aWV3czogam9pLm9iamVjdCh7XG4gICAgICAgIEVkaXQ6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoXG4gICAgICAgICAgY29tcG9uZW50U2NoZW1hLFxuICAgICAgICAgIGpvaS5vYmplY3Qoe1xuICAgICAgICAgICAgQVBJOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGNvbXBvbmVudFNjaGVtYSwgY3VzdG9tVmlld1NjaGVtYSksXG4gICAgICAgICAgICBEZWZhdWx0OiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGNvbXBvbmVudFNjaGVtYSwgY3VzdG9tVmlld1NjaGVtYSksXG4gICAgICAgICAgICBMaXZlUHJldmlldzogam9pLmFsdGVybmF0aXZlcygpLnRyeShjb21wb25lbnRTY2hlbWEsIGN1c3RvbVZpZXdTY2hlbWEpLFxuICAgICAgICAgICAgVmVyc2lvbjogam9pLmFsdGVybmF0aXZlcygpLnRyeShjb21wb25lbnRTY2hlbWEsIGN1c3RvbVZpZXdTY2hlbWEpLFxuICAgICAgICAgICAgVmVyc2lvbnM6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoY29tcG9uZW50U2NoZW1hLCBjdXN0b21WaWV3U2NoZW1hKSxcbiAgICAgICAgICAgIC8vIFJlbGF0aW9uc2hpcHNcbiAgICAgICAgICAgIC8vIFJlZmVyZW5jZXNcbiAgICAgICAgICB9KSxcbiAgICAgICAgKSxcbiAgICAgICAgTGlzdDogam9pLmFsdGVybmF0aXZlcygpLnRyeShcbiAgICAgICAgICBjb21wb25lbnRTY2hlbWEsXG4gICAgICAgICAgam9pLm9iamVjdCh7XG4gICAgICAgICAgICBDb21wb25lbnQ6IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgICAgICAgIGFjdGlvbnM6IGpvaS5hcnJheSgpLml0ZW1zKGNvbXBvbmVudFNjaGVtYSksXG4gICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgICB9KSxcbiAgICB9KSxcbiAgICBkZWZhdWx0Q29sdW1uczogam9pLmFycmF5KCkuaXRlbXMoam9pLnN0cmluZygpKSxcbiAgICBkZXNjcmlwdGlvbjogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kuc3RyaW5nKCksIGNvbXBvbmVudFNjaGVtYSksXG4gICAgZGlzYWJsZUR1cGxpY2F0ZTogam9pLmJvb2woKSxcbiAgICBlbmFibGVSaWNoVGV4dExpbms6IGpvaS5ib29sZWFuKCksXG4gICAgZW5hYmxlUmljaFRleHRSZWxhdGlvbnNoaXA6IGpvaS5ib29sZWFuKCksXG4gICAgZ3JvdXA6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLnN0cmluZygpLCBqb2kub2JqZWN0KCkucGF0dGVybihqb2kuc3RyaW5nKCksIFtqb2kuc3RyaW5nKCldKSksXG4gICAgaGlkZGVuOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5ib29sZWFuKCksIGpvaS5mdW5jKCkpLFxuICAgIGhpZGVBUElVUkw6IGpvaS5ib29sKCksXG4gICAgaG9va3M6IGpvaS5vYmplY3Qoe1xuICAgICAgYmVmb3JlRHVwbGljYXRlOiBqb2kuZnVuYygpLFxuICAgIH0pLFxuICAgIGxpc3RTZWFyY2hhYmxlRmllbGRzOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kuc3RyaW5nKCkpLFxuICAgIGxpdmVQcmV2aWV3OiBqb2kub2JqZWN0KGxpdmVQcmV2aWV3U2NoZW1hKSxcbiAgICBwYWdpbmF0aW9uOiBqb2kub2JqZWN0KHtcbiAgICAgIGRlZmF1bHRMaW1pdDogam9pLm51bWJlcigpLFxuICAgICAgbGltaXRzOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kubnVtYmVyKCkpLFxuICAgIH0pLFxuICAgIHByZXZpZXc6IGpvaS5mdW5jKCksXG4gICAgdXNlQXNUaXRsZTogam9pLnN0cmluZygpLFxuICB9KSxcbiAgYXV0aDogam9pLmFsdGVybmF0aXZlcygpLnRyeShcbiAgICBqb2kub2JqZWN0KHtcbiAgICAgIGNvb2tpZXM6IGpvaS5vYmplY3QoKS5rZXlzKHtcbiAgICAgICAgZG9tYWluOiBqb2kuc3RyaW5nKCksXG4gICAgICAgIHNhbWVTaXRlOiBqb2kuc3RyaW5nKCksIC8vIFRPRE86IGFkZCBmdXJ0aGVyIHNwZWNpZmljaXR5IHdpdGggam9pLnhvclxuICAgICAgICBzZWN1cmU6IGpvaS5ib29sZWFuKCksXG4gICAgICB9KSxcbiAgICAgIGRlcHRoOiBqb2kubnVtYmVyKCksXG4gICAgICBkaXNhYmxlTG9jYWxTdHJhdGVneTogam9pLmJvb2xlYW4oKS52YWxpZCh0cnVlKSxcbiAgICAgIGZvcmdvdFBhc3N3b3JkOiBqb2kub2JqZWN0KCkua2V5cyh7XG4gICAgICAgIGdlbmVyYXRlRW1haWxIVE1MOiBqb2kuZnVuYygpLFxuICAgICAgICBnZW5lcmF0ZUVtYWlsU3ViamVjdDogam9pLmZ1bmMoKSxcbiAgICAgIH0pLFxuICAgICAgbG9ja1RpbWU6IGpvaS5udW1iZXIoKSxcbiAgICAgIG1heExvZ2luQXR0ZW1wdHM6IGpvaS5udW1iZXIoKSxcbiAgICAgIHJlbW92ZVRva2VuRnJvbVJlc3BvbnNlczogam9pLmJvb2xlYW4oKS52YWxpZCh0cnVlKSxcbiAgICAgIHN0cmF0ZWdpZXM6IGpvaS5hcnJheSgpLml0ZW1zKFxuICAgICAgICBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KFxuICAgICAgICAgIHN0cmF0ZWd5QmFzZVNjaGVtYS5rZXlzKHtcbiAgICAgICAgICAgIG5hbWU6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICAgICAgICAgICAgc3RyYXRlZ3k6IGpvaS5mdW5jKCkubWF4QXJpdHkoMSkucmVxdWlyZWQoKSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBzdHJhdGVneUJhc2VTY2hlbWEua2V5cyh7XG4gICAgICAgICAgICBuYW1lOiBqb2kuc3RyaW5nKCksXG4gICAgICAgICAgICBzdHJhdGVneTogam9pLm9iamVjdCgpLnJlcXVpcmVkKCksXG4gICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICAgdG9rZW5FeHBpcmF0aW9uOiBqb2kubnVtYmVyKCksXG4gICAgICB1c2VBUElLZXk6IGpvaS5ib29sZWFuKCksXG4gICAgICB2ZXJpZnk6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoXG4gICAgICAgIGpvaS5ib29sZWFuKCksXG4gICAgICAgIGpvaS5vYmplY3QoKS5rZXlzKHtcbiAgICAgICAgICBnZW5lcmF0ZUVtYWlsSFRNTDogam9pLmZ1bmMoKSxcbiAgICAgICAgICBnZW5lcmF0ZUVtYWlsU3ViamVjdDogam9pLmZ1bmMoKSxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgIH0pLFxuICAgIGpvaS5ib29sZWFuKCksXG4gICksXG4gIGN1c3RvbTogam9pLm9iamVjdCgpLnBhdHRlcm4oam9pLnN0cmluZygpLCBqb2kuYW55KCkpLFxuICBkZWZhdWx0U29ydDogam9pLnN0cmluZygpLFxuICBlbmRwb2ludHM6IGVuZHBvaW50c1NjaGVtYSxcbiAgZmllbGRzOiBqb2kuYXJyYXkoKSxcbiAgZ3JhcGhRTDogam9pLmFsdGVybmF0aXZlcygpLnRyeShcbiAgICBqb2kub2JqZWN0KCkua2V5cyh7XG4gICAgICBwbHVyYWxOYW1lOiBqb2kuc3RyaW5nKCksXG4gICAgICBzaW5ndWxhck5hbWU6IGpvaS5zdHJpbmcoKSxcbiAgICB9KSxcbiAgICBqb2kuYm9vbGVhbigpLFxuICApLFxuICBob29rczogam9pLm9iamVjdCh7XG4gICAgYWZ0ZXJDaGFuZ2U6IGpvaS5hcnJheSgpLml0ZW1zKGpvaS5mdW5jKCkpLFxuICAgIGFmdGVyRGVsZXRlOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kuZnVuYygpKSxcbiAgICBhZnRlckZvcmdvdFBhc3N3b3JkOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kuZnVuYygpKSxcbiAgICBhZnRlckxvZ2luOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kuZnVuYygpKSxcbiAgICBhZnRlckxvZ291dDogam9pLmFycmF5KCkuaXRlbXMoam9pLmZ1bmMoKSksXG4gICAgYWZ0ZXJNZTogam9pLmFycmF5KCkuaXRlbXMoam9pLmZ1bmMoKSksXG4gICAgYWZ0ZXJPcGVyYXRpb246IGpvaS5hcnJheSgpLml0ZW1zKGpvaS5mdW5jKCkpLFxuICAgIGFmdGVyUmVhZDogam9pLmFycmF5KCkuaXRlbXMoam9pLmZ1bmMoKSksXG4gICAgYWZ0ZXJSZWZyZXNoOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kuZnVuYygpKSxcbiAgICBiZWZvcmVDaGFuZ2U6IGpvaS5hcnJheSgpLml0ZW1zKGpvaS5mdW5jKCkpLFxuICAgIGJlZm9yZURlbGV0ZTogam9pLmFycmF5KCkuaXRlbXMoam9pLmZ1bmMoKSksXG4gICAgYmVmb3JlTG9naW46IGpvaS5hcnJheSgpLml0ZW1zKGpvaS5mdW5jKCkpLFxuICAgIGJlZm9yZU9wZXJhdGlvbjogam9pLmFycmF5KCkuaXRlbXMoam9pLmZ1bmMoKSksXG4gICAgYmVmb3JlUmVhZDogam9pLmFycmF5KCkuaXRlbXMoam9pLmZ1bmMoKSksXG4gICAgYmVmb3JlVmFsaWRhdGU6IGpvaS5hcnJheSgpLml0ZW1zKGpvaS5mdW5jKCkpLFxuICB9KSxcbiAgaW5kZXhlczogam9pLmFycmF5KCkuaXRlbXMoXG4gICAgam9pLm9iamVjdCgpLmtleXMoe1xuICAgICAgZmllbGRzOiBqb2kub2JqZWN0KCkucmVxdWlyZWQoKSxcbiAgICAgIG9wdGlvbnM6IGpvaS5vYmplY3QoKSxcbiAgICB9KSxcbiAgKSxcbiAgbGFiZWxzOiBqb2kub2JqZWN0KHtcbiAgICBwbHVyYWw6IGpvaVxuICAgICAgLmFsdGVybmF0aXZlcygpXG4gICAgICAudHJ5KGpvaS5zdHJpbmcoKSwgam9pLm9iamVjdCgpLnBhdHRlcm4oam9pLnN0cmluZygpLCBbam9pLnN0cmluZygpXSkpLFxuICAgIHNpbmd1bGFyOiBqb2lcbiAgICAgIC5hbHRlcm5hdGl2ZXMoKVxuICAgICAgLnRyeShqb2kuc3RyaW5nKCksIGpvaS5vYmplY3QoKS5wYXR0ZXJuKGpvaS5zdHJpbmcoKSwgW2pvaS5zdHJpbmcoKV0pKSxcbiAgfSksXG4gIHRpbWVzdGFtcHM6IGpvaS5ib29sZWFuKCksXG4gIHR5cGVzY3JpcHQ6IGpvaS5vYmplY3QoKS5rZXlzKHtcbiAgICBpbnRlcmZhY2U6IGpvaS5zdHJpbmcoKSxcbiAgfSksXG4gIHVwbG9hZDogam9pLmFsdGVybmF0aXZlcygpLnRyeShcbiAgICBqb2kub2JqZWN0KHtcbiAgICAgIGFkbWluVGh1bWJuYWlsOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5zdHJpbmcoKSwgY29tcG9uZW50U2NoZW1hKSxcbiAgICAgIGNyb3A6IGpvaS5ib29sKCksXG4gICAgICBkaXNhYmxlTG9jYWxTdG9yYWdlOiBqb2kuYm9vbCgpLFxuICAgICAgZmlsZXNSZXF1aXJlZE9uQ3JlYXRlOiBqb2kuYm9vbCgpLFxuICAgICAgZm9jYWxQb2ludDogam9pLmJvb2woKSxcbiAgICAgIGZvcm1hdE9wdGlvbnM6IGpvaS5vYmplY3QoKS5rZXlzKHtcbiAgICAgICAgZm9ybWF0OiBqb2kuc3RyaW5nKCksXG4gICAgICAgIG9wdGlvbnM6IGpvaS5vYmplY3QoKSxcbiAgICAgIH0pLFxuICAgICAgaGFuZGxlcnM6IGpvaS5hcnJheSgpLml0ZW1zKGpvaS5mdW5jKCkpLFxuICAgICAgaW1hZ2VTaXplczogam9pLmFycmF5KCkuaXRlbXMoXG4gICAgICAgIGpvaVxuICAgICAgICAgIC5vYmplY3QoKVxuICAgICAgICAgIC5rZXlzKHtcbiAgICAgICAgICAgIG5hbWU6IGpvaS5zdHJpbmcoKSxcbiAgICAgICAgICAgIGNyb3A6IGpvaS5zdHJpbmcoKSwgLy8gVE9ETzogYWRkIGZ1cnRoZXIgc3BlY2lmaWNpdHkgd2l0aCBqb2kueG9yXG4gICAgICAgICAgICBoZWlnaHQ6IGpvaS5udW1iZXIoKS5pbnRlZ2VyKCkuYWxsb3cobnVsbCksXG4gICAgICAgICAgICB3aWR0aDogam9pLm51bWJlcigpLmludGVnZXIoKS5hbGxvdyhudWxsKSxcbiAgICAgICAgICB9KVxuICAgICAgICAgIC51bmtub3duKCksXG4gICAgICApLFxuICAgICAgbWltZVR5cGVzOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kuc3RyaW5nKCkpLFxuICAgICAgcmVzaXplT3B0aW9uczogam9pXG4gICAgICAgIC5vYmplY3QoKVxuICAgICAgICAua2V5cyh7XG4gICAgICAgICAgYmFja2dyb3VuZDogam9pLnN0cmluZygpLFxuICAgICAgICAgIGZhc3RTaHJpbmtPbkxvYWQ6IGpvaS5ib29sKCksXG4gICAgICAgICAgZml0OiBqb2kuc3RyaW5nKCksXG4gICAgICAgICAgaGVpZ2h0OiBqb2kubnVtYmVyKCkuYWxsb3cobnVsbCksXG4gICAgICAgICAga2VybmVsOiBqb2kuc3RyaW5nKCksXG4gICAgICAgICAgcG9zaXRpb246IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLnN0cmluZygpLCBqb2kubnVtYmVyKCkpLFxuICAgICAgICAgIHdpZHRoOiBqb2kubnVtYmVyKCkuYWxsb3cobnVsbCksXG4gICAgICAgICAgd2l0aG91dEVubGFyZ2VtZW50OiBqb2kuYm9vbCgpLFxuICAgICAgICB9KVxuICAgICAgICAuYWxsb3cobnVsbCksXG4gICAgICBzdGF0aWNEaXI6IGpvaS5zdHJpbmcoKSxcbiAgICAgIHN0YXRpY09wdGlvbnM6IGpvaS5vYmplY3QoKSxcbiAgICAgIHRlbXBGaWxlRGlyOiBqb2kuc3RyaW5nKCksXG4gICAgICB0cmltT3B0aW9uczogam9pLmFsdGVybmF0aXZlcygpLnRyeShcbiAgICAgICAgam9pLm9iamVjdCgpLmtleXMoe1xuICAgICAgICAgIGZvcm1hdDogam9pLnN0cmluZygpLFxuICAgICAgICAgIG9wdGlvbnM6IGpvaS5vYmplY3QoKSxcbiAgICAgICAgfSksXG4gICAgICAgIGpvaS5zdHJpbmcoKSxcbiAgICAgICAgam9pLm51bWJlcigpLFxuICAgICAgKSxcbiAgICAgIHVzZVRlbXBGaWxlczogam9pLmJvb2woKSxcbiAgICB9KSxcbiAgICBqb2kuYm9vbGVhbigpLFxuICApLFxuICB2ZXJzaW9uczogam9pLmFsdGVybmF0aXZlcygpLnRyeShcbiAgICBqb2kub2JqZWN0KHtcbiAgICAgIGRyYWZ0czogam9pLmFsdGVybmF0aXZlcygpLnRyeShcbiAgICAgICAgam9pLm9iamVjdCh7XG4gICAgICAgICAgYXV0b3NhdmU6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoXG4gICAgICAgICAgICBqb2kuYm9vbGVhbigpLFxuICAgICAgICAgICAgam9pLm9iamVjdCh7XG4gICAgICAgICAgICAgIGludGVydmFsOiBqb2kubnVtYmVyKCksXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApLFxuICAgICAgICB9KSxcbiAgICAgICAgam9pLmJvb2xlYW4oKSxcbiAgICAgICksXG4gICAgICBtYXhQZXJEb2M6IGpvaS5udW1iZXIoKSxcbiAgICB9KSxcbiAgICBqb2kuYm9vbGVhbigpLFxuICApLFxufSlcblxuZXhwb3J0IGRlZmF1bHQgY29sbGVjdGlvblNjaGVtYVxuIl0sIm5hbWVzIjpbImpvaSIsImVuZHBvaW50c1NjaGVtYSIsImNvbXBvbmVudFNjaGVtYSIsImN1c3RvbVZpZXdTY2hlbWEiLCJsaXZlUHJldmlld1NjaGVtYSIsInN0cmF0ZWd5QmFzZVNjaGVtYSIsIm9iamVjdCIsImtleXMiLCJsb2dvdXQiLCJib29sZWFuIiwicmVmcmVzaCIsImNvbGxlY3Rpb25TY2hlbWEiLCJzbHVnIiwic3RyaW5nIiwicmVxdWlyZWQiLCJhY2Nlc3MiLCJhZG1pbiIsImZ1bmMiLCJjcmVhdGUiLCJkZWxldGUiLCJyZWFkIiwicmVhZFZlcnNpb25zIiwidW5sb2NrIiwidXBkYXRlIiwiY29tcG9uZW50cyIsIkFmdGVyTGlzdCIsImFycmF5IiwiaXRlbXMiLCJBZnRlckxpc3RUYWJsZSIsIkJlZm9yZUxpc3QiLCJCZWZvcmVMaXN0VGFibGUiLCJlZGl0IiwiUHJldmlld0J1dHRvbiIsIlB1Ymxpc2hCdXR0b24iLCJTYXZlQnV0dG9uIiwiU2F2ZURyYWZ0QnV0dG9uIiwidmlld3MiLCJFZGl0IiwiYWx0ZXJuYXRpdmVzIiwidHJ5IiwiQVBJIiwiRGVmYXVsdCIsIkxpdmVQcmV2aWV3IiwiVmVyc2lvbiIsIlZlcnNpb25zIiwiTGlzdCIsIkNvbXBvbmVudCIsImFjdGlvbnMiLCJkZWZhdWx0Q29sdW1ucyIsImRlc2NyaXB0aW9uIiwiZGlzYWJsZUR1cGxpY2F0ZSIsImJvb2wiLCJlbmFibGVSaWNoVGV4dExpbmsiLCJlbmFibGVSaWNoVGV4dFJlbGF0aW9uc2hpcCIsImdyb3VwIiwicGF0dGVybiIsImhpZGRlbiIsImhpZGVBUElVUkwiLCJob29rcyIsImJlZm9yZUR1cGxpY2F0ZSIsImxpc3RTZWFyY2hhYmxlRmllbGRzIiwibGl2ZVByZXZpZXciLCJwYWdpbmF0aW9uIiwiZGVmYXVsdExpbWl0IiwibnVtYmVyIiwibGltaXRzIiwicHJldmlldyIsInVzZUFzVGl0bGUiLCJhdXRoIiwiY29va2llcyIsImRvbWFpbiIsInNhbWVTaXRlIiwic2VjdXJlIiwiZGVwdGgiLCJkaXNhYmxlTG9jYWxTdHJhdGVneSIsInZhbGlkIiwiZm9yZ290UGFzc3dvcmQiLCJnZW5lcmF0ZUVtYWlsSFRNTCIsImdlbmVyYXRlRW1haWxTdWJqZWN0IiwibG9ja1RpbWUiLCJtYXhMb2dpbkF0dGVtcHRzIiwicmVtb3ZlVG9rZW5Gcm9tUmVzcG9uc2VzIiwic3RyYXRlZ2llcyIsIm5hbWUiLCJzdHJhdGVneSIsIm1heEFyaXR5IiwidG9rZW5FeHBpcmF0aW9uIiwidXNlQVBJS2V5IiwidmVyaWZ5IiwiY3VzdG9tIiwiYW55IiwiZGVmYXVsdFNvcnQiLCJlbmRwb2ludHMiLCJmaWVsZHMiLCJncmFwaFFMIiwicGx1cmFsTmFtZSIsInNpbmd1bGFyTmFtZSIsImFmdGVyQ2hhbmdlIiwiYWZ0ZXJEZWxldGUiLCJhZnRlckZvcmdvdFBhc3N3b3JkIiwiYWZ0ZXJMb2dpbiIsImFmdGVyTG9nb3V0IiwiYWZ0ZXJNZSIsImFmdGVyT3BlcmF0aW9uIiwiYWZ0ZXJSZWFkIiwiYWZ0ZXJSZWZyZXNoIiwiYmVmb3JlQ2hhbmdlIiwiYmVmb3JlRGVsZXRlIiwiYmVmb3JlTG9naW4iLCJiZWZvcmVPcGVyYXRpb24iLCJiZWZvcmVSZWFkIiwiYmVmb3JlVmFsaWRhdGUiLCJpbmRleGVzIiwib3B0aW9ucyIsImxhYmVscyIsInBsdXJhbCIsInNpbmd1bGFyIiwidGltZXN0YW1wcyIsInR5cGVzY3JpcHQiLCJpbnRlcmZhY2UiLCJ1cGxvYWQiLCJhZG1pblRodW1ibmFpbCIsImNyb3AiLCJkaXNhYmxlTG9jYWxTdG9yYWdlIiwiZmlsZXNSZXF1aXJlZE9uQ3JlYXRlIiwiZm9jYWxQb2ludCIsImZvcm1hdE9wdGlvbnMiLCJmb3JtYXQiLCJoYW5kbGVycyIsImltYWdlU2l6ZXMiLCJoZWlnaHQiLCJpbnRlZ2VyIiwiYWxsb3ciLCJ3aWR0aCIsInVua25vd24iLCJtaW1lVHlwZXMiLCJyZXNpemVPcHRpb25zIiwiYmFja2dyb3VuZCIsImZhc3RTaHJpbmtPbkxvYWQiLCJmaXQiLCJrZXJuZWwiLCJwb3NpdGlvbiIsIndpdGhvdXRFbmxhcmdlbWVudCIsInN0YXRpY0RpciIsInN0YXRpY09wdGlvbnMiLCJ0ZW1wRmlsZURpciIsInRyaW1PcHRpb25zIiwidXNlVGVtcEZpbGVzIiwidmVyc2lvbnMiLCJkcmFmdHMiLCJhdXRvc2F2ZSIsImludGVydmFsIiwibWF4UGVyRG9jIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxTQUFTLE1BQUs7QUFFckIsU0FBU0MsZUFBZSxRQUFRLHlCQUF3QjtBQUN4RCxTQUNFQyxlQUFlLEVBQ2ZDLGdCQUFnQixFQUNoQkMsaUJBQWlCLFFBQ1oseUNBQXdDO0FBRS9DLE1BQU1DLHFCQUFxQkwsSUFBSU0sTUFB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
|
|
185
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/collections/config/schema.ts"],"sourcesContent":["import joi from 'joi'\n\nimport { endpointsSchema } from '../../config/schema.js'\nimport {\n componentSchema,\n customViewSchema,\n livePreviewSchema,\n} from '../../config/shared/componentSchema.js'\n\nconst strategyBaseSchema = joi.object().keys({\n logout: joi.boolean(),\n refresh: joi.boolean(),\n})\n\nconst collectionSchema = joi.object().keys({\n slug: joi.string().required(),\n access: joi.object({\n admin: joi.func(),\n create: joi.func(),\n delete: joi.func(),\n read: joi.func(),\n readVersions: joi.func(),\n unlock: joi.func(),\n update: joi.func(),\n }),\n admin: joi.object({\n components: joi.object({\n AfterList: joi.array().items(componentSchema),\n AfterListTable: joi.array().items(componentSchema),\n BeforeList: joi.array().items(componentSchema),\n BeforeListTable: joi.array().items(componentSchema),\n edit: joi.object({\n PreviewButton: componentSchema,\n PublishButton: componentSchema,\n SaveButton: componentSchema,\n SaveDraftButton: componentSchema,\n }),\n views: joi.object({\n Edit: joi.alternatives().try(\n componentSchema,\n joi.object({\n API: joi.alternatives().try(componentSchema, customViewSchema),\n Default: joi.alternatives().try(componentSchema, customViewSchema),\n LivePreview: joi.alternatives().try(componentSchema, customViewSchema),\n Version: joi.alternatives().try(componentSchema, customViewSchema),\n Versions: joi.alternatives().try(componentSchema, customViewSchema),\n // Relationships\n // References\n }),\n ),\n List: joi.alternatives().try(\n componentSchema,\n joi.object({\n Component: componentSchema,\n actions: joi.array().items(componentSchema),\n }),\n ),\n }),\n }),\n defaultColumns: joi.array().items(joi.string()),\n description: joi.alternatives().try(joi.string(), componentSchema),\n disableDuplicate: joi.bool(),\n enableRichTextLink: joi.boolean(),\n enableRichTextRelationship: joi.boolean(),\n group: joi.alternatives().try(joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n hidden: joi.alternatives().try(joi.boolean(), joi.func()),\n hideAPIURL: joi.bool(),\n hooks: joi.object({\n beforeDuplicate: joi.func(),\n }),\n listSearchableFields: joi.array().items(joi.string()),\n livePreview: joi.object(livePreviewSchema),\n pagination: joi.object({\n defaultLimit: joi.number(),\n limits: joi.array().items(joi.number()),\n }),\n preview: joi.func(),\n useAsTitle: joi.string(),\n }),\n auth: joi.alternatives().try(\n joi.object({\n cookies: joi.object().keys({\n domain: joi.string(),\n sameSite: joi.string(), // TODO: add further specificity with joi.xor\n secure: joi.boolean(),\n }),\n depth: joi.number(),\n disableLocalStrategy: joi.boolean().valid(true),\n forgotPassword: joi.object().keys({\n generateEmailHTML: joi.func(),\n generateEmailSubject: joi.func(),\n }),\n lockTime: joi.number(),\n maxLoginAttempts: joi.number(),\n removeTokenFromResponses: joi.boolean().valid(true),\n strategies: joi.array().items(\n joi.alternatives().try(\n strategyBaseSchema.keys({\n name: joi.string().required(),\n strategy: joi.func().maxArity(1).required(),\n }),\n strategyBaseSchema.keys({\n name: joi.string(),\n strategy: joi.object().required(),\n }),\n ),\n ),\n tokenExpiration: joi.number(),\n useAPIKey: joi.boolean(),\n verify: joi.alternatives().try(\n joi.boolean(),\n joi.object().keys({\n generateEmailHTML: joi.func(),\n generateEmailSubject: joi.func(),\n }),\n ),\n }),\n joi.boolean(),\n ),\n custom: joi.object().pattern(joi.string(), joi.any()),\n defaultSort: joi.string(),\n endpoints: endpointsSchema,\n fields: joi.array(),\n graphQL: joi.alternatives().try(\n joi.object().keys({\n pluralName: joi.string(),\n singularName: joi.string(),\n }),\n joi.boolean(),\n ),\n hooks: joi.object({\n afterChange: joi.array().items(joi.func()),\n afterDelete: joi.array().items(joi.func()),\n afterForgotPassword: joi.array().items(joi.func()),\n afterLogin: joi.array().items(joi.func()),\n afterLogout: joi.array().items(joi.func()),\n afterMe: joi.array().items(joi.func()),\n afterOperation: joi.array().items(joi.func()),\n afterRead: joi.array().items(joi.func()),\n afterRefresh: joi.array().items(joi.func()),\n beforeChange: joi.array().items(joi.func()),\n beforeDelete: joi.array().items(joi.func()),\n beforeLogin: joi.array().items(joi.func()),\n beforeOperation: joi.array().items(joi.func()),\n beforeRead: joi.array().items(joi.func()),\n beforeValidate: joi.array().items(joi.func()),\n }),\n indexes: joi.array().items(\n joi.object().keys({\n fields: joi.object().required(),\n options: joi.object(),\n }),\n ),\n labels: joi.object({\n plural: joi\n .alternatives()\n .try(joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n singular: joi\n .alternatives()\n .try(joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n }),\n timestamps: joi.boolean(),\n typescript: joi.object().keys({\n interface: joi.string(),\n }),\n upload: joi.alternatives().try(\n joi.object({\n adminThumbnail: joi.alternatives().try(joi.string(), componentSchema),\n crop: joi.bool(),\n disableLocalStorage: joi.bool(),\n filesRequiredOnCreate: joi.bool(),\n focalPoint: joi.bool(),\n formatOptions: joi.object().keys({\n format: joi.string(),\n options: joi.object(),\n }),\n handlers: joi.array().items(joi.func()),\n imageSizes: joi.array().items(\n joi\n .object()\n .keys({\n name: joi.string(),\n crop: joi.string(), // TODO: add further specificity with joi.xor\n height: joi.number().integer().allow(null),\n width: joi.number().integer().allow(null),\n })\n .unknown(),\n ),\n mimeTypes: joi.array().items(joi.string()),\n resizeOptions: joi\n .object()\n .keys({\n background: joi.string(),\n fastShrinkOnLoad: joi.bool(),\n fit: joi.string(),\n height: joi.number().allow(null),\n kernel: joi.string(),\n position: joi.alternatives().try(joi.string(), joi.number()),\n width: joi.number().allow(null),\n withoutEnlargement: joi.bool(),\n })\n .allow(null),\n staticDir: joi.string(),\n staticOptions: joi.object(),\n tempFileDir: joi.string(),\n trimOptions: joi.alternatives().try(\n joi.object().keys({\n format: joi.string(),\n options: joi.object(),\n }),\n joi.string(),\n joi.number(),\n ),\n useTempFiles: joi.bool(),\n }),\n joi.boolean(),\n ),\n versions: joi.alternatives().try(\n joi.object({\n drafts: joi.alternatives().try(\n joi.object({\n autosave: joi.alternatives().try(\n joi.boolean(),\n joi.object({\n interval: joi.number(),\n }),\n ),\n }),\n joi.boolean(),\n ),\n maxPerDoc: joi.number(),\n }),\n joi.boolean(),\n ),\n})\n\nexport default collectionSchema\n"],"names":["joi","endpointsSchema","componentSchema","customViewSchema","livePreviewSchema","strategyBaseSchema","object","keys","logout","boolean","refresh","collectionSchema","slug","string","required","access","admin","func","create","delete","read","readVersions","unlock","update","components","AfterList","array","items","AfterListTable","BeforeList","BeforeListTable","edit","PreviewButton","PublishButton","SaveButton","SaveDraftButton","views","Edit","alternatives","try","API","Default","LivePreview","Version","Versions","List","Component","actions","defaultColumns","description","disableDuplicate","bool","enableRichTextLink","enableRichTextRelationship","group","pattern","hidden","hideAPIURL","hooks","beforeDuplicate","listSearchableFields","livePreview","pagination","defaultLimit","number","limits","preview","useAsTitle","auth","cookies","domain","sameSite","secure","depth","disableLocalStrategy","valid","forgotPassword","generateEmailHTML","generateEmailSubject","lockTime","maxLoginAttempts","removeTokenFromResponses","strategies","name","strategy","maxArity","tokenExpiration","useAPIKey","verify","custom","any","defaultSort","endpoints","fields","graphQL","pluralName","singularName","afterChange","afterDelete","afterForgotPassword","afterLogin","afterLogout","afterMe","afterOperation","afterRead","afterRefresh","beforeChange","beforeDelete","beforeLogin","beforeOperation","beforeRead","beforeValidate","indexes","options","labels","plural","singular","timestamps","typescript","interface","upload","adminThumbnail","crop","disableLocalStorage","filesRequiredOnCreate","focalPoint","formatOptions","format","handlers","imageSizes","height","integer","allow","width","unknown","mimeTypes","resizeOptions","background","fastShrinkOnLoad","fit","kernel","position","withoutEnlargement","staticDir","staticOptions","tempFileDir","trimOptions","useTempFiles","versions","drafts","autosave","interval","maxPerDoc"],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { };
|
|
2
2
|
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlLCBHcmFwaFFMTm9uTnVsbCwgR3JhcGhRTE9iamVjdFR5cGUgfSBmcm9tICdncmFwaHFsJ1xuaW1wb3J0IHR5cGUgeyBEZWVwUmVxdWlyZWQgfSBmcm9tICd0cy1lc3NlbnRpYWxzJ1xuXG5pbXBvcnQgdHlwZSB7XG4gIEN1c3RvbVByZXZpZXdCdXR0b25Qcm9wcyxcbiAgQ3VzdG9tUHVibGlzaEJ1dHRvblByb3BzLFxuICBDdXN0b21TYXZlQnV0dG9uUHJvcHMsXG4gIEN1c3RvbVNhdmVEcmFmdEJ1dHRvblByb3BzLFxufSBmcm9tICcuLi8uLi9hZG1pbi90eXBlcy5qcydcbmltcG9ydCB0eXBlIHsgQXV0aCwgSW5jb21pbmdBdXRoVHlwZSwgVXNlciB9IGZyb20gJy4uLy4uL2F1dGgvdHlwZXMuanMnXG5pbXBvcnQgdHlwZSB7XG4gIEFjY2VzcyxcbiAgRWRpdFZpZXdDb21wb25lbnQsXG4gIEVkaXRWaWV3Q29uZmlnLFxuICBFbmRwb2ludCxcbiAgRW50aXR5RGVzY3JpcHRpb24sXG4gIEdlbmVyYXRlUHJldmlld1VSTCxcbiAgTGl2ZVByZXZpZXdDb25maWcsXG59IGZyb20gJy4uLy4uL2NvbmZpZy90eXBlcy5qcydcbmltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICcuLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzLmpzJ1xuaW1wb3J0IHR5cGUgeyBHZW5lcmF0ZWRUeXBlcyB9IGZyb20gJy4uLy4uL2luZGV4LmpzJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCwgUmVxdWVzdENvbnRleHQgfSBmcm9tICcuLi8uLi90eXBlcy9pbmRleC5qcydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkVXBsb2FkQ29uZmlnLCBVcGxvYWRDb25maWcgfSBmcm9tICcuLi8uLi91cGxvYWRzL3R5cGVzLmpzJ1xuaW1wb3J0IHR5cGUge1xuICBJbmNvbWluZ0NvbGxlY3Rpb25WZXJzaW9ucyxcbiAgU2FuaXRpemVkQ29sbGVjdGlvblZlcnNpb25zLFxufSBmcm9tICcuLi8uLi92ZXJzaW9ucy90eXBlcy5qcydcbmltcG9ydCB0eXBlIHsgQWZ0ZXJPcGVyYXRpb25BcmcsIEFmdGVyT3BlcmF0aW9uTWFwIH0gZnJvbSAnLi4vb3BlcmF0aW9ucy91dGlscy5qcydcblxuZXhwb3J0IHR5cGUgSG9va09wZXJhdGlvblR5cGUgPVxuICB8ICdhdXRvc2F2ZSdcbiAgfCAnY3JlYXRlJ1xuICB8ICdkZWxldGUnXG4gIHwgJ2ZvcmdvdFBhc3N3b3JkJ1xuICB8ICdsb2dpbidcbiAgfCAncmVhZCdcbiAgfCAncmVmcmVzaCdcbiAgfCAndXBkYXRlJ1xuXG50eXBlIENyZWF0ZU9yVXBkYXRlT3BlcmF0aW9uID0gRXh0cmFjdDxIb29rT3BlcmF0aW9uVHlwZSwgJ2NyZWF0ZScgfCAndXBkYXRlJz5cblxuZXhwb3J0IHR5cGUgQmVmb3JlT3BlcmF0aW9uSG9vayA9IChhcmdzOiB7XG4gIGFyZ3M/OiBhbnlcbiAgLyoqIFRoZSBjb2xsZWN0aW9uIHdoaWNoIHRoaXMgaG9vayBpcyBiZWluZyBydW4gb24gKi9cbiAgY29sbGVjdGlvbjogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZ1xuICBjb250ZXh0OiBSZXF1ZXN0Q29udGV4dFxuICAvKipcbiAgICogSG9vayBvcGVyYXRpb24gYmVpbmcgcGVyZm9ybWVkXG4gICAqL1xuICBvcGVyYXRpb246IEhvb2tPcGVyYXRpb25UeXBlXG4gIHJlcTogUGF5bG9hZFJlcXVlc3Rcbn0pID0+IGFueVxuXG5leHBvcnQgdHlwZSBCZWZvcmVWYWxpZGF0ZUhvb2s8VCBleHRlbmRzIFR5cGVXaXRoSUQgPSBhbnk+ID0gKGFyZ3M6IHtcbiAgLyoqIFRoZSBjb2xsZWN0aW9uIHdoaWNoIHRoaXMgaG9vayBpcyBiZWluZyBydW4gb24gKi9cbiAgY29sbGVjdGlvbjogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZ1xuICBjb250ZXh0OiBSZXF1ZXN0Q29udGV4dFxuICBkYXRhPzogUGFydGlhbDxUPlxuICAvKipcbiAgICogSG9vayBvcGVyYXRpb24gYmVpbmcgcGVyZm9ybWVkXG4gICAqL1xuICBvcGVyYXRpb246IENyZWF0ZU9yVXBkYXRlT3BlcmF0aW9uXG4gIC8qKlxuICAgKiBPcmlnaW5hbCBkb2N1bWVudCBiZWZvcmUgY2hhbmdlXG4gICAqXG4gICAqIGB1bmRlZmluZWRgIG9uICdjcmVhdGUnIG9wZXJhdGlvblxuICAgKi9cbiAgb3JpZ2luYWxEb2M/OiBUXG4gIHJlcT86IFBheWxvYWRSZXF1ZXN0XG59KSA9PiBhbnlcblxuZXhwb3J0IHR5cGUgQmVmb3JlQ2hhbmdlSG9vazxUIGV4dGVuZHMgVHlwZVdpdGhJRCA9IGFueT4gPSAoYXJnczoge1xuICAvKiogVGhlIGNvbGxlY3Rpb24gd2hpY2ggdGhpcyBob29rIGlzIGJlaW5nIHJ1biBvbiAqL1xuICBjb2xsZWN0aW9uOiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnXG4gIGNvbnRleHQ6IFJlcXVlc3RDb250ZXh0XG4gIGRhdGE6IFBhcnRpYWw8VD5cbiAgLyoqXG4gICAqIEhvb2sgb3BlcmF0aW9uIGJlaW5nIHBlcmZvcm1lZFxuICAgKi9cbiAgb3BlcmF0aW9uOiBDcmVhdGVPclVwZGF0ZU9wZXJhdGlvblxuICAvKipcbiAgICogT3JpZ2luYWwgZG9jdW1lbnQgYmVmb3JlIGNoYW5nZVxuICAgKlxuICAgKiBgdW5kZWZpbmVkYCBvbiAnY3JlYXRlJyBvcGVyYXRpb25cbiAgICovXG4gIG9yaWdpbmFsRG9jPzogVFxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG59KSA9PiBhbnlcblxuZXhwb3J0IHR5cGUgQWZ0ZXJDaGFuZ2VIb29rPFQgZXh0ZW5kcyBUeXBlV2l0aElEID0gYW55PiA9IChhcmdzOiB7XG4gIC8qKiBUaGUgY29sbGVjdGlvbiB3aGljaCB0aGlzIGhvb2sgaXMgYmVpbmcgcnVuIG9uICovXG4gIGNvbGxlY3Rpb246IFNhbml0aXplZENvbGxlY3Rpb25Db25maWdcbiAgY29udGV4dDogUmVxdWVzdENvbnRleHRcbiAgZG9jOiBUXG4gIC8qKlxuICAgKiBIb29rIG9wZXJhdGlvbiBiZWluZyBwZXJmb3JtZWRcbiAgICovXG4gIG9wZXJhdGlvbjogQ3JlYXRlT3JVcGRhdGVPcGVyYXRpb25cbiAgcHJldmlvdXNEb2M6IFRcbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxufSkgPT4gYW55XG5cbmV4cG9ydCB0eXBlIEJlZm9yZVJlYWRIb29rPFQgZXh0ZW5kcyBUeXBlV2l0aElEID0gYW55PiA9IChhcmdzOiB7XG4gIC8qKiBUaGUgY29sbGVjdGlvbiB3aGljaCB0aGlzIGhvb2sgaXMgYmVpbmcgcnVuIG9uICovXG4gIGNvbGxlY3Rpb246IFNhbml0aXplZENvbGxlY3Rpb25Db25maWdcbiAgY29udGV4dDogUmVxdWVzdENvbnRleHRcbiAgZG9jOiBUXG4gIHF1ZXJ5OiB7IFtrZXk6IHN0cmluZ106IGFueSB9XG4gIHJlcTogUGF5bG9hZFJlcXVlc3Rcbn0pID0+IGFueVxuXG5leHBvcnQgdHlwZSBBZnRlclJlYWRIb29rPFQgZXh0ZW5kcyBUeXBlV2l0aElEID0gYW55PiA9IChhcmdzOiB7XG4gIC8qKiBUaGUgY29sbGVjdGlvbiB3aGljaCB0aGlzIGhvb2sgaXMgYmVpbmcgcnVuIG9uICovXG4gIGNvbGxlY3Rpb246IFNhbml0aXplZENvbGxlY3Rpb25Db25maWdcbiAgY29udGV4dDogUmVxdWVzdENvbnRleHRcbiAgZG9jOiBUXG4gIGZpbmRNYW55PzogYm9vbGVhblxuICBxdWVyeT86IHsgW2tleTogc3RyaW5nXTogYW55IH1cbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxufSkgPT4gYW55XG5cbmV4cG9ydCB0eXBlIEJlZm9yZURlbGV0ZUhvb2sgPSAoYXJnczoge1xuICAvKiogVGhlIGNvbGxlY3Rpb24gd2hpY2ggdGhpcyBob29rIGlzIGJlaW5nIHJ1biBvbiAqL1xuICBjb2xsZWN0aW9uOiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnXG4gIGNvbnRleHQ6IFJlcXVlc3RDb250ZXh0XG4gIGlkOiBudW1iZXIgfCBzdHJpbmdcbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxufSkgPT4gYW55XG5cbmV4cG9ydCB0eXBlIEFmdGVyRGVsZXRlSG9vazxUIGV4dGVuZHMgVHlwZVdpdGhJRCA9IGFueT4gPSAoYXJnczoge1xuICAvKiogVGhlIGNvbGxlY3Rpb24gd2hpY2ggdGhpcyBob29rIGlzIGJlaW5nIHJ1biBvbiAqL1xuICBjb2xsZWN0aW9uOiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnXG4gIGNvbnRleHQ6IFJlcXVlc3RDb250ZXh0XG4gIGRvYzogVFxuICBpZDogbnVtYmVyIHwgc3RyaW5nXG4gIHJlcTogUGF5bG9hZFJlcXVlc3Rcbn0pID0+IGFueVxuXG5leHBvcnQgdHlwZSBBZnRlck9wZXJhdGlvbkhvb2s8VCBleHRlbmRzIFR5cGVXaXRoSUQgPSBhbnk+ID0gKFxuICBhcmc6IEFmdGVyT3BlcmF0aW9uQXJnPFQ+LFxuKSA9PiBQcm9taXNlPFJldHVyblR5cGU8QWZ0ZXJPcGVyYXRpb25NYXA8VD5ba2V5b2YgQWZ0ZXJPcGVyYXRpb25NYXA8VD5dPj5cblxuZXhwb3J0IHR5cGUgQWZ0ZXJFcnJvckhvb2sgPSAoXG4gIGVycjogRXJyb3IsXG4gIHJlczogdW5rbm93bixcbiAgY29udGV4dDogUmVxdWVzdENvbnRleHQsXG4gIC8qKiBUaGUgY29sbGVjdGlvbiB3aGljaCB0aGlzIGhvb2sgaXMgYmVpbmcgcnVuIG9uLiBUaGlzIGlzIG51bGwgaWYgdGhlIEFmdGVyRXJyb3IgaG9vayB3YXMgYmUgYWRkZWQgdG8gdGhlIHBheWxvYWQtd2lkZSBjb25maWcgKi9cbiAgY29sbGVjdGlvbjogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB8IG51bGwsXG4pID0+IHsgcmVzcG9uc2U6IGFueTsgc3RhdHVzOiBudW1iZXIgfSB8IHZvaWRcblxuZXhwb3J0IHR5cGUgQmVmb3JlTG9naW5Ib29rPFQgZXh0ZW5kcyBUeXBlV2l0aElEID0gYW55PiA9IChhcmdzOiB7XG4gIC8qKiBUaGUgY29sbGVjdGlvbiB3aGljaCB0aGlzIGhvb2sgaXMgYmVpbmcgcnVuIG9uICovXG4gIGNvbGxlY3Rpb246IFNhbml0aXplZENvbGxlY3Rpb25Db25maWdcbiAgY29udGV4dDogUmVxdWVzdENvbnRleHRcbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICB1c2VyOiBUXG59KSA9PiBhbnlcblxuZXhwb3J0IHR5cGUgQWZ0ZXJMb2dpbkhvb2s8VCBleHRlbmRzIFR5cGVXaXRoSUQgPSBhbnk+ID0gKGFyZ3M6IHtcbiAgLyoqIFRoZSBjb2xsZWN0aW9uIHdoaWNoIHRoaXMgaG9vayBpcyBiZWluZyBydW4gb24gKi9cbiAgY29sbGVjdGlvbjogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZ1xuICBjb250ZXh0OiBSZXF1ZXN0Q29udGV4dFxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gIHRva2VuOiBzdHJpbmdcbiAgdXNlcjogVFxufSkgPT4gYW55XG5cbmV4cG9ydCB0eXBlIEFmdGVyTG9nb3V0SG9vazxUIGV4dGVuZHMgVHlwZVdpdGhJRCA9IGFueT4gPSAoYXJnczoge1xuICAvKiogVGhlIGNvbGxlY3Rpb24gd2hpY2ggdGhpcyBob29rIGlzIGJlaW5nIHJ1biBvbiAqL1xuICBjb2xsZWN0aW9uOiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnXG4gIGNvbnRleHQ6IFJlcXVlc3RDb250ZXh0XG4gIHJlcTogUGF5bG9hZFJlcXVlc3Rcbn0pID0+IGFueVxuXG5leHBvcnQgdHlwZSBBZnRlck1lSG9vazxUIGV4dGVuZHMgVHlwZVdpdGhJRCA9IGFueT4gPSAoYXJnczoge1xuICAvKiogVGhlIGNvbGxlY3Rpb24gd2hpY2ggdGhpcyBob29rIGlzIGJlaW5nIHJ1biBvbiAqL1xuICBjb2xsZWN0aW9uOiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnXG4gIGNvbnRleHQ6IFJlcXVlc3RDb250ZXh0XG4gIHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgcmVzcG9uc2U6IHVua25vd25cbn0pID0+IGFueVxuXG5leHBvcnQgdHlwZSBBZnRlclJlZnJlc2hIb29rPFQgZXh0ZW5kcyBUeXBlV2l0aElEID0gYW55PiA9IChhcmdzOiB7XG4gIC8qKiBUaGUgY29sbGVjdGlvbiB3aGljaCB0aGlzIGhvb2sgaXMgYmVpbmcgcnVuIG9uICovXG4gIGNvbGxlY3Rpb246IFNhbml0aXplZENvbGxlY3Rpb25Db25maWdcbiAgY29udGV4dDogUmVxdWVzdENvbnRleHRcbiAgZXhwOiBudW1iZXJcbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICB0b2tlbjogc3RyaW5nXG59KSA9PiBhbnlcblxuZXhwb3J0IHR5cGUgQWZ0ZXJGb3Jnb3RQYXNzd29yZEhvb2sgPSAoYXJnczoge1xuICBhcmdzPzogYW55XG4gIC8qKiBUaGUgY29sbGVjdGlvbiB3aGljaCB0aGlzIGhvb2sgaXMgYmVpbmcgcnVuIG9uICovXG4gIGNvbGxlY3Rpb246IFNhbml0aXplZENvbGxlY3Rpb25Db25maWdcbiAgY29udGV4dDogUmVxdWVzdENvbnRleHRcbn0pID0+IGFueVxuXG50eXBlIEJlZm9yZUR1cGxpY2F0ZUFyZ3M8VD4gPSB7XG4gIC8qKiBUaGUgY29sbGVjdGlvbiB3aGljaCB0aGlzIGhvb2sgaXMgYmVpbmcgcnVuIG9uICovXG4gIGNvbGxlY3Rpb246IFNhbml0aXplZENvbGxlY3Rpb25Db25maWdcbiAgZGF0YTogVFxuICBsb2NhbGU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgQmVmb3JlRHVwbGljYXRlPFQgPSBhbnk+ID0gKGFyZ3M6IEJlZm9yZUR1cGxpY2F0ZUFyZ3M8VD4pID0+IFByb21pc2U8VD4gfCBUXG5cbmV4cG9ydCB0eXBlIENvbGxlY3Rpb25BZG1pbk9wdGlvbnMgPSB7XG4gIC8qKlxuICAgKiBDdXN0b20gYWRtaW4gY29tcG9uZW50c1xuICAgKi9cbiAgY29tcG9uZW50cz86IHtcbiAgICBBZnRlckxpc3Q/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5bXVxuICAgIEFmdGVyTGlzdFRhYmxlPzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+W11cbiAgICBCZWZvcmVMaXN0PzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+W11cbiAgICBCZWZvcmVMaXN0VGFibGU/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5bXVxuICAgIC8qKlxuICAgICAqIENvbXBvbmVudHMgd2l0aGluIHRoZSBlZGl0IHZpZXdcbiAgICAgKi9cbiAgICBlZGl0Pzoge1xuICAgICAgLyoqXG4gICAgICAgKiBSZXBsYWNlcyB0aGUgXCJQcmV2aWV3XCIgYnV0dG9uXG4gICAgICAgKi9cbiAgICAgIFByZXZpZXdCdXR0b24/OiBDdXN0b21QcmV2aWV3QnV0dG9uUHJvcHNcbiAgICAgIC8qKlxuICAgICAgICogUmVwbGFjZXMgdGhlIFwiUHVibGlzaFwiIGJ1dHRvblxuICAgICAgICogKyBkcmFmdHMgbXVzdCBiZSBlbmFibGVkXG4gICAgICAgKi9cbiAgICAgIFB1Ymxpc2hCdXR0b24/OiBDdXN0b21QdWJsaXNoQnV0dG9uUHJvcHNcbiAgICAgIC8qKlxuICAgICAgICogUmVwbGFjZXMgdGhlIFwiU2F2ZVwiIGJ1dHRvblxuICAgICAgICogKyBkcmFmdHMgbXVzdCBiZSBkaXNhYmxlZFxuICAgICAgICovXG4gICAgICBTYXZlQnV0dG9uPzogQ3VzdG9tU2F2ZUJ1dHRvblByb3BzXG4gICAgICAvKipcbiAgICAgICAqIFJlcGxhY2VzIHRoZSBcIlNhdmUgRHJhZnRcIiBidXR0b25cbiAgICAgICAqICsgZHJhZnRzIG11c3QgYmUgZW5hYmxlZFxuICAgICAgICogKyBhdXRvc2F2ZSBtdXN0IGJlIGRpc2FibGVkXG4gICAgICAgKi9cbiAgICAgIFNhdmVEcmFmdEJ1dHRvbj86IEN1c3RvbVNhdmVEcmFmdEJ1dHRvblByb3BzXG4gICAgfVxuICAgIHZpZXdzPzoge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgdG8gYSBSZWFjdCBjb21wb25lbnQgdG8gcmVwbGFjZSB0aGUgZW50aXJlIFwiRWRpdFwiIHZpZXcsIGluY2x1ZGluZyBhbGwgbmVzdGVkIHJvdXRlcy5cbiAgICAgICAqIFNldCB0byBhbiBvYmplY3QgdG8gcmVwbGFjZSBvciBtb2RpZnkgaW5kaXZpZHVhbCBuZXN0ZWQgcm91dGVzLCBvciB0byBhZGQgbmV3IG9uZXMuXG4gICAgICAgKi9cbiAgICAgIEVkaXQ/OlxuICAgICAgICB8IChcbiAgICAgICAgICAgIHwge1xuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIFJlcGxhY2Ugb3IgbW9kaWZ5IGluZGl2aWR1YWwgbmVzdGVkIHJvdXRlcywgb3IgYWRkIG5ldyBvbmVzOlxuICAgICAgICAgICAgICAgICAqICsgYERlZmF1bHRgIC0gYC9hZG1pbi9jb2xsZWN0aW9ucy86Y29sbGVjdGlvbi86aWRgXG4gICAgICAgICAgICAgICAgICogKyBgQVBJYCAtIGAvYWRtaW4vY29sbGVjdGlvbnMvOmNvbGxlY3Rpb24vOmlkL2FwaWBcbiAgICAgICAgICAgICAgICAgKiArIGBMaXZlUHJldmlld2AgLSBgL2FkbWluL2NvbGxlY3Rpb25zLzpjb2xsZWN0aW9uLzppZC9wcmV2aWV3YFxuICAgICAgICAgICAgICAgICAqICsgYFJlZmVyZW5jZXNgIC0gYC9hZG1pbi9jb2xsZWN0aW9ucy86Y29sbGVjdGlvbi86aWQvcmVmZXJlbmNlc2BcbiAgICAgICAgICAgICAgICAgKiArIGBSZWxhdGlvbnNoaXBzYCAtIGAvYWRtaW4vY29sbGVjdGlvbnMvOmNvbGxlY3Rpb24vOmlkL3JlbGF0aW9uc2hpcHNgXG4gICAgICAgICAgICAgICAgICogKyBgVmVyc2lvbnNgIC0gYC9hZG1pbi9jb2xsZWN0aW9ucy86Y29sbGVjdGlvbi86aWQvdmVyc2lvbnNgXG4gICAgICAgICAgICAgICAgICogKyBgVmVyc2lvbmAgLSBgL2FkbWluL2NvbGxlY3Rpb25zLzpjb2xsZWN0aW9uLzppZC92ZXJzaW9ucy86dmVyc2lvbmBcbiAgICAgICAgICAgICAgICAgKiArIGBDdXN0b21WaWV3YCAtIGAvYWRtaW4vY29sbGVjdGlvbnMvOmNvbGxlY3Rpb24vOmlkLzpwYXRoYFxuICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgIEFQST86IEVkaXRWaWV3Q29tcG9uZW50IHwgUGFydGlhbDxFZGl0Vmlld0NvbmZpZz5cbiAgICAgICAgICAgICAgICBEZWZhdWx0PzogRWRpdFZpZXdDb21wb25lbnQgfCBQYXJ0aWFsPEVkaXRWaWV3Q29uZmlnPlxuICAgICAgICAgICAgICAgIExpdmVQcmV2aWV3PzogRWRpdFZpZXdDb21wb25lbnQgfCBQYXJ0aWFsPEVkaXRWaWV3Q29uZmlnPlxuICAgICAgICAgICAgICAgIFZlcnNpb24/OiBFZGl0Vmlld0NvbXBvbmVudCB8IFBhcnRpYWw8RWRpdFZpZXdDb25maWc+XG4gICAgICAgICAgICAgICAgVmVyc2lvbnM/OiBFZGl0Vmlld0NvbXBvbmVudCB8IFBhcnRpYWw8RWRpdFZpZXdDb25maWc+XG4gICAgICAgICAgICAgICAgLy8gVE9ETzogdW5jb21tZW50IHRoZXNlIGFzIHRoZXkgYXJlIGJ1aWx0XG4gICAgICAgICAgICAgICAgLy8gUmVmZXJlbmNlcz86IEVkaXRWaWV3XG4gICAgICAgICAgICAgICAgLy8gUmVsYXRpb25zaGlwcz86IEVkaXRWaWV3XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHwge1xuICAgICAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IEVkaXRWaWV3Q29uZmlnXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICApXG4gICAgICAgIHwgRWRpdFZpZXdDb21wb25lbnRcbiAgICAgIExpc3Q/OlxuICAgICAgICB8IHtcbiAgICAgICAgICAgIENvbXBvbmVudD86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PlxuICAgICAgICAgICAgYWN0aW9ucz86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgICAgICAgfVxuICAgICAgICB8IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PlxuICAgIH1cbiAgfVxuICAvKipcbiAgICogRGVmYXVsdCBjb2x1bW5zIHRvIHNob3cgaW4gbGlzdCB2aWV3XG4gICAqL1xuICBkZWZhdWx0Q29sdW1ucz86IHN0cmluZ1tdXG4gIC8qKlxuICAgKiBDdXN0b20gZGVzY3JpcHRpb24gZm9yIGNvbGxlY3Rpb25cbiAgICovXG4gIGRlc2NyaXB0aW9uPzogRW50aXR5RGVzY3JpcHRpb25cbiAgZGlzYWJsZUR1cGxpY2F0ZT86IGJvb2xlYW5cbiAgZW5hYmxlUmljaFRleHRMaW5rPzogYm9vbGVhblxuICBlbmFibGVSaWNoVGV4dFJlbGF0aW9uc2hpcD86IGJvb2xlYW5cbiAgLyoqXG4gICAqIFBsYWNlIGNvbGxlY3Rpb25zIGludG8gYSBuYXZpZ2F0aW9uYWwgZ3JvdXBcbiAgICogKi9cbiAgZ3JvdXA/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgc3RyaW5nXG4gIC8qKlxuICAgKiBFeGNsdWRlIHRoZSBjb2xsZWN0aW9uIGZyb20gdGhlIGFkbWluIG5hdiBhbmQgcm91dGVzXG4gICAqL1xuICBoaWRkZW4/OiAoKGFyZ3M6IHsgdXNlcjogVXNlciB9KSA9PiBib29sZWFuKSB8IGJvb2xlYW5cbiAgLyoqXG4gICAqIEhpZGUgdGhlIEFQSSBVUkwgd2l0aGluIHRoZSBFZGl0IHZpZXdcbiAgICovXG4gIGhpZGVBUElVUkw/OiBib29sZWFuXG4gIGhvb2tzPzoge1xuICAgIC8qKlxuICAgICAqIEZ1bmN0aW9uIHRoYXQgYWxsb3dzIHlvdSB0byBtb2RpZnkgYSBkb2N1bWVudCdzIGRhdGEgYmVmb3JlIGl0IGlzIGR1cGxpY2F0ZWRcbiAgICAgKi9cbiAgICBiZWZvcmVEdXBsaWNhdGU/OiBCZWZvcmVEdXBsaWNhdGVcbiAgfVxuICAvKipcbiAgICogQWRkaXRpb25hbCBmaWVsZHMgdG8gYmUgc2VhcmNoZWQgdmlhIHRoZSBmdWxsIHRleHQgc2VhcmNoXG4gICAqL1xuICBsaXN0U2VhcmNoYWJsZUZpZWxkcz86IHN0cmluZ1tdXG4gIC8qKlxuICAgKiBMaXZlIHByZXZpZXcgb3B0aW9uc1xuICAgKi9cbiAgbGl2ZVByZXZpZXc/OiBMaXZlUHJldmlld0NvbmZpZ1xuICBwYWdpbmF0aW9uPzoge1xuICAgIGRlZmF1bHRMaW1pdD86IG51bWJlclxuICAgIGxpbWl0cz86IG51bWJlcltdXG4gIH1cbiAgLyoqXG4gICAqIEZ1bmN0aW9uIHRvIGdlbmVyYXRlIGN1c3RvbSBwcmV2aWV3IFVSTFxuICAgKi9cbiAgcHJldmlldz86IEdlbmVyYXRlUHJldmlld1VSTFxuICAvKipcbiAgICogRmllbGQgdG8gdXNlIGFzIHRpdGxlIGluIEVkaXQgdmlldyBhbmQgZmlyc3QgY29sdW1uIGluIExpc3Qgdmlld1xuICAgKi9cbiAgdXNlQXNUaXRsZT86IHN0cmluZ1xufVxuXG4vKiogTWFuYWdlIGFsbCBhc3BlY3RzIG9mIGEgZGF0YSBjb2xsZWN0aW9uICovXG5leHBvcnQgdHlwZSBDb2xsZWN0aW9uQ29uZmlnID0ge1xuICAvKipcbiAgICogQWNjZXNzIGNvbnRyb2xcbiAgICovXG4gIGFjY2Vzcz86IHtcbiAgICBhZG1pbj86IChhcmdzPzogYW55KSA9PiBQcm9taXNlPGJvb2xlYW4+IHwgYm9vbGVhblxuICAgIGNyZWF0ZT86IEFjY2Vzc1xuICAgIGRlbGV0ZT86IEFjY2Vzc1xuICAgIHJlYWQ/OiBBY2Nlc3NcbiAgICByZWFkVmVyc2lvbnM/OiBBY2Nlc3NcbiAgICB1bmxvY2s/OiBBY2Nlc3NcbiAgICB1cGRhdGU/OiBBY2Nlc3NcbiAgfVxuICAvKipcbiAgICogQ29sbGVjdGlvbiBhZG1pbiBvcHRpb25zXG4gICAqL1xuICBhZG1pbj86IENvbGxlY3Rpb25BZG1pbk9wdGlvbnNcbiAgLyoqXG4gICAqIENvbGxlY3Rpb24gbG9naW4gb3B0aW9uc1xuICAgKlxuICAgKiBVc2UgYHRydWVgIHRvIGVuYWJsZSB3aXRoIGRlZmF1bHQgb3B0aW9uc1xuICAgKi9cbiAgYXV0aD86IEluY29taW5nQXV0aFR5cGUgfCBib29sZWFuXG4gIC8qKiBFeHRlbnNpb24gcG9pbnQgdG8gYWRkIHlvdXIgY3VzdG9tIGRhdGEuICovXG4gIGN1c3RvbT86IFJlY29yZDxzdHJpbmcsIGFueT5cbiAgLyoqXG4gICAqIERlZmF1bHQgZmllbGQgdG8gc29ydCBieSBpbiBjb2xsZWN0aW9uIGxpc3Qgdmlld1xuICAgKi9cbiAgZGVmYXVsdFNvcnQ/OiBzdHJpbmdcbiAgLyoqXG4gICAqIEN1c3RvbSByZXN0IGFwaSBlbmRwb2ludHMsIHNldCBmYWxzZSB0byBkaXNhYmxlIGFsbCByZXN0IGVuZHBvaW50cyBmb3IgdGhpcyBjb2xsZWN0aW9uLlxuICAgKi9cbiAgZW5kcG9pbnRzPzogT21pdDxFbmRwb2ludCwgJ3Jvb3QnPltdIHwgZmFsc2VcbiAgZmllbGRzOiBGaWVsZFtdXG4gIC8qKlxuICAgKiBHcmFwaFFMIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIGdyYXBoUUw/OlxuICAgIHwge1xuICAgICAgICBwbHVyYWxOYW1lPzogc3RyaW5nXG4gICAgICAgIHNpbmd1bGFyTmFtZT86IHN0cmluZ1xuICAgICAgfVxuICAgIHwgZmFsc2VcbiAgLyoqXG4gICAqIEhvb2tzIHRvIG1vZGlmeSBQYXlsb2FkIGZ1bmN0aW9uYWxpdHlcbiAgICovXG4gIGhvb2tzPzoge1xuICAgIGFmdGVyQ2hhbmdlPzogQWZ0ZXJDaGFuZ2VIb29rW11cbiAgICBhZnRlckRlbGV0ZT86IEFmdGVyRGVsZXRlSG9va1tdXG4gICAgYWZ0ZXJFcnJvcj86IEFmdGVyRXJyb3JIb29rXG4gICAgYWZ0ZXJGb3Jnb3RQYXNzd29yZD86IEFmdGVyRm9yZ290UGFzc3dvcmRIb29rW11cbiAgICBhZnRlckxvZ2luPzogQWZ0ZXJMb2dpbkhvb2tbXVxuICAgIGFmdGVyTG9nb3V0PzogQWZ0ZXJMb2dvdXRIb29rW11cbiAgICBhZnRlck1lPzogQWZ0ZXJNZUhvb2tbXVxuICAgIGFmdGVyT3BlcmF0aW9uPzogQWZ0ZXJPcGVyYXRpb25Ib29rW11cbiAgICBhZnRlclJlYWQ/OiBBZnRlclJlYWRIb29rW11cbiAgICBhZnRlclJlZnJlc2g/OiBBZnRlclJlZnJlc2hIb29rW11cbiAgICBiZWZvcmVDaGFuZ2U/OiBCZWZvcmVDaGFuZ2VIb29rW11cbiAgICBiZWZvcmVEZWxldGU/OiBCZWZvcmVEZWxldGVIb29rW11cbiAgICBiZWZvcmVMb2dpbj86IEJlZm9yZUxvZ2luSG9va1tdXG4gICAgYmVmb3JlT3BlcmF0aW9uPzogQmVmb3JlT3BlcmF0aW9uSG9va1tdXG4gICAgYmVmb3JlUmVhZD86IEJlZm9yZVJlYWRIb29rW11cbiAgICBiZWZvcmVWYWxpZGF0ZT86IEJlZm9yZVZhbGlkYXRlSG9va1tdXG4gIH1cbiAgLyoqXG4gICAqIExhYmVsIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIGxhYmVscz86IHtcbiAgICBwbHVyYWw/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgc3RyaW5nXG4gICAgc2luZ3VsYXI/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgc3RyaW5nXG4gIH1cbiAgc2x1Zzogc3RyaW5nXG4gIC8qKlxuICAgKiBBZGQgYGNyZWF0ZWRBdGAgYW5kIGB1cGRhdGVkQXRgIGZpZWxkc1xuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICB0aW1lc3RhbXBzPzogYm9vbGVhblxuICAvKipcbiAgICogT3B0aW9ucyB1c2VkIGluIHR5cGVzY3JpcHQgZ2VuZXJhdGlvblxuICAgKi9cbiAgdHlwZXNjcmlwdD86IHtcbiAgICAvKipcbiAgICAgKiBUeXBlc2NyaXB0IGdlbmVyYXRpb24gbmFtZSBnaXZlbiB0byB0aGUgaW50ZXJmYWNlIHR5cGVcbiAgICAgKi9cbiAgICBpbnRlcmZhY2U/OiBzdHJpbmdcbiAgfVxuICAvKipcbiAgICogQ3VzdG9taXplIHRoZSBoYW5kbGluZyBvZiBpbmNvbWluZyBmaWxlIHVwbG9hZHNcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2UgLy8gZGlzYWJsZSB1cGxvYWRzXG4gICAqL1xuICB1cGxvYWQ/OiBVcGxvYWRDb25maWcgfCBib29sZWFuXG4gIC8qKlxuICAgKiBDdXN0b21pemUgdGhlIGhhbmRsaW5nIG9mIGluY29taW5nIGZpbGUgdXBsb2Fkc1xuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZSAvLyBkaXNhYmxlIHZlcnNpb25pbmdcbiAgICovXG4gIHZlcnNpb25zPzogSW5jb21pbmdDb2xsZWN0aW9uVmVyc2lvbnMgfCBib29sZWFuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZ1xuICBleHRlbmRzIE9taXQ8XG4gICAgRGVlcFJlcXVpcmVkPENvbGxlY3Rpb25Db25maWc+LFxuICAgICdhdXRoJyB8ICdlbmRwb2ludHMnIHwgJ2ZpZWxkcycgfCAndXBsb2FkJyB8ICd2ZXJzaW9ucydcbiAgPiB7XG4gIGF1dGg6IEF1dGhcbiAgZW5kcG9pbnRzOiBFbmRwb2ludFtdIHwgZmFsc2VcbiAgZmllbGRzOiBGaWVsZFtdXG4gIHVwbG9hZDogU2FuaXRpemVkVXBsb2FkQ29uZmlnXG4gIHZlcnNpb25zOiBTYW5pdGl6ZWRDb2xsZWN0aW9uVmVyc2lvbnNcbn1cblxuZXhwb3J0IHR5cGUgQ29sbGVjdGlvbiA9IHtcbiAgY29uZmlnOiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnXG4gIGdyYXBoUUw/OiB7XG4gICAgSldUOiBHcmFwaFFMT2JqZWN0VHlwZVxuICAgIG11dGF0aW9uSW5wdXRUeXBlOiBHcmFwaFFMTm9uTnVsbDxhbnk+XG4gICAgcGFnaW5hdGVkVHlwZTogR3JhcGhRTE9iamVjdFR5cGVcbiAgICB0eXBlOiBHcmFwaFFMT2JqZWN0VHlwZVxuICAgIHVwZGF0ZU11dGF0aW9uSW5wdXRUeXBlOiBHcmFwaFFMTm9uTnVsbDxhbnk+XG4gICAgdmVyc2lvblR5cGU6IEdyYXBoUUxPYmplY3RUeXBlXG4gICAgd2hlcmVJbnB1dFR5cGU6IEdyYXBoUUxJbnB1dE9iamVjdFR5cGVcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBCdWxrT3BlcmF0aW9uUmVzdWx0PFRTbHVnIGV4dGVuZHMga2V5b2YgR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+ID0ge1xuICBkb2NzOiBHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUU2x1Z11bXVxuICBlcnJvcnM6IHtcbiAgICBpZDogR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVFNsdWddWydpZCddXG4gICAgbWVzc2FnZTogc3RyaW5nXG4gIH1bXVxufVxuXG5leHBvcnQgdHlwZSBBdXRoQ29sbGVjdGlvbiA9IHtcbiAgY29uZmlnOiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnXG59XG5cbmV4cG9ydCB0eXBlIFR5cGVXaXRoSUQgPSB7XG4gIGlkOiBudW1iZXIgfCBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgVHlwZVdpdGhUaW1lc3RhbXBzID0ge1xuICBba2V5OiBzdHJpbmddOiB1bmtub3duXG4gIGNyZWF0ZWRBdDogc3RyaW5nXG4gIGlkOiBudW1iZXIgfCBzdHJpbmdcbiAgdXBkYXRlZEF0OiBzdHJpbmdcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE0ZEEsV0FLQyJ9
|
|
3
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/collections/config/types.ts"],"sourcesContent":["import type { GraphQLInputObjectType, GraphQLNonNull, GraphQLObjectType } from 'graphql'\nimport type { DeepRequired } from 'ts-essentials'\n\nimport type {\n CustomPreviewButtonProps,\n CustomPublishButtonProps,\n CustomSaveButtonProps,\n CustomSaveDraftButtonProps,\n} from '../../admin/types.js'\nimport type { Auth, IncomingAuthType, User } from '../../auth/types.js'\nimport type {\n Access,\n EditViewComponent,\n EditViewConfig,\n Endpoint,\n EntityDescription,\n GeneratePreviewURL,\n LivePreviewConfig,\n} from '../../config/types.js'\nimport type { Field } from '../../fields/config/types.js'\nimport type { GeneratedTypes } from '../../index.js'\nimport type { PayloadRequest, RequestContext } from '../../types/index.js'\nimport type { SanitizedUploadConfig, UploadConfig } from '../../uploads/types.js'\nimport type {\n IncomingCollectionVersions,\n SanitizedCollectionVersions,\n} from '../../versions/types.js'\nimport type { AfterOperationArg, AfterOperationMap } from '../operations/utils.js'\n\nexport type HookOperationType =\n | 'autosave'\n | 'create'\n | 'delete'\n | 'forgotPassword'\n | 'login'\n | 'read'\n | 'refresh'\n | 'update'\n\ntype CreateOrUpdateOperation = Extract<HookOperationType, 'create' | 'update'>\n\nexport type BeforeOperationHook = (args: {\n args?: any\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n /**\n * Hook operation being performed\n */\n operation: HookOperationType\n req: PayloadRequest\n}) => any\n\nexport type BeforeValidateHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n data?: Partial<T>\n /**\n * Hook operation being performed\n */\n operation: CreateOrUpdateOperation\n /**\n * Original document before change\n *\n * `undefined` on 'create' operation\n */\n originalDoc?: T\n req?: PayloadRequest\n}) => any\n\nexport type BeforeChangeHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n data: Partial<T>\n /**\n * Hook operation being performed\n */\n operation: CreateOrUpdateOperation\n /**\n * Original document before change\n *\n * `undefined` on 'create' operation\n */\n originalDoc?: T\n req: PayloadRequest\n}) => any\n\nexport type AfterChangeHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n doc: T\n /**\n * Hook operation being performed\n */\n operation: CreateOrUpdateOperation\n previousDoc: T\n req: PayloadRequest\n}) => any\n\nexport type BeforeReadHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n doc: T\n query: { [key: string]: any }\n req: PayloadRequest\n}) => any\n\nexport type AfterReadHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n doc: T\n findMany?: boolean\n query?: { [key: string]: any }\n req: PayloadRequest\n}) => any\n\nexport type BeforeDeleteHook = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n id: number | string\n req: PayloadRequest\n}) => any\n\nexport type AfterDeleteHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n doc: T\n id: number | string\n req: PayloadRequest\n}) => any\n\nexport type AfterOperationHook<T extends TypeWithID = any> = (\n arg: AfterOperationArg<T>,\n) => Promise<ReturnType<AfterOperationMap<T>[keyof AfterOperationMap<T>]>>\n\nexport type AfterErrorHook = (\n err: Error,\n res: unknown,\n context: RequestContext,\n /** The collection which this hook is being run on. This is null if the AfterError hook was be added to the payload-wide config */\n collection: SanitizedCollectionConfig | null,\n) => { response: any; status: number } | void\n\nexport type BeforeLoginHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n req: PayloadRequest\n user: T\n}) => any\n\nexport type AfterLoginHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n req: PayloadRequest\n token: string\n user: T\n}) => any\n\nexport type AfterLogoutHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n req: PayloadRequest\n}) => any\n\nexport type AfterMeHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n req: PayloadRequest\n response: unknown\n}) => any\n\nexport type AfterRefreshHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n exp: number\n req: PayloadRequest\n token: string\n}) => any\n\nexport type AfterForgotPasswordHook = (args: {\n args?: any\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n}) => any\n\ntype BeforeDuplicateArgs<T> = {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n data: T\n locale?: string\n}\n\nexport type BeforeDuplicate<T = any> = (args: BeforeDuplicateArgs<T>) => Promise<T> | T\n\nexport type CollectionAdminOptions = {\n /**\n * Custom admin components\n */\n components?: {\n AfterList?: React.ComponentType<any>[]\n AfterListTable?: React.ComponentType<any>[]\n BeforeList?: React.ComponentType<any>[]\n BeforeListTable?: React.ComponentType<any>[]\n /**\n * Components within the edit view\n */\n edit?: {\n /**\n * Replaces the \"Preview\" button\n */\n PreviewButton?: CustomPreviewButtonProps\n /**\n * Replaces the \"Publish\" button\n * + drafts must be enabled\n */\n PublishButton?: CustomPublishButtonProps\n /**\n * Replaces the \"Save\" button\n * + drafts must be disabled\n */\n SaveButton?: CustomSaveButtonProps\n /**\n * Replaces the \"Save Draft\" button\n * + drafts must be enabled\n * + autosave must be disabled\n */\n SaveDraftButton?: CustomSaveDraftButtonProps\n }\n views?: {\n /**\n * Set to a React component to replace the entire \"Edit\" view, including all nested routes.\n * Set to an object to replace or modify individual nested routes, or to add new ones.\n */\n Edit?:\n | (\n | {\n /**\n * Replace or modify individual nested routes, or add new ones:\n * + `Default` - `/admin/collections/:collection/:id`\n * + `API` - `/admin/collections/:collection/:id/api`\n * + `LivePreview` - `/admin/collections/:collection/:id/preview`\n * + `References` - `/admin/collections/:collection/:id/references`\n * + `Relationships` - `/admin/collections/:collection/:id/relationships`\n * + `Versions` - `/admin/collections/:collection/:id/versions`\n * + `Version` - `/admin/collections/:collection/:id/versions/:version`\n * + `CustomView` - `/admin/collections/:collection/:id/:path`\n */\n API?: EditViewComponent | Partial<EditViewConfig>\n Default?: EditViewComponent | Partial<EditViewConfig>\n LivePreview?: EditViewComponent | Partial<EditViewConfig>\n Version?: EditViewComponent | Partial<EditViewConfig>\n Versions?: EditViewComponent | Partial<EditViewConfig>\n // TODO: uncomment these as they are built\n // References?: EditView\n // Relationships?: EditView\n }\n | {\n [key: string]: EditViewConfig\n }\n )\n | EditViewComponent\n List?:\n | {\n Component?: React.ComponentType<any>\n actions?: React.ComponentType<any>[]\n }\n | React.ComponentType<any>\n }\n }\n /**\n * Default columns to show in list view\n */\n defaultColumns?: string[]\n /**\n * Custom description for collection\n */\n description?: EntityDescription\n disableDuplicate?: boolean\n enableRichTextLink?: boolean\n enableRichTextRelationship?: boolean\n /**\n * Place collections into a navigational group\n * */\n group?: Record<string, string> | string\n /**\n * Exclude the collection from the admin nav and routes\n */\n hidden?: ((args: { user: User }) => boolean) | boolean\n /**\n * Hide the API URL within the Edit view\n */\n hideAPIURL?: boolean\n hooks?: {\n /**\n * Function that allows you to modify a document's data before it is duplicated\n */\n beforeDuplicate?: BeforeDuplicate\n }\n /**\n * Additional fields to be searched via the full text search\n */\n listSearchableFields?: string[]\n /**\n * Live preview options\n */\n livePreview?: LivePreviewConfig\n pagination?: {\n defaultLimit?: number\n limits?: number[]\n }\n /**\n * Function to generate custom preview URL\n */\n preview?: GeneratePreviewURL\n /**\n * Field to use as title in Edit view and first column in List view\n */\n useAsTitle?: string\n}\n\n/** Manage all aspects of a data collection */\nexport type CollectionConfig = {\n /**\n * Access control\n */\n access?: {\n admin?: (args?: any) => Promise<boolean> | boolean\n create?: Access\n delete?: Access\n read?: Access\n readVersions?: Access\n unlock?: Access\n update?: Access\n }\n /**\n * Collection admin options\n */\n admin?: CollectionAdminOptions\n /**\n * Collection login options\n *\n * Use `true` to enable with default options\n */\n auth?: IncomingAuthType | boolean\n /** Extension point to add your custom data. */\n custom?: Record<string, any>\n /**\n * Default field to sort by in collection list view\n */\n defaultSort?: string\n /**\n * Custom rest api endpoints, set false to disable all rest endpoints for this collection.\n */\n endpoints?: Omit<Endpoint, 'root'>[] | false\n fields: Field[]\n /**\n * GraphQL configuration\n */\n graphQL?:\n | {\n pluralName?: string\n singularName?: string\n }\n | false\n /**\n * Hooks to modify Payload functionality\n */\n hooks?: {\n afterChange?: AfterChangeHook[]\n afterDelete?: AfterDeleteHook[]\n afterError?: AfterErrorHook\n afterForgotPassword?: AfterForgotPasswordHook[]\n afterLogin?: AfterLoginHook[]\n afterLogout?: AfterLogoutHook[]\n afterMe?: AfterMeHook[]\n afterOperation?: AfterOperationHook[]\n afterRead?: AfterReadHook[]\n afterRefresh?: AfterRefreshHook[]\n beforeChange?: BeforeChangeHook[]\n beforeDelete?: BeforeDeleteHook[]\n beforeLogin?: BeforeLoginHook[]\n beforeOperation?: BeforeOperationHook[]\n beforeRead?: BeforeReadHook[]\n beforeValidate?: BeforeValidateHook[]\n }\n /**\n * Label configuration\n */\n labels?: {\n plural?: Record<string, string> | string\n singular?: Record<string, string> | string\n }\n slug: string\n /**\n * Add `createdAt` and `updatedAt` fields\n *\n * @default true\n */\n timestamps?: boolean\n /**\n * Options used in typescript generation\n */\n typescript?: {\n /**\n * Typescript generation name given to the interface type\n */\n interface?: string\n }\n /**\n * Customize the handling of incoming file uploads\n *\n * @default false // disable uploads\n */\n upload?: UploadConfig | boolean\n /**\n * Customize the handling of incoming file uploads\n *\n * @default false // disable versioning\n */\n versions?: IncomingCollectionVersions | boolean\n}\n\nexport interface SanitizedCollectionConfig\n extends Omit<\n DeepRequired<CollectionConfig>,\n 'auth' | 'endpoints' | 'fields' | 'upload' | 'versions'\n > {\n auth: Auth\n endpoints: Endpoint[] | false\n fields: Field[]\n upload: SanitizedUploadConfig\n versions: SanitizedCollectionVersions\n}\n\nexport type Collection = {\n config: SanitizedCollectionConfig\n graphQL?: {\n JWT: GraphQLObjectType\n mutationInputType: GraphQLNonNull<any>\n paginatedType: GraphQLObjectType\n type: GraphQLObjectType\n updateMutationInputType: GraphQLNonNull<any>\n versionType: GraphQLObjectType\n whereInputType: GraphQLInputObjectType\n }\n}\n\nexport type BulkOperationResult<TSlug extends keyof GeneratedTypes['collections']> = {\n docs: GeneratedTypes['collections'][TSlug][]\n errors: {\n id: GeneratedTypes['collections'][TSlug]['id']\n message: string\n }[]\n}\n\nexport type AuthCollection = {\n config: SanitizedCollectionConfig\n}\n\nexport type TypeWithID = {\n id: number | string\n}\n\nexport type TypeWithTimestamps = {\n [key: string]: unknown\n createdAt: string\n id: number | string\n updatedAt: string\n}\n"],"names":[],"mappings":"AA4dA,WAKC"}
|
|
@@ -105,4 +105,4 @@ const batchAndLoadDocs = (req)=>async (keys)=>{
|
|
|
105
105
|
};
|
|
106
106
|
export const getDataLoader = (req)=>new DataLoader(batchAndLoadDocs(req));
|
|
107
107
|
|
|
108
|
-
//# sourceMappingURL=
|
|
108
|
+
//# sourceMappingURL=dataloader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/collections/dataloader.ts"],"sourcesContent":["import type { BatchLoadFn } from 'dataloader'\n\nimport DataLoader from 'dataloader'\n\nimport type { PayloadRequest } from '../types/index.js'\nimport type { TypeWithID } from './config/types.js'\n\nimport { fieldAffectsData } from '../fields/config/types.js'\nimport { getIDType } from '../utilities/getIDType.js'\nimport { isValidID } from '../utilities/isValidID.js'\n\n// Payload uses `dataloader` to solve the classic GraphQL N+1 problem.\n\n// We keep a list of all documents requested to be populated for any given request\n// and then batch together documents within the same collection,\n// making only 1 find per each collection, rather than `findByID` per each requested doc.\n\n// This dramatically improves performance for REST and Local API `depth` populations,\n// and also ensures complex GraphQL queries perform lightning-fast.\n\nconst batchAndLoadDocs =\n (req: PayloadRequest): BatchLoadFn<string, TypeWithID> =>\n async (keys: string[]): Promise<TypeWithID[]> => {\n const { payload } = req\n\n // Create docs array of same length as keys, using null as value\n // We will replace nulls with injected docs as they are retrieved\n const docs: (TypeWithID | null)[] = keys.map(() => null)\n\n /**\n * Batch IDs by their `find` args\n * so we can make one find query per combination of collection, depth, locale, and fallbackLocale.\n *\n * Resulting shape will be as follows:\n {\n // key is stringified set of find args\n '[null,\"pages\",2,0,\"es\",\"en\",false,false]': [\n // value is array of IDs to find with these args\n 'q34tl23462346234524',\n '435523540194324280',\n '2346245j35l3j5234532li',\n ],\n // etc\n };\n *\n **/\n\n const batchByFindArgs = keys.reduce((batches, key) => {\n const [\n transactionID,\n collection,\n id,\n depth,\n currentDepth,\n locale,\n fallbackLocale,\n overrideAccess,\n showHiddenFields,\n ] = JSON.parse(key)\n\n const batchKeyArray = [\n transactionID,\n collection,\n depth,\n currentDepth,\n locale,\n fallbackLocale,\n overrideAccess,\n showHiddenFields,\n ]\n\n const batchKey = JSON.stringify(batchKeyArray)\n\n const idField = payload.collections?.[collection].config.fields.find(\n (field) => fieldAffectsData(field) && field.name === 'id',\n )\n\n let sanitizedID: number | string = id\n\n if (idField?.type === 'number') sanitizedID = parseFloat(id)\n\n if (isValidID(sanitizedID, getIDType(idField, payload?.db?.defaultIDType))) {\n return {\n ...batches,\n [batchKey]: [...(batches[batchKey] || []), sanitizedID],\n }\n }\n return batches\n }, {})\n\n // Run find requests one after another, so as to not hang transactions\n\n await Object.entries(batchByFindArgs).reduce(async (priorFind, [batchKey, ids]) => {\n await priorFind\n\n const [\n transactionID,\n collection,\n depth,\n currentDepth,\n locale,\n fallbackLocale,\n overrideAccess,\n showHiddenFields,\n ] = JSON.parse(batchKey)\n\n req.transactionID = transactionID\n\n const result = await payload.find({\n collection,\n currentDepth,\n depth,\n disableErrors: true,\n fallbackLocale,\n locale,\n overrideAccess: Boolean(overrideAccess),\n pagination: false,\n req,\n showHiddenFields: Boolean(showHiddenFields),\n where: {\n id: {\n in: ids,\n },\n },\n })\n\n // For each returned doc, find index in original keys\n // Inject doc within docs array if index exists\n\n result.docs.forEach((doc) => {\n const docKey = JSON.stringify([\n req.transactionID,\n collection,\n doc.id,\n depth,\n currentDepth,\n locale,\n fallbackLocale,\n overrideAccess,\n showHiddenFields,\n ])\n const docsIndex = keys.findIndex((key) => key === docKey)\n\n if (docsIndex > -1) {\n docs[docsIndex] = doc\n }\n })\n }, Promise.resolve())\n\n // Return docs array,\n // which has now been injected with all fetched docs\n // and should match the length of the incoming keys arg\n return docs\n }\n\nexport const getDataLoader = (req: PayloadRequest) => new DataLoader(batchAndLoadDocs(req))\n"],"names":["DataLoader","fieldAffectsData","getIDType","isValidID","batchAndLoadDocs","req","keys","payload","docs","map","batchByFindArgs","reduce","batches","key","transactionID","collection","id","depth","currentDepth","locale","fallbackLocale","overrideAccess","showHiddenFields","JSON","parse","batchKeyArray","batchKey","stringify","idField","collections","config","fields","find","field","name","sanitizedID","type","parseFloat","db","defaultIDType","Object","entries","priorFind","ids","result","disableErrors","Boolean","pagination","where","in","forEach","doc","docKey","docsIndex","findIndex","Promise","resolve","getDataLoader"],"mappings":"AAEA,OAAOA,gBAAgB,aAAY;AAKnC,SAASC,gBAAgB,QAAQ,4BAA2B;AAC5D,SAASC,SAAS,QAAQ,4BAA2B;AACrD,SAASC,SAAS,QAAQ,4BAA2B;AAErD,sEAAsE;AAEtE,kFAAkF;AAClF,gEAAgE;AAChE,yFAAyF;AAEzF,qFAAqF;AACrF,mEAAmE;AAEnE,MAAMC,mBACJ,CAACC,MACD,OAAOC;QACL,MAAM,EAAEC,OAAO,EAAE,GAAGF;QAEpB,gEAAgE;QAChE,iEAAiE;QACjE,MAAMG,OAA8BF,KAAKG,GAAG,CAAC,IAAM;QAEnD;;;;;;;;;;;;;;;;KAgBC,GAED,MAAMC,kBAAkBJ,KAAKK,MAAM,CAAC,CAACC,SAASC;YAC5C,MAAM,CACJC,eACAC,YACAC,IACAC,OACAC,cACAC,QACAC,gBACAC,gBACAC,iBACD,GAAGC,KAAKC,KAAK,CAACX;YAEf,MAAMY,gBAAgB;gBACpBX;gBACAC;gBACAE;gBACAC;gBACAC;gBACAC;gBACAC;gBACAC;aACD;YAED,MAAMI,WAAWH,KAAKI,SAAS,CAACF;YAEhC,MAAMG,UAAUrB,QAAQsB,WAAW,EAAE,CAACd,WAAW,CAACe,OAAOC,OAAOC,KAC9D,CAACC,QAAUhC,iBAAiBgC,UAAUA,MAAMC,IAAI,KAAK;YAGvD,IAAIC,cAA+BnB;YAEnC,IAAIY,SAASQ,SAAS,UAAUD,cAAcE,WAAWrB;YAEzD,IAAIb,UAAUgC,aAAajC,UAAU0B,SAASrB,SAAS+B,IAAIC,iBAAiB;gBAC1E,OAAO;oBACL,GAAG3B,OAAO;oBACV,CAACc,SAAS,EAAE;2BAAKd,OAAO,CAACc,SAAS,IAAI,EAAE;wBAAGS;qBAAY;gBACzD;YACF;YACA,OAAOvB;QACT,GAAG,CAAC;QAEJ,sEAAsE;QAEtE,MAAM4B,OAAOC,OAAO,CAAC/B,iBAAiBC,MAAM,CAAC,OAAO+B,WAAW,CAAChB,UAAUiB,IAAI;YAC5E,MAAMD;YAEN,MAAM,CACJ5B,eACAC,YACAE,OACAC,cACAC,QACAC,gBACAC,gBACAC,iBACD,GAAGC,KAAKC,KAAK,CAACE;YAEfrB,IAAIS,aAAa,GAAGA;YAEpB,MAAM8B,SAAS,MAAMrC,QAAQyB,IAAI,CAAC;gBAChCjB;gBACAG;gBACAD;gBACA4B,eAAe;gBACfzB;gBACAD;gBACAE,gBAAgByB,QAAQzB;gBACxB0B,YAAY;gBACZ1C;gBACAiB,kBAAkBwB,QAAQxB;gBAC1B0B,OAAO;oBACLhC,IAAI;wBACFiC,IAAIN;oBACN;gBACF;YACF;YAEA,qDAAqD;YACrD,+CAA+C;YAE/CC,OAAOpC,IAAI,CAAC0C,OAAO,CAAC,CAACC;gBACnB,MAAMC,SAAS7B,KAAKI,SAAS,CAAC;oBAC5BtB,IAAIS,aAAa;oBACjBC;oBACAoC,IAAInC,EAAE;oBACNC;oBACAC;oBACAC;oBACAC;oBACAC;oBACAC;iBACD;gBACD,MAAM+B,YAAY/C,KAAKgD,SAAS,CAAC,CAACzC,MAAQA,QAAQuC;gBAElD,IAAIC,YAAY,CAAC,GAAG;oBAClB7C,IAAI,CAAC6C,UAAU,GAAGF;gBACpB;YACF;QACF,GAAGI,QAAQC,OAAO;QAElB,qBAAqB;QACrB,oDAAoD;QACpD,uDAAuD;QACvD,OAAOhD;IACT;AAEF,OAAO,MAAMiD,gBAAgB,CAACpD,MAAwB,IAAIL,WAAWI,iBAAiBC,MAAK"}
|
|
@@ -271,4 +271,4 @@ export const createOperation = async (incomingArgs)=>{
|
|
|
271
271
|
}
|
|
272
272
|
};
|
|
273
273
|
|
|
274
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2NyZWF0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE1hcmtPcHRpb25hbCB9IGZyb20gJ3RzLWVzc2VudGlhbHMnXG5cbmltcG9ydCBjcnlwdG8gZnJvbSAnY3J5cHRvJ1xuXG5pbXBvcnQgdHlwZSB7IEdlbmVyYXRlZFR5cGVzIH0gZnJvbSAnLi4vLi4vaW5kZXguanMnXG5pbXBvcnQgdHlwZSB7IERvY3VtZW50LCBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uLy4uL3R5cGVzL2luZGV4LmpzJ1xuaW1wb3J0IHR5cGUge1xuICBBZnRlckNoYW5nZUhvb2ssXG4gIEJlZm9yZU9wZXJhdGlvbkhvb2ssXG4gIEJlZm9yZVZhbGlkYXRlSG9vayxcbiAgQ29sbGVjdGlvbixcbn0gZnJvbSAnLi4vY29uZmlnL3R5cGVzLmpzJ1xuXG5pbXBvcnQgZXhlY3V0ZUFjY2VzcyBmcm9tICcuLi8uLi9hdXRoL2V4ZWN1dGVBY2Nlc3MuanMnXG5pbXBvcnQgc2VuZFZlcmlmaWNhdGlvbkVtYWlsIGZyb20gJy4uLy4uL2F1dGgvc2VuZFZlcmlmaWNhdGlvbkVtYWlsLmpzJ1xuaW1wb3J0IHsgcmVnaXN0ZXJMb2NhbFN0cmF0ZWd5IH0gZnJvbSAnLi4vLi4vYXV0aC9zdHJhdGVnaWVzL2xvY2FsL3JlZ2lzdGVyLmpzJ1xuaW1wb3J0IHsgYWZ0ZXJDaGFuZ2UgfSBmcm9tICcuLi8uLi9maWVsZHMvaG9va3MvYWZ0ZXJDaGFuZ2UvaW5kZXguanMnXG5pbXBvcnQgeyBhZnRlclJlYWQgfSBmcm9tICcuLi8uLi9maWVsZHMvaG9va3MvYWZ0ZXJSZWFkL2luZGV4LmpzJ1xuaW1wb3J0IHsgYmVmb3JlQ2hhbmdlIH0gZnJvbSAnLi4vLi4vZmllbGRzL2hvb2tzL2JlZm9yZUNoYW5nZS9pbmRleC5qcydcbmltcG9ydCB7IGJlZm9yZVZhbGlkYXRlIH0gZnJvbSAnLi4vLi4vZmllbGRzL2hvb2tzL2JlZm9yZVZhbGlkYXRlL2luZGV4LmpzJ1xuaW1wb3J0IHsgZ2VuZXJhdGVGaWxlRGF0YSB9IGZyb20gJy4uLy4uL3VwbG9hZHMvZ2VuZXJhdGVGaWxlRGF0YS5qcydcbmltcG9ydCB7IHVubGlua1RlbXBGaWxlcyB9IGZyb20gJy4uLy4uL3VwbG9hZHMvdW5saW5rVGVtcEZpbGVzLmpzJ1xuaW1wb3J0IHsgdXBsb2FkRmlsZXMgfSBmcm9tICcuLi8uLi91cGxvYWRzL3VwbG9hZEZpbGVzLmpzJ1xuaW1wb3J0IHsgY29tbWl0VHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvY29tbWl0VHJhbnNhY3Rpb24uanMnXG5pbXBvcnQgZmxhdHRlbkZpZWxkcyBmcm9tICcuLi8uLi91dGlsaXRpZXMvZmxhdHRlblRvcExldmVsRmllbGRzLmpzJ1xuaW1wb3J0IHsgaW5pdFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2luaXRUcmFuc2FjdGlvbi5qcydcbmltcG9ydCB7IGtpbGxUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9raWxsVHJhbnNhY3Rpb24uanMnXG5pbXBvcnQgc2FuaXRpemVJbnRlcm5hbEZpZWxkcyBmcm9tICcuLi8uLi91dGlsaXRpZXMvc2FuaXRpemVJbnRlcm5hbEZpZWxkcy5qcydcbmltcG9ydCB7IHNhdmVWZXJzaW9uIH0gZnJvbSAnLi4vLi4vdmVyc2lvbnMvc2F2ZVZlcnNpb24uanMnXG5pbXBvcnQgeyBidWlsZEFmdGVyT3BlcmF0aW9uIH0gZnJvbSAnLi91dGlscy5qcydcblxuZXhwb3J0IHR5cGUgQ3JlYXRlVXBkYXRlVHlwZSA9IHsgW2ZpZWxkOiBudW1iZXIgfCBzdHJpbmcgfCBzeW1ib2xdOiB1bmtub3duIH1cblxuZXhwb3J0IHR5cGUgQXJndW1lbnRzPFQgZXh0ZW5kcyBDcmVhdGVVcGRhdGVUeXBlPiA9IHtcbiAgYXV0b3NhdmU/OiBib29sZWFuXG4gIGNvbGxlY3Rpb246IENvbGxlY3Rpb25cbiAgZGF0YTogTWFya09wdGlvbmFsPFQsICdjcmVhdGVkQXQnIHwgJ2lkJyB8ICdzaXplcycgfCAndXBkYXRlZEF0Jz5cbiAgZGVwdGg/OiBudW1iZXJcbiAgZGlzYWJsZVZlcmlmaWNhdGlvbkVtYWlsPzogYm9vbGVhblxuICBkcmFmdD86IGJvb2xlYW5cbiAgb3ZlcnJpZGVBY2Nlc3M/OiBib29sZWFuXG4gIG92ZXJ3cml0ZUV4aXN0aW5nRmlsZXM/OiBib29sZWFuXG4gIHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgc2hvd0hpZGRlbkZpZWxkcz86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU9wZXJhdGlvbiA9IGFzeW5jIDxUU2x1ZyBleHRlbmRzIGtleW9mIEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgaW5jb21pbmdBcmdzOiBBcmd1bWVudHM8R2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVFNsdWddPixcbik6IFByb21pc2U8R2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVFNsdWddPiA9PiB7XG4gIGxldCBhcmdzID0gaW5jb21pbmdBcmdzXG5cbiAgdHJ5IHtcbiAgICBjb25zdCBzaG91bGRDb21taXQgPSBhd2FpdCBpbml0VHJhbnNhY3Rpb24oYXJncy5yZXEpXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gYmVmb3JlT3BlcmF0aW9uIC0gQ29sbGVjdGlvblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGF3YWl0IGFyZ3MuY29sbGVjdGlvbi5jb25maWcuaG9va3MuYmVmb3JlT3BlcmF0aW9uLnJlZHVjZShcbiAgICAgIGFzeW5jIChwcmlvckhvb2s6IEJlZm9yZU9wZXJhdGlvbkhvb2sgfCBQcm9taXNlPHZvaWQ+LCBob29rOiBCZWZvcmVPcGVyYXRpb25Ib29rKSA9PiB7XG4gICAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICAgIGFyZ3MgPVxuICAgICAgICAgIChhd2FpdCBob29rKHtcbiAgICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgICBjb2xsZWN0aW9uOiBhcmdzLmNvbGxlY3Rpb24uY29uZmlnLFxuICAgICAgICAgICAgY29udGV4dDogYXJncy5yZXEuY29udGV4dCxcbiAgICAgICAgICAgIG9wZXJhdGlvbjogJ2NyZWF0ZScsXG4gICAgICAgICAgICByZXE6IGFyZ3MucmVxLFxuICAgICAgICAgIH0pKSB8fCBhcmdzXG4gICAgICB9LFxuICAgICAgUHJvbWlzZS5yZXNvbHZlKCksXG4gICAgKVxuXG4gICAgY29uc3Qge1xuICAgICAgYXV0b3NhdmUgPSBmYWxzZSxcbiAgICAgIGNvbGxlY3Rpb246IHsgY29uZmlnOiBjb2xsZWN0aW9uQ29uZmlnIH0sXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgZGVwdGgsXG4gICAgICBkaXNhYmxlVmVyaWZpY2F0aW9uRW1haWwsXG4gICAgICBkcmFmdCA9IGZhbHNlLFxuICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICBvdmVyd3JpdGVFeGlzdGluZ0ZpbGVzID0gZmFsc2UsXG4gICAgICByZXE6IHtcbiAgICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICAgIGxvY2FsZSxcbiAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgcGF5bG9hZDogeyBjb25maWcsIGVtYWlsT3B0aW9ucyB9LFxuICAgICAgfSxcbiAgICAgIHJlcSxcbiAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgfSA9IGFyZ3NcblxuICAgIGxldCB7IGRhdGEgfSA9IGFyZ3NcblxuICAgIGNvbnN0IHNob3VsZFNhdmVEcmFmdCA9IEJvb2xlYW4oZHJhZnQgJiYgY29sbGVjdGlvbkNvbmZpZy52ZXJzaW9ucy5kcmFmdHMpXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gQWNjZXNzXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgaWYgKCFvdmVycmlkZUFjY2Vzcykge1xuICAgICAgYXdhaXQgZXhlY3V0ZUFjY2Vzcyh7IGRhdGEsIHJlcSB9LCBjb2xsZWN0aW9uQ29uZmlnLmFjY2Vzcy5jcmVhdGUpXG4gICAgfVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIEN1c3RvbSBpZFxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBAdG9kbzogUmVmYWN0b3IgY29kZSB0byBzdG9yZSAnY3VzdG9tSWQnIG9uIHRoZSBjb2xsZWN0aW9uIGNvbmZpZ3VyYXRpb24gaXRzZWxmIHNvIHdlIGRvbid0IG5lZWQgdG8gcmVwZWF0IGZsYXR0ZW5GaWVsZHNcbiAgICBjb25zdCBoYXNJZEZpZWxkID1cbiAgICAgIGZsYXR0ZW5GaWVsZHMoY29sbGVjdGlvbkNvbmZpZy5maWVsZHMpLmZpbmRJbmRleCgoZmllbGQpID0+IGZpZWxkLm5hbWUgPT09ICdpZCcpID4gLTFcblxuICAgIGlmIChoYXNJZEZpZWxkKSB7XG4gICAgICBkYXRhID0ge1xuICAgICAgICBfaWQ6IGRhdGEuaWQsXG4gICAgICAgIC4uLmRhdGEsXG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIEdlbmVyYXRlIGRhdGEgZm9yIGFsbCBmaWxlcyBhbmQgc2l6ZXNcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBjb25zdCB7IGRhdGE6IG5ld0ZpbGVEYXRhLCBmaWxlczogZmlsZXNUb1VwbG9hZCB9ID0gYXdhaXQgZ2VuZXJhdGVGaWxlRGF0YSh7XG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgY29uZmlnLFxuICAgICAgZGF0YSxcbiAgICAgIG92ZXJ3cml0ZUV4aXN0aW5nRmlsZXMsXG4gICAgICByZXEsXG4gICAgICB0aHJvd09uTWlzc2luZ0ZpbGU6XG4gICAgICAgICFzaG91bGRTYXZlRHJhZnQgJiYgY29sbGVjdGlvbi5jb25maWcudXBsb2FkLmZpbGVzUmVxdWlyZWRPbkNyZWF0ZSAhPT0gZmFsc2UsXG4gICAgfSlcblxuICAgIGRhdGEgPSBuZXdGaWxlRGF0YVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGJlZm9yZVZhbGlkYXRlIC0gRmllbGRzXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgZGF0YSA9IGF3YWl0IGJlZm9yZVZhbGlkYXRlKHtcbiAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgIGRhdGEsXG4gICAgICBkb2M6IHt9LFxuICAgICAgZ2xvYmFsOiBudWxsLFxuICAgICAgb3BlcmF0aW9uOiAnY3JlYXRlJyxcbiAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgcmVxLFxuICAgIH0pXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gYmVmb3JlVmFsaWRhdGUgLSBDb2xsZWN0aW9uc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGF3YWl0IGNvbGxlY3Rpb25Db25maWcuaG9va3MuYmVmb3JlVmFsaWRhdGUucmVkdWNlKFxuICAgICAgYXN5bmMgKHByaW9ySG9vazogQmVmb3JlVmFsaWRhdGVIb29rIHwgUHJvbWlzZTx2b2lkPiwgaG9vazogQmVmb3JlVmFsaWRhdGVIb29rKSA9PiB7XG4gICAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICAgIGRhdGEgPVxuICAgICAgICAgIChhd2FpdCBob29rKHtcbiAgICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICBvcGVyYXRpb246ICdjcmVhdGUnLFxuICAgICAgICAgICAgcmVxLFxuICAgICAgICAgIH0pKSB8fCBkYXRhXG4gICAgICB9LFxuICAgICAgUHJvbWlzZS5yZXNvbHZlKCksXG4gICAgKVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIFdyaXRlIGZpbGVzIHRvIGxvY2FsIHN0b3JhZ2VcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICAvLyBpZiAoIWNvbGxlY3Rpb25Db25maWcudXBsb2FkLmRpc2FibGVMb2NhbFN0b3JhZ2UpIHtcbiAgICAvLyAgIGF3YWl0IHVwbG9hZEZpbGVzKHBheWxvYWQsIGZpbGVzVG9VcGxvYWQsIHJlcS50KVxuICAgIC8vIH1cblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBiZWZvcmVDaGFuZ2UgLSBDb2xsZWN0aW9uXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgYXdhaXQgY29sbGVjdGlvbkNvbmZpZy5ob29rcy5iZWZvcmVDaGFuZ2UucmVkdWNlKGFzeW5jIChwcmlvckhvb2ssIGhvb2spID0+IHtcbiAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICBkYXRhID1cbiAgICAgICAgKGF3YWl0IGhvb2soe1xuICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICAgICAgZGF0YSxcbiAgICAgICAgICBvcGVyYXRpb246ICdjcmVhdGUnLFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgfSkpIHx8IGRhdGFcbiAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBiZWZvcmVDaGFuZ2UgLSBGaWVsZHNcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBjb25zdCByZXN1bHRXaXRoTG9jYWxlcyA9IGF3YWl0IGJlZm9yZUNoYW5nZTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oe1xuICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgIGNvbnRleHQ6IHJlcS5jb250ZXh0LFxuICAgICAgZGF0YSxcbiAgICAgIGRvYzoge30sXG4gICAgICBkb2NXaXRoTG9jYWxlczoge30sXG4gICAgICBnbG9iYWw6IG51bGwsXG4gICAgICBvcGVyYXRpb246ICdjcmVhdGUnLFxuICAgICAgcmVxLFxuICAgICAgc2tpcFZhbGlkYXRpb246IHNob3VsZFNhdmVEcmFmdCxcbiAgICB9KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIFdyaXRlIGZpbGVzIHRvIGxvY2FsIHN0b3JhZ2VcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBpZiAoIWNvbGxlY3Rpb25Db25maWcudXBsb2FkLmRpc2FibGVMb2NhbFN0b3JhZ2UpIHtcbiAgICAgIGF3YWl0IHVwbG9hZEZpbGVzKHBheWxvYWQsIGZpbGVzVG9VcGxvYWQsIHJlcSlcbiAgICB9XG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gQ3JlYXRlXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgbGV0IGRvY1xuXG4gICAgaWYgKGNvbGxlY3Rpb25Db25maWcuYXV0aCAmJiAhY29sbGVjdGlvbkNvbmZpZy5hdXRoLmRpc2FibGVMb2NhbFN0cmF0ZWd5KSB7XG4gICAgICBpZiAoZGF0YS5lbWFpbCkge1xuICAgICAgICByZXN1bHRXaXRoTG9jYWxlcy5lbWFpbCA9IChkYXRhLmVtYWlsIGFzIHN0cmluZykudG9Mb3dlckNhc2UoKVxuICAgICAgfVxuXG4gICAgICBpZiAoY29sbGVjdGlvbkNvbmZpZy5hdXRoLnZlcmlmeSkge1xuICAgICAgICByZXN1bHRXaXRoTG9jYWxlcy5fdmVyaWZpZWQgPSBCb29sZWFuKHJlc3VsdFdpdGhMb2NhbGVzLl92ZXJpZmllZCkgfHwgZmFsc2VcbiAgICAgICAgcmVzdWx0V2l0aExvY2FsZXMuX3ZlcmlmaWNhdGlvblRva2VuID0gY3J5cHRvLnJhbmRvbUJ5dGVzKDIwKS50b1N0cmluZygnaGV4JylcbiAgICAgIH1cblxuICAgICAgZG9jID0gYXdhaXQgcmVnaXN0ZXJMb2NhbFN0cmF0ZWd5KHtcbiAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgZG9jOiByZXN1bHRXaXRoTG9jYWxlcyxcbiAgICAgICAgcGFzc3dvcmQ6IGRhdGEucGFzc3dvcmQgYXMgc3RyaW5nLFxuICAgICAgICBwYXlsb2FkOiByZXEucGF5bG9hZCxcbiAgICAgICAgcmVxLFxuICAgICAgfSlcbiAgICB9IGVsc2Uge1xuICAgICAgZG9jID0gYXdhaXQgcGF5bG9hZC5kYi5jcmVhdGUoe1xuICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLnNsdWcsXG4gICAgICAgIGRhdGE6IHJlc3VsdFdpdGhMb2NhbGVzLFxuICAgICAgICByZXEsXG4gICAgICB9KVxuICAgIH1cblxuICAgIGNvbnN0IHZlcmlmaWNhdGlvblRva2VuID0gZG9jLl92ZXJpZmljYXRpb25Ub2tlblxuICAgIGxldCByZXN1bHQ6IERvY3VtZW50ID0gc2FuaXRpemVJbnRlcm5hbEZpZWxkcyhkb2MpXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gQ3JlYXRlIHZlcnNpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBpZiAoY29sbGVjdGlvbkNvbmZpZy52ZXJzaW9ucykge1xuICAgICAgYXdhaXQgc2F2ZVZlcnNpb24oe1xuICAgICAgICBpZDogcmVzdWx0LmlkLFxuICAgICAgICBhdXRvc2F2ZSxcbiAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgZG9jV2l0aExvY2FsZXM6IHJlc3VsdCxcbiAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgcmVxLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gU2VuZCB2ZXJpZmljYXRpb24gZW1haWwgaWYgYXBwbGljYWJsZVxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGlmIChjb2xsZWN0aW9uQ29uZmlnLmF1dGggJiYgY29sbGVjdGlvbkNvbmZpZy5hdXRoLnZlcmlmeSkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1mbG9hdGluZy1wcm9taXNlc1xuICAgICAgc2VuZFZlcmlmaWNhdGlvbkVtYWlsKHtcbiAgICAgICAgY29sbGVjdGlvbjogeyBjb25maWc6IGNvbGxlY3Rpb25Db25maWcgfSxcbiAgICAgICAgY29uZmlnOiBwYXlsb2FkLmNvbmZpZyxcbiAgICAgICAgZGlzYWJsZUVtYWlsOiBkaXNhYmxlVmVyaWZpY2F0aW9uRW1haWwsXG4gICAgICAgIGVtYWlsT3B0aW9ucyxcbiAgICAgICAgcmVxLFxuICAgICAgICBzZW5kRW1haWw6IHBheWxvYWQuc2VuZEVtYWlsLFxuICAgICAgICB0b2tlbjogdmVyaWZpY2F0aW9uVG9rZW4sXG4gICAgICAgIHVzZXI6IHJlc3VsdCxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGFmdGVyUmVhZCAtIEZpZWxkc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIHJlc3VsdCA9IGF3YWl0IGFmdGVyUmVhZCh7XG4gICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICBkZXB0aCxcbiAgICAgIGRvYzogcmVzdWx0LFxuICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICBnbG9iYWw6IG51bGwsXG4gICAgICBsb2NhbGUsXG4gICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgIHJlcSxcbiAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlclJlYWQgLSBDb2xsZWN0aW9uXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgYXdhaXQgY29sbGVjdGlvbkNvbmZpZy5ob29rcy5hZnRlclJlYWQucmVkdWNlKGFzeW5jIChwcmlvckhvb2ssIGhvb2spID0+IHtcbiAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICByZXN1bHQgPVxuICAgICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgICAgICBkb2M6IHJlc3VsdCxcbiAgICAgICAgICByZXEsXG4gICAgICAgIH0pKSB8fCByZXN1bHRcbiAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlckNoYW5nZSAtIEZpZWxkc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIHJlc3VsdCA9IGF3YWl0IGFmdGVyQ2hhbmdlKHtcbiAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgIGRhdGEsXG4gICAgICBkb2M6IHJlc3VsdCxcbiAgICAgIGdsb2JhbDogbnVsbCxcbiAgICAgIG9wZXJhdGlvbjogJ2NyZWF0ZScsXG4gICAgICBwcmV2aW91c0RvYzoge30sXG4gICAgICByZXEsXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlckNoYW5nZSAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBhd2FpdCBjb2xsZWN0aW9uQ29uZmlnLmhvb2tzLmFmdGVyQ2hhbmdlLnJlZHVjZShcbiAgICAgIGFzeW5jIChwcmlvckhvb2s6IEFmdGVyQ2hhbmdlSG9vayB8IFByb21pc2U8dm9pZD4sIGhvb2s6IEFmdGVyQ2hhbmdlSG9vaykgPT4ge1xuICAgICAgICBhd2FpdCBwcmlvckhvb2tcblxuICAgICAgICByZXN1bHQgPVxuICAgICAgICAgIChhd2FpdCBob29rKHtcbiAgICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgICAgICAgIGRvYzogcmVzdWx0LFxuICAgICAgICAgICAgb3BlcmF0aW9uOiAnY3JlYXRlJyxcbiAgICAgICAgICAgIHByZXZpb3VzRG9jOiB7fSxcbiAgICAgICAgICAgIHJlcTogYXJncy5yZXEsXG4gICAgICAgICAgfSkpIHx8IHJlc3VsdFxuICAgICAgfSxcbiAgICAgIFByb21pc2UucmVzb2x2ZSgpLFxuICAgIClcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlck9wZXJhdGlvbiAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICByZXN1bHQgPSBhd2FpdCBidWlsZEFmdGVyT3BlcmF0aW9uPEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RTbHVnXT4oe1xuICAgICAgYXJncyxcbiAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICBvcGVyYXRpb246ICdjcmVhdGUnLFxuICAgICAgcmVzdWx0LFxuICAgIH0pXG5cbiAgICBhd2FpdCB1bmxpbmtUZW1wRmlsZXMoeyBjb2xsZWN0aW9uQ29uZmlnLCBjb25maWcsIHJlcSB9KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIFJldHVybiByZXN1bHRzXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgaWYgKHNob3VsZENvbW1pdCkgYXdhaXQgY29tbWl0VHJhbnNhY3Rpb24ocmVxKVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgIGF3YWl0IGtpbGxUcmFuc2FjdGlvbihhcmdzLnJlcSlcbiAgICB0aHJvdyBlcnJvclxuICB9XG59XG4iXSwibmFtZXMiOlsiY3J5cHRvIiwiZXhlY3V0ZUFjY2VzcyIsInNlbmRWZXJpZmljYXRpb25FbWFpbCIsInJlZ2lzdGVyTG9jYWxTdHJhdGVneSIsImFmdGVyQ2hhbmdlIiwiYWZ0ZXJSZWFkIiwiYmVmb3JlQ2hhbmdlIiwiYmVmb3JlVmFsaWRhdGUiLCJnZW5lcmF0ZUZpbGVEYXRhIiwidW5saW5rVGVtcEZpbGVzIiwidXBsb2FkRmlsZXMiLCJjb21taXRUcmFuc2FjdGlvbiIsImZsYXR0ZW5GaWVsZHMiLCJpbml0VHJhbnNhY3Rpb24iLCJraWxsVHJhbnNhY3Rpb24iLCJzYW5pdGl6ZUludGVybmFsRmllbGRzIiwic2F2ZVZlcnNpb24iLCJidWlsZEFmdGVyT3BlcmF0aW9uIiwiY3JlYXRlT3BlcmF0aW9uIiwiaW5jb21pbmdBcmdzIiwiYXJncyIsInNob3VsZENvbW1pdCIsInJlcSIsImNvbGxlY3Rpb24iLCJjb25maWciLCJob29rcyIsImJlZm9yZU9wZXJhdGlvbiIsInJlZHVjZSIsInByaW9ySG9vayIsImhvb2siLCJjb250ZXh0Iiwib3BlcmF0aW9uIiwiUHJvbWlzZSIsInJlc29sdmUiLCJhdXRvc2F2ZSIsImNvbGxlY3Rpb25Db25maWciLCJkZXB0aCIsImRpc2FibGVWZXJpZmljYXRpb25FbWFpbCIsImRyYWZ0Iiwib3ZlcnJpZGVBY2Nlc3MiLCJvdmVyd3JpdGVFeGlzdGluZ0ZpbGVzIiwiZmFsbGJhY2tMb2NhbGUiLCJsb2NhbGUiLCJwYXlsb2FkIiwiZW1haWxPcHRpb25zIiwic2hvd0hpZGRlbkZpZWxkcyIsImRhdGEiLCJzaG91bGRTYXZlRHJhZnQiLCJCb29sZWFuIiwidmVyc2lvbnMiLCJkcmFmdHMiLCJhY2Nlc3MiLCJjcmVhdGUiLCJoYXNJZEZpZWxkIiwiZmllbGRzIiwiZmluZEluZGV4IiwiZmllbGQiLCJuYW1lIiwiX2lkIiwiaWQiLCJuZXdGaWxlRGF0YSIsImZpbGVzIiwiZmlsZXNUb1VwbG9hZCIsInRocm93T25NaXNzaW5nRmlsZSIsInVwbG9hZCIsImZpbGVzUmVxdWlyZWRPbkNyZWF0ZSIsImRvYyIsImdsb2JhbCIsInJlc3VsdFdpdGhMb2NhbGVzIiwiZG9jV2l0aExvY2FsZXMiLCJza2lwVmFsaWRhdGlvbiIsImRpc2FibGVMb2NhbFN0b3JhZ2UiLCJhdXRoIiwiZGlzYWJsZUxvY2FsU3RyYXRlZ3kiLCJlbWFpbCIsInRvTG93ZXJDYXNlIiwidmVyaWZ5IiwiX3ZlcmlmaWVkIiwiX3ZlcmlmaWNhdGlvblRva2VuIiwicmFuZG9tQnl0ZXMiLCJ0b1N0cmluZyIsInBhc3N3b3JkIiwiZGIiLCJzbHVnIiwidmVyaWZpY2F0aW9uVG9rZW4iLCJyZXN1bHQiLCJkaXNhYmxlRW1haWwiLCJzZW5kRW1haWwiLCJ0b2tlbiIsInVzZXIiLCJwcmV2aW91c0RvYyIsImVycm9yIl0sIm1hcHBp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
|
|
274
|
+
//# sourceMappingURL=create.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/collections/operations/create.ts"],"sourcesContent":["import type { MarkOptional } from 'ts-essentials'\n\nimport crypto from 'crypto'\n\nimport type { GeneratedTypes } from '../../index.js'\nimport type { Document, PayloadRequest } from '../../types/index.js'\nimport type {\n AfterChangeHook,\n BeforeOperationHook,\n BeforeValidateHook,\n Collection,\n} from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport sendVerificationEmail from '../../auth/sendVerificationEmail.js'\nimport { registerLocalStrategy } from '../../auth/strategies/local/register.js'\nimport { afterChange } from '../../fields/hooks/afterChange/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { beforeChange } from '../../fields/hooks/beforeChange/index.js'\nimport { beforeValidate } from '../../fields/hooks/beforeValidate/index.js'\nimport { generateFileData } from '../../uploads/generateFileData.js'\nimport { unlinkTempFiles } from '../../uploads/unlinkTempFiles.js'\nimport { uploadFiles } from '../../uploads/uploadFiles.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport flattenFields from '../../utilities/flattenTopLevelFields.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport sanitizeInternalFields from '../../utilities/sanitizeInternalFields.js'\nimport { saveVersion } from '../../versions/saveVersion.js'\nimport { buildAfterOperation } from './utils.js'\n\nexport type CreateUpdateType = { [field: number | string | symbol]: unknown }\n\nexport type Arguments<T extends CreateUpdateType> = {\n autosave?: boolean\n collection: Collection\n data: MarkOptional<T, 'createdAt' | 'id' | 'sizes' | 'updatedAt'>\n depth?: number\n disableVerificationEmail?: boolean\n draft?: boolean\n overrideAccess?: boolean\n overwriteExistingFiles?: boolean\n req: PayloadRequest\n showHiddenFields?: boolean\n}\n\nexport const createOperation = async <TSlug extends keyof GeneratedTypes['collections']>(\n incomingArgs: Arguments<GeneratedTypes['collections'][TSlug]>,\n): Promise<GeneratedTypes['collections'][TSlug]> => {\n let args = incomingArgs\n\n try {\n const shouldCommit = await initTransaction(args.req)\n\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n await args.collection.config.hooks.beforeOperation.reduce(\n async (priorHook: BeforeOperationHook | Promise<void>, hook: BeforeOperationHook) => {\n await priorHook\n\n args =\n (await hook({\n args,\n collection: args.collection.config,\n context: args.req.context,\n operation: 'create',\n req: args.req,\n })) || args\n },\n Promise.resolve(),\n )\n\n const {\n autosave = false,\n collection: { config: collectionConfig },\n collection,\n depth,\n disableVerificationEmail,\n draft = false,\n overrideAccess,\n overwriteExistingFiles = false,\n req: {\n fallbackLocale,\n locale,\n payload,\n payload: { config, emailOptions },\n },\n req,\n showHiddenFields,\n } = args\n\n let { data } = args\n\n const shouldSaveDraft = Boolean(draft && collectionConfig.versions.drafts)\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n if (!overrideAccess) {\n await executeAccess({ data, req }, collectionConfig.access.create)\n }\n\n // /////////////////////////////////////\n // Custom id\n // /////////////////////////////////////\n // @todo: Refactor code to store 'customId' on the collection configuration itself so we don't need to repeat flattenFields\n const hasIdField =\n flattenFields(collectionConfig.fields).findIndex((field) => field.name === 'id') > -1\n\n if (hasIdField) {\n data = {\n _id: data.id,\n ...data,\n }\n }\n\n // /////////////////////////////////////\n // Generate data for all files and sizes\n // /////////////////////////////////////\n\n const { data: newFileData, files: filesToUpload } = await generateFileData({\n collection,\n config,\n data,\n overwriteExistingFiles,\n req,\n throwOnMissingFile:\n !shouldSaveDraft && collection.config.upload.filesRequiredOnCreate !== false,\n })\n\n data = newFileData\n\n // /////////////////////////////////////\n // beforeValidate - Fields\n // /////////////////////////////////////\n\n data = await beforeValidate({\n collection: collectionConfig,\n context: req.context,\n data,\n doc: {},\n global: null,\n operation: 'create',\n overrideAccess,\n req,\n })\n\n // /////////////////////////////////////\n // beforeValidate - Collections\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeValidate.reduce(\n async (priorHook: BeforeValidateHook | Promise<void>, hook: BeforeValidateHook) => {\n await priorHook\n\n data =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n data,\n operation: 'create',\n req,\n })) || data\n },\n Promise.resolve(),\n )\n\n // /////////////////////////////////////\n // Write files to local storage\n // /////////////////////////////////////\n\n // if (!collectionConfig.upload.disableLocalStorage) {\n // await uploadFiles(payload, filesToUpload, req.t)\n // }\n\n // /////////////////////////////////////\n // beforeChange - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeChange.reduce(async (priorHook, hook) => {\n await priorHook\n\n data =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n data,\n operation: 'create',\n req,\n })) || data\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // beforeChange - Fields\n // /////////////////////////////////////\n\n const resultWithLocales = await beforeChange<Record<string, unknown>>({\n collection: collectionConfig,\n context: req.context,\n data,\n doc: {},\n docWithLocales: {},\n global: null,\n operation: 'create',\n req,\n skipValidation: shouldSaveDraft,\n })\n\n // /////////////////////////////////////\n // Write files to local storage\n // /////////////////////////////////////\n\n if (!collectionConfig.upload.disableLocalStorage) {\n await uploadFiles(payload, filesToUpload, req)\n }\n\n // /////////////////////////////////////\n // Create\n // /////////////////////////////////////\n\n let doc\n\n if (collectionConfig.auth && !collectionConfig.auth.disableLocalStrategy) {\n if (data.email) {\n resultWithLocales.email = (data.email as string).toLowerCase()\n }\n\n if (collectionConfig.auth.verify) {\n resultWithLocales._verified = Boolean(resultWithLocales._verified) || false\n resultWithLocales._verificationToken = crypto.randomBytes(20).toString('hex')\n }\n\n doc = await registerLocalStrategy({\n collection: collectionConfig,\n doc: resultWithLocales,\n password: data.password as string,\n payload: req.payload,\n req,\n })\n } else {\n doc = await payload.db.create({\n collection: collectionConfig.slug,\n data: resultWithLocales,\n req,\n })\n }\n\n const verificationToken = doc._verificationToken\n let result: Document = sanitizeInternalFields(doc)\n\n // /////////////////////////////////////\n // Create version\n // /////////////////////////////////////\n\n if (collectionConfig.versions) {\n await saveVersion({\n id: result.id,\n autosave,\n collection: collectionConfig,\n docWithLocales: result,\n payload,\n req,\n })\n }\n\n // /////////////////////////////////////\n // Send verification email if applicable\n // /////////////////////////////////////\n\n if (collectionConfig.auth && collectionConfig.auth.verify) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n sendVerificationEmail({\n collection: { config: collectionConfig },\n config: payload.config,\n disableEmail: disableVerificationEmail,\n emailOptions,\n req,\n sendEmail: payload.sendEmail,\n token: verificationToken,\n user: result,\n })\n }\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth,\n doc: result,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterChange - Fields\n // /////////////////////////////////////\n\n result = await afterChange({\n collection: collectionConfig,\n context: req.context,\n data,\n doc: result,\n global: null,\n operation: 'create',\n previousDoc: {},\n req,\n })\n\n // /////////////////////////////////////\n // afterChange - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterChange.reduce(\n async (priorHook: AfterChangeHook | Promise<void>, hook: AfterChangeHook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n operation: 'create',\n previousDoc: {},\n req: args.req,\n })) || result\n },\n Promise.resolve(),\n )\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation<GeneratedTypes['collections'][TSlug]>({\n args,\n collection: collectionConfig,\n operation: 'create',\n result,\n })\n\n await unlinkTempFiles({ collectionConfig, config, req })\n\n // /////////////////////////////////////\n // Return results\n // /////////////////////////////////////\n\n if (shouldCommit) await commitTransaction(req)\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["crypto","executeAccess","sendVerificationEmail","registerLocalStrategy","afterChange","afterRead","beforeChange","beforeValidate","generateFileData","unlinkTempFiles","uploadFiles","commitTransaction","flattenFields","initTransaction","killTransaction","sanitizeInternalFields","saveVersion","buildAfterOperation","createOperation","incomingArgs","args","shouldCommit","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","operation","Promise","resolve","autosave","collectionConfig","depth","disableVerificationEmail","draft","overrideAccess","overwriteExistingFiles","fallbackLocale","locale","payload","emailOptions","showHiddenFields","data","shouldSaveDraft","Boolean","versions","drafts","access","create","hasIdField","fields","findIndex","field","name","_id","id","newFileData","files","filesToUpload","throwOnMissingFile","upload","filesRequiredOnCreate","doc","global","resultWithLocales","docWithLocales","skipValidation","disableLocalStorage","auth","disableLocalStrategy","email","toLowerCase","verify","_verified","_verificationToken","randomBytes","toString","password","db","slug","verificationToken","result","disableEmail","sendEmail","token","user","previousDoc","error"],"mappings":"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"}
|
|
@@ -187,4 +187,4 @@ export const deleteOperation = async (incomingArgs)=>{
|
|
|
187
187
|
}
|
|
188
188
|
};
|
|
189
189
|
|
|
190
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2RlbGV0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaHR0cFN0YXR1cyBmcm9tICdodHRwLXN0YXR1cydcblxuaW1wb3J0IHR5cGUgeyBBY2Nlc3NSZXN1bHQgfSBmcm9tICcuLi8uLi9jb25maWcvdHlwZXMuanMnXG5pbXBvcnQgdHlwZSB7IEdlbmVyYXRlZFR5cGVzIH0gZnJvbSAnLi4vLi4vaW5kZXguanMnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0LCBXaGVyZSB9IGZyb20gJy4uLy4uL3R5cGVzL2luZGV4LmpzJ1xuaW1wb3J0IHR5cGUgeyBCZWZvcmVPcGVyYXRpb25Ib29rLCBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vY29uZmlnL3R5cGVzLmpzJ1xuXG5pbXBvcnQgZXhlY3V0ZUFjY2VzcyBmcm9tICcuLi8uLi9hdXRoL2V4ZWN1dGVBY2Nlc3MuanMnXG5pbXBvcnQgeyBjb21iaW5lUXVlcmllcyB9IGZyb20gJy4uLy4uL2RhdGFiYXNlL2NvbWJpbmVRdWVyaWVzLmpzJ1xuaW1wb3J0IHsgdmFsaWRhdGVRdWVyeVBhdGhzIH0gZnJvbSAnLi4vLi4vZGF0YWJhc2UvcXVlcnlWYWxpZGF0aW9uL3ZhbGlkYXRlUXVlcnlQYXRocy5qcydcbmltcG9ydCB7IEFQSUVycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3JzL2luZGV4LmpzJ1xuaW1wb3J0IHsgYWZ0ZXJSZWFkIH0gZnJvbSAnLi4vLi4vZmllbGRzL2hvb2tzL2FmdGVyUmVhZC9pbmRleC5qcydcbmltcG9ydCB7IGRlbGV0ZVVzZXJQcmVmZXJlbmNlcyB9IGZyb20gJy4uLy4uL3ByZWZlcmVuY2VzL2RlbGV0ZVVzZXJQcmVmZXJlbmNlcy5qcydcbmltcG9ydCB7IGRlbGV0ZUFzc29jaWF0ZWRGaWxlcyB9IGZyb20gJy4uLy4uL3VwbG9hZHMvZGVsZXRlQXNzb2NpYXRlZEZpbGVzLmpzJ1xuaW1wb3J0IHsgY29tbWl0VHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvY29tbWl0VHJhbnNhY3Rpb24uanMnXG5pbXBvcnQgeyBpbml0VHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvaW5pdFRyYW5zYWN0aW9uLmpzJ1xuaW1wb3J0IHsga2lsbFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2tpbGxUcmFuc2FjdGlvbi5qcydcbmltcG9ydCB7IGRlbGV0ZUNvbGxlY3Rpb25WZXJzaW9ucyB9IGZyb20gJy4uLy4uL3ZlcnNpb25zL2RlbGV0ZUNvbGxlY3Rpb25WZXJzaW9ucy5qcydcbmltcG9ydCB7IGJ1aWxkQWZ0ZXJPcGVyYXRpb24gfSBmcm9tICcuL3V0aWxzLmpzJ1xuXG5leHBvcnQgdHlwZSBBcmd1bWVudHMgPSB7XG4gIGNvbGxlY3Rpb246IENvbGxlY3Rpb25cbiAgZGVwdGg/OiBudW1iZXJcbiAgb3ZlcnJpZGVBY2Nlc3M/OiBib29sZWFuXG4gIHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgc2hvd0hpZGRlbkZpZWxkcz86IGJvb2xlYW5cbiAgd2hlcmU6IFdoZXJlXG59XG5cbmV4cG9ydCBjb25zdCBkZWxldGVPcGVyYXRpb24gPSBhc3luYyA8VFNsdWcgZXh0ZW5kcyBrZXlvZiBHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gIGluY29taW5nQXJnczogQXJndW1lbnRzLFxuKTogUHJvbWlzZTx7XG4gIGRvY3M6IEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RTbHVnXVtdXG4gIGVycm9yczoge1xuICAgIGlkOiBHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUU2x1Z11bJ2lkJ11cbiAgICBtZXNzYWdlOiBzdHJpbmdcbiAgfVtdXG59PiA9PiB7XG4gIGxldCBhcmdzID0gaW5jb21pbmdBcmdzXG5cbiAgdHJ5IHtcbiAgICBjb25zdCBzaG91bGRDb21taXQgPSBhd2FpdCBpbml0VHJhbnNhY3Rpb24oYXJncy5yZXEpXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGJlZm9yZU9wZXJhdGlvbiAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBhd2FpdCBhcmdzLmNvbGxlY3Rpb24uY29uZmlnLmhvb2tzLmJlZm9yZU9wZXJhdGlvbi5yZWR1Y2UoXG4gICAgICBhc3luYyAocHJpb3JIb29rOiBCZWZvcmVPcGVyYXRpb25Ib29rIHwgUHJvbWlzZTx2b2lkPiwgaG9vazogQmVmb3JlT3BlcmF0aW9uSG9vaykgPT4ge1xuICAgICAgICBhd2FpdCBwcmlvckhvb2tcblxuICAgICAgICBhcmdzID1cbiAgICAgICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgICAgICBhcmdzLFxuICAgICAgICAgICAgY29sbGVjdGlvbjogYXJncy5jb2xsZWN0aW9uLmNvbmZpZyxcbiAgICAgICAgICAgIGNvbnRleHQ6IGFyZ3MucmVxLmNvbnRleHQsXG4gICAgICAgICAgICBvcGVyYXRpb246ICdkZWxldGUnLFxuICAgICAgICAgICAgcmVxOiBhcmdzLnJlcSxcbiAgICAgICAgICB9KSkgfHwgYXJnc1xuICAgICAgfSxcbiAgICAgIFByb21pc2UucmVzb2x2ZSgpLFxuICAgIClcblxuICAgIGNvbnN0IHtcbiAgICAgIGNvbGxlY3Rpb246IHsgY29uZmlnOiBjb2xsZWN0aW9uQ29uZmlnIH0sXG4gICAgICBkZXB0aCxcbiAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgcmVxOiB7XG4gICAgICAgIGZhbGxiYWNrTG9jYWxlLFxuICAgICAgICBsb2NhbGUsXG4gICAgICAgIHBheWxvYWQ6IHsgY29uZmlnIH0sXG4gICAgICAgIHBheWxvYWQsXG4gICAgICB9LFxuICAgICAgcmVxLFxuICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICAgIHdoZXJlLFxuICAgIH0gPSBhcmdzXG5cbiAgICBpZiAoIXdoZXJlKSB7XG4gICAgICB0aHJvdyBuZXcgQVBJRXJyb3IoXCJNaXNzaW5nICd3aGVyZScgcXVlcnkgb2YgZG9jdW1lbnRzIHRvIGRlbGV0ZS5cIiwgaHR0cFN0YXR1cy5CQURfUkVRVUVTVClcbiAgICB9XG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gQWNjZXNzXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgbGV0IGFjY2Vzc1Jlc3VsdDogQWNjZXNzUmVzdWx0XG5cbiAgICBpZiAoIW92ZXJyaWRlQWNjZXNzKSB7XG4gICAgICBhY2Nlc3NSZXN1bHQgPSBhd2FpdCBleGVjdXRlQWNjZXNzKHsgcmVxIH0sIGNvbGxlY3Rpb25Db25maWcuYWNjZXNzLmRlbGV0ZSlcbiAgICB9XG5cbiAgICBhd2FpdCB2YWxpZGF0ZVF1ZXJ5UGF0aHMoe1xuICAgICAgY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgcmVxLFxuICAgICAgd2hlcmUsXG4gICAgfSlcblxuICAgIGNvbnN0IGZ1bGxXaGVyZSA9IGNvbWJpbmVRdWVyaWVzKHdoZXJlLCBhY2Nlc3NSZXN1bHQpXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gUmV0cmlldmUgZG9jdW1lbnRzXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgY29uc3QgeyBkb2NzIH0gPSBhd2FpdCBwYXlsb2FkLmRiLmZpbmQ8R2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVFNsdWddPih7XG4gICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLnNsdWcsXG4gICAgICBsb2NhbGUsXG4gICAgICByZXEsXG4gICAgICB3aGVyZTogZnVsbFdoZXJlLFxuICAgIH0pXG5cbiAgICBjb25zdCBlcnJvcnMgPSBbXVxuXG4gICAgLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbiAgICBjb25zdCBwcm9taXNlcyA9IGRvY3MubWFwKGFzeW5jIChkb2MpID0+IHtcbiAgICAgIGxldCByZXN1bHRcblxuICAgICAgY29uc3QgeyBpZCB9ID0gZG9jXG5cbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAgICAgLy8gYmVmb3JlRGVsZXRlIC0gQ29sbGVjdGlvblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICAgICAgYXdhaXQgY29sbGVjdGlvbkNvbmZpZy5ob29rcy5iZWZvcmVEZWxldGUucmVkdWNlKGFzeW5jIChwcmlvckhvb2ssIGhvb2spID0+IHtcbiAgICAgICAgICBhd2FpdCBwcmlvckhvb2tcblxuICAgICAgICAgIHJldHVybiBob29rKHtcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgICAgIGNvbnRleHQ6IHJlcS5jb250ZXh0LFxuICAgICAgICAgICAgcmVxLFxuICAgICAgICAgIH0pXG4gICAgICAgIH0sIFByb21pc2UucmVzb2x2ZSgpKVxuXG4gICAgICAgIGF3YWl0IGRlbGV0ZUFzc29jaWF0ZWRGaWxlcyh7XG4gICAgICAgICAgY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgZG9jLFxuICAgICAgICAgIG92ZXJyaWRlRGVsZXRlOiB0cnVlLFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgfSlcblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgIC8vIERlbGV0ZSB2ZXJzaW9uc1xuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICAgICAgaWYgKGNvbGxlY3Rpb25Db25maWcudmVyc2lvbnMpIHtcbiAgICAgICAgICBhd2FpdCBkZWxldGVDb2xsZWN0aW9uVmVyc2lvbnMoe1xuICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICBzbHVnOiBjb2xsZWN0aW9uQ29uZmlnLnNsdWcsXG4gICAgICAgICAgICBwYXlsb2FkLFxuICAgICAgICAgICAgcmVxLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgIC8vIERlbGV0ZSBkb2N1bWVudFxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICAgICAgYXdhaXQgcGF5bG9hZC5kYi5kZWxldGVPbmUoe1xuICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcuc2x1ZyxcbiAgICAgICAgICByZXEsXG4gICAgICAgICAgd2hlcmU6IHtcbiAgICAgICAgICAgIGlkOiB7XG4gICAgICAgICAgICAgIGVxdWFsczogaWQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pXG5cbiAgICAgICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICAvLyBhZnRlclJlYWQgLSBGaWVsZHNcbiAgICAgICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgICAgIHJlc3VsdCA9IGF3YWl0IGFmdGVyUmVhZCh7XG4gICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgICAgICBkZXB0aCxcbiAgICAgICAgICBkb2M6IHJlc3VsdCB8fCBkb2MsXG4gICAgICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICAgICAgZ2xvYmFsOiBudWxsLFxuICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgICAgICByZXEsXG4gICAgICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICAgICAgfSlcblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgIC8vIGFmdGVyUmVhZCAtIENvbGxlY3Rpb25cbiAgICAgICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgICAgIGF3YWl0IGNvbGxlY3Rpb25Db25maWcuaG9va3MuYWZ0ZXJSZWFkLnJlZHVjZShhc3luYyAocHJpb3JIb29rLCBob29rKSA9PiB7XG4gICAgICAgICAgYXdhaXQgcHJpb3JIb29rXG5cbiAgICAgICAgICByZXN1bHQgPVxuICAgICAgICAgICAgKGF3YWl0IGhvb2soe1xuICAgICAgICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgICAgICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgICAgICAgICAgZG9jOiByZXN1bHQgfHwgZG9jLFxuICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICB9KSkgfHwgcmVzdWx0XG4gICAgICAgIH0sIFByb21pc2UucmVzb2x2ZSgpKVxuXG4gICAgICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAgICAgLy8gYWZ0ZXJEZWxldGUgLSBDb2xsZWN0aW9uXG4gICAgICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgICAgICBhd2FpdCBjb2xsZWN0aW9uQ29uZmlnLmhvb2tzLmFmdGVyRGVsZXRlLnJlZHVjZShhc3luYyAocHJpb3JIb29rLCBob29rKSA9PiB7XG4gICAgICAgICAgYXdhaXQgcHJpb3JIb29rXG5cbiAgICAgICAgICByZXN1bHQgPVxuICAgICAgICAgICAgKGF3YWl0IGhvb2soe1xuICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICAgICAgICAgIGRvYzogcmVzdWx0LFxuICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICB9KSkgfHwgcmVzdWx0XG4gICAgICAgIH0sIFByb21pc2UucmVzb2x2ZSgpKVxuXG4gICAgICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAgICAgLy8gOC4gUmV0dXJuIHJlc3VsdHNcbiAgICAgICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGVycm9ycy5wdXNoKHtcbiAgICAgICAgICBpZDogZG9jLmlkLFxuICAgICAgICAgIG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2UsXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH0pXG5cbiAgICBjb25zdCBhd2FpdGVkRG9jcyA9IGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIERlbGV0ZSBQcmVmZXJlbmNlc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGF3YWl0IGRlbGV0ZVVzZXJQcmVmZXJlbmNlcyh7XG4gICAgICBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgaWRzOiBkb2NzLm1hcCgoeyBpZCB9KSA9PiBpZCksXG4gICAgICBwYXlsb2FkLFxuICAgICAgcmVxLFxuICAgIH0pXG5cbiAgICBsZXQgcmVzdWx0ID0ge1xuICAgICAgZG9jczogYXdhaXRlZERvY3MuZmlsdGVyKEJvb2xlYW4pLFxuICAgICAgZXJyb3JzLFxuICAgIH1cblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlck9wZXJhdGlvbiAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICByZXN1bHQgPSBhd2FpdCBidWlsZEFmdGVyT3BlcmF0aW9uPEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RTbHVnXT4oe1xuICAgICAgYXJncyxcbiAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICBvcGVyYXRpb246ICdkZWxldGUnLFxuICAgICAgcmVzdWx0LFxuICAgIH0pXG5cbiAgICBpZiAoc2hvdWxkQ29tbWl0KSBhd2FpdCBjb21taXRUcmFuc2FjdGlvbihyZXEpXG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgYXdhaXQga2lsbFRyYW5zYWN0aW9uKGFyZ3MucmVxKVxuICAgIHRocm93IGVycm9yXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJodHRwU3RhdHVzIiwiZXhlY3V0ZUFjY2VzcyIsImNvbWJpbmVRdWVyaWVzIiwidmFsaWRhdGVRdWVyeVBhdGhzIiwiQVBJRXJyb3IiLCJhZnRlclJlYWQiLCJkZWxldGVVc2VyUHJlZmVyZW5jZXMiLCJkZWxldGVBc3NvY2lhdGVkRmlsZXMiLCJjb21taXRUcmFuc2FjdGlvbiIsImluaXRUcmFuc2FjdGlvbiIsImtpbGxUcmFuc2FjdGlvbiIsImRlbGV0ZUNvbGxlY3Rpb25WZXJzaW9ucyIsImJ1aWxkQWZ0ZXJPcGVyYXRpb24iLCJkZWxldGVPcGVyYXRpb24iLCJpbmNvbWluZ0FyZ3MiLCJhcmdzIiwic2hvdWxkQ29tbWl0IiwicmVxIiwiY29sbGVjdGlvbiIsImNvbmZpZyIsImhvb2tzIiwiYmVmb3JlT3BlcmF0aW9uIiwicmVkdWNlIiwicHJpb3JIb29rIiwiaG9vayIsImNvbnRleHQiLCJvcGVyYXRpb24iLCJQcm9taXNlIiwicmVzb2x2ZSIsImNvbGxlY3Rpb25Db25maWciLCJkZXB0aCIsIm92ZXJyaWRlQWNjZXNzIiwiZmFsbGJhY2tMb2NhbGUiLCJsb2NhbGUiLCJwYXlsb2FkIiwic2hvd0hpZGRlbkZpZWxkcyIsIndoZXJlIiwiQkFEX1JFUVVFU1QiLCJhY2Nlc3NSZXN1bHQiLCJhY2Nlc3MiLCJkZWxldGUiLCJmdWxsV2hlcmUiLCJkb2NzIiwiZGIiLCJmaW5kIiwic2x1ZyIsImVycm9ycyIsInByb21pc2VzIiwibWFwIiwiZG9jIiwicmVzdWx0IiwiaWQiLCJiZWZvcmVEZWxldGUiLCJvdmVycmlkZURlbGV0ZSIsInZlcnNpb25zIiwiZGVsZXRlT25lIiwiZXF1YWxzIiwiZ2xvYmFsIiwiYWZ0ZXJEZWxldGUiLCJlcnJvciIsInB1c2giLCJtZXNzYWdlIiwiYXdhaXRlZERvY3MiLCJhbGwiLCJpZHMiLCJmaWx0ZXIiLCJCb29sZWFuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxnQkFBZ0IsY0FBYTtBQU9wQyxPQUFPQyxtQkFBbUIsOEJBQTZCO0FBQ3ZELFNBQVNDLGNBQWMsUUFBUSxtQ0FBa0M7QUFDakUsU0FBU0Msa0JBQWtCLFFBQVEsdURBQXNEO0FBQ3pGLFNBQVNDLFFBQVEsUUFBUSx3QkFBdUI7QUFDaEQsU0FBU0MsU0FBUyxRQUFRLHdDQUF1QztBQUNqRSxTQUFTQyxxQkFBcUIsUUFBUSw2Q0FBNEM7QUFDbEYsU0FBU0MscUJBQXFCLFFBQVEseUNBQXdDO0FBQzlFLFNBQVNDLGlCQUFpQixRQUFRLHVDQUFzQztBQUN4RSxTQUFTQyxlQUFlLFFBQVEscUNBQW9DO0FBQ3BFLFNBQVNDLGVBQWUsUUFBUSxxQ0FBb0M7QUFDcEUsU0FBU0Msd0JBQXdCLFFBQVEsNkNBQTRDO0FBQ3JGLFNBQVNDLG1CQUFtQixRQUFRLGFBQVk7QUFXaEQsT0FBTyxNQUFNQyxrQkFBa0IsT0FDN0JDO0lBUUEsSUFBSUMsT0FBT0Q7SUFFWCxJQUFJO1FBQ0YsTUFBTUUsZUFBZSxNQUFNUCxnQkFBZ0JNLEtBQUtFLEdBQUc7UUFDbkQsd0NBQXdDO1FBQ3hDLCtCQUErQjtR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
|
|
190
|
+
//# sourceMappingURL=delete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/collections/operations/delete.ts"],"sourcesContent":["import httpStatus from 'http-status'\n\nimport type { AccessResult } from '../../config/types.js'\nimport type { GeneratedTypes } from '../../index.js'\nimport type { PayloadRequest, Where } from '../../types/index.js'\nimport type { BeforeOperationHook, Collection } from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { validateQueryPaths } from '../../database/queryValidation/validateQueryPaths.js'\nimport { APIError } from '../../errors/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { deleteUserPreferences } from '../../preferences/deleteUserPreferences.js'\nimport { deleteAssociatedFiles } from '../../uploads/deleteAssociatedFiles.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { deleteCollectionVersions } from '../../versions/deleteCollectionVersions.js'\nimport { buildAfterOperation } from './utils.js'\n\nexport type Arguments = {\n collection: Collection\n depth?: number\n overrideAccess?: boolean\n req: PayloadRequest\n showHiddenFields?: boolean\n where: Where\n}\n\nexport const deleteOperation = async <TSlug extends keyof GeneratedTypes['collections']>(\n incomingArgs: Arguments,\n): Promise<{\n docs: GeneratedTypes['collections'][TSlug][]\n errors: {\n id: GeneratedTypes['collections'][TSlug]['id']\n message: string\n }[]\n}> => {\n let args = incomingArgs\n\n try {\n const shouldCommit = await initTransaction(args.req)\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n await args.collection.config.hooks.beforeOperation.reduce(\n async (priorHook: BeforeOperationHook | Promise<void>, hook: BeforeOperationHook) => {\n await priorHook\n\n args =\n (await hook({\n args,\n collection: args.collection.config,\n context: args.req.context,\n operation: 'delete',\n req: args.req,\n })) || args\n },\n Promise.resolve(),\n )\n\n const {\n collection: { config: collectionConfig },\n depth,\n overrideAccess,\n req: {\n fallbackLocale,\n locale,\n payload: { config },\n payload,\n },\n req,\n showHiddenFields,\n where,\n } = args\n\n if (!where) {\n throw new APIError(\"Missing 'where' query of documents to delete.\", httpStatus.BAD_REQUEST)\n }\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n let accessResult: AccessResult\n\n if (!overrideAccess) {\n accessResult = await executeAccess({ req }, collectionConfig.access.delete)\n }\n\n await validateQueryPaths({\n collectionConfig,\n overrideAccess,\n req,\n where,\n })\n\n const fullWhere = combineQueries(where, accessResult)\n\n // /////////////////////////////////////\n // Retrieve documents\n // /////////////////////////////////////\n\n const { docs } = await payload.db.find<GeneratedTypes['collections'][TSlug]>({\n collection: collectionConfig.slug,\n locale,\n req,\n where: fullWhere,\n })\n\n const errors = []\n\n /* eslint-disable no-param-reassign */\n const promises = docs.map(async (doc) => {\n let result\n\n const { id } = doc\n\n try {\n // /////////////////////////////////////\n // beforeDelete - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeDelete.reduce(async (priorHook, hook) => {\n await priorHook\n\n return hook({\n id,\n collection: collectionConfig,\n context: req.context,\n req,\n })\n }, Promise.resolve())\n\n await deleteAssociatedFiles({\n collectionConfig,\n config,\n doc,\n overrideDelete: true,\n req,\n })\n\n // /////////////////////////////////////\n // Delete versions\n // /////////////////////////////////////\n\n if (collectionConfig.versions) {\n await deleteCollectionVersions({\n id,\n slug: collectionConfig.slug,\n payload,\n req,\n })\n }\n\n // /////////////////////////////////////\n // Delete document\n // /////////////////////////////////////\n\n await payload.db.deleteOne({\n collection: collectionConfig.slug,\n req,\n where: {\n id: {\n equals: id,\n },\n },\n })\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth,\n doc: result || doc,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result || doc,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterDelete - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterDelete.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n id,\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // 8. Return results\n // /////////////////////////////////////\n\n return result\n } catch (error) {\n errors.push({\n id: doc.id,\n message: error.message,\n })\n }\n return null\n })\n\n const awaitedDocs = await Promise.all(promises)\n\n // /////////////////////////////////////\n // Delete Preferences\n // /////////////////////////////////////\n\n await deleteUserPreferences({\n collectionConfig,\n ids: docs.map(({ id }) => id),\n payload,\n req,\n })\n\n let result = {\n docs: awaitedDocs.filter(Boolean),\n errors,\n }\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation<GeneratedTypes['collections'][TSlug]>({\n args,\n collection: collectionConfig,\n operation: 'delete',\n result,\n })\n\n if (shouldCommit) await commitTransaction(req)\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["httpStatus","executeAccess","combineQueries","validateQueryPaths","APIError","afterRead","deleteUserPreferences","deleteAssociatedFiles","commitTransaction","initTransaction","killTransaction","deleteCollectionVersions","buildAfterOperation","deleteOperation","incomingArgs","args","shouldCommit","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","operation","Promise","resolve","collectionConfig","depth","overrideAccess","fallbackLocale","locale","payload","showHiddenFields","where","BAD_REQUEST","accessResult","access","delete","fullWhere","docs","db","find","slug","errors","promises","map","doc","result","id","beforeDelete","overrideDelete","versions","deleteOne","equals","global","afterDelete","error","push","message","awaitedDocs","all","ids","filter","Boolean"],"mappings":"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"}
|
|
@@ -164,4 +164,4 @@ export const deleteByIDOperation = async (incomingArgs)=>{
|
|
|
164
164
|
}
|
|
165
165
|
};
|
|
166
166
|
|
|
167
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2RlbGV0ZUJ5SUQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBHZW5lcmF0ZWRUeXBlcyB9IGZyb20gJy4uLy4uL2luZGV4LmpzJ1xuaW1wb3J0IHR5cGUgeyBEb2N1bWVudCwgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi8uLi90eXBlcy9pbmRleC5qcydcbmltcG9ydCB0eXBlIHsgQmVmb3JlT3BlcmF0aW9uSG9vaywgQ29sbGVjdGlvbiB9IGZyb20gJy4uL2NvbmZpZy90eXBlcy5qcydcblxuaW1wb3J0IGV4ZWN1dGVBY2Nlc3MgZnJvbSAnLi4vLi4vYXV0aC9leGVjdXRlQWNjZXNzLmpzJ1xuaW1wb3J0IHsgaGFzV2hlcmVBY2Nlc3NSZXN1bHQgfSBmcm9tICcuLi8uLi9hdXRoL3R5cGVzLmpzJ1xuaW1wb3J0IHsgY29tYmluZVF1ZXJpZXMgfSBmcm9tICcuLi8uLi9kYXRhYmFzZS9jb21iaW5lUXVlcmllcy5qcydcbmltcG9ydCB7IEZvcmJpZGRlbiwgTm90Rm91bmQgfSBmcm9tICcuLi8uLi9lcnJvcnMvaW5kZXguanMnXG5pbXBvcnQgeyBhZnRlclJlYWQgfSBmcm9tICcuLi8uLi9maWVsZHMvaG9va3MvYWZ0ZXJSZWFkL2luZGV4LmpzJ1xuaW1wb3J0IHsgZGVsZXRlVXNlclByZWZlcmVuY2VzIH0gZnJvbSAnLi4vLi4vcHJlZmVyZW5jZXMvZGVsZXRlVXNlclByZWZlcmVuY2VzLmpzJ1xuaW1wb3J0IHsgZGVsZXRlQXNzb2NpYXRlZEZpbGVzIH0gZnJvbSAnLi4vLi4vdXBsb2Fkcy9kZWxldGVBc3NvY2lhdGVkRmlsZXMuanMnXG5pbXBvcnQgeyBjb21taXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9jb21taXRUcmFuc2FjdGlvbi5qcydcbmltcG9ydCB7IGluaXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9pbml0VHJhbnNhY3Rpb24uanMnXG5pbXBvcnQgeyBraWxsVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMva2lsbFRyYW5zYWN0aW9uLmpzJ1xuaW1wb3J0IHsgZGVsZXRlQ29sbGVjdGlvblZlcnNpb25zIH0gZnJvbSAnLi4vLi4vdmVyc2lvbnMvZGVsZXRlQ29sbGVjdGlvblZlcnNpb25zLmpzJ1xuaW1wb3J0IHsgYnVpbGRBZnRlck9wZXJhdGlvbiB9IGZyb20gJy4vdXRpbHMuanMnXG5cbmV4cG9ydCB0eXBlIEFyZ3VtZW50cyA9IHtcbiAgY29sbGVjdGlvbjogQ29sbGVjdGlvblxuICBkZXB0aD86IG51bWJlclxuICBpZDogbnVtYmVyIHwgc3RyaW5nXG4gIG92ZXJyaWRlQWNjZXNzPzogYm9vbGVhblxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gIHNob3dIaWRkZW5GaWVsZHM/OiBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCBkZWxldGVCeUlET3BlcmF0aW9uID0gYXN5bmMgPFRTbHVnIGV4dGVuZHMga2V5b2YgR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICBpbmNvbWluZ0FyZ3M6IEFyZ3VtZW50cyxcbik6IFByb21pc2U8RG9jdW1lbnQ+ID0+IHtcbiAgbGV0IGFyZ3MgPSBpbmNvbWluZ0FyZ3NcblxuICB0cnkge1xuICAgIGNvbnN0IHNob3VsZENvbW1pdCA9IGF3YWl0IGluaXRUcmFuc2FjdGlvbihhcmdzLnJlcSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBiZWZvcmVPcGVyYXRpb24gLSBDb2xsZWN0aW9uXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgYXdhaXQgYXJncy5jb2xsZWN0aW9uLmNvbmZpZy5ob29rcy5iZWZvcmVPcGVyYXRpb24ucmVkdWNlKFxuICAgICAgYXN5bmMgKHByaW9ySG9vazogQmVmb3JlT3BlcmF0aW9uSG9vayB8IFByb21pc2U8dm9pZD4sIGhvb2s6IEJlZm9yZU9wZXJhdGlvbkhvb2spID0+IHtcbiAgICAgICAgYXdhaXQgcHJpb3JIb29rXG5cbiAgICAgICAgYXJncyA9XG4gICAgICAgICAgKGF3YWl0IGhvb2soe1xuICAgICAgICAgICAgYXJncyxcbiAgICAgICAgICAgIGNvbGxlY3Rpb246IGFyZ3MuY29sbGVjdGlvbi5jb25maWcsXG4gICAgICAgICAgICBjb250ZXh0OiBhcmdzLnJlcS5jb250ZXh0LFxuICAgICAgICAgICAgb3BlcmF0aW9uOiAnZGVsZXRlJyxcbiAgICAgICAgICAgIHJlcTogYXJncy5yZXEsXG4gICAgICAgICAgfSkpIHx8IGFyZ3NcbiAgICAgIH0sXG4gICAgICBQcm9taXNlLnJlc29sdmUoKSxcbiAgICApXG5cbiAgICBjb25zdCB7XG4gICAgICBpZCxcbiAgICAgIGNvbGxlY3Rpb246IHsgY29uZmlnOiBjb2xsZWN0aW9uQ29uZmlnIH0sXG4gICAgICBkZXB0aCxcbiAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgcmVxOiB7XG4gICAgICAgIGZhbGxiYWNrTG9jYWxlLFxuICAgICAgICBsb2NhbGUsXG4gICAgICAgIHBheWxvYWQ6IHsgY29uZmlnIH0sXG4gICAgICAgIHBheWxvYWQsXG4gICAgICB9LFxuICAgICAgcmVxLFxuICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICB9ID0gYXJnc1xuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIEFjY2Vzc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGNvbnN0IGFjY2Vzc1Jlc3VsdHMgPSAhb3ZlcnJpZGVBY2Nlc3NcbiAgICAgID8gYXdhaXQgZXhlY3V0ZUFjY2Vzcyh7IGlkLCByZXEgfSwgY29sbGVjdGlvbkNvbmZpZy5hY2Nlc3MuZGVsZXRlKVxuICAgICAgOiB0cnVlXG4gICAgY29uc3QgaGFzV2hlcmVBY2Nlc3MgPSBoYXNXaGVyZUFjY2Vzc1Jlc3VsdChhY2Nlc3NSZXN1bHRzKVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGJlZm9yZURlbGV0ZSAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBhd2FpdCBjb2xsZWN0aW9uQ29uZmlnLmhvb2tzLmJlZm9yZURlbGV0ZS5yZWR1Y2UoYXN5bmMgKHByaW9ySG9vaywgaG9vaykgPT4ge1xuICAgICAgYXdhaXQgcHJpb3JIb29rXG5cbiAgICAgIHJldHVybiBob29rKHtcbiAgICAgICAgaWQsXG4gICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgIGNvbnRleHQ6IHJlcS5jb250ZXh0LFxuICAgICAgICByZXEsXG4gICAgICB9KVxuICAgIH0sIFByb21pc2UucmVzb2x2ZSgpKVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIFJldHJpZXZlIGRvY3VtZW50XG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgY29uc3QgZG9jVG9EZWxldGUgPSBhd2FpdCByZXEucGF5bG9hZC5kYi5maW5kT25lKHtcbiAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcuc2x1ZyxcbiAgICAgIGxvY2FsZTogcmVxLmxvY2FsZSxcbiAgICAgIHJlcSxcbiAgICAgIHdoZXJlOiBjb21iaW5lUXVlcmllcyh7IGlkOiB7IGVxdWFsczogaWQgfSB9LCBhY2Nlc3NSZXN1bHRzKSxcbiAgICB9KVxuXG4gICAgaWYgKCFkb2NUb0RlbGV0ZSAmJiAhaGFzV2hlcmVBY2Nlc3MpIHRocm93IG5ldyBOb3RGb3VuZChyZXEudClcbiAgICBpZiAoIWRvY1RvRGVsZXRlICYmIGhhc1doZXJlQWNjZXNzKSB0aHJvdyBuZXcgRm9yYmlkZGVuKHJlcS50KVxuXG4gICAgYXdhaXQgZGVsZXRlQXNzb2NpYXRlZEZpbGVzKHtcbiAgICAgIGNvbGxlY3Rpb25Db25maWcsXG4gICAgICBjb25maWcsXG4gICAgICBkb2M6IGRvY1RvRGVsZXRlLFxuICAgICAgb3ZlcnJpZGVEZWxldGU6IHRydWUsXG4gICAgICByZXEsXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBEZWxldGUgdmVyc2lvbnNcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBpZiAoY29sbGVjdGlvbkNvbmZpZy52ZXJzaW9ucykge1xuICAgICAgYXdhaXQgZGVsZXRlQ29sbGVjdGlvblZlcnNpb25zKHtcbiAgICAgICAgaWQsXG4gICAgICAgIHNsdWc6IGNvbGxlY3Rpb25Db25maWcuc2x1ZyxcbiAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgcmVxLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gRGVsZXRlIGRvY3VtZW50XG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgbGV0IHJlc3VsdCA9IGF3YWl0IHJlcS5wYXlsb2FkLmRiLmRlbGV0ZU9uZSh7XG4gICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLnNsdWcsXG4gICAgICByZXEsXG4gICAgICB3aGVyZTogeyBpZDogeyBlcXVhbHM6IGlkIH0gfSxcbiAgICB9KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIERlbGV0ZSBQcmVmZXJlbmNlc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGF3YWl0IGRlbGV0ZVVzZXJQcmVmZXJlbmNlcyh7XG4gICAgICBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgaWRzOiBbaWRdLFxuICAgICAgcGF5bG9hZCxcbiAgICAgIHJlcSxcbiAgICB9KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGFmdGVyUmVhZCAtIEZpZWxkc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIHJlc3VsdCA9IGF3YWl0IGFmdGVyUmVhZCh7XG4gICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICBkZXB0aCxcbiAgICAgIGRvYzogcmVzdWx0LFxuICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICBnbG9iYWw6IG51bGwsXG4gICAgICBsb2NhbGUsXG4gICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgIHJlcSxcbiAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlclJlYWQgLSBDb2xsZWN0aW9uXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgYXdhaXQgY29sbGVjdGlvbkNvbmZpZy5ob29rcy5hZnRlclJlYWQucmVkdWNlKGFzeW5jIChwcmlvckhvb2ssIGhvb2spID0+IHtcbiAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICByZXN1bHQgPVxuICAgICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgICAgICBkb2M6IHJlc3VsdCxcbiAgICAgICAgICByZXEsXG4gICAgICAgIH0pKSB8fCByZXN1bHRcbiAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlckRlbGV0ZSAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBhd2FpdCBjb2xsZWN0aW9uQ29uZmlnLmhvb2tzLmFmdGVyRGVsZXRlLnJlZHVjZShhc3luYyAocHJpb3JIb29rLCBob29rKSA9PiB7XG4gICAgICBhd2FpdCBwcmlvckhvb2tcblxuICAgICAgcmVzdWx0ID1cbiAgICAgICAgKGF3YWl0IGhvb2soe1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICAgICAgZG9jOiByZXN1bHQsXG4gICAgICAgICAgcmVxLFxuICAgICAgICB9KSkgfHwgcmVzdWx0XG4gICAgfSwgUHJvbWlzZS5yZXNvbHZlKCkpXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gYWZ0ZXJPcGVyYXRpb24gLSBDb2xsZWN0aW9uXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgcmVzdWx0ID0gYXdhaXQgYnVpbGRBZnRlck9wZXJhdGlvbjxHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUU2x1Z10+KHtcbiAgICAgIGFyZ3MsXG4gICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgb3BlcmF0aW9uOiAnZGVsZXRlQnlJRCcsXG4gICAgICByZXN1bHQsXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyA4LiBSZXR1cm4gcmVzdWx0c1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGlmIChzaG91bGRDb21taXQpIGF3YWl0IGNvbW1pdFRyYW5zYWN0aW9uKHJlcSlcblxuICAgIHJldHVybiByZXN1bHRcbiAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICBhd2FpdCBraWxsVHJhbnNhY3Rpb24oYXJncy5yZXEpXG4gICAgdGhyb3cgZXJyb3JcbiAgfVxufVxuIl0sIm5hbWVzIjpbImV4ZWN1dGVBY2Nlc3MiLCJoYXNXaGVyZUFjY2Vzc1Jlc3VsdCIsImNvbWJpbmVRdWVyaWVzIiwiRm9yYmlkZGVuIiwiTm90Rm91bmQiLCJhZnRlclJlYWQiLCJkZWxldGVVc2VyUHJlZmVyZW5jZXMiLCJkZWxldGVBc3NvY2lhdGVkRmlsZXMiLCJjb21taXRUcmFuc2FjdGlvbiIsImluaXRUcmFuc2FjdGlvbiIsImtpbGxUcmFuc2FjdGlvbiIsImRlbGV0ZUNvbGxlY3Rpb25WZXJzaW9ucyIsImJ1aWxkQWZ0ZXJPcGVyYXRpb24iLCJkZWxldGVCeUlET3BlcmF0aW9uIiwiaW5jb21pbmdBcmdzIiwiYXJncyIsInNob3VsZENvbW1pdCIsInJlcSIsImNvbGxlY3Rpb24iLCJjb25maWciLCJob29rcyIsImJlZm9yZU9wZXJhdGlvbiIsInJlZHVjZSIsInByaW9ySG9vayIsImhvb2siLCJjb250ZXh0Iiwib3BlcmF0aW9uIiwiUHJvbWlzZSIsInJlc29sdmUiLCJpZCIsImNvbGxlY3Rpb25Db25maWciLCJkZXB0aCIsIm92ZXJyaWRlQWNjZXNzIiwiZmFsbGJhY2tMb2NhbGUiLCJsb2NhbGUiLCJwYXlsb2FkIiwic2hvd0hpZGRlbkZpZWxkcyIsImFjY2Vzc1Jlc3VsdHMiLCJhY2Nlc3MiLCJkZWxldGUiLCJoYXNXaGVyZUFjY2VzcyIsImJlZm9yZURlbGV0ZSIsImRvY1RvRGVsZXRlIiwiZGIiLCJmaW5kT25lIiwic2x1ZyIsIndoZXJlIiwiZXF1YWxzIiwidCIsImRvYyIsIm92ZXJyaWRlRGVsZXRlIiwidmVyc2lvbnMiLCJyZXN1bHQiLCJkZWxldGVPbmUiLCJpZHMiLCJnbG9iYWwiLCJhZnRlckRlbGV0ZSIsImVycm9yIl0sIm1hcHBpbmdzIjoi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
|
|
167
|
+
//# sourceMappingURL=deleteByID.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/collections/operations/deleteByID.ts"],"sourcesContent":["import type { GeneratedTypes } from '../../index.js'\nimport type { Document, PayloadRequest } from '../../types/index.js'\nimport type { BeforeOperationHook, Collection } from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { hasWhereAccessResult } from '../../auth/types.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { Forbidden, NotFound } from '../../errors/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { deleteUserPreferences } from '../../preferences/deleteUserPreferences.js'\nimport { deleteAssociatedFiles } from '../../uploads/deleteAssociatedFiles.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { deleteCollectionVersions } from '../../versions/deleteCollectionVersions.js'\nimport { buildAfterOperation } from './utils.js'\n\nexport type Arguments = {\n collection: Collection\n depth?: number\n id: number | string\n overrideAccess?: boolean\n req: PayloadRequest\n showHiddenFields?: boolean\n}\n\nexport const deleteByIDOperation = async <TSlug extends keyof GeneratedTypes['collections']>(\n incomingArgs: Arguments,\n): Promise<Document> => {\n let args = incomingArgs\n\n try {\n const shouldCommit = await initTransaction(args.req)\n\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n await args.collection.config.hooks.beforeOperation.reduce(\n async (priorHook: BeforeOperationHook | Promise<void>, hook: BeforeOperationHook) => {\n await priorHook\n\n args =\n (await hook({\n args,\n collection: args.collection.config,\n context: args.req.context,\n operation: 'delete',\n req: args.req,\n })) || args\n },\n Promise.resolve(),\n )\n\n const {\n id,\n collection: { config: collectionConfig },\n depth,\n overrideAccess,\n req: {\n fallbackLocale,\n locale,\n payload: { config },\n payload,\n },\n req,\n showHiddenFields,\n } = args\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n const accessResults = !overrideAccess\n ? await executeAccess({ id, req }, collectionConfig.access.delete)\n : true\n const hasWhereAccess = hasWhereAccessResult(accessResults)\n\n // /////////////////////////////////////\n // beforeDelete - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeDelete.reduce(async (priorHook, hook) => {\n await priorHook\n\n return hook({\n id,\n collection: collectionConfig,\n context: req.context,\n req,\n })\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // Retrieve document\n // /////////////////////////////////////\n\n const docToDelete = await req.payload.db.findOne({\n collection: collectionConfig.slug,\n locale: req.locale,\n req,\n where: combineQueries({ id: { equals: id } }, accessResults),\n })\n\n if (!docToDelete && !hasWhereAccess) throw new NotFound(req.t)\n if (!docToDelete && hasWhereAccess) throw new Forbidden(req.t)\n\n await deleteAssociatedFiles({\n collectionConfig,\n config,\n doc: docToDelete,\n overrideDelete: true,\n req,\n })\n\n // /////////////////////////////////////\n // Delete versions\n // /////////////////////////////////////\n\n if (collectionConfig.versions) {\n await deleteCollectionVersions({\n id,\n slug: collectionConfig.slug,\n payload,\n req,\n })\n }\n\n // /////////////////////////////////////\n // Delete document\n // /////////////////////////////////////\n\n let result = await req.payload.db.deleteOne({\n collection: collectionConfig.slug,\n req,\n where: { id: { equals: id } },\n })\n\n // /////////////////////////////////////\n // Delete Preferences\n // /////////////////////////////////////\n\n await deleteUserPreferences({\n collectionConfig,\n ids: [id],\n payload,\n req,\n })\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth,\n doc: result,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterDelete - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterDelete.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n id,\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation<GeneratedTypes['collections'][TSlug]>({\n args,\n collection: collectionConfig,\n operation: 'deleteByID',\n result,\n })\n\n // /////////////////////////////////////\n // 8. Return results\n // /////////////////////////////////////\n\n if (shouldCommit) await commitTransaction(req)\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["executeAccess","hasWhereAccessResult","combineQueries","Forbidden","NotFound","afterRead","deleteUserPreferences","deleteAssociatedFiles","commitTransaction","initTransaction","killTransaction","deleteCollectionVersions","buildAfterOperation","deleteByIDOperation","incomingArgs","args","shouldCommit","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","operation","Promise","resolve","id","collectionConfig","depth","overrideAccess","fallbackLocale","locale","payload","showHiddenFields","accessResults","access","delete","hasWhereAccess","beforeDelete","docToDelete","db","findOne","slug","where","equals","t","doc","overrideDelete","versions","result","deleteOne","ids","global","afterDelete","error"],"mappings":"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"}
|
|
@@ -36,4 +36,4 @@ export async function docAccessOperation(args) {
|
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
//# sourceMappingURL=
|
|
39
|
+
//# sourceMappingURL=docAccess.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/collections/operations/docAccess.ts"],"sourcesContent":["import type { CollectionPermission } from '../../auth/index.js'\nimport type { AllOperations, PayloadRequest } from '../../types/index.js'\nimport type { Collection } from '../config/types.js'\n\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { getEntityPolicies } from '../../utilities/getEntityPolicies.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\n\nconst allOperations: AllOperations[] = ['create', 'read', 'update', 'delete']\n\ntype Arguments = {\n collection: Collection\n id: string\n req: PayloadRequest\n}\n\nexport async function docAccessOperation(args: Arguments): Promise<CollectionPermission> {\n const {\n id,\n collection: { config },\n req,\n } = args\n\n const collectionOperations = [...allOperations]\n\n if (\n config.auth &&\n typeof config.auth.maxLoginAttempts !== 'undefined' &&\n config.auth.maxLoginAttempts !== 0\n ) {\n collectionOperations.push('unlock')\n }\n\n if (config.versions) {\n collectionOperations.push('readVersions')\n }\n\n try {\n const shouldCommit = await initTransaction(req)\n\n const result = await getEntityPolicies({\n id,\n type: 'collection',\n entity: config,\n operations: collectionOperations,\n req,\n })\n\n if (shouldCommit) await commitTransaction(req)\n\n return result\n } catch (e: unknown) {\n await killTransaction(req)\n throw e\n }\n}\n"],"names":["commitTransaction","getEntityPolicies","initTransaction","killTransaction","allOperations","docAccessOperation","args","id","collection","config","req","collectionOperations","auth","maxLoginAttempts","push","versions","shouldCommit","result","type","entity","operations","e"],"mappings":"AAIA,SAASA,iBAAiB,QAAQ,uCAAsC;AACxE,SAASC,iBAAiB,QAAQ,uCAAsC;AACxE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,eAAe,QAAQ,qCAAoC;AAEpE,MAAMC,gBAAiC;IAAC;IAAU;IAAQ;IAAU;CAAS;AAQ7E,OAAO,eAAeC,mBAAmBC,IAAe;IACtD,MAAM,EACJC,EAAE,EACFC,YAAY,EAAEC,MAAM,EAAE,EACtBC,GAAG,EACJ,GAAGJ;IAEJ,MAAMK,uBAAuB;WAAIP;KAAc;IAE/C,IACEK,OAAOG,IAAI,IACX,OAAOH,OAAOG,IAAI,CAACC,gBAAgB,KAAK,eACxCJ,OAAOG,IAAI,CAACC,gBAAgB,KAAK,GACjC;QACAF,qBAAqBG,IAAI,CAAC;IAC5B;IAEA,IAAIL,OAAOM,QAAQ,EAAE;QACnBJ,qBAAqBG,IAAI,CAAC;IAC5B;IAEA,IAAI;QACF,MAAME,eAAe,MAAMd,gBAAgBQ;QAE3C,MAAMO,SAAS,MAAMhB,kBAAkB;YACrCM;YACAW,MAAM;YACNC,QAAQV;YACRW,YAAYT;YACZD;QACF;QAEA,IAAIM,cAAc,MAAMhB,kBAAkBU;QAE1C,OAAOO;IACT,EAAE,OAAOI,GAAY;QACnB,MAAMlB,gBAAgBO;QACtB,MAAMW;IACR;AACF"}
|