payload 3.0.0-alpha.4 → 3.0.0-alpha.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/auth.d.ts +5 -5
- package/auth.js +5 -44
- package/bin.js +17 -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 +9 -5
- 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 +21 -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 +21 -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 +17 -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 +10 -34
- package/dist/bin/index.d.ts +1 -1
- package/dist/bin/index.d.ts.map +1 -1
- package/dist/bin/index.js +25 -69
- package/dist/bin/loadEnv.js +13 -26
- package/dist/bin/migrate.d.ts +7 -1
- package/dist/bin/migrate.d.ts.map +1 -1
- package/dist/bin/migrate.js +12 -37
- package/dist/bin/register/clientExtensions.d.ts +2 -0
- package/dist/bin/register/clientExtensions.d.ts.map +1 -0
- package/dist/bin/register/clientExtensions.js +13 -0
- package/dist/bin/register/index.d.ts +34 -0
- package/dist/bin/register/index.d.ts.map +1 -0
- package/dist/bin/register/index.js +95 -0
- package/dist/bin/register/read-default-tsconfig.d.ts +4 -0
- package/dist/bin/register/read-default-tsconfig.d.ts.map +1 -0
- package/dist/bin/register/read-default-tsconfig.js +92 -0
- package/dist/bin/register/register.d.ts +15 -0
- package/dist/bin/register/register.d.ts.map +1 -0
- package/dist/bin/register/register.js +92 -0
- 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/createClientConfig.d.ts +1243 -3
- package/dist/config/createClientConfig.d.ts.map +1 -1
- package/dist/config/createClientConfig.js +107 -72
- 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.d.ts +1 -2
- package/dist/config/find.d.ts.map +1 -1
- package/dist/config/find.js +18 -34
- package/dist/config/load.d.ts +2 -2
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/load.js +17 -30
- 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 +28 -34
- 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 +17 -25
- 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 +11 -9
- 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 +28 -27
- package/dist/exports/utilities.d.ts.map +1 -1
- package/dist/exports/utilities.js +29 -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 +23 -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 -71
- 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 +3 -3
- package/dist/uploads/getImageSize.d.ts.map +1 -1
- package/dist/uploads/getImageSize.js +14 -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 -4
- 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 +12 -6
- package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
- package/dist/utilities/configToJSONSchema.js +82 -97
- 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/getCollectionIDFieldTypes.d.ts +13 -0
- package/dist/utilities/getCollectionIDFieldTypes.d.ts.map +1 -0
- package/dist/utilities/getCollectionIDFieldTypes.js +16 -0
- 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 +23 -41
- 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 +10 -7
- package/types.d.ts +11 -11
- package/types.js +4 -74
- package/utilities.d.ts +28 -27
- package/utilities.js +29 -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/config/clientFiles.d.ts +0 -2
- package/dist/config/clientFiles.d.ts.map +0 -1
- package/dist/config/clientFiles.js +0 -23
- 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
package/dist/index.js
CHANGED
|
@@ -1,41 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
return _default;
|
|
17
|
-
},
|
|
18
|
-
getPayload: function() {
|
|
19
|
-
return getPayload;
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
const _crypto = /*#__PURE__*/ _interop_require_default(require("crypto"));
|
|
23
|
-
const _crypto1 = require("./auth/crypto");
|
|
24
|
-
const _apiKey = require("./auth/strategies/apiKey");
|
|
25
|
-
const _jwt = require("./auth/strategies/jwt");
|
|
26
|
-
const _local = /*#__PURE__*/ _interop_require_default(require("./collections/operations/local"));
|
|
27
|
-
const _build = /*#__PURE__*/ _interop_require_default(require("./email/build"));
|
|
28
|
-
const _defaults = require("./email/defaults");
|
|
29
|
-
const _sendEmail = /*#__PURE__*/ _interop_require_default(require("./email/sendEmail"));
|
|
30
|
-
const _local1 = /*#__PURE__*/ _interop_require_default(require("./globals/operations/local"));
|
|
31
|
-
const _logger = /*#__PURE__*/ _interop_require_default(require("./utilities/logger"));
|
|
32
|
-
const _serverInit = require("./utilities/telemetry/events/serverInit");
|
|
33
|
-
function _interop_require_default(obj) {
|
|
34
|
-
return obj && obj.__esModule ? obj : {
|
|
35
|
-
default: obj
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
class BasePayload {
|
|
1
|
+
import crypto from 'crypto';
|
|
2
|
+
import { decrypt, encrypt } from './auth/crypto.js';
|
|
3
|
+
import { APIKeyAuthentication } from './auth/strategies/apiKey.js';
|
|
4
|
+
import { JWTAuthentication } from './auth/strategies/jwt.js';
|
|
5
|
+
import localOperations from './collections/operations/local/index.js';
|
|
6
|
+
import validate from './config/validate.js';
|
|
7
|
+
import buildEmail from './email/build.js';
|
|
8
|
+
import { defaults as emailDefaults } from './email/defaults.js';
|
|
9
|
+
import sendEmail from './email/sendEmail.js';
|
|
10
|
+
import localGlobalOperations from './globals/operations/local/index.js';
|
|
11
|
+
import Logger from './utilities/logger.js';
|
|
12
|
+
import { serverInit as serverInitTelemetry } from './utilities/telemetry/events/serverInit.js';
|
|
13
|
+
/**
|
|
14
|
+
* @description Payload
|
|
15
|
+
*/ export class BasePayload {
|
|
39
16
|
authStrategies;
|
|
40
17
|
collections = {};
|
|
41
18
|
config;
|
|
@@ -44,14 +21,14 @@ class BasePayload {
|
|
|
44
21
|
* @param options
|
|
45
22
|
* @returns created document
|
|
46
23
|
*/ create = async (options)=>{
|
|
47
|
-
const { create } =
|
|
24
|
+
const { create } = localOperations;
|
|
48
25
|
return create(this, options);
|
|
49
26
|
};
|
|
50
27
|
db;
|
|
51
|
-
decrypt =
|
|
28
|
+
decrypt = decrypt;
|
|
52
29
|
email;
|
|
53
30
|
emailOptions;
|
|
54
|
-
encrypt =
|
|
31
|
+
encrypt = encrypt;
|
|
55
32
|
// TODO: re-implement or remove?
|
|
56
33
|
// errorHandler: ErrorHandler
|
|
57
34
|
extensions;
|
|
@@ -60,15 +37,15 @@ class BasePayload {
|
|
|
60
37
|
* @param options
|
|
61
38
|
* @returns documents satisfying query
|
|
62
39
|
*/ find = async (options)=>{
|
|
63
|
-
const { find } =
|
|
40
|
+
const { find } = localOperations;
|
|
64
41
|
return find(this, options);
|
|
65
42
|
};
|
|
66
43
|
findByID = async (options)=>{
|
|
67
|
-
const { findByID } =
|
|
44
|
+
const { findByID } = localOperations;
|
|
68
45
|
return findByID(this, options);
|
|
69
46
|
};
|
|
70
47
|
findGlobal = async (options)=>{
|
|
71
|
-
const { findOne } =
|
|
48
|
+
const { findOne } = localGlobalOperations;
|
|
72
49
|
return findOne(this, options);
|
|
73
50
|
};
|
|
74
51
|
/**
|
|
@@ -76,7 +53,7 @@ class BasePayload {
|
|
|
76
53
|
* @param options
|
|
77
54
|
* @returns global version with specified ID
|
|
78
55
|
*/ findGlobalVersionByID = async (options)=>{
|
|
79
|
-
const { findVersionByID } =
|
|
56
|
+
const { findVersionByID } = localGlobalOperations;
|
|
80
57
|
return findVersionByID(this, options);
|
|
81
58
|
};
|
|
82
59
|
/**
|
|
@@ -84,7 +61,7 @@ class BasePayload {
|
|
|
84
61
|
* @param options
|
|
85
62
|
* @returns versions satisfying query
|
|
86
63
|
*/ findGlobalVersions = async (options)=>{
|
|
87
|
-
const { findVersions } =
|
|
64
|
+
const { findVersions } = localGlobalOperations;
|
|
88
65
|
return findVersions(this, options);
|
|
89
66
|
};
|
|
90
67
|
/**
|
|
@@ -92,7 +69,7 @@ class BasePayload {
|
|
|
92
69
|
* @param options
|
|
93
70
|
* @returns version with specified ID
|
|
94
71
|
*/ findVersionByID = async (options)=>{
|
|
95
|
-
const { findVersionByID } =
|
|
72
|
+
const { findVersionByID } = localOperations;
|
|
96
73
|
return findVersionByID(this, options);
|
|
97
74
|
};
|
|
98
75
|
/**
|
|
@@ -100,11 +77,11 @@ class BasePayload {
|
|
|
100
77
|
* @param options
|
|
101
78
|
* @returns versions satisfying query
|
|
102
79
|
*/ findVersions = async (options)=>{
|
|
103
|
-
const { findVersions } =
|
|
80
|
+
const { findVersions } = localOperations;
|
|
104
81
|
return findVersions(this, options);
|
|
105
82
|
};
|
|
106
83
|
forgotPassword = async (options)=>{
|
|
107
|
-
const { forgotPassword } =
|
|
84
|
+
const { forgotPassword } = localOperations.auth;
|
|
108
85
|
return forgotPassword(this, options);
|
|
109
86
|
};
|
|
110
87
|
getAPIURL = ()=>`${this.config.serverURL}${this.config.routes.api}`;
|
|
@@ -112,7 +89,7 @@ class BasePayload {
|
|
|
112
89
|
globals;
|
|
113
90
|
logger;
|
|
114
91
|
login = async (options)=>{
|
|
115
|
-
const { login } =
|
|
92
|
+
const { login } = localOperations.auth;
|
|
116
93
|
return login(this, options);
|
|
117
94
|
};
|
|
118
95
|
/**
|
|
@@ -120,7 +97,7 @@ class BasePayload {
|
|
|
120
97
|
* @param options
|
|
121
98
|
* @returns document with specified ID
|
|
122
99
|
*/ resetPassword = async (options)=>{
|
|
123
|
-
const { resetPassword } =
|
|
100
|
+
const { resetPassword } = localOperations.auth;
|
|
124
101
|
return resetPassword(this, options);
|
|
125
102
|
};
|
|
126
103
|
/**
|
|
@@ -128,7 +105,7 @@ class BasePayload {
|
|
|
128
105
|
* @param options
|
|
129
106
|
* @returns version with specified ID
|
|
130
107
|
*/ restoreGlobalVersion = async (options)=>{
|
|
131
|
-
const { restoreVersion } =
|
|
108
|
+
const { restoreVersion } = localGlobalOperations;
|
|
132
109
|
return restoreVersion(this, options);
|
|
133
110
|
};
|
|
134
111
|
/**
|
|
@@ -136,7 +113,7 @@ class BasePayload {
|
|
|
136
113
|
* @param options
|
|
137
114
|
* @returns version with specified ID
|
|
138
115
|
*/ restoreVersion = async (options)=>{
|
|
139
|
-
const { restoreVersion } =
|
|
116
|
+
const { restoreVersion } = localOperations;
|
|
140
117
|
return restoreVersion(this, options);
|
|
141
118
|
};
|
|
142
119
|
schema;
|
|
@@ -144,21 +121,21 @@ class BasePayload {
|
|
|
144
121
|
sendEmail;
|
|
145
122
|
types;
|
|
146
123
|
unlock = async (options)=>{
|
|
147
|
-
const { unlock } =
|
|
124
|
+
const { unlock } = localOperations.auth;
|
|
148
125
|
return unlock(this, options);
|
|
149
126
|
};
|
|
150
127
|
updateGlobal = async (options)=>{
|
|
151
|
-
const { update } =
|
|
128
|
+
const { update } = localGlobalOperations;
|
|
152
129
|
return update(this, options);
|
|
153
130
|
};
|
|
154
131
|
validationRules;
|
|
155
132
|
verifyEmail = async (options)=>{
|
|
156
|
-
const { verifyEmail } =
|
|
133
|
+
const { verifyEmail } = localOperations.auth;
|
|
157
134
|
return verifyEmail(this, options);
|
|
158
135
|
};
|
|
159
136
|
versions = {};
|
|
160
137
|
delete(options) {
|
|
161
|
-
const { deleteLocal } =
|
|
138
|
+
const { deleteLocal } = localOperations;
|
|
162
139
|
return deleteLocal(this, options);
|
|
163
140
|
}
|
|
164
141
|
/**
|
|
@@ -166,12 +143,15 @@ class BasePayload {
|
|
|
166
143
|
* @param options
|
|
167
144
|
*/ // @ts-expect-error // TODO: TypeScript hallucinating again. fix later
|
|
168
145
|
async init(options) {
|
|
169
|
-
this.logger = (
|
|
146
|
+
this.logger = Logger('payload', options.loggerOptions, options.loggerDestination);
|
|
170
147
|
this.config = await options.config;
|
|
148
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
149
|
+
await validate(this.config, this.logger);
|
|
150
|
+
}
|
|
171
151
|
if (!this.config.secret) {
|
|
172
152
|
throw new Error('Error: missing secret key. A secret key is needed to secure Payload.');
|
|
173
153
|
}
|
|
174
|
-
this.secret =
|
|
154
|
+
this.secret = crypto.createHash('sha256').update(this.config.secret).digest('hex').slice(0, 32);
|
|
175
155
|
this.globals = {
|
|
176
156
|
config: this.config.globals
|
|
177
157
|
};
|
|
@@ -188,9 +168,8 @@ class BasePayload {
|
|
|
188
168
|
await this.db.init(this);
|
|
189
169
|
}
|
|
190
170
|
if (!options.disableDBConnect && this.db.connect) {
|
|
191
|
-
await this.db.connect(
|
|
171
|
+
await this.db.connect();
|
|
192
172
|
}
|
|
193
|
-
this.logger.info('Starting Payload...');
|
|
194
173
|
// Configure email service
|
|
195
174
|
const emailOptions = options.email ? {
|
|
196
175
|
...options.email
|
|
@@ -198,10 +177,10 @@ class BasePayload {
|
|
|
198
177
|
if (options.email && this.config.email) {
|
|
199
178
|
this.logger.warn('Email options provided in both init options and config. Using init options.');
|
|
200
179
|
}
|
|
201
|
-
this.emailOptions = emailOptions ??
|
|
202
|
-
this.email = (
|
|
203
|
-
this.sendEmail =
|
|
204
|
-
(
|
|
180
|
+
this.emailOptions = emailOptions ?? emailDefaults;
|
|
181
|
+
this.email = buildEmail(this.emailOptions, this.logger);
|
|
182
|
+
this.sendEmail = sendEmail.bind(this);
|
|
183
|
+
serverInitTelemetry(this);
|
|
205
184
|
// 1. loop over collections, if collection has auth strategy, initialize and push to array
|
|
206
185
|
let jwtStrategyEnabled = false;
|
|
207
186
|
this.authStrategies = this.config.collections.reduce((authStrategies, collection)=>{
|
|
@@ -213,7 +192,7 @@ class BasePayload {
|
|
|
213
192
|
if (collection.auth?.useAPIKey) {
|
|
214
193
|
authStrategies.push({
|
|
215
194
|
name: `${collection.slug}-api-key`,
|
|
216
|
-
authenticate:
|
|
195
|
+
authenticate: APIKeyAuthentication(collection)
|
|
217
196
|
});
|
|
218
197
|
}
|
|
219
198
|
// 3. if localStrategy flag is true
|
|
@@ -227,7 +206,7 @@ class BasePayload {
|
|
|
227
206
|
if (jwtStrategyEnabled) {
|
|
228
207
|
this.authStrategies.push({
|
|
229
208
|
name: 'local-jwt',
|
|
230
|
-
authenticate:
|
|
209
|
+
authenticate: JWTAuthentication
|
|
231
210
|
});
|
|
232
211
|
}
|
|
233
212
|
if (!options.disableOnInit) {
|
|
@@ -237,12 +216,12 @@ class BasePayload {
|
|
|
237
216
|
return this;
|
|
238
217
|
}
|
|
239
218
|
update(options) {
|
|
240
|
-
const { update } =
|
|
219
|
+
const { update } = localOperations;
|
|
241
220
|
return update(this, options);
|
|
242
221
|
}
|
|
243
222
|
}
|
|
244
223
|
const initialized = new BasePayload();
|
|
245
|
-
|
|
224
|
+
export default initialized;
|
|
246
225
|
let cached = global._payload;
|
|
247
226
|
if (!cached) {
|
|
248
227
|
// eslint-disable-next-line no-multi-assign
|
|
@@ -251,7 +230,7 @@ if (!cached) {
|
|
|
251
230
|
promise: null
|
|
252
231
|
};
|
|
253
232
|
}
|
|
254
|
-
const getPayload = async (options)=>{
|
|
233
|
+
export const getPayload = async (options)=>{
|
|
255
234
|
if (cached.payload) {
|
|
256
235
|
return cached.payload;
|
|
257
236
|
}
|
|
@@ -267,4 +246,4 @@ const getPayload = async (options)=>{
|
|
|
267
246
|
return cached.payload;
|
|
268
247
|
};
|
|
269
248
|
|
|
270
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEV4ZWN1dGlvblJlc3VsdCwgR3JhcGhRTFNjaGVtYSwgVmFsaWRhdGlvblJ1bGUgfSBmcm9tICdncmFwaHFsJ1xuaW1wb3J0IHR5cGUgeyBPcGVyYXRpb25BcmdzLCBSZXF1ZXN0IGFzIGdyYXBoUUxSZXF1ZXN0IH0gZnJvbSAnZ3JhcGhxbC1odHRwJ1xuaW1wb3J0IHR5cGUgeyBTZW5kTWFpbE9wdGlvbnMgfSBmcm9tICdub2RlbWFpbGVyJ1xuaW1wb3J0IHR5cGUgcGlubyBmcm9tICdwaW5vJ1xuXG5pbXBvcnQgY3J5cHRvIGZyb20gJ2NyeXB0bydcblxuaW1wb3J0IHR5cGUgeyBBdXRoU3RyYXRlZ3kgfSBmcm9tICcuL2F1dGgnXG5pbXBvcnQgdHlwZSB7IFJlc3VsdCBhcyBGb3Jnb3RQYXNzd29yZFJlc3VsdCB9IGZyb20gJy4vYXV0aC9vcGVyYXRpb25zL2ZvcmdvdFBhc3N3b3JkJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZvcmdvdFBhc3N3b3JkT3B0aW9ucyB9IGZyb20gJy4vYXV0aC9vcGVyYXRpb25zL2xvY2FsL2ZvcmdvdFBhc3N3b3JkJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIExvZ2luT3B0aW9ucyB9IGZyb20gJy4vYXV0aC9vcGVyYXRpb25zL2xvY2FsL2xvZ2luJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIFJlc2V0UGFzc3dvcmRPcHRpb25zIH0gZnJvbSAnLi9hdXRoL29wZXJhdGlvbnMvbG9jYWwvcmVzZXRQYXNzd29yZCdcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBVbmxvY2tPcHRpb25zIH0gZnJvbSAnLi9hdXRoL29wZXJhdGlvbnMvbG9jYWwvdW5sb2NrJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIFZlcmlmeUVtYWlsT3B0aW9ucyB9IGZyb20gJy4vYXV0aC9vcGVyYXRpb25zL2xvY2FsL3ZlcmlmeUVtYWlsJ1xuaW1wb3J0IHR5cGUgeyBSZXN1bHQgYXMgTG9naW5SZXN1bHQgfSBmcm9tICcuL2F1dGgvb3BlcmF0aW9ucy9sb2dpbidcbmltcG9ydCB0eXBlIHsgUmVzdWx0IGFzIFJlc2V0UGFzc3dvcmRSZXN1bHQgfSBmcm9tICcuL2F1dGgvb3BlcmF0aW9ucy9yZXNldFBhc3N3b3JkJ1xuaW1wb3J0IHR5cGUgeyBCdWxrT3BlcmF0aW9uUmVzdWx0LCBDb2xsZWN0aW9uLCBUeXBlV2l0aElEIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgQ3JlYXRlT3B0aW9ucyB9IGZyb20gJy4vY29sbGVjdGlvbnMvb3BlcmF0aW9ucy9sb2NhbC9jcmVhdGUnXG5pbXBvcnQgdHlwZSB7XG4gIEJ5SURPcHRpb25zIGFzIERlbGV0ZUJ5SURPcHRpb25zLFxuICBNYW55T3B0aW9ucyBhcyBEZWxldGVNYW55T3B0aW9ucyxcbiAgT3B0aW9ucyBhcyBEZWxldGVPcHRpb25zLFxufSBmcm9tICcuL2NvbGxlY3Rpb25zL29wZXJhdGlvbnMvbG9jYWwvZGVsZXRlJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZpbmRPcHRpb25zIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2xvY2FsL2ZpbmQnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgRmluZEJ5SURPcHRpb25zIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2xvY2FsL2ZpbmRCeUlEJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZpbmRWZXJzaW9uQnlJRE9wdGlvbnMgfSBmcm9tICcuL2NvbGxlY3Rpb25zL29wZXJhdGlvbnMvbG9jYWwvZmluZFZlcnNpb25CeUlEJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZpbmRWZXJzaW9uc09wdGlvbnMgfSBmcm9tICcuL2NvbGxlY3Rpb25zL29wZXJhdGlvbnMvbG9jYWwvZmluZFZlcnNpb25zJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIFJlc3RvcmVWZXJzaW9uT3B0aW9ucyB9IGZyb20gJy4vY29sbGVjdGlvbnMvb3BlcmF0aW9ucy9sb2NhbC9yZXN0b3JlVmVyc2lvbidcbmltcG9ydCB0eXBlIHtcbiAgQnlJRE9wdGlvbnMgYXMgVXBkYXRlQnlJRE9wdGlvbnMsXG4gIE1hbnlPcHRpb25zIGFzIFVwZGF0ZU1hbnlPcHRpb25zLFxuICBPcHRpb25zIGFzIFVwZGF0ZU9wdGlvbnMsXG59IGZyb20gJy4vY29sbGVjdGlvbnMvb3BlcmF0aW9ucy9sb2NhbC91cGRhdGUnXG5pbXBvcnQgdHlwZSB7IEVtYWlsT3B0aW9ucywgSW5pdE9wdGlvbnMsIFNhbml0aXplZENvbmZpZyB9IGZyb20gJy4vY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBCYXNlRGF0YWJhc2VBZGFwdGVyLCBQYWdpbmF0ZWREb2NzIH0gZnJvbSAnLi9kYXRhYmFzZS90eXBlcydcbmltcG9ydCB0eXBlIHsgQnVpbGRFbWFpbFJlc3VsdCB9IGZyb20gJy4vZW1haWwvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFR5cGVXaXRoSUQgYXMgR2xvYmFsVHlwZVdpdGhJRCwgR2xvYmFscyB9IGZyb20gJy4vZ2xvYmFscy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgRmluZEdsb2JhbE9wdGlvbnMgfSBmcm9tICcuL2dsb2JhbHMvb3BlcmF0aW9ucy9sb2NhbC9maW5kT25lJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZpbmRHbG9iYWxWZXJzaW9uQnlJRE9wdGlvbnMgfSBmcm9tICcuL2dsb2JhbHMvb3BlcmF0aW9ucy9sb2NhbC9maW5kVmVyc2lvbkJ5SUQnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgRmluZEdsb2JhbFZlcnNpb25zT3B0aW9ucyB9IGZyb20gJy4vZ2xvYmFscy9vcGVyYXRpb25zL2xvY2FsL2ZpbmRWZXJzaW9ucydcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBSZXN0b3JlR2xvYmFsVmVyc2lvbk9wdGlvbnMgfSBmcm9tICcuL2dsb2JhbHMvb3BlcmF0aW9ucy9sb2NhbC9yZXN0b3JlVmVyc2lvbidcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBVcGRhdGVHbG9iYWxPcHRpb25zIH0gZnJvbSAnLi9nbG9iYWxzL29wZXJhdGlvbnMvbG9jYWwvdXBkYXRlJ1xuaW1wb3J0IHR5cGUgeyBUeXBlV2l0aFZlcnNpb24gfSBmcm9tICcuL3ZlcnNpb25zL3R5cGVzJ1xuXG5pbXBvcnQgeyBkZWNyeXB0LCBlbmNyeXB0IH0gZnJvbSAnLi9hdXRoL2NyeXB0bydcbmltcG9ydCB7IEFQSUtleUF1dGhlbnRpY2F0aW9uIH0gZnJvbSAnLi9hdXRoL3N0cmF0ZWdpZXMvYXBpS2V5J1xuaW1wb3J0IHsgSldUQXV0aGVudGljYXRpb24gfSBmcm9tICcuL2F1dGgvc3RyYXRlZ2llcy9qd3QnXG5pbXBvcnQgbG9jYWxPcGVyYXRpb25zIGZyb20gJy4vY29sbGVjdGlvbnMvb3BlcmF0aW9ucy9sb2NhbCdcbmltcG9ydCBidWlsZEVtYWlsIGZyb20gJy4vZW1haWwvYnVpbGQnXG5pbXBvcnQgeyBkZWZhdWx0cyBhcyBlbWFpbERlZmF1bHRzIH0gZnJvbSAnLi9lbWFpbC9kZWZhdWx0cydcbmltcG9ydCBzZW5kRW1haWwgZnJvbSAnLi9lbWFpbC9zZW5kRW1haWwnXG5pbXBvcnQgbG9jYWxHbG9iYWxPcGVyYXRpb25zIGZyb20gJy4vZ2xvYmFscy9vcGVyYXRpb25zL2xvY2FsJ1xuaW1wb3J0IExvZ2dlciBmcm9tICcuL3V0aWxpdGllcy9sb2dnZXInXG5pbXBvcnQgeyBzZXJ2ZXJJbml0IGFzIHNlcnZlckluaXRUZWxlbWV0cnkgfSBmcm9tICcuL3V0aWxpdGllcy90ZWxlbWV0cnkvZXZlbnRzL3NlcnZlckluaXQnXG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFBheWxvYWRcbiAqL1xuZXhwb3J0IGNsYXNzIEJhc2VQYXlsb2FkPFRHZW5lcmF0ZWRUeXBlcyBleHRlbmRzIEdlbmVyYXRlZFR5cGVzPiB7XG4gIGF1dGhTdHJhdGVnaWVzOiBBdXRoU3RyYXRlZ3lbXVxuXG4gIGNvbGxlY3Rpb25zOiB7XG4gICAgW3NsdWc6IG51bWJlciB8IHN0cmluZyB8IHN5bWJvbF06IENvbGxlY3Rpb25cbiAgfSA9IHt9XG5cbiAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWdcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFBlcmZvcm1zIGNyZWF0ZSBvcGVyYXRpb25cbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgY3JlYXRlZCBkb2N1bWVudFxuICAgKi9cbiAgY3JlYXRlID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IENyZWF0ZU9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RdPiA9PiB7XG4gICAgY29uc3QgeyBjcmVhdGUgfSA9IGxvY2FsT3BlcmF0aW9uc1xuICAgIHJldHVybiBjcmVhdGU8VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIGRiOiBCYXNlRGF0YWJhc2VBZGFwdGVyXG5cbiAgZGVjcnlwdCA9IGRlY3J5cHRcblxuICBlbWFpbDogQnVpbGRFbWFpbFJlc3VsdFxuXG4gIGVtYWlsT3B0aW9uczogRW1haWxPcHRpb25zXG5cbiAgZW5jcnlwdCA9IGVuY3J5cHRcblxuICAvLyBUT0RPOiByZS1pbXBsZW1lbnQgb3IgcmVtb3ZlP1xuICAvLyBlcnJvckhhbmRsZXI6IEVycm9ySGFuZGxlclxuXG4gIGV4dGVuc2lvbnM6IChhcmdzOiB7XG4gICAgYXJnczogT3BlcmF0aW9uQXJnczxhbnk+XG4gICAgcmVxOiBncmFwaFFMUmVxdWVzdDx1bmtub3duLCB1bmtub3duPlxuICAgIHJlc3VsdDogRXhlY3V0aW9uUmVzdWx0XG4gIH0pID0+IFByb21pc2U8YW55PlxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRmluZCBkb2N1bWVudHMgd2l0aCBjcml0ZXJpYVxuICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgKiBAcmV0dXJucyBkb2N1bWVudHMgc2F0aXNmeWluZyBxdWVyeVxuICAgKi9cbiAgZmluZCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBGaW5kT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxQYWdpbmF0ZWREb2NzPFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUXT4+ID0+IHtcbiAgICBjb25zdCB7IGZpbmQgfSA9IGxvY2FsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICBmaW5kQnlJRCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBGaW5kQnlJRE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RdPiA9PiB7XG4gICAgY29uc3QgeyBmaW5kQnlJRCB9ID0gbG9jYWxPcGVyYXRpb25zXG4gICAgcmV0dXJuIGZpbmRCeUlEPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICBmaW5kR2xvYmFsID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXT4oXG4gICAgb3B0aW9uczogRmluZEdsb2JhbE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ11bVF0+ID0+IHtcbiAgICBjb25zdCB7IGZpbmRPbmUgfSA9IGxvY2FsR2xvYmFsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kT25lPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEZpbmQgZ2xvYmFsIHZlcnNpb24gYnkgSURcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgZ2xvYmFsIHZlcnNpb24gd2l0aCBzcGVjaWZpZWQgSURcbiAgICovXG4gIGZpbmRHbG9iYWxWZXJzaW9uQnlJRCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ10+KFxuICAgIG9wdGlvbnM6IEZpbmRHbG9iYWxWZXJzaW9uQnlJRE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VHlwZVdpdGhWZXJzaW9uPFRHZW5lcmF0ZWRUeXBlc1snZ2xvYmFscyddW1RdPj4gPT4ge1xuICAgIGNvbnN0IHsgZmluZFZlcnNpb25CeUlEIH0gPSBsb2NhbEdsb2JhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gZmluZFZlcnNpb25CeUlEPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEZpbmQgZ2xvYmFsIHZlcnNpb25zIHdpdGggY3JpdGVyaWFcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgdmVyc2lvbnMgc2F0aXNmeWluZyBxdWVyeVxuICAgKi9cbiAgZmluZEdsb2JhbFZlcnNpb25zID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXT4oXG4gICAgb3B0aW9uczogRmluZEdsb2JhbFZlcnNpb25zT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxQYWdpbmF0ZWREb2NzPFR5cGVXaXRoVmVyc2lvbjxUR2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXVtUXT4+PiA9PiB7XG4gICAgY29uc3QgeyBmaW5kVmVyc2lvbnMgfSA9IGxvY2FsR2xvYmFsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kVmVyc2lvbnM8VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRmluZCB2ZXJzaW9uIGJ5IElEXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqIEByZXR1cm5zIHZlcnNpb24gd2l0aCBzcGVjaWZpZWQgSURcbiAgICovXG4gIGZpbmRWZXJzaW9uQnlJRCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBGaW5kVmVyc2lvbkJ5SURPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPFR5cGVXaXRoVmVyc2lvbjxUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0+PiA9PiB7XG4gICAgY29uc3QgeyBmaW5kVmVyc2lvbkJ5SUQgfSA9IGxvY2FsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kVmVyc2lvbkJ5SUQ8VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRmluZCB2ZXJzaW9ucyB3aXRoIGNyaXRlcmlhXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqIEByZXR1cm5zIHZlcnNpb25zIHNhdGlzZnlpbmcgcXVlcnlcbiAgICovXG4gIGZpbmRWZXJzaW9ucyA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBGaW5kVmVyc2lvbnNPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPFBhZ2luYXRlZERvY3M8VHlwZVdpdGhWZXJzaW9uPFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUXT4+PiA9PiB7XG4gICAgY29uc3QgeyBmaW5kVmVyc2lvbnMgfSA9IGxvY2FsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kVmVyc2lvbnM8VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIGZvcmdvdFBhc3N3b3JkID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IEZvcmdvdFBhc3N3b3JkT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxGb3Jnb3RQYXNzd29yZFJlc3VsdD4gPT4ge1xuICAgIGNvbnN0IHsgZm9yZ290UGFzc3dvcmQgfSA9IGxvY2FsT3BlcmF0aW9ucy5hdXRoXG4gICAgcmV0dXJuIGZvcmdvdFBhc3N3b3JkPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICBnZXRBUElVUkwgPSAoKTogc3RyaW5nID0+IGAke3RoaXMuY29uZmlnLnNlcnZlclVSTH0ke3RoaXMuY29uZmlnLnJvdXRlcy5hcGl9YFxuXG4gIGdldEFkbWluVVJMID0gKCk6IHN0cmluZyA9PiBgJHt0aGlzLmNvbmZpZy5zZXJ2ZXJVUkx9JHt0aGlzLmNvbmZpZy5yb3V0ZXMuYWRtaW59YFxuXG4gIGdsb2JhbHM6IEdsb2JhbHNcblxuICBsb2dnZXI6IHBpbm8uTG9nZ2VyXG5cbiAgbG9naW4gPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogTG9naW5PcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPExvZ2luUmVzdWx0ICYgeyB1c2VyOiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0gfT4gPT4ge1xuICAgIGNvbnN0IHsgbG9naW4gfSA9IGxvY2FsT3BlcmF0aW9ucy5hdXRoXG4gICAgcmV0dXJuIGxvZ2luPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEZpbmQgZG9jdW1lbnQgYnkgSURcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgZG9jdW1lbnQgd2l0aCBzcGVjaWZpZWQgSURcbiAgICovXG5cbiAgcmVzZXRQYXNzd29yZCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBSZXNldFBhc3N3b3JkT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxSZXNldFBhc3N3b3JkUmVzdWx0PiA9PiB7XG4gICAgY29uc3QgeyByZXNldFBhc3N3b3JkIH0gPSBsb2NhbE9wZXJhdGlvbnMuYXV0aFxuICAgIHJldHVybiByZXNldFBhc3N3b3JkPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlc3RvcmUgZ2xvYmFsIHZlcnNpb24gYnkgSURcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgdmVyc2lvbiB3aXRoIHNwZWNpZmllZCBJRFxuICAgKi9cbiAgcmVzdG9yZUdsb2JhbFZlcnNpb24gPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snZ2xvYmFscyddPihcbiAgICBvcHRpb25zOiBSZXN0b3JlR2xvYmFsVmVyc2lvbk9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ11bVF0+ID0+IHtcbiAgICBjb25zdCB7IHJlc3RvcmVWZXJzaW9uIH0gPSBsb2NhbEdsb2JhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gcmVzdG9yZVZlcnNpb248VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmVzdG9yZSB2ZXJzaW9uIGJ5IElEXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqIEByZXR1cm5zIHZlcnNpb24gd2l0aCBzcGVjaWZpZWQgSURcbiAgICovXG4gIHJlc3RvcmVWZXJzaW9uID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IFJlc3RvcmVWZXJzaW9uT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0+ID0+IHtcbiAgICBjb25zdCB7IHJlc3RvcmVWZXJzaW9uIH0gPSBsb2NhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gcmVzdG9yZVZlcnNpb248VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIHNjaGVtYTogR3JhcGhRTFNjaGVtYVxuXG4gIHNlY3JldDogc3RyaW5nXG5cbiAgc2VuZEVtYWlsOiAobWVzc2FnZTogU2VuZE1haWxPcHRpb25zKSA9PiBQcm9taXNlPHVua25vd24+XG5cbiAgdHlwZXM6IHtcbiAgICBhcnJheVR5cGVzOiBhbnlcbiAgICBibG9ja0lucHV0VHlwZXM6IGFueVxuICAgIGJsb2NrVHlwZXM6IGFueVxuICAgIGZhbGxiYWNrTG9jYWxlSW5wdXRUeXBlPzogYW55XG4gICAgZ3JvdXBUeXBlczogYW55XG4gICAgbG9jYWxlSW5wdXRUeXBlPzogYW55XG4gICAgdGFiVHlwZXM6IGFueVxuICB9XG5cbiAgdW5sb2NrID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IFVubG9ja09wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8Ym9vbGVhbj4gPT4ge1xuICAgIGNvbnN0IHsgdW5sb2NrIH0gPSBsb2NhbE9wZXJhdGlvbnMuYXV0aFxuICAgIHJldHVybiB1bmxvY2sodGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIHVwZGF0ZUdsb2JhbCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ10+KFxuICAgIG9wdGlvbnM6IFVwZGF0ZUdsb2JhbE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ11bVF0+ID0+IHtcbiAgICBjb25zdCB7IHVwZGF0ZSB9ID0gbG9jYWxHbG9iYWxPcGVyYXRpb25zXG4gICAgcmV0dXJuIHVwZGF0ZTxUPih0aGlzLCBvcHRpb25zKVxuICB9XG5cbiAgdmFsaWRhdGlvblJ1bGVzOiAoYXJnczogT3BlcmF0aW9uQXJnczxhbnk+KSA9PiBWYWxpZGF0aW9uUnVsZVtdXG5cbiAgdmVyaWZ5RW1haWwgPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogVmVyaWZ5RW1haWxPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcbiAgICBjb25zdCB7IHZlcmlmeUVtYWlsIH0gPSBsb2NhbE9wZXJhdGlvbnMuYXV0aFxuICAgIHJldHVybiB2ZXJpZnlFbWFpbCh0aGlzLCBvcHRpb25zKVxuICB9XG5cbiAgdmVyc2lvbnM6IHtcbiAgICBbc2x1Zzogc3RyaW5nXTogYW55IC8vIFRPRE86IFR5cGUgdGhpc1xuICB9ID0ge31cblxuICBkZWxldGU8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogRGVsZXRlT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxCdWxrT3BlcmF0aW9uUmVzdWx0PFQ+IHwgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RdPiB7XG4gICAgY29uc3QgeyBkZWxldGVMb2NhbCB9ID0gbG9jYWxPcGVyYXRpb25zXG4gICAgcmV0dXJuIGRlbGV0ZUxvY2FsPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvbmUgb3IgbW9yZSBkb2N1bWVudHNcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgVXBkYXRlZCBkb2N1bWVudChzKVxuICAgKi9cbiAgZGVsZXRlPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IERlbGV0ZUJ5SURPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUXT5cblxuICBkZWxldGU8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogRGVsZXRlTWFueU9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8QnVsa09wZXJhdGlvblJlc3VsdDxUPj5cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEluaXRpYWxpemVzIFBheWxvYWRcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICovXG4gIC8vIEB0cy1leHBlY3QtZXJyb3IgLy8gVE9ETzogVHlwZVNjcmlwdCBoYWxsdWNpbmF0aW5nIGFnYWluLiBmaXggbGF0ZXJcbiAgYXN5bmMgaW5pdChvcHRpb25zOiBJbml0T3B0aW9ucyk6IFByb21pc2U8UGF5bG9hZD4ge1xuICAgIHRoaXMubG9nZ2VyID0gTG9nZ2VyKCdwYXlsb2FkJywgb3B0aW9ucy5sb2dnZXJPcHRpb25zLCBvcHRpb25zLmxvZ2dlckRlc3RpbmF0aW9uKVxuXG4gICAgdGhpcy5jb25maWcgPSBhd2FpdCBvcHRpb25zLmNvbmZpZ1xuXG4gICAgaWYgKCF0aGlzLmNvbmZpZy5zZWNyZXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRXJyb3I6IG1pc3Npbmcgc2VjcmV0IGtleS4gQSBzZWNyZXQga2V5IGlzIG5lZWRlZCB0byBzZWN1cmUgUGF5bG9hZC4nKVxuICAgIH1cblxuICAgIHRoaXMuc2VjcmV0ID0gY3J5cHRvLmNyZWF0ZUhhc2goJ3NoYTI1NicpLnVwZGF0ZSh0aGlzLmNvbmZpZy5zZWNyZXQpLmRpZ2VzdCgnaGV4Jykuc2xpY2UoMCwgMzIpXG5cbiAgICB0aGlzLmdsb2JhbHMgPSB7XG4gICAgICBjb25maWc6IHRoaXMuY29uZmlnLmdsb2JhbHMsXG4gICAgfVxuICAgIHRoaXMuY29uZmlnLmNvbGxlY3Rpb25zLmZvckVhY2goKGNvbGxlY3Rpb24pID0+IHtcbiAgICAgIHRoaXMuY29sbGVjdGlvbnNbY29sbGVjdGlvbi5zbHVnXSA9IHtcbiAgICAgICAgY29uZmlnOiBjb2xsZWN0aW9uLFxuICAgICAgfVxuICAgIH0pXG5cbiAgICB0aGlzLmRiID0gdGhpcy5jb25maWcuZGIuaW5pdCh7IHBheWxvYWQ6IHRoaXMgfSlcbiAgICB0aGlzLmRiLnBheWxvYWQgPSB0aGlzXG5cbiAgICBpZiAodGhpcy5kYj8uaW5pdCkge1xuICAgICAgYXdhaXQgdGhpcy5kYi5pbml0KHRoaXMpXG4gICAgfVxuXG4gICAgaWYgKCFvcHRpb25zLmRpc2FibGVEQkNvbm5lY3QgJiYgdGhpcy5kYi5jb25uZWN0KSB7XG4gICAgICBhd2FpdCB0aGlzLmRiLmNvbm5lY3QodGhpcylcbiAgICB9XG5cbiAgICB0aGlzLmxvZ2dlci5pbmZvKCdTdGFydGluZyBQYXlsb2FkLi4uJylcblxuICAgIC8vIENvbmZpZ3VyZSBlbWFpbCBzZXJ2aWNlXG4gICAgY29uc3QgZW1haWxPcHRpb25zID0gb3B0aW9ucy5lbWFpbCA/IHsgLi4ub3B0aW9ucy5lbWFpbCB9IDogdGhpcy5jb25maWcuZW1haWxcbiAgICBpZiAob3B0aW9ucy5lbWFpbCAmJiB0aGlzLmNvbmZpZy5lbWFpbCkge1xuICAgICAgdGhpcy5sb2dnZXIud2FybihcbiAgICAgICAgJ0VtYWlsIG9wdGlvbnMgcHJvdmlkZWQgaW4gYm90aCBpbml0IG9wdGlvbnMgYW5kIGNvbmZpZy4gVXNpbmcgaW5pdCBvcHRpb25zLicsXG4gICAgICApXG4gICAgfVxuXG4gICAgdGhpcy5lbWFpbE9wdGlvbnMgPSBlbWFpbE9wdGlvbnMgPz8gZW1haWxEZWZhdWx0c1xuICAgIHRoaXMuZW1haWwgPSBidWlsZEVtYWlsKHRoaXMuZW1haWxPcHRpb25zLCB0aGlzLmxvZ2dlcilcbiAgICB0aGlzLnNlbmRFbWFpbCA9IHNlbmRFbWFpbC5iaW5kKHRoaXMpXG5cbiAgICBzZXJ2ZXJJbml0VGVsZW1ldHJ5KHRoaXMpXG5cbiAgICAvLyAxLiBsb29wIG92ZXIgY29sbGVjdGlvbnMsIGlmIGNvbGxlY3Rpb24gaGFzIGF1dGggc3RyYXRlZ3ksIGluaXRpYWxpemUgYW5kIHB1c2ggdG8gYXJyYXlcbiAgICBsZXQgand0U3RyYXRlZ3lFbmFibGVkID0gZmFsc2VcbiAgICB0aGlzLmF1dGhTdHJhdGVnaWVzID0gdGhpcy5jb25maWcuY29sbGVjdGlvbnMucmVkdWNlKChhdXRoU3RyYXRlZ2llcywgY29sbGVjdGlvbikgPT4ge1xuICAgICAgaWYgKGNvbGxlY3Rpb24/LmF1dGgpIHtcbiAgICAgICAgaWYgKGNvbGxlY3Rpb24uYXV0aC5zdHJhdGVnaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBhdXRoU3RyYXRlZ2llcy5wdXNoKC4uLmNvbGxlY3Rpb24uYXV0aC5zdHJhdGVnaWVzKVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gMi4gaWYgYXBpIGtleSBlbmFibGVkLCBwdXNoIGFwaSBrZXkgc3RyYXRlZ3kgaW50byB0aGUgYXJyYXlcbiAgICAgICAgaWYgKGNvbGxlY3Rpb24uYXV0aD8udXNlQVBJS2V5KSB7XG4gICAgICAgICAgYXV0aFN0cmF0ZWdpZXMucHVzaCh7XG4gICAgICAgICAgICBuYW1lOiBgJHtjb2xsZWN0aW9uLnNsdWd9LWFwaS1rZXlgLFxuICAgICAgICAgICAgYXV0aGVudGljYXRlOiBBUElLZXlBdXRoZW50aWNhdGlvbihjb2xsZWN0aW9uKSxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gMy4gaWYgbG9jYWxTdHJhdGVneSBmbGFnIGlzIHRydWVcbiAgICAgICAgaWYgKCFjb2xsZWN0aW9uLmF1dGguZGlzYWJsZUxvY2FsU3RyYXRlZ3kgJiYgIWp3dFN0cmF0ZWd5RW5hYmxlZCkge1xuICAgICAgICAgIGp3dFN0cmF0ZWd5RW5hYmxlZCA9IHRydWVcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gYXV0aFN0cmF0ZWdpZXNcbiAgICB9LCBbXSBhcyBBdXRoU3RyYXRlZ3lbXSlcblxuICAgIC8vIDQuIGlmIGVuYWJsZWQsIHB1c2ggand0IHN0cmF0ZWd5IGludG8gYXV0aFN0cmF0ZWdpZXMgbGFzdFxuICAgIGlmIChqd3RTdHJhdGVneUVuYWJsZWQpIHtcbiAgICAgIHRoaXMuYXV0aFN0cmF0ZWdpZXMucHVzaCh7XG4gICAgICAgIG5hbWU6ICdsb2NhbC1qd3QnLFxuICAgICAgICBhdXRoZW50aWNhdGU6IEpXVEF1dGhlbnRpY2F0aW9uLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICBpZiAoIW9wdGlvbnMuZGlzYWJsZU9uSW5pdCkge1xuICAgICAgaWYgKHR5cGVvZiBvcHRpb25zLm9uSW5pdCA9PT0gJ2Z1bmN0aW9uJykgYXdhaXQgb3B0aW9ucy5vbkluaXQodGhpcylcbiAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWcub25Jbml0ID09PSAnZnVuY3Rpb24nKSBhd2FpdCB0aGlzLmNvbmZpZy5vbkluaXQodGhpcylcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgdXBkYXRlPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IFVwZGF0ZU1hbnlPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPEJ1bGtPcGVyYXRpb25SZXN1bHQ8VD4+XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBVcGRhdGUgb25lIG9yIG1vcmUgZG9jdW1lbnRzXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqIEByZXR1cm5zIFVwZGF0ZWQgZG9jdW1lbnQocylcbiAgICovXG4gIHVwZGF0ZTxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBVcGRhdGVCeUlET3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0+XG5cbiAgdXBkYXRlPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IFVwZGF0ZU9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8QnVsa09wZXJhdGlvblJlc3VsdDxUPiB8IFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUXT4ge1xuICAgIGNvbnN0IHsgdXBkYXRlIH0gPSBsb2NhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gdXBkYXRlPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cbn1cblxuY29uc3QgaW5pdGlhbGl6ZWQgPSBuZXcgQmFzZVBheWxvYWQoKVxuXG5leHBvcnQgZGVmYXVsdCBpbml0aWFsaXplZFxuXG5sZXQgY2FjaGVkID0gZ2xvYmFsLl9wYXlsb2FkXG5cbmlmICghY2FjaGVkKSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1tdWx0aS1hc3NpZ25cbiAgY2FjaGVkID0gZ2xvYmFsLl9wYXlsb2FkID0geyBwYXlsb2FkOiBudWxsLCBwcm9taXNlOiBudWxsIH1cbn1cblxuZXhwb3J0IGNvbnN0IGdldFBheWxvYWQgPSBhc3luYyAob3B0aW9ucz86IEluaXRPcHRpb25zKTogUHJvbWlzZTxCYXNlUGF5bG9hZDxHZW5lcmF0ZWRUeXBlcz4+ID0+IHtcbiAgaWYgKGNhY2hlZC5wYXlsb2FkKSB7XG4gICAgcmV0dXJuIGNhY2hlZC5wYXlsb2FkXG4gIH1cblxuICBpZiAoIWNhY2hlZC5wcm9taXNlKSB7XG4gICAgY2FjaGVkLnByb21pc2UgPSBuZXcgQmFzZVBheWxvYWQ8R2VuZXJhdGVkVHlwZXM+KCkuaW5pdChvcHRpb25zKVxuICB9XG5cbiAgdHJ5IHtcbiAgICBjYWNoZWQucGF5bG9hZCA9IGF3YWl0IGNhY2hlZC5wcm9taXNlXG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjYWNoZWQucHJvbWlzZSA9IG51bGxcbiAgICB0aHJvdyBlXG4gIH1cblxuICByZXR1cm4gY2FjaGVkLnBheWxvYWRcbn1cblxudHlwZSBHZW5lcmF0ZWRUeXBlcyA9IHtcbiAgY29sbGVjdGlvbnM6IHtcbiAgICBbc2x1ZzogbnVtYmVyIHwgc3RyaW5nIHwgc3ltYm9sXTogVHlwZVdpdGhJRCAmIFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIH1cbiAgZ2xvYmFsczoge1xuICAgIFtzbHVnOiBudW1iZXIgfCBzdHJpbmcgfCBzeW1ib2xdOiBHbG9iYWxUeXBlV2l0aElEICYgUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgfVxufVxuXG50eXBlIFBheWxvYWQgPSBCYXNlUGF5bG9hZDxHZW5lcmF0ZWRUeXBlcz5cblxuaW50ZXJmYWNlIFJlcXVlc3RDb250ZXh0IHtcbiAgW2tleTogc3RyaW5nXTogdW5rbm93blxufVxuXG4vLyB0eXBlIERhdGFiYXNlQWRhcHRlciA9IEJhc2VEYXRhYmFzZUFkYXB0ZXJcblxuZXhwb3J0IHR5cGUgeyBHZW5lcmF0ZWRUeXBlcywgUGF5bG9hZCwgUmVxdWVzdENvbnRleHQgfVxuIl0sIm5hbWVzIjpbIkJhc2VQYXlsb2FkIiwiZ2V0UGF5bG9hZCIsImF1dGhTdHJhdGVnaWVzIiwiY29sbGVjdGlvbnMiLCJjb25maWciLCJjcmVhdGUiLCJvcHRpb25zIiwibG9jYWxPcGVyYXRpb25zIiwiZGIiLCJkZWNyeXB0IiwiZW1haWwiLCJlbWFpbE9wdGlvbnMiLCJlbmNyeXB0IiwiZXh0ZW5zaW9ucyIsImZpbmQiLCJmaW5kQnlJRCIsImZpbmRHbG9iYWwiLCJmaW5kT25lIiwibG9jYWxHbG9iYWxPcGVyYXRpb25zIiwiZmluZEdsb2JhbFZlcnNpb25CeUlEIiwiZmluZFZlcnNpb25CeUlEIiwiZmluZEdsb2JhbFZlcnNpb25zIiwiZmluZFZlcnNpb25zIiwiZm9yZ290UGFzc3dvcmQiLCJhdXRoIiwiZ2V0QVBJVVJMIiwic2VydmVyVVJMIiwicm91dGVzIiwiYXBpIiwiZ2V0QWRtaW5VUkwiLCJhZG1pbiIsImdsb2JhbHMiLCJsb2dnZXIiLCJsb2dpbiIsInJlc2V0UGFzc3dvcmQiLCJyZXN0b3JlR2xvYmFsVmVyc2lvbiIsInJlc3RvcmVWZXJzaW9uIiwic2NoZW1hIiwic2VjcmV0Iiwic2VuZEVtYWlsIiwidHlwZXMiLCJ1bmxvY2siLCJ1cGRhdGVHbG9iYWwiLCJ1cGRhdGUiLCJ2YWxpZGF0aW9uUnVsZXMiLCJ2ZXJpZnlFbWFpbCIsInZlcnNpb25zIiwiZGVsZXRlIiwiZGVsZXRlTG9jYWwiLCJpbml0IiwiTG9nZ2VyIiwibG9nZ2VyT3B0aW9ucyIsImxvZ2dlckRlc3RpbmF0aW9uIiwiRXJyb3IiLCJjcnlwdG8iLCJjcmVhdGVIYXNoIiwiZGlnZXN0Iiwic2xpY2UiLCJmb3JFYWNoIiwiY29sbGVjdGlvbiIsInNsdWciLCJwYXlsb2FkIiwiZGlzYWJsZURCQ29ubmVjdCIsImNvbm5lY3QiLCJpbmZvIiwid2FybiIsImVtYWlsRGVmYXVsdHMiLCJidWlsZEVtYWlsIiwiYmluZCIsInNlcnZlckluaXRUZWxlbWV0cnkiLCJqd3RTdHJhdGVneUVuYWJsZWQiLCJyZWR1Y2UiLCJzdHJhdGVnaWVzIiwibGVuZ3RoIiwicHVzaCIsInVzZUFQSUtleSIsIm5hbWUiLCJhdXRoZW50aWNhdGUiLCJBUElLZXlBdXRoZW50aWNhdGlvbiIsImRpc2FibGVMb2NhbFN0cmF0ZWd5IiwiSldUQXV0aGVudGljYXRpb24iLCJkaXNhYmxlT25Jbml0Iiwib25Jbml0IiwiaW5pdGlhbGl6ZWQiLCJjYWNoZWQiLCJnbG9iYWwiLCJfcGF5bG9hZCIsInByb21pc2UiLCJlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQTBEYUEsV0FBVztlQUFYQTs7SUFnV2IsT0FBMEI7ZUFBMUI7O0lBU2FDLFVBQVU7ZUFBVkE7OzsrREE5Wk07eUJBdUNjO3dCQUNJO3FCQUNIOzhEQUNOOzhEQUNMOzBCQUNtQjtrRUFDcEI7K0RBQ1k7K0RBQ2Y7NEJBQytCOzs7Ozs7QUFLM0MsTUFBTUQ7SUFDWEUsZUFBOEI7SUFFOUJDLGNBRUksQ0FBQyxFQUFDO0lBRU5DLE9BQXVCO0lBRXZCOzs7O0dBSUMsR0FDREMsU0FBUyxPQUNQQztRQUVBLE1BQU0sRUFBRUQsTUFBTSxFQUFFLEdBQUdFLGNBQWU7UUFDbEMsT0FBT0YsT0FBVSxJQUFJLEVBQUVDO0lBQ3pCLEVBQUM7SUFFREUsR0FBdUI7SUFFdkJDLFVBQVVBLGdCQUFPLENBQUE7SUFFakJDLE1BQXVCO0lBRXZCQyxhQUEwQjtJQUUxQkMsVUFBVUEsZ0JBQU8sQ0FBQTtJQUVqQixnQ0FBZ0M7SUFDaEMsNkJBQTZCO0lBRTdCQyxXQUlrQjtJQUVsQjs7OztHQUlDLEdBQ0RDLE9BQU8sT0FDTFI7UUFFQSxNQUFNLEVBQUVRLElBQUksRUFBRSxHQUFHUCxjQUFlO1FBQ2hDLE9BQU9PLEtBQVEsSUFBSSxFQUFFUjtJQUN2QixFQUFDO0lBRURTLFdBQVcsT0FDVFQ7UUFFQSxNQUFNLEVBQUVTLFFBQVEsRUFBRSxHQUFHUixjQUFlO1FBQ3BDLE9BQU9RLFNBQVksSUFBSSxFQUFFVDtJ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
|
|
249
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEV4ZWN1dGlvblJlc3VsdCwgR3JhcGhRTFNjaGVtYSwgVmFsaWRhdGlvblJ1bGUgfSBmcm9tICdncmFwaHFsJ1xuaW1wb3J0IHR5cGUgeyBPcGVyYXRpb25BcmdzLCBSZXF1ZXN0IGFzIGdyYXBoUUxSZXF1ZXN0IH0gZnJvbSAnZ3JhcGhxbC1odHRwJ1xuaW1wb3J0IHR5cGUgeyBTZW5kTWFpbE9wdGlvbnMgfSBmcm9tICdub2RlbWFpbGVyJ1xuaW1wb3J0IHR5cGUgcGlubyBmcm9tICdwaW5vJ1xuXG5pbXBvcnQgY3J5cHRvIGZyb20gJ2NyeXB0bydcblxuaW1wb3J0IHR5cGUgeyBSZXN1bHQgYXMgRm9yZ290UGFzc3dvcmRSZXN1bHQgfSBmcm9tICcuL2F1dGgvb3BlcmF0aW9ucy9mb3Jnb3RQYXNzd29yZC5qcydcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBGb3Jnb3RQYXNzd29yZE9wdGlvbnMgfSBmcm9tICcuL2F1dGgvb3BlcmF0aW9ucy9sb2NhbC9mb3Jnb3RQYXNzd29yZC5qcydcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBMb2dpbk9wdGlvbnMgfSBmcm9tICcuL2F1dGgvb3BlcmF0aW9ucy9sb2NhbC9sb2dpbi5qcydcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBSZXNldFBhc3N3b3JkT3B0aW9ucyB9IGZyb20gJy4vYXV0aC9vcGVyYXRpb25zL2xvY2FsL3Jlc2V0UGFzc3dvcmQuanMnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgVW5sb2NrT3B0aW9ucyB9IGZyb20gJy4vYXV0aC9vcGVyYXRpb25zL2xvY2FsL3VubG9jay5qcydcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBWZXJpZnlFbWFpbE9wdGlvbnMgfSBmcm9tICcuL2F1dGgvb3BlcmF0aW9ucy9sb2NhbC92ZXJpZnlFbWFpbC5qcydcbmltcG9ydCB0eXBlIHsgUmVzdWx0IGFzIExvZ2luUmVzdWx0IH0gZnJvbSAnLi9hdXRoL29wZXJhdGlvbnMvbG9naW4uanMnXG5pbXBvcnQgdHlwZSB7IFJlc3VsdCBhcyBSZXNldFBhc3N3b3JkUmVzdWx0IH0gZnJvbSAnLi9hdXRoL29wZXJhdGlvbnMvcmVzZXRQYXNzd29yZC5qcydcbmltcG9ydCB0eXBlIHsgQXV0aFN0cmF0ZWd5IH0gZnJvbSAnLi9hdXRoL3R5cGVzLmpzJ1xuaW1wb3J0IHR5cGUgeyBCdWxrT3BlcmF0aW9uUmVzdWx0LCBDb2xsZWN0aW9uLCBUeXBlV2l0aElEIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMuanMnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgQ3JlYXRlT3B0aW9ucyB9IGZyb20gJy4vY29sbGVjdGlvbnMvb3BlcmF0aW9ucy9sb2NhbC9jcmVhdGUuanMnXG5pbXBvcnQgdHlwZSB7XG4gIEJ5SURPcHRpb25zIGFzIERlbGV0ZUJ5SURPcHRpb25zLFxuICBNYW55T3B0aW9ucyBhcyBEZWxldGVNYW55T3B0aW9ucyxcbiAgT3B0aW9ucyBhcyBEZWxldGVPcHRpb25zLFxufSBmcm9tICcuL2NvbGxlY3Rpb25zL29wZXJhdGlvbnMvbG9jYWwvZGVsZXRlLmpzJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZpbmRPcHRpb25zIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2xvY2FsL2ZpbmQuanMnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgRmluZEJ5SURPcHRpb25zIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2xvY2FsL2ZpbmRCeUlELmpzJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZpbmRWZXJzaW9uQnlJRE9wdGlvbnMgfSBmcm9tICcuL2NvbGxlY3Rpb25zL29wZXJhdGlvbnMvbG9jYWwvZmluZFZlcnNpb25CeUlELmpzJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZpbmRWZXJzaW9uc09wdGlvbnMgfSBmcm9tICcuL2NvbGxlY3Rpb25zL29wZXJhdGlvbnMvbG9jYWwvZmluZFZlcnNpb25zLmpzJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIFJlc3RvcmVWZXJzaW9uT3B0aW9ucyB9IGZyb20gJy4vY29sbGVjdGlvbnMvb3BlcmF0aW9ucy9sb2NhbC9yZXN0b3JlVmVyc2lvbi5qcydcbmltcG9ydCB0eXBlIHtcbiAgQnlJRE9wdGlvbnMgYXMgVXBkYXRlQnlJRE9wdGlvbnMsXG4gIE1hbnlPcHRpb25zIGFzIFVwZGF0ZU1hbnlPcHRpb25zLFxuICBPcHRpb25zIGFzIFVwZGF0ZU9wdGlvbnMsXG59IGZyb20gJy4vY29sbGVjdGlvbnMvb3BlcmF0aW9ucy9sb2NhbC91cGRhdGUuanMnXG5pbXBvcnQgdHlwZSB7IEVtYWlsT3B0aW9ucywgSW5pdE9wdGlvbnMsIFNhbml0aXplZENvbmZpZyB9IGZyb20gJy4vY29uZmlnL3R5cGVzLmpzJ1xuaW1wb3J0IHR5cGUgeyBCYXNlRGF0YWJhc2VBZGFwdGVyLCBQYWdpbmF0ZWREb2NzIH0gZnJvbSAnLi9kYXRhYmFzZS90eXBlcy5qcydcbmltcG9ydCB0eXBlIHsgQnVpbGRFbWFpbFJlc3VsdCB9IGZyb20gJy4vZW1haWwvdHlwZXMuanMnXG5pbXBvcnQgdHlwZSB7IFR5cGVXaXRoSUQgYXMgR2xvYmFsVHlwZVdpdGhJRCwgR2xvYmFscyB9IGZyb20gJy4vZ2xvYmFscy9jb25maWcvdHlwZXMuanMnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgRmluZEdsb2JhbE9wdGlvbnMgfSBmcm9tICcuL2dsb2JhbHMvb3BlcmF0aW9ucy9sb2NhbC9maW5kT25lLmpzJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZpbmRHbG9iYWxWZXJzaW9uQnlJRE9wdGlvbnMgfSBmcm9tICcuL2dsb2JhbHMvb3BlcmF0aW9ucy9sb2NhbC9maW5kVmVyc2lvbkJ5SUQuanMnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgRmluZEdsb2JhbFZlcnNpb25zT3B0aW9ucyB9IGZyb20gJy4vZ2xvYmFscy9vcGVyYXRpb25zL2xvY2FsL2ZpbmRWZXJzaW9ucy5qcydcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBSZXN0b3JlR2xvYmFsVmVyc2lvbk9wdGlvbnMgfSBmcm9tICcuL2dsb2JhbHMvb3BlcmF0aW9ucy9sb2NhbC9yZXN0b3JlVmVyc2lvbi5qcydcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBVcGRhdGVHbG9iYWxPcHRpb25zIH0gZnJvbSAnLi9nbG9iYWxzL29wZXJhdGlvbnMvbG9jYWwvdXBkYXRlLmpzJ1xuaW1wb3J0IHR5cGUgeyBUeXBlV2l0aFZlcnNpb24gfSBmcm9tICcuL3ZlcnNpb25zL3R5cGVzLmpzJ1xuXG5pbXBvcnQgeyBkZWNyeXB0LCBlbmNyeXB0IH0gZnJvbSAnLi9hdXRoL2NyeXB0by5qcydcbmltcG9ydCB7IEFQSUtleUF1dGhlbnRpY2F0aW9uIH0gZnJvbSAnLi9hdXRoL3N0cmF0ZWdpZXMvYXBpS2V5LmpzJ1xuaW1wb3J0IHsgSldUQXV0aGVudGljYXRpb24gfSBmcm9tICcuL2F1dGgvc3RyYXRlZ2llcy9qd3QuanMnXG5pbXBvcnQgbG9jYWxPcGVyYXRpb25zIGZyb20gJy4vY29sbGVjdGlvbnMvb3BlcmF0aW9ucy9sb2NhbC9pbmRleC5qcydcbmltcG9ydCB2YWxpZGF0ZSBmcm9tICcuL2NvbmZpZy92YWxpZGF0ZS5qcydcbmltcG9ydCBidWlsZEVtYWlsIGZyb20gJy4vZW1haWwvYnVpbGQuanMnXG5pbXBvcnQgeyBkZWZhdWx0cyBhcyBlbWFpbERlZmF1bHRzIH0gZnJvbSAnLi9lbWFpbC9kZWZhdWx0cy5qcydcbmltcG9ydCBzZW5kRW1haWwgZnJvbSAnLi9lbWFpbC9zZW5kRW1haWwuanMnXG5pbXBvcnQgbG9jYWxHbG9iYWxPcGVyYXRpb25zIGZyb20gJy4vZ2xvYmFscy9vcGVyYXRpb25zL2xvY2FsL2luZGV4LmpzJ1xuaW1wb3J0IExvZ2dlciBmcm9tICcuL3V0aWxpdGllcy9sb2dnZXIuanMnXG5pbXBvcnQgeyBzZXJ2ZXJJbml0IGFzIHNlcnZlckluaXRUZWxlbWV0cnkgfSBmcm9tICcuL3V0aWxpdGllcy90ZWxlbWV0cnkvZXZlbnRzL3NlcnZlckluaXQuanMnXG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFBheWxvYWRcbiAqL1xuZXhwb3J0IGNsYXNzIEJhc2VQYXlsb2FkPFRHZW5lcmF0ZWRUeXBlcyBleHRlbmRzIEdlbmVyYXRlZFR5cGVzPiB7XG4gIGF1dGhTdHJhdGVnaWVzOiBBdXRoU3RyYXRlZ3lbXVxuXG4gIGNvbGxlY3Rpb25zOiB7XG4gICAgW3NsdWc6IG51bWJlciB8IHN0cmluZyB8IHN5bWJvbF06IENvbGxlY3Rpb25cbiAgfSA9IHt9XG5cbiAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWdcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFBlcmZvcm1zIGNyZWF0ZSBvcGVyYXRpb25cbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgY3JlYXRlZCBkb2N1bWVudFxuICAgKi9cbiAgY3JlYXRlID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IENyZWF0ZU9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RdPiA9PiB7XG4gICAgY29uc3QgeyBjcmVhdGUgfSA9IGxvY2FsT3BlcmF0aW9uc1xuICAgIHJldHVybiBjcmVhdGU8VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIGRiOiBCYXNlRGF0YWJhc2VBZGFwdGVyXG5cbiAgZGVjcnlwdCA9IGRlY3J5cHRcblxuICBlbWFpbDogQnVpbGRFbWFpbFJlc3VsdFxuXG4gIGVtYWlsT3B0aW9uczogRW1haWxPcHRpb25zXG5cbiAgZW5jcnlwdCA9IGVuY3J5cHRcblxuICAvLyBUT0RPOiByZS1pbXBsZW1lbnQgb3IgcmVtb3ZlP1xuICAvLyBlcnJvckhhbmRsZXI6IEVycm9ySGFuZGxlclxuXG4gIGV4dGVuc2lvbnM6IChhcmdzOiB7XG4gICAgYXJnczogT3BlcmF0aW9uQXJnczxhbnk+XG4gICAgcmVxOiBncmFwaFFMUmVxdWVzdDx1bmtub3duLCB1bmtub3duPlxuICAgIHJlc3VsdDogRXhlY3V0aW9uUmVzdWx0XG4gIH0pID0+IFByb21pc2U8YW55PlxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRmluZCBkb2N1bWVudHMgd2l0aCBjcml0ZXJpYVxuICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgKiBAcmV0dXJucyBkb2N1bWVudHMgc2F0aXNmeWluZyBxdWVyeVxuICAgKi9cbiAgZmluZCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBGaW5kT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxQYWdpbmF0ZWREb2NzPFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUXT4+ID0+IHtcbiAgICBjb25zdCB7IGZpbmQgfSA9IGxvY2FsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICBmaW5kQnlJRCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBGaW5kQnlJRE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RdPiA9PiB7XG4gICAgY29uc3QgeyBmaW5kQnlJRCB9ID0gbG9jYWxPcGVyYXRpb25zXG4gICAgcmV0dXJuIGZpbmRCeUlEPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICBmaW5kR2xvYmFsID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXT4oXG4gICAgb3B0aW9uczogRmluZEdsb2JhbE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ11bVF0+ID0+IHtcbiAgICBjb25zdCB7IGZpbmRPbmUgfSA9IGxvY2FsR2xvYmFsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kT25lPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEZpbmQgZ2xvYmFsIHZlcnNpb24gYnkgSURcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgZ2xvYmFsIHZlcnNpb24gd2l0aCBzcGVjaWZpZWQgSURcbiAgICovXG4gIGZpbmRHbG9iYWxWZXJzaW9uQnlJRCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ10+KFxuICAgIG9wdGlvbnM6IEZpbmRHbG9iYWxWZXJzaW9uQnlJRE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VHlwZVdpdGhWZXJzaW9uPFRHZW5lcmF0ZWRUeXBlc1snZ2xvYmFscyddW1RdPj4gPT4ge1xuICAgIGNvbnN0IHsgZmluZFZlcnNpb25CeUlEIH0gPSBsb2NhbEdsb2JhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gZmluZFZlcnNpb25CeUlEPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEZpbmQgZ2xvYmFsIHZlcnNpb25zIHdpdGggY3JpdGVyaWFcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgdmVyc2lvbnMgc2F0aXNmeWluZyBxdWVyeVxuICAgKi9cbiAgZmluZEdsb2JhbFZlcnNpb25zID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXT4oXG4gICAgb3B0aW9uczogRmluZEdsb2JhbFZlcnNpb25zT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxQYWdpbmF0ZWREb2NzPFR5cGVXaXRoVmVyc2lvbjxUR2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXVtUXT4+PiA9PiB7XG4gICAgY29uc3QgeyBmaW5kVmVyc2lvbnMgfSA9IGxvY2FsR2xvYmFsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kVmVyc2lvbnM8VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRmluZCB2ZXJzaW9uIGJ5IElEXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqIEByZXR1cm5zIHZlcnNpb24gd2l0aCBzcGVjaWZpZWQgSURcbiAgICovXG4gIGZpbmRWZXJzaW9uQnlJRCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBGaW5kVmVyc2lvbkJ5SURPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPFR5cGVXaXRoVmVyc2lvbjxUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0+PiA9PiB7XG4gICAgY29uc3QgeyBmaW5kVmVyc2lvbkJ5SUQgfSA9IGxvY2FsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kVmVyc2lvbkJ5SUQ8VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRmluZCB2ZXJzaW9ucyB3aXRoIGNyaXRlcmlhXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqIEByZXR1cm5zIHZlcnNpb25zIHNhdGlzZnlpbmcgcXVlcnlcbiAgICovXG4gIGZpbmRWZXJzaW9ucyA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBGaW5kVmVyc2lvbnNPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPFBhZ2luYXRlZERvY3M8VHlwZVdpdGhWZXJzaW9uPFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUXT4+PiA9PiB7XG4gICAgY29uc3QgeyBmaW5kVmVyc2lvbnMgfSA9IGxvY2FsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kVmVyc2lvbnM8VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIGZvcmdvdFBhc3N3b3JkID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IEZvcmdvdFBhc3N3b3JkT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxGb3Jnb3RQYXNzd29yZFJlc3VsdD4gPT4ge1xuICAgIGNvbnN0IHsgZm9yZ290UGFzc3dvcmQgfSA9IGxvY2FsT3BlcmF0aW9ucy5hdXRoXG4gICAgcmV0dXJuIGZvcmdvdFBhc3N3b3JkPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICBnZXRBUElVUkwgPSAoKTogc3RyaW5nID0+IGAke3RoaXMuY29uZmlnLnNlcnZlclVSTH0ke3RoaXMuY29uZmlnLnJvdXRlcy5hcGl9YFxuXG4gIGdldEFkbWluVVJMID0gKCk6IHN0cmluZyA9PiBgJHt0aGlzLmNvbmZpZy5zZXJ2ZXJVUkx9JHt0aGlzLmNvbmZpZy5yb3V0ZXMuYWRtaW59YFxuXG4gIGdsb2JhbHM6IEdsb2JhbHNcblxuICBsb2dnZXI6IHBpbm8uTG9nZ2VyXG5cbiAgbG9naW4gPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogTG9naW5PcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPExvZ2luUmVzdWx0ICYgeyB1c2VyOiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0gfT4gPT4ge1xuICAgIGNvbnN0IHsgbG9naW4gfSA9IGxvY2FsT3BlcmF0aW9ucy5hdXRoXG4gICAgcmV0dXJuIGxvZ2luPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEZpbmQgZG9jdW1lbnQgYnkgSURcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgZG9jdW1lbnQgd2l0aCBzcGVjaWZpZWQgSURcbiAgICovXG5cbiAgcmVzZXRQYXNzd29yZCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBSZXNldFBhc3N3b3JkT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxSZXNldFBhc3N3b3JkUmVzdWx0PiA9PiB7XG4gICAgY29uc3QgeyByZXNldFBhc3N3b3JkIH0gPSBsb2NhbE9wZXJhdGlvbnMuYXV0aFxuICAgIHJldHVybiByZXNldFBhc3N3b3JkPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlc3RvcmUgZ2xvYmFsIHZlcnNpb24gYnkgSURcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgdmVyc2lvbiB3aXRoIHNwZWNpZmllZCBJRFxuICAgKi9cbiAgcmVzdG9yZUdsb2JhbFZlcnNpb24gPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snZ2xvYmFscyddPihcbiAgICBvcHRpb25zOiBSZXN0b3JlR2xvYmFsVmVyc2lvbk9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ11bVF0+ID0+IHtcbiAgICBjb25zdCB7IHJlc3RvcmVWZXJzaW9uIH0gPSBsb2NhbEdsb2JhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gcmVzdG9yZVZlcnNpb248VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmVzdG9yZSB2ZXJzaW9uIGJ5IElEXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqIEByZXR1cm5zIHZlcnNpb24gd2l0aCBzcGVjaWZpZWQgSURcbiAgICovXG4gIHJlc3RvcmVWZXJzaW9uID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IFJlc3RvcmVWZXJzaW9uT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0+ID0+IHtcbiAgICBjb25zdCB7IHJlc3RvcmVWZXJzaW9uIH0gPSBsb2NhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gcmVzdG9yZVZlcnNpb248VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIHNjaGVtYTogR3JhcGhRTFNjaGVtYVxuXG4gIHNlY3JldDogc3RyaW5nXG5cbiAgc2VuZEVtYWlsOiAobWVzc2FnZTogU2VuZE1haWxPcHRpb25zKSA9PiBQcm9taXNlPHVua25vd24+XG5cbiAgdHlwZXM6IHtcbiAgICBhcnJheVR5cGVzOiBhbnlcbiAgICBibG9ja0lucHV0VHlwZXM6IGFueVxuICAgIGJsb2NrVHlwZXM6IGFueVxuICAgIGZhbGxiYWNrTG9jYWxlSW5wdXRUeXBlPzogYW55XG4gICAgZ3JvdXBUeXBlczogYW55XG4gICAgbG9jYWxlSW5wdXRUeXBlPzogYW55XG4gICAgdGFiVHlwZXM6IGFueVxuICB9XG5cbiAgdW5sb2NrID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IFVubG9ja09wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8Ym9vbGVhbj4gPT4ge1xuICAgIGNvbnN0IHsgdW5sb2NrIH0gPSBsb2NhbE9wZXJhdGlvbnMuYXV0aFxuICAgIHJldHVybiB1bmxvY2sodGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIHVwZGF0ZUdsb2JhbCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ10+KFxuICAgIG9wdGlvbnM6IFVwZGF0ZUdsb2JhbE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ11bVF0+ID0+IHtcbiAgICBjb25zdCB7IHVwZGF0ZSB9ID0gbG9jYWxHbG9iYWxPcGVyYXRpb25zXG4gICAgcmV0dXJuIHVwZGF0ZTxUPih0aGlzLCBvcHRpb25zKVxuICB9XG5cbiAgdmFsaWRhdGlvblJ1bGVzOiAoYXJnczogT3BlcmF0aW9uQXJnczxhbnk+KSA9PiBWYWxpZGF0aW9uUnVsZVtdXG5cbiAgdmVyaWZ5RW1haWwgPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogVmVyaWZ5RW1haWxPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcbiAgICBjb25zdCB7IHZlcmlmeUVtYWlsIH0gPSBsb2NhbE9wZXJhdGlvbnMuYXV0aFxuICAgIHJldHVybiB2ZXJpZnlFbWFpbCh0aGlzLCBvcHRpb25zKVxuICB9XG5cbiAgdmVyc2lvbnM6IHtcbiAgICBbc2x1Zzogc3RyaW5nXTogYW55IC8vIFRPRE86IFR5cGUgdGhpc1xuICB9ID0ge31cblxuICBkZWxldGU8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogRGVsZXRlT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxCdWxrT3BlcmF0aW9uUmVzdWx0PFQ+IHwgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RdPiB7XG4gICAgY29uc3QgeyBkZWxldGVMb2NhbCB9ID0gbG9jYWxPcGVyYXRpb25zXG4gICAgcmV0dXJuIGRlbGV0ZUxvY2FsPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvbmUgb3IgbW9yZSBkb2N1bWVudHNcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgVXBkYXRlZCBkb2N1bWVudChzKVxuICAgKi9cbiAgZGVsZXRlPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IERlbGV0ZUJ5SURPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUXT5cblxuICBkZWxldGU8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogRGVsZXRlTWFueU9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8QnVsa09wZXJhdGlvblJlc3VsdDxUPj5cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEluaXRpYWxpemVzIFBheWxvYWRcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICovXG4gIC8vIEB0cy1leHBlY3QtZXJyb3IgLy8gVE9ETzogVHlwZVNjcmlwdCBoYWxsdWNpbmF0aW5nIGFnYWluLiBmaXggbGF0ZXJcbiAgYXN5bmMgaW5pdChvcHRpb25zOiBJbml0T3B0aW9ucyk6IFByb21pc2U8UGF5bG9hZD4ge1xuICAgIHRoaXMubG9nZ2VyID0gTG9nZ2VyKCdwYXlsb2FkJywgb3B0aW9ucy5sb2dnZXJPcHRpb25zLCBvcHRpb25zLmxvZ2dlckRlc3RpbmF0aW9uKVxuXG4gICAgdGhpcy5jb25maWcgPSBhd2FpdCBvcHRpb25zLmNvbmZpZ1xuXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgIGF3YWl0IHZhbGlkYXRlKHRoaXMuY29uZmlnLCB0aGlzLmxvZ2dlcilcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuY29uZmlnLnNlY3JldCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFcnJvcjogbWlzc2luZyBzZWNyZXQga2V5LiBBIHNlY3JldCBrZXkgaXMgbmVlZGVkIHRvIHNlY3VyZSBQYXlsb2FkLicpXG4gICAgfVxuXG4gICAgdGhpcy5zZWNyZXQgPSBjcnlwdG8uY3JlYXRlSGFzaCgnc2hhMjU2JykudXBkYXRlKHRoaXMuY29uZmlnLnNlY3JldCkuZGlnZXN0KCdoZXgnKS5zbGljZSgwLCAzMilcblxuICAgIHRoaXMuZ2xvYmFscyA9IHtcbiAgICAgIGNvbmZpZzogdGhpcy5jb25maWcuZ2xvYmFscyxcbiAgICB9XG5cbiAgICB0aGlzLmNvbmZpZy5jb2xsZWN0aW9ucy5mb3JFYWNoKChjb2xsZWN0aW9uKSA9PiB7XG4gICAgICB0aGlzLmNvbGxlY3Rpb25zW2NvbGxlY3Rpb24uc2x1Z10gPSB7XG4gICAgICAgIGNvbmZpZzogY29sbGVjdGlvbixcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgdGhpcy5kYiA9IHRoaXMuY29uZmlnLmRiLmluaXQoeyBwYXlsb2FkOiB0aGlzIH0pXG4gICAgdGhpcy5kYi5wYXlsb2FkID0gdGhpc1xuXG4gICAgaWYgKHRoaXMuZGI/LmluaXQpIHtcbiAgICAgIGF3YWl0IHRoaXMuZGIuaW5pdCh0aGlzKVxuICAgIH1cblxuICAgIGlmICghb3B0aW9ucy5kaXNhYmxlREJDb25uZWN0ICYmIHRoaXMuZGIuY29ubmVjdCkge1xuICAgICAgYXdhaXQgdGhpcy5kYi5jb25uZWN0KClcbiAgICB9XG5cbiAgICAvLyBDb25maWd1cmUgZW1haWwgc2VydmljZVxuICAgIGNvbnN0IGVtYWlsT3B0aW9ucyA9IG9wdGlvbnMuZW1haWwgPyB7IC4uLm9wdGlvbnMuZW1haWwgfSA6IHRoaXMuY29uZmlnLmVtYWlsXG4gICAgaWYgKG9wdGlvbnMuZW1haWwgJiYgdGhpcy5jb25maWcuZW1haWwpIHtcbiAgICAgIHRoaXMubG9nZ2VyLndhcm4oXG4gICAgICAgICdFbWFpbCBvcHRpb25zIHByb3ZpZGVkIGluIGJvdGggaW5pdCBvcHRpb25zIGFuZCBjb25maWcuIFVzaW5nIGluaXQgb3B0aW9ucy4nLFxuICAgICAgKVxuICAgIH1cblxuICAgIHRoaXMuZW1haWxPcHRpb25zID0gZW1haWxPcHRpb25zID8/IGVtYWlsRGVmYXVsdHNcbiAgICB0aGlzLmVtYWlsID0gYnVpbGRFbWFpbCh0aGlzLmVtYWlsT3B0aW9ucywgdGhpcy5sb2dnZXIpXG4gICAgdGhpcy5zZW5kRW1haWwgPSBzZW5kRW1haWwuYmluZCh0aGlzKVxuXG4gICAgc2VydmVySW5pdFRlbGVtZXRyeSh0aGlzKVxuXG4gICAgLy8gMS4gbG9vcCBvdmVyIGNvbGxlY3Rpb25zLCBpZiBjb2xsZWN0aW9uIGhhcyBhdXRoIHN0cmF0ZWd5LCBpbml0aWFsaXplIGFuZCBwdXNoIHRvIGFycmF5XG4gICAgbGV0IGp3dFN0cmF0ZWd5RW5hYmxlZCA9IGZhbHNlXG4gICAgdGhpcy5hdXRoU3RyYXRlZ2llcyA9IHRoaXMuY29uZmlnLmNvbGxlY3Rpb25zLnJlZHVjZSgoYXV0aFN0cmF0ZWdpZXMsIGNvbGxlY3Rpb24pID0+IHtcbiAgICAgIGlmIChjb2xsZWN0aW9uPy5hdXRoKSB7XG4gICAgICAgIGlmIChjb2xsZWN0aW9uLmF1dGguc3RyYXRlZ2llcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgYXV0aFN0cmF0ZWdpZXMucHVzaCguLi5jb2xsZWN0aW9uLmF1dGguc3RyYXRlZ2llcylcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIDIuIGlmIGFwaSBrZXkgZW5hYmxlZCwgcHVzaCBhcGkga2V5IHN0cmF0ZWd5IGludG8gdGhlIGFycmF5XG4gICAgICAgIGlmIChjb2xsZWN0aW9uLmF1dGg/LnVzZUFQSUtleSkge1xuICAgICAgICAgIGF1dGhTdHJhdGVnaWVzLnB1c2goe1xuICAgICAgICAgICAgbmFtZTogYCR7Y29sbGVjdGlvbi5zbHVnfS1hcGkta2V5YCxcbiAgICAgICAgICAgIGF1dGhlbnRpY2F0ZTogQVBJS2V5QXV0aGVudGljYXRpb24oY29sbGVjdGlvbiksXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIDMuIGlmIGxvY2FsU3RyYXRlZ3kgZmxhZyBpcyB0cnVlXG4gICAgICAgIGlmICghY29sbGVjdGlvbi5hdXRoLmRpc2FibGVMb2NhbFN0cmF0ZWd5ICYmICFqd3RTdHJhdGVneUVuYWJsZWQpIHtcbiAgICAgICAgICBqd3RTdHJhdGVneUVuYWJsZWQgPSB0cnVlXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGF1dGhTdHJhdGVnaWVzXG4gICAgfSwgW10gYXMgQXV0aFN0cmF0ZWd5W10pXG5cbiAgICAvLyA0LiBpZiBlbmFibGVkLCBwdXNoIGp3dCBzdHJhdGVneSBpbnRvIGF1dGhTdHJhdGVnaWVzIGxhc3RcbiAgICBpZiAoand0U3RyYXRlZ3lFbmFibGVkKSB7XG4gICAgICB0aGlzLmF1dGhTdHJhdGVnaWVzLnB1c2goe1xuICAgICAgICBuYW1lOiAnbG9jYWwtand0JyxcbiAgICAgICAgYXV0aGVudGljYXRlOiBKV1RBdXRoZW50aWNhdGlvbixcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgaWYgKCFvcHRpb25zLmRpc2FibGVPbkluaXQpIHtcbiAgICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5vbkluaXQgPT09ICdmdW5jdGlvbicpIGF3YWl0IG9wdGlvbnMub25Jbml0KHRoaXMpXG4gICAgICBpZiAodHlwZW9mIHRoaXMuY29uZmlnLm9uSW5pdCA9PT0gJ2Z1bmN0aW9uJykgYXdhaXQgdGhpcy5jb25maWcub25Jbml0KHRoaXMpXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIHVwZGF0ZTxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBVcGRhdGVNYW55T3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxCdWxrT3BlcmF0aW9uUmVzdWx0PFQ+PlxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVXBkYXRlIG9uZSBvciBtb3JlIGRvY3VtZW50c1xuICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgKiBAcmV0dXJucyBVcGRhdGVkIGRvY3VtZW50KHMpXG4gICAqL1xuICB1cGRhdGU8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogVXBkYXRlQnlJRE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RdPlxuXG4gIHVwZGF0ZTxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBVcGRhdGVPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPEJ1bGtPcGVyYXRpb25SZXN1bHQ8VD4gfCBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0+IHtcbiAgICBjb25zdCB7IHVwZGF0ZSB9ID0gbG9jYWxPcGVyYXRpb25zXG4gICAgcmV0dXJuIHVwZGF0ZTxUPih0aGlzLCBvcHRpb25zKVxuICB9XG59XG5cbmNvbnN0IGluaXRpYWxpemVkID0gbmV3IEJhc2VQYXlsb2FkKClcblxuZXhwb3J0IGRlZmF1bHQgaW5pdGlhbGl6ZWRcblxubGV0IGNhY2hlZCA9IGdsb2JhbC5fcGF5bG9hZFxuXG5pZiAoIWNhY2hlZCkge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tbXVsdGktYXNzaWduXG4gIGNhY2hlZCA9IGdsb2JhbC5fcGF5bG9hZCA9IHsgcGF5bG9hZDogbnVsbCwgcHJvbWlzZTogbnVsbCB9XG59XG5cbmV4cG9ydCBjb25zdCBnZXRQYXlsb2FkID0gYXN5bmMgKG9wdGlvbnM/OiBJbml0T3B0aW9ucyk6IFByb21pc2U8QmFzZVBheWxvYWQ8R2VuZXJhdGVkVHlwZXM+PiA9PiB7XG4gIGlmIChjYWNoZWQucGF5bG9hZCkge1xuICAgIHJldHVybiBjYWNoZWQucGF5bG9hZFxuICB9XG5cbiAgaWYgKCFjYWNoZWQucHJvbWlzZSkge1xuICAgIGNhY2hlZC5wcm9taXNlID0gbmV3IEJhc2VQYXlsb2FkPEdlbmVyYXRlZFR5cGVzPigpLmluaXQob3B0aW9ucylcbiAgfVxuXG4gIHRyeSB7XG4gICAgY2FjaGVkLnBheWxvYWQgPSBhd2FpdCBjYWNoZWQucHJvbWlzZVxuICB9IGNhdGNoIChlKSB7XG4gICAgY2FjaGVkLnByb21pc2UgPSBudWxsXG4gICAgdGhyb3cgZVxuICB9XG5cbiAgcmV0dXJuIGNhY2hlZC5wYXlsb2FkXG59XG5cbnR5cGUgR2VuZXJhdGVkVHlwZXMgPSB7XG4gIGNvbGxlY3Rpb25zOiB7XG4gICAgW3NsdWc6IG51bWJlciB8IHN0cmluZyB8IHN5bWJvbF06IFR5cGVXaXRoSUQgJiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICB9XG4gIGdsb2JhbHM6IHtcbiAgICBbc2x1ZzogbnVtYmVyIHwgc3RyaW5nIHwgc3ltYm9sXTogR2xvYmFsVHlwZVdpdGhJRCAmIFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIH1cbn1cblxudHlwZSBQYXlsb2FkID0gQmFzZVBheWxvYWQ8R2VuZXJhdGVkVHlwZXM+XG5cbmludGVyZmFjZSBSZXF1ZXN0Q29udGV4dCB7XG4gIFtrZXk6IHN0cmluZ106IHVua25vd25cbn1cblxuLy8gdHlwZSBEYXRhYmFzZUFkYXB0ZXIgPSBCYXNlRGF0YWJhc2VBZGFwdGVyXG5cbmV4cG9ydCB0eXBlIHsgR2VuZXJhdGVkVHlwZXMsIFBheWxvYWQsIFJlcXVlc3RDb250ZXh0IH1cbiJdLCJuYW1lcyI6WyJjcnlwdG8iLCJkZWNyeXB0IiwiZW5jcnlwdCIsIkFQSUtleUF1dGhlbnRpY2F0aW9uIiwiSldUQXV0aGVudGljYXRpb24iLCJsb2NhbE9wZXJhdGlvbnMiLCJ2YWxpZGF0ZSIsImJ1aWxkRW1haWwiLCJkZWZhdWx0cyIsImVtYWlsRGVmYXVsdHMiLCJzZW5kRW1haWwiLCJsb2NhbEdsb2JhbE9wZXJhdGlvbnMiLCJMb2dnZXIiLCJzZXJ2ZXJJbml0Iiwic2VydmVySW5pdFRlbGVtZXRyeSIsIkJhc2VQYXlsb2FkIiwiYXV0aFN0cmF0ZWdpZXMiLCJjb2xsZWN0aW9ucyIsImNvbmZpZyIsImNyZWF0ZSIsIm9wdGlvbnMiLCJkYiIsImVtYWlsIiwiZW1haWxPcHRpb25zIiwiZXh0ZW5zaW9ucyIsImZpbmQiLCJmaW5kQnlJRCIsImZpbmRHbG9iYWwiLCJmaW5kT25lIiwiZmluZEdsb2JhbFZlcnNpb25CeUlEIiwiZmluZFZlcnNpb25CeUlEIiwiZmluZEdsb2JhbFZlcnNpb25zIiwiZmluZFZlcnNpb25zIiwiZm9yZ290UGFzc3dvcmQiLCJhdXRoIiwiZ2V0QVBJVVJMIiwic2VydmVyVVJMIiwicm91dGVzIiwiYXBpIiwiZ2V0QWRtaW5VUkwiLCJhZG1pbiIsImdsb2JhbHMiLCJsb2dnZXIiLCJsb2dpbiIsInJlc2V0UGFzc3dvcmQiLCJyZXN0b3JlR2xvYmFsVmVyc2lvbiIsInJlc3RvcmVWZXJzaW9uIiwic2NoZW1hIiwic2VjcmV0IiwidHlwZXMiLCJ1bmxvY2siLCJ1cGRhdGVHbG9iYWwiLCJ1cGRhdGUiLCJ2YWxpZGF0aW9uUnVsZXMiLCJ2ZXJpZnlFbWFpbCIsInZlcnNpb25zIiwiZGVsZXRlIiwiZGVsZXRlTG9jYWwiLCJpbml0IiwibG9nZ2VyT3B0aW9ucyIsImxvZ2dlckRlc3RpbmF0aW9uIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiRXJyb3IiLCJjcmVhdGVIYXNoIiwiZGlnZXN0Iiwic2xpY2UiLCJmb3JFYWNoIiwiY29sbGVjdGlvbiIsInNsdWciLCJwYXlsb2FkIiwiZGlzYWJsZURCQ29ubmVjdCIsImNvbm5lY3QiLCJ3YXJuIiwiYmluZCIsImp3dFN0cmF0ZWd5RW5hYmxlZCIsInJlZHVjZSIsInN0cmF0ZWdpZXMiLCJsZW5ndGgiLCJwdXNoIiwidXNlQVBJS2V5IiwibmFtZSIsImF1dGhlbnRpY2F0ZSIsImRpc2FibGVMb2NhbFN0cmF0ZWd5IiwiZGlzYWJsZU9uSW5pdCIsIm9uSW5pdCIsImluaXRpYWxpemVkIiwiY2FjaGVkIiwiZ2xvYmFsIiwiX3BheWxvYWQiLCJwcm9taXNlIiwiZ2V0UGF5bG9hZCIsImUiXSwibWFwcGluZ3MiOiJBQUtBLE9BQU9BLFlBQVksU0FBUTtBQXVDM0IsU0FBU0MsT0FBTyxFQUFFQyxPQUFPLFFBQVEsbUJBQWtCO0FBQ25ELFNBQVNDLG9CQUFvQixRQUFRLDhCQUE2QjtBQUNsRSxTQUFTQyxpQkFBaUIsUUFBUSwyQkFBMEI7QUFDNUQsT0FBT0MscUJBQXFCLDBDQUF5QztBQUNyRSxPQUFPQyxjQUFjLHVCQUFzQjtBQUMzQyxPQUFPQyxnQkFBZ0IsbUJBQWtCO0FBQ3pDLFNBQVNDLFlBQVlDLGFBQWEsUUFBUSxzQkFBcUI7QUFDL0QsT0FBT0MsZUFBZSx1QkFBc0I7QUFDNUMsT0FBT0MsMkJBQTJCLHNDQUFxQztBQUN2RSxPQUFPQyxZQUFZLHdCQUF1QjtBQUMxQyxTQUFTQyxjQUFjQyxtQkFBbUIs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
|
|
@@ -1,16 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* sets request locale
|
|
3
|
-
*/
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
Object.defineProperty(exports, "default", {
|
|
8
|
-
enumerable: true,
|
|
9
|
-
get: function() {
|
|
10
|
-
return localizationMiddleware;
|
|
11
|
-
}
|
|
12
|
-
});
|
|
13
|
-
function localizationMiddleware(req, res, next) {
|
|
3
|
+
*/ export default function localizationMiddleware(req, res, next) {
|
|
14
4
|
const localization = req.payload.config.localization;
|
|
15
5
|
if (!localization) {
|
|
16
6
|
next();
|
|
@@ -44,4 +34,4 @@ function localizationMiddleware(req, res, next) {
|
|
|
44
34
|
next();
|
|
45
35
|
}
|
|
46
36
|
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2NhbGl6YXRpb24vbWlkZGxld2FyZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIHNldHMgcmVxdWVzdCBsb2NhbGVcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbG9jYWxpemF0aW9uTWlkZGxld2FyZShyZXEsIHJlcywgbmV4dCkge1xuICBjb25zdCBsb2NhbGl6YXRpb24gPSByZXEucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uXG4gIGlmICghbG9jYWxpemF0aW9uKSB7XG4gICAgbmV4dCgpXG4gICAgcmV0dXJuXG4gIH1cblxuICBjb25zdCB2YWxpZExvY2FsZXMgPSBbLi4ubG9jYWxpemF0aW9uLmxvY2FsZUNvZGVzLCAnYWxsJ11cbiAgY29uc3QgdmFsaWRGYWxsYmFja0xvY2FsZXMgPSBbLi4ubG9jYWxpemF0aW9uLmxvY2FsZUNvZGVzLCAnbnVsbCddXG5cbiAgbGV0IHJlcXVlc3RlZExvY2FsZSA9IHJlcS5xdWVyeS5sb2NhbGUgfHwgbG9jYWxpemF0aW9uLmRlZmF1bHRMb2NhbGVcbiAgbGV0IHJlcXVlc3RlZEZhbGxiYWNrTG9jYWxlID0gcmVxLnF1ZXJ5WydmYWxsYmFjay1sb2NhbGUnXVxuXG4gIGlmIChyZXEuYm9keSkge1xuICAgIGlmIChyZXEuYm9keS5sb2NhbGUpIHJlcXVlc3RlZExvY2FsZSA9IHJlcS5ib2R5LmxvY2FsZVxuICAgIGlmIChyZXEuYm9keVsnZmFsbGJhY2stbG9jYWxlJ10pIHtcbiAgICAgIHJlcXVlc3RlZEZhbGxiYWNrTG9jYWxlID0gcmVxLmJvZHlbJ2ZhbGxiYWNrLWxvY2FsZSddXG4gICAgfVxuICB9XG5cbiAgaWYgKHJlcXVlc3RlZEZhbGxiYWNrTG9jYWxlID09PSAnbm9uZScpIHJlcXVlc3RlZEZhbGxiYWNrTG9jYWxlID0gJ251bGwnXG4gIGlmIChyZXF1ZXN0ZWRMb2NhbGUgPT09ICcqJyB8fCByZXF1ZXN0ZWRMb2NhbGUgPT09ICdhbGwnKSB7XG4gICAgcmVxdWVzdGVkTG9jYWxlID0gJ2FsbCdcbiAgfVxuICByZXEuZmFsbGJhY2tMb2NhbGUgPSB2YWxpZEZhbGxiYWNrTG9jYWxlcy5maW5kKChsb2NhbGUpID0+IGxvY2FsZSA9PT0gcmVxdWVzdGVkRmFsbGJhY2tMb2NhbGUpXG5cbiAgcmVxLmxvY2FsZSA9IHZhbGlkTG9jYWxlcy5maW5kKChsb2NhbGUpID0+
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2NhbGl6YXRpb24vbWlkZGxld2FyZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIHNldHMgcmVxdWVzdCBsb2NhbGVcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbG9jYWxpemF0aW9uTWlkZGxld2FyZShyZXEsIHJlcywgbmV4dCkge1xuICBjb25zdCBsb2NhbGl6YXRpb24gPSByZXEucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uXG4gIGlmICghbG9jYWxpemF0aW9uKSB7XG4gICAgbmV4dCgpXG4gICAgcmV0dXJuXG4gIH1cblxuICBjb25zdCB2YWxpZExvY2FsZXMgPSBbLi4ubG9jYWxpemF0aW9uLmxvY2FsZUNvZGVzLCAnYWxsJ11cbiAgY29uc3QgdmFsaWRGYWxsYmFja0xvY2FsZXMgPSBbLi4ubG9jYWxpemF0aW9uLmxvY2FsZUNvZGVzLCAnbnVsbCddXG5cbiAgbGV0IHJlcXVlc3RlZExvY2FsZSA9IHJlcS5xdWVyeS5sb2NhbGUgfHwgbG9jYWxpemF0aW9uLmRlZmF1bHRMb2NhbGVcbiAgbGV0IHJlcXVlc3RlZEZhbGxiYWNrTG9jYWxlID0gcmVxLnF1ZXJ5WydmYWxsYmFjay1sb2NhbGUnXVxuXG4gIGlmIChyZXEuYm9keSkge1xuICAgIGlmIChyZXEuYm9keS5sb2NhbGUpIHJlcXVlc3RlZExvY2FsZSA9IHJlcS5ib2R5LmxvY2FsZVxuICAgIGlmIChyZXEuYm9keVsnZmFsbGJhY2stbG9jYWxlJ10pIHtcbiAgICAgIHJlcXVlc3RlZEZhbGxiYWNrTG9jYWxlID0gcmVxLmJvZHlbJ2ZhbGxiYWNrLWxvY2FsZSddXG4gICAgfVxuICB9XG5cbiAgaWYgKHJlcXVlc3RlZEZhbGxiYWNrTG9jYWxlID09PSAnbm9uZScpIHJlcXVlc3RlZEZhbGxiYWNrTG9jYWxlID0gJ251bGwnXG4gIGlmIChyZXF1ZXN0ZWRMb2NhbGUgPT09ICcqJyB8fCByZXF1ZXN0ZWRMb2NhbGUgPT09ICdhbGwnKSB7XG4gICAgcmVxdWVzdGVkTG9jYWxlID0gJ2FsbCdcbiAgfVxuICByZXEuZmFsbGJhY2tMb2NhbGUgPSB2YWxpZEZhbGxiYWNrTG9jYWxlcy5maW5kKChsb2NhbGUpID0+IGxvY2FsZSA9PT0gcmVxdWVzdGVkRmFsbGJhY2tMb2NhbGUpXG5cbiAgcmVxLmxvY2FsZSA9IHZhbGlkTG9jYWxlcy5maW5kKChsb2NhbGUpID0+IGxvY2FsZSA9PT0gcmVxdWVzdGVkTG9jYWxlKVxuXG4gIGlmICghcmVxLmZhbGxiYWNrTG9jYWxlKSB7XG4gICAgcmVxLmZhbGxiYWNrTG9jYWxlID1cbiAgICAgIGxvY2FsaXphdGlvbi5sb2NhbGVzLmZpbmQoKHsgY29kZSB9KSA9PiByZXEubG9jYWxlID09PSBjb2RlKT8uZmFsbGJhY2tMb2NhbGUgfHxcbiAgICAgIGxvY2FsaXphdGlvbi5kZWZhdWx0TG9jYWxlXG4gIH1cbiAgbmV4dCgpXG59XG4iXSwibmFtZXMiOlsibG9jYWxpemF0aW9uTWlkZGxld2FyZSIsInJlcSIsInJlcyIsIm5leHQiLCJsb2NhbGl6YXRpb24iLCJwYXlsb2FkIiwiY29uZmlnIiwidmFsaWRMb2NhbGVzIiwibG9jYWxlQ29kZXMiLCJ2YWxpZEZhbGxiYWNrTG9jYWxlcyIsInJlcXVlc3RlZExvY2FsZSIsInF1ZXJ5IiwibG9jYWxlIiwiZGVmYXVsdExvY2FsZSIsInJlcXVlc3RlZEZhbGxiYWNrTG9jYWxlIiwiYm9keSIsImZhbGxiYWNrTG9jYWxlIiwiZmluZCIsImxvY2FsZXMiLCJjb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Q0FFQyxHQUNELGVBQWUsU0FBU0EsdUJBQXVCQyxHQUFHLEVBQUVDLEdBQUcsRUFBRUMsSUFBSTtJQUMzRCxNQUFNQyxlQUFlSCxJQUFJSSxPQUFPLENBQUNDLE1BQU0sQ0FBQ0YsWUFBWTtJQUNwRCxJQUFJLENBQUNBLGNBQWM7UUFDakJEO1FBQ0E7SUFDRjtJQUVBLE1BQU1JLGVBQWU7V0FBSUgsYUFBYUksV0FBVztRQUFFO0tBQU07SUFDekQsTUFBTUMsdUJBQXVCO1dBQUlMLGFBQWFJLFdBQVc7UUFBRTtLQUFPO0lBRWxFLElBQUlFLGtCQUFrQlQsSUFBSVUsS0FBSyxDQUFDQyxNQUFNLElBQUlSLGFBQWFTLGFBQWE7SUFDcEUsSUFBSUMsMEJBQTBCYixJQUFJVSxLQUFLLENBQUMsa0JBQWtCO0lBRTFELElBQUlWLElBQUljLElBQUksRUFBRTtRQUNaLElBQUlkLElBQUljLElBQUksQ0FBQ0gsTUFBTSxFQUFFRixrQkFBa0JULElBQUljLElBQUksQ0FBQ0gsTUFBTTtRQUN0RCxJQUFJWCxJQUFJYyxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDL0JELDBCQUEwQmIsSUFBSWMsSUFBSSxDQUFDLGtCQUFrQjtRQUN2RDtJQUNGO0lBRUEsSUFBSUQsNEJBQTRCLFFBQVFBLDBCQUEwQjtJQUNsRSxJQUFJSixvQkFBb0IsT0FBT0Esb0JBQW9CLE9BQU87UUFDeERBLGtCQUFrQjtJQUNwQjtJQUNBVCxJQUFJZSxjQUFjLEdBQUdQLHFCQUFxQlEsSUFBSSxDQUFDLENBQUNMLFNBQVdBLFdBQVdFO0lBRXRFYixJQUFJVyxNQUFNLEdBQUdMLGFBQWFVLElBQUksQ0FBQyxDQUFDTCxTQUFXQSxXQUFXRjtJQUV0RCxJQUFJLENBQUNULElBQUllLGNBQWMsRUFBRTtRQUN2QmYsSUFBSWUsY0FBYyxHQUNoQlosYUFBYWMsT0FBTyxDQUFDRCxJQUFJLENBQUMsQ0FBQyxFQUFFRSxJQUFJLEVBQUUsR0FBS2xCLElBQUlXLE1BQU0sS0FBS08sT0FBT0gsa0JBQzlEWixhQUFhUyxhQUFhO0lBQzlCO0lBQ0FWO0FBQ0YifQ==
|
|
@@ -1,19 +1,9 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
1
|
const sanitizeFallbackLocale = (fallbackLocale)=>{
|
|
12
2
|
if (fallbackLocale === 'null' || fallbackLocale === 'none' || fallbackLocale === 'false' || fallbackLocale === false || fallbackLocale === null) {
|
|
13
3
|
return null;
|
|
14
4
|
}
|
|
15
5
|
return fallbackLocale;
|
|
16
6
|
};
|
|
17
|
-
|
|
7
|
+
export default sanitizeFallbackLocale;
|
|
18
8
|
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2NhbGl6YXRpb24vc2FuaXRpemVGYWxsYmFja0xvY2FsZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBzYW5pdGl6ZUZhbGxiYWNrTG9jYWxlID0gKGZhbGxiYWNrTG9jYWxlKSA9PiB7XG4gIGlmIChcbiAgICBmYWxsYmFja0xvY2FsZSA9PT0gJ251bGwnIHx8XG4gICAgZmFsbGJhY2tMb2NhbGUgPT09ICdub25lJyB8fFxuICAgIGZhbGxiYWNrTG9jYWxlID09PSAnZmFsc2UnIHx8XG4gICAgZmFsbGJhY2tMb2NhbGUgPT09IGZhbHNlIHx8XG4gICAgZmFsbGJhY2tMb2NhbGUgPT09IG51bGxcbiAgKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIHJldHVybiBmYWxsYmFja0xvY2FsZVxufVxuXG5leHBvcnQgZGVmYXVsdCBzYW5pdGl6ZUZhbGxiYWNrTG9jYWxlXG4iXSwibmFtZXMiOlsic2FuaXRpemVGYWxsYmFja0xvY2FsZSIsImZhbGxiYWNrTG9jYWxlIl0sIm1hcHBpbmdzIjoiQUFBQSxNQUFNQSx5QkFBeUIsQ0FBQ0M7SUFDOUIsSUFDRUEsbUJBQW1CLFVBQ25CQSxtQkFBbUIsVUFDbkJBLG1CQUFtQixXQUNuQkEsbUJBQW1CLFNBQ25CQSxtQkFBbUIsTUFDbkI7UUFDQSxPQUFPO0lBQ1Q7SUFFQSxPQUFPQTtBQUNUO0FBRUEsZUFBZUQsdUJBQXNCIn0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
import type { PayloadRequest } from '../types';
|
|
1
|
+
import type { SanitizedCollectionConfig } from '../collections/config/types.js';
|
|
2
|
+
import type { Payload } from '../index.js';
|
|
3
|
+
import type { PayloadRequest } from '../types/index.js';
|
|
4
4
|
type Args = {
|
|
5
5
|
collectionConfig: SanitizedCollectionConfig;
|
|
6
6
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deleteUserPreferences.d.ts","sourceRoot":"","sources":["../../src/preferences/deleteUserPreferences.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"deleteUserPreferences.d.ts","sourceRoot":"","sources":["../../src/preferences/deleteUserPreferences.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC/E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEvD,KAAK,IAAI,GAAG;IACV,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C;;OAEG;IACH,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AACD,eAAO,MAAM,qBAAqB,4CAAmD,IAAI,kBAwBxF,CAAA"}
|
|
@@ -1,14 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "deleteUserPreferences", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return deleteUserPreferences;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const deleteUserPreferences = async ({ collectionConfig, ids, payload, req })=>{
|
|
1
|
+
export const deleteUserPreferences = async ({ collectionConfig, ids, payload, req })=>{
|
|
12
2
|
if (collectionConfig.auth) {
|
|
13
3
|
await payload.db.deleteMany({
|
|
14
4
|
collection: 'payload-preferences',
|
|
@@ -40,4 +30,4 @@ const deleteUserPreferences = async ({ collectionConfig, ids, payload, req })=>{
|
|
|
40
30
|
});
|
|
41
31
|
};
|
|
42
32
|
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcmVmZXJlbmNlcy9kZWxldGVVc2VyUHJlZmVyZW5jZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAnLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzLmpzJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkIH0gZnJvbSAnLi4vaW5kZXguanMnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAnLi4vdHlwZXMvaW5kZXguanMnXG5cbnR5cGUgQXJncyA9IHtcbiAgY29sbGVjdGlvbkNvbmZpZzogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZ1xuICAvKipcbiAgICogVXNlciBJRHMgdG8gZGVsZXRlXG4gICAqL1xuICBpZHM6IChudW1iZXIgfCBzdHJpbmcpW11cbiAgcGF5bG9hZDogUGF5bG9hZFxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG59XG5leHBvcnQgY29uc3QgZGVsZXRlVXNlclByZWZlcmVuY2VzID0gYXN5bmMgKHsgY29sbGVjdGlvbkNvbmZpZywgaWRzLCBwYXlsb2FkLCByZXEgfTogQXJncykgPT4ge1xuICBpZiAoY29sbGVjdGlvbkNvbmZpZy5hdXRoKSB7XG4gICAgYXdhaXQgcGF5bG9hZC5kYi5kZWxldGVNYW55KHtcbiAgICAgIGNvbGxlY3Rpb246ICdwYXlsb2FkLXByZWZlcmVuY2VzJyxcbiAgICAgIHJlcSxcbiAgICAgIHdoZXJlOiB7XG4gICAgICAgIGFuZDogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgICd1c2VyLnZhbHVlJzogeyBpbjogaWRzIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICAndXNlci5yZWxhdGlvblRvJzogeyBlcXVhbHM6IGNvbGxlY3Rpb25Db25maWcuc2x1ZyB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0pXG4gIH1cbiAgYXdhaXQgcGF5bG9hZC5kYi5kZWxldGVNYW55KHtcbiAgICBjb2xsZWN0aW9uOiAncGF5bG9hZC1wcmVmZXJlbmNlcycsXG4gICAgcmVxLFxuICAgIHdoZXJlOiB7XG4gICAgICBrZXk6IHsgaW46IGlkcy5tYXAoKGlkKSA9PiBgY29sbGVjdGlvbi0ke2NvbGxlY3Rpb25Db25maWcuc2x1Z30tJHtpZH1gKSB9LFxuICAgIH0sXG4gIH0pXG59XG4iXSwibmFtZXMiOlsiZGVsZXRlVXNlclByZWZlcmVuY2VzIiwiY29sbGVjdGlvbkNvbmZpZyIsImlkcyIsInBheWxvYWQiLCJyZXEiLCJhdXRoIiwiZGIiLCJkZWxldGVNYW55IiwiY29sbGVjdGlvbiIsIndoZXJlIiwiYW5kIiwiaW4iLCJlcXVhbHMiLCJzbHVnIiwia2V5IiwibWFwIiwiaWQiXSwibWFwcGluZ3MiOiJBQWFBLE9BQU8sTUFBTUEsd0JBQXdCLE9BQU8sRUFBRUMsZ0JBQWdCLEVBQUVDLEdBQUcsRUFBRUMsT0FBTyxFQUFFQyxHQUFHLEVBQVE7SUFDdkYsSUFBSUgsaUJBQWlCSSxJQUFJLEVBQUU7UUFDekIsTUFBTUYsUUFBUUcsRUFBRSxDQUFDQyxVQUFVLENBQUM7WUFDMUJDLFlBQVk7WUFDWko7WUFDQUssT0FBTztnQkFDTEMsS0FBSztvQkFDSDt3QkFDRSxjQUFjOzRCQUFFQyxJQUFJVDt3QkFBSTtvQkFDMUI7b0JBQ0E7d0JBQ0UsbUJBQW1COzRCQUFFVSxRQUFRWCxpQkFBaUJZLElBQUk7d0JBQUM7b0JBQ3JEO2lCQUNEO1lBQ0g7UUFDRjtJQUNGO0lBQ0EsTUFBTVYsUUFBUUcsRUFBRSxDQUFDQyxVQUFVLENBQUM7UUFDMUJDLFlBQVk7UUFDWko7UUFDQUssT0FBTztZQUNMSyxLQUFLO2dCQUFFSCxJQUFJVCxJQUFJYSxHQUFHLENBQUMsQ0FBQ0MsS0FBTyxDQUFDLFdBQVcsRUFBRWYsaUJBQWlCWSxJQUFJLENBQUMsQ0FBQyxFQUFFRyxHQUFHLENBQUM7WUFBRTtRQUMxRTtJQUNGO0FBQ0YsRUFBQyJ9
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Document } from '../../types';
|
|
2
|
-
import type { PreferenceRequest } from '../types';
|
|
1
|
+
import type { Document } from '../../types/index.js';
|
|
2
|
+
import type { PreferenceRequest } from '../types.js';
|
|
3
3
|
declare function deleteOperation(args: PreferenceRequest): Promise<Document>;
|
|
4
4
|
export default deleteOperation;
|
|
5
5
|
//# sourceMappingURL=delete.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/preferences/operations/delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAS,MAAM,
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/preferences/operations/delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAS,MAAM,sBAAsB,CAAA;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAOpD,iBAAe,eAAe,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAqCzE;AAED,eAAe,eAAe,CAAA"}
|
|
@@ -1,31 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _defaultAccess = /*#__PURE__*/ _interop_require_default(require("../../auth/defaultAccess"));
|
|
12
|
-
const _executeAccess = /*#__PURE__*/ _interop_require_default(require("../../auth/executeAccess"));
|
|
13
|
-
const _NotFound = /*#__PURE__*/ _interop_require_default(require("../../errors/NotFound"));
|
|
14
|
-
const _UnathorizedError = /*#__PURE__*/ _interop_require_default(require("../../errors/UnathorizedError"));
|
|
15
|
-
function _interop_require_default(obj) {
|
|
16
|
-
return obj && obj.__esModule ? obj : {
|
|
17
|
-
default: obj
|
|
18
|
-
};
|
|
19
|
-
}
|
|
1
|
+
import defaultAccess from '../../auth/defaultAccess.js';
|
|
2
|
+
import executeAccess from '../../auth/executeAccess.js';
|
|
3
|
+
import NotFound from '../../errors/NotFound.js';
|
|
4
|
+
import UnauthorizedError from '../../errors/UnathorizedError.js';
|
|
20
5
|
async function deleteOperation(args) {
|
|
21
6
|
const { key, overrideAccess, req: { payload }, req, user } = args;
|
|
22
7
|
if (!user) {
|
|
23
|
-
throw new
|
|
8
|
+
throw new UnauthorizedError(req.t);
|
|
24
9
|
}
|
|
25
10
|
if (!overrideAccess) {
|
|
26
|
-
await (
|
|
11
|
+
await executeAccess({
|
|
27
12
|
req
|
|
28
|
-
},
|
|
13
|
+
}, defaultAccess);
|
|
29
14
|
}
|
|
30
15
|
const where = {
|
|
31
16
|
and: [
|
|
@@ -56,8 +41,8 @@ async function deleteOperation(args) {
|
|
|
56
41
|
if (result.docs.length === 1) {
|
|
57
42
|
return result.docs[0];
|
|
58
43
|
}
|
|
59
|
-
throw new
|
|
44
|
+
throw new NotFound(req.t);
|
|
60
45
|
}
|
|
61
|
-
|
|
46
|
+
export default deleteOperation;
|
|
62
47
|
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcmVmZXJlbmNlcy9vcGVyYXRpb25zL2RlbGV0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERvY3VtZW50LCBXaGVyZSB9IGZyb20gJy4uLy4uL3R5cGVzL2luZGV4LmpzJ1xuaW1wb3J0IHR5cGUgeyBQcmVmZXJlbmNlUmVxdWVzdCB9IGZyb20gJy4uL3R5cGVzLmpzJ1xuXG5pbXBvcnQgZGVmYXVsdEFjY2VzcyBmcm9tICcuLi8uLi9hdXRoL2RlZmF1bHRBY2Nlc3MuanMnXG5pbXBvcnQgZXhlY3V0ZUFjY2VzcyBmcm9tICcuLi8uLi9hdXRoL2V4ZWN1dGVBY2Nlc3MuanMnXG5pbXBvcnQgTm90Rm91bmQgZnJvbSAnLi4vLi4vZXJyb3JzL05vdEZvdW5kLmpzJ1xuaW1wb3J0IFVuYXV0aG9yaXplZEVycm9yIGZyb20gJy4uLy4uL2Vycm9ycy9VbmF0aG9yaXplZEVycm9yLmpzJ1xuXG5hc3luYyBmdW5jdGlvbiBkZWxldGVPcGVyYXRpb24oYXJnczogUHJlZmVyZW5jZVJlcXVlc3QpOiBQcm9taXNlPERvY3VtZW50PiB7XG4gIGNvbnN0IHtcbiAgICBrZXksXG4gICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgcmVxOiB7IHBheWxvYWQgfSxcbiAgICByZXEsXG4gICAgdXNlcixcbiAgfSA9IGFyZ3NcblxuICBpZiAoIXVzZXIpIHtcbiAgICB0aHJvdyBuZXcgVW5hdXRob3JpemVkRXJyb3IocmVxLnQpXG4gIH1cblxuICBpZiAoIW92ZXJyaWRlQWNjZXNzKSB7XG4gICAgYXdhaXQgZXhlY3V0ZUFjY2Vzcyh7IHJlcSB9LCBkZWZhdWx0QWNjZXNzKVxuICB9XG5cbiAgY29uc3Qgd2hlcmU6IFdoZXJlID0ge1xuICAgIGFuZDogW1xuICAgICAgeyBrZXk6IHsgZXF1YWxzOiBrZXkgfSB9LFxuICAgICAgeyAndXNlci52YWx1ZSc6IHsgZXF1YWxzOiB1c2VyLmlkIH0gfSxcbiAgICAgIHsgJ3VzZXIucmVsYXRpb25Ubyc6IHsgZXF1YWxzOiB1c2VyLmNvbGxlY3Rpb24gfSB9LFxuICAgIF0sXG4gIH1cblxuICBjb25zdCByZXN1bHQgPSBhd2FpdCBwYXlsb2FkLmRlbGV0ZSh7XG4gICAgY29sbGVjdGlvbjogJ3BheWxvYWQtcHJlZmVyZW5jZXMnLFxuICAgIGRlcHRoOiAwLFxuICAgIHVzZXIsXG4gICAgd2hlcmUsXG4gIH0pXG5cbiAgLy8gQHRzLWV4cGVjdC1lcnJvciAvLyBUT0RPOiBmaXggbGF0ZXJcbiAgaWYgKHJlc3VsdC5kb2NzLmxlbmd0aCA9PT0gMSkge1xuICAgIHJldHVybiByZXN1bHQuZG9jc1swXVxuICB9XG4gIHRocm93IG5ldyBOb3RGb3VuZChyZXEudClcbn1cblxuZXhwb3J0IGRlZmF1bHQgZGVsZXRlT3BlcmF0aW9uXG4iXSwibmFtZXMiOlsiZGVmYXVsdEFjY2VzcyIsImV4ZWN1dGVBY2Nlc3MiLCJOb3RGb3VuZCIsIlVuYXV0aG9yaXplZEVycm9yIiwiZGVsZXRlT3BlcmF0aW9uIiwiYXJncyIsImtleSIsIm92ZXJyaWRlQWNjZXNzIiwicmVxIiwicGF5bG9hZCIsInVzZXIiLCJ0Iiwid2hlcmUiLCJhbmQiLCJlcXVhbHMiLCJpZCIsImNvbGxlY3Rpb24iLCJyZXN1bHQiLCJkZWxldGUiLCJkZXB0aCIsImRvY3MiLCJsZW5ndGgiXSwibWFwcGluZ3MiOiJBQUdBLE9BQU9BLG1CQUFtQiw4QkFBNkI7QUFDdkQsT0FBT0MsbUJBQW1CLDhCQUE2QjtBQUN2RCxPQUFPQyxjQUFjLDJCQUEwQjtBQUMvQyxPQUFPQyx1QkFBdUIsbUNBQWtDO0FBRWhFLGVBQWVDLGdCQUFnQkMsSUFBdUI7SUFDcEQsTUFBTSxFQUNKQyxHQUFHLEVBQ0hDLGNBQWMsRUFDZEMsS0FBSyxFQUFFQyxPQUFPLEVBQUUsRUFDaEJELEdBQUcsRUFDSEUsSUFBSSxFQUNMLEdBQUdMO0lBRUosSUFBSSxDQUFDSyxNQUFNO1FBQ1QsTUFBTSxJQUFJUCxrQkFBa0JLLElBQUlHLENBQUM7SUFDbkM7SUFFQSxJQUFJLENBQUNKLGdCQUFnQjtRQUNuQixNQUFNTixjQUFjO1lBQUVPO1FBQUksR0FBR1I7SUFDL0I7SUFFQSxNQUFNWSxRQUFlO1FBQ25CQyxLQUFLO1lBQ0g7Z0JBQUVQLEtBQUs7b0JBQUVRLFFBQVFSO2dCQUFJO1lBQUU7WUFDdkI7Z0JBQUUsY0FBYztvQkFBRVEsUUFBUUosS0FBS0ssRUFBRTtnQkFBQztZQUFFO1lBQ3BDO2dCQUFFLG1CQUFtQjtvQkFBRUQsUUFBUUosS0FBS00sVUFBVTtnQkFBQztZQUFFO1NBQ2xEO0lBQ0g7SUFFQSxNQUFNQyxTQUFTLE1BQU1SLFFBQVFTLE1BQU0sQ0FBQztRQUNsQ0YsWUFBWTtRQUNaRyxPQUFPO1FBQ1BUO1FBQ0FFO0lBQ0Y7SUFFQSxzQ0FBc0M7SUFDdEMsSUFBSUssT0FBT0csSUFBSSxDQUFDQyxNQUFNLEtBQUssR0FBRztRQUM1QixPQUFPSixPQUFPRyxJQUFJLENBQUMsRUFBRTtJQUN2QjtJQUNBLE1BQU0sSUFBSWxCLFNBQVNNLElBQUlHLENBQUM7QUFDMUI7QUFFQSxlQUFlUCxnQkFBZSJ9
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { GeneratedTypes } from '../../';
|
|
2
|
-
import type { PreferenceRequest } from '../types';
|
|
1
|
+
import type { GeneratedTypes } from '../../index.js';
|
|
2
|
+
import type { PreferenceRequest } from '../types.js';
|
|
3
3
|
declare function findOne(args: PreferenceRequest): Promise<GeneratedTypes['collections']['_preference']>;
|
|
4
4
|
export default findOne;
|
|
5
5
|
//# sourceMappingURL=findOne.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findOne.d.ts","sourceRoot":"","sources":["../../../src/preferences/operations/findOne.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"findOne.d.ts","sourceRoot":"","sources":["../../../src/preferences/operations/findOne.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAEpD,iBAAe,OAAO,CACpB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,CAAC,CA4BvD;AAED,eAAe,OAAO,CAAA"}
|