payload 3.0.0-alpha.2 → 3.0.0-alpha.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/auth.js +5 -44
- package/bin.js +40 -1
- package/components.d.ts +14 -0
- package/components.js +71 -0
- package/config.js +10 -59
- package/database.js +21 -108
- package/dist/admin/RichText.js +2 -5
- 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.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.js +2 -5
- package/dist/admin/types.d.ts +2 -1
- 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.js +2 -12
- package/dist/auth/baseFields/apiKey.js +6 -21
- package/dist/auth/baseFields/auth.js +6 -16
- package/dist/auth/baseFields/verification.js +4 -14
- package/dist/auth/cookies.js +6 -33
- package/dist/auth/crypto.js +7 -30
- package/dist/auth/defaultAccess.js +2 -12
- package/dist/auth/defaultUser.js +4 -14
- package/dist/auth/executeAccess.js +5 -15
- package/dist/auth/extractJWT.js +4 -14
- package/dist/auth/getAccessResults.js +5 -15
- package/dist/auth/getAuthenticatedUser.js +2 -12
- package/dist/auth/getFieldsToSign.js +5 -15
- package/dist/auth/index.js +4 -27
- package/dist/auth/isLocked.js +2 -12
- package/dist/auth/operations/access.js +12 -22
- package/dist/auth/operations/forgotPassword.js +17 -32
- package/dist/auth/operations/init.js +2 -12
- package/dist/auth/operations/local/forgotPassword.js +8 -18
- package/dist/auth/operations/local/index.js +12 -27
- package/dist/auth/operations/local/login.js +8 -18
- package/dist/auth/operations/local/resetPassword.js +8 -18
- package/dist/auth/operations/local/unlock.js +8 -18
- package/dist/auth/operations/local/verifyEmail.js +8 -18
- package/dist/auth/operations/login.js +32 -47
- package/dist/auth/operations/logout.js +6 -21
- package/dist/auth/operations/me.js +4 -19
- package/dist/auth/operations/refresh.js +19 -34
- package/dist/auth/operations/registerFirstUser.js +10 -20
- package/dist/auth/operations/resetPassword.js +20 -43
- package/dist/auth/operations/unlock.js +16 -39
- package/dist/auth/operations/verifyEmail.js +14 -37
- package/dist/auth/sendVerificationEmail.js +4 -14
- package/dist/auth/strategies/apiKey.js +4 -19
- package/dist/auth/strategies/jwt.js +6 -21
- package/dist/auth/strategies/local/authenticate.js +6 -21
- package/dist/auth/strategies/local/generatePasswordSaltHash.js +7 -22
- package/dist/auth/strategies/local/incrementLoginAttempts.js +2 -12
- package/dist/auth/strategies/local/register.js +6 -16
- package/dist/auth/strategies/local/resetLoginAttempts.js +2 -12
- package/dist/auth/types.js +2 -12
- package/dist/bin/generateTypes.js +12 -27
- package/dist/bin/index.js +11 -53
- package/dist/bin/loadEnv.js +13 -26
- package/dist/bin/migrate.js +15 -30
- package/dist/bundlers/mocks/db-mongodb.js +0 -1
- package/dist/bundlers/mocks/db-postgres.js +2 -12
- package/dist/bundlers/mocks/dotENV.js +2 -12
- package/dist/bundlers/mocks/emptyModule.js +2 -12
- package/dist/bundlers/mocks/fileMock.js +2 -12
- package/dist/bundlers/types.js +2 -5
- package/dist/collections/config/build.js +2 -12
- package/dist/collections/config/defaults.js +9 -32
- package/dist/collections/config/sanitize.js +34 -49
- package/dist/collections/config/schema.js +157 -172
- package/dist/collections/config/types.d.ts +5 -5
- package/dist/collections/config/types.d.ts.map +1 -1
- package/dist/collections/config/types.js +2 -5
- package/dist/collections/dataloader.js +8 -23
- package/dist/collections/operations/create.js +38 -53
- package/dist/collections/operations/delete.js +27 -42
- package/dist/collections/operations/deleteByID.js +27 -42
- package/dist/collections/operations/docAccess.js +10 -20
- package/dist/collections/operations/find.js +25 -40
- package/dist/collections/operations/findByID.js +21 -36
- package/dist/collections/operations/findVersionByID.js +19 -34
- package/dist/collections/operations/findVersions.js +20 -35
- package/dist/collections/operations/local/create.js +10 -25
- package/dist/collections/operations/local/delete.js +10 -20
- package/dist/collections/operations/local/find.js +8 -18
- package/dist/collections/operations/local/findByID.js +8 -18
- package/dist/collections/operations/local/findVersionByID.js +8 -18
- package/dist/collections/operations/local/findVersions.js +8 -18
- package/dist/collections/operations/local/index.js +20 -35
- package/dist/collections/operations/local/restoreVersion.js +8 -18
- package/dist/collections/operations/local/update.js +12 -27
- package/dist/collections/operations/restoreVersion.js +26 -41
- package/dist/collections/operations/update.js +43 -58
- package/dist/collections/operations/updateByID.js +44 -59
- package/dist/collections/operations/utils.js +3 -12
- package/dist/config/build.js +9 -15
- package/dist/config/clientFiles.js +2 -12
- package/dist/config/createClientConfig.d.ts.map +1 -1
- package/dist/config/createClientConfig.js +12 -25
- package/dist/config/defaults.js +4 -19
- package/dist/config/find.js +18 -33
- package/dist/config/load.d.ts +1 -3
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/load.js +8 -37
- 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 +12 -21
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +9 -21
- package/dist/config/validate.js +15 -71
- package/dist/database/combineQueries.js +4 -14
- package/dist/database/createDatabaseAdapter.js +14 -24
- package/dist/database/flattenWhereToOperators.js +2 -12
- package/dist/database/getLocalizedPaths.js +7 -22
- package/dist/database/migrations/createMigration.js +7 -22
- package/dist/database/migrations/getMigrations.js +4 -12
- package/dist/database/migrations/migrate.js +12 -22
- package/dist/database/migrations/migrateDown.js +12 -22
- package/dist/database/migrations/migrateRefresh.js +16 -24
- package/dist/database/migrations/migrateReset.js +12 -22
- package/dist/database/migrations/migrateStatus.js +8 -18
- package/dist/database/migrations/migrationTemplate.js +2 -12
- package/dist/database/migrations/migrationsCollection.js +2 -12
- package/dist/database/migrations/readMigrationFiles.d.ts.map +1 -1
- package/dist/database/migrations/readMigrationFiles.js +12 -24
- package/dist/database/queryValidation/types.js +2 -5
- package/dist/database/queryValidation/validateQueryPaths.js +13 -28
- package/dist/database/queryValidation/validateSearchParams.js +13 -21
- package/dist/database/types.d.ts +5 -2
- package/dist/database/types.d.ts.map +1 -1
- package/dist/database/types.js +2 -5
- package/dist/email/build.js +11 -26
- package/dist/email/defaults.js +2 -12
- 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.js +7 -22
- package/dist/errors/DuplicateCollection.js +4 -19
- package/dist/errors/DuplicateFieldName.js +4 -19
- package/dist/errors/DuplicateGlobal.js +4 -19
- package/dist/errors/ErrorDeletingFile.js +7 -22
- package/dist/errors/FileUploadError.js +7 -22
- package/dist/errors/Forbidden.js +7 -22
- package/dist/errors/InvalidConfiguration.js +6 -21
- package/dist/errors/InvalidFieldName.js +4 -19
- package/dist/errors/InvalidFieldRelationship.js +4 -19
- package/dist/errors/InvalidSchema.js +6 -21
- package/dist/errors/LockedAuth.js +7 -22
- package/dist/errors/MissingCollectionLabel.js +4 -19
- package/dist/errors/MissingFieldInputOptions.js +4 -19
- package/dist/errors/MissingFieldType.js +6 -21
- package/dist/errors/MissingFile.js +7 -22
- package/dist/errors/NotFound.js +7 -22
- package/dist/errors/QueryError.js +6 -21
- package/dist/errors/TimestampsRequired.js +4 -19
- package/dist/errors/UnathorizedError.js +7 -22
- package/dist/errors/ValidationError.js +8 -23
- package/dist/errors/index.js +20 -94
- package/dist/errors/types.js +2 -19
- package/dist/exports/auth.js +5 -44
- package/dist/exports/components/utilities.d.ts +0 -1
- package/dist/exports/components/utilities.js +0 -1
- package/dist/exports/config.js +10 -59
- package/dist/exports/database.js +21 -108
- package/dist/exports/errors.js +2 -68
- package/dist/exports/fields/index.js +3 -26
- package/dist/exports/fields/validations.js +2 -19
- package/dist/exports/operations.js +29 -125
- package/dist/exports/types.js +4 -74
- package/dist/exports/utilities.js +28 -141
- package/dist/exports/versions.js +9 -45
- package/dist/express/middleware/errorHandler.d.ts +0 -1
- package/dist/express/middleware/errorHandler.js +0 -1
- package/dist/express/middleware/index.d.ts +0 -1
- package/dist/express/middleware/index.js +0 -1
- package/dist/fields/baseFields/baseBlockFields.js +4 -14
- package/dist/fields/baseFields/baseIDField.js +4 -19
- package/dist/fields/config/sanitize.js +24 -39
- package/dist/fields/config/sanitize.spec.js +25 -29
- package/dist/fields/config/schema.js +329 -424
- package/dist/fields/config/types.js +15 -69
- package/dist/fields/getDefaultValue.js +2 -12
- package/dist/fields/hooks/afterChange/index.js +6 -16
- package/dist/fields/hooks/afterChange/promise.js +14 -22
- package/dist/fields/hooks/afterChange/traverseFields.js +4 -14
- package/dist/fields/hooks/afterRead/index.js +6 -16
- package/dist/fields/hooks/afterRead/promise.js +28 -36
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js +5 -15
- 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.js +8 -18
- package/dist/fields/hooks/beforeChange/promise.js +26 -35
- package/dist/fields/hooks/beforeChange/traverseFields.js +4 -14
- package/dist/fields/hooks/beforeValidate/index.js +6 -16
- package/dist/fields/hooks/beforeValidate/promise.js +30 -39
- package/dist/fields/hooks/beforeValidate/traverseFields.js +4 -14
- package/dist/fields/mergeBaseFields.js +8 -23
- package/dist/fields/sortableFieldTypes.js +2 -12
- package/dist/fields/validations.js +31 -97
- package/dist/fields/validations.spec.js +93 -87
- package/dist/globals/config/build.d.ts +0 -1
- package/dist/globals/config/build.js +0 -1
- package/dist/globals/config/sanitize.js +17 -32
- package/dist/globals/config/schema.js +55 -70
- package/dist/globals/config/types.d.ts +5 -5
- package/dist/globals/config/types.d.ts.map +1 -1
- package/dist/globals/config/types.js +2 -5
- package/dist/globals/graphql/resolvers/docAccess.d.ts +0 -1
- package/dist/globals/graphql/resolvers/docAccess.js +0 -1
- package/dist/globals/operations/docAccess.js +10 -20
- package/dist/globals/operations/findOne.js +14 -29
- package/dist/globals/operations/findVersionByID.js +18 -33
- package/dist/globals/operations/findVersions.js +20 -35
- package/dist/globals/operations/local/findOne.js +8 -18
- package/dist/globals/operations/local/findVersionByID.js +8 -18
- package/dist/globals/operations/local/findVersions.js +8 -18
- package/dist/globals/operations/local/index.js +12 -27
- package/dist/globals/operations/local/restoreVersion.js +8 -18
- package/dist/globals/operations/local/update.js +8 -18
- package/dist/globals/operations/restoreVersion.js +16 -31
- package/dist/globals/operations/update.js +23 -38
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +50 -70
- package/dist/localization/middleware.js +2 -12
- package/dist/localization/sanitizeFallbackLocale.js +2 -12
- package/dist/preferences/deleteUserPreferences.js +2 -12
- package/dist/preferences/operations/delete.js +10 -25
- package/dist/preferences/operations/findOne.js +2 -12
- package/dist/preferences/operations/update.js +8 -23
- package/dist/preferences/preferencesCollection.js +8 -18
- package/dist/preferences/requestHandlers/delete.js +6 -21
- package/dist/preferences/requestHandlers/findOne.js +6 -21
- package/dist/preferences/requestHandlers/update.js +6 -21
- package/dist/preferences/types.js +2 -5
- package/dist/translations/extractTranslations.js +4 -14
- package/dist/translations/getLocalI18n.js +5 -15
- package/dist/types/constants.js +2 -12
- 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.js +11 -26
- 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.map +1 -1
- package/dist/uploads/generateFileData.js +40 -53
- package/dist/uploads/getBaseFields.js +6 -16
- package/dist/uploads/getExternalFile.js +5 -15
- package/dist/uploads/getFileByPath.js +10 -25
- package/dist/uploads/getImageSize.js +7 -22
- package/dist/uploads/getSafeFilename.js +8 -23
- package/dist/uploads/imageResizer.d.ts +3 -1
- package/dist/uploads/imageResizer.d.ts.map +1 -1
- package/dist/uploads/imageResizer.js +28 -44
- package/dist/uploads/isImage.js +2 -12
- package/dist/uploads/mimeTypeValidator.js +2 -12
- package/dist/uploads/mimeTypeValidator.spec.js +11 -15
- package/dist/uploads/saveBufferToFile.js +6 -21
- package/dist/uploads/types.d.ts +7 -1
- package/dist/uploads/types.d.ts.map +1 -1
- package/dist/uploads/types.js +2 -5
- package/dist/uploads/unlinkTempFiles.js +9 -22
- package/dist/uploads/uploadFiles.js +6 -21
- package/dist/utilities/checkDuplicateCollections.js +4 -14
- package/dist/utilities/combineMerge.js +4 -19
- package/dist/utilities/commitTransaction.js +4 -12
- package/dist/utilities/configToJSONSchema.js +22 -41
- 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.js +6 -16
- package/dist/utilities/deepCopyObject.js +2 -12
- package/dist/utilities/deepMerge.js +2 -12
- package/dist/utilities/fieldSchemaToJSON.js +2 -12
- package/dist/utilities/flattenTopLevelFields.js +6 -16
- package/dist/utilities/formatLabels.js +9 -70
- package/dist/utilities/formatLabels.spec.js +8 -12
- package/dist/utilities/getCSSVariable.js +2 -12
- package/dist/utilities/getEntityPolicies.js +4 -14
- 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.js +5 -12
- package/dist/utilities/isEntityHidden.js +2 -12
- package/dist/utilities/isNumber.js +2 -12
- package/dist/utilities/isValidID.js +5 -20
- package/dist/utilities/isolateObjectProperty.js +2 -12
- package/dist/utilities/killTransaction.js +4 -12
- package/dist/utilities/logger.d.ts.map +1 -1
- package/dist/utilities/logger.js +16 -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/pinoPretty.d.ts +1 -0
- package/dist/utilities/pinoPretty.d.ts.map +1 -0
- package/dist/utilities/pinoPretty.js +2 -0
- package/dist/utilities/sanitizeInternalFields.js +2 -12
- package/dist/utilities/setsAreEqual.js +2 -12
- package/dist/utilities/telemetry/events/adminInit.js +7 -17
- package/dist/utilities/telemetry/events/serverInit.js +4 -14
- package/dist/utilities/telemetry/index.js +17 -40
- package/dist/utilities/telemetry/oneWayHash.js +4 -14
- package/dist/utilities/timestamp.js +2 -12
- package/dist/utilities/toKebabCase.js +2 -12
- package/dist/utilities/wait.js +2 -12
- package/dist/utilities/wordBoundariesRegex.js +3 -13
- package/dist/versions/baseFields.js +5 -23
- package/dist/versions/buildCollectionFields.js +2 -12
- package/dist/versions/buildGlobalFields.js +2 -12
- package/dist/versions/deleteCollectionVersions.js +2 -12
- package/dist/versions/drafts/appendVersionToQueryKey.js +2 -12
- package/dist/versions/drafts/getQueryDraftsSort.js +2 -12
- package/dist/versions/drafts/replaceWithDraftIfAvailable.js +12 -27
- package/dist/versions/enforceMaxVersions.js +2 -12
- package/dist/versions/getLatestCollectionVersion.js +4 -14
- package/dist/versions/getLatestGlobalVersion.js +4 -14
- package/dist/versions/getVersionsModelName.js +2 -12
- package/dist/versions/saveVersion.js +8 -23
- package/dist/versions/types.js +2 -5
- package/errors.js +2 -68
- package/graphql.d.ts +3 -0
- package/graphql.js +27 -0
- package/operations.js +29 -125
- package/package.json +17 -5
- package/types.js +4 -74
- package/utilities.js +28 -141
- package/versions.js +9 -45
|
@@ -1,34 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const
|
|
14
|
-
const _errors = require("../../errors");
|
|
15
|
-
const _afterRead = require("../../fields/hooks/afterRead");
|
|
16
|
-
const _deleteUserPreferences = require("../../preferences/deleteUserPreferences");
|
|
17
|
-
const _deleteAssociatedFiles = require("../../uploads/deleteAssociatedFiles");
|
|
18
|
-
const _commitTransaction = require("../../utilities/commitTransaction");
|
|
19
|
-
const _initTransaction = require("../../utilities/initTransaction");
|
|
20
|
-
const _killTransaction = require("../../utilities/killTransaction");
|
|
21
|
-
const _deleteCollectionVersions = require("../../versions/deleteCollectionVersions");
|
|
22
|
-
const _utils = require("./utils");
|
|
23
|
-
function _interop_require_default(obj) {
|
|
24
|
-
return obj && obj.__esModule ? obj : {
|
|
25
|
-
default: obj
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
const deleteByIDOperation = async (incomingArgs)=>{
|
|
1
|
+
import executeAccess from '../../auth/executeAccess';
|
|
2
|
+
import { hasWhereAccessResult } from '../../auth/types';
|
|
3
|
+
import { combineQueries } from '../../database/combineQueries';
|
|
4
|
+
import { Forbidden, NotFound } from '../../errors';
|
|
5
|
+
import { afterRead } from '../../fields/hooks/afterRead';
|
|
6
|
+
import { deleteUserPreferences } from '../../preferences/deleteUserPreferences';
|
|
7
|
+
import { deleteAssociatedFiles } from '../../uploads/deleteAssociatedFiles';
|
|
8
|
+
import { commitTransaction } from '../../utilities/commitTransaction';
|
|
9
|
+
import { initTransaction } from '../../utilities/initTransaction';
|
|
10
|
+
import { killTransaction } from '../../utilities/killTransaction';
|
|
11
|
+
import { deleteCollectionVersions } from '../../versions/deleteCollectionVersions';
|
|
12
|
+
import { buildAfterOperation } from './utils';
|
|
13
|
+
export const deleteByIDOperation = async (incomingArgs)=>{
|
|
29
14
|
let args = incomingArgs;
|
|
30
15
|
try {
|
|
31
|
-
const shouldCommit = await
|
|
16
|
+
const shouldCommit = await initTransaction(args.req);
|
|
32
17
|
// /////////////////////////////////////
|
|
33
18
|
// beforeOperation - Collection
|
|
34
19
|
// /////////////////////////////////////
|
|
@@ -46,11 +31,11 @@ const deleteByIDOperation = async (incomingArgs)=>{
|
|
|
46
31
|
// /////////////////////////////////////
|
|
47
32
|
// Access
|
|
48
33
|
// /////////////////////////////////////
|
|
49
|
-
const accessResults = !overrideAccess ? await (
|
|
34
|
+
const accessResults = !overrideAccess ? await executeAccess({
|
|
50
35
|
id,
|
|
51
36
|
req
|
|
52
37
|
}, collectionConfig.access.delete) : true;
|
|
53
|
-
const hasWhereAccess =
|
|
38
|
+
const hasWhereAccess = hasWhereAccessResult(accessResults);
|
|
54
39
|
// /////////////////////////////////////
|
|
55
40
|
// beforeDelete - Collection
|
|
56
41
|
// /////////////////////////////////////
|
|
@@ -70,15 +55,15 @@ const deleteByIDOperation = async (incomingArgs)=>{
|
|
|
70
55
|
collection: collectionConfig.slug,
|
|
71
56
|
locale: req.locale,
|
|
72
57
|
req,
|
|
73
|
-
where:
|
|
58
|
+
where: combineQueries({
|
|
74
59
|
id: {
|
|
75
60
|
equals: id
|
|
76
61
|
}
|
|
77
62
|
}, accessResults)
|
|
78
63
|
});
|
|
79
|
-
if (!docToDelete && !hasWhereAccess) throw new
|
|
80
|
-
if (!docToDelete && hasWhereAccess) throw new
|
|
81
|
-
await
|
|
64
|
+
if (!docToDelete && !hasWhereAccess) throw new NotFound(req.t);
|
|
65
|
+
if (!docToDelete && hasWhereAccess) throw new Forbidden(req.t);
|
|
66
|
+
await deleteAssociatedFiles({
|
|
82
67
|
collectionConfig,
|
|
83
68
|
config,
|
|
84
69
|
doc: docToDelete,
|
|
@@ -89,7 +74,7 @@ const deleteByIDOperation = async (incomingArgs)=>{
|
|
|
89
74
|
// Delete versions
|
|
90
75
|
// /////////////////////////////////////
|
|
91
76
|
if (collectionConfig.versions) {
|
|
92
|
-
await
|
|
77
|
+
await deleteCollectionVersions({
|
|
93
78
|
id,
|
|
94
79
|
slug: collectionConfig.slug,
|
|
95
80
|
payload,
|
|
@@ -111,7 +96,7 @@ const deleteByIDOperation = async (incomingArgs)=>{
|
|
|
111
96
|
// /////////////////////////////////////
|
|
112
97
|
// Delete Preferences
|
|
113
98
|
// /////////////////////////////////////
|
|
114
|
-
await
|
|
99
|
+
await deleteUserPreferences({
|
|
115
100
|
collectionConfig,
|
|
116
101
|
ids: [
|
|
117
102
|
id
|
|
@@ -122,7 +107,7 @@ const deleteByIDOperation = async (incomingArgs)=>{
|
|
|
122
107
|
// /////////////////////////////////////
|
|
123
108
|
// afterRead - Fields
|
|
124
109
|
// /////////////////////////////////////
|
|
125
|
-
result = await
|
|
110
|
+
result = await afterRead({
|
|
126
111
|
collection: collectionConfig,
|
|
127
112
|
context: req.context,
|
|
128
113
|
depth,
|
|
@@ -162,7 +147,7 @@ const deleteByIDOperation = async (incomingArgs)=>{
|
|
|
162
147
|
// /////////////////////////////////////
|
|
163
148
|
// afterOperation - Collection
|
|
164
149
|
// /////////////////////////////////////
|
|
165
|
-
result = await
|
|
150
|
+
result = await buildAfterOperation({
|
|
166
151
|
args,
|
|
167
152
|
collection: collectionConfig,
|
|
168
153
|
operation: 'deleteByID',
|
|
@@ -171,12 +156,12 @@ const deleteByIDOperation = async (incomingArgs)=>{
|
|
|
171
156
|
// /////////////////////////////////////
|
|
172
157
|
// 8. Return results
|
|
173
158
|
// /////////////////////////////////////
|
|
174
|
-
if (shouldCommit) await
|
|
159
|
+
if (shouldCommit) await commitTransaction(req);
|
|
175
160
|
return result;
|
|
176
161
|
} catch (error) {
|
|
177
|
-
await
|
|
162
|
+
await killTransaction(args.req);
|
|
178
163
|
throw error;
|
|
179
164
|
}
|
|
180
165
|
};
|
|
181
166
|
|
|
182
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2RlbGV0ZUJ5SUQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBHZW5lcmF0ZWRUeXBlcyB9IGZyb20gJy4uLy4uLydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi8uLi90eXBlcydcbmltcG9ydCB0eXBlIHsgRG9jdW1lbnQgfSBmcm9tICcuLi8uLi90eXBlcydcbmltcG9ydCB0eXBlIHsgQmVmb3JlT3BlcmF0aW9uSG9vaywgQ29sbGVjdGlvbiB9IGZyb20gJy4uL2NvbmZpZy90eXBlcydcblxuaW1wb3J0IGV4ZWN1dGVBY2Nlc3MgZnJvbSAnLi4vLi4vYXV0aC9leGVjdXRlQWNjZXNzJ1xuaW1wb3J0IHsgaGFzV2hlcmVBY2Nlc3NSZXN1bHQgfSBmcm9tICcuLi8uLi9hdXRoL3R5cGVzJ1xuaW1wb3J0IHsgY29tYmluZVF1ZXJpZXMgfSBmcm9tICcuLi8uLi9kYXRhYmFzZS9jb21iaW5lUXVlcmllcydcbmltcG9ydCB7IEZvcmJpZGRlbiwgTm90Rm91bmQgfSBmcm9tICcuLi8uLi9lcnJvcnMnXG5pbXBvcnQgeyBhZnRlclJlYWQgfSBmcm9tICcuLi8uLi9maWVsZHMvaG9va3MvYWZ0ZXJSZWFkJ1xuaW1wb3J0IHsgZGVsZXRlVXNlclByZWZlcmVuY2VzIH0gZnJvbSAnLi4vLi4vcHJlZmVyZW5jZXMvZGVsZXRlVXNlclByZWZlcmVuY2VzJ1xuaW1wb3J0IHsgZGVsZXRlQXNzb2NpYXRlZEZpbGVzIH0gZnJvbSAnLi4vLi4vdXBsb2Fkcy9kZWxldGVBc3NvY2lhdGVkRmlsZXMnXG5pbXBvcnQgeyBjb21taXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9jb21taXRUcmFuc2FjdGlvbidcbmltcG9ydCB7IGluaXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9pbml0VHJhbnNhY3Rpb24nXG5pbXBvcnQgeyBraWxsVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMva2lsbFRyYW5zYWN0aW9uJ1xuaW1wb3J0IHsgZGVsZXRlQ29sbGVjdGlvblZlcnNpb25zIH0gZnJvbSAnLi4vLi4vdmVyc2lvbnMvZGVsZXRlQ29sbGVjdGlvblZlcnNpb25zJ1xuaW1wb3J0IHsgYnVpbGRBZnRlck9wZXJhdGlvbiB9IGZyb20gJy4vdXRpbHMnXG5cbmV4cG9ydCB0eXBlIEFyZ3VtZW50cyA9IHtcbiAgY29sbGVjdGlvbjogQ29sbGVjdGlvblxuICBkZXB0aD86IG51bWJlclxuICBpZDogbnVtYmVyIHwgc3RyaW5nXG4gIG92ZXJyaWRlQWNjZXNzPzogYm9vbGVhblxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gIHNob3dIaWRkZW5GaWVsZHM/OiBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCBkZWxldGVCeUlET3BlcmF0aW9uID0gYXN5bmMgPFRTbHVnIGV4dGVuZHMga2V5b2YgR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICBpbmNvbWluZ0FyZ3M6IEFyZ3VtZW50cyxcbik6IFByb21pc2U8RG9jdW1lbnQ+ID0+IHtcbiAgbGV0IGFyZ3MgPSBpbmNvbWluZ0FyZ3NcblxuICB0cnkge1xuICAgIGNvbnN0IHNob3VsZENvbW1pdCA9IGF3YWl0IGluaXRUcmFuc2FjdGlvbihhcmdzLnJlcSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBiZWZvcmVPcGVyYXRpb24gLSBDb2xsZWN0aW9uXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgYXdhaXQgYXJncy5jb2xsZWN0aW9uLmNvbmZpZy5ob29rcy5iZWZvcmVPcGVyYXRpb24ucmVkdWNlKFxuICAgICAgYXN5bmMgKHByaW9ySG9vazogQmVmb3JlT3BlcmF0aW9uSG9vayB8IFByb21pc2U8dm9pZD4sIGhvb2s6IEJlZm9yZU9wZXJhdGlvbkhvb2spID0+IHtcbiAgICAgICAgYXdhaXQgcHJpb3JIb29rXG5cbiAgICAgICAgYXJncyA9XG4gICAgICAgICAgKGF3YWl0IGhvb2soe1xuICAgICAgICAgICAgYXJncyxcbiAgICAgICAgICAgIGNvbGxlY3Rpb246IGFyZ3MuY29sbGVjdGlvbi5jb25maWcsXG4gICAgICAgICAgICBjb250ZXh0OiBhcmdzLnJlcS5jb250ZXh0LFxuICAgICAgICAgICAgb3BlcmF0aW9uOiAnZGVsZXRlJyxcbiAgICAgICAgICAgIHJlcTogYXJncy5yZXEsXG4gICAgICAgICAgfSkpIHx8IGFyZ3NcbiAgICAgIH0sXG4gICAgICBQcm9taXNlLnJlc29sdmUoKSxcbiAgICApXG5cbiAgICBjb25zdCB7XG4gICAgICBpZCxcbiAgICAgIGNvbGxlY3Rpb246IHsgY29uZmlnOiBjb2xsZWN0aW9uQ29uZmlnIH0sXG4gICAgICBkZXB0aCxcbiAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgcmVxOiB7XG4gICAgICAgIGZhbGxiYWNrTG9jYWxlLFxuICAgICAgICBsb2NhbGUsXG4gICAgICAgIHBheWxvYWQ6IHsgY29uZmlnIH0sXG4gICAgICAgIHBheWxvYWQsXG4gICAgICB9LFxuICAgICAgcmVxLFxuICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICB9ID0gYXJnc1xuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIEFjY2Vzc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGNvbnN0IGFjY2Vzc1Jlc3VsdHMgPSAhb3ZlcnJpZGVBY2Nlc3NcbiAgICAgID8gYXdhaXQgZXhlY3V0ZUFjY2Vzcyh7IGlkLCByZXEgfSwgY29sbGVjdGlvbkNvbmZpZy5hY2Nlc3MuZGVsZXRlKVxuICAgICAgOiB0cnVlXG4gICAgY29uc3QgaGFzV2hlcmVBY2Nlc3MgPSBoYXNXaGVyZUFjY2Vzc1Jlc3VsdChhY2Nlc3NSZXN1bHRzKVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGJlZm9yZURlbGV0ZSAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBhd2FpdCBjb2xsZWN0aW9uQ29uZmlnLmhvb2tzLmJlZm9yZURlbGV0ZS5yZWR1Y2UoYXN5bmMgKHByaW9ySG9vaywgaG9vaykgPT4ge1xuICAgICAgYXdhaXQgcHJpb3JIb29rXG5cbiAgICAgIHJldHVybiBob29rKHtcbiAgICAgICAgaWQsXG4gICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgIGNvbnRleHQ6IHJlcS5jb250ZXh0LFxuICAgICAgICByZXEsXG4gICAgICB9KVxuICAgIH0sIFByb21pc2UucmVzb2x2ZSgpKVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIFJldHJpZXZlIGRvY3VtZW50XG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgY29uc3QgZG9jVG9EZWxldGUgPSBhd2FpdCByZXEucGF5bG9hZC5kYi5maW5kT25lKHtcbiAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcuc2x1ZyxcbiAgICAgIGxvY2FsZTogcmVxLmxvY2FsZSxcbiAgICAgIHJlcSxcbiAgICAgIHdoZXJlOiBjb21iaW5lUXVlcmllcyh7IGlkOiB7IGVxdWFsczogaWQgfSB9LCBhY2Nlc3NSZXN1bHRzKSxcbiAgICB9KVxuXG4gICAgaWYgKCFkb2NUb0RlbGV0ZSAmJiAhaGFzV2hlcmVBY2Nlc3MpIHRocm93IG5ldyBOb3RGb3VuZChyZXEudClcbiAgICBpZiAoIWRvY1RvRGVsZXRlICYmIGhhc1doZXJlQWNjZXNzKSB0aHJvdyBuZXcgRm9yYmlkZGVuKHJlcS50KVxuXG4gICAgYXdhaXQgZGVsZXRlQXNzb2NpYXRlZEZpbGVzKHtcbiAgICAgIGNvbGxlY3Rpb25Db25maWcsXG4gICAgICBjb25maWcsXG4gICAgICBkb2M6IGRvY1RvRGVsZXRlLFxuICAgICAgb3ZlcnJpZGVEZWxldGU6IHRydWUsXG4gICAgICByZXEsXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBEZWxldGUgdmVyc2lvbnNcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBpZiAoY29sbGVjdGlvbkNvbmZpZy52ZXJzaW9ucykge1xuICAgICAgYXdhaXQgZGVsZXRlQ29sbGVjdGlvblZlcnNpb25zKHtcbiAgICAgICAgaWQsXG4gICAgICAgIHNsdWc6IGNvbGxlY3Rpb25Db25maWcuc2x1ZyxcbiAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgcmVxLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gRGVsZXRlIGRvY3VtZW50XG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgbGV0IHJlc3VsdCA9IGF3YWl0IHJlcS5wYXlsb2FkLmRiLmRlbGV0ZU9uZSh7XG4gICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLnNsdWcsXG4gICAgICByZXEsXG4gICAgICB3aGVyZTogeyBpZDogeyBlcXVhbHM6IGlkIH0gfSxcbiAgICB9KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIERlbGV0ZSBQcmVmZXJlbmNlc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGF3YWl0IGRlbGV0ZVVzZXJQcmVmZXJlbmNlcyh7XG4gICAgICBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgaWRzOiBbaWRdLFxuICAgICAgcGF5bG9hZCxcbiAgICAgIHJlcSxcbiAgICB9KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGFmdGVyUmVhZCAtIEZpZWxkc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIHJlc3VsdCA9IGF3YWl0IGFmdGVyUmVhZCh7XG4gICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICBkZXB0aCxcbiAgICAgIGRvYzogcmVzdWx0LFxuICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICBnbG9iYWw6IG51bGwsXG4gICAgICBsb2NhbGUsXG4gICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgIHJlcSxcbiAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlclJlYWQgLSBDb2xsZWN0aW9uXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgYXdhaXQgY29sbGVjdGlvbkNvbmZpZy5ob29rcy5hZnRlclJlYWQucmVkdWNlKGFzeW5jIChwcmlvckhvb2ssIGhvb2spID0+IHtcbiAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICByZXN1bHQgPVxuICAgICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgICAgICBkb2M6IHJlc3VsdCxcbiAgICAgICAgICByZXEsXG4gICAgICAgIH0pKSB8fCByZXN1bHRcbiAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlckRlbGV0ZSAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBhd2FpdCBjb2xsZWN0aW9uQ29uZmlnLmhvb2tzLmFmdGVyRGVsZXRlLnJlZHVjZShhc3luYyAocHJpb3JIb29rLCBob29rKSA9PiB7XG4gICAgICBhd2FpdCBwcmlvckhvb2tcblxuICAgICAgcmVzdWx0ID1cbiAgICAgICAgKGF3YWl0IGhvb2soe1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICAgICAgZG9jOiByZXN1bHQsXG4gICAgICAgICAgcmVxLFxuICAgICAgICB9KSkgfHwgcmVzdWx0XG4gICAgfSwgUHJvbWlzZS5yZXNvbHZlKCkpXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gYWZ0ZXJPcGVyYXRpb24gLSBDb2xsZWN0aW9uXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgcmVzdWx0ID0gYXdhaXQgYnVpbGRBZnRlck9wZXJhdGlvbjxHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUU2x1Z10+KHtcbiAgICAgIGFyZ3MsXG4gICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgb3BlcmF0aW9uOiAnZGVsZXRlQnlJRCcsXG4gICAgICByZXN1bHQsXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyA4LiBSZXR1cm4gcmVzdWx0c1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGlmIChzaG91bGRDb21taXQpIGF3YWl0IGNvbW1pdFRyYW5zYWN0aW9uKHJlcSlcblxuICAgIHJldHVybiByZXN1bHRcbiAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICBhd2FpdCBraWxsVHJhbnNhY3Rpb24oYXJncy5yZXEpXG4gICAgdGhyb3cgZXJyb3JcbiAgfVxufVxuIl0sIm5hbWVzIjpbImRlbGV0ZUJ5SURPcGVyYXRpb24iLCJpbmNvbWluZ0FyZ3MiLCJhcmdzIiwic2hvdWxkQ29tbWl0IiwiaW5pdFRyYW5zYWN0aW9uIiwicmVxIiwiY29sbGVjdGlvbiIsImNvbmZpZyIsImhvb2tzIiwiYmVmb3JlT3BlcmF0aW9uIiwicmVkdWNlIiwicHJpb3JIb29rIiwiaG9vayIsImNvbnRleHQiLCJvcGVyYXRpb24iLCJQcm9taXNlIiwicmVzb2x2ZSIsImlkIiwiY29sbGVjdGlvbkNvbmZpZyIsImRlcHRoIiwib3ZlcnJpZGVBY2Nlc3MiLCJmYWxsYmFja0xvY2FsZSIsImxvY2FsZSIsInBheWxvYWQiLCJzaG93SGlkZGVuRmllbGRzIiwiYWNjZXNzUmVzdWx0cyIsImV4ZWN1dGVBY2Nlc3MiLCJhY2Nlc3MiLCJkZWxldGUiLCJoYXNXaGVyZUFjY2VzcyIsImhhc1doZXJlQWNjZXNzUmVzdWx0IiwiYmVmb3JlRGVsZXRlIiwiZG9jVG9EZWxldGUiLCJkYiIsImZpbmRPbmUiLCJzbHVnIiwid2hlcmUiLCJjb21iaW5lUXVlcmllcyIsImVxdWFscyIsIk5vdEZvdW5kIiwidCIsIkZvcmJpZGRlbiIsImRlbGV0ZUFzc29jaWF0ZWRGaWxlcyIsImRvYyIsIm92ZXJyaWRlRGVsZXRlIiwidmVyc2lvbnMiLCJkZWxldGVDb2xsZWN0aW9uVmVyc2lvbnMiLCJyZXN1bHQiLCJkZWxldGVPbmUiLCJkZWxldGVVc2VyUHJlZmVyZW5jZXMiLCJpZHMiLCJhZnRlclJlYWQiLCJnbG9iYWwiLCJhZnRlckRlbGV0ZSIsImJ1aWxkQWZ0ZXJPcGVyYXRpb24iLCJjb21taXRUcmFuc2FjdGlvbiIsImVycm9yIiwia2lsbFRyYW5zYWN0aW9uIl0sIm1hcHBpbmdzIjoiOzs7OytCQTJCYUE7OztlQUFBQTs7O3NFQXRCYTt1QkFD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
|
|
167
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2RlbGV0ZUJ5SUQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBHZW5lcmF0ZWRUeXBlcyB9IGZyb20gJy4uLy4uLydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi8uLi90eXBlcydcbmltcG9ydCB0eXBlIHsgRG9jdW1lbnQgfSBmcm9tICcuLi8uLi90eXBlcydcbmltcG9ydCB0eXBlIHsgQmVmb3JlT3BlcmF0aW9uSG9vaywgQ29sbGVjdGlvbiB9IGZyb20gJy4uL2NvbmZpZy90eXBlcydcblxuaW1wb3J0IGV4ZWN1dGVBY2Nlc3MgZnJvbSAnLi4vLi4vYXV0aC9leGVjdXRlQWNjZXNzJ1xuaW1wb3J0IHsgaGFzV2hlcmVBY2Nlc3NSZXN1bHQgfSBmcm9tICcuLi8uLi9hdXRoL3R5cGVzJ1xuaW1wb3J0IHsgY29tYmluZVF1ZXJpZXMgfSBmcm9tICcuLi8uLi9kYXRhYmFzZS9jb21iaW5lUXVlcmllcydcbmltcG9ydCB7IEZvcmJpZGRlbiwgTm90Rm91bmQgfSBmcm9tICcuLi8uLi9lcnJvcnMnXG5pbXBvcnQgeyBhZnRlclJlYWQgfSBmcm9tICcuLi8uLi9maWVsZHMvaG9va3MvYWZ0ZXJSZWFkJ1xuaW1wb3J0IHsgZGVsZXRlVXNlclByZWZlcmVuY2VzIH0gZnJvbSAnLi4vLi4vcHJlZmVyZW5jZXMvZGVsZXRlVXNlclByZWZlcmVuY2VzJ1xuaW1wb3J0IHsgZGVsZXRlQXNzb2NpYXRlZEZpbGVzIH0gZnJvbSAnLi4vLi4vdXBsb2Fkcy9kZWxldGVBc3NvY2lhdGVkRmlsZXMnXG5pbXBvcnQgeyBjb21taXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9jb21taXRUcmFuc2FjdGlvbidcbmltcG9ydCB7IGluaXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9pbml0VHJhbnNhY3Rpb24nXG5pbXBvcnQgeyBraWxsVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMva2lsbFRyYW5zYWN0aW9uJ1xuaW1wb3J0IHsgZGVsZXRlQ29sbGVjdGlvblZlcnNpb25zIH0gZnJvbSAnLi4vLi4vdmVyc2lvbnMvZGVsZXRlQ29sbGVjdGlvblZlcnNpb25zJ1xuaW1wb3J0IHsgYnVpbGRBZnRlck9wZXJhdGlvbiB9IGZyb20gJy4vdXRpbHMnXG5cbmV4cG9ydCB0eXBlIEFyZ3VtZW50cyA9IHtcbiAgY29sbGVjdGlvbjogQ29sbGVjdGlvblxuICBkZXB0aD86IG51bWJlclxuICBpZDogbnVtYmVyIHwgc3RyaW5nXG4gIG92ZXJyaWRlQWNjZXNzPzogYm9vbGVhblxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gIHNob3dIaWRkZW5GaWVsZHM/OiBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCBkZWxldGVCeUlET3BlcmF0aW9uID0gYXN5bmMgPFRTbHVnIGV4dGVuZHMga2V5b2YgR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICBpbmNvbWluZ0FyZ3M6IEFyZ3VtZW50cyxcbik6IFByb21pc2U8RG9jdW1lbnQ+ID0+IHtcbiAgbGV0IGFyZ3MgPSBpbmNvbWluZ0FyZ3NcblxuICB0cnkge1xuICAgIGNvbnN0IHNob3VsZENvbW1pdCA9IGF3YWl0IGluaXRUcmFuc2FjdGlvbihhcmdzLnJlcSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBiZWZvcmVPcGVyYXRpb24gLSBDb2xsZWN0aW9uXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgYXdhaXQgYXJncy5jb2xsZWN0aW9uLmNvbmZpZy5ob29rcy5iZWZvcmVPcGVyYXRpb24ucmVkdWNlKFxuICAgICAgYXN5bmMgKHByaW9ySG9vazogQmVmb3JlT3BlcmF0aW9uSG9vayB8IFByb21pc2U8dm9pZD4sIGhvb2s6IEJlZm9yZU9wZXJhdGlvbkhvb2spID0+IHtcbiAgICAgICAgYXdhaXQgcHJpb3JIb29rXG5cbiAgICAgICAgYXJncyA9XG4gICAgICAgICAgKGF3YWl0IGhvb2soe1xuICAgICAgICAgICAgYXJncyxcbiAgICAgICAgICAgIGNvbGxlY3Rpb246IGFyZ3MuY29sbGVjdGlvbi5jb25maWcsXG4gICAgICAgICAgICBjb250ZXh0OiBhcmdzLnJlcS5jb250ZXh0LFxuICAgICAgICAgICAgb3BlcmF0aW9uOiAnZGVsZXRlJyxcbiAgICAgICAgICAgIHJlcTogYXJncy5yZXEsXG4gICAgICAgICAgfSkpIHx8IGFyZ3NcbiAgICAgIH0sXG4gICAgICBQcm9taXNlLnJlc29sdmUoKSxcbiAgICApXG5cbiAgICBjb25zdCB7XG4gICAgICBpZCxcbiAgICAgIGNvbGxlY3Rpb246IHsgY29uZmlnOiBjb2xsZWN0aW9uQ29uZmlnIH0sXG4gICAgICBkZXB0aCxcbiAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgcmVxOiB7XG4gICAgICAgIGZhbGxiYWNrTG9jYWxlLFxuICAgICAgICBsb2NhbGUsXG4gICAgICAgIHBheWxvYWQ6IHsgY29uZmlnIH0sXG4gICAgICAgIHBheWxvYWQsXG4gICAgICB9LFxuICAgICAgcmVxLFxuICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICB9ID0gYXJnc1xuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIEFjY2Vzc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGNvbnN0IGFjY2Vzc1Jlc3VsdHMgPSAhb3ZlcnJpZGVBY2Nlc3NcbiAgICAgID8gYXdhaXQgZXhlY3V0ZUFjY2Vzcyh7IGlkLCByZXEgfSwgY29sbGVjdGlvbkNvbmZpZy5hY2Nlc3MuZGVsZXRlKVxuICAgICAgOiB0cnVlXG4gICAgY29uc3QgaGFzV2hlcmVBY2Nlc3MgPSBoYXNXaGVyZUFjY2Vzc1Jlc3VsdChhY2Nlc3NSZXN1bHRzKVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGJlZm9yZURlbGV0ZSAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBhd2FpdCBjb2xsZWN0aW9uQ29uZmlnLmhvb2tzLmJlZm9yZURlbGV0ZS5yZWR1Y2UoYXN5bmMgKHByaW9ySG9vaywgaG9vaykgPT4ge1xuICAgICAgYXdhaXQgcHJpb3JIb29rXG5cbiAgICAgIHJldHVybiBob29rKHtcbiAgICAgICAgaWQsXG4gICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgIGNvbnRleHQ6IHJlcS5jb250ZXh0LFxuICAgICAgICByZXEsXG4gICAgICB9KVxuICAgIH0sIFByb21pc2UucmVzb2x2ZSgpKVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIFJldHJpZXZlIGRvY3VtZW50XG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgY29uc3QgZG9jVG9EZWxldGUgPSBhd2FpdCByZXEucGF5bG9hZC5kYi5maW5kT25lKHtcbiAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcuc2x1ZyxcbiAgICAgIGxvY2FsZTogcmVxLmxvY2FsZSxcbiAgICAgIHJlcSxcbiAgICAgIHdoZXJlOiBjb21iaW5lUXVlcmllcyh7IGlkOiB7IGVxdWFsczogaWQgfSB9LCBhY2Nlc3NSZXN1bHRzKSxcbiAgICB9KVxuXG4gICAgaWYgKCFkb2NUb0RlbGV0ZSAmJiAhaGFzV2hlcmVBY2Nlc3MpIHRocm93IG5ldyBOb3RGb3VuZChyZXEudClcbiAgICBpZiAoIWRvY1RvRGVsZXRlICYmIGhhc1doZXJlQWNjZXNzKSB0aHJvdyBuZXcgRm9yYmlkZGVuKHJlcS50KVxuXG4gICAgYXdhaXQgZGVsZXRlQXNzb2NpYXRlZEZpbGVzKHtcbiAgICAgIGNvbGxlY3Rpb25Db25maWcsXG4gICAgICBjb25maWcsXG4gICAgICBkb2M6IGRvY1RvRGVsZXRlLFxuICAgICAgb3ZlcnJpZGVEZWxldGU6IHRydWUsXG4gICAgICByZXEsXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBEZWxldGUgdmVyc2lvbnNcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBpZiAoY29sbGVjdGlvbkNvbmZpZy52ZXJzaW9ucykge1xuICAgICAgYXdhaXQgZGVsZXRlQ29sbGVjdGlvblZlcnNpb25zKHtcbiAgICAgICAgaWQsXG4gICAgICAgIHNsdWc6IGNvbGxlY3Rpb25Db25maWcuc2x1ZyxcbiAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgcmVxLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gRGVsZXRlIGRvY3VtZW50XG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgbGV0IHJlc3VsdCA9IGF3YWl0IHJlcS5wYXlsb2FkLmRiLmRlbGV0ZU9uZSh7XG4gICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLnNsdWcsXG4gICAgICByZXEsXG4gICAgICB3aGVyZTogeyBpZDogeyBlcXVhbHM6IGlkIH0gfSxcbiAgICB9KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIERlbGV0ZSBQcmVmZXJlbmNlc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGF3YWl0IGRlbGV0ZVVzZXJQcmVmZXJlbmNlcyh7XG4gICAgICBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgaWRzOiBbaWRdLFxuICAgICAgcGF5bG9hZCxcbiAgICAgIHJlcSxcbiAgICB9KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGFmdGVyUmVhZCAtIEZpZWxkc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIHJlc3VsdCA9IGF3YWl0IGFmdGVyUmVhZCh7XG4gICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICBkZXB0aCxcbiAgICAgIGRvYzogcmVzdWx0LFxuICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICBnbG9iYWw6IG51bGwsXG4gICAgICBsb2NhbGUsXG4gICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgIHJlcSxcbiAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlclJlYWQgLSBDb2xsZWN0aW9uXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgYXdhaXQgY29sbGVjdGlvbkNvbmZpZy5ob29rcy5hZnRlclJlYWQucmVkdWNlKGFzeW5jIChwcmlvckhvb2ssIGhvb2spID0+IHtcbiAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICByZXN1bHQgPVxuICAgICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgICAgICBkb2M6IHJlc3VsdCxcbiAgICAgICAgICByZXEsXG4gICAgICAgIH0pKSB8fCByZXN1bHRcbiAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlckRlbGV0ZSAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBhd2FpdCBjb2xsZWN0aW9uQ29uZmlnLmhvb2tzLmFmdGVyRGVsZXRlLnJlZHVjZShhc3luYyAocHJpb3JIb29rLCBob29rKSA9PiB7XG4gICAgICBhd2FpdCBwcmlvckhvb2tcblxuICAgICAgcmVzdWx0ID1cbiAgICAgICAgKGF3YWl0IGhvb2soe1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICAgICAgZG9jOiByZXN1bHQsXG4gICAgICAgICAgcmVxLFxuICAgICAgICB9KSkgfHwgcmVzdWx0XG4gICAgfSwgUHJvbWlzZS5yZXNvbHZlKCkpXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gYWZ0ZXJPcGVyYXRpb24gLSBDb2xsZWN0aW9uXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgcmVzdWx0ID0gYXdhaXQgYnVpbGRBZnRlck9wZXJhdGlvbjxHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUU2x1Z10+KHtcbiAgICAgIGFyZ3MsXG4gICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgb3BlcmF0aW9uOiAnZGVsZXRlQnlJRCcsXG4gICAgICByZXN1bHQsXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyA4LiBSZXR1cm4gcmVzdWx0c1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGlmIChzaG91bGRDb21taXQpIGF3YWl0IGNvbW1pdFRyYW5zYWN0aW9uKHJlcSlcblxuICAgIHJldHVybiByZXN1bHRcbiAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICBhd2FpdCBraWxsVHJhbnNhY3Rpb24oYXJncy5yZXEpXG4gICAgdGhyb3cgZXJyb3JcbiAgfVxufVxuIl0sIm5hbWVzIjpbImV4ZWN1dGVBY2Nlc3MiLCJoYXNXaGVyZUFjY2Vzc1Jlc3VsdCIsImNvbWJpbmVRdWVyaWVzIiwiRm9yYmlkZGVuIiwiTm90Rm91bmQiLCJhZnRlclJlYWQiLCJkZWxldGVVc2VyUHJlZmVyZW5jZXMiLCJkZWxldGVBc3NvY2lhdGVkRmlsZXMiLCJjb21taXRUcmFuc2FjdGlvbiIsImluaXRUcmFuc2FjdGlvbiIsImtpbGxUcmFuc2FjdGlvbiIsImRlbGV0ZUNvbGxlY3Rpb25WZXJzaW9ucyIsImJ1aWxkQWZ0ZXJPcGVyYXRpb24iLCJkZWxldGVCeUlET3BlcmF0aW9uIiwiaW5jb21pbmdBcmdzIiwiYXJncyIsInNob3VsZENvbW1pdCIsInJlcSIsImNvbGxlY3Rpb24iLCJjb25maWciLCJob29rcyIsImJlZm9yZU9wZXJhdGlvbiIsInJlZHVjZSIsInByaW9ySG9vayIsImhvb2siLCJjb250ZXh0Iiwib3BlcmF0aW9uIiwiUHJvbWlzZSIsInJlc29sdmUiLCJpZCIsImNvbGxlY3Rpb25Db25maWciLCJkZXB0aCIsIm92ZXJyaWRlQWNjZXNzIiwiZmFsbGJhY2tMb2NhbGUiLCJsb2NhbGUiLCJwYXlsb2FkIiwic2hvd0hpZGRlbkZpZWxkcyIsImFjY2Vzc1Jlc3VsdHMiLCJhY2Nlc3MiLCJkZWxldGUiLCJoYXNXaGVyZUFjY2VzcyIsImJlZm9yZURlbGV0ZSIsImRvY1RvRGVsZXRlIiwiZGIiLCJmaW5kT25lIiwic2x1ZyIsIndoZXJlIiwiZXF1YWxzIiwidCIsImRvYyIsIm92ZXJyaWRlRGVsZXRlIiwidmVyc2lvbnMiLCJyZXN1bHQiLCJkZWxldGVPbmUiLCJpZHMiLCJnbG9iYWwiLCJhZnRlckRlbGV0ZSIsImVycm9yIl0sIm1hcHBpbmdzIjoiQUFLQSxPQUFPQSxtQkFBbUIsMkJBQTBCO0FBQ3BELFNB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
|
|
@@ -1,24 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}
|
|
5
|
-
Object.defineProperty(exports, "docAccessOperation", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return docAccessOperation;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _commitTransaction = require("../../utilities/commitTransaction");
|
|
12
|
-
const _getEntityPolicies = require("../../utilities/getEntityPolicies");
|
|
13
|
-
const _initTransaction = require("../../utilities/initTransaction");
|
|
14
|
-
const _killTransaction = require("../../utilities/killTransaction");
|
|
1
|
+
import { commitTransaction } from '../../utilities/commitTransaction';
|
|
2
|
+
import { getEntityPolicies } from '../../utilities/getEntityPolicies';
|
|
3
|
+
import { initTransaction } from '../../utilities/initTransaction';
|
|
4
|
+
import { killTransaction } from '../../utilities/killTransaction';
|
|
15
5
|
const allOperations = [
|
|
16
6
|
'create',
|
|
17
7
|
'read',
|
|
18
8
|
'update',
|
|
19
9
|
'delete'
|
|
20
10
|
];
|
|
21
|
-
async function docAccessOperation(args) {
|
|
11
|
+
export async function docAccessOperation(args) {
|
|
22
12
|
const { id, collection: { config }, req } = args;
|
|
23
13
|
const collectionOperations = [
|
|
24
14
|
...allOperations
|
|
@@ -30,20 +20,20 @@ async function docAccessOperation(args) {
|
|
|
30
20
|
collectionOperations.push('readVersions');
|
|
31
21
|
}
|
|
32
22
|
try {
|
|
33
|
-
const shouldCommit = await
|
|
34
|
-
const result = await
|
|
23
|
+
const shouldCommit = await initTransaction(req);
|
|
24
|
+
const result = await getEntityPolicies({
|
|
35
25
|
id,
|
|
36
26
|
entity: config,
|
|
37
27
|
operations: collectionOperations,
|
|
38
28
|
req,
|
|
39
29
|
type: 'collection'
|
|
40
30
|
});
|
|
41
|
-
if (shouldCommit) await
|
|
31
|
+
if (shouldCommit) await commitTransaction(req);
|
|
42
32
|
return result;
|
|
43
33
|
} catch (e) {
|
|
44
|
-
await
|
|
34
|
+
await killTransaction(req);
|
|
45
35
|
throw e;
|
|
46
36
|
}
|
|
47
37
|
}
|
|
48
38
|
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2RvY0FjY2Vzcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbGxlY3Rpb25QZXJtaXNzaW9uIH0gZnJvbSAnLi4vLi4vYXV0aCdcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi8uLi90eXBlcydcbmltcG9ydCB0eXBlIHsgQWxsT3BlcmF0aW9ucyB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgeyBjb21taXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9jb21taXRUcmFuc2FjdGlvbidcbmltcG9ydCB7IGdldEVudGl0eVBvbGljaWVzIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2dldEVudGl0eVBvbGljaWVzJ1xuaW1wb3J0IHsgaW5pdFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2luaXRUcmFuc2FjdGlvbidcbmltcG9ydCB7IGtpbGxUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9raWxsVHJhbnNhY3Rpb24nXG5cbmNvbnN0IGFsbE9wZXJhdGlvbnM6IEFsbE9wZXJhdGlvbnNbXSA9IFsnY3JlYXRlJywgJ3JlYWQnLCAndXBkYXRlJywgJ2RlbGV0ZSddXG5cbnR5cGUgQXJndW1lbnRzID0ge1xuICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uXG4gIGlkOiBzdHJpbmdcbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZG9jQWNjZXNzT3BlcmF0aW9uKGFyZ3M6IEFyZ3VtZW50cyk6IFByb21pc2U8Q29sbGVjdGlvblBlcm1pc3Npb24+
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2RvY0FjY2Vzcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbGxlY3Rpb25QZXJtaXNzaW9uIH0gZnJvbSAnLi4vLi4vYXV0aCdcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi8uLi90eXBlcydcbmltcG9ydCB0eXBlIHsgQWxsT3BlcmF0aW9ucyB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgeyBjb21taXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9jb21taXRUcmFuc2FjdGlvbidcbmltcG9ydCB7IGdldEVudGl0eVBvbGljaWVzIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2dldEVudGl0eVBvbGljaWVzJ1xuaW1wb3J0IHsgaW5pdFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2luaXRUcmFuc2FjdGlvbidcbmltcG9ydCB7IGtpbGxUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9raWxsVHJhbnNhY3Rpb24nXG5cbmNvbnN0IGFsbE9wZXJhdGlvbnM6IEFsbE9wZXJhdGlvbnNbXSA9IFsnY3JlYXRlJywgJ3JlYWQnLCAndXBkYXRlJywgJ2RlbGV0ZSddXG5cbnR5cGUgQXJndW1lbnRzID0ge1xuICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uXG4gIGlkOiBzdHJpbmdcbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZG9jQWNjZXNzT3BlcmF0aW9uKGFyZ3M6IEFyZ3VtZW50cyk6IFByb21pc2U8Q29sbGVjdGlvblBlcm1pc3Npb24+IHtcbiAgY29uc3Qge1xuICAgIGlkLFxuICAgIGNvbGxlY3Rpb246IHsgY29uZmlnIH0sXG4gICAgcmVxLFxuICB9ID0gYXJnc1xuXG4gIGNvbnN0IGNvbGxlY3Rpb25PcGVyYXRpb25zID0gWy4uLmFsbE9wZXJhdGlvbnNdXG5cbiAgaWYgKFxuICAgIGNvbmZpZy5hdXRoICYmXG4gICAgdHlwZW9mIGNvbmZpZy5hdXRoLm1heExvZ2luQXR0ZW1wdHMgIT09ICd1bmRlZmluZWQnICYmXG4gICAgY29uZmlnLmF1dGgubWF4TG9naW5BdHRlbXB0cyAhPT0gMFxuICApIHtcbiAgICBjb2xsZWN0aW9uT3BlcmF0aW9ucy5wdXNoKCd1bmxvY2snKVxuICB9XG5cbiAgaWYgKGNvbmZpZy52ZXJzaW9ucykge1xuICAgIGNvbGxlY3Rpb25PcGVyYXRpb25zLnB1c2goJ3JlYWRWZXJzaW9ucycpXG4gIH1cblxuICB0cnkge1xuICAgIGNvbnN0IHNob3VsZENvbW1pdCA9IGF3YWl0IGluaXRUcmFuc2FjdGlvbihyZXEpXG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBnZXRFbnRpdHlQb2xpY2llcyh7XG4gICAgICBpZCxcbiAgICAgIGVudGl0eTogY29uZmlnLFxuICAgICAgb3BlcmF0aW9uczogY29sbGVjdGlvbk9wZXJhdGlvbnMsXG4gICAgICByZXEsXG4gICAgICB0eXBlOiAnY29sbGVjdGlvbicsXG4gICAgfSlcblxuICAgIGlmIChzaG91bGRDb21taXQpIGF3YWl0IGNvbW1pdFRyYW5zYWN0aW9uKHJlcSlcblxuICAgIHJldHVybiByZXN1bHRcbiAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgIGF3YWl0IGtpbGxUcmFuc2FjdGlvbihyZXEpXG4gICAgdGhyb3cgZVxuICB9XG59XG4iXSwibmFtZXMiOlsiY29tbWl0VHJhbnNhY3Rpb24iLCJnZXRFbnRpdHlQb2xpY2llcyIsImluaXRUcmFuc2FjdGlvbiIsImtpbGxUcmFuc2FjdGlvbiIsImFsbE9wZXJhdGlvbnMiLCJkb2NBY2Nlc3NPcGVyYXRpb24iLCJhcmdzIiwiaWQiLCJjb2xsZWN0aW9uIiwiY29uZmlnIiwicmVxIiwiY29sbGVjdGlvbk9wZXJhdGlvbnMiLCJhdXRoIiwibWF4TG9naW5BdHRlbXB0cyIsInB1c2giLCJ2ZXJzaW9ucyIsInNob3VsZENvbW1pdCIsInJlc3VsdCIsImVudGl0eSIsIm9wZXJhdGlvbnMiLCJ0eXBlIiwiZSJdLCJtYXBwaW5ncyI6IkFBS0EsU0FBU0EsaUJBQWlCLFFBQVEsb0NBQW1DO0FBQ3JFLFNBQVNDLGlCQUFpQixRQUFRLG9DQUFtQztBQUNyRSxTQUFTQyxlQUFlLFFBQVEsa0NBQWlDO0FBQ2pFLFNBQVNDLGVBQWUsUUFBUSxrQ0FBaUM7QUFFakUsTUFBTUMsZ0JBQWlDO0lBQUM7SUFBVTtJQUFRO0lBQVU7Q0FBUztBQVE3RSxPQUFPLGVBQWVDLG1CQUFtQkMsSUFBZTtJQUN0RCxNQUFNLEVBQ0pDLEVBQUUsRUFDRkMsWUFBWSxFQUFFQyxNQUFNLEVBQUUsRUFDdEJDLEdBQUcsRUFDSixHQUFHSjtJQUVKLE1BQU1LLHVCQUF1QjtXQUFJUDtLQUFjO0lBRS9DLElBQ0VLLE9BQU9HLElBQUksSUFDWCxPQUFPSCxPQUFPRyxJQUFJLENBQUNDLGdCQUFnQixLQUFLLGVBQ3hDSixPQUFPRyxJQUFJLENBQUNDLGdCQUFnQixLQUFLLEdBQ2pDO1FBQ0FGLHFCQUFxQkcsSUFBSSxDQUFDO0lBQzVCO0lBRUEsSUFBSUwsT0FBT00sUUFBUSxFQUFFO1FBQ25CSixxQkFBcUJHLElBQUksQ0FBQztJQUM1QjtJQUVBLElBQUk7UUFDRixNQUFNRSxlQUFlLE1BQU1kLGdCQUFnQlE7UUFFM0MsTUFBTU8sU0FBUyxNQUFNaEIsa0JBQWtCO1lBQ3JDTTtZQUNBVyxRQUFRVDtZQUNSVSxZQUFZUjtZQUNaRDtZQUNBVSxNQUFNO1FBQ1I7UUFFQSxJQUFJSixjQUFjLE1BQU1oQixrQkFBa0JVO1FBRTFDLE9BQU9PO0lBQ1QsRUFBRSxPQUFPSSxHQUFZO1FBQ25CLE1BQU1sQixnQkFBZ0JPO1FBQ3RCLE1BQU1XO0lBQ1I7QUFDRiJ9
|
|
@@ -1,33 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
const
|
|
13
|
-
const _validateQueryPaths = require("../../database/queryValidation/validateQueryPaths");
|
|
14
|
-
const _afterRead = require("../../fields/hooks/afterRead");
|
|
15
|
-
const _commitTransaction = require("../../utilities/commitTransaction");
|
|
16
|
-
const _initTransaction = require("../../utilities/initTransaction");
|
|
17
|
-
const _killTransaction = require("../../utilities/killTransaction");
|
|
18
|
-
const _buildCollectionFields = require("../../versions/buildCollectionFields");
|
|
19
|
-
const _appendVersionToQueryKey = require("../../versions/drafts/appendVersionToQueryKey");
|
|
20
|
-
const _getQueryDraftsSort = require("../../versions/drafts/getQueryDraftsSort");
|
|
21
|
-
const _utils = require("./utils");
|
|
22
|
-
function _interop_require_default(obj) {
|
|
23
|
-
return obj && obj.__esModule ? obj : {
|
|
24
|
-
default: obj
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
const findOperation = async (incomingArgs)=>{
|
|
1
|
+
import executeAccess from '../../auth/executeAccess';
|
|
2
|
+
import { combineQueries } from '../../database/combineQueries';
|
|
3
|
+
import { validateQueryPaths } from '../../database/queryValidation/validateQueryPaths';
|
|
4
|
+
import { afterRead } from '../../fields/hooks/afterRead';
|
|
5
|
+
import { commitTransaction } from '../../utilities/commitTransaction';
|
|
6
|
+
import { initTransaction } from '../../utilities/initTransaction';
|
|
7
|
+
import { killTransaction } from '../../utilities/killTransaction';
|
|
8
|
+
import { buildVersionCollectionFields } from '../../versions/buildCollectionFields';
|
|
9
|
+
import { appendVersionToQueryKey } from '../../versions/drafts/appendVersionToQueryKey';
|
|
10
|
+
import { getQueryDraftsSort } from '../../versions/drafts/getQueryDraftsSort';
|
|
11
|
+
import { buildAfterOperation } from './utils';
|
|
12
|
+
export const findOperation = async (incomingArgs)=>{
|
|
28
13
|
let args = incomingArgs;
|
|
29
14
|
try {
|
|
30
|
-
const shouldCommit = await
|
|
15
|
+
const shouldCommit = await initTransaction(args.req);
|
|
31
16
|
// /////////////////////////////////////
|
|
32
17
|
// beforeOperation - Collection
|
|
33
18
|
// /////////////////////////////////////
|
|
@@ -47,7 +32,7 @@ const findOperation = async (incomingArgs)=>{
|
|
|
47
32
|
// /////////////////////////////////////
|
|
48
33
|
let accessResult;
|
|
49
34
|
if (!overrideAccess) {
|
|
50
|
-
accessResult = await (
|
|
35
|
+
accessResult = await executeAccess({
|
|
51
36
|
disableErrors,
|
|
52
37
|
req
|
|
53
38
|
}, collectionConfig.access.read);
|
|
@@ -74,14 +59,14 @@ const findOperation = async (incomingArgs)=>{
|
|
|
74
59
|
const sanitizedLimit = limit ?? (usePagination ? 10 : 0);
|
|
75
60
|
const sanitizedPage = page || 1;
|
|
76
61
|
let result;
|
|
77
|
-
let fullWhere =
|
|
62
|
+
let fullWhere = combineQueries(where, accessResult);
|
|
78
63
|
if (collectionConfig.versions?.drafts && draftsEnabled) {
|
|
79
|
-
fullWhere =
|
|
80
|
-
await
|
|
64
|
+
fullWhere = appendVersionToQueryKey(fullWhere);
|
|
65
|
+
await validateQueryPaths({
|
|
81
66
|
collectionConfig: collection.config,
|
|
82
67
|
overrideAccess,
|
|
83
68
|
req,
|
|
84
|
-
versionFields:
|
|
69
|
+
versionFields: buildVersionCollectionFields(collection.config),
|
|
85
70
|
where: fullWhere
|
|
86
71
|
});
|
|
87
72
|
result = await payload.db.queryDrafts({
|
|
@@ -91,11 +76,11 @@ const findOperation = async (incomingArgs)=>{
|
|
|
91
76
|
page: sanitizedPage,
|
|
92
77
|
pagination: usePagination,
|
|
93
78
|
req,
|
|
94
|
-
sort:
|
|
79
|
+
sort: getQueryDraftsSort(sort),
|
|
95
80
|
where: fullWhere
|
|
96
81
|
});
|
|
97
82
|
} else {
|
|
98
|
-
await
|
|
83
|
+
await validateQueryPaths({
|
|
99
84
|
collectionConfig,
|
|
100
85
|
overrideAccess,
|
|
101
86
|
req,
|
|
@@ -137,7 +122,7 @@ const findOperation = async (incomingArgs)=>{
|
|
|
137
122
|
// /////////////////////////////////////
|
|
138
123
|
result = {
|
|
139
124
|
...result,
|
|
140
|
-
docs: await Promise.all(result.docs.map(async (doc)=>
|
|
125
|
+
docs: await Promise.all(result.docs.map(async (doc)=>afterRead({
|
|
141
126
|
collection: collectionConfig,
|
|
142
127
|
context: req.context,
|
|
143
128
|
currentDepth,
|
|
@@ -176,7 +161,7 @@ const findOperation = async (incomingArgs)=>{
|
|
|
176
161
|
// /////////////////////////////////////
|
|
177
162
|
// afterOperation - Collection
|
|
178
163
|
// /////////////////////////////////////
|
|
179
|
-
result = await
|
|
164
|
+
result = await buildAfterOperation({
|
|
180
165
|
args,
|
|
181
166
|
collection: collectionConfig,
|
|
182
167
|
operation: 'find',
|
|
@@ -185,12 +170,12 @@ const findOperation = async (incomingArgs)=>{
|
|
|
185
170
|
// /////////////////////////////////////
|
|
186
171
|
// Return results
|
|
187
172
|
// /////////////////////////////////////
|
|
188
|
-
if (shouldCommit) await
|
|
173
|
+
if (shouldCommit) await commitTransaction(req);
|
|
189
174
|
return result;
|
|
190
175
|
} catch (error) {
|
|
191
|
-
await
|
|
176
|
+
await killTransaction(args.req);
|
|
192
177
|
throw error;
|
|
193
178
|
}
|
|
194
179
|
};
|
|
195
180
|
|
|
196
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2ZpbmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBBY2Nlc3NSZXN1bHQgfSBmcm9tICcuLi8uLi9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFBhZ2luYXRlZERvY3MgfSBmcm9tICcuLi8uLi9kYXRhYmFzZS90eXBlcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi8uLi90eXBlcydcbmltcG9ydCB0eXBlIHsgV2hlcmUgfSBmcm9tICcuLi8uLi90eXBlcydcbmltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbiwgVHlwZVdpdGhJRCB9IGZyb20gJy4uL2NvbmZpZy90eXBlcydcblxuaW1wb3J0IGV4ZWN1dGVBY2Nlc3MgZnJvbSAnLi4vLi4vYXV0aC9leGVjdXRlQWNjZXNzJ1xuaW1wb3J0IHsgY29tYmluZVF1ZXJpZXMgfSBmcm9tICcuLi8uLi9kYXRhYmFzZS9jb21iaW5lUXVlcmllcydcbmltcG9ydCB7IHZhbGlkYXRlUXVlcnlQYXRocyB9IGZyb20gJy4uLy4uL2RhdGFiYXNlL3F1ZXJ5VmFsaWRhdGlvbi92YWxpZGF0ZVF1ZXJ5UGF0aHMnXG5pbXBvcnQgeyBhZnRlclJlYWQgfSBmcm9tICcuLi8uLi9maWVsZHMvaG9va3MvYWZ0ZXJSZWFkJ1xuaW1wb3J0IHsgY29tbWl0VHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvY29tbWl0VHJhbnNhY3Rpb24nXG5pbXBvcnQgeyBpbml0VHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvaW5pdFRyYW5zYWN0aW9uJ1xuaW1wb3J0IHsga2lsbFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2tpbGxUcmFuc2FjdGlvbidcbmltcG9ydCB7IGJ1aWxkVmVyc2lvbkNvbGxlY3Rpb25GaWVsZHMgfSBmcm9tICcuLi8uLi92ZXJzaW9ucy9idWlsZENvbGxlY3Rpb25GaWVsZHMnXG5pbXBvcnQgeyBhcHBlbmRWZXJzaW9uVG9RdWVyeUtleSB9IGZyb20gJy4uLy4uL3ZlcnNpb25zL2RyYWZ0cy9hcHBlbmRWZXJzaW9uVG9RdWVyeUtleSdcbmltcG9ydCB7IGdldFF1ZXJ5RHJhZnRzU29ydCB9IGZyb20gJy4uLy4uL3ZlcnNpb25zL2RyYWZ0cy9nZXRRdWVyeURyYWZ0c1NvcnQnXG5pbXBvcnQgeyBidWlsZEFmdGVyT3BlcmF0aW9uIH0gZnJvbSAnLi91dGlscydcblxuZXhwb3J0IHR5cGUgQXJndW1lbnRzID0ge1xuICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uXG4gIGN1cnJlbnREZXB0aD86IG51bWJlclxuICBkZXB0aD86IG51bWJlclxuICBkaXNhYmxlRXJyb3JzPzogYm9vbGVhblxuICBkcmFmdD86IGJvb2xlYW5cbiAgbGltaXQ/OiBudW1iZXJcbiAgb3ZlcnJpZGVBY2Nlc3M/OiBib29sZWFuXG4gIHBhZ2U/OiBudW1iZXJcbiAgcGFnaW5hdGlvbj86IGJvb2xlYW5cbiAgcmVxPzogUGF5bG9hZFJlcXVlc3RcbiAgc2hvd0hpZGRlbkZpZWxkcz86IGJvb2xlYW5cbiAgc29ydD86IHN0cmluZ1xuICB3aGVyZT86IFdoZXJlXG59XG5cbmV4cG9ydCBjb25zdCBmaW5kT3BlcmF0aW9uID0gYXN5bmMgPFQgZXh0ZW5kcyBUeXBlV2l0aElEICYgUmVjb3JkPHN0cmluZywgdW5rbm93bj4+KFxuICBpbmNvbWluZ0FyZ3M6IEFyZ3VtZW50cyxcbik6IFByb21pc2U8UGFnaW5hdGVkRG9jczxUPj4gPT4ge1xuICBsZXQgYXJncyA9IGluY29taW5nQXJnc1xuXG4gIHRyeSB7XG4gICAgY29uc3Qgc2hvdWxkQ29tbWl0ID0gYXdhaXQgaW5pdFRyYW5zYWN0aW9uKGFyZ3MucmVxKVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGJlZm9yZU9wZXJhdGlvbiAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBhd2FpdCBhcmdzLmNvbGxlY3Rpb24uY29uZmlnLmhvb2tzLmJlZm9yZU9wZXJhdGlvbi5yZWR1Y2UoYXN5bmMgKHByaW9ySG9vaywgaG9vaykgPT4ge1xuICAgICAgYXdhaXQgcHJpb3JIb29rXG5cbiAgICAgIGFyZ3MgPVxuICAgICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgICAgYXJncyxcbiAgICAgICAgICBjb2xsZWN0aW9uOiBhcmdzLmNvbGxlY3Rpb24uY29uZmlnLFxuICAgICAgICAgIGNvbnRleHQ6IGFyZ3MucmVxLmNvbnRleHQsXG4gICAgICAgICAgb3BlcmF0aW9uOiAncmVhZCcsXG4gICAgICAgICAgcmVxOiBhcmdzLnJlcSxcbiAgICAgICAgfSkpIHx8IGFyZ3NcbiAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcblxuICAgIGNvbnN0IHtcbiAgICAgIGNvbGxlY3Rpb246IHsgY29uZmlnOiBjb2xsZWN0aW9uQ29uZmlnIH0sXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgY3VycmVudERlcHRoLFxuICAgICAgZGVwdGgsXG4gICAgICBkaXNhYmxlRXJyb3JzLFxuICAgICAgZHJhZnQ6IGRyYWZ0c0VuYWJsZWQsXG4gICAgICBsaW1pdCxcbiAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgcGFnZSxcbiAgICAgIHBhZ2luYXRpb24gPSB0cnVlLFxuICAgICAgcmVxOiB7IGZhbGxiYWNrTG9jYWxlLCBsb2NhbGUsIHBheWxvYWQgfSxcbiAgICAgIHJlcSxcbiAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgICBzb3J0LFxuICAgICAgd2hlcmUsXG4gICAgfSA9IGFyZ3NcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBBY2Nlc3NcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBsZXQgYWNjZXNzUmVzdWx0OiBBY2Nlc3NSZXN1bHRcblxuICAgIGlmICghb3ZlcnJpZGVBY2Nlc3MpIHtcbiAgICAgIGFjY2Vzc1Jlc3VsdCA9IGF3YWl0IGV4ZWN1dGVBY2Nlc3MoeyBkaXNhYmxlRXJyb3JzLCByZXEgfSwgY29sbGVjdGlvbkNvbmZpZy5hY2Nlc3MucmVhZClcblxuICAgICAgLy8gSWYgZXJyb3JzIGFyZSBkaXNhYmxlZCwgYW5kIGFjY2VzcyByZXR1cm5zIGZhbHNlLCByZXR1cm4gZW1wdHkgcmVzdWx0c1xuICAgICAgaWYgKGFjY2Vzc1Jlc3VsdCA9PT0gZmFsc2UpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBkb2NzOiBbXSxcbiAgICAgICAgICBoYXNOZXh0UGFnZTogZmFsc2UsXG4gICAgICAgICAgaGFzUHJldlBhZ2U6IGZhbHNlLFxuICAgICAgICAgIGxpbWl0LFxuICAgICAgICAgIG5leHRQYWdlOiBudWxsLFxuICAgICAgICAgIHBhZ2U6IDEsXG4gICAgICAgICAgcGFnaW5nQ291bnRlcjogMSxcbiAgICAgICAgICBwcmV2UGFnZTogbnVsbCxcbiAgICAgICAgICB0b3RhbERvY3M6IDAsXG4gICAgICAgICAgdG90YWxQYWdlczogMSxcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBGaW5kXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgY29uc3QgdXNlUGFnaW5hdGlvbiA9IHBhZ2luYXRpb24gJiYgbGltaXQgIT09IDBcbiAgICBjb25zdCBzYW5pdGl6ZWRMaW1pdCA9IGxpbWl0ID8/ICh1c2VQYWdpbmF0aW9uID8gMTAgOiAwKVxuICAgIGNvbnN0IHNhbml0aXplZFBhZ2UgPSBwYWdlIHx8IDFcblxuICAgIGxldCByZXN1bHQ6IFBhZ2luYXRlZERvY3M8VD5cblxuICAgIGxldCBmdWxsV2hlcmUgPSBjb21iaW5lUXVlcmllcyh3aGVyZSwgYWNjZXNzUmVzdWx0KVxuXG4gICAgaWYgKGNvbGxlY3Rpb25Db25maWcudmVyc2lvbnM/LmRyYWZ0cyAmJiBkcmFmdHNFbmFibGVkKSB7XG4gICAgICBmdWxsV2hlcmUgPSBhcHBlbmRWZXJzaW9uVG9RdWVyeUtleShmdWxsV2hlcmUpXG5cbiAgICAgIGF3YWl0IHZhbGlkYXRlUXVlcnlQYXRocyh7XG4gICAgICAgIGNvbGxlY3Rpb25Db25maWc6IGNvbGxlY3Rpb24uY29uZmlnLFxuICAgICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgICAgcmVxLFxuICAgICAgICB2ZXJzaW9uRmllbGRzOiBidWlsZFZlcnNpb25Db2xsZWN0aW9uRmllbGRzKGNvbGxlY3Rpb24uY29uZmlnKSxcbiAgICAgICAgd2hlcmU6IGZ1bGxXaGVyZSxcbiAgICAgIH0pXG5cbiAgICAgIHJlc3VsdCA9IGF3YWl0IHBheWxvYWQuZGIucXVlcnlEcmFmdHM8VD4oe1xuICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLnNsdWcsXG4gICAgICAgIGxpbWl0OiBzYW5pdGl6ZWRMaW1pdCxcbiAgICAgICAgbG9jYWxlLFxuICAgICAgICBwYWdlOiBzYW5pdGl6ZWRQYWdlLFxuICAgICAgICBwYWdpbmF0aW9uOiB1c2VQYWdpbmF0aW9uLFxuICAgICAgICByZXEsXG4gICAgICAgIHNvcnQ6IGdldFF1ZXJ5RHJhZnRzU29ydChzb3J0KSxcbiAgICAgICAgd2hlcmU6IGZ1bGxXaGVyZSxcbiAgICAgIH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIGF3YWl0IHZhbGlkYXRlUXVlcnlQYXRocyh7XG4gICAgICAgIGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgICByZXEsXG4gICAgICAgIHdoZXJlLFxuICAgICAgfSlcblxuICAgICAgcmVzdWx0ID0gYXdhaXQgcGF5bG9hZC5kYi5maW5kPFQ+KHtcbiAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZy5zbHVnLFxuICAgICAgICBsaW1pdDogc2FuaXRpemVkTGltaXQsXG4gICAgICAgIGxvY2FsZSxcbiAgICAgICAgcGFnZTogc2FuaXRpemVkUGFnZSxcbiAgICAgICAgcGFnaW5hdGlvbixcbiAgICAgICAgcmVxLFxuICAgICAgICBzb3J0LFxuICAgICAgICB3aGVyZTogZnVsbFdoZXJlLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gYmVmb3JlUmVhZCAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICByZXN1bHQgPSB7XG4gICAgICAuLi5yZXN1bHQsXG4gICAgICBkb2NzOiBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgcmVzdWx0LmRvY3MubWFwKGFzeW5jIChkb2MpID0+IHtcbiAgICAgICAgICBsZXQgZG9jUmVmID0gZG9jXG5cbiAgICAgICAgICBhd2FpdCBjb2xsZWN0aW9uQ29uZmlnLmhvb2tzLmJlZm9yZVJlYWQucmVkdWNlKGFzeW5jIChwcmlvckhvb2ssIGhvb2spID0+IHtcbiAgICAgICAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICAgICAgICBkb2NSZWYgPVxuICAgICAgICAgICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgICAgICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgICAgICAgICAgICBkb2M6IGRvY1JlZixcbiAgICAgICAgICAgICAgICBxdWVyeTogZnVsbFdoZXJlLFxuICAgICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgICAgfSkpIHx8IGRvY1JlZlxuICAgICAgICAgIH0sIFByb21pc2UucmVzb2x2ZSgpKVxuXG4gICAgICAgICAgcmV0dXJuIGRvY1JlZlxuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgfVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGFmdGVyUmVhZCAtIEZpZWxkc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIHJlc3VsdCA9IHtcbiAgICAgIC4uLnJlc3VsdCxcbiAgICAgIGRvY3M6IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICByZXN1bHQuZG9jcy5tYXAoYXN5bmMgKGRvYykgPT5cbiAgICAgICAgICBhZnRlclJlYWQ8VD4oe1xuICAgICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgICAgIGNvbnRleHQ6IHJlcS5jb250ZXh0LFxuICAgICAgICAgICAgY3VycmVudERlcHRoLFxuICAgICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgICBkb2MsXG4gICAgICAgICAgICBmYWxsYmFja0xvY2FsZSxcbiAgICAgICAgICAgIGZpbmRNYW55OiB0cnVlLFxuICAgICAgICAgICAgZ2xvYmFsOiBudWxsLFxuICAgICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICAgICAgICByZXEsXG4gICAgICAgICAgICBzaG93SGlkZGVuRmllbGRzLFxuICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICB9XG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gYWZ0ZXJSZWFkIC0gQ29sbGVjdGlvblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIHJlc3VsdCA9IHtcbiAgICAgIC4uLnJlc3VsdCxcbiAgICAgIGRvY3M6IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICByZXN1bHQuZG9jcy5tYXAoYXN5bmMgKGRvYykgPT4ge1xuICAgICAgICAgIGxldCBkb2NSZWYgPSBkb2NcblxuICAgICAgICAgIGF3YWl0IGNvbGxlY3Rpb25Db25maWcuaG9va3MuYWZ0ZXJSZWFkLnJlZHVjZShhc3luYyAocHJpb3JIb29rLCBob29rKSA9PiB7XG4gICAgICAgICAgICBhd2FpdCBwcmlvckhvb2tcblxuICAgICAgICAgICAgZG9jUmVmID1cbiAgICAgICAgICAgICAgKGF3YWl0IGhvb2soe1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgICAgICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICAgICAgICAgICAgZG9jOiBkb2NSZWYsXG4gICAgICAgICAgICAgICAgZmluZE1hbnk6IHRydWUsXG4gICAgICAgICAgICAgICAgcXVlcnk6IGZ1bGxXaGVyZSxcbiAgICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICAgIH0pKSB8fCBkb2NcbiAgICAgICAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcblxuICAgICAgICAgIHJldHVybiBkb2NSZWZcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgIH1cblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlck9wZXJhdGlvbiAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICByZXN1bHQgPSBhd2FpdCBidWlsZEFmdGVyT3BlcmF0aW9uPFQ+KHtcbiAgICAgIGFyZ3MsXG4gICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgb3BlcmF0aW9uOiAnZmluZCcsXG4gICAgICByZXN1bHQsXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBSZXR1cm4gcmVzdWx0c1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGlmIChzaG91bGRDb21taXQpIGF3YWl0IGNvbW1pdFRyYW5zYWN0aW9uKHJlcSlcblxuICAgIHJldHVybiByZXN1bHRcbiAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICBhd2FpdCBraWxsVHJhbnNhY3Rpb24oYXJncy5yZXEpXG4gICAgdGhyb3cgZXJyb3JcbiAgfVxufVxuIl0sIm5hbWVzIjpbImZpbmRPcGVyYXRpb24iLCJpbmNvbWluZ0FyZ3MiLCJhcmdzIiwic2hvdWxkQ29tbWl0IiwiaW5pdFRyYW5zYWN0aW9uIiwicmVxIiwiY29sbGVjdGlvbiIsImNvbmZpZyIsImhvb2tzIiwiYmVmb3JlT3BlcmF0aW9uIiwicmVkdWNlIiwicHJpb3JIb29rIiwiaG9vayIsImNvbnRleHQiLCJvcGVyYXRpb24iLCJQcm9taXNlIiwicmVzb2x2ZSIsImNvbGxlY3Rpb25Db25maWciLCJjdXJyZW50RGVwdGgiLCJkZXB0aCIsImRpc2FibGVFcnJvcnMiLCJkcmFmdCIsImRyYWZ0c0VuYWJsZWQiLCJsaW1pdCIsIm92ZXJyaWRlQWNjZXNzIiwicGFnZSIsInBhZ2luYXRpb24iLCJmYWxsYmFja0xvY2FsZSIsImxvY2FsZSIsInBheWxvYWQiLCJzaG93SGlkZGVuRmllbGRzIiwic29ydCIsIndoZXJlIiwiYWNjZXNzUmVzdWx0IiwiZXhlY3V0ZUFjY2VzcyIsImFjY2VzcyIsInJlYWQiLCJkb2NzIiwiaGFzTmV4dFBhZ2UiLCJoYXNQcmV2UGFnZSIsIm5leHRQYWdlIiwicGFnaW5nQ291bnRlciIsInByZXZQYWdlIiwidG90YWxEb2NzIiwidG90YWxQYWdlcyIsInVzZVBhZ2luYXRpb24iLCJzYW5pdGl6ZWRMaW1pdCIsInNhbml0aXplZFBhZ2UiLCJyZXN1bHQiLCJmdWxsV2hlcmUiLCJjb21iaW5lUXVlcmllcyIsInZlcnNpb25zIiwiZHJhZnRzIiwiYXBwZW5kVmVyc2lvblRvUXVlcnlLZXkiLCJ2YWxpZGF0ZVF1ZXJ5UGF0aHMiLCJ2ZXJzaW9uRmllbGRzIiwiYnVpbGRWZXJzaW9uQ29sbGVjdGlvbkZpZWxkcyIsImRiIiwicXVlcnlEcmFmdHMiLCJzbHVnIiwiZ2V0UXVlcnlEcmFmdHNTb3J0IiwiZmluZCIsImFsbCIsIm1hcCIsImRvYyIsImRvY1JlZiIsImJlZm9yZVJlYWQiLCJxdWVyeSIsImFmdGVyUmVhZCIsImZpbmRNYW55IiwiZ2xvYmFsIiwiYnVpbGRBZnRlck9wZXJhdGlvbiIsImNvbW1pdFRyYW5zYWN0aW9uIiwiZXJyb3IiLCJraWxsVHJhbnNhY3Rpb24iXSwibWFwcGluZ3MiOiI7Ozs7K0JBa0NhQTs7O2VBQUFBOzs7c0VBNUJhO2dDQUNLO29DQUNJOzJCQUNUO21DQUNRO2lDQUNGO2lDQUNBO3VDQUNhO3lDQUNMO29DQUNMO3VCQUNDOzs7Ozs7QUFrQjdCLE1BQU1BLGdCQUFnQixPQUMzQkM7SUFFQSxJQUFJQyxPQUFPRDtJQUVYLElBQUk7UUFDRixNQUFNRSxlQUFlLE1BQU1DLElBQUFBLGdDQUFlLEVBQUNGLEtBQUtHLEdBQUc7UUFFbkQsd0NBQXdDO1FBQ3hDLCtCQUErQjtRQUMvQix3Q0FBd0M7UUFFeEMsTUFBTUgsS0FBS0ksVUFBVSxDQUFDQyxNQUFNLENBQUNDLEtBQUssQ0FBQ0MsZUFBZSxDQUFDQyxNQUFNLENBQUMsT0FBT0MsV0FBV0M7WUFDMUUsTUFBTUQ7WUFFTlQsT0FDRSxBQUFDLE1BQU1VLEtBQUs7Z0JBQ1ZWO2dCQUNBSSxZQUFZSixLQUFLSSxVQUFVLENBQUNDLE1BQU07Z0JBQ2xDTSxTQUFTWCxLQUFLRyxHQUFHLENBQUNRLE9BQU87Z0JBQ3pCQyxXQUFXO2dCQUNYVCxLQUFLSCxLQUFLRyxHQUFHO1lBQ2YsTUFBT0g7UUFDWCxHQUFHYSxRQUFRQyxPQUFPO1FBRWxCLE1BQU0sRUFDSlYsWUFBWSxFQUFFQyxRQUFRVSxnQkFBZ0IsRUFBRSxFQUN4Q1gsVUFBVSxFQUNWWSxZQUFZLEVBQ1pDLEtBQUssRUFDTEMsYUFBYSxFQUNiQyxPQUFPQyxhQUFhLEVBQ3BCQyxLQUFLLEVBQ0xDLGNBQWMsRUFDZEMsSUFBSSxFQUNKQyxhQUFhLElBQUksRUFDakJyQixLQUFLLEVBQUVzQixjQUFjLEVBQUVD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
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2ZpbmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBBY2Nlc3NSZXN1bHQgfSBmcm9tICcuLi8uLi9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFBhZ2luYXRlZERvY3MgfSBmcm9tICcuLi8uLi9kYXRhYmFzZS90eXBlcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi8uLi90eXBlcydcbmltcG9ydCB0eXBlIHsgV2hlcmUgfSBmcm9tICcuLi8uLi90eXBlcydcbmltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbiwgVHlwZVdpdGhJRCB9IGZyb20gJy4uL2NvbmZpZy90eXBlcydcblxuaW1wb3J0IGV4ZWN1dGVBY2Nlc3MgZnJvbSAnLi4vLi4vYXV0aC9leGVjdXRlQWNjZXNzJ1xuaW1wb3J0IHsgY29tYmluZVF1ZXJpZXMgfSBmcm9tICcuLi8uLi9kYXRhYmFzZS9jb21iaW5lUXVlcmllcydcbmltcG9ydCB7IHZhbGlkYXRlUXVlcnlQYXRocyB9IGZyb20gJy4uLy4uL2RhdGFiYXNlL3F1ZXJ5VmFsaWRhdGlvbi92YWxpZGF0ZVF1ZXJ5UGF0aHMnXG5pbXBvcnQgeyBhZnRlclJlYWQgfSBmcm9tICcuLi8uLi9maWVsZHMvaG9va3MvYWZ0ZXJSZWFkJ1xuaW1wb3J0IHsgY29tbWl0VHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvY29tbWl0VHJhbnNhY3Rpb24nXG5pbXBvcnQgeyBpbml0VHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvaW5pdFRyYW5zYWN0aW9uJ1xuaW1wb3J0IHsga2lsbFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2tpbGxUcmFuc2FjdGlvbidcbmltcG9ydCB7IGJ1aWxkVmVyc2lvbkNvbGxlY3Rpb25GaWVsZHMgfSBmcm9tICcuLi8uLi92ZXJzaW9ucy9idWlsZENvbGxlY3Rpb25GaWVsZHMnXG5pbXBvcnQgeyBhcHBlbmRWZXJzaW9uVG9RdWVyeUtleSB9IGZyb20gJy4uLy4uL3ZlcnNpb25zL2RyYWZ0cy9hcHBlbmRWZXJzaW9uVG9RdWVyeUtleSdcbmltcG9ydCB7IGdldFF1ZXJ5RHJhZnRzU29ydCB9IGZyb20gJy4uLy4uL3ZlcnNpb25zL2RyYWZ0cy9nZXRRdWVyeURyYWZ0c1NvcnQnXG5pbXBvcnQgeyBidWlsZEFmdGVyT3BlcmF0aW9uIH0gZnJvbSAnLi91dGlscydcblxuZXhwb3J0IHR5cGUgQXJndW1lbnRzID0ge1xuICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uXG4gIGN1cnJlbnREZXB0aD86IG51bWJlclxuICBkZXB0aD86IG51bWJlclxuICBkaXNhYmxlRXJyb3JzPzogYm9vbGVhblxuICBkcmFmdD86IGJvb2xlYW5cbiAgbGltaXQ/OiBudW1iZXJcbiAgb3ZlcnJpZGVBY2Nlc3M/OiBib29sZWFuXG4gIHBhZ2U/OiBudW1iZXJcbiAgcGFnaW5hdGlvbj86IGJvb2xlYW5cbiAgcmVxPzogUGF5bG9hZFJlcXVlc3RcbiAgc2hvd0hpZGRlbkZpZWxkcz86IGJvb2xlYW5cbiAgc29ydD86IHN0cmluZ1xuICB3aGVyZT86IFdoZXJlXG59XG5cbmV4cG9ydCBjb25zdCBmaW5kT3BlcmF0aW9uID0gYXN5bmMgPFQgZXh0ZW5kcyBUeXBlV2l0aElEICYgUmVjb3JkPHN0cmluZywgdW5rbm93bj4+KFxuICBpbmNvbWluZ0FyZ3M6IEFyZ3VtZW50cyxcbik6IFByb21pc2U8UGFnaW5hdGVkRG9jczxUPj4gPT4ge1xuICBsZXQgYXJncyA9IGluY29taW5nQXJnc1xuXG4gIHRyeSB7XG4gICAgY29uc3Qgc2hvdWxkQ29tbWl0ID0gYXdhaXQgaW5pdFRyYW5zYWN0aW9uKGFyZ3MucmVxKVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGJlZm9yZU9wZXJhdGlvbiAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBhd2FpdCBhcmdzLmNvbGxlY3Rpb24uY29uZmlnLmhvb2tzLmJlZm9yZU9wZXJhdGlvbi5yZWR1Y2UoYXN5bmMgKHByaW9ySG9vaywgaG9vaykgPT4ge1xuICAgICAgYXdhaXQgcHJpb3JIb29rXG5cbiAgICAgIGFyZ3MgPVxuICAgICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgICAgYXJncyxcbiAgICAgICAgICBjb2xsZWN0aW9uOiBhcmdzLmNvbGxlY3Rpb24uY29uZmlnLFxuICAgICAgICAgIGNvbnRleHQ6IGFyZ3MucmVxLmNvbnRleHQsXG4gICAgICAgICAgb3BlcmF0aW9uOiAncmVhZCcsXG4gICAgICAgICAgcmVxOiBhcmdzLnJlcSxcbiAgICAgICAgfSkpIHx8IGFyZ3NcbiAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcblxuICAgIGNvbnN0IHtcbiAgICAgIGNvbGxlY3Rpb246IHsgY29uZmlnOiBjb2xsZWN0aW9uQ29uZmlnIH0sXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgY3VycmVudERlcHRoLFxuICAgICAgZGVwdGgsXG4gICAgICBkaXNhYmxlRXJyb3JzLFxuICAgICAgZHJhZnQ6IGRyYWZ0c0VuYWJsZWQsXG4gICAgICBsaW1pdCxcbiAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgcGFnZSxcbiAgICAgIHBhZ2luYXRpb24gPSB0cnVlLFxuICAgICAgcmVxOiB7IGZhbGxiYWNrTG9jYWxlLCBsb2NhbGUsIHBheWxvYWQgfSxcbiAgICAgIHJlcSxcbiAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgICBzb3J0LFxuICAgICAgd2hlcmUsXG4gICAgfSA9IGFyZ3NcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBBY2Nlc3NcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBsZXQgYWNjZXNzUmVzdWx0OiBBY2Nlc3NSZXN1bHRcblxuICAgIGlmICghb3ZlcnJpZGVBY2Nlc3MpIHtcbiAgICAgIGFjY2Vzc1Jlc3VsdCA9IGF3YWl0IGV4ZWN1dGVBY2Nlc3MoeyBkaXNhYmxlRXJyb3JzLCByZXEgfSwgY29sbGVjdGlvbkNvbmZpZy5hY2Nlc3MucmVhZClcblxuICAgICAgLy8gSWYgZXJyb3JzIGFyZSBkaXNhYmxlZCwgYW5kIGFjY2VzcyByZXR1cm5zIGZhbHNlLCByZXR1cm4gZW1wdHkgcmVzdWx0c1xuICAgICAgaWYgKGFjY2Vzc1Jlc3VsdCA9PT0gZmFsc2UpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBkb2NzOiBbXSxcbiAgICAgICAgICBoYXNOZXh0UGFnZTogZmFsc2UsXG4gICAgICAgICAgaGFzUHJldlBhZ2U6IGZhbHNlLFxuICAgICAgICAgIGxpbWl0LFxuICAgICAgICAgIG5leHRQYWdlOiBudWxsLFxuICAgICAgICAgIHBhZ2U6IDEsXG4gICAgICAgICAgcGFnaW5nQ291bnRlcjogMSxcbiAgICAgICAgICBwcmV2UGFnZTogbnVsbCxcbiAgICAgICAgICB0b3RhbERvY3M6IDAsXG4gICAgICAgICAgdG90YWxQYWdlczogMSxcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBGaW5kXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgY29uc3QgdXNlUGFnaW5hdGlvbiA9IHBhZ2luYXRpb24gJiYgbGltaXQgIT09IDBcbiAgICBjb25zdCBzYW5pdGl6ZWRMaW1pdCA9IGxpbWl0ID8/ICh1c2VQYWdpbmF0aW9uID8gMTAgOiAwKVxuICAgIGNvbnN0IHNhbml0aXplZFBhZ2UgPSBwYWdlIHx8IDFcblxuICAgIGxldCByZXN1bHQ6IFBhZ2luYXRlZERvY3M8VD5cblxuICAgIGxldCBmdWxsV2hlcmUgPSBjb21iaW5lUXVlcmllcyh3aGVyZSwgYWNjZXNzUmVzdWx0KVxuXG4gICAgaWYgKGNvbGxlY3Rpb25Db25maWcudmVyc2lvbnM/LmRyYWZ0cyAmJiBkcmFmdHNFbmFibGVkKSB7XG4gICAgICBmdWxsV2hlcmUgPSBhcHBlbmRWZXJzaW9uVG9RdWVyeUtleShmdWxsV2hlcmUpXG5cbiAgICAgIGF3YWl0IHZhbGlkYXRlUXVlcnlQYXRocyh7XG4gICAgICAgIGNvbGxlY3Rpb25Db25maWc6IGNvbGxlY3Rpb24uY29uZmlnLFxuICAgICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgICAgcmVxLFxuICAgICAgICB2ZXJzaW9uRmllbGRzOiBidWlsZFZlcnNpb25Db2xsZWN0aW9uRmllbGRzKGNvbGxlY3Rpb24uY29uZmlnKSxcbiAgICAgICAgd2hlcmU6IGZ1bGxXaGVyZSxcbiAgICAgIH0pXG5cbiAgICAgIHJlc3VsdCA9IGF3YWl0IHBheWxvYWQuZGIucXVlcnlEcmFmdHM8VD4oe1xuICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLnNsdWcsXG4gICAgICAgIGxpbWl0OiBzYW5pdGl6ZWRMaW1pdCxcbiAgICAgICAgbG9jYWxlLFxuICAgICAgICBwYWdlOiBzYW5pdGl6ZWRQYWdlLFxuICAgICAgICBwYWdpbmF0aW9uOiB1c2VQYWdpbmF0aW9uLFxuICAgICAgICByZXEsXG4gICAgICAgIHNvcnQ6IGdldFF1ZXJ5RHJhZnRzU29ydChzb3J0KSxcbiAgICAgICAgd2hlcmU6IGZ1bGxXaGVyZSxcbiAgICAgIH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIGF3YWl0IHZhbGlkYXRlUXVlcnlQYXRocyh7XG4gICAgICAgIGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgICByZXEsXG4gICAgICAgIHdoZXJlLFxuICAgICAgfSlcblxuICAgICAgcmVzdWx0ID0gYXdhaXQgcGF5bG9hZC5kYi5maW5kPFQ+KHtcbiAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZy5zbHVnLFxuICAgICAgICBsaW1pdDogc2FuaXRpemVkTGltaXQsXG4gICAgICAgIGxvY2FsZSxcbiAgICAgICAgcGFnZTogc2FuaXRpemVkUGFnZSxcbiAgICAgICAgcGFnaW5hdGlvbixcbiAgICAgICAgcmVxLFxuICAgICAgICBzb3J0LFxuICAgICAgICB3aGVyZTogZnVsbFdoZXJlLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gYmVmb3JlUmVhZCAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICByZXN1bHQgPSB7XG4gICAgICAuLi5yZXN1bHQsXG4gICAgICBkb2NzOiBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgcmVzdWx0LmRvY3MubWFwKGFzeW5jIChkb2MpID0+IHtcbiAgICAgICAgICBsZXQgZG9jUmVmID0gZG9jXG5cbiAgICAgICAgICBhd2FpdCBjb2xsZWN0aW9uQ29uZmlnLmhvb2tzLmJlZm9yZVJlYWQucmVkdWNlKGFzeW5jIChwcmlvckhvb2ssIGhvb2spID0+IHtcbiAgICAgICAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICAgICAgICBkb2NSZWYgPVxuICAgICAgICAgICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgICAgICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgICAgICAgICAgICBkb2M6IGRvY1JlZixcbiAgICAgICAgICAgICAgICBxdWVyeTogZnVsbFdoZXJlLFxuICAgICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgICAgfSkpIHx8IGRvY1JlZlxuICAgICAgICAgIH0sIFByb21pc2UucmVzb2x2ZSgpKVxuXG4gICAgICAgICAgcmV0dXJuIGRvY1JlZlxuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgfVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGFmdGVyUmVhZCAtIEZpZWxkc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIHJlc3VsdCA9IHtcbiAgICAgIC4uLnJlc3VsdCxcbiAgICAgIGRvY3M6IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICByZXN1bHQuZG9jcy5tYXAoYXN5bmMgKGRvYykgPT5cbiAgICAgICAgICBhZnRlclJlYWQ8VD4oe1xuICAgICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgICAgIGNvbnRleHQ6IHJlcS5jb250ZXh0LFxuICAgICAgICAgICAgY3VycmVudERlcHRoLFxuICAgICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgICBkb2MsXG4gICAgICAgICAgICBmYWxsYmFja0xvY2FsZSxcbiAgICAgICAgICAgIGZpbmRNYW55OiB0cnVlLFxuICAgICAgICAgICAgZ2xvYmFsOiBudWxsLFxuICAgICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICAgICAgICByZXEsXG4gICAgICAgICAgICBzaG93SGlkZGVuRmllbGRzLFxuICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICB9XG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gYWZ0ZXJSZWFkIC0gQ29sbGVjdGlvblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIHJlc3VsdCA9IHtcbiAgICAgIC4uLnJlc3VsdCxcbiAgICAgIGRvY3M6IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICByZXN1bHQuZG9jcy5tYXAoYXN5bmMgKGRvYykgPT4ge1xuICAgICAgICAgIGxldCBkb2NSZWYgPSBkb2NcblxuICAgICAgICAgIGF3YWl0IGNvbGxlY3Rpb25Db25maWcuaG9va3MuYWZ0ZXJSZWFkLnJlZHVjZShhc3luYyAocHJpb3JIb29rLCBob29rKSA9PiB7XG4gICAgICAgICAgICBhd2FpdCBwcmlvckhvb2tcblxuICAgICAgICAgICAgZG9jUmVmID1cbiAgICAgICAgICAgICAgKGF3YWl0IGhvb2soe1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgICAgICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICAgICAgICAgICAgZG9jOiBkb2NSZWYsXG4gICAgICAgICAgICAgICAgZmluZE1hbnk6IHRydWUsXG4gICAgICAgICAgICAgICAgcXVlcnk6IGZ1bGxXaGVyZSxcbiAgICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICAgIH0pKSB8fCBkb2NcbiAgICAgICAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcblxuICAgICAgICAgIHJldHVybiBkb2NSZWZcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgIH1cblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlck9wZXJhdGlvbiAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICByZXN1bHQgPSBhd2FpdCBidWlsZEFmdGVyT3BlcmF0aW9uPFQ+KHtcbiAgICAgIGFyZ3MsXG4gICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgb3BlcmF0aW9uOiAnZmluZCcsXG4gICAgICByZXN1bHQsXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBSZXR1cm4gcmVzdWx0c1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGlmIChzaG91bGRDb21taXQpIGF3YWl0IGNvbW1pdFRyYW5zYWN0aW9uKHJlcSlcblxuICAgIHJldHVybiByZXN1bHRcbiAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICBhd2FpdCBraWxsVHJhbnNhY3Rpb24oYXJncy5yZXEpXG4gICAgdGhyb3cgZXJyb3JcbiAgfVxufVxuIl0sIm5hbWVzIjpbImV4ZWN1dGVBY2Nlc3MiLCJjb21iaW5lUXVlcmllcyIsInZhbGlkYXRlUXVlcnlQYXRocyIsImFmdGVyUmVhZCIsImNvbW1pdFRyYW5zYWN0aW9uIiwiaW5pdFRyYW5zYWN0aW9uIiwia2lsbFRyYW5zYWN0aW9uIiwiYnVpbGRWZXJzaW9uQ29sbGVjdGlvbkZpZWxkcyIsImFwcGVuZFZlcnNpb25Ub1F1ZXJ5S2V5IiwiZ2V0UXVlcnlEcmFmdHNTb3J0IiwiYnVpbGRBZnRlck9wZXJhdGlvbiIsImZpbmRPcGVyYXRpb24iLCJpbmNvbWluZ0FyZ3MiLCJhcmdzIiwic2hvdWxkQ29tbWl0IiwicmVxIiwiY29sbGVjdGlvbiIsImNvbmZpZyIsImhvb2tzIiwiYmVmb3JlT3BlcmF0aW9uIiwicmVkdWNlIiwicHJpb3JIb29rIiwiaG9vayIsImNvbnRleHQiLCJvcGVyYXRpb24iLCJQcm9taXNlIiwicmVzb2x2ZSIsImNvbGxlY3Rpb25Db25maWciLCJjdXJyZW50RGVwdGgiLCJkZXB0aCIsImRpc2FibGVFcnJvcnMiLCJkcmFmdCIsImRyYWZ0c0VuYWJsZWQiLCJsaW1pdCIsIm92ZXJyaWRlQWNjZXNzIiwicGFnZSIsInBhZ2luYXRpb24iLCJmYWxsYmFja0xvY2FsZSIsImxvY2FsZSIsInBheWxvYWQiLCJzaG93SGlkZGVuRmllbGRzIiwic29ydCIsIndoZXJlIiwiYWNjZXNzUmVzdWx0IiwiYWNjZXNzIiwicmVhZCIsImRvY3MiLCJoYXNOZXh0UGFnZSIsImhhc1ByZXZQYWdlIiwibmV4dFBhZ2UiLCJwYWdpbmdDb3VudGVyIiwicHJldlBhZ2UiLCJ0b3RhbERvY3MiLCJ0b3RhbFBhZ2VzIiwidXNlUGFnaW5hdGlvbiIsInNhbml0aXplZExpbWl0Iiwic2FuaXRpemVkUGFnZSIsInJlc3VsdCIsImZ1bGxXaGVyZSIsInZlcnNpb25zIiwiZHJhZnRzIiwidmVyc2lvbkZpZWxkcyIsImRiIiwicXVlcnlEcmFmdHMiLCJzbHVnIiwiZmluZCIsImFsbCIsIm1hcCIsImRvYyIsImRvY1JlZiIsImJlZm9yZVJlYWQiLCJxdWVyeSIsImZpbmRNYW55IiwiZ2xvYmFsIiwiZXJyb3IiXSwibWFwcGluZ3MiOiJBQU1BLE9BQU9BLG1CQUFtQiwyQkFBMEI7QUFDcEQsU0FBU0MsY0FBYyxRQUFRLGdDQUErQjtBQUM5RCxTQUFTQyxrQkFBa0IsUUFBUSxvREFBbUQ7QUFDdEYsU0FBU0MsU0FBUyxRQUFRLCtCQUE4QjtBQUN4RCxTQUFTQyxpQkFBaUIsUUFBUSxvQ0FBbUM7QUFDckUsU0FBU0MsZUFBZSxRQUFRLGtDQUFpQztBQUNqRSxTQUFTQyxlQUFlLFFBQVEsa0NBQWlDO0FBQ2pFLFNBQVNDLDRCQUE0QixRQUFRLHVDQUFzQztBQUNuRixTQUFTQyx1QkFBdUIsUUFBUSxnREFBK0M7QUFDdkYsU0FBU0Msa0JBQWtCLFFBQVEsMkNBQTBDO0FBQzdFLFNBQVNDLG1CQUFtQixRQUFRLFVBQVM7QUFrQjdDLE9BQU8sTUFBTUMsZ0JBQWdCLE9BQzNCQztJQUVBLElBQUlDLE9BQU9EO0lBRVgsSUFBSTtRQUNGLE1BQU1FLGVBQWUsTUFBTVQsZ0JBQWdCUSxLQUFLRSxHQUFHO1FBRW5ELHdDQUF3QztRQUN4QywrQkFBK0I7UUFDL0Isd0NBQXdDO1FBRXhDLE1BQU1GLEtBQUtHLFVBQVUsQ0FBQ0MsTUFBTSxDQUFDQyxLQUFLLENBQUNDLGVBQWUsQ0FBQ0MsTUFBTSxDQUFDLE9BQU9DLFdBQVdDO1lBQzFFLE1BQU1EO1lBRU5SLE9BQ0UsQUFBQyxNQUFNUyxLQUFLO2dCQUNWVDtnQkFDQUcsWUFBWUgsS0FBS0csVUFBVSxDQUFDQyxNQUFNO2dCQUNsQ00sU0FBU1YsS0FBS0UsR0FBRyxDQUFDUSxPQUFPO2dCQUN6QkMsV0FBVztnQkFDWFQsS0FBS0YsS0FBS0Us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
|