payload 3.0.0-alpha.3 → 3.0.0-alpha.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/auth.d.ts +5 -5
- package/auth.js +5 -44
- package/bin.js +40 -1
- package/components.d.ts +14 -0
- package/components.js +71 -0
- package/config.d.ts +10 -10
- package/config.js +10 -59
- package/database.d.ts +22 -22
- package/database.js +21 -108
- package/dist/admin/RichText.d.ts +4 -4
- package/dist/admin/RichText.d.ts.map +1 -1
- package/dist/admin/RichText.js +2 -5
- package/dist/admin/elements/Cell.d.ts +2 -2
- package/dist/admin/elements/Cell.d.ts.map +1 -1
- package/dist/admin/elements/Cell.js +2 -5
- package/dist/admin/elements/DatePicker.js +2 -5
- package/dist/admin/elements/PreviewButton.js +2 -5
- package/dist/admin/elements/PublishButton.js +2 -5
- package/dist/admin/elements/SaveButton.js +2 -5
- package/dist/admin/elements/SaveDraftButton.js +2 -5
- package/dist/admin/elements/Tab.d.ts +3 -3
- package/dist/admin/elements/Tab.d.ts.map +1 -1
- package/dist/admin/elements/Tab.js +2 -5
- package/dist/admin/forms/Error.js +2 -5
- package/dist/admin/forms/FieldDescription.js +2 -5
- package/dist/admin/forms/FieldTypes.js +2 -5
- package/dist/admin/forms/Form.d.ts +22 -0
- package/dist/admin/forms/Form.d.ts.map +1 -1
- package/dist/admin/forms/Form.js +2 -5
- package/dist/admin/forms/Label.js +2 -5
- package/dist/admin/forms/RowLabel.d.ts +1 -1
- package/dist/admin/forms/RowLabel.d.ts.map +1 -1
- package/dist/admin/forms/RowLabel.js +2 -5
- package/dist/admin/types.d.ts +19 -18
- package/dist/admin/types.d.ts.map +1 -1
- package/dist/admin/types.js +2 -5
- package/dist/admin/views/types.d.ts +41 -0
- package/dist/admin/views/types.d.ts.map +1 -0
- package/dist/admin/views/types.js +3 -0
- package/dist/assets/assets.d.js +0 -1
- package/dist/auth/baseFields/accountLock.d.ts +1 -1
- package/dist/auth/baseFields/accountLock.d.ts.map +1 -1
- package/dist/auth/baseFields/accountLock.js +6 -16
- package/dist/auth/baseFields/apiKey.d.ts +1 -1
- package/dist/auth/baseFields/apiKey.d.ts.map +1 -1
- package/dist/auth/baseFields/apiKey.js +6 -21
- package/dist/auth/baseFields/auth.d.ts +1 -1
- package/dist/auth/baseFields/auth.d.ts.map +1 -1
- package/dist/auth/baseFields/auth.js +6 -16
- package/dist/auth/baseFields/verification.d.ts +1 -1
- package/dist/auth/baseFields/verification.d.ts.map +1 -1
- package/dist/auth/baseFields/verification.js +8 -18
- package/dist/auth/cookies.d.ts +2 -2
- package/dist/auth/cookies.d.ts.map +1 -1
- package/dist/auth/cookies.js +6 -33
- package/dist/auth/crypto.js +7 -30
- package/dist/auth/defaultAccess.d.ts +1 -1
- package/dist/auth/defaultAccess.d.ts.map +1 -1
- package/dist/auth/defaultAccess.js +2 -12
- package/dist/auth/defaultUser.d.ts +1 -1
- package/dist/auth/defaultUser.d.ts.map +1 -1
- package/dist/auth/defaultUser.js +6 -16
- package/dist/auth/executeAccess.d.ts +2 -2
- package/dist/auth/executeAccess.d.ts.map +1 -1
- package/dist/auth/executeAccess.js +5 -15
- package/dist/auth/extractJWT.d.ts +1 -1
- package/dist/auth/extractJWT.d.ts.map +1 -1
- package/dist/auth/extractJWT.js +4 -14
- package/dist/auth/getAccessResults.d.ts +2 -2
- package/dist/auth/getAccessResults.d.ts.map +1 -1
- package/dist/auth/getAccessResults.js +9 -19
- package/dist/auth/getAuthenticatedUser.d.ts +1 -1
- package/dist/auth/getAuthenticatedUser.d.ts.map +1 -1
- package/dist/auth/getAuthenticatedUser.js +2 -12
- package/dist/auth/getFieldsToSign.d.ts +2 -2
- package/dist/auth/getFieldsToSign.d.ts.map +1 -1
- package/dist/auth/getFieldsToSign.js +5 -15
- package/dist/auth/index.d.ts +3 -3
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +4 -27
- package/dist/auth/isLocked.js +2 -12
- package/dist/auth/operations/access.d.ts +2 -2
- package/dist/auth/operations/access.d.ts.map +1 -1
- package/dist/auth/operations/access.js +12 -22
- package/dist/auth/operations/forgotPassword.d.ts +2 -2
- package/dist/auth/operations/forgotPassword.d.ts.map +1 -1
- package/dist/auth/operations/forgotPassword.js +17 -32
- package/dist/auth/operations/init.d.ts +1 -1
- package/dist/auth/operations/init.d.ts.map +1 -1
- package/dist/auth/operations/init.js +2 -12
- package/dist/auth/operations/local/forgotPassword.d.ts +3 -3
- package/dist/auth/operations/local/forgotPassword.d.ts.map +1 -1
- package/dist/auth/operations/local/forgotPassword.js +8 -18
- package/dist/auth/operations/local/index.d.ts +5 -5
- package/dist/auth/operations/local/index.d.ts.map +1 -1
- package/dist/auth/operations/local/index.js +12 -27
- package/dist/auth/operations/local/login.d.ts +4 -4
- package/dist/auth/operations/local/login.d.ts.map +1 -1
- package/dist/auth/operations/local/login.js +8 -18
- package/dist/auth/operations/local/resetPassword.d.ts +4 -4
- package/dist/auth/operations/local/resetPassword.d.ts.map +1 -1
- package/dist/auth/operations/local/resetPassword.js +8 -18
- package/dist/auth/operations/local/unlock.d.ts +3 -3
- package/dist/auth/operations/local/unlock.d.ts.map +1 -1
- package/dist/auth/operations/local/unlock.js +8 -18
- package/dist/auth/operations/local/verifyEmail.d.ts +3 -3
- package/dist/auth/operations/local/verifyEmail.d.ts.map +1 -1
- package/dist/auth/operations/local/verifyEmail.js +8 -18
- package/dist/auth/operations/login.d.ts +7 -7
- package/dist/auth/operations/login.d.ts.map +1 -1
- package/dist/auth/operations/login.js +32 -47
- package/dist/auth/operations/logout.d.ts +2 -2
- package/dist/auth/operations/logout.d.ts.map +1 -1
- package/dist/auth/operations/logout.js +6 -21
- package/dist/auth/operations/me.d.ts +3 -3
- package/dist/auth/operations/me.d.ts.map +1 -1
- package/dist/auth/operations/me.js +4 -19
- package/dist/auth/operations/refresh.d.ts +3 -3
- package/dist/auth/operations/refresh.d.ts.map +1 -1
- package/dist/auth/operations/refresh.js +19 -34
- package/dist/auth/operations/registerFirstUser.d.ts +9 -9
- package/dist/auth/operations/registerFirstUser.d.ts.map +1 -1
- package/dist/auth/operations/registerFirstUser.js +11 -21
- package/dist/auth/operations/resetPassword.d.ts +2 -2
- package/dist/auth/operations/resetPassword.d.ts.map +1 -1
- package/dist/auth/operations/resetPassword.js +20 -43
- package/dist/auth/operations/unlock.d.ts +2 -2
- package/dist/auth/operations/unlock.d.ts.map +1 -1
- package/dist/auth/operations/unlock.js +16 -39
- package/dist/auth/operations/verifyEmail.d.ts +2 -2
- package/dist/auth/operations/verifyEmail.d.ts.map +1 -1
- package/dist/auth/operations/verifyEmail.js +14 -37
- package/dist/auth/sendVerificationEmail.d.ts +5 -5
- package/dist/auth/sendVerificationEmail.d.ts.map +1 -1
- package/dist/auth/sendVerificationEmail.js +4 -14
- package/dist/auth/strategies/apiKey.d.ts +2 -2
- package/dist/auth/strategies/apiKey.d.ts.map +1 -1
- package/dist/auth/strategies/apiKey.js +4 -19
- package/dist/auth/strategies/jwt.d.ts +1 -1
- package/dist/auth/strategies/jwt.d.ts.map +1 -1
- package/dist/auth/strategies/jwt.js +6 -21
- package/dist/auth/strategies/local/authenticate.d.ts +1 -1
- package/dist/auth/strategies/local/authenticate.d.ts.map +1 -1
- package/dist/auth/strategies/local/authenticate.js +6 -21
- package/dist/auth/strategies/local/generatePasswordSaltHash.js +7 -22
- package/dist/auth/strategies/local/incrementLoginAttempts.d.ts +3 -3
- package/dist/auth/strategies/local/incrementLoginAttempts.d.ts.map +1 -1
- package/dist/auth/strategies/local/incrementLoginAttempts.js +2 -12
- package/dist/auth/strategies/local/register.d.ts +3 -3
- package/dist/auth/strategies/local/register.d.ts.map +1 -1
- package/dist/auth/strategies/local/register.js +6 -16
- package/dist/auth/strategies/local/resetLoginAttempts.d.ts +3 -3
- package/dist/auth/strategies/local/resetLoginAttempts.d.ts.map +1 -1
- package/dist/auth/strategies/local/resetLoginAttempts.js +2 -12
- package/dist/auth/types.d.ts +2 -2
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/auth/types.js +2 -12
- package/dist/bin/generateTypes.d.ts +1 -1
- package/dist/bin/generateTypes.d.ts.map +1 -1
- package/dist/bin/generateTypes.js +12 -27
- package/dist/bin/index.js +11 -53
- package/dist/bin/loadEnv.js +13 -26
- package/dist/bin/migrate.js +15 -30
- package/dist/collections/config/build.d.ts +1 -1
- package/dist/collections/config/build.d.ts.map +1 -1
- package/dist/collections/config/build.js +2 -12
- package/dist/collections/config/defaults.d.ts +5 -5
- package/dist/collections/config/defaults.js +9 -32
- package/dist/collections/config/sanitize.d.ts +2 -2
- package/dist/collections/config/sanitize.d.ts.map +1 -1
- package/dist/collections/config/sanitize.js +34 -49
- package/dist/collections/config/schema.js +157 -172
- package/dist/collections/config/types.d.ts +13 -13
- package/dist/collections/config/types.d.ts.map +1 -1
- package/dist/collections/config/types.js +2 -5
- package/dist/collections/dataloader.d.ts +2 -2
- package/dist/collections/dataloader.d.ts.map +1 -1
- package/dist/collections/dataloader.js +8 -23
- package/dist/collections/operations/create.d.ts +9 -9
- package/dist/collections/operations/create.d.ts.map +1 -1
- package/dist/collections/operations/create.js +38 -53
- package/dist/collections/operations/delete.d.ts +9 -10
- package/dist/collections/operations/delete.d.ts.map +1 -1
- package/dist/collections/operations/delete.js +27 -42
- package/dist/collections/operations/deleteByID.d.ts +2 -3
- package/dist/collections/operations/deleteByID.d.ts.map +1 -1
- package/dist/collections/operations/deleteByID.js +27 -42
- package/dist/collections/operations/docAccess.d.ts +3 -3
- package/dist/collections/operations/docAccess.d.ts.map +1 -1
- package/dist/collections/operations/docAccess.js +12 -22
- package/dist/collections/operations/find.d.ts +3 -4
- package/dist/collections/operations/find.d.ts.map +1 -1
- package/dist/collections/operations/find.js +25 -40
- package/dist/collections/operations/findByID.d.ts +2 -2
- package/dist/collections/operations/findByID.d.ts.map +1 -1
- package/dist/collections/operations/findByID.js +21 -36
- package/dist/collections/operations/findVersionByID.d.ts +3 -3
- package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
- package/dist/collections/operations/findVersionByID.js +19 -34
- package/dist/collections/operations/findVersions.d.ts +4 -5
- package/dist/collections/operations/findVersions.d.ts.map +1 -1
- package/dist/collections/operations/findVersions.js +20 -35
- package/dist/collections/operations/local/create.d.ts +4 -5
- package/dist/collections/operations/local/create.d.ts.map +1 -1
- package/dist/collections/operations/local/create.js +10 -25
- package/dist/collections/operations/local/delete.d.ts +5 -5
- package/dist/collections/operations/local/delete.d.ts.map +1 -1
- package/dist/collections/operations/local/delete.js +10 -20
- package/dist/collections/operations/local/find.d.ts +3 -4
- package/dist/collections/operations/local/find.d.ts.map +1 -1
- package/dist/collections/operations/local/find.js +8 -18
- package/dist/collections/operations/local/findByID.d.ts +2 -4
- package/dist/collections/operations/local/findByID.d.ts.map +1 -1
- package/dist/collections/operations/local/findByID.js +8 -18
- package/dist/collections/operations/local/findVersionByID.d.ts +3 -4
- package/dist/collections/operations/local/findVersionByID.d.ts.map +1 -1
- package/dist/collections/operations/local/findVersionByID.js +8 -18
- package/dist/collections/operations/local/findVersions.d.ts +4 -5
- package/dist/collections/operations/local/findVersions.d.ts.map +1 -1
- package/dist/collections/operations/local/findVersions.js +8 -18
- package/dist/collections/operations/local/index.d.ts +13 -13
- package/dist/collections/operations/local/index.d.ts.map +1 -1
- package/dist/collections/operations/local/index.js +20 -35
- package/dist/collections/operations/local/restoreVersion.d.ts +2 -3
- package/dist/collections/operations/local/restoreVersion.d.ts.map +1 -1
- package/dist/collections/operations/local/restoreVersion.js +8 -18
- package/dist/collections/operations/local/update.d.ts +4 -5
- package/dist/collections/operations/local/update.d.ts.map +1 -1
- package/dist/collections/operations/local/update.js +12 -27
- package/dist/collections/operations/restoreVersion.d.ts +2 -2
- package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
- package/dist/collections/operations/restoreVersion.js +26 -41
- package/dist/collections/operations/update.d.ts +7 -8
- package/dist/collections/operations/update.d.ts.map +1 -1
- package/dist/collections/operations/update.js +43 -58
- package/dist/collections/operations/updateByID.d.ts +9 -9
- package/dist/collections/operations/updateByID.d.ts.map +1 -1
- package/dist/collections/operations/updateByID.js +44 -59
- package/dist/collections/operations/utils.d.ts +12 -12
- package/dist/collections/operations/utils.d.ts.map +1 -1
- package/dist/collections/operations/utils.js +3 -12
- package/dist/config/build.d.ts +1 -1
- package/dist/config/build.d.ts.map +1 -1
- package/dist/config/build.js +9 -15
- package/dist/config/clientFiles.js +2 -12
- package/dist/config/createClientConfig.d.ts +2 -2
- package/dist/config/createClientConfig.d.ts.map +1 -1
- package/dist/config/createClientConfig.js +12 -25
- package/dist/config/defaults.d.ts +1 -1
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +4 -19
- package/dist/config/find.js +18 -33
- package/dist/config/load.d.ts +2 -4
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/load.js +8 -37
- package/dist/config/sanitize.d.ts +1 -1
- package/dist/config/sanitize.d.ts.map +1 -1
- package/dist/config/sanitize.js +25 -40
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +116 -133
- package/dist/config/shared/adminViewSchema.js +9 -24
- package/dist/config/shared/componentSchema.js +21 -50
- package/dist/config/types.d.ts +21 -30
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +9 -21
- package/dist/config/validate.d.ts +1 -1
- package/dist/config/validate.d.ts.map +1 -1
- package/dist/config/validate.js +15 -71
- package/dist/database/combineQueries.d.ts +1 -1
- package/dist/database/combineQueries.d.ts.map +1 -1
- package/dist/database/combineQueries.js +4 -14
- package/dist/database/createDatabaseAdapter.d.ts +1 -1
- package/dist/database/createDatabaseAdapter.d.ts.map +1 -1
- package/dist/database/createDatabaseAdapter.js +14 -24
- package/dist/database/flattenWhereToOperators.d.ts +1 -1
- package/dist/database/flattenWhereToOperators.d.ts.map +1 -1
- package/dist/database/flattenWhereToOperators.js +2 -12
- package/dist/database/getLocalizedPaths.d.ts +3 -3
- package/dist/database/getLocalizedPaths.d.ts.map +1 -1
- package/dist/database/getLocalizedPaths.js +7 -22
- package/dist/database/migrations/createMigration.d.ts +1 -1
- package/dist/database/migrations/createMigration.d.ts.map +1 -1
- package/dist/database/migrations/createMigration.js +7 -22
- package/dist/database/migrations/getMigrations.d.ts +2 -2
- package/dist/database/migrations/getMigrations.d.ts.map +1 -1
- package/dist/database/migrations/getMigrations.js +4 -12
- package/dist/database/migrations/migrate.d.ts +1 -1
- package/dist/database/migrations/migrate.d.ts.map +1 -1
- package/dist/database/migrations/migrate.js +12 -22
- package/dist/database/migrations/migrateDown.d.ts +1 -1
- package/dist/database/migrations/migrateDown.d.ts.map +1 -1
- package/dist/database/migrations/migrateDown.js +12 -22
- package/dist/database/migrations/migrateRefresh.d.ts +1 -1
- package/dist/database/migrations/migrateRefresh.d.ts.map +1 -1
- package/dist/database/migrations/migrateRefresh.js +16 -24
- package/dist/database/migrations/migrateReset.d.ts +1 -1
- package/dist/database/migrations/migrateReset.d.ts.map +1 -1
- package/dist/database/migrations/migrateReset.js +12 -22
- package/dist/database/migrations/migrateStatus.d.ts +1 -1
- package/dist/database/migrations/migrateStatus.d.ts.map +1 -1
- package/dist/database/migrations/migrateStatus.js +8 -18
- package/dist/database/migrations/migrationTemplate.js +2 -12
- package/dist/database/migrations/migrationsCollection.d.ts +1 -1
- package/dist/database/migrations/migrationsCollection.d.ts.map +1 -1
- package/dist/database/migrations/migrationsCollection.js +2 -12
- package/dist/database/migrations/readMigrationFiles.d.ts +2 -2
- package/dist/database/migrations/readMigrationFiles.d.ts.map +1 -1
- package/dist/database/migrations/readMigrationFiles.js +12 -24
- package/dist/database/queryValidation/types.d.ts +2 -2
- package/dist/database/queryValidation/types.d.ts.map +1 -1
- package/dist/database/queryValidation/types.js +2 -5
- package/dist/database/queryValidation/validateQueryPaths.d.ts +5 -5
- package/dist/database/queryValidation/validateQueryPaths.d.ts.map +1 -1
- package/dist/database/queryValidation/validateQueryPaths.js +13 -28
- package/dist/database/queryValidation/validateSearchParams.d.ts +5 -5
- package/dist/database/queryValidation/validateSearchParams.d.ts.map +1 -1
- package/dist/database/queryValidation/validateSearchParams.js +17 -25
- package/dist/database/types.d.ts +9 -7
- package/dist/database/types.d.ts.map +1 -1
- package/dist/database/types.js +2 -5
- package/dist/email/build.d.ts +2 -2
- package/dist/email/build.d.ts.map +1 -1
- package/dist/email/build.js +11 -26
- package/dist/email/defaults.d.ts +1 -1
- package/dist/email/defaults.d.ts.map +1 -1
- package/dist/email/defaults.js +2 -12
- package/dist/email/mockHandler.d.ts +2 -2
- package/dist/email/mockHandler.d.ts.map +1 -1
- package/dist/email/mockHandler.js +8 -23
- package/dist/email/sendEmail.js +2 -12
- package/dist/email/types.js +2 -5
- package/dist/errors/APIError.js +4 -19
- package/dist/errors/AuthenticationError.d.ts +1 -1
- package/dist/errors/AuthenticationError.d.ts.map +1 -1
- package/dist/errors/AuthenticationError.js +7 -22
- package/dist/errors/DuplicateCollection.d.ts +1 -1
- package/dist/errors/DuplicateCollection.d.ts.map +1 -1
- package/dist/errors/DuplicateCollection.js +4 -19
- package/dist/errors/DuplicateFieldName.d.ts +1 -1
- package/dist/errors/DuplicateFieldName.d.ts.map +1 -1
- package/dist/errors/DuplicateFieldName.js +4 -19
- package/dist/errors/DuplicateGlobal.d.ts +2 -2
- package/dist/errors/DuplicateGlobal.d.ts.map +1 -1
- package/dist/errors/DuplicateGlobal.js +4 -19
- package/dist/errors/ErrorDeletingFile.d.ts +1 -1
- package/dist/errors/ErrorDeletingFile.d.ts.map +1 -1
- package/dist/errors/ErrorDeletingFile.js +7 -22
- package/dist/errors/FileUploadError.d.ts +1 -1
- package/dist/errors/FileUploadError.d.ts.map +1 -1
- package/dist/errors/FileUploadError.js +7 -22
- package/dist/errors/Forbidden.d.ts +1 -1
- package/dist/errors/Forbidden.d.ts.map +1 -1
- package/dist/errors/Forbidden.js +7 -22
- package/dist/errors/InvalidConfiguration.d.ts +1 -1
- package/dist/errors/InvalidConfiguration.d.ts.map +1 -1
- package/dist/errors/InvalidConfiguration.js +6 -21
- package/dist/errors/InvalidFieldName.d.ts +2 -2
- package/dist/errors/InvalidFieldName.d.ts.map +1 -1
- package/dist/errors/InvalidFieldName.js +4 -19
- package/dist/errors/InvalidFieldRelationship.d.ts +2 -2
- package/dist/errors/InvalidFieldRelationship.d.ts.map +1 -1
- package/dist/errors/InvalidFieldRelationship.js +4 -19
- package/dist/errors/InvalidSchema.d.ts +1 -1
- package/dist/errors/InvalidSchema.d.ts.map +1 -1
- package/dist/errors/InvalidSchema.js +6 -21
- package/dist/errors/LockedAuth.d.ts +1 -1
- package/dist/errors/LockedAuth.d.ts.map +1 -1
- package/dist/errors/LockedAuth.js +7 -22
- package/dist/errors/MissingCollectionLabel.d.ts +1 -1
- package/dist/errors/MissingCollectionLabel.d.ts.map +1 -1
- package/dist/errors/MissingCollectionLabel.js +4 -19
- package/dist/errors/MissingFieldInputOptions.d.ts +2 -2
- package/dist/errors/MissingFieldInputOptions.d.ts.map +1 -1
- package/dist/errors/MissingFieldInputOptions.js +4 -19
- package/dist/errors/MissingFieldType.d.ts +2 -2
- package/dist/errors/MissingFieldType.d.ts.map +1 -1
- package/dist/errors/MissingFieldType.js +6 -21
- package/dist/errors/MissingFile.d.ts +1 -1
- package/dist/errors/MissingFile.d.ts.map +1 -1
- package/dist/errors/MissingFile.js +7 -22
- package/dist/errors/NotFound.d.ts +1 -1
- package/dist/errors/NotFound.d.ts.map +1 -1
- package/dist/errors/NotFound.js +7 -22
- package/dist/errors/QueryError.d.ts +1 -1
- package/dist/errors/QueryError.d.ts.map +1 -1
- package/dist/errors/QueryError.js +6 -21
- package/dist/errors/TimestampsRequired.d.ts +2 -2
- package/dist/errors/TimestampsRequired.d.ts.map +1 -1
- package/dist/errors/TimestampsRequired.js +4 -19
- package/dist/errors/UnathorizedError.d.ts +1 -1
- package/dist/errors/UnathorizedError.d.ts.map +1 -1
- package/dist/errors/UnathorizedError.js +7 -22
- package/dist/errors/ValidationError.d.ts +1 -1
- package/dist/errors/ValidationError.d.ts.map +1 -1
- package/dist/errors/ValidationError.js +8 -23
- package/dist/errors/index.d.ts +19 -19
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +20 -94
- package/dist/errors/types.d.ts +1 -1
- package/dist/errors/types.d.ts.map +1 -1
- package/dist/errors/types.js +2 -19
- package/dist/exports/auth.d.ts +5 -5
- package/dist/exports/auth.d.ts.map +1 -1
- package/dist/exports/auth.js +5 -44
- package/dist/exports/components/utilities.js +0 -1
- package/dist/exports/config.d.ts +10 -10
- package/dist/exports/config.d.ts.map +1 -1
- package/dist/exports/config.js +10 -59
- package/dist/exports/database.d.ts +22 -22
- package/dist/exports/database.d.ts.map +1 -1
- package/dist/exports/database.js +21 -108
- package/dist/exports/errors.d.ts +1 -1
- package/dist/exports/errors.d.ts.map +1 -1
- package/dist/exports/errors.js +2 -68
- package/dist/exports/fields/index.d.ts +2 -2
- package/dist/exports/fields/index.d.ts.map +1 -1
- package/dist/exports/fields/index.js +3 -26
- package/dist/exports/fields/validations.d.ts +1 -1
- package/dist/exports/fields/validations.d.ts.map +1 -1
- package/dist/exports/fields/validations.js +2 -19
- package/dist/exports/operations.d.ts +28 -28
- package/dist/exports/operations.d.ts.map +1 -1
- package/dist/exports/operations.js +29 -125
- package/dist/exports/types.d.ts +11 -11
- package/dist/exports/types.d.ts.map +1 -1
- package/dist/exports/types.js +4 -74
- package/dist/exports/utilities.d.ts +27 -27
- package/dist/exports/utilities.d.ts.map +1 -1
- package/dist/exports/utilities.js +28 -141
- package/dist/exports/versions.d.ts +9 -9
- package/dist/exports/versions.d.ts.map +1 -1
- package/dist/exports/versions.js +9 -45
- package/dist/fields/baseFields/baseBlockFields.d.ts +1 -1
- package/dist/fields/baseFields/baseBlockFields.d.ts.map +1 -1
- package/dist/fields/baseFields/baseBlockFields.js +6 -16
- package/dist/fields/baseFields/baseIDField.d.ts +1 -1
- package/dist/fields/baseFields/baseIDField.d.ts.map +1 -1
- package/dist/fields/baseFields/baseIDField.js +7 -21
- package/dist/fields/config/sanitize.d.ts +2 -2
- package/dist/fields/config/sanitize.d.ts.map +1 -1
- package/dist/fields/config/sanitize.js +28 -43
- package/dist/fields/config/sanitize.spec.js +25 -29
- package/dist/fields/config/schema.js +336 -431
- package/dist/fields/config/types.d.ts +5 -6
- package/dist/fields/config/types.d.ts.map +1 -1
- package/dist/fields/config/types.js +15 -69
- package/dist/fields/getDefaultValue.d.ts +1 -1
- package/dist/fields/getDefaultValue.d.ts.map +1 -1
- package/dist/fields/getDefaultValue.js +2 -12
- package/dist/fields/hooks/afterChange/index.d.ts +3 -3
- package/dist/fields/hooks/afterChange/index.d.ts.map +1 -1
- package/dist/fields/hooks/afterChange/index.js +6 -16
- package/dist/fields/hooks/afterChange/promise.d.ts +4 -4
- package/dist/fields/hooks/afterChange/promise.d.ts.map +1 -1
- package/dist/fields/hooks/afterChange/promise.js +14 -22
- package/dist/fields/hooks/afterChange/traverseFields.d.ts +4 -4
- package/dist/fields/hooks/afterChange/traverseFields.d.ts.map +1 -1
- package/dist/fields/hooks/afterChange/traverseFields.js +4 -14
- package/dist/fields/hooks/afterRead/index.d.ts +3 -3
- package/dist/fields/hooks/afterRead/index.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/index.js +6 -16
- package/dist/fields/hooks/afterRead/promise.d.ts +4 -4
- package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/promise.js +28 -38
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts +2 -2
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js +5 -15
- package/dist/fields/hooks/afterRead/traverseFields.d.ts +4 -4
- package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/traverseFields.js +4 -14
- package/dist/fields/hooks/beforeChange/cloneDataFromOriginalDoc.js +2 -12
- package/dist/fields/hooks/beforeChange/getExistingRowDoc.js +2 -12
- package/dist/fields/hooks/beforeChange/index.d.ts +3 -4
- package/dist/fields/hooks/beforeChange/index.d.ts.map +1 -1
- package/dist/fields/hooks/beforeChange/index.js +8 -18
- package/dist/fields/hooks/beforeChange/promise.d.ts +4 -5
- package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
- package/dist/fields/hooks/beforeChange/promise.js +26 -35
- package/dist/fields/hooks/beforeChange/traverseFields.d.ts +4 -5
- package/dist/fields/hooks/beforeChange/traverseFields.d.ts.map +1 -1
- package/dist/fields/hooks/beforeChange/traverseFields.js +4 -14
- package/dist/fields/hooks/beforeValidate/index.d.ts +3 -3
- package/dist/fields/hooks/beforeValidate/index.d.ts.map +1 -1
- package/dist/fields/hooks/beforeValidate/index.js +6 -16
- package/dist/fields/hooks/beforeValidate/promise.d.ts +4 -4
- package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
- package/dist/fields/hooks/beforeValidate/promise.js +30 -39
- package/dist/fields/hooks/beforeValidate/traverseFields.d.ts +4 -4
- package/dist/fields/hooks/beforeValidate/traverseFields.d.ts.map +1 -1
- package/dist/fields/hooks/beforeValidate/traverseFields.js +4 -14
- package/dist/fields/mergeBaseFields.d.ts +1 -1
- package/dist/fields/mergeBaseFields.d.ts.map +1 -1
- package/dist/fields/mergeBaseFields.js +8 -23
- package/dist/fields/sortableFieldTypes.js +2 -12
- package/dist/fields/validations.d.ts +6 -6
- package/dist/fields/validations.d.ts.map +1 -1
- package/dist/fields/validations.js +31 -97
- package/dist/fields/validations.spec.js +93 -87
- package/dist/globals/config/sanitize.d.ts +2 -2
- package/dist/globals/config/sanitize.d.ts.map +1 -1
- package/dist/globals/config/sanitize.js +19 -34
- package/dist/globals/config/schema.js +55 -70
- package/dist/globals/config/types.d.ts +11 -11
- package/dist/globals/config/types.d.ts.map +1 -1
- package/dist/globals/config/types.js +2 -5
- package/dist/globals/operations/docAccess.d.ts +3 -3
- package/dist/globals/operations/docAccess.d.ts.map +1 -1
- package/dist/globals/operations/docAccess.js +12 -22
- package/dist/globals/operations/findOne.d.ts +2 -2
- package/dist/globals/operations/findOne.d.ts.map +1 -1
- package/dist/globals/operations/findOne.js +14 -29
- package/dist/globals/operations/findVersionByID.d.ts +3 -3
- package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
- package/dist/globals/operations/findVersionByID.js +18 -33
- package/dist/globals/operations/findVersions.d.ts +4 -5
- package/dist/globals/operations/findVersions.d.ts.map +1 -1
- package/dist/globals/operations/findVersions.js +20 -35
- package/dist/globals/operations/local/findOne.d.ts +2 -4
- package/dist/globals/operations/local/findOne.d.ts.map +1 -1
- package/dist/globals/operations/local/findOne.js +11 -21
- package/dist/globals/operations/local/findVersionByID.d.ts +3 -5
- package/dist/globals/operations/local/findVersionByID.d.ts.map +1 -1
- package/dist/globals/operations/local/findVersionByID.js +9 -19
- package/dist/globals/operations/local/findVersions.d.ts +4 -6
- package/dist/globals/operations/local/findVersions.d.ts.map +1 -1
- package/dist/globals/operations/local/findVersions.js +9 -19
- package/dist/globals/operations/local/index.d.ts +5 -5
- package/dist/globals/operations/local/index.d.ts.map +1 -1
- package/dist/globals/operations/local/index.js +12 -27
- package/dist/globals/operations/local/restoreVersion.d.ts +2 -4
- package/dist/globals/operations/local/restoreVersion.d.ts.map +1 -1
- package/dist/globals/operations/local/restoreVersion.js +9 -19
- package/dist/globals/operations/local/update.d.ts +2 -4
- package/dist/globals/operations/local/update.d.ts.map +1 -1
- package/dist/globals/operations/local/update.js +9 -19
- package/dist/globals/operations/restoreVersion.d.ts +3 -3
- package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
- package/dist/globals/operations/restoreVersion.js +16 -31
- package/dist/globals/operations/update.d.ts +9 -9
- package/dist/globals/operations/update.d.ts.map +1 -1
- package/dist/globals/operations/update.js +23 -38
- package/dist/index.d.ts +29 -29
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +50 -70
- package/dist/localization/middleware.js +2 -12
- package/dist/localization/sanitizeFallbackLocale.js +2 -12
- package/dist/preferences/deleteUserPreferences.d.ts +3 -3
- package/dist/preferences/deleteUserPreferences.d.ts.map +1 -1
- package/dist/preferences/deleteUserPreferences.js +2 -12
- package/dist/preferences/operations/delete.d.ts +2 -2
- package/dist/preferences/operations/delete.d.ts.map +1 -1
- package/dist/preferences/operations/delete.js +10 -25
- package/dist/preferences/operations/findOne.d.ts +2 -2
- package/dist/preferences/operations/findOne.d.ts.map +1 -1
- package/dist/preferences/operations/findOne.js +2 -12
- package/dist/preferences/operations/update.d.ts +1 -1
- package/dist/preferences/operations/update.d.ts.map +1 -1
- package/dist/preferences/operations/update.js +8 -23
- package/dist/preferences/preferencesCollection.d.ts +2 -2
- package/dist/preferences/preferencesCollection.d.ts.map +1 -1
- package/dist/preferences/preferencesCollection.js +8 -18
- package/dist/preferences/requestHandlers/delete.d.ts +1 -1
- package/dist/preferences/requestHandlers/delete.d.ts.map +1 -1
- package/dist/preferences/requestHandlers/delete.js +6 -21
- package/dist/preferences/requestHandlers/findOne.d.ts +1 -1
- package/dist/preferences/requestHandlers/findOne.d.ts.map +1 -1
- package/dist/preferences/requestHandlers/findOne.js +6 -21
- package/dist/preferences/requestHandlers/update.d.ts +1 -1
- package/dist/preferences/requestHandlers/update.d.ts.map +1 -1
- package/dist/preferences/requestHandlers/update.js +6 -21
- package/dist/preferences/types.d.ts +2 -2
- package/dist/preferences/types.d.ts.map +1 -1
- package/dist/preferences/types.js +2 -5
- package/dist/translations/extractTranslations.js +4 -14
- package/dist/translations/getLocalI18n.d.ts +1 -1
- package/dist/translations/getLocalI18n.d.ts.map +1 -1
- package/dist/translations/getLocalI18n.js +5 -15
- package/dist/types/constants.js +2 -12
- package/dist/types/index.d.ts +8 -6
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -12
- package/dist/uploads/canResizeImage.js +2 -12
- package/dist/uploads/cropImage.d.ts +3 -7
- package/dist/uploads/cropImage.d.ts.map +1 -1
- package/dist/uploads/cropImage.js +4 -28
- package/dist/uploads/deleteAssociatedFiles.d.ts +4 -4
- package/dist/uploads/deleteAssociatedFiles.d.ts.map +1 -1
- package/dist/uploads/deleteAssociatedFiles.js +11 -26
- package/dist/uploads/docWithFilenameExists.d.ts +1 -1
- package/dist/uploads/docWithFilenameExists.d.ts.map +1 -1
- package/dist/uploads/docWithFilenameExists.js +2 -12
- package/dist/uploads/fileExists.js +4 -19
- package/dist/uploads/formatFilesize.js +2 -12
- package/dist/uploads/generateFileData.d.ts +4 -4
- package/dist/uploads/generateFileData.d.ts.map +1 -1
- package/dist/uploads/generateFileData.js +42 -55
- package/dist/uploads/getBaseFields.d.ts +3 -3
- package/dist/uploads/getBaseFields.d.ts.map +1 -1
- package/dist/uploads/getBaseFields.js +6 -16
- package/dist/uploads/getExternalFile.d.ts +2 -2
- package/dist/uploads/getExternalFile.d.ts.map +1 -1
- package/dist/uploads/getExternalFile.js +5 -15
- package/dist/uploads/getFileByPath.d.ts +1 -1
- package/dist/uploads/getFileByPath.d.ts.map +1 -1
- package/dist/uploads/getFileByPath.js +11 -25
- package/dist/uploads/getImageSize.d.ts +2 -2
- package/dist/uploads/getImageSize.d.ts.map +1 -1
- package/dist/uploads/getImageSize.js +7 -22
- package/dist/uploads/getSafeFilename.d.ts +1 -1
- package/dist/uploads/getSafeFilename.d.ts.map +1 -1
- package/dist/uploads/getSafeFilename.js +8 -23
- package/dist/uploads/imageResizer.d.ts +6 -5
- package/dist/uploads/imageResizer.d.ts.map +1 -1
- package/dist/uploads/imageResizer.js +29 -44
- package/dist/uploads/isImage.js +2 -12
- package/dist/uploads/mimeTypeValidator.d.ts +1 -1
- package/dist/uploads/mimeTypeValidator.d.ts.map +1 -1
- package/dist/uploads/mimeTypeValidator.js +2 -12
- package/dist/uploads/mimeTypeValidator.spec.js +11 -15
- package/dist/uploads/saveBufferToFile.d.ts +1 -1
- package/dist/uploads/saveBufferToFile.js +6 -21
- package/dist/uploads/types.d.ts +8 -2
- package/dist/uploads/types.d.ts.map +1 -1
- package/dist/uploads/types.js +2 -5
- package/dist/uploads/unlinkTempFiles.d.ts +3 -3
- package/dist/uploads/unlinkTempFiles.d.ts.map +1 -1
- package/dist/uploads/unlinkTempFiles.js +9 -22
- package/dist/uploads/uploadFiles.d.ts +3 -3
- package/dist/uploads/uploadFiles.d.ts.map +1 -1
- package/dist/uploads/uploadFiles.js +6 -21
- package/dist/utilities/checkDuplicateCollections.d.ts +1 -1
- package/dist/utilities/checkDuplicateCollections.d.ts.map +1 -1
- package/dist/utilities/checkDuplicateCollections.js +4 -14
- package/dist/utilities/combineMerge.js +4 -19
- package/dist/utilities/commitTransaction.d.ts +1 -1
- package/dist/utilities/commitTransaction.d.ts.map +1 -1
- package/dist/utilities/commitTransaction.js +4 -12
- package/dist/utilities/configToJSONSchema.d.ts +4 -4
- package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
- package/dist/utilities/configToJSONSchema.js +63 -81
- package/dist/utilities/configToJSONSchema.spec.js +5 -9
- package/dist/utilities/convertData.js +3 -23
- package/dist/utilities/createArrayFromCommaDelineated.js +2 -12
- package/dist/utilities/createLocalReq.d.ts +3 -3
- package/dist/utilities/createLocalReq.d.ts.map +1 -1
- package/dist/utilities/createLocalReq.js +7 -16
- package/dist/utilities/deepCopyObject.js +2 -12
- package/dist/utilities/deepMerge.js +2 -12
- package/dist/utilities/fieldSchemaToJSON.d.ts +2 -2
- package/dist/utilities/fieldSchemaToJSON.d.ts.map +1 -1
- package/dist/utilities/fieldSchemaToJSON.js +2 -12
- package/dist/utilities/flattenTopLevelFields.d.ts +1 -1
- package/dist/utilities/flattenTopLevelFields.d.ts.map +1 -1
- package/dist/utilities/flattenTopLevelFields.js +6 -16
- package/dist/utilities/formatLabels.d.ts +2 -1
- package/dist/utilities/formatLabels.d.ts.map +1 -1
- package/dist/utilities/formatLabels.js +10 -70
- package/dist/utilities/formatLabels.spec.js +8 -12
- package/dist/utilities/getCSSVariable.js +2 -12
- package/dist/utilities/getEntityPolicies.d.ts +4 -4
- package/dist/utilities/getEntityPolicies.d.ts.map +1 -1
- package/dist/utilities/getEntityPolicies.js +4 -14
- package/dist/utilities/getIDType.d.ts +2 -2
- package/dist/utilities/getIDType.d.ts.map +1 -1
- package/dist/utilities/getIDType.js +2 -12
- package/dist/utilities/getObjectDotNotation.js +2 -12
- package/dist/utilities/getUniqueListBy.js +2 -12
- package/dist/utilities/initTransaction.d.ts +1 -1
- package/dist/utilities/initTransaction.d.ts.map +1 -1
- package/dist/utilities/initTransaction.js +5 -12
- package/dist/utilities/isEntityHidden.d.ts +2 -2
- package/dist/utilities/isEntityHidden.d.ts.map +1 -1
- package/dist/utilities/isEntityHidden.js +2 -12
- package/dist/utilities/isNumber.js +2 -12
- package/dist/utilities/isPlainObject.d.ts +2 -0
- package/dist/utilities/isPlainObject.d.ts.map +1 -0
- package/dist/utilities/isPlainObject.js +25 -0
- package/dist/utilities/isValidID.d.ts.map +1 -1
- package/dist/utilities/isValidID.js +6 -20
- package/dist/utilities/isolateObjectProperty.js +2 -12
- package/dist/utilities/killTransaction.d.ts +1 -1
- package/dist/utilities/killTransaction.d.ts.map +1 -1
- package/dist/utilities/killTransaction.js +4 -12
- package/dist/utilities/logger.d.ts +6 -6
- package/dist/utilities/logger.d.ts.map +1 -1
- package/dist/utilities/logger.js +18 -37
- package/dist/utilities/mapAsync.js +2 -12
- package/dist/utilities/overwriteMerge.js +2 -12
- package/dist/utilities/parseCookies.js +4 -14
- package/dist/utilities/sanitizeInternalFields.js +2 -12
- package/dist/utilities/setsAreEqual.js +2 -12
- package/dist/utilities/telemetry/events/adminInit.d.ts +2 -2
- package/dist/utilities/telemetry/events/adminInit.d.ts.map +1 -1
- package/dist/utilities/telemetry/events/adminInit.js +7 -17
- package/dist/utilities/telemetry/events/serverInit.d.ts +1 -1
- package/dist/utilities/telemetry/events/serverInit.d.ts.map +1 -1
- package/dist/utilities/telemetry/events/serverInit.js +4 -14
- package/dist/utilities/telemetry/index.d.ts +3 -3
- package/dist/utilities/telemetry/index.d.ts.map +1 -1
- package/dist/utilities/telemetry/index.js +18 -40
- package/dist/utilities/telemetry/oneWayHash.js +4 -14
- package/dist/utilities/timestamp.js +2 -12
- package/dist/utilities/toKebabCase.js +2 -12
- package/dist/utilities/wait.js +2 -12
- package/dist/utilities/wordBoundariesRegex.js +3 -13
- package/dist/versions/baseFields.d.ts +1 -1
- package/dist/versions/baseFields.d.ts.map +1 -1
- package/dist/versions/baseFields.js +7 -25
- package/dist/versions/buildCollectionFields.d.ts +2 -2
- package/dist/versions/buildCollectionFields.d.ts.map +1 -1
- package/dist/versions/buildCollectionFields.js +2 -12
- package/dist/versions/buildGlobalFields.d.ts +2 -2
- package/dist/versions/buildGlobalFields.d.ts.map +1 -1
- package/dist/versions/buildGlobalFields.js +12 -22
- package/dist/versions/deleteCollectionVersions.d.ts +3 -3
- package/dist/versions/deleteCollectionVersions.d.ts.map +1 -1
- package/dist/versions/deleteCollectionVersions.js +2 -12
- package/dist/versions/drafts/appendVersionToQueryKey.d.ts +1 -1
- package/dist/versions/drafts/appendVersionToQueryKey.d.ts.map +1 -1
- package/dist/versions/drafts/appendVersionToQueryKey.js +2 -12
- package/dist/versions/drafts/getQueryDraftsSort.js +2 -12
- package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts +4 -4
- package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts.map +1 -1
- package/dist/versions/drafts/replaceWithDraftIfAvailable.js +12 -27
- package/dist/versions/enforceMaxVersions.d.ts +3 -3
- package/dist/versions/enforceMaxVersions.d.ts.map +1 -1
- package/dist/versions/enforceMaxVersions.js +2 -12
- package/dist/versions/getLatestCollectionVersion.d.ts +3 -3
- package/dist/versions/getLatestCollectionVersion.d.ts.map +1 -1
- package/dist/versions/getLatestCollectionVersion.js +4 -14
- package/dist/versions/getLatestGlobalVersion.d.ts +3 -3
- package/dist/versions/getLatestGlobalVersion.d.ts.map +1 -1
- package/dist/versions/getLatestGlobalVersion.js +5 -15
- package/dist/versions/getVersionsModelName.d.ts +2 -2
- package/dist/versions/getVersionsModelName.d.ts.map +1 -1
- package/dist/versions/getVersionsModelName.js +2 -12
- package/dist/versions/saveVersion.d.ts +4 -4
- package/dist/versions/saveVersion.d.ts.map +1 -1
- package/dist/versions/saveVersion.js +8 -23
- package/dist/versions/types.js +2 -5
- package/errors.d.ts +1 -1
- package/errors.js +2 -68
- package/graphql.d.ts +3 -0
- package/graphql.js +27 -0
- package/operations.d.ts +28 -28
- package/operations.js +29 -125
- package/package.json +17 -6
- package/types.d.ts +11 -11
- package/types.js +4 -74
- package/utilities.d.ts +27 -27
- package/utilities.js +28 -141
- package/versions.d.ts +9 -9
- package/versions.js +9 -45
- package/.eslintrc.js +0 -58
- package/dist/bundlers/mocks/db-mongodb.js +0 -3
- package/dist/bundlers/mocks/db-postgres.js +0 -13
- package/dist/bundlers/mocks/dotENV.js +0 -15
- package/dist/bundlers/mocks/emptyModule.js +0 -13
- package/dist/bundlers/mocks/fileMock.js +0 -13
- package/dist/bundlers/types.d.ts +0 -8
- package/dist/bundlers/types.d.ts.map +0 -1
- package/dist/bundlers/types.js +0 -6
- package/dist/express/middleware/errorHandler.d.ts +0 -2
- package/dist/express/middleware/errorHandler.d.ts.map +0 -1
- package/dist/express/middleware/errorHandler.js +0 -3
- package/dist/express/middleware/index.d.ts +0 -2
- package/dist/express/middleware/index.d.ts.map +0 -1
- package/dist/express/middleware/index.js +0 -3
- package/dist/globals/config/build.d.ts +0 -2
- package/dist/globals/config/build.d.ts.map +0 -1
- package/dist/globals/config/build.js +0 -3
- package/dist/globals/graphql/resolvers/docAccess.d.ts +0 -2
- package/dist/globals/graphql/resolvers/docAccess.d.ts.map +0 -1
- package/dist/globals/graphql/resolvers/docAccess.js +0 -3
|
@@ -1,35 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const
|
|
15
|
-
const _errors = require("../../errors");
|
|
16
|
-
const _afterRead = require("../../fields/hooks/afterRead");
|
|
17
|
-
const _deleteUserPreferences = require("../../preferences/deleteUserPreferences");
|
|
18
|
-
const _deleteAssociatedFiles = require("../../uploads/deleteAssociatedFiles");
|
|
19
|
-
const _commitTransaction = require("../../utilities/commitTransaction");
|
|
20
|
-
const _initTransaction = require("../../utilities/initTransaction");
|
|
21
|
-
const _killTransaction = require("../../utilities/killTransaction");
|
|
22
|
-
const _deleteCollectionVersions = require("../../versions/deleteCollectionVersions");
|
|
23
|
-
const _utils = require("./utils");
|
|
24
|
-
function _interop_require_default(obj) {
|
|
25
|
-
return obj && obj.__esModule ? obj : {
|
|
26
|
-
default: obj
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
const deleteOperation = async (incomingArgs)=>{
|
|
1
|
+
import httpStatus from 'http-status';
|
|
2
|
+
import executeAccess from '../../auth/executeAccess.js';
|
|
3
|
+
import { combineQueries } from '../../database/combineQueries.js';
|
|
4
|
+
import { validateQueryPaths } from '../../database/queryValidation/validateQueryPaths.js';
|
|
5
|
+
import { APIError } from '../../errors/index.js';
|
|
6
|
+
import { afterRead } from '../../fields/hooks/afterRead/index.js';
|
|
7
|
+
import { deleteUserPreferences } from '../../preferences/deleteUserPreferences.js';
|
|
8
|
+
import { deleteAssociatedFiles } from '../../uploads/deleteAssociatedFiles.js';
|
|
9
|
+
import { commitTransaction } from '../../utilities/commitTransaction.js';
|
|
10
|
+
import { initTransaction } from '../../utilities/initTransaction.js';
|
|
11
|
+
import { killTransaction } from '../../utilities/killTransaction.js';
|
|
12
|
+
import { deleteCollectionVersions } from '../../versions/deleteCollectionVersions.js';
|
|
13
|
+
import { buildAfterOperation } from './utils.js';
|
|
14
|
+
export const deleteOperation = async (incomingArgs)=>{
|
|
30
15
|
let args = incomingArgs;
|
|
31
16
|
try {
|
|
32
|
-
const shouldCommit = await
|
|
17
|
+
const shouldCommit = await initTransaction(args.req);
|
|
33
18
|
// /////////////////////////////////////
|
|
34
19
|
// beforeOperation - Collection
|
|
35
20
|
// /////////////////////////////////////
|
|
@@ -45,24 +30,24 @@ const deleteOperation = async (incomingArgs)=>{
|
|
|
45
30
|
}, Promise.resolve());
|
|
46
31
|
const { collection: { config: collectionConfig }, depth, overrideAccess, req: { fallbackLocale, locale, payload: { config }, payload }, req, showHiddenFields, where } = args;
|
|
47
32
|
if (!where) {
|
|
48
|
-
throw new
|
|
33
|
+
throw new APIError("Missing 'where' query of documents to delete.", httpStatus.BAD_REQUEST);
|
|
49
34
|
}
|
|
50
35
|
// /////////////////////////////////////
|
|
51
36
|
// Access
|
|
52
37
|
// /////////////////////////////////////
|
|
53
38
|
let accessResult;
|
|
54
39
|
if (!overrideAccess) {
|
|
55
|
-
accessResult = await (
|
|
40
|
+
accessResult = await executeAccess({
|
|
56
41
|
req
|
|
57
42
|
}, collectionConfig.access.delete);
|
|
58
43
|
}
|
|
59
|
-
await
|
|
44
|
+
await validateQueryPaths({
|
|
60
45
|
collectionConfig,
|
|
61
46
|
overrideAccess,
|
|
62
47
|
req,
|
|
63
48
|
where
|
|
64
49
|
});
|
|
65
|
-
const fullWhere =
|
|
50
|
+
const fullWhere = combineQueries(where, accessResult);
|
|
66
51
|
// /////////////////////////////////////
|
|
67
52
|
// Retrieve documents
|
|
68
53
|
// /////////////////////////////////////
|
|
@@ -89,7 +74,7 @@ const deleteOperation = async (incomingArgs)=>{
|
|
|
89
74
|
req
|
|
90
75
|
});
|
|
91
76
|
}, Promise.resolve());
|
|
92
|
-
await
|
|
77
|
+
await deleteAssociatedFiles({
|
|
93
78
|
collectionConfig,
|
|
94
79
|
config,
|
|
95
80
|
doc,
|
|
@@ -100,7 +85,7 @@ const deleteOperation = async (incomingArgs)=>{
|
|
|
100
85
|
// Delete versions
|
|
101
86
|
// /////////////////////////////////////
|
|
102
87
|
if (collectionConfig.versions) {
|
|
103
|
-
await
|
|
88
|
+
await deleteCollectionVersions({
|
|
104
89
|
id,
|
|
105
90
|
slug: collectionConfig.slug,
|
|
106
91
|
payload,
|
|
@@ -122,7 +107,7 @@ const deleteOperation = async (incomingArgs)=>{
|
|
|
122
107
|
// /////////////////////////////////////
|
|
123
108
|
// afterRead - Fields
|
|
124
109
|
// /////////////////////////////////////
|
|
125
|
-
result = await
|
|
110
|
+
result = await afterRead({
|
|
126
111
|
collection: collectionConfig,
|
|
127
112
|
context: req.context,
|
|
128
113
|
depth,
|
|
@@ -175,7 +160,7 @@ const deleteOperation = async (incomingArgs)=>{
|
|
|
175
160
|
// /////////////////////////////////////
|
|
176
161
|
// Delete Preferences
|
|
177
162
|
// /////////////////////////////////////
|
|
178
|
-
await
|
|
163
|
+
await deleteUserPreferences({
|
|
179
164
|
collectionConfig,
|
|
180
165
|
ids: docs.map(({ id })=>id),
|
|
181
166
|
payload,
|
|
@@ -188,18 +173,18 @@ const deleteOperation = async (incomingArgs)=>{
|
|
|
188
173
|
// /////////////////////////////////////
|
|
189
174
|
// afterOperation - Collection
|
|
190
175
|
// /////////////////////////////////////
|
|
191
|
-
result = await
|
|
176
|
+
result = await buildAfterOperation({
|
|
192
177
|
args,
|
|
193
178
|
collection: collectionConfig,
|
|
194
179
|
operation: 'delete',
|
|
195
180
|
result
|
|
196
181
|
});
|
|
197
|
-
if (shouldCommit) await
|
|
182
|
+
if (shouldCommit) await commitTransaction(req);
|
|
198
183
|
return result;
|
|
199
184
|
} catch (error) {
|
|
200
|
-
await
|
|
185
|
+
await killTransaction(args.req);
|
|
201
186
|
throw error;
|
|
202
187
|
}
|
|
203
188
|
};
|
|
204
189
|
|
|
205
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2RlbGV0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaHR0cFN0YXR1cyBmcm9tICdodHRwLXN0YXR1cydcblxuaW1wb3J0IHR5cGUgeyBHZW5lcmF0ZWRUeXBlcyB9IGZyb20gJy4uLy4uLydcbmltcG9ydCB0eXBlIHsgQWNjZXNzUmVzdWx0IH0gZnJvbSAnLi4vLi4vY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBXaGVyZSB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBCZWZvcmVPcGVyYXRpb25Ib29rLCBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgZXhlY3V0ZUFjY2VzcyBmcm9tICcuLi8uLi9hdXRoL2V4ZWN1dGVBY2Nlc3MnXG5pbXBvcnQgeyBjb21iaW5lUXVlcmllcyB9IGZyb20gJy4uLy4uL2RhdGFiYXNlL2NvbWJpbmVRdWVyaWVzJ1xuaW1wb3J0IHsgdmFsaWRhdGVRdWVyeVBhdGhzIH0gZnJvbSAnLi4vLi4vZGF0YWJhc2UvcXVlcnlWYWxpZGF0aW9uL3ZhbGlkYXRlUXVlcnlQYXRocydcbmltcG9ydCB7IEFQSUVycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3JzJ1xuaW1wb3J0IHsgYWZ0ZXJSZWFkIH0gZnJvbSAnLi4vLi4vZmllbGRzL2hvb2tzL2FmdGVyUmVhZCdcbmltcG9ydCB7IGRlbGV0ZVVzZXJQcmVmZXJlbmNlcyB9IGZyb20gJy4uLy4uL3ByZWZlcmVuY2VzL2RlbGV0ZVVzZXJQcmVmZXJlbmNlcydcbmltcG9ydCB7IGRlbGV0ZUFzc29jaWF0ZWRGaWxlcyB9IGZyb20gJy4uLy4uL3VwbG9hZHMvZGVsZXRlQXNzb2NpYXRlZEZpbGVzJ1xuaW1wb3J0IHsgY29tbWl0VHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvY29tbWl0VHJhbnNhY3Rpb24nXG5pbXBvcnQgeyBpbml0VHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvaW5pdFRyYW5zYWN0aW9uJ1xuaW1wb3J0IHsga2lsbFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2tpbGxUcmFuc2FjdGlvbidcbmltcG9ydCB7IGRlbGV0ZUNvbGxlY3Rpb25WZXJzaW9ucyB9IGZyb20gJy4uLy4uL3ZlcnNpb25zL2RlbGV0ZUNvbGxlY3Rpb25WZXJzaW9ucydcbmltcG9ydCB7IGJ1aWxkQWZ0ZXJPcGVyYXRpb24gfSBmcm9tICcuL3V0aWxzJ1xuXG5leHBvcnQgdHlwZSBBcmd1bWVudHMgPSB7XG4gIGNvbGxlY3Rpb246IENvbGxlY3Rpb25cbiAgZGVwdGg/OiBudW1iZXJcbiAgb3ZlcnJpZGVBY2Nlc3M/OiBib29sZWFuXG4gIHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgc2hvd0hpZGRlbkZpZWxkcz86IGJvb2xlYW5cbiAgd2hlcmU6IFdoZXJlXG59XG5cbmV4cG9ydCBjb25zdCBkZWxldGVPcGVyYXRpb24gPSBhc3luYyA8VFNsdWcgZXh0ZW5kcyBrZXlvZiBHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gIGluY29taW5nQXJnczogQXJndW1lbnRzLFxuKTogUHJvbWlzZTx7XG4gIGRvY3M6IEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RTbHVnXVtdXG4gIGVycm9yczoge1xuICAgIGlkOiBHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUU2x1Z11bJ2lkJ11cbiAgICBtZXNzYWdlOiBzdHJpbmdcbiAgfVtdXG59PiA9PiB7XG4gIGxldCBhcmdzID0gaW5jb21pbmdBcmdzXG5cbiAgdHJ5IHtcbiAgICBjb25zdCBzaG91bGRDb21taXQgPSBhd2FpdCBpbml0VHJhbnNhY3Rpb24oYXJncy5yZXEpXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGJlZm9yZU9wZXJhdGlvbiAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBhd2FpdCBhcmdzLmNvbGxlY3Rpb24uY29uZmlnLmhvb2tzLmJlZm9yZU9wZXJhdGlvbi5yZWR1Y2UoXG4gICAgICBhc3luYyAocHJpb3JIb29rOiBCZWZvcmVPcGVyYXRpb25Ib29rIHwgUHJvbWlzZTx2b2lkPiwgaG9vazogQmVmb3JlT3BlcmF0aW9uSG9vaykgPT4ge1xuICAgICAgICBhd2FpdCBwcmlvckhvb2tcblxuICAgICAgICBhcmdzID1cbiAgICAgICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgICAgICBhcmdzLFxuICAgICAgICAgICAgY29sbGVjdGlvbjogYXJncy5jb2xsZWN0aW9uLmNvbmZpZyxcbiAgICAgICAgICAgIGNvbnRleHQ6IGFyZ3MucmVxLmNvbnRleHQsXG4gICAgICAgICAgICBvcGVyYXRpb246ICdkZWxldGUnLFxuICAgICAgICAgICAgcmVxOiBhcmdzLnJlcSxcbiAgICAgICAgICB9KSkgfHwgYXJnc1xuICAgICAgfSxcbiAgICAgIFByb21pc2UucmVzb2x2ZSgpLFxuICAgIClcblxuICAgIGNvbnN0IHtcbiAgICAgIGNvbGxlY3Rpb246IHsgY29uZmlnOiBjb2xsZWN0aW9uQ29uZmlnIH0sXG4gICAgICBkZXB0aCxcbiAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgcmVxOiB7XG4gICAgICAgIGZhbGxiYWNrTG9jYWxlLFxuICAgICAgICBsb2NhbGUsXG4gICAgICAgIHBheWxvYWQ6IHsgY29uZmlnIH0sXG4gICAgICAgIHBheWxvYWQsXG4gICAgICB9LFxuICAgICAgcmVxLFxuICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICAgIHdoZXJlLFxuICAgIH0gPSBhcmdzXG5cbiAgICBpZiAoIXdoZXJlKSB7XG4gICAgICB0aHJvdyBuZXcgQVBJRXJyb3IoXCJNaXNzaW5nICd3aGVyZScgcXVlcnkgb2YgZG9jdW1lbnRzIHRvIGRlbGV0ZS5cIiwgaHR0cFN0YXR1cy5CQURfUkVRVUVTVClcbiAgICB9XG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gQWNjZXNzXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgbGV0IGFjY2Vzc1Jlc3VsdDogQWNjZXNzUmVzdWx0XG5cbiAgICBpZiAoIW92ZXJyaWRlQWNjZXNzKSB7XG4gICAgICBhY2Nlc3NSZXN1bHQgPSBhd2FpdCBleGVjdXRlQWNjZXNzKHsgcmVxIH0sIGNvbGxlY3Rpb25Db25maWcuYWNjZXNzLmRlbGV0ZSlcbiAgICB9XG5cbiAgICBhd2FpdCB2YWxpZGF0ZVF1ZXJ5UGF0aHMoe1xuICAgICAgY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgcmVxLFxuICAgICAgd2hlcmUsXG4gICAgfSlcblxuICAgIGNvbnN0IGZ1bGxXaGVyZSA9IGNvbWJpbmVRdWVyaWVzKHdoZXJlLCBhY2Nlc3NSZXN1bHQpXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gUmV0cmlldmUgZG9jdW1lbnRzXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgY29uc3QgeyBkb2NzIH0gPSBhd2FpdCBwYXlsb2FkLmRiLmZpbmQ8R2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVFNsdWddPih7XG4gICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLnNsdWcsXG4gICAgICBsb2NhbGUsXG4gICAgICByZXEsXG4gICAgICB3aGVyZTogZnVsbFdoZXJlLFxuICAgIH0pXG5cbiAgICBjb25zdCBlcnJvcnMgPSBbXVxuXG4gICAgLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbiAgICBjb25zdCBwcm9taXNlcyA9IGRvY3MubWFwKGFzeW5jIChkb2MpID0+IHtcbiAgICAgIGxldCByZXN1bHRcblxuICAgICAgY29uc3QgeyBpZCB9ID0gZG9jXG5cbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAgICAgLy8gYmVmb3JlRGVsZXRlIC0gQ29sbGVjdGlvblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICAgICAgYXdhaXQgY29sbGVjdGlvbkNvbmZpZy5ob29rcy5iZWZvcmVEZWxldGUucmVkdWNlKGFzeW5jIChwcmlvckhvb2ssIGhvb2spID0+IHtcbiAgICAgICAgICBhd2FpdCBwcmlvckhvb2tcblxuICAgICAgICAgIHJldHVybiBob29rKHtcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgICAgIGNvbnRleHQ6IHJlcS5jb250ZXh0LFxuICAgICAgICAgICAgcmVxLFxuICAgICAgICAgIH0pXG4gICAgICAgIH0sIFByb21pc2UucmVzb2x2ZSgpKVxuXG4gICAgICAgIGF3YWl0IGRlbGV0ZUFzc29jaWF0ZWRGaWxlcyh7XG4gICAgICAgICAgY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgZG9jLFxuICAgICAgICAgIG92ZXJyaWRlRGVsZXRlOiB0cnVlLFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgfSlcblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgIC8vIERlbGV0ZSB2ZXJzaW9uc1xuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICAgICAgaWYgKGNvbGxlY3Rpb25Db25maWcudmVyc2lvbnMpIHtcbiAgICAgICAgICBhd2FpdCBkZWxldGVDb2xsZWN0aW9uVmVyc2lvbnMoe1xuICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICBzbHVnOiBjb2xsZWN0aW9uQ29uZmlnLnNsdWcsXG4gICAgICAgICAgICBwYXlsb2FkLFxuICAgICAgICAgICAgcmVxLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgIC8vIERlbGV0ZSBkb2N1bWVudFxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICAgICAgYXdhaXQgcGF5bG9hZC5kYi5kZWxldGVPbmUoe1xuICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcuc2x1ZyxcbiAgICAgICAgICByZXEsXG4gICAgICAgICAgd2hlcmU6IHtcbiAgICAgICAgICAgIGlkOiB7XG4gICAgICAgICAgICAgIGVxdWFsczogaWQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pXG5cbiAgICAgICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICAvLyBhZnRlclJlYWQgLSBGaWVsZHNcbiAgICAgICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgICAgIHJlc3VsdCA9IGF3YWl0IGFmdGVyUmVhZCh7XG4gICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgICAgICBkZXB0aCxcbiAgICAgICAgICBkb2M6IHJlc3VsdCB8fCBkb2MsXG4gICAgICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICAgICAgZ2xvYmFsOiBudWxsLFxuICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgICAgICByZXEsXG4gICAgICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICAgICAgfSlcblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgIC8vIGFmdGVyUmVhZCAtIENvbGxlY3Rpb25cbiAgICAgICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgICAgIGF3YWl0IGNvbGxlY3Rpb25Db25maWcuaG9va3MuYWZ0ZXJSZWFkLnJlZHVjZShhc3luYyAocHJpb3JIb29rLCBob29rKSA9PiB7XG4gICAgICAgICAgYXdhaXQgcHJpb3JIb29rXG5cbiAgICAgICAgICByZXN1bHQgPVxuICAgICAgICAgICAgKGF3YWl0IGhvb2soe1xuICAgICAgICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgICAgICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgICAgICAgICAgZG9jOiByZXN1bHQgfHwgZG9jLFxuICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICB9KSkgfHwgcmVzdWx0XG4gICAgICAgIH0sIFByb21pc2UucmVzb2x2ZSgpKVxuXG4gICAgICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAgICAgLy8gYWZ0ZXJEZWxldGUgLSBDb2xsZWN0aW9uXG4gICAgICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgICAgICBhd2FpdCBjb2xsZWN0aW9uQ29uZmlnLmhvb2tzLmFmdGVyRGVsZXRlLnJlZHVjZShhc3luYyAocHJpb3JIb29rLCBob29rKSA9PiB7XG4gICAgICAgICAgYXdhaXQgcHJpb3JIb29rXG5cbiAgICAgICAgICByZXN1bHQgPVxuICAgICAgICAgICAgKGF3YWl0IGhvb2soe1xuICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICAgICAgICAgIGRvYzogcmVzdWx0LFxuICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICB9KSkgfHwgcmVzdWx0XG4gICAgICAgIH0sIFByb21pc2UucmVzb2x2ZSgpKVxuXG4gICAgICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAgICAgLy8gOC4gUmV0dXJuIHJlc3VsdHNcbiAgICAgICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGVycm9ycy5wdXNoKHtcbiAgICAgICAgICBpZDogZG9jLmlkLFxuICAgICAgICAgIG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2UsXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH0pXG5cbiAgICBjb25zdCBhd2FpdGVkRG9jcyA9IGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIERlbGV0ZSBQcmVmZXJlbmNlc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGF3YWl0IGRlbGV0ZVVzZXJQcmVmZXJlbmNlcyh7XG4gICAgICBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgaWRzOiBkb2NzLm1hcCgoeyBpZCB9KSA9PiBpZCksXG4gICAgICBwYXlsb2FkLFxuICAgICAgcmVxLFxuICAgIH0pXG5cbiAgICBsZXQgcmVzdWx0ID0ge1xuICAgICAgZG9jczogYXdhaXRlZERvY3MuZmlsdGVyKEJvb2xlYW4pLFxuICAgICAgZXJyb3JzLFxuICAgIH1cblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlck9wZXJhdGlvbiAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICByZXN1bHQgPSBhd2FpdCBidWlsZEFmdGVyT3BlcmF0aW9uPEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RTbHVnXT4oe1xuICAgICAgYXJncyxcbiAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICBvcGVyYXRpb246ICdkZWxldGUnLFxuICAgICAgcmVzdWx0LFxuICAgIH0pXG5cbiAgICBpZiAoc2hvdWxkQ29tbWl0KSBhd2FpdCBjb21taXRUcmFuc2FjdGlvbihyZXEpXG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgYXdhaXQga2lsbFRyYW5zYWN0aW9uKGFyZ3MucmVxKVxuICAgIHRocm93IGVycm9yXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJkZWxldGVPcGVyYXRpb24iLCJpbmNvbWluZ0FyZ3MiLCJhcmdzIiwic2hvdWxkQ29tbWl0IiwiaW5pdFRyYW5zYWN0aW9uIiwicmVxIiwiY29sbGVjdGlvbiIsImNvbmZpZyIsImhvb2tzIiwiYmVmb3JlT3BlcmF0aW9uIiwicmVkdWNlIiwicHJpb3JIb29rIiwiaG9vayIsImNvbnRleHQiLCJvcGVyYXRpb24iLCJQcm9taXNlIiwicmVzb2x2ZSIsImNvbGxlY3Rpb25Db25maWciLCJkZXB0aCIsIm92ZXJyaWRlQWNjZXNzIiwiZmFsbGJhY2tMb2NhbGUiLCJsb2NhbGUiLCJwYXlsb2FkIiwic2hvd0hpZGRlbkZpZWxkcyIsIndoZXJlIiwiQVBJRXJyb3IiLCJodHRwU3RhdHVzIiwiQkFEX1JFUVVFU1QiLCJhY2Nlc3NSZXN1bHQiLCJleGVjdXRlQWNjZXNzIiwiYWNjZXNzIiwiZGVsZXRlIiwidmFsaWRhdGVRdWVyeVBhdGhzIiwiZnVsbFdoZXJlIiwiY29tYmluZVF1ZXJpZXMiLCJkb2NzIiwiZGIiLCJmaW5kIiwic2x1ZyIsImVycm9ycyIsInByb21pc2VzIiwibWFwIiwiZG9jIiwicmVzdWx0IiwiaWQiLCJiZWZvcmVEZWxldGUiLCJkZWxldGVBc3NvY2lhdGVkRmlsZXMiLCJvdmVycmlkZURlbGV0ZSIsInZlcnNpb25zIiwiZGVsZXRlQ29sbGVjdGlvblZlcnNpb25zIiwiZGVsZXRlT25lIiwiZXF1YWxzIiwiYWZ0ZXJSZWFkIiwiZ2xvYmFsIiwiYWZ0ZXJEZWxldGUiLCJlcnJvciIsInB1c2giLCJtZXNzYWdlIiwiYXdhaXRlZERvY3MiLCJhbGwiLCJkZWxldGVVc2VyUHJlZmVyZW5jZXMiLCJpZHMiLCJmaWx0ZXIiLCJCb29sZWFuIiwiYnVpbGRBZnRlck9wZXJhdGlvbiIsImNvbW1pdFRyYW5zYWN0aW9uIiwia2lsbFRyYW5zYWN0aW9uIl0sIm1hcHBpbmdzIjoiOzs7OytCQThCYUE7OztlQUFBQTs7O21FQTlCVTtzRUFRRztnQ0FDSztvQ0FDSTt3QkFDVjsyQkFDQzt1Q0FDWTt1Q0FDQTttQ0FDSjtpQ0FDRjtpQ0FDQTswQ0FDUzt1QkFDTDs7Ozs7O0FBVzdCLE1BQU1BLGtCQUFrQixPQUM3QkM7SUFRQSxJQUFJQyxPQUFPRDtJQUVYLElBQUk7UUFDRixNQUFNRSxlQUFlLE1BQU1DLElBQUFBLGdDQUFlLEVBQUNGLEtBQUtHLEdBQUc7UUFDbkQsd0NBQXdDO1FBQ3hDLCtCQUErQjtRQUMvQix3Q0FBd0M7UUFFeEMsTUFBTUgsS0FBS0ksVUFBVSxDQUFDQyxNQUFNLENBQUNDLEtBQUssQ0FBQ0MsZUFBZSxDQUFDQyxNQUFNLENBQ3ZELE9BQU9DLFdBQWdEQztZQUNyRCxNQUFNRDtZQUVOVCxPQUNFLEFBQUMsTUFBTVUsS0FBSztnQkFDVlY7Z0JBQ0FJLFlBQVlKLEtBQUtJLFVBQVUsQ0FBQ0MsTUFBTTtnQkFDbENNLFNBQVNYLEtBQUtHLEdBQUcsQ0FBQ1EsT0FBTztnQkFDekJDLFdBQVc7Z0JBQ1hULEtBQUtILEtBQUtHLEdBQUc7WUFDZixNQUFPSDtRQUNYLEdBQ0FhLFFBQVFDLE9BQU87UUFHakIsTUFBTSxFQUNKVixZ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
|
|
190
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2RlbGV0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaHR0cFN0YXR1cyBmcm9tICdodHRwLXN0YXR1cydcblxuaW1wb3J0IHR5cGUgeyBBY2Nlc3NSZXN1bHQgfSBmcm9tICcuLi8uLi9jb25maWcvdHlwZXMuZC50cydcbmltcG9ydCB0eXBlIHsgR2VuZXJhdGVkVHlwZXMgfSBmcm9tICcuLi8uLi9pbmRleC5kLnRzJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCwgV2hlcmUgfSBmcm9tICcuLi8uLi90eXBlcy9pbmRleC5kLnRzJ1xuaW1wb3J0IHR5cGUgeyBCZWZvcmVPcGVyYXRpb25Ib29rLCBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vY29uZmlnL3R5cGVzLmQudHMnXG5cbmltcG9ydCBleGVjdXRlQWNjZXNzIGZyb20gJy4uLy4uL2F1dGgvZXhlY3V0ZUFjY2Vzcy5qcydcbmltcG9ydCB7IGNvbWJpbmVRdWVyaWVzIH0gZnJvbSAnLi4vLi4vZGF0YWJhc2UvY29tYmluZVF1ZXJpZXMuanMnXG5pbXBvcnQgeyB2YWxpZGF0ZVF1ZXJ5UGF0aHMgfSBmcm9tICcuLi8uLi9kYXRhYmFzZS9xdWVyeVZhbGlkYXRpb24vdmFsaWRhdGVRdWVyeVBhdGhzLmpzJ1xuaW1wb3J0IHsgQVBJRXJyb3IgfSBmcm9tICcuLi8uLi9lcnJvcnMvaW5kZXguanMnXG5pbXBvcnQgeyBhZnRlclJlYWQgfSBmcm9tICcuLi8uLi9maWVsZHMvaG9va3MvYWZ0ZXJSZWFkL2luZGV4LmpzJ1xuaW1wb3J0IHsgZGVsZXRlVXNlclByZWZlcmVuY2VzIH0gZnJvbSAnLi4vLi4vcHJlZmVyZW5jZXMvZGVsZXRlVXNlclByZWZlcmVuY2VzLmpzJ1xuaW1wb3J0IHsgZGVsZXRlQXNzb2NpYXRlZEZpbGVzIH0gZnJvbSAnLi4vLi4vdXBsb2Fkcy9kZWxldGVBc3NvY2lhdGVkRmlsZXMuanMnXG5pbXBvcnQgeyBjb21taXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9jb21taXRUcmFuc2FjdGlvbi5qcydcbmltcG9ydCB7IGluaXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9pbml0VHJhbnNhY3Rpb24uanMnXG5pbXBvcnQgeyBraWxsVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMva2lsbFRyYW5zYWN0aW9uLmpzJ1xuaW1wb3J0IHsgZGVsZXRlQ29sbGVjdGlvblZlcnNpb25zIH0gZnJvbSAnLi4vLi4vdmVyc2lvbnMvZGVsZXRlQ29sbGVjdGlvblZlcnNpb25zLmpzJ1xuaW1wb3J0IHsgYnVpbGRBZnRlck9wZXJhdGlvbiB9IGZyb20gJy4vdXRpbHMuanMnXG5cbmV4cG9ydCB0eXBlIEFyZ3VtZW50cyA9IHtcbiAgY29sbGVjdGlvbjogQ29sbGVjdGlvblxuICBkZXB0aD86IG51bWJlclxuICBvdmVycmlkZUFjY2Vzcz86IGJvb2xlYW5cbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICBzaG93SGlkZGVuRmllbGRzPzogYm9vbGVhblxuICB3aGVyZTogV2hlcmVcbn1cblxuZXhwb3J0IGNvbnN0IGRlbGV0ZU9wZXJhdGlvbiA9IGFzeW5jIDxUU2x1ZyBleHRlbmRzIGtleW9mIEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgaW5jb21pbmdBcmdzOiBBcmd1bWVudHMsXG4pOiBQcm9taXNlPHtcbiAgZG9jczogR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVFNsdWddW11cbiAgZXJyb3JzOiB7XG4gICAgaWQ6IEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RTbHVnXVsnaWQnXVxuICAgIG1lc3NhZ2U6IHN0cmluZ1xuICB9W11cbn0+ID0+IHtcbiAgbGV0IGFyZ3MgPSBpbmNvbWluZ0FyZ3NcblxuICB0cnkge1xuICAgIGNvbnN0IHNob3VsZENvbW1pdCA9IGF3YWl0IGluaXRUcmFuc2FjdGlvbihhcmdzLnJlcSlcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gYmVmb3JlT3BlcmF0aW9uIC0gQ29sbGVjdGlvblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGF3YWl0IGFyZ3MuY29sbGVjdGlvbi5jb25maWcuaG9va3MuYmVmb3JlT3BlcmF0aW9uLnJlZHVjZShcbiAgICAgIGFzeW5jIChwcmlvckhvb2s6IEJlZm9yZU9wZXJhdGlvbkhvb2sgfCBQcm9taXNlPHZvaWQ+LCBob29rOiBCZWZvcmVPcGVyYXRpb25Ib29rKSA9PiB7XG4gICAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICAgIGFyZ3MgPVxuICAgICAgICAgIChhd2FpdCBob29rKHtcbiAgICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgICBjb2xsZWN0aW9uOiBhcmdzLmNvbGxlY3Rpb24uY29uZmlnLFxuICAgICAgICAgICAgY29udGV4dDogYXJncy5yZXEuY29udGV4dCxcbiAgICAgICAgICAgIG9wZXJhdGlvbjogJ2RlbGV0ZScsXG4gICAgICAgICAgICByZXE6IGFyZ3MucmVxLFxuICAgICAgICAgIH0pKSB8fCBhcmdzXG4gICAgICB9LFxuICAgICAgUHJvbWlzZS5yZXNvbHZlKCksXG4gICAgKVxuXG4gICAgY29uc3Qge1xuICAgICAgY29sbGVjdGlvbjogeyBjb25maWc6IGNvbGxlY3Rpb25Db25maWcgfSxcbiAgICAgIGRlcHRoLFxuICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICByZXE6IHtcbiAgICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICAgIGxvY2FsZSxcbiAgICAgICAgcGF5bG9hZDogeyBjb25maWcgfSxcbiAgICAgICAgcGF5bG9hZCxcbiAgICAgIH0sXG4gICAgICByZXEsXG4gICAgICBzaG93SGlkZGVuRmllbGRzLFxuICAgICAgd2hlcmUsXG4gICAgfSA9IGFyZ3NcblxuICAgIGlmICghd2hlcmUpIHtcbiAgICAgIHRocm93IG5ldyBBUElFcnJvcihcIk1pc3NpbmcgJ3doZXJlJyBxdWVyeSBvZiBkb2N1bWVudHMgdG8gZGVsZXRlLlwiLCBodHRwU3RhdHVzLkJBRF9SRVFVRVNUKVxuICAgIH1cblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBBY2Nlc3NcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBsZXQgYWNjZXNzUmVzdWx0OiBBY2Nlc3NSZXN1bHRcblxuICAgIGlmICghb3ZlcnJpZGVBY2Nlc3MpIHtcbiAgICAgIGFjY2Vzc1Jlc3VsdCA9IGF3YWl0IGV4ZWN1dGVBY2Nlc3MoeyByZXEgfSwgY29sbGVjdGlvbkNvbmZpZy5hY2Nlc3MuZGVsZXRlKVxuICAgIH1cblxuICAgIGF3YWl0IHZhbGlkYXRlUXVlcnlQYXRocyh7XG4gICAgICBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICByZXEsXG4gICAgICB3aGVyZSxcbiAgICB9KVxuXG4gICAgY29uc3QgZnVsbFdoZXJlID0gY29tYmluZVF1ZXJpZXMod2hlcmUsIGFjY2Vzc1Jlc3VsdClcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBSZXRyaWV2ZSBkb2N1bWVudHNcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBjb25zdCB7IGRvY3MgfSA9IGF3YWl0IHBheWxvYWQuZGIuZmluZDxHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUU2x1Z10+KHtcbiAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcuc2x1ZyxcbiAgICAgIGxvY2FsZSxcbiAgICAgIHJlcSxcbiAgICAgIHdoZXJlOiBmdWxsV2hlcmUsXG4gICAgfSlcblxuICAgIGNvbnN0IGVycm9ycyA9IFtdXG5cbiAgICAvKiBlc2xpbnQtZGlzYWJsZSBuby1wYXJhbS1yZWFzc2lnbiAqL1xuICAgIGNvbnN0IHByb21pc2VzID0gZG9jcy5tYXAoYXN5bmMgKGRvYykgPT4ge1xuICAgICAgbGV0IHJlc3VsdFxuXG4gICAgICBjb25zdCB7IGlkIH0gPSBkb2NcblxuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICAvLyBiZWZvcmVEZWxldGUgLSBDb2xsZWN0aW9uXG4gICAgICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgICAgICBhd2FpdCBjb2xsZWN0aW9uQ29uZmlnLmhvb2tzLmJlZm9yZURlbGV0ZS5yZWR1Y2UoYXN5bmMgKHByaW9ySG9vaywgaG9vaykgPT4ge1xuICAgICAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICAgICAgcmV0dXJuIGhvb2soe1xuICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICAgICAgICByZXEsXG4gICAgICAgICAgfSlcbiAgICAgICAgfSwgUHJvbWlzZS5yZXNvbHZlKCkpXG5cbiAgICAgICAgYXdhaXQgZGVsZXRlQXNzb2NpYXRlZEZpbGVzKHtcbiAgICAgICAgICBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICBkb2MsXG4gICAgICAgICAgb3ZlcnJpZGVEZWxldGU6IHRydWUsXG4gICAgICAgICAgcmVxLFxuICAgICAgICB9KVxuXG4gICAgICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAgICAgLy8gRGVsZXRlIHZlcnNpb25zXG4gICAgICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgICAgICBpZiAoY29sbGVjdGlvbkNvbmZpZy52ZXJzaW9ucykge1xuICAgICAgICAgIGF3YWl0IGRlbGV0ZUNvbGxlY3Rpb25WZXJzaW9ucyh7XG4gICAgICAgICAgICBpZCxcbiAgICAgICAgICAgIHNsdWc6IGNvbGxlY3Rpb25Db25maWcuc2x1ZyxcbiAgICAgICAgICAgIHBheWxvYWQsXG4gICAgICAgICAgICByZXEsXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAgICAgLy8gRGVsZXRlIGRvY3VtZW50XG4gICAgICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgICAgICBhd2FpdCBwYXlsb2FkLmRiLmRlbGV0ZU9uZSh7XG4gICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZy5zbHVnLFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgICB3aGVyZToge1xuICAgICAgICAgICAgaWQ6IHtcbiAgICAgICAgICAgICAgZXF1YWxzOiBpZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSlcblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgIC8vIGFmdGVyUmVhZCAtIEZpZWxkc1xuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICAgICAgcmVzdWx0ID0gYXdhaXQgYWZ0ZXJSZWFkKHtcbiAgICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgICAgIGNvbnRleHQ6IHJlcS5jb250ZXh0LFxuICAgICAgICAgIGRlcHRoLFxuICAgICAgICAgIGRvYzogcmVzdWx0IHx8IGRvYyxcbiAgICAgICAgICBmYWxsYmFja0xvY2FsZSxcbiAgICAgICAgICBnbG9iYWw6IG51bGwsXG4gICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgICBzaG93SGlkZGVuRmllbGRzLFxuICAgICAgICB9KVxuXG4gICAgICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAgICAgLy8gYWZ0ZXJSZWFkIC0gQ29sbGVjdGlvblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICAgICAgYXdhaXQgY29sbGVjdGlvbkNvbmZpZy5ob29rcy5hZnRlclJlYWQucmVkdWNlKGFzeW5jIChwcmlvckhvb2ssIGhvb2spID0+IHtcbiAgICAgICAgICBhd2FpdCBwcmlvckhvb2tcblxuICAgICAgICAgIHJlc3VsdCA9XG4gICAgICAgICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgICAgICAgIGNvbnRleHQ6IHJlcS5jb250ZXh0LFxuICAgICAgICAgICAgICBkb2M6IHJlc3VsdCB8fCBkb2MsXG4gICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgIH0pKSB8fCByZXN1bHRcbiAgICAgICAgfSwgUHJvbWlzZS5yZXNvbHZlKCkpXG5cbiAgICAgICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICAvLyBhZnRlckRlbGV0ZSAtIENvbGxlY3Rpb25cbiAgICAgICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgICAgIGF3YWl0IGNvbGxlY3Rpb25Db25maWcuaG9va3MuYWZ0ZXJEZWxldGUucmVkdWNlKGFzeW5jIChwcmlvckhvb2ssIGhvb2spID0+IHtcbiAgICAgICAgICBhd2FpdCBwcmlvckhvb2tcblxuICAgICAgICAgIHJlc3VsdCA9XG4gICAgICAgICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgICAgICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgICAgICAgICAgZG9jOiByZXN1bHQsXG4gICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgIH0pKSB8fCByZXN1bHRcbiAgICAgICAgfSwgUHJvbWlzZS5yZXNvbHZlKCkpXG5cbiAgICAgICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICAvLyA4LiBSZXR1cm4gcmVzdWx0c1xuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdFxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgZXJyb3JzLnB1c2goe1xuICAgICAgICAgIGlkOiBkb2MuaWQsXG4gICAgICAgICAgbWVzc2FnZTogZXJyb3IubWVzc2FnZSxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsXG4gICAgfSlcblxuICAgIGNvbnN0IGF3YWl0ZWREb2NzID0gYXdhaXQgUHJvbWlzZS5hbGwocHJvbWlzZXMpXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gRGVsZXRlIFByZWZlcmVuY2VzXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgYXdhaXQgZGVsZXRlVXNlclByZWZlcmVuY2VzKHtcbiAgICAgIGNvbGxlY3Rpb25Db25maWcsXG4gICAgICBpZHM6IGRvY3MubWFwKCh7IGlkIH0pID0+IGlkKSxcbiAgICAgIHBheWxvYWQsXG4gICAgICByZXEsXG4gICAgfSlcblxuICAgIGxldCByZXN1bHQgPSB7XG4gICAgICBkb2NzOiBhd2FpdGVkRG9jcy5maWx0ZXIoQm9vbGVhbiksXG4gICAgICBlcnJvcnMsXG4gICAgfVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGFmdGVyT3BlcmF0aW9uIC0gQ29sbGVjdGlvblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIHJlc3VsdCA9IGF3YWl0IGJ1aWxkQWZ0ZXJPcGVyYXRpb248R2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVFNsdWddPih7XG4gICAgICBhcmdzLFxuICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgIG9wZXJhdGlvbjogJ2RlbGV0ZScsXG4gICAgICByZXN1bHQsXG4gICAgfSlcblxuICAgIGlmIChzaG91bGRDb21taXQpIGF3YWl0IGNvbW1pdFRyYW5zYWN0aW9uKHJlcSlcblxuICAgIHJldHVybiByZXN1bHRcbiAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICBhd2FpdCBraWxsVHJhbnNhY3Rpb24oYXJncy5yZXEpXG4gICAgdGhyb3cgZXJyb3JcbiAgfVxufVxuIl0sIm5hbWVzIjpbImh0dHBTdGF0dXMiLCJleGVjdXRlQWNjZXNzIiwiY29tYmluZVF1ZXJpZXMiLCJ2YWxpZGF0ZVF1ZXJ5UGF0aHMiLCJBUElFcnJvciIsImFmdGVyUmVhZCIsImRlbGV0ZVVzZXJQcmVmZXJlbmNlcyIsImRlbGV0ZUFzc29jaWF0ZWRGaWxlcyIsImNvbW1pdFRyYW5zYWN0aW9uIiwiaW5pdFRyYW5zYWN0aW9uIiwia2lsbFRyYW5zYWN0aW9uIiwiZGVsZXRlQ29sbGVjdGlvblZlcnNpb25zIiwiYnVpbGRBZnRlck9wZXJhdGlvbiIsImRlbGV0ZU9wZXJhdGlvbiIsImluY29taW5nQXJncyIsImFyZ3MiLCJzaG91bGRDb21taXQiLCJyZXEiLCJjb2xsZWN0aW9uIiwiY29uZmlnIiwiaG9va3MiLCJiZWZvcmVPcGVyYXRpb24iLCJyZWR1Y2UiLCJwcmlvckhvb2siLCJob29rIiwiY29udGV4dCIsIm9wZXJhdGlvbiIsIlByb21pc2UiLCJyZXNvbHZlIiwiY29sbGVjdGlvbkNvbmZpZyIsImRlcHRoIiwib3ZlcnJpZGVBY2Nlc3MiLCJmYWxsYmFja0xvY2FsZSIsImxvY2FsZSIsInBheWxvYWQiLCJzaG93SGlkZGVuRmllbGRzIiwid2hlcmUiLCJCQURfUkVRVUVTVCIsImFjY2Vzc1Jlc3VsdCIsImFjY2VzcyIsImRlbGV0ZSIsImZ1bGxXaGVyZSIsImRvY3MiLCJkYiIsImZpbmQiLCJzbHVnIiwiZXJyb3JzIiwicHJvbWlzZXMiLCJtYXAiLCJkb2MiLCJyZXN1bHQiLCJpZCIsImJlZm9yZURlbGV0ZSIsIm92ZXJyaWRlRGVsZXRlIiwidmVyc2lvbnMiLCJkZWxldGVPbmUiLCJlcXVhbHMiLCJnbG9iYWwiLCJhZnRlckRlbGV0ZSIsImVycm9yIiwicHVzaCIsIm1lc3NhZ2UiLCJhd2FpdGVkRG9jcyIsImFsbCIsImlkcyIsImZpbHRlciIsIkJvb2xlYW4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLGdCQUFnQixjQUFhO0FBT3BDLE9BQU9DLG1CQUFtQiw4QkFBNkI7QUFDdkQsU0FBU0MsY0FBYyxRQUFRLG1DQUFrQztBQUNqRSxTQUFTQyxrQkFBa0IsUUFBUSx1REFBc0Q7QUFDekYsU0FBU0MsUUFBUSxRQUFRLHdCQUF1QjtBQUNoRCxTQUFTQyxTQUFTLFFBQVEsd0NBQXVDO0FBQ2pFLFNBQVNDLHFCQUFxQixRQUFRLDZDQUE0QztBQUNsRixTQUFTQyxxQkFBcUIsUUFBUSx5Q0FBd0M7QUFDOUUsU0FBU0MsaUJBQWlCLFFBQVEsdUNBQXNDO0FBQ3hFLFNBQVNDLGVBQWUsUUFBUSxxQ0FBb0M7QUFDcEUsU0FBU0MsZUFBZSxRQUFRLHFDQUFvQztBQUNwRSxTQUFTQyx3QkFBd0IsUUFBUSw2Q0FBNEM7QUFDckYsU0FBU0MsbUJBQW1CLFFBQVEsYUFBWTtBQVdoRCxPQUFPLE1BQU1DLGtCQUFrQixPQUM3QkM7SUFRQSxJQUFJQyxPQUFPRDtJQUVYLElBQUk7UUFDRixNQUFNRSxlQUFlLE1BQU1QLGdCQUFnQk0sS0FBS0UsR0FBRztRQUNuRCx3Q0FBd0M7UUFDeEMs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
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import type { PayloadRequest } from '../../types';
|
|
2
|
-
import type {
|
|
3
|
-
import type { Collection } from '../config/types';
|
|
1
|
+
import type { Document, PayloadRequest } from '../../types/index.d.ts';
|
|
2
|
+
import type { Collection } from '../config/types.d.ts';
|
|
4
3
|
export type Arguments = {
|
|
5
4
|
collection: Collection;
|
|
6
5
|
depth?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deleteByID.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/deleteByID.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"deleteByID.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/deleteByID.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACtE,OAAO,KAAK,EAAuB,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAe3E,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,mBAAmB,yDAChB,SAAS,KACtB,QAAQ,QAAQ,CAiMlB,CAAA"}
|
|
@@ -1,34 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const
|
|
14
|
-
const _errors = require("../../errors");
|
|
15
|
-
const _afterRead = require("../../fields/hooks/afterRead");
|
|
16
|
-
const _deleteUserPreferences = require("../../preferences/deleteUserPreferences");
|
|
17
|
-
const _deleteAssociatedFiles = require("../../uploads/deleteAssociatedFiles");
|
|
18
|
-
const _commitTransaction = require("../../utilities/commitTransaction");
|
|
19
|
-
const _initTransaction = require("../../utilities/initTransaction");
|
|
20
|
-
const _killTransaction = require("../../utilities/killTransaction");
|
|
21
|
-
const _deleteCollectionVersions = require("../../versions/deleteCollectionVersions");
|
|
22
|
-
const _utils = require("./utils");
|
|
23
|
-
function _interop_require_default(obj) {
|
|
24
|
-
return obj && obj.__esModule ? obj : {
|
|
25
|
-
default: obj
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
const deleteByIDOperation = async (incomingArgs)=>{
|
|
1
|
+
import executeAccess from '../../auth/executeAccess.js';
|
|
2
|
+
import { hasWhereAccessResult } from '../../auth/types.js';
|
|
3
|
+
import { combineQueries } from '../../database/combineQueries.js';
|
|
4
|
+
import { Forbidden, NotFound } from '../../errors/index.js';
|
|
5
|
+
import { afterRead } from '../../fields/hooks/afterRead/index.js';
|
|
6
|
+
import { deleteUserPreferences } from '../../preferences/deleteUserPreferences.js';
|
|
7
|
+
import { deleteAssociatedFiles } from '../../uploads/deleteAssociatedFiles.js';
|
|
8
|
+
import { commitTransaction } from '../../utilities/commitTransaction.js';
|
|
9
|
+
import { initTransaction } from '../../utilities/initTransaction.js';
|
|
10
|
+
import { killTransaction } from '../../utilities/killTransaction.js';
|
|
11
|
+
import { deleteCollectionVersions } from '../../versions/deleteCollectionVersions.js';
|
|
12
|
+
import { buildAfterOperation } from './utils.js';
|
|
13
|
+
export const deleteByIDOperation = async (incomingArgs)=>{
|
|
29
14
|
let args = incomingArgs;
|
|
30
15
|
try {
|
|
31
|
-
const shouldCommit = await
|
|
16
|
+
const shouldCommit = await initTransaction(args.req);
|
|
32
17
|
// /////////////////////////////////////
|
|
33
18
|
// beforeOperation - Collection
|
|
34
19
|
// /////////////////////////////////////
|
|
@@ -46,11 +31,11 @@ const deleteByIDOperation = async (incomingArgs)=>{
|
|
|
46
31
|
// /////////////////////////////////////
|
|
47
32
|
// Access
|
|
48
33
|
// /////////////////////////////////////
|
|
49
|
-
const accessResults = !overrideAccess ? await (
|
|
34
|
+
const accessResults = !overrideAccess ? await executeAccess({
|
|
50
35
|
id,
|
|
51
36
|
req
|
|
52
37
|
}, collectionConfig.access.delete) : true;
|
|
53
|
-
const hasWhereAccess =
|
|
38
|
+
const hasWhereAccess = hasWhereAccessResult(accessResults);
|
|
54
39
|
// /////////////////////////////////////
|
|
55
40
|
// beforeDelete - Collection
|
|
56
41
|
// /////////////////////////////////////
|
|
@@ -70,15 +55,15 @@ const deleteByIDOperation = async (incomingArgs)=>{
|
|
|
70
55
|
collection: collectionConfig.slug,
|
|
71
56
|
locale: req.locale,
|
|
72
57
|
req,
|
|
73
|
-
where:
|
|
58
|
+
where: combineQueries({
|
|
74
59
|
id: {
|
|
75
60
|
equals: id
|
|
76
61
|
}
|
|
77
62
|
}, accessResults)
|
|
78
63
|
});
|
|
79
|
-
if (!docToDelete && !hasWhereAccess) throw new
|
|
80
|
-
if (!docToDelete && hasWhereAccess) throw new
|
|
81
|
-
await
|
|
64
|
+
if (!docToDelete && !hasWhereAccess) throw new NotFound(req.t);
|
|
65
|
+
if (!docToDelete && hasWhereAccess) throw new Forbidden(req.t);
|
|
66
|
+
await deleteAssociatedFiles({
|
|
82
67
|
collectionConfig,
|
|
83
68
|
config,
|
|
84
69
|
doc: docToDelete,
|
|
@@ -89,7 +74,7 @@ const deleteByIDOperation = async (incomingArgs)=>{
|
|
|
89
74
|
// Delete versions
|
|
90
75
|
// /////////////////////////////////////
|
|
91
76
|
if (collectionConfig.versions) {
|
|
92
|
-
await
|
|
77
|
+
await deleteCollectionVersions({
|
|
93
78
|
id,
|
|
94
79
|
slug: collectionConfig.slug,
|
|
95
80
|
payload,
|
|
@@ -111,7 +96,7 @@ const deleteByIDOperation = async (incomingArgs)=>{
|
|
|
111
96
|
// /////////////////////////////////////
|
|
112
97
|
// Delete Preferences
|
|
113
98
|
// /////////////////////////////////////
|
|
114
|
-
await
|
|
99
|
+
await deleteUserPreferences({
|
|
115
100
|
collectionConfig,
|
|
116
101
|
ids: [
|
|
117
102
|
id
|
|
@@ -122,7 +107,7 @@ const deleteByIDOperation = async (incomingArgs)=>{
|
|
|
122
107
|
// /////////////////////////////////////
|
|
123
108
|
// afterRead - Fields
|
|
124
109
|
// /////////////////////////////////////
|
|
125
|
-
result = await
|
|
110
|
+
result = await afterRead({
|
|
126
111
|
collection: collectionConfig,
|
|
127
112
|
context: req.context,
|
|
128
113
|
depth,
|
|
@@ -162,7 +147,7 @@ const deleteByIDOperation = async (incomingArgs)=>{
|
|
|
162
147
|
// /////////////////////////////////////
|
|
163
148
|
// afterOperation - Collection
|
|
164
149
|
// /////////////////////////////////////
|
|
165
|
-
result = await
|
|
150
|
+
result = await buildAfterOperation({
|
|
166
151
|
args,
|
|
167
152
|
collection: collectionConfig,
|
|
168
153
|
operation: 'deleteByID',
|
|
@@ -171,12 +156,12 @@ const deleteByIDOperation = async (incomingArgs)=>{
|
|
|
171
156
|
// /////////////////////////////////////
|
|
172
157
|
// 8. Return results
|
|
173
158
|
// /////////////////////////////////////
|
|
174
|
-
if (shouldCommit) await
|
|
159
|
+
if (shouldCommit) await commitTransaction(req);
|
|
175
160
|
return result;
|
|
176
161
|
} catch (error) {
|
|
177
|
-
await
|
|
162
|
+
await killTransaction(args.req);
|
|
178
163
|
throw error;
|
|
179
164
|
}
|
|
180
165
|
};
|
|
181
166
|
|
|
182
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2RlbGV0ZUJ5SUQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBHZW5lcmF0ZWRUeXBlcyB9IGZyb20gJy4uLy4uLydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi8uLi90eXBlcydcbmltcG9ydCB0eXBlIHsgRG9jdW1lbnQgfSBmcm9tICcuLi8uLi90eXBlcydcbmltcG9ydCB0eXBlIHsgQmVmb3JlT3BlcmF0aW9uSG9vaywgQ29sbGVjdGlvbiB9IGZyb20gJy4uL2NvbmZpZy90eXBlcydcblxuaW1wb3J0IGV4ZWN1dGVBY2Nlc3MgZnJvbSAnLi4vLi4vYXV0aC9leGVjdXRlQWNjZXNzJ1xuaW1wb3J0IHsgaGFzV2hlcmVBY2Nlc3NSZXN1bHQgfSBmcm9tICcuLi8uLi9hdXRoL3R5cGVzJ1xuaW1wb3J0IHsgY29tYmluZVF1ZXJpZXMgfSBmcm9tICcuLi8uLi9kYXRhYmFzZS9jb21iaW5lUXVlcmllcydcbmltcG9ydCB7IEZvcmJpZGRlbiwgTm90Rm91bmQgfSBmcm9tICcuLi8uLi9lcnJvcnMnXG5pbXBvcnQgeyBhZnRlclJlYWQgfSBmcm9tICcuLi8uLi9maWVsZHMvaG9va3MvYWZ0ZXJSZWFkJ1xuaW1wb3J0IHsgZGVsZXRlVXNlclByZWZlcmVuY2VzIH0gZnJvbSAnLi4vLi4vcHJlZmVyZW5jZXMvZGVsZXRlVXNlclByZWZlcmVuY2VzJ1xuaW1wb3J0IHsgZGVsZXRlQXNzb2NpYXRlZEZpbGVzIH0gZnJvbSAnLi4vLi4vdXBsb2Fkcy9kZWxldGVBc3NvY2lhdGVkRmlsZXMnXG5pbXBvcnQgeyBjb21taXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9jb21taXRUcmFuc2FjdGlvbidcbmltcG9ydCB7IGluaXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9pbml0VHJhbnNhY3Rpb24nXG5pbXBvcnQgeyBraWxsVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMva2lsbFRyYW5zYWN0aW9uJ1xuaW1wb3J0IHsgZGVsZXRlQ29sbGVjdGlvblZlcnNpb25zIH0gZnJvbSAnLi4vLi4vdmVyc2lvbnMvZGVsZXRlQ29sbGVjdGlvblZlcnNpb25zJ1xuaW1wb3J0IHsgYnVpbGRBZnRlck9wZXJhdGlvbiB9IGZyb20gJy4vdXRpbHMnXG5cbmV4cG9ydCB0eXBlIEFyZ3VtZW50cyA9IHtcbiAgY29sbGVjdGlvbjogQ29sbGVjdGlvblxuICBkZXB0aD86IG51bWJlclxuICBpZDogbnVtYmVyIHwgc3RyaW5nXG4gIG92ZXJyaWRlQWNjZXNzPzogYm9vbGVhblxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gIHNob3dIaWRkZW5GaWVsZHM/OiBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCBkZWxldGVCeUlET3BlcmF0aW9uID0gYXN5bmMgPFRTbHVnIGV4dGVuZHMga2V5b2YgR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICBpbmNvbWluZ0FyZ3M6IEFyZ3VtZW50cyxcbik6IFByb21pc2U8RG9jdW1lbnQ+ID0+IHtcbiAgbGV0IGFyZ3MgPSBpbmNvbWluZ0FyZ3NcblxuICB0cnkge1xuICAgIGNvbnN0IHNob3VsZENvbW1pdCA9IGF3YWl0IGluaXRUcmFuc2FjdGlvbihhcmdzLnJlcSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBiZWZvcmVPcGVyYXRpb24gLSBDb2xsZWN0aW9uXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgYXdhaXQgYXJncy5jb2xsZWN0aW9uLmNvbmZpZy5ob29rcy5iZWZvcmVPcGVyYXRpb24ucmVkdWNlKFxuICAgICAgYXN5bmMgKHByaW9ySG9vazogQmVmb3JlT3BlcmF0aW9uSG9vayB8IFByb21pc2U8dm9pZD4sIGhvb2s6IEJlZm9yZU9wZXJhdGlvbkhvb2spID0+IHtcbiAgICAgICAgYXdhaXQgcHJpb3JIb29rXG5cbiAgICAgICAgYXJncyA9XG4gICAgICAgICAgKGF3YWl0IGhvb2soe1xuICAgICAgICAgICAgYXJncyxcbiAgICAgICAgICAgIGNvbGxlY3Rpb246IGFyZ3MuY29sbGVjdGlvbi5jb25maWcsXG4gICAgICAgICAgICBjb250ZXh0OiBhcmdzLnJlcS5jb250ZXh0LFxuICAgICAgICAgICAgb3BlcmF0aW9uOiAnZGVsZXRlJyxcbiAgICAgICAgICAgIHJlcTogYXJncy5yZXEsXG4gICAgICAgICAgfSkpIHx8IGFyZ3NcbiAgICAgIH0sXG4gICAgICBQcm9taXNlLnJlc29sdmUoKSxcbiAgICApXG5cbiAgICBjb25zdCB7XG4gICAgICBpZCxcbiAgICAgIGNvbGxlY3Rpb246IHsgY29uZmlnOiBjb2xsZWN0aW9uQ29uZmlnIH0sXG4gICAgICBkZXB0aCxcbiAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgcmVxOiB7XG4gICAgICAgIGZhbGxiYWNrTG9jYWxlLFxuICAgICAgICBsb2NhbGUsXG4gICAgICAgIHBheWxvYWQ6IHsgY29uZmlnIH0sXG4gICAgICAgIHBheWxvYWQsXG4gICAgICB9LFxuICAgICAgcmVxLFxuICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICB9ID0gYXJnc1xuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIEFjY2Vzc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGNvbnN0IGFjY2Vzc1Jlc3VsdHMgPSAhb3ZlcnJpZGVBY2Nlc3NcbiAgICAgID8gYXdhaXQgZXhlY3V0ZUFjY2Vzcyh7IGlkLCByZXEgfSwgY29sbGVjdGlvbkNvbmZpZy5hY2Nlc3MuZGVsZXRlKVxuICAgICAgOiB0cnVlXG4gICAgY29uc3QgaGFzV2hlcmVBY2Nlc3MgPSBoYXNXaGVyZUFjY2Vzc1Jlc3VsdChhY2Nlc3NSZXN1bHRzKVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGJlZm9yZURlbGV0ZSAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBhd2FpdCBjb2xsZWN0aW9uQ29uZmlnLmhvb2tzLmJlZm9yZURlbGV0ZS5yZWR1Y2UoYXN5bmMgKHByaW9ySG9vaywgaG9vaykgPT4ge1xuICAgICAgYXdhaXQgcHJpb3JIb29rXG5cbiAgICAgIHJldHVybiBob29rKHtcbiAgICAgICAgaWQsXG4gICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgIGNvbnRleHQ6IHJlcS5jb250ZXh0LFxuICAgICAgICByZXEsXG4gICAgICB9KVxuICAgIH0sIFByb21pc2UucmVzb2x2ZSgpKVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIFJldHJpZXZlIGRvY3VtZW50XG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgY29uc3QgZG9jVG9EZWxldGUgPSBhd2FpdCByZXEucGF5bG9hZC5kYi5maW5kT25lKHtcbiAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcuc2x1ZyxcbiAgICAgIGxvY2FsZTogcmVxLmxvY2FsZSxcbiAgICAgIHJlcSxcbiAgICAgIHdoZXJlOiBjb21iaW5lUXVlcmllcyh7IGlkOiB7IGVxdWFsczogaWQgfSB9LCBhY2Nlc3NSZXN1bHRzKSxcbiAgICB9KVxuXG4gICAgaWYgKCFkb2NUb0RlbGV0ZSAmJiAhaGFzV2hlcmVBY2Nlc3MpIHRocm93IG5ldyBOb3RGb3VuZChyZXEudClcbiAgICBpZiAoIWRvY1RvRGVsZXRlICYmIGhhc1doZXJlQWNjZXNzKSB0aHJvdyBuZXcgRm9yYmlkZGVuKHJlcS50KVxuXG4gICAgYXdhaXQgZGVsZXRlQXNzb2NpYXRlZEZpbGVzKHtcbiAgICAgIGNvbGxlY3Rpb25Db25maWcsXG4gICAgICBjb25maWcsXG4gICAgICBkb2M6IGRvY1RvRGVsZXRlLFxuICAgICAgb3ZlcnJpZGVEZWxldGU6IHRydWUsXG4gICAgICByZXEsXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBEZWxldGUgdmVyc2lvbnNcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBpZiAoY29sbGVjdGlvbkNvbmZpZy52ZXJzaW9ucykge1xuICAgICAgYXdhaXQgZGVsZXRlQ29sbGVjdGlvblZlcnNpb25zKHtcbiAgICAgICAgaWQsXG4gICAgICAgIHNsdWc6IGNvbGxlY3Rpb25Db25maWcuc2x1ZyxcbiAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgcmVxLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gRGVsZXRlIGRvY3VtZW50XG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgbGV0IHJlc3VsdCA9IGF3YWl0IHJlcS5wYXlsb2FkLmRiLmRlbGV0ZU9uZSh7XG4gICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLnNsdWcsXG4gICAgICByZXEsXG4gICAgICB3aGVyZTogeyBpZDogeyBlcXVhbHM6IGlkIH0gfSxcbiAgICB9KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIERlbGV0ZSBQcmVmZXJlbmNlc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGF3YWl0IGRlbGV0ZVVzZXJQcmVmZXJlbmNlcyh7XG4gICAgICBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgaWRzOiBbaWRdLFxuICAgICAgcGF5bG9hZCxcbiAgICAgIHJlcSxcbiAgICB9KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGFmdGVyUmVhZCAtIEZpZWxkc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIHJlc3VsdCA9IGF3YWl0IGFmdGVyUmVhZCh7XG4gICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICBkZXB0aCxcbiAgICAgIGRvYzogcmVzdWx0LFxuICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICBnbG9iYWw6IG51bGwsXG4gICAgICBsb2NhbGUsXG4gICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgIHJlcSxcbiAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlclJlYWQgLSBDb2xsZWN0aW9uXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgYXdhaXQgY29sbGVjdGlvbkNvbmZpZy5ob29rcy5hZnRlclJlYWQucmVkdWNlKGFzeW5jIChwcmlvckhvb2ssIGhvb2spID0+IHtcbiAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICByZXN1bHQgPVxuICAgICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgICAgICBkb2M6IHJlc3VsdCxcbiAgICAgICAgICByZXEsXG4gICAgICAgIH0pKSB8fCByZXN1bHRcbiAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlckRlbGV0ZSAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBhd2FpdCBjb2xsZWN0aW9uQ29uZmlnLmhvb2tzLmFmdGVyRGVsZXRlLnJlZHVjZShhc3luYyAocHJpb3JIb29rLCBob29rKSA9PiB7XG4gICAgICBhd2FpdCBwcmlvckhvb2tcblxuICAgICAgcmVzdWx0ID1cbiAgICAgICAgKGF3YWl0IGhvb2soe1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICAgICAgZG9jOiByZXN1bHQsXG4gICAgICAgICAgcmVxLFxuICAgICAgICB9KSkgfHwgcmVzdWx0XG4gICAgfSwgUHJvbWlzZS5yZXNvbHZlKCkpXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gYWZ0ZXJPcGVyYXRpb24gLSBDb2xsZWN0aW9uXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgcmVzdWx0ID0gYXdhaXQgYnVpbGRBZnRlck9wZXJhdGlvbjxHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUU2x1Z10+KHtcbiAgICAgIGFyZ3MsXG4gICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgb3BlcmF0aW9uOiAnZGVsZXRlQnlJRCcsXG4gICAgICByZXN1bHQsXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyA4LiBSZXR1cm4gcmVzdWx0c1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGlmIChzaG91bGRDb21taXQpIGF3YWl0IGNvbW1pdFRyYW5zYWN0aW9uKHJlcSlcblxuICAgIHJldHVybiByZXN1bHRcbiAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICBhd2FpdCBraWxsVHJhbnNhY3Rpb24oYXJncy5yZXEpXG4gICAgdGhyb3cgZXJyb3JcbiAgfVxufVxuIl0sIm5hbWVzIjpbImRlbGV0ZUJ5SURPcGVyYXRpb24iLCJpbmNvbWluZ0FyZ3MiLCJhcmdzIiwic2hvdWxkQ29tbWl0IiwiaW5pdFRyYW5zYWN0aW9uIiwicmVxIiwiY29sbGVjdGlvbiIsImNvbmZpZyIsImhvb2tzIiwiYmVmb3JlT3BlcmF0aW9uIiwicmVkdWNlIiwicHJpb3JIb29rIiwiaG9vayIsImNvbnRleHQiLCJvcGVyYXRpb24iLCJQcm9taXNlIiwicmVzb2x2ZSIsImlkIiwiY29sbGVjdGlvbkNvbmZpZyIsImRlcHRoIiwib3ZlcnJpZGVBY2Nlc3MiLCJmYWxsYmFja0xvY2FsZSIsImxvY2FsZSIsInBheWxvYWQiLCJzaG93SGlkZGVuRmllbGRzIiwiYWNjZXNzUmVzdWx0cyIsImV4ZWN1dGVBY2Nlc3MiLCJhY2Nlc3MiLCJkZWxldGUiLCJoYXNXaGVyZUFjY2VzcyIsImhhc1doZXJlQWNjZXNzUmVzdWx0IiwiYmVmb3JlRGVsZXRlIiwiZG9jVG9EZWxldGUiLCJkYiIsImZpbmRPbmUiLCJzbHVnIiwid2hlcmUiLCJjb21iaW5lUXVlcmllcyIsImVxdWFscyIsIk5vdEZvdW5kIiwidCIsIkZvcmJpZGRlbiIsImRlbGV0ZUFzc29jaWF0ZWRGaWxlcyIsImRvYyIsIm92ZXJyaWRlRGVsZXRlIiwidmVyc2lvbnMiLCJkZWxldGVDb2xsZWN0aW9uVmVyc2lvbnMiLCJyZXN1bHQiLCJkZWxldGVPbmUiLCJkZWxldGVVc2VyUHJlZmVyZW5jZXMiLCJpZHMiLCJhZnRlclJlYWQiLCJnbG9iYWwiLCJhZnRlckRlbGV0ZSIsImJ1aWxkQWZ0ZXJPcGVyYXRpb24iLCJjb21taXRUcmFuc2FjdGlvbiIsImVycm9yIiwia2lsbFRyYW5zYWN0aW9uIl0sIm1hcHBpbmdzIjoiOzs7OytCQTJCYUE7OztlQUFBQTs7O3NFQXRCYTt1QkFD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
|
|
167
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2RlbGV0ZUJ5SUQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBHZW5lcmF0ZWRUeXBlcyB9IGZyb20gJy4uLy4uL2luZGV4LmQudHMnXG5pbXBvcnQgdHlwZSB7IERvY3VtZW50LCBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uLy4uL3R5cGVzL2luZGV4LmQudHMnXG5pbXBvcnQgdHlwZSB7IEJlZm9yZU9wZXJhdGlvbkhvb2ssIENvbGxlY3Rpb24gfSBmcm9tICcuLi9jb25maWcvdHlwZXMuZC50cydcblxuaW1wb3J0IGV4ZWN1dGVBY2Nlc3MgZnJvbSAnLi4vLi4vYXV0aC9leGVjdXRlQWNjZXNzLmpzJ1xuaW1wb3J0IHsgaGFzV2hlcmVBY2Nlc3NSZXN1bHQgfSBmcm9tICcuLi8uLi9hdXRoL3R5cGVzLmpzJ1xuaW1wb3J0IHsgY29tYmluZVF1ZXJpZXMgfSBmcm9tICcuLi8uLi9kYXRhYmFzZS9jb21iaW5lUXVlcmllcy5qcydcbmltcG9ydCB7IEZvcmJpZGRlbiwgTm90Rm91bmQgfSBmcm9tICcuLi8uLi9lcnJvcnMvaW5kZXguanMnXG5pbXBvcnQgeyBhZnRlclJlYWQgfSBmcm9tICcuLi8uLi9maWVsZHMvaG9va3MvYWZ0ZXJSZWFkL2luZGV4LmpzJ1xuaW1wb3J0IHsgZGVsZXRlVXNlclByZWZlcmVuY2VzIH0gZnJvbSAnLi4vLi4vcHJlZmVyZW5jZXMvZGVsZXRlVXNlclByZWZlcmVuY2VzLmpzJ1xuaW1wb3J0IHsgZGVsZXRlQXNzb2NpYXRlZEZpbGVzIH0gZnJvbSAnLi4vLi4vdXBsb2Fkcy9kZWxldGVBc3NvY2lhdGVkRmlsZXMuanMnXG5pbXBvcnQgeyBjb21taXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9jb21taXRUcmFuc2FjdGlvbi5qcydcbmltcG9ydCB7IGluaXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9pbml0VHJhbnNhY3Rpb24uanMnXG5pbXBvcnQgeyBraWxsVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMva2lsbFRyYW5zYWN0aW9uLmpzJ1xuaW1wb3J0IHsgZGVsZXRlQ29sbGVjdGlvblZlcnNpb25zIH0gZnJvbSAnLi4vLi4vdmVyc2lvbnMvZGVsZXRlQ29sbGVjdGlvblZlcnNpb25zLmpzJ1xuaW1wb3J0IHsgYnVpbGRBZnRlck9wZXJhdGlvbiB9IGZyb20gJy4vdXRpbHMuanMnXG5cbmV4cG9ydCB0eXBlIEFyZ3VtZW50cyA9IHtcbiAgY29sbGVjdGlvbjogQ29sbGVjdGlvblxuICBkZXB0aD86IG51bWJlclxuICBpZDogbnVtYmVyIHwgc3RyaW5nXG4gIG92ZXJyaWRlQWNjZXNzPzogYm9vbGVhblxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gIHNob3dIaWRkZW5GaWVsZHM/OiBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCBkZWxldGVCeUlET3BlcmF0aW9uID0gYXN5bmMgPFRTbHVnIGV4dGVuZHMga2V5b2YgR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICBpbmNvbWluZ0FyZ3M6IEFyZ3VtZW50cyxcbik6IFByb21pc2U8RG9jdW1lbnQ+ID0+IHtcbiAgbGV0IGFyZ3MgPSBpbmNvbWluZ0FyZ3NcblxuICB0cnkge1xuICAgIGNvbnN0IHNob3VsZENvbW1pdCA9IGF3YWl0IGluaXRUcmFuc2FjdGlvbihhcmdzLnJlcSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBiZWZvcmVPcGVyYXRpb24gLSBDb2xsZWN0aW9uXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgYXdhaXQgYXJncy5jb2xsZWN0aW9uLmNvbmZpZy5ob29rcy5iZWZvcmVPcGVyYXRpb24ucmVkdWNlKFxuICAgICAgYXN5bmMgKHByaW9ySG9vazogQmVmb3JlT3BlcmF0aW9uSG9vayB8IFByb21pc2U8dm9pZD4sIGhvb2s6IEJlZm9yZU9wZXJhdGlvbkhvb2spID0+IHtcbiAgICAgICAgYXdhaXQgcHJpb3JIb29rXG5cbiAgICAgICAgYXJncyA9XG4gICAgICAgICAgKGF3YWl0IGhvb2soe1xuICAgICAgICAgICAgYXJncyxcbiAgICAgICAgICAgIGNvbGxlY3Rpb246IGFyZ3MuY29sbGVjdGlvbi5jb25maWcsXG4gICAgICAgICAgICBjb250ZXh0OiBhcmdzLnJlcS5jb250ZXh0LFxuICAgICAgICAgICAgb3BlcmF0aW9uOiAnZGVsZXRlJyxcbiAgICAgICAgICAgIHJlcTogYXJncy5yZXEsXG4gICAgICAgICAgfSkpIHx8IGFyZ3NcbiAgICAgIH0sXG4gICAgICBQcm9taXNlLnJlc29sdmUoKSxcbiAgICApXG5cbiAgICBjb25zdCB7XG4gICAgICBpZCxcbiAgICAgIGNvbGxlY3Rpb246IHsgY29uZmlnOiBjb2xsZWN0aW9uQ29uZmlnIH0sXG4gICAgICBkZXB0aCxcbiAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgcmVxOiB7XG4gICAgICAgIGZhbGxiYWNrTG9jYWxlLFxuICAgICAgICBsb2NhbGUsXG4gICAgICAgIHBheWxvYWQ6IHsgY29uZmlnIH0sXG4gICAgICAgIHBheWxvYWQsXG4gICAgICB9LFxuICAgICAgcmVxLFxuICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICB9ID0gYXJnc1xuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIEFjY2Vzc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGNvbnN0IGFjY2Vzc1Jlc3VsdHMgPSAhb3ZlcnJpZGVBY2Nlc3NcbiAgICAgID8gYXdhaXQgZXhlY3V0ZUFjY2Vzcyh7IGlkLCByZXEgfSwgY29sbGVjdGlvbkNvbmZpZy5hY2Nlc3MuZGVsZXRlKVxuICAgICAgOiB0cnVlXG4gICAgY29uc3QgaGFzV2hlcmVBY2Nlc3MgPSBoYXNXaGVyZUFjY2Vzc1Jlc3VsdChhY2Nlc3NSZXN1bHRzKVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGJlZm9yZURlbGV0ZSAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBhd2FpdCBjb2xsZWN0aW9uQ29uZmlnLmhvb2tzLmJlZm9yZURlbGV0ZS5yZWR1Y2UoYXN5bmMgKHByaW9ySG9vaywgaG9vaykgPT4ge1xuICAgICAgYXdhaXQgcHJpb3JIb29rXG5cbiAgICAgIHJldHVybiBob29rKHtcbiAgICAgICAgaWQsXG4gICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgIGNvbnRleHQ6IHJlcS5jb250ZXh0LFxuICAgICAgICByZXEsXG4gICAgICB9KVxuICAgIH0sIFByb21pc2UucmVzb2x2ZSgpKVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIFJldHJpZXZlIGRvY3VtZW50XG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgY29uc3QgZG9jVG9EZWxldGUgPSBhd2FpdCByZXEucGF5bG9hZC5kYi5maW5kT25lKHtcbiAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcuc2x1ZyxcbiAgICAgIGxvY2FsZTogcmVxLmxvY2FsZSxcbiAgICAgIHJlcSxcbiAgICAgIHdoZXJlOiBjb21iaW5lUXVlcmllcyh7IGlkOiB7IGVxdWFsczogaWQgfSB9LCBhY2Nlc3NSZXN1bHRzKSxcbiAgICB9KVxuXG4gICAgaWYgKCFkb2NUb0RlbGV0ZSAmJiAhaGFzV2hlcmVBY2Nlc3MpIHRocm93IG5ldyBOb3RGb3VuZChyZXEudClcbiAgICBpZiAoIWRvY1RvRGVsZXRlICYmIGhhc1doZXJlQWNjZXNzKSB0aHJvdyBuZXcgRm9yYmlkZGVuKHJlcS50KVxuXG4gICAgYXdhaXQgZGVsZXRlQXNzb2NpYXRlZEZpbGVzKHtcbiAgICAgIGNvbGxlY3Rpb25Db25maWcsXG4gICAgICBjb25maWcsXG4gICAgICBkb2M6IGRvY1RvRGVsZXRlLFxuICAgICAgb3ZlcnJpZGVEZWxldGU6IHRydWUsXG4gICAgICByZXEsXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBEZWxldGUgdmVyc2lvbnNcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBpZiAoY29sbGVjdGlvbkNvbmZpZy52ZXJzaW9ucykge1xuICAgICAgYXdhaXQgZGVsZXRlQ29sbGVjdGlvblZlcnNpb25zKHtcbiAgICAgICAgaWQsXG4gICAgICAgIHNsdWc6IGNvbGxlY3Rpb25Db25maWcuc2x1ZyxcbiAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgcmVxLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gRGVsZXRlIGRvY3VtZW50XG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgbGV0IHJlc3VsdCA9IGF3YWl0IHJlcS5wYXlsb2FkLmRiLmRlbGV0ZU9uZSh7XG4gICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLnNsdWcsXG4gICAgICByZXEsXG4gICAgICB3aGVyZTogeyBpZDogeyBlcXVhbHM6IGlkIH0gfSxcbiAgICB9KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIERlbGV0ZSBQcmVmZXJlbmNlc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGF3YWl0IGRlbGV0ZVVzZXJQcmVmZXJlbmNlcyh7XG4gICAgICBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgaWRzOiBbaWRdLFxuICAgICAgcGF5bG9hZCxcbiAgICAgIHJlcSxcbiAgICB9KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGFmdGVyUmVhZCAtIEZpZWxkc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIHJlc3VsdCA9IGF3YWl0IGFmdGVyUmVhZCh7XG4gICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICBkZXB0aCxcbiAgICAgIGRvYzogcmVzdWx0LFxuICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICBnbG9iYWw6IG51bGwsXG4gICAgICBsb2NhbGUsXG4gICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgIHJlcSxcbiAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlclJlYWQgLSBDb2xsZWN0aW9uXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgYXdhaXQgY29sbGVjdGlvbkNvbmZpZy5ob29rcy5hZnRlclJlYWQucmVkdWNlKGFzeW5jIChwcmlvckhvb2ssIGhvb2spID0+IHtcbiAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICByZXN1bHQgPVxuICAgICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgICAgICBkb2M6IHJlc3VsdCxcbiAgICAgICAgICByZXEsXG4gICAgICAgIH0pKSB8fCByZXN1bHRcbiAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlckRlbGV0ZSAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBhd2FpdCBjb2xsZWN0aW9uQ29uZmlnLmhvb2tzLmFmdGVyRGVsZXRlLnJlZHVjZShhc3luYyAocHJpb3JIb29rLCBob29rKSA9PiB7XG4gICAgICBhd2FpdCBwcmlvckhvb2tcblxuICAgICAgcmVzdWx0ID1cbiAgICAgICAgKGF3YWl0IGhvb2soe1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICAgICAgZG9jOiByZXN1bHQsXG4gICAgICAgICAgcmVxLFxuICAgICAgICB9KSkgfHwgcmVzdWx0XG4gICAgfSwgUHJvbWlzZS5yZXNvbHZlKCkpXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gYWZ0ZXJPcGVyYXRpb24gLSBDb2xsZWN0aW9uXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgcmVzdWx0ID0gYXdhaXQgYnVpbGRBZnRlck9wZXJhdGlvbjxHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUU2x1Z10+KHtcbiAgICAgIGFyZ3MsXG4gICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgb3BlcmF0aW9uOiAnZGVsZXRlQnlJRCcsXG4gICAgICByZXN1bHQsXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyA4LiBSZXR1cm4gcmVzdWx0c1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGlmIChzaG91bGRDb21taXQpIGF3YWl0IGNvbW1pdFRyYW5zYWN0aW9uKHJlcSlcblxuICAgIHJldHVybiByZXN1bHRcbiAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICBhd2FpdCBraWxsVHJhbnNhY3Rpb24oYXJncy5yZXEpXG4gICAgdGhyb3cgZXJyb3JcbiAgfVxufVxuIl0sIm5hbWVzIjpbImV4ZWN1dGVBY2Nlc3MiLCJoYXNXaGVyZUFjY2Vzc1Jlc3VsdCIsImNvbWJpbmVRdWVyaWVzIiwiRm9yYmlkZGVuIiwiTm90Rm91bmQiLCJhZnRlclJlYWQiLCJkZWxldGVVc2VyUHJlZmVyZW5jZXMiLCJkZWxldGVBc3NvY2lhdGVkRmlsZXMiLCJjb21taXRUcmFuc2FjdGlvbiIsImluaXRUcmFuc2FjdGlvbiIsImtpbGxUcmFuc2FjdGlvbiIsImRlbGV0ZUNvbGxlY3Rpb25WZXJzaW9ucyIsImJ1aWxkQWZ0ZXJPcGVyYXRpb24iLCJkZWxldGVCeUlET3BlcmF0aW9uIiwiaW5jb21pbmdBcmdzIiwiYXJncyIsInNob3VsZENvbW1pdCIsInJlcSIsImNvbGxlY3Rpb24iLCJjb25maWciLCJob29rcyIsImJlZm9yZU9wZXJhdGlvbiIsInJlZHVjZSIsInByaW9ySG9vayIsImhvb2siLCJjb250ZXh0Iiwib3BlcmF0aW9uIiwiUHJvbWlzZSIsInJlc29sdmUiLCJpZCIsImNvbGxlY3Rpb25Db25maWciLCJkZXB0aCIsIm92ZXJyaWRlQWNjZXNzIiwiZmFsbGJhY2tMb2NhbGUiLCJsb2NhbGUiLCJwYXlsb2FkIiwic2hvd0hpZGRlbkZpZWxkcyIsImFjY2Vzc1Jlc3VsdHMiLCJhY2Nlc3MiLCJkZWxldGUiLCJoYXNXaGVyZUFjY2VzcyIsImJlZm9yZURlbGV0ZSIsImRvY1RvRGVsZXRlIiwiZGIiLCJmaW5kT25lIiwic2x1ZyIsIndoZXJlIiwiZXF1YWxzIiwidCIsImRvYyIsIm92ZXJyaWRlRGVsZXRlIiwidmVyc2lvbnMiLCJyZXN1bHQiLCJkZWxldGVPbmUiLCJpZHMiLCJnbG9iYWwiLCJhZnRlckRlbGV0ZSIsImVycm9yIl0sIm1hcHBp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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { CollectionPermission } from '../../auth';
|
|
2
|
-
import type { PayloadRequest } from '../../types';
|
|
3
|
-
import type { Collection } from '../config/types';
|
|
1
|
+
import type { CollectionPermission } from '../../auth/index.d.ts';
|
|
2
|
+
import type { PayloadRequest } from '../../types/index.d.ts';
|
|
3
|
+
import type { Collection } from '../config/types.d.ts';
|
|
4
4
|
type Arguments = {
|
|
5
5
|
collection: Collection;
|
|
6
6
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docAccess.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/docAccess.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"docAccess.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/docAccess.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,KAAK,EAAiB,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC3E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAStD,KAAK,SAAS,GAAG;IACf,UAAU,EAAE,UAAU,CAAA;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAuCvF"}
|
|
@@ -1,24 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}
|
|
5
|
-
Object.defineProperty(exports, "docAccessOperation", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return docAccessOperation;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _commitTransaction = require("../../utilities/commitTransaction");
|
|
12
|
-
const _getEntityPolicies = require("../../utilities/getEntityPolicies");
|
|
13
|
-
const _initTransaction = require("../../utilities/initTransaction");
|
|
14
|
-
const _killTransaction = require("../../utilities/killTransaction");
|
|
1
|
+
import { commitTransaction } from '../../utilities/commitTransaction.js';
|
|
2
|
+
import { getEntityPolicies } from '../../utilities/getEntityPolicies.js';
|
|
3
|
+
import { initTransaction } from '../../utilities/initTransaction.js';
|
|
4
|
+
import { killTransaction } from '../../utilities/killTransaction.js';
|
|
15
5
|
const allOperations = [
|
|
16
6
|
'create',
|
|
17
7
|
'read',
|
|
18
8
|
'update',
|
|
19
9
|
'delete'
|
|
20
10
|
];
|
|
21
|
-
async function docAccessOperation(args) {
|
|
11
|
+
export async function docAccessOperation(args) {
|
|
22
12
|
const { id, collection: { config }, req } = args;
|
|
23
13
|
const collectionOperations = [
|
|
24
14
|
...allOperations
|
|
@@ -30,20 +20,20 @@ async function docAccessOperation(args) {
|
|
|
30
20
|
collectionOperations.push('readVersions');
|
|
31
21
|
}
|
|
32
22
|
try {
|
|
33
|
-
const shouldCommit = await
|
|
34
|
-
const result = await
|
|
23
|
+
const shouldCommit = await initTransaction(req);
|
|
24
|
+
const result = await getEntityPolicies({
|
|
35
25
|
id,
|
|
26
|
+
type: 'collection',
|
|
36
27
|
entity: config,
|
|
37
28
|
operations: collectionOperations,
|
|
38
|
-
req
|
|
39
|
-
type: 'collection'
|
|
29
|
+
req
|
|
40
30
|
});
|
|
41
|
-
if (shouldCommit) await
|
|
31
|
+
if (shouldCommit) await commitTransaction(req);
|
|
42
32
|
return result;
|
|
43
33
|
} catch (e) {
|
|
44
|
-
await
|
|
34
|
+
await killTransaction(req);
|
|
45
35
|
throw e;
|
|
46
36
|
}
|
|
47
37
|
}
|
|
48
38
|
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2RvY0FjY2Vzcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbGxlY3Rpb25QZXJtaXNzaW9uIH0gZnJvbSAnLi4vLi4vYXV0aC9pbmRleC5kLnRzJ1xuaW1wb3J0IHR5cGUgeyBBbGxPcGVyYXRpb25zLCBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uLy4uL3R5cGVzL2luZGV4LmQudHMnXG5pbXBvcnQgdHlwZSB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi9jb25maWcvdHlwZXMuZC50cydcblxuaW1wb3J0IHsgY29tbWl0VHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvY29tbWl0VHJhbnNhY3Rpb24uanMnXG5pbXBvcnQgeyBnZXRFbnRpdHlQb2xpY2llcyB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9nZXRFbnRpdHlQb2xpY2llcy5qcydcbmltcG9ydCB7IGluaXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9pbml0VHJhbnNhY3Rpb24uanMnXG5pbXBvcnQgeyBraWxsVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMva2lsbFRyYW5zYWN0aW9uLmpzJ1xuXG5jb25zdCBhbGxPcGVyYXRpb25zOiBBbGxPcGVyYXRpb25zW10gPSBbJ2NyZWF0ZScsICdyZWFkJywgJ3VwZGF0ZScsICdkZWxldGUnXVxuXG50eXBlIEFyZ3VtZW50cyA9IHtcbiAgY29sbGVjdGlvbjogQ29sbGVjdGlvblxuICBpZDogc3RyaW5nXG4gIHJlcTogUGF5bG9hZFJlcXVlc3Rcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRvY0FjY2Vzc09wZXJhdGlvbihhcmdzOiBBcmd1bWVudHMpOiBQcm9taXNlPENvbGxlY3Rpb25QZXJtaXNzaW9uPiB7XG4gIGNvbnN0IHtcbiAgICBpZCxcbiAgICBjb2xsZWN0aW9uOiB7IGNvbmZpZyB9LFxuICAgIHJlcSxcbiAgfSA9IGFyZ3NcblxuICBjb25zdCBjb2xsZWN0aW9uT3BlcmF0aW9ucyA9IFsuLi5hbGxPcGVyYXRpb25zXVxuXG4gIGlmIChcbiAgICBjb25maWcuYXV0aCAmJlxuICAgIHR5cGVvZiBjb25maWcuYXV0aC5tYXhMb2dpbkF0dGVtcHRzICE9PSAndW5kZWZpbmVkJyAmJlxuICAgIGNvbmZpZy5hdXRoLm1heExvZ2luQXR0ZW1wdHMgIT09IDBcbiAgKSB7XG4gICAgY29sbGVjdGlvbk9wZXJhdGlvbnMucHVzaCgndW5sb2NrJylcbiAgfVxuXG4gIGlmIChjb25maWcudmVyc2lvbnMpIHtcbiAgICBjb2xsZWN0aW9uT3BlcmF0aW9ucy5wdXNoKCdyZWFkVmVyc2lvbnMnKVxuICB9XG5cbiAgdHJ5IHtcbiAgICBjb25zdCBzaG91bGRDb21taXQgPSBhd2FpdCBpbml0VHJhbnNhY3Rpb24ocmVxKVxuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZ2V0RW50aXR5UG9saWNpZXMoe1xuICAgICAgaWQsXG4gICAgICB0eXBlOiAnY29sbGVjdGlvbicsXG4gICAgICBlbnRpdHk6IGNvbmZpZyxcbiAgICAgIG9wZXJhdGlvbnM6IGNvbGxlY3Rpb25PcGVyYXRpb25zLFxuICAgICAgcmVxLFxuICAgIH0pXG5cbiAgICBpZiAoc2hvdWxkQ29tbWl0KSBhd2FpdCBjb21taXRUcmFuc2FjdGlvbihyZXEpXG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICBhd2FpdCBraWxsVHJhbnNhY3Rpb24ocmVxKVxuICAgIHRocm93IGVcbiAgfVxufVxuIl0sIm5hbWVzIjpbImNvbW1pdFRyYW5zYWN0aW9uIiwiZ2V0RW50aXR5UG9saWNpZXMiLCJpbml0VHJhbnNhY3Rpb24iLCJraWxsVHJhbnNhY3Rpb24iLCJhbGxPcGVyYXRpb25zIiwiZG9jQWNjZXNzT3BlcmF0aW9uIiwiYXJncyIsImlkIiwiY29sbGVjdGlvbiIsImNvbmZpZyIsInJlcSIsImNvbGxlY3Rpb25PcGVyYXRpb25zIiwiYXV0aCIsIm1heExvZ2luQXR0ZW1wdHMiLCJwdXNoIiwidmVyc2lvbnMiLCJzaG91bGRDb21taXQiLCJyZXN1bHQiLCJ0eXBlIiwiZW50aXR5Iiwib3BlcmF0aW9ucyIsImUiXSwibWFwcGluZ3MiOiJBQUlBLFNBQVNBLGlCQUFpQixRQUFRLHVDQUFzQztBQUN4RSxTQUFTQyxpQkFBaUIsUUFBUSx1Q0FBc0M7QUFDeEUsU0FBU0MsZUFBZSxRQUFRLHFDQUFvQztBQUNwRSxTQUFTQyxlQUFlLFFBQVEscUNBQW9DO0FBRXBFLE1BQU1DLGdCQUFpQztJQUFDO0lBQVU7SUFBUTtJQUFVO0NBQVM7QUFRN0UsT0FBTyxlQUFlQyxtQkFBbUJDLElBQWU7SUFDdEQsTUFBTSxFQUNKQyxFQUFFLEVBQ0ZDLFlBQVksRUFBRUMsTUFBTSxFQUFFLEVBQ3RCQyxHQUFHLEVBQ0osR0FBR0o7SUFFSixNQUFNSyx1QkFBdUI7V0FBSVA7S0FBYztJQUUvQyxJQUNFSyxPQUFPRyxJQUFJLElBQ1gsT0FBT0gsT0FBT0csSUFBSSxDQUFDQyxnQkFBZ0IsS0FBSyxlQUN4Q0osT0FBT0csSUFBSSxDQUFDQyxnQkFBZ0IsS0FBSyxHQUNqQztRQUNBRixxQkFBcUJHLElBQUksQ0FBQztJQUM1QjtJQUVBLElBQUlMLE9BQU9NLFFBQVEsRUFBRTtRQUNuQkoscUJBQXFCRyxJQUFJLENBQUM7SUFDNUI7SUFFQSxJQUFJO1FBQ0YsTUFBTUUsZUFBZSxNQUFNZCxnQkFBZ0JRO1FBRTNDLE1BQU1PLFNBQVMsTUFBTWhCLGtCQUFrQjtZQUNyQ007WUFDQVcsTUFBTTtZQUNOQyxRQUFRVjtZQUNSVyxZQUFZVDtZQUNaRDtRQUNGO1FBRUEsSUFBSU0sY0FBYyxNQUFNaEIsa0JBQWtCVTtRQUUxQyxPQUFPTztJQUNULEVBQUUsT0FBT0ksR0FBWTtRQUNuQixNQUFNbEIsZ0JBQWdCTztRQUN0QixNQUFNVztJQUNSO0FBQ0YifQ==
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import type { PaginatedDocs } from '../../database/types';
|
|
2
|
-
import type { PayloadRequest } from '../../types';
|
|
3
|
-
import type {
|
|
4
|
-
import type { Collection, TypeWithID } from '../config/types';
|
|
1
|
+
import type { PaginatedDocs } from '../../database/types.d.ts';
|
|
2
|
+
import type { PayloadRequest, Where } from '../../types/index.d.ts';
|
|
3
|
+
import type { Collection, TypeWithID } from '../config/types.d.ts';
|
|
5
4
|
export type Arguments = {
|
|
6
5
|
collection: Collection;
|
|
7
6
|
currentDepth?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/find.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/find.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAclE,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,eAAO,MAAM,aAAa,iEACV,SAAS,8BAkOxB,CAAA"}
|