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,26 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return registerFirstUserOperation;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _errors = require("../../errors");
|
|
12
|
-
const _commitTransaction = require("../../utilities/commitTransaction");
|
|
13
|
-
const _initTransaction = require("../../utilities/initTransaction");
|
|
14
|
-
const _killTransaction = require("../../utilities/killTransaction");
|
|
15
|
-
const registerFirstUserOperation = async (args)=>{
|
|
1
|
+
import { Forbidden } from '../../errors';
|
|
2
|
+
import { commitTransaction } from '../../utilities/commitTransaction';
|
|
3
|
+
import { initTransaction } from '../../utilities/initTransaction';
|
|
4
|
+
import { killTransaction } from '../../utilities/killTransaction';
|
|
5
|
+
export const registerFirstUserOperation = async (args)=>{
|
|
16
6
|
const { collection: { config, config: { auth: { verify }, slug } }, data, req, req: { payload } } = args;
|
|
17
7
|
try {
|
|
18
|
-
const shouldCommit = await
|
|
8
|
+
const shouldCommit = await initTransaction(req);
|
|
19
9
|
const doc = await payload.db.findOne({
|
|
20
10
|
collection: config.slug,
|
|
21
11
|
req
|
|
22
12
|
});
|
|
23
|
-
if (doc) throw new
|
|
13
|
+
if (doc) throw new Forbidden(req.t);
|
|
24
14
|
// /////////////////////////////////////
|
|
25
15
|
// Register first user
|
|
26
16
|
// /////////////////////////////////////
|
|
@@ -49,16 +39,16 @@ const registerFirstUserOperation = async (args)=>{
|
|
|
49
39
|
collection: slug,
|
|
50
40
|
req
|
|
51
41
|
});
|
|
52
|
-
if (shouldCommit) await
|
|
42
|
+
if (shouldCommit) await commitTransaction(req);
|
|
53
43
|
return {
|
|
54
44
|
exp,
|
|
55
45
|
token,
|
|
56
46
|
user: result
|
|
57
47
|
};
|
|
58
48
|
} catch (error) {
|
|
59
|
-
await
|
|
49
|
+
await killTransaction(req);
|
|
60
50
|
throw error;
|
|
61
51
|
}
|
|
62
52
|
};
|
|
63
53
|
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRoL29wZXJhdGlvbnMvcmVnaXN0ZXJGaXJzdFVzZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBNYXJrT3B0aW9uYWwgfSBmcm9tICd0cy1lc3NlbnRpYWxzJ1xuXG5pbXBvcnQgdHlwZSB7IEdlbmVyYXRlZFR5cGVzIH0gZnJvbSAnLi4vLi4vJ1xuaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBGb3JiaWRkZW4gfSBmcm9tICcuLi8uLi9lcnJvcnMnXG5pbXBvcnQgeyBjb21taXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9jb21taXRUcmFuc2FjdGlvbidcbmltcG9ydCB7IGluaXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9pbml0VHJhbnNhY3Rpb24nXG5pbXBvcnQgeyBraWxsVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMva2lsbFRyYW5zYWN0aW9uJ1xuXG5leHBvcnQgdHlwZSBBcmd1bWVudHM8VCBleHRlbmRzIHsgW2ZpZWxkOiBudW1iZXIgfCBzdHJpbmcgfCBzeW1ib2xdOiB1bmtub3duIH0+ID0ge1xuICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uXG4gIGRhdGE6IE1hcmtPcHRpb25hbDxULCAnY3JlYXRlZEF0JyB8ICdpZCcgfCAnc2l6ZXMnIHwgJ3VwZGF0ZWRBdCc+ICYge1xuICAgIGVtYWlsOiBzdHJpbmdcbiAgICBwYXNzd29yZDogc3RyaW5nXG4gIH1cbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxufVxuXG5leHBvcnQgdHlwZSBSZXN1bHQ8VD4gPSB7XG4gIGV4cD86IG51bWJlclxuICB0b2tlbj86IHN0cmluZ1xuICB1c2VyPzogVFxufVxuXG5leHBvcnQgY29uc3QgcmVnaXN0ZXJGaXJzdFVzZXJPcGVyYXRpb24gPSBhc3luYyA8VFNsdWcgZXh0ZW5kcyBrZXlvZiBHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gIGFyZ3M6IEFyZ3VtZW50czxHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUU2x1Z10+
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRoL29wZXJhdGlvbnMvcmVnaXN0ZXJGaXJzdFVzZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBNYXJrT3B0aW9uYWwgfSBmcm9tICd0cy1lc3NlbnRpYWxzJ1xuXG5pbXBvcnQgdHlwZSB7IEdlbmVyYXRlZFR5cGVzIH0gZnJvbSAnLi4vLi4vJ1xuaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBGb3JiaWRkZW4gfSBmcm9tICcuLi8uLi9lcnJvcnMnXG5pbXBvcnQgeyBjb21taXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9jb21taXRUcmFuc2FjdGlvbidcbmltcG9ydCB7IGluaXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9pbml0VHJhbnNhY3Rpb24nXG5pbXBvcnQgeyBraWxsVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMva2lsbFRyYW5zYWN0aW9uJ1xuXG5leHBvcnQgdHlwZSBBcmd1bWVudHM8VCBleHRlbmRzIHsgW2ZpZWxkOiBudW1iZXIgfCBzdHJpbmcgfCBzeW1ib2xdOiB1bmtub3duIH0+ID0ge1xuICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uXG4gIGRhdGE6IE1hcmtPcHRpb25hbDxULCAnY3JlYXRlZEF0JyB8ICdpZCcgfCAnc2l6ZXMnIHwgJ3VwZGF0ZWRBdCc+ICYge1xuICAgIGVtYWlsOiBzdHJpbmdcbiAgICBwYXNzd29yZDogc3RyaW5nXG4gIH1cbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxufVxuXG5leHBvcnQgdHlwZSBSZXN1bHQ8VD4gPSB7XG4gIGV4cD86IG51bWJlclxuICB0b2tlbj86IHN0cmluZ1xuICB1c2VyPzogVFxufVxuXG5leHBvcnQgY29uc3QgcmVnaXN0ZXJGaXJzdFVzZXJPcGVyYXRpb24gPSBhc3luYyA8VFNsdWcgZXh0ZW5kcyBrZXlvZiBHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gIGFyZ3M6IEFyZ3VtZW50czxHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUU2x1Z10+LFxuKTogUHJvbWlzZTxSZXN1bHQ8R2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVFNsdWddPj4gPT4ge1xuICBjb25zdCB7XG4gICAgY29sbGVjdGlvbjoge1xuICAgICAgY29uZmlnLFxuICAgICAgY29uZmlnOiB7XG4gICAgICAgIGF1dGg6IHsgdmVyaWZ5IH0sXG4gICAgICAgIHNsdWcsXG4gICAgICB9LFxuICAgIH0sXG4gICAgZGF0YSxcbiAgICByZXEsXG4gICAgcmVxOiB7IHBheWxvYWQgfSxcbiAgfSA9IGFyZ3NcblxuICB0cnkge1xuICAgIGNvbnN0IHNob3VsZENvbW1pdCA9IGF3YWl0IGluaXRUcmFuc2FjdGlvbihyZXEpXG5cbiAgICBjb25zdCBkb2MgPSBhd2FpdCBwYXlsb2FkLmRiLmZpbmRPbmUoe1xuICAgICAgY29sbGVjdGlvbjogY29uZmlnLnNsdWcsXG4gICAgICByZXEsXG4gICAgfSlcblxuICAgIGlmIChkb2MpIHRocm93IG5ldyBGb3JiaWRkZW4ocmVxLnQpXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gUmVnaXN0ZXIgZmlyc3QgdXNlclxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHBheWxvYWQuY3JlYXRlPFRTbHVnPih7XG4gICAgICBjb2xsZWN0aW9uOiBzbHVnIGFzIFRTbHVnLFxuICAgICAgZGF0YSxcbiAgICAgIG92ZXJyaWRlQWNjZXNzOiB0cnVlLFxuICAgICAgcmVxLFxuICAgIH0pXG5cbiAgICAvLyBhdXRvLXZlcmlmeSAoaWYgYXBwbGljYWJsZSlcbiAgICBpZiAodmVyaWZ5KSB7XG4gICAgICBhd2FpdCBwYXlsb2FkLnVwZGF0ZSh7XG4gICAgICAgIGlkOiByZXN1bHQuaWQsXG4gICAgICAgIGNvbGxlY3Rpb246IHNsdWcsXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICBfdmVyaWZpZWQ6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHJlcSxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIExvZyBpbiBuZXcgdXNlclxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGNvbnN0IHsgZXhwLCB0b2tlbiB9ID0gYXdhaXQgcGF5bG9hZC5sb2dpbih7XG4gICAgICAuLi5hcmdzLFxuICAgICAgY29sbGVjdGlvbjogc2x1ZyxcbiAgICAgIHJlcSxcbiAgICB9KVxuXG4gICAgaWYgKHNob3VsZENvbW1pdCkgYXdhaXQgY29tbWl0VHJhbnNhY3Rpb24ocmVxKVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGV4cCxcbiAgICAgIHRva2VuLFxuICAgICAgdXNlcjogcmVzdWx0LFxuICAgIH1cbiAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICBhd2FpdCBraWxsVHJhbnNhY3Rpb24ocmVxKVxuICAgIHRocm93IGVycm9yXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJGb3JiaWRkZW4iLCJjb21taXRUcmFuc2FjdGlvbiIsImluaXRUcmFuc2FjdGlvbiIsImtpbGxUcmFuc2FjdGlvbiIsInJlZ2lzdGVyRmlyc3RVc2VyT3BlcmF0aW9uIiwiYXJncyIsImNvbGxlY3Rpb24iLCJjb25maWciLCJhdXRoIiwidmVyaWZ5Iiwic2x1ZyIsImRhdGEiLCJyZXEiLCJwYXlsb2FkIiwic2hvdWxkQ29tbWl0IiwiZG9jIiwiZGIiLCJmaW5kT25lIiwidCIsInJlc3VsdCIsImNyZWF0ZSIsIm92ZXJyaWRlQWNjZXNzIiwidXBkYXRlIiwiaWQiLCJfdmVyaWZpZWQiLCJleHAiLCJ0b2tlbiIsImxvZ2luIiwidXNlciIsImVycm9yIl0sIm1hcHBpbmdzIjoiQUFNQSxTQUFTQSxTQUFTLFFBQVEsZUFBYztBQUN4QyxTQUFTQyxpQkFBaUIsUUFBUSxvQ0FBbUM7QUFDckUsU0FBU0MsZUFBZSxRQUFRLGtDQUFpQztBQUNqRSxTQUFTQyxlQUFlLFFBQVEsa0NBQWlDO0FBaUJqRSxPQUFPLE1BQU1DLDZCQUE2QixPQUN4Q0M7SUFFQSxNQUFNLEVBQ0pDLFlBQVksRUFDVkMsTUFBTSxFQUNOQSxRQUFRLEVBQ05DLE1BQU0sRUFBRUMsTUFBTSxFQUFFLEVBQ2hCQyxJQUFJLEVBQ0wsRUFDRixFQUNEQyxJQUFJLEVBQ0pDLEdBQUcsRUFDSEEsS0FBSyxFQUFFQyxPQUFPLEVBQUUsRUFDakIsR0FBR1I7SUFFSixJQUFJO1FBQ0YsTUFBTVMsZUFBZSxNQUFNWixnQkFBZ0JVO1FBRTNDLE1BQU1HLE1BQU0sTUFBTUYsUUFBUUcsRUFBRSxDQUFDQyxPQUFPLENBQUM7WUFDbkNYLFlBQVlDLE9BQU9HLElBQUk7WUFDdkJFO1FBQ0Y7UUFFQSxJQUFJRyxLQUFLLE1BQU0sSUFBSWYsVUFBVVksSUFBSU0sQ0FBQztRQUVsQyx3Q0FBd0M7UUFDeEMsc0JBQXNCO1FBQ3RCLHdDQUF3QztRQUV4QyxNQUFNQyxTQUFTLE1BQU1OLFFBQVFPLE1BQU0sQ0FBUTtZQUN6Q2QsWUFBWUk7WUFDWkM7WUFDQVUsZ0JBQWdCO1lBQ2hCVDtRQUNGO1FBRUEsOEJBQThCO1FBQzlCLElBQUlILFFBQVE7WUFDVixNQUFNSSxRQUFRUyxNQUFNLENBQUM7Z0JBQ25CQyxJQUFJSixPQUFPSSxFQUFFO2dCQUNiakIsWUFBWUk7Z0JBQ1pDLE1BQU07b0JBQ0phLFdBQVc7Z0JBQ2I7Z0JBQ0FaO1lBQ0Y7UUFDRjtRQUVBLHdDQUF3QztRQUN4QyxrQkFBa0I7UUFDbEIsd0NBQXdDO1FBRXhDLE1BQU0sRUFBRWEsR0FBRyxFQUFFQyxLQUFLLEVBQUUsR0FBRyxNQUFNYixRQUFRYyxLQUFLLENBQUM7WUFDekMsR0FBR3RCLElBQUk7WUFDUEMsWUFBWUk7WUFDWkU7UUFDRjtRQUVBLElBQUlFLGNBQWMsTUFBTWIsa0JBQWtCVztRQUUxQyxPQUFPO1lBQ0xhO1lBQ0FDO1lBQ0FFLE1BQU1UO1FBQ1I7SUFDRixFQUFFLE9BQU9VLE9BQWdCO1FBQ3ZCLE1BQU0xQixnQkFBZ0JTO1FBQ3RCLE1BQU1pQjtJQUNSO0FBQ0YsRUFBQyJ9
|
|
@@ -1,41 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
default: function() {
|
|
13
|
-
return _default;
|
|
14
|
-
},
|
|
15
|
-
resetPasswordOperation: function() {
|
|
16
|
-
return resetPasswordOperation;
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
const _jsonwebtoken = /*#__PURE__*/ _interop_require_default(require("jsonwebtoken"));
|
|
20
|
-
const _errors = require("../../errors");
|
|
21
|
-
const _commitTransaction = require("../../utilities/commitTransaction");
|
|
22
|
-
const _initTransaction = require("../../utilities/initTransaction");
|
|
23
|
-
const _killTransaction = require("../../utilities/killTransaction");
|
|
24
|
-
const _getFieldsToSign = require("../getFieldsToSign");
|
|
25
|
-
const _authenticate = require("../strategies/local/authenticate");
|
|
26
|
-
const _generatePasswordSaltHash = require("../strategies/local/generatePasswordSaltHash");
|
|
27
|
-
function _interop_require_default(obj) {
|
|
28
|
-
return obj && obj.__esModule ? obj : {
|
|
29
|
-
default: obj
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
const resetPasswordOperation = async (args)=>{
|
|
1
|
+
import jwt from 'jsonwebtoken';
|
|
2
|
+
import { APIError } from '../../errors';
|
|
3
|
+
import { commitTransaction } from '../../utilities/commitTransaction';
|
|
4
|
+
import { initTransaction } from '../../utilities/initTransaction';
|
|
5
|
+
import { killTransaction } from '../../utilities/killTransaction';
|
|
6
|
+
import { getFieldsToSign } from '../getFieldsToSign';
|
|
7
|
+
import { authenticateLocalStrategy } from '../strategies/local/authenticate';
|
|
8
|
+
import { generatePasswordSaltHash } from '../strategies/local/generatePasswordSaltHash';
|
|
9
|
+
export const resetPasswordOperation = async (args)=>{
|
|
33
10
|
if (!Object.prototype.hasOwnProperty.call(args.data, 'token') || !Object.prototype.hasOwnProperty.call(args.data, 'password')) {
|
|
34
|
-
throw new
|
|
11
|
+
throw new APIError('Missing required data.');
|
|
35
12
|
}
|
|
36
13
|
const { collection: { config: collectionConfig }, data, depth, overrideAccess, req: { payload: { secret }, payload }, req } = args;
|
|
37
14
|
try {
|
|
38
|
-
const shouldCommit = await
|
|
15
|
+
const shouldCommit = await initTransaction(req);
|
|
39
16
|
// /////////////////////////////////////
|
|
40
17
|
// Reset Password
|
|
41
18
|
// /////////////////////////////////////
|
|
@@ -51,9 +28,9 @@ const resetPasswordOperation = async (args)=>{
|
|
|
51
28
|
}
|
|
52
29
|
}
|
|
53
30
|
});
|
|
54
|
-
if (!user) throw new
|
|
31
|
+
if (!user) throw new APIError('Token is either invalid or has expired.');
|
|
55
32
|
// TODO: replace this method
|
|
56
|
-
const { hash, salt } = await
|
|
33
|
+
const { hash, salt } = await generatePasswordSaltHash({
|
|
57
34
|
password: data.password
|
|
58
35
|
});
|
|
59
36
|
user.salt = salt;
|
|
@@ -68,16 +45,16 @@ const resetPasswordOperation = async (args)=>{
|
|
|
68
45
|
data: user,
|
|
69
46
|
req
|
|
70
47
|
});
|
|
71
|
-
await
|
|
48
|
+
await authenticateLocalStrategy({
|
|
72
49
|
doc,
|
|
73
50
|
password: data.password
|
|
74
51
|
});
|
|
75
|
-
const fieldsToSign =
|
|
52
|
+
const fieldsToSign = getFieldsToSign({
|
|
76
53
|
collectionConfig,
|
|
77
54
|
email: user.email,
|
|
78
55
|
user
|
|
79
56
|
});
|
|
80
|
-
const token =
|
|
57
|
+
const token = jwt.sign(fieldsToSign, secret, {
|
|
81
58
|
expiresIn: collectionConfig.auth.tokenExpiration
|
|
82
59
|
});
|
|
83
60
|
const fullUser = await payload.findByID({
|
|
@@ -87,17 +64,17 @@ const resetPasswordOperation = async (args)=>{
|
|
|
87
64
|
overrideAccess,
|
|
88
65
|
req
|
|
89
66
|
});
|
|
90
|
-
if (shouldCommit) await
|
|
67
|
+
if (shouldCommit) await commitTransaction(req);
|
|
91
68
|
const result = {
|
|
92
69
|
token,
|
|
93
70
|
user: fullUser
|
|
94
71
|
};
|
|
95
72
|
return result;
|
|
96
73
|
} catch (error) {
|
|
97
|
-
await
|
|
74
|
+
await killTransaction(req);
|
|
98
75
|
throw error;
|
|
99
76
|
}
|
|
100
77
|
};
|
|
101
|
-
|
|
78
|
+
export default resetPasswordOperation;
|
|
102
79
|
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRoL29wZXJhdGlvbnMvcmVzZXRQYXNzd29yZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgand0IGZyb20gJ2pzb253ZWJ0b2tlbidcblxuaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBBUElFcnJvciB9IGZyb20gJy4uLy4uL2Vycm9ycydcbmltcG9ydCB7IGNvbW1pdFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2NvbW1pdFRyYW5zYWN0aW9uJ1xuaW1wb3J0IHsgaW5pdFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2luaXRUcmFuc2FjdGlvbidcbmltcG9ydCB7IGtpbGxUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9raWxsVHJhbnNhY3Rpb24nXG5pbXBvcnQgeyBnZXRGaWVsZHNUb1NpZ24gfSBmcm9tICcuLi9nZXRGaWVsZHNUb1NpZ24nXG5pbXBvcnQgeyBhdXRoZW50aWNhdGVMb2NhbFN0cmF0ZWd5IH0gZnJvbSAnLi4vc3RyYXRlZ2llcy9sb2NhbC9hdXRoZW50aWNhdGUnXG5pbXBvcnQgeyBnZW5lcmF0ZVBhc3N3b3JkU2FsdEhhc2ggfSBmcm9tICcuLi9zdHJhdGVnaWVzL2xvY2FsL2dlbmVyYXRlUGFzc3dvcmRTYWx0SGFzaCdcblxuZXhwb3J0IHR5cGUgUmVzdWx0ID0ge1xuICB0b2tlbj86IHN0cmluZ1xuICB1c2VyOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxufVxuXG5leHBvcnQgdHlwZSBBcmd1bWVudHMgPSB7XG4gIGNvbGxlY3Rpb246IENvbGxlY3Rpb25cbiAgZGF0YToge1xuICAgIHBhc3N3b3JkOiBzdHJpbmdcbiAgICB0b2tlbjogc3RyaW5nXG4gIH1cbiAgZGVwdGg/OiBudW1iZXJcbiAgb3ZlcnJpZGVBY2Nlc3M/OiBib29sZWFuXG4gIHJlcTogUGF5bG9hZFJlcXVlc3Rcbn1cblxuZXhwb3J0IGNvbnN0IHJlc2V0UGFzc3dvcmRPcGVyYXRpb24gPSBhc3luYyAoYXJnczogQXJndW1lbnRzKTogUHJvbWlzZTxSZXN1bHQ+ID0+
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRoL29wZXJhdGlvbnMvcmVzZXRQYXNzd29yZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgand0IGZyb20gJ2pzb253ZWJ0b2tlbidcblxuaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBBUElFcnJvciB9IGZyb20gJy4uLy4uL2Vycm9ycydcbmltcG9ydCB7IGNvbW1pdFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2NvbW1pdFRyYW5zYWN0aW9uJ1xuaW1wb3J0IHsgaW5pdFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2luaXRUcmFuc2FjdGlvbidcbmltcG9ydCB7IGtpbGxUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9raWxsVHJhbnNhY3Rpb24nXG5pbXBvcnQgeyBnZXRGaWVsZHNUb1NpZ24gfSBmcm9tICcuLi9nZXRGaWVsZHNUb1NpZ24nXG5pbXBvcnQgeyBhdXRoZW50aWNhdGVMb2NhbFN0cmF0ZWd5IH0gZnJvbSAnLi4vc3RyYXRlZ2llcy9sb2NhbC9hdXRoZW50aWNhdGUnXG5pbXBvcnQgeyBnZW5lcmF0ZVBhc3N3b3JkU2FsdEhhc2ggfSBmcm9tICcuLi9zdHJhdGVnaWVzL2xvY2FsL2dlbmVyYXRlUGFzc3dvcmRTYWx0SGFzaCdcblxuZXhwb3J0IHR5cGUgUmVzdWx0ID0ge1xuICB0b2tlbj86IHN0cmluZ1xuICB1c2VyOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxufVxuXG5leHBvcnQgdHlwZSBBcmd1bWVudHMgPSB7XG4gIGNvbGxlY3Rpb246IENvbGxlY3Rpb25cbiAgZGF0YToge1xuICAgIHBhc3N3b3JkOiBzdHJpbmdcbiAgICB0b2tlbjogc3RyaW5nXG4gIH1cbiAgZGVwdGg/OiBudW1iZXJcbiAgb3ZlcnJpZGVBY2Nlc3M/OiBib29sZWFuXG4gIHJlcTogUGF5bG9hZFJlcXVlc3Rcbn1cblxuZXhwb3J0IGNvbnN0IHJlc2V0UGFzc3dvcmRPcGVyYXRpb24gPSBhc3luYyAoYXJnczogQXJndW1lbnRzKTogUHJvbWlzZTxSZXN1bHQ+ID0+IHtcbiAgaWYgKFxuICAgICFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYXJncy5kYXRhLCAndG9rZW4nKSB8fFxuICAgICFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYXJncy5kYXRhLCAncGFzc3dvcmQnKVxuICApIHtcbiAgICB0aHJvdyBuZXcgQVBJRXJyb3IoJ01pc3NpbmcgcmVxdWlyZWQgZGF0YS4nKVxuICB9XG5cbiAgY29uc3Qge1xuICAgIGNvbGxlY3Rpb246IHsgY29uZmlnOiBjb2xsZWN0aW9uQ29uZmlnIH0sXG4gICAgZGF0YSxcbiAgICBkZXB0aCxcbiAgICBvdmVycmlkZUFjY2VzcyxcbiAgICByZXE6IHtcbiAgICAgIHBheWxvYWQ6IHsgc2VjcmV0IH0sXG4gICAgICBwYXlsb2FkLFxuICAgIH0sXG4gICAgcmVxLFxuICB9ID0gYXJnc1xuXG4gIHRyeSB7XG4gICAgY29uc3Qgc2hvdWxkQ29tbWl0ID0gYXdhaXQgaW5pdFRyYW5zYWN0aW9uKHJlcSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBSZXNldCBQYXNzd29yZFxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGNvbnN0IHVzZXIgPSBhd2FpdCBwYXlsb2FkLmRiLmZpbmRPbmU8YW55Pih7XG4gICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLnNsdWcsXG4gICAgICByZXEsXG4gICAgICB3aGVyZToge1xuICAgICAgICByZXNldFBhc3N3b3JkRXhwaXJhdGlvbjogeyBncmVhdGVyX3RoYW46IG5ldyBEYXRlKCkgfSxcbiAgICAgICAgcmVzZXRQYXNzd29yZFRva2VuOiB7IGVxdWFsczogZGF0YS50b2tlbiB9LFxuICAgICAgfSxcbiAgICB9KVxuXG4gICAgaWYgKCF1c2VyKSB0aHJvdyBuZXcgQVBJRXJyb3IoJ1Rva2VuIGlzIGVpdGhlciBpbnZhbGlkIG9yIGhhcyBleHBpcmVkLicpXG5cbiAgICAvLyBUT0RPOiByZXBsYWNlIHRoaXMgbWV0aG9kXG4gICAgY29uc3QgeyBoYXNoLCBzYWx0IH0gPSBhd2FpdCBnZW5lcmF0ZVBhc3N3b3JkU2FsdEhhc2goeyBwYXNzd29yZDogZGF0YS5wYXNzd29yZCB9KVxuXG4gICAgdXNlci5zYWx0ID0gc2FsdFxuICAgIHVzZXIuaGFzaCA9IGhhc2hcblxuICAgIHVzZXIucmVzZXRQYXNzd29yZEV4cGlyYXRpb24gPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKClcblxuICAgIGlmIChjb2xsZWN0aW9uQ29uZmlnLmF1dGgudmVyaWZ5KSB7XG4gICAgICB1c2VyLl92ZXJpZmllZCA9IHRydWVcbiAgICB9XG5cbiAgICBjb25zdCBkb2MgPSBhd2FpdCBwYXlsb2FkLmRiLnVwZGF0ZU9uZSh7XG4gICAgICBpZDogdXNlci5pZCxcbiAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcuc2x1ZyxcbiAgICAgIGRhdGE6IHVzZXIsXG4gICAgICByZXEsXG4gICAgfSlcblxuICAgIGF3YWl0IGF1dGhlbnRpY2F0ZUxvY2FsU3RyYXRlZ3koeyBkb2MsIHBhc3N3b3JkOiBkYXRhLnBhc3N3b3JkIH0pXG5cbiAgICBjb25zdCBmaWVsZHNUb1NpZ24gPSBnZXRGaWVsZHNUb1NpZ24oe1xuICAgICAgY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgIGVtYWlsOiB1c2VyLmVtYWlsLFxuICAgICAgdXNlcixcbiAgICB9KVxuXG4gICAgY29uc3QgdG9rZW4gPSBqd3Quc2lnbihmaWVsZHNUb1NpZ24sIHNlY3JldCwge1xuICAgICAgZXhwaXJlc0luOiBjb2xsZWN0aW9uQ29uZmlnLmF1dGgudG9rZW5FeHBpcmF0aW9uLFxuICAgIH0pXG5cbiAgICBjb25zdCBmdWxsVXNlciA9IGF3YWl0IHBheWxvYWQuZmluZEJ5SUQoe1xuICAgICAgaWQ6IHVzZXIuaWQsXG4gICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLnNsdWcsXG4gICAgICBkZXB0aCxcbiAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgcmVxLFxuICAgIH0pXG4gICAgaWYgKHNob3VsZENvbW1pdCkgYXdhaXQgY29tbWl0VHJhbnNhY3Rpb24ocmVxKVxuXG4gICAgY29uc3QgcmVzdWx0ID0ge1xuICAgICAgdG9rZW4sXG4gICAgICB1c2VyOiBmdWxsVXNlcixcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgYXdhaXQga2lsbFRyYW5zYWN0aW9uKHJlcSlcbiAgICB0aHJvdyBlcnJvclxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHJlc2V0UGFzc3dvcmRPcGVyYXRpb25cbiJdLCJuYW1lcyI6WyJqd3QiLCJBUElFcnJvciIsImNvbW1pdFRyYW5zYWN0aW9uIiwiaW5pdFRyYW5zYWN0aW9uIiwia2lsbFRyYW5zYWN0aW9uIiwiZ2V0RmllbGRzVG9TaWduIiwiYXV0aGVudGljYXRlTG9jYWxTdHJhdGVneSIsImdlbmVyYXRlUGFzc3dvcmRTYWx0SGFzaCIsInJlc2V0UGFzc3dvcmRPcGVyYXRpb24iLCJhcmdzIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGF0YSIsImNvbGxlY3Rpb24iLCJjb25maWciLCJjb2xsZWN0aW9uQ29uZmlnIiwiZGVwdGgiLCJvdmVycmlkZUFjY2VzcyIsInJlcSIsInBheWxvYWQiLCJzZWNyZXQiLCJzaG91bGRDb21taXQiLCJ1c2VyIiwiZGIiLCJmaW5kT25lIiwic2x1ZyIsIndoZXJlIiwicmVzZXRQYXNzd29yZEV4cGlyYXRpb24iLCJncmVhdGVyX3RoYW4iLCJEYXRlIiwicmVzZXRQYXNzd29yZFRva2VuIiwiZXF1YWxzIiwidG9rZW4iLCJoYXNoIiwic2FsdCIsInBhc3N3b3JkIiwidG9JU09TdHJpbmciLCJhdXRoIiwidmVyaWZ5IiwiX3ZlcmlmaWVkIiwiZG9jIiwidXBkYXRlT25lIiwiaWQiLCJmaWVsZHNUb1NpZ24iLCJlbWFpbCIsInNpZ24iLCJleHBpcmVzSW4iLCJ0b2tlbkV4cGlyYXRpb24iLCJmdWxsVXNlciIsImZpbmRCeUlEIiwicmVzdWx0IiwiZXJyb3IiXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLFNBQVMsZUFBYztBQUs5QixTQUFTQyxRQUFRLFFBQVEsZUFBYztBQUN2QyxTQUFTQyxpQkFBaUIsUUFBUSxvQ0FBbUM7QUFDckUsU0FBU0MsZUFBZSxRQUFRLGtDQUFpQztBQUNqRSxTQUFTQyxlQUFlLFFBQVEsa0NBQWlDO0FBQ2pFLFNBQVNDLGVBQWUsUUFBUSxxQkFBb0I7QUFDcEQsU0FBU0MseUJBQXlCLFFBQVEsbUNBQWtDO0FBQzVFLFNBQVNDLHdCQUF3QixRQUFRLCtDQUE4QztBQWtCdkYsT0FBTyxNQUFNQyx5QkFBeUIsT0FBT0M7SUFDM0MsSUFDRSxDQUFDQyxPQUFPQyxTQUFTLENBQUNDLGNBQWMsQ0FBQ0MsSUFBSSxDQUFDSixLQUFLSyxJQUFJLEVBQUUsWUFDakQsQ0FBQ0osT0FBT0MsU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ0osS0FBS0ssSUFBSSxFQUFFLGFBQ2pEO1FBQ0EsTUFBTSxJQUFJYixTQUFTO0lBQ3JCO0lBRUEsTUFBTSxFQUNKYyxZQUFZLEVBQUVDLFFBQVFDLGdCQUFnQixFQUFFLEVBQ3hDSCxJQUFJLEVBQ0pJLEtBQUssRUFDTEMsY0FBYyxFQUNkQyxLQUFLLEVBQ0hDLFNBQVMsRUFBRUMsTUFBTSxFQUFFLEVBQ25CRCxPQUFPLEVBQ1IsRUFDREQsR0FBRyxFQUNKLEdBQUdYO0lBRUosSUFBSTtRQUNGLE1BQU1jLGVBQWUsTUFBTXBCLGdCQUFnQmlCO1FBRTNDLHdDQUF3QztRQUN4QyxpQkFBaUI7UUFDakIsd0NBQXdDO1FBRXhDLE1BQU1JLE9BQU8sTUFBTUgsUUFBUUksRUFBRSxDQUFDQyxPQUFPLENBQU07WUFDekNYLFlBQVlFLGlCQUFpQlUsSUFBSTtZQUNqQ1A7WUFDQVEsT0FBTztnQkFDTEMseUJBQXlCO29CQUFFQyxjQUFjLElBQUlDO2dCQUFPO2dCQUNwREMsb0JBQW9CO29CQUFFQyxRQUFRbkIsS0FBS29CLEtBQUs7Z0JBQUM7WUFDM0M7UUFDRjtRQUVBLElBQUksQ0FBQ1YsTUFBTSxNQUFNLElBQUl2QixTQUFTO1FBRTlCLDRCQUE0QjtRQUM1QixNQUFNLEVBQUVrQyxJQUFJLEVBQUVDLElBQUksRUFBRSxHQUFHLE1BQU03Qix5QkFBeUI7WUFBRThCLFVBQVV2QixLQUFLdUIsUUFBUTtRQUFDO1FBRWhGYixLQUFLWSxJQUFJLEdBQUdBO1FBQ1paLEtBQUtXLElBQUksR0FBR0E7UUFFWlgsS0FBS0ssdUJBQXVCLEdBQUcsSUFBSUUsT0FBT08sV0FBVztRQUVyRCxJQUFJckIsaUJBQWlCc0IsSUFBSSxDQUFDQyxNQUFNLEVBQUU7WUFDaENoQixLQUFLaUIsU0FBUyxHQUFHO1FBQ25CO1FBRUEsTUFBTUMsTUFBTSxNQUFNckIsUUFBUUksRUFBRSxDQUFDa0IsU0FBUyxDQUFDO1lBQ3JDQyxJQUFJcEIsS0FBS29CLEVBQUU7WUFDWDdCLFlBQVlFLGlCQUFpQlUsSUFBSTtZQUNqQ2IsTUFBTVU7WUFDTko7UUFDRjtRQUVBLE1BQU1kLDBCQUEwQjtZQUFFb0M7WUFBS0wsVUFBVXZCLEtBQUt1QixRQUFRO1FBQUM7UUFFL0QsTUFBTVEsZUFBZXhDLGdCQUFnQjtZQUNuQ1k7WUFDQTZCLE9BQU90QixLQUFLc0IsS0FBSztZQUNqQnRCO1FBQ0Y7UUFFQSxNQUFNVSxRQUFRbEMsSUFBSStDLElBQUksQ0FBQ0YsY0FBY3ZCLFFBQVE7WUFDM0MwQixXQUFXL0IsaUJBQWlCc0IsSUFBSSxDQUFDVSxlQUFlO1FBQ2xEO1FBRUEsTUFBTUMsV0FBVyxNQUFNN0IsUUFBUThCLFFBQVEsQ0FBQztZQUN0Q1AsSUFBSXBCLEtBQUtvQixFQUFFO1lBQ1g3QixZQUFZRSxpQkFBaUJVLElBQUk7WUFDakNUO1lBQ0FDO1lBQ0FDO1FBQ0Y7UUFDQSxJQUFJRyxjQUFjLE1BQU1yQixrQkFBa0JrQjtRQUUxQyxNQUFNZ0MsU0FBUztZQUNibEI7WUFDQVYsTUFBTTBCO1FBQ1I7UUFFQSxPQUFPRTtJQUNULEVBQUUsT0FBT0MsT0FBZ0I7UUFDdkIsTUFBTWpELGdCQUFnQmdCO1FBQ3RCLE1BQU1pQztJQUNSO0FBQ0YsRUFBQztBQUVELGVBQWU3Qyx1QkFBc0IifQ==
|
|
@@ -1,44 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
get: all[name]
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
default: function() {
|
|
13
|
-
return _default;
|
|
14
|
-
},
|
|
15
|
-
unlockOperation: function() {
|
|
16
|
-
return unlockOperation;
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
const _errors = require("../../errors");
|
|
20
|
-
const _commitTransaction = require("../../utilities/commitTransaction");
|
|
21
|
-
const _initTransaction = require("../../utilities/initTransaction");
|
|
22
|
-
const _killTransaction = require("../../utilities/killTransaction");
|
|
23
|
-
const _executeAccess = /*#__PURE__*/ _interop_require_default(require("../executeAccess"));
|
|
24
|
-
const _resetLoginAttempts = require("../strategies/local/resetLoginAttempts");
|
|
25
|
-
function _interop_require_default(obj) {
|
|
26
|
-
return obj && obj.__esModule ? obj : {
|
|
27
|
-
default: obj
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
const unlockOperation = async (args)=>{
|
|
1
|
+
import { APIError } from '../../errors';
|
|
2
|
+
import { commitTransaction } from '../../utilities/commitTransaction';
|
|
3
|
+
import { initTransaction } from '../../utilities/initTransaction';
|
|
4
|
+
import { killTransaction } from '../../utilities/killTransaction';
|
|
5
|
+
import executeAccess from '../executeAccess';
|
|
6
|
+
import { resetLoginAttempts } from '../strategies/local/resetLoginAttempts';
|
|
7
|
+
export const unlockOperation = async (args)=>{
|
|
31
8
|
if (!Object.prototype.hasOwnProperty.call(args.data, 'email')) {
|
|
32
|
-
throw new
|
|
9
|
+
throw new APIError('Missing email.');
|
|
33
10
|
}
|
|
34
11
|
const { collection: { config: collectionConfig }, overrideAccess, req: { locale }, req } = args;
|
|
35
12
|
try {
|
|
36
|
-
const shouldCommit = await
|
|
13
|
+
const shouldCommit = await initTransaction(req);
|
|
37
14
|
// /////////////////////////////////////
|
|
38
15
|
// Access
|
|
39
16
|
// /////////////////////////////////////
|
|
40
17
|
if (!overrideAccess) {
|
|
41
|
-
await (
|
|
18
|
+
await executeAccess({
|
|
42
19
|
req
|
|
43
20
|
}, collectionConfig.access.unlock);
|
|
44
21
|
}
|
|
@@ -50,7 +27,7 @@ const unlockOperation = async (args)=>{
|
|
|
50
27
|
// Unlock
|
|
51
28
|
// /////////////////////////////////////
|
|
52
29
|
if (!data.email) {
|
|
53
|
-
throw new
|
|
30
|
+
throw new APIError('Missing email.');
|
|
54
31
|
}
|
|
55
32
|
const user = await req.payload.db.findOne({
|
|
56
33
|
collection: collectionConfig.slug,
|
|
@@ -64,7 +41,7 @@ const unlockOperation = async (args)=>{
|
|
|
64
41
|
});
|
|
65
42
|
let result;
|
|
66
43
|
if (user) {
|
|
67
|
-
await
|
|
44
|
+
await resetLoginAttempts({
|
|
68
45
|
collection: collectionConfig,
|
|
69
46
|
doc: user,
|
|
70
47
|
payload: req.payload,
|
|
@@ -74,13 +51,13 @@ const unlockOperation = async (args)=>{
|
|
|
74
51
|
} else {
|
|
75
52
|
result = null;
|
|
76
53
|
}
|
|
77
|
-
if (shouldCommit) await
|
|
54
|
+
if (shouldCommit) await commitTransaction(req);
|
|
78
55
|
return result;
|
|
79
56
|
} catch (error) {
|
|
80
|
-
await
|
|
57
|
+
await killTransaction(req);
|
|
81
58
|
throw error;
|
|
82
59
|
}
|
|
83
60
|
};
|
|
84
|
-
|
|
61
|
+
export default unlockOperation;
|
|
85
62
|
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRoL29wZXJhdGlvbnMvdW5sb2NrLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi8uLi90eXBlcydcblxuaW1wb3J0IHsgQVBJRXJyb3IgfSBmcm9tICcuLi8uLi9lcnJvcnMnXG5pbXBvcnQgeyBjb21taXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9jb21taXRUcmFuc2FjdGlvbidcbmltcG9ydCB7IGluaXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9pbml0VHJhbnNhY3Rpb24nXG5pbXBvcnQgeyBraWxsVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMva2lsbFRyYW5zYWN0aW9uJ1xuaW1wb3J0IGV4ZWN1dGVBY2Nlc3MgZnJvbSAnLi4vZXhlY3V0ZUFjY2VzcydcbmltcG9ydCB7IHJlc2V0TG9naW5BdHRlbXB0cyB9IGZyb20gJy4uL3N0cmF0ZWdpZXMvbG9jYWwvcmVzZXRMb2dpbkF0dGVtcHRzJ1xuXG5leHBvcnQgdHlwZSBBcmdzID0ge1xuICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uXG4gIGRhdGE6IHtcbiAgICBlbWFpbDogc3RyaW5nXG4gIH1cbiAgb3ZlcnJpZGVBY2Nlc3M/
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRoL29wZXJhdGlvbnMvdW5sb2NrLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi8uLi90eXBlcydcblxuaW1wb3J0IHsgQVBJRXJyb3IgfSBmcm9tICcuLi8uLi9lcnJvcnMnXG5pbXBvcnQgeyBjb21taXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9jb21taXRUcmFuc2FjdGlvbidcbmltcG9ydCB7IGluaXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9pbml0VHJhbnNhY3Rpb24nXG5pbXBvcnQgeyBraWxsVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMva2lsbFRyYW5zYWN0aW9uJ1xuaW1wb3J0IGV4ZWN1dGVBY2Nlc3MgZnJvbSAnLi4vZXhlY3V0ZUFjY2VzcydcbmltcG9ydCB7IHJlc2V0TG9naW5BdHRlbXB0cyB9IGZyb20gJy4uL3N0cmF0ZWdpZXMvbG9jYWwvcmVzZXRMb2dpbkF0dGVtcHRzJ1xuXG5leHBvcnQgdHlwZSBBcmdzID0ge1xuICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uXG4gIGRhdGE6IHtcbiAgICBlbWFpbDogc3RyaW5nXG4gIH1cbiAgb3ZlcnJpZGVBY2Nlc3M/OiBib29sZWFuXG4gIHJlcTogUGF5bG9hZFJlcXVlc3Rcbn1cblxuZXhwb3J0IGNvbnN0IHVubG9ja09wZXJhdGlvbiA9IGFzeW5jIChhcmdzOiBBcmdzKTogUHJvbWlzZTxib29sZWFuPiA9PiB7XG4gIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGFyZ3MuZGF0YSwgJ2VtYWlsJykpIHtcbiAgICB0aHJvdyBuZXcgQVBJRXJyb3IoJ01pc3NpbmcgZW1haWwuJylcbiAgfVxuXG4gIGNvbnN0IHtcbiAgICBjb2xsZWN0aW9uOiB7IGNvbmZpZzogY29sbGVjdGlvbkNvbmZpZyB9LFxuICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgIHJlcTogeyBsb2NhbGUgfSxcbiAgICByZXEsXG4gIH0gPSBhcmdzXG5cbiAgdHJ5IHtcbiAgICBjb25zdCBzaG91bGRDb21taXQgPSBhd2FpdCBpbml0VHJhbnNhY3Rpb24ocmVxKVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIEFjY2Vzc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGlmICghb3ZlcnJpZGVBY2Nlc3MpIHtcbiAgICAgIGF3YWl0IGV4ZWN1dGVBY2Nlc3MoeyByZXEgfSwgY29sbGVjdGlvbkNvbmZpZy5hY2Nlc3MudW5sb2NrKVxuICAgIH1cblxuICAgIGNvbnN0IG9wdGlvbnMgPSB7IC4uLmFyZ3MgfVxuXG4gICAgY29uc3QgeyBkYXRhIH0gPSBvcHRpb25zXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gVW5sb2NrXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgaWYgKCFkYXRhLmVtYWlsKSB7XG4gICAgICB0aHJvdyBuZXcgQVBJRXJyb3IoJ01pc3NpbmcgZW1haWwuJylcbiAgICB9XG5cbiAgICBjb25zdCB1c2VyID0gYXdhaXQgcmVxLnBheWxvYWQuZGIuZmluZE9uZSh7XG4gICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLnNsdWcsXG4gICAgICBsb2NhbGUsXG4gICAgICByZXEsXG4gICAgICB3aGVyZTogeyBlbWFpbDogeyBlcXVhbHM6IGRhdGEuZW1haWwudG9Mb3dlckNhc2UoKSB9IH0sXG4gICAgfSlcblxuICAgIGxldCByZXN1bHRcblxuICAgIGlmICh1c2VyKSB7XG4gICAgICBhd2FpdCByZXNldExvZ2luQXR0ZW1wdHMoe1xuICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgICBkb2M6IHVzZXIsXG4gICAgICAgIHBheWxvYWQ6IHJlcS5wYXlsb2FkLFxuICAgICAgICByZXEsXG4gICAgICB9KVxuICAgICAgcmVzdWx0ID0gdHJ1ZVxuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHQgPSBudWxsXG4gICAgfVxuXG4gICAgaWYgKHNob3VsZENvbW1pdCkgYXdhaXQgY29tbWl0VHJhbnNhY3Rpb24ocmVxKVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgIGF3YWl0IGtpbGxUcmFuc2FjdGlvbihyZXEpXG4gICAgdGhyb3cgZXJyb3JcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCB1bmxvY2tPcGVyYXRpb25cbiJdLCJuYW1lcyI6WyJBUElFcnJvciIsImNvbW1pdFRyYW5zYWN0aW9uIiwiaW5pdFRyYW5zYWN0aW9uIiwia2lsbFRyYW5zYWN0aW9uIiwiZXhlY3V0ZUFjY2VzcyIsInJlc2V0TG9naW5BdHRlbXB0cyIsInVubG9ja09wZXJhdGlvbiIsImFyZ3MiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkYXRhIiwiY29sbGVjdGlvbiIsImNvbmZpZyIsImNvbGxlY3Rpb25Db25maWciLCJvdmVycmlkZUFjY2VzcyIsInJlcSIsImxvY2FsZSIsInNob3VsZENvbW1pdCIsImFjY2VzcyIsInVubG9jayIsIm9wdGlvbnMiLCJlbWFpbCIsInVzZXIiLCJwYXlsb2FkIiwiZGIiLCJmaW5kT25lIiwic2x1ZyIsIndoZXJlIiwiZXF1YWxzIiwidG9Mb3dlckNhc2UiLCJyZXN1bHQiLCJkb2MiLCJlcnJvciJdLCJtYXBwaW5ncyI6IkFBR0EsU0FBU0EsUUFBUSxRQUFRLGVBQWM7QUFDdkMsU0FBU0MsaUJBQWlCLFFBQVEsb0NBQW1DO0FBQ3JFLFNBQVNDLGVBQWUsUUFBUSxrQ0FBaUM7QUFDakUsU0FBU0MsZUFBZSxRQUFRLGtDQUFpQztBQUNqRSxPQUFPQyxtQkFBbUIsbUJBQWtCO0FBQzVDLFNBQVNDLGtCQUFrQixRQUFRLHlDQUF3QztBQVczRSxPQUFPLE1BQU1DLGtCQUFrQixPQUFPQztJQUNwQyxJQUFJLENBQUNDLE9BQU9DLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUNKLEtBQUtLLElBQUksRUFBRSxVQUFVO1FBQzdELE1BQU0sSUFBSVosU0FBUztJQUNyQjtJQUVBLE1BQU0sRUFDSmEsWUFBWSxFQUFFQyxRQUFRQyxnQkFBZ0IsRUFBRSxFQUN4Q0MsY0FBYyxFQUNkQyxLQUFLLEVBQUVDLE1BQU0sRUFBRSxFQUNmRCxHQUFHLEVBQ0osR0FBR1Y7SUFFSixJQUFJO1FBQ0YsTUFBTVksZUFBZSxNQUFNakIsZ0JBQWdCZTtRQUUzQyx3Q0FBd0M7UUFDeEMsU0FBUztRQUNULHdDQUF3QztRQUV4QyxJQUFJLENBQUNELGdCQUFnQjtZQUNuQixNQUFNWixjQUFjO2dCQUFFYTtZQUFJLEdBQUdGLGlCQUFpQkssTUFBTSxDQUFDQyxNQUFNO1FBQzdEO1FBRUEsTUFBTUMsVUFBVTtZQUFFLEdBQUdmLElBQUk7UUFBQztRQUUxQixNQUFNLEVBQUVLLElBQUksRUFBRSxHQUFHVTtRQUVqQix3Q0FBd0M7UUFDeEMsU0FBUztRQUNULHdDQUF3QztRQUV4QyxJQUFJLENBQUNWLEtBQUtXLEtBQUssRUFBRTtZQUNmLE1BQU0sSUFBSXZCLFNBQVM7UUFDckI7UUFFQSxNQUFNd0IsT0FBTyxNQUFNUCxJQUFJUSxPQUFPLENBQUNDLEVBQUUsQ0FBQ0MsT0FBTyxDQUFDO1lBQ3hDZCxZQUFZRSxpQkFBaUJhLElBQUk7WUFDakNWO1lBQ0FEO1lBQ0FZLE9BQU87Z0JBQUVOLE9BQU87b0JBQUVPLFFBQVFsQixLQUFLVyxLQUFLLENBQUNRLFdBQVc7Z0JBQUc7WUFBRTtRQUN2RDtRQUVBLElBQUlDO1FBRUosSUFBSVIsTUFBTTtZQUNSLE1BQU1uQixtQkFBbUI7Z0JBQ3ZCUSxZQUFZRTtnQkFDWmtCLEtBQUtUO2dCQUNMQyxTQUFTUixJQUFJUSxPQUFPO2dCQUNwQlI7WUFDRjtZQUNBZSxTQUFTO1FBQ1gsT0FBTztZQUNMQSxTQUFTO1FBQ1g7UUFFQSxJQUFJYixjQUFjLE1BQU1sQixrQkFBa0JnQjtRQUUxQyxPQUFPZTtJQUNULEVBQUUsT0FBT0UsT0FBZ0I7UUFDdkIsTUFBTS9CLGdCQUFnQmM7UUFDdEIsTUFBTWlCO0lBQ1I7QUFDRixFQUFDO0FBRUQsZUFBZTVCLGdCQUFlIn0=
|
|
@@ -1,38 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: all[name]
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
default: function() {
|
|
13
|
-
return _default;
|
|
14
|
-
},
|
|
15
|
-
verifyEmailOperation: function() {
|
|
16
|
-
return verifyEmailOperation;
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
const _httpstatus = /*#__PURE__*/ _interop_require_default(require("http-status"));
|
|
20
|
-
const _errors = require("../../errors");
|
|
21
|
-
const _commitTransaction = require("../../utilities/commitTransaction");
|
|
22
|
-
const _initTransaction = require("../../utilities/initTransaction");
|
|
23
|
-
const _killTransaction = require("../../utilities/killTransaction");
|
|
24
|
-
function _interop_require_default(obj) {
|
|
25
|
-
return obj && obj.__esModule ? obj : {
|
|
26
|
-
default: obj
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
const verifyEmailOperation = async (args)=>{
|
|
1
|
+
import httpStatus from 'http-status';
|
|
2
|
+
import { APIError } from '../../errors';
|
|
3
|
+
import { commitTransaction } from '../../utilities/commitTransaction';
|
|
4
|
+
import { initTransaction } from '../../utilities/initTransaction';
|
|
5
|
+
import { killTransaction } from '../../utilities/killTransaction';
|
|
6
|
+
export const verifyEmailOperation = async (args)=>{
|
|
30
7
|
const { collection, req, token } = args;
|
|
31
8
|
if (!Object.prototype.hasOwnProperty.call(args, 'token')) {
|
|
32
|
-
throw new
|
|
9
|
+
throw new APIError('Missing required data.', httpStatus.BAD_REQUEST);
|
|
33
10
|
}
|
|
34
11
|
try {
|
|
35
|
-
const shouldCommit = await
|
|
12
|
+
const shouldCommit = await initTransaction(req);
|
|
36
13
|
const user = await req.payload.db.findOne({
|
|
37
14
|
collection: collection.config.slug,
|
|
38
15
|
req,
|
|
@@ -42,8 +19,8 @@ const verifyEmailOperation = async (args)=>{
|
|
|
42
19
|
}
|
|
43
20
|
}
|
|
44
21
|
});
|
|
45
|
-
if (!user) throw new
|
|
46
|
-
if (user && user._verified === true) throw new
|
|
22
|
+
if (!user) throw new APIError('Verification token is invalid.', httpStatus.BAD_REQUEST);
|
|
23
|
+
if (user && user._verified === true) throw new APIError('This account has already been activated.', httpStatus.ACCEPTED);
|
|
47
24
|
await req.payload.db.updateOne({
|
|
48
25
|
id: user.id,
|
|
49
26
|
collection: collection.config.slug,
|
|
@@ -54,13 +31,13 @@ const verifyEmailOperation = async (args)=>{
|
|
|
54
31
|
},
|
|
55
32
|
req
|
|
56
33
|
});
|
|
57
|
-
if (shouldCommit) await
|
|
34
|
+
if (shouldCommit) await commitTransaction(req);
|
|
58
35
|
return true;
|
|
59
36
|
} catch (error) {
|
|
60
|
-
await
|
|
37
|
+
await killTransaction(req);
|
|
61
38
|
throw error;
|
|
62
39
|
}
|
|
63
40
|
};
|
|
64
|
-
|
|
41
|
+
export default verifyEmailOperation;
|
|
65
42
|
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRoL29wZXJhdGlvbnMvdmVyaWZ5RW1haWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGh0dHBTdGF0dXMgZnJvbSAnaHR0cC1zdGF0dXMnXG5cbmltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi8uLi90eXBlcydcblxuaW1wb3J0IHsgQVBJRXJyb3IgfSBmcm9tICcuLi8uLi9lcnJvcnMnXG5pbXBvcnQgeyBjb21taXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9jb21taXRUcmFuc2FjdGlvbidcbmltcG9ydCB7IGluaXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9pbml0VHJhbnNhY3Rpb24nXG5pbXBvcnQgeyBraWxsVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMva2lsbFRyYW5zYWN0aW9uJ1xuXG5leHBvcnQgdHlwZSBBcmdzID0ge1xuICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uXG4gIHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgdG9rZW46IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3QgdmVyaWZ5RW1haWxPcGVyYXRpb24gPSBhc3luYyAoYXJnczogQXJncyk6IFByb21pc2U8Ym9vbGVhbj4gPT4ge1xuICBjb25zdCB7IGNvbGxlY3Rpb24sIHJlcSwgdG9rZW4gfSA9IGFyZ3NcbiAgaWYgKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYXJncywgJ3Rva2VuJykpIHtcbiAgICB0aHJvdyBuZXcgQVBJRXJyb3IoJ01pc3NpbmcgcmVxdWlyZWQgZGF0YS4nLCBodHRwU3RhdHVzLkJBRF9SRVFVRVNUKVxuICB9XG5cbiAgdHJ5IHtcbiAgICBjb25zdCBzaG91bGRDb21taXQgPSBhd2FpdCBpbml0VHJhbnNhY3Rpb24ocmVxKVxuXG4gICAgY29uc3QgdXNlciA9IGF3YWl0IHJlcS5wYXlsb2FkLmRiLmZpbmRPbmU8YW55Pih7XG4gICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uLmNvbmZpZy5zbHVnLFxuICAgICAgcmVxLFxuICAgICAgd2hlcmU6IHtcbiAgICAgICAgX3ZlcmlmaWNhdGlvblRva2VuOiB7IGVxdWFsczogdG9rZW4gfSxcbiAgICAgIH0sXG4gICAgfSlcblxuICAgIGlmICghdXNlcikgdGhyb3cgbmV3IEFQSUVycm9yKCdWZXJpZmljYXRpb24gdG9rZW4gaXMgaW52YWxpZC4nLCBodHRwU3RhdHVzLkJBRF9SRVFVRVNUKVxuICAgIGlmICh1c2VyICYmIHVzZXIuX3ZlcmlmaWVkID09PSB0cnVlKVxuICAgICAgdGhyb3cgbmV3IEFQSUVycm9yKCdUaGlzIGFjY291bnQgaGFzIGFscmVhZHkgYmVlbiBhY3RpdmF0ZWQuJywgaHR0cFN0YXR1cy5BQ0NFUFRFRClcblxuICAgIGF3YWl0IHJlcS5wYXlsb2FkLmRiLnVwZGF0ZU9uZSh7XG4gICAgICBpZDogdXNlci5pZCxcbiAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb24uY29uZmlnLnNsdWcsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIC4uLnVzZXIsXG4gICAgICAgIF92ZXJpZmljYXRpb25Ub2tlbjogbnVsbCxcbiAgICAgICAgX3ZlcmlmaWVkOiB0cnVlLFxuICAgICAgfSxcbiAgICAgIHJlcSxcbiAgICB9KVxuXG4gICAgaWYgKHNob3VsZENvbW1pdCkgYXdhaXQgY29tbWl0VHJhbnNhY3Rpb24ocmVxKVxuXG4gICAgcmV0dXJuIHRydWVcbiAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICBhd2FpdCBraWxsVHJhbnNhY3Rpb24ocmVxKVxuICAgIHRocm93IGVycm9yXG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdmVyaWZ5RW1haWxPcGVyYXRpb25cbiJdLCJuYW1lcyI6WyJodHRwU3RhdHVzIiwiQVBJRXJyb3IiLCJjb21taXRUcmFuc2FjdGlvbiIsImluaXRUcmFuc2FjdGlvbiIsImtpbGxUcmFuc2FjdGlvbiIsInZlcmlmeUVtYWlsT3BlcmF0aW9uIiwiYXJncyIsImNvbGxlY3Rpb24iLCJyZXEiLCJ0b2tlbiIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIkJBRF9SRVFVRVNUIiwic2hvdWxkQ29tbWl0IiwidXNlciIsInBheWxvYWQiLCJkYiIsImZpbmRPbmUiLCJjb25maWciLCJzbHVnIiwid2hlcmUiLCJfdmVyaWZpY2F0aW9uVG9rZW4iLCJlcXVhbHMiLCJfdmVyaWZpZWQiLCJBQ0NFUFRFRCIsInVwZGF0ZU9uZSIsImlkIiwiZGF0YSIsImVycm9yIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxnQkFBZ0IsY0FBYTtBQUtwQyxTQUFTQyxRQUFRLFFBQVEsZUFBYztBQUN2QyxTQUFTQyxpQkFBaUIsUUFBUSxvQ0FBbUM7QUFDckUsU0FBU0MsZUFBZSxRQUFRLGtDQUFpQztBQUNqRSxTQUFTQyxlQUFlLFFBQVEsa0NBQWlDO0FBUWpFLE9BQU8sTUFBTUMsdUJBQXVCLE9BQU9DO0lBQ3pDLE1BQU0sRUFBRUMsVUFBVSxFQUFFQyxHQUFHLEVBQUVDLEtBQUssRUFBRSxHQUFHSDtJQUNuQyxJQUFJLENBQUNJLE9BQU9DLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUNQLE1BQU0sVUFBVTtRQUN4RCxNQUFNLElBQUlMLFNBQVMsMEJBQTBCRCxXQUFXYyxXQUFXO0lBQ3JFO0lBRUEsSUFBSTtRQUNGLE1BQU1DLGVBQWUsTUFBTVosZ0JBQWdCSztRQUUzQyxNQUFNUSxPQUFPLE1BQU1SLElBQUlTLE9BQU8sQ0FBQ0MsRUFBRSxDQUFDQyxPQUFPLENBQU07WUFDN0NaLFlBQVlBLFdBQVdhLE1BQU0sQ0FBQ0MsSUFBSTtZQUNsQ2I7WUFDQWMsT0FBTztnQkFDTEMsb0JBQW9CO29CQUFFQyxRQUFRZjtnQkFBTTtZQUN0QztRQUNGO1FBRUEsSUFBSSxDQUFDTyxNQUFNLE1BQU0sSUFBSWYsU0FBUyxrQ0FBa0NELFdBQVdjLFdBQVc7UUFDdEYsSUFBSUUsUUFBUUEsS0FBS1MsU0FBUyxLQUFLLE1BQzdCLE1BQU0sSUFBSXhCLFNBQVMsNENBQTRDRCxXQUFXMEIsUUFBUTtRQUVwRixNQUFNbEIsSUFBSVMsT0FBTyxDQUFDQyxFQUFFLENBQUNTLFNBQVMsQ0FBQztZQUM3QkMsSUFBSVosS0FBS1ksRUFBRTtZQUNYckIsWUFBWUEsV0FBV2EsTUFBTSxDQUFDQyxJQUFJO1lBQ2xDUSxNQUFNO2dCQUNKLEdBQUdiLElBQUk7Z0JBQ1BPLG9CQUFvQjtnQkFDcEJFLFdBQVc7WUFDYjtZQUNBakI7UUFDRjtRQUVBLElBQUlPLGNBQWMsTUFBTWIsa0JBQWtCTTtRQUUxQyxPQUFPO0lBQ1QsRUFBRSxPQUFPc0IsT0FBZ0I7UUFDdkIsTUFBTTFCLGdCQUFnQkk7UUFDdEIsTUFBTXNCO0lBQ1I7QUFDRixFQUFDO0FBRUQsZUFBZXpCLHFCQUFvQiJ9
|
|
@@ -1,19 +1,9 @@
|
|
|
1
|
-
|
|
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
|
-
const _url = require("url");
|
|
1
|
+
import { URL } from 'url';
|
|
12
2
|
async function sendVerificationEmail(args) {
|
|
13
3
|
// Verify token from e-mail
|
|
14
4
|
const { collection: { config: collectionConfig }, config, disableEmail, emailOptions, req, sendEmail, token, user } = args;
|
|
15
5
|
if (!disableEmail) {
|
|
16
|
-
const protocol = new
|
|
6
|
+
const protocol = new URL(req.url).protocol;
|
|
17
7
|
const serverURL = config.serverURL !== null && config.serverURL !== '' ? config.serverURL : `${protocol}://${req.headers.get('host')}`;
|
|
18
8
|
const verificationURL = `${serverURL}${config.routes.admin}/${collectionConfig.slug}/verify/${token}`;
|
|
19
9
|
let html = `${req.t('authentication:newAccountCreated', {
|
|
@@ -47,6 +37,6 @@ async function sendVerificationEmail(args) {
|
|
|
47
37
|
});
|
|
48
38
|
}
|
|
49
39
|
}
|
|
50
|
-
|
|
40
|
+
export default sendVerificationEmail;
|
|
51
41
|
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hdXRoL3NlbmRWZXJpZmljYXRpb25FbWFpbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVUkwgfSBmcm9tICd1cmwnXG5cbmltcG9ydCB0eXBlIHsgUGF5bG9hZCB9IGZyb20gJy4uJ1xuaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBFbWFpbE9wdGlvbnMsIFNhbml0aXplZENvbmZpZyB9IGZyb20gJy4uL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB0eXBlIHsgVXNlciwgVmVyaWZ5Q29uZmlnIH0gZnJvbSAnLi90eXBlcydcblxudHlwZSBBcmdzID0ge1xuICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uXG4gIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnXG4gIGRpc2FibGVFbWFpbDogYm9vbGVhblxuICBlbWFpbE9wdGlvbnM6IEVtYWlsT3B0aW9uc1xuICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gIHNlbmRFbWFpbDogUGF5bG9hZFsnc2VuZEVtYWlsJ11cbiAgdG9rZW46IHN0cmluZ1xuICB1c2VyOiBVc2VyXG59XG5cbmFzeW5jIGZ1bmN0aW9uIHNlbmRWZXJpZmljYXRpb25FbWFpbChhcmdzOiBBcmdzKTogUHJvbWlzZTx2b2lkPiB7XG4gIC8vIFZlcmlmeSB0b2tlbiBmcm9tIGUtbWFpbFxuICBjb25zdCB7XG4gICAgY29sbGVjdGlvbjogeyBjb25maWc6IGNvbGxlY3Rpb25Db25maWcgfSxcbiAgICBjb25maWcsXG4gICAgZGlzYWJsZUVtYWlsLFxuICAgIGVtYWlsT3B0aW9ucyxcbiAgICByZXEsXG4gICAgc2VuZEVtYWlsLFxuICAgIHRva2VuLFxuICAgIHVzZXIsXG4gIH0gPSBhcmdzXG5cbiAgaWYgKCFkaXNhYmxlRW1haWwpIHtcbiAgICBjb25zdCBwcm90b2NvbCA9IG5ldyBVUkwocmVxLnVybCkucHJvdG9jb2xcbiAgICBjb25zdCBzZXJ2ZXJVUkwgPVxuICAgICAgY29uZmlnLnNlcnZlclVSTCAhPT0gbnVsbCAmJiBjb25maWcuc2VydmVyVVJMICE9PSAnJ1xuICAgICAgICA/
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hdXRoL3NlbmRWZXJpZmljYXRpb25FbWFpbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVUkwgfSBmcm9tICd1cmwnXG5cbmltcG9ydCB0eXBlIHsgUGF5bG9hZCB9IGZyb20gJy4uJ1xuaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBFbWFpbE9wdGlvbnMsIFNhbml0aXplZENvbmZpZyB9IGZyb20gJy4uL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB0eXBlIHsgVXNlciwgVmVyaWZ5Q29uZmlnIH0gZnJvbSAnLi90eXBlcydcblxudHlwZSBBcmdzID0ge1xuICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uXG4gIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnXG4gIGRpc2FibGVFbWFpbDogYm9vbGVhblxuICBlbWFpbE9wdGlvbnM6IEVtYWlsT3B0aW9uc1xuICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gIHNlbmRFbWFpbDogUGF5bG9hZFsnc2VuZEVtYWlsJ11cbiAgdG9rZW46IHN0cmluZ1xuICB1c2VyOiBVc2VyXG59XG5cbmFzeW5jIGZ1bmN0aW9uIHNlbmRWZXJpZmljYXRpb25FbWFpbChhcmdzOiBBcmdzKTogUHJvbWlzZTx2b2lkPiB7XG4gIC8vIFZlcmlmeSB0b2tlbiBmcm9tIGUtbWFpbFxuICBjb25zdCB7XG4gICAgY29sbGVjdGlvbjogeyBjb25maWc6IGNvbGxlY3Rpb25Db25maWcgfSxcbiAgICBjb25maWcsXG4gICAgZGlzYWJsZUVtYWlsLFxuICAgIGVtYWlsT3B0aW9ucyxcbiAgICByZXEsXG4gICAgc2VuZEVtYWlsLFxuICAgIHRva2VuLFxuICAgIHVzZXIsXG4gIH0gPSBhcmdzXG5cbiAgaWYgKCFkaXNhYmxlRW1haWwpIHtcbiAgICBjb25zdCBwcm90b2NvbCA9IG5ldyBVUkwocmVxLnVybCkucHJvdG9jb2xcbiAgICBjb25zdCBzZXJ2ZXJVUkwgPVxuICAgICAgY29uZmlnLnNlcnZlclVSTCAhPT0gbnVsbCAmJiBjb25maWcuc2VydmVyVVJMICE9PSAnJ1xuICAgICAgICA/IGNvbmZpZy5zZXJ2ZXJVUkxcbiAgICAgICAgOiBgJHtwcm90b2NvbH06Ly8ke3JlcS5oZWFkZXJzLmdldCgnaG9zdCcpfWBcblxuICAgIGNvbnN0IHZlcmlmaWNhdGlvblVSTCA9IGAke3NlcnZlclVSTH0ke2NvbmZpZy5yb3V0ZXMuYWRtaW59LyR7Y29sbGVjdGlvbkNvbmZpZy5zbHVnfS92ZXJpZnkvJHt0b2tlbn1gXG5cbiAgICBsZXQgaHRtbCA9IGAke3JlcS50KCdhdXRoZW50aWNhdGlvbjpuZXdBY2NvdW50Q3JlYXRlZCcsIHtcbiAgICAgIHNlcnZlclVSTDogY29uZmlnLnNlcnZlclVSTCxcbiAgICAgIHZlcmlmaWNhdGlvblVSTCxcbiAgICB9KX1gXG5cbiAgICBjb25zdCB2ZXJpZnkgPSBjb2xsZWN0aW9uQ29uZmlnLmF1dGgudmVyaWZ5IGFzIFZlcmlmeUNvbmZpZ1xuXG4gICAgLy8gQWxsb3cgY29uZmlnIHRvIG92ZXJyaWRlIGVtYWlsIGNvbnRlbnRcbiAgICBpZiAodHlwZW9mIHZlcmlmeS5nZW5lcmF0ZUVtYWlsSFRNTCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaHRtbCA9IGF3YWl0IHZlcmlmeS5nZW5lcmF0ZUVtYWlsSFRNTCh7XG4gICAgICAgIHJlcSxcbiAgICAgICAgdG9rZW4sXG4gICAgICAgIHVzZXIsXG4gICAgICB9KVxuICAgIH1cblxuICAgIGxldCBzdWJqZWN0ID0gcmVxLnQoJ2F1dGhlbnRpY2F0aW9uOnZlcmlmeVlvdXJFbWFpbCcpXG5cbiAgICAvLyBBbGxvdyBjb25maWcgdG8gb3ZlcnJpZGUgZW1haWwgc3ViamVjdFxuICAgIGlmICh0eXBlb2YgdmVyaWZ5LmdlbmVyYXRlRW1haWxTdWJqZWN0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBzdWJqZWN0ID0gYXdhaXQgdmVyaWZ5LmdlbmVyYXRlRW1haWxTdWJqZWN0KHtcbiAgICAgICAgcmVxLFxuICAgICAgICB0b2tlbixcbiAgICAgICAgdXNlcixcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1mbG9hdGluZy1wcm9taXNlc1xuICAgIHNlbmRFbWFpbCh7XG4gICAgICBmcm9tOiBgXCIke2VtYWlsT3B0aW9ucy5mcm9tTmFtZX1cIiA8JHtlbWFpbE9wdGlvbnMuZnJvbUFkZHJlc3N9PmAsXG4gICAgICBodG1sLFxuICAgICAgc3ViamVjdCxcbiAgICAgIHRvOiB1c2VyLmVtYWlsLFxuICAgIH0pXG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgc2VuZFZlcmlmaWNhdGlvbkVtYWlsXG4iXSwibmFtZXMiOlsiVVJMIiwic2VuZFZlcmlmaWNhdGlvbkVtYWlsIiwiYXJncyIsImNvbGxlY3Rpb24iLCJjb25maWciLCJjb2xsZWN0aW9uQ29uZmlnIiwiZGlzYWJsZUVtYWlsIiwiZW1haWxPcHRpb25zIiwicmVxIiwic2VuZEVtYWlsIiwidG9rZW4iLCJ1c2VyIiwicHJvdG9jb2wiLCJ1cmwiLCJzZXJ2ZXJVUkwiLCJoZWFkZXJzIiwiZ2V0IiwidmVyaWZpY2F0aW9uVVJMIiwicm91dGVzIiwiYWRtaW4iLCJzbHVnIiwiaHRtbCIsInQiLCJ2ZXJpZnkiLCJhdXRoIiwiZ2VuZXJhdGVFbWFpbEhUTUwiLCJzdWJqZWN0IiwiZ2VuZXJhdGVFbWFpbFN1YmplY3QiLCJmcm9tIiwiZnJvbU5hbWUiLCJmcm9tQWRkcmVzcyIsInRvIiwiZW1haWwiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLEdBQUcsUUFBUSxNQUFLO0FBbUJ6QixlQUFlQyxzQkFBc0JDLElBQVU7SUFDN0MsMkJBQTJCO0lBQzNCLE1BQU0sRUFDSkMsWUFBWSxFQUFFQyxRQUFRQyxnQkFBZ0IsRUFBRSxFQUN4Q0QsTUFBTSxFQUNORSxZQUFZLEVBQ1pDLFlBQVksRUFDWkMsR0FBRyxFQUNIQyxTQUFTLEVBQ1RDLEtBQUssRUFDTEMsSUFBSSxFQUNMLEdBQUdUO0lBRUosSUFBSSxDQUFDSSxjQUFjO1FBQ2pCLE1BQU1NLFdBQVcsSUFBSVosSUFBSVEsSUFBSUssR0FBRyxFQUFFRCxRQUFRO1FBQzFDLE1BQU1FLFlBQ0pWLE9BQU9VLFNBQVMsS0FBSyxRQUFRVixPQUFPVSxTQUFTLEtBQUssS0FDOUNWLE9BQU9VLFNBQVMsR0FDaEIsQ0FBQyxFQUFFRixTQUFTLEdBQUcsRUFBRUosSUFBSU8sT0FBTyxDQUFDQyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBRWhELE1BQU1DLGtCQUFrQixDQUFDLEVBQUVILFVBQVUsRUFBRVYsT0FBT2MsTUFBTSxDQUFDQyxLQUFLLENBQUMsQ0FBQyxFQUFFZCxpQkFBaUJlLElBQUksQ0FBQyxRQUFRLEVBQUVWLE1BQU0sQ0FBQztRQUVyRyxJQUFJVyxPQUFPLENBQUMsRUFBRWIsSUFBSWMsQ0FBQyxDQUFDLG9DQUFvQztZQUN0RFIsV0FBV1YsT0FBT1UsU0FBUztZQUMzQkc7UUFDRixHQUFHLENBQUM7UUFFSixNQUFNTSxTQUFTbEIsaUJBQWlCbUIsSUFBSSxDQUFDRCxNQUFNO1FBRTNDLHlDQUF5QztRQUN6QyxJQUFJLE9BQU9BLE9BQU9FLGlCQUFpQixLQUFLLFlBQVk7WUFDbERKLE9BQU8sTUFBTUUsT0FBT0UsaUJBQWlCLENBQUM7Z0JBQ3BDakI7Z0JBQ0FFO2dCQUNBQztZQUNGO1FBQ0Y7UUFFQSxJQUFJZSxVQUFVbEIsSUFBSWMsQ0FBQyxDQUFDO1FBRXBCLHlDQUF5QztRQUN6QyxJQUFJLE9BQU9DLE9BQU9JLG9CQUFvQixLQUFLLFlBQVk7WUFDckRELFVBQVUsTUFBTUgsT0FBT0ksb0JBQW9CLENBQUM7Z0JBQzFDbkI7Z0JBQ0FFO2dCQUNBQztZQUNGO1FBQ0Y7UUFFQSxtRUFBbUU7UUFDbkVGLFVBQVU7WUFDUm1CLE1BQU0sQ0FBQyxDQUFDLEVBQUVyQixhQUFhc0IsUUFBUSxDQUFDLEdBQUcsRUFBRXRCLGFBQWF1QixXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQ2hFVDtZQUNBSztZQUNBSyxJQUFJcEIsS0FBS3FCLEtBQUs7UUFDaEI7SUFDRjtBQUNGO0FBRUEsZUFBZS9CLHNCQUFxQiJ9
|
|
@@ -1,24 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "APIKeyAuthentication", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return APIKeyAuthentication;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _crypto = /*#__PURE__*/ _interop_require_default(require("crypto"));
|
|
12
|
-
function _interop_require_default(obj) {
|
|
13
|
-
return obj && obj.__esModule ? obj : {
|
|
14
|
-
default: obj
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
const APIKeyAuthentication = (collectionConfig)=>async ({ headers, payload })=>{
|
|
1
|
+
import crypto from 'crypto';
|
|
2
|
+
export const APIKeyAuthentication = (collectionConfig)=>async ({ headers, payload })=>{
|
|
18
3
|
const authHeader = headers.get('Authorization');
|
|
19
4
|
if (authHeader?.startsWith(`${collectionConfig.slug} API-Key `)) {
|
|
20
5
|
const apiKey = authHeader.replace(`${collectionConfig.slug} API-Key `, '');
|
|
21
|
-
const apiKeyIndex =
|
|
6
|
+
const apiKeyIndex = crypto.createHmac('sha1', payload.secret).update(apiKey).digest('hex');
|
|
22
7
|
try {
|
|
23
8
|
const where = {};
|
|
24
9
|
if (collectionConfig.auth?.verify) {
|
|
@@ -58,4 +43,4 @@ const APIKeyAuthentication = (collectionConfig)=>async ({ headers, payload })=>{
|
|
|
58
43
|
return null;
|
|
59
44
|
};
|
|
60
45
|
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRoL3N0cmF0ZWdpZXMvYXBpS2V5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjcnlwdG8gZnJvbSAnY3J5cHRvJ1xuXG5pbXBvcnQgdHlwZSB7IEF1dGhTdHJhdGVneUZ1bmN0aW9uLCBVc2VyIH0gZnJvbSAnLi4nXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFdoZXJlIH0gZnJvbSAnLi4vLi4vZXhwb3J0cy90eXBlcydcblxuZXhwb3J0IGNvbnN0IEFQSUtleUF1dGhlbnRpY2F0aW9uID1cbiAgKGNvbGxlY3Rpb25Db25maWc6IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcpOiBBdXRoU3RyYXRlZ3lGdW5jdGlvbiA9PlxuICBhc3luYyAoeyBoZWFkZXJzLCBwYXlsb2FkIH0pID0+IHtcbiAgICBjb25zdCBhdXRoSGVhZGVyID0gaGVhZGVycy5nZXQoJ0F1dGhvcml6YXRpb24nKVxuXG4gICAgaWYgKGF1dGhIZWFkZXI/LnN0YXJ0c1dpdGgoYCR7Y29sbGVjdGlvbkNvbmZpZy5zbHVnfSBBUEktS2V5IGApKSB7XG4gICAgICBjb25zdCBhcGlLZXkgPSBhdXRoSGVhZGVyLnJlcGxhY2UoYCR7Y29sbGVjdGlvbkNvbmZpZy5zbHVnfSBBUEktS2V5IGAsICcnKVxuICAgICAgY29uc3QgYXBpS2V5SW5kZXggPSBjcnlwdG8uY3JlYXRlSG1hYygnc2hhMScsIHBheWxvYWQuc2VjcmV0KS51cGRhdGUoYXBpS2V5KS5kaWdlc3QoJ2hleCcpXG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHdoZXJlOiBXaGVyZSA9IHt9XG4gICAgICAgIGlmIChjb2xsZWN0aW9uQ29uZmlnLmF1dGg/
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRoL3N0cmF0ZWdpZXMvYXBpS2V5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjcnlwdG8gZnJvbSAnY3J5cHRvJ1xuXG5pbXBvcnQgdHlwZSB7IEF1dGhTdHJhdGVneUZ1bmN0aW9uLCBVc2VyIH0gZnJvbSAnLi4nXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFdoZXJlIH0gZnJvbSAnLi4vLi4vZXhwb3J0cy90eXBlcydcblxuZXhwb3J0IGNvbnN0IEFQSUtleUF1dGhlbnRpY2F0aW9uID1cbiAgKGNvbGxlY3Rpb25Db25maWc6IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcpOiBBdXRoU3RyYXRlZ3lGdW5jdGlvbiA9PlxuICBhc3luYyAoeyBoZWFkZXJzLCBwYXlsb2FkIH0pID0+IHtcbiAgICBjb25zdCBhdXRoSGVhZGVyID0gaGVhZGVycy5nZXQoJ0F1dGhvcml6YXRpb24nKVxuXG4gICAgaWYgKGF1dGhIZWFkZXI/LnN0YXJ0c1dpdGgoYCR7Y29sbGVjdGlvbkNvbmZpZy5zbHVnfSBBUEktS2V5IGApKSB7XG4gICAgICBjb25zdCBhcGlLZXkgPSBhdXRoSGVhZGVyLnJlcGxhY2UoYCR7Y29sbGVjdGlvbkNvbmZpZy5zbHVnfSBBUEktS2V5IGAsICcnKVxuICAgICAgY29uc3QgYXBpS2V5SW5kZXggPSBjcnlwdG8uY3JlYXRlSG1hYygnc2hhMScsIHBheWxvYWQuc2VjcmV0KS51cGRhdGUoYXBpS2V5KS5kaWdlc3QoJ2hleCcpXG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHdoZXJlOiBXaGVyZSA9IHt9XG4gICAgICAgIGlmIChjb2xsZWN0aW9uQ29uZmlnLmF1dGg/LnZlcmlmeSkge1xuICAgICAgICAgIHdoZXJlLmFuZCA9IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgYXBpS2V5SW5kZXg6IHtcbiAgICAgICAgICAgICAgICBlcXVhbHM6IGFwaUtleUluZGV4LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgX3ZlcmlmaWVkOiB7XG4gICAgICAgICAgICAgICAgbm90X2VxdWFsczogZmFsc2UsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB3aGVyZS5hcGlLZXlJbmRleCA9IHtcbiAgICAgICAgICAgIGVxdWFsczogYXBpS2V5SW5kZXgsXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdXNlclF1ZXJ5ID0gYXdhaXQgcGF5bG9hZC5maW5kKHtcbiAgICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLnNsdWcsXG4gICAgICAgICAgZGVwdGg6IGNvbGxlY3Rpb25Db25maWcuYXV0aC5kZXB0aCxcbiAgICAgICAgICBvdmVycmlkZUFjY2VzczogdHJ1ZSxcbiAgICAgICAgICB3aGVyZSxcbiAgICAgICAgfSlcblxuICAgICAgICBpZiAodXNlclF1ZXJ5LmRvY3MgJiYgdXNlclF1ZXJ5LmRvY3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGNvbnN0IHVzZXIgPSB1c2VyUXVlcnkuZG9jc1swXVxuICAgICAgICAgIHVzZXIuY29sbGVjdGlvbiA9IGNvbGxlY3Rpb25Db25maWcuc2x1Z1xuICAgICAgICAgIHVzZXIuX3N0cmF0ZWd5ID0gJ2FwaS1rZXknXG5cbiAgICAgICAgICByZXR1cm4gdXNlciBhcyBVc2VyXG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBudWxsXG4gIH1cbiJdLCJuYW1lcyI6WyJjcnlwdG8iLCJBUElLZXlBdXRoZW50aWNhdGlvbiIsImNvbGxlY3Rpb25Db25maWciLCJoZWFkZXJzIiwicGF5bG9hZCIsImF1dGhIZWFkZXIiLCJnZXQiLCJzdGFydHNXaXRoIiwic2x1ZyIsImFwaUtleSIsInJlcGxhY2UiLCJhcGlLZXlJbmRleCIsImNyZWF0ZUhtYWMiLCJzZWNyZXQiLCJ1cGRhdGUiLCJkaWdlc3QiLCJ3aGVyZSIsImF1dGgiLCJ2ZXJpZnkiLCJhbmQiLCJlcXVhbHMiLCJfdmVyaWZpZWQiLCJub3RfZXF1YWxzIiwidXNlclF1ZXJ5IiwiZmluZCIsImNvbGxlY3Rpb24iLCJkZXB0aCIsIm92ZXJyaWRlQWNjZXNzIiwiZG9jcyIsImxlbmd0aCIsInVzZXIiLCJfc3RyYXRlZ3kiLCJlcnIiXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLFlBQVksU0FBUTtBQU0zQixPQUFPLE1BQU1DLHVCQUNYLENBQUNDLG1CQUNELE9BQU8sRUFBRUMsT0FBTyxFQUFFQyxPQUFPLEVBQUU7UUFDekIsTUFBTUMsYUFBYUYsUUFBUUcsR0FBRyxDQUFDO1FBRS9CLElBQUlELFlBQVlFLFdBQVcsQ0FBQyxFQUFFTCxpQkFBaUJNLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRztZQUMvRCxNQUFNQyxTQUFTSixXQUFXSyxPQUFPLENBQUMsQ0FBQyxFQUFFUixpQkFBaUJNLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUN2RSxNQUFNRyxjQUFjWCxPQUFPWSxVQUFVLENBQUMsUUFBUVIsUUFBUVMsTUFBTSxFQUFFQyxNQUFNLENBQUNMLFFBQVFNLE1BQU0sQ0FBQztZQUVwRixJQUFJO2dCQUNGLE1BQU1DLFFBQWUsQ0FBQztnQkFDdEIsSUFBSWQsaUJBQWlCZSxJQUFJLEVBQUVDLFFBQVE7b0JBQ2pDRixNQUFNRyxHQUFHLEdBQUc7d0JBQ1Y7NEJBQ0VSLGFBQWE7Z0NBQ1hTLFFBQVFUOzRCQUNWO3dCQUNGO3dCQUNBOzRCQUNFVSxXQUFXO2dDQUNUQyxZQUFZOzRCQUNkO3dCQUNGO3FCQUNEO2dCQUNILE9BQU87b0JBQ0xOLE1BQU1MLFdBQVcsR0FBRzt3QkFDbEJTLFFBQVFUO29CQUNWO2dCQUNGO2dCQUVBLE1BQU1ZLFlBQVksTUFBTW5CLFFBQVFvQixJQUFJLENBQUM7b0JBQ25DQyxZQUFZdkIsaUJBQWlCTSxJQUFJO29CQUNqQ2tCLE9BQU94QixpQkFBaUJlLElBQUksQ0FBQ1MsS0FBSztvQkFDbENDLGdCQUFnQjtvQkFDaEJYO2dCQUNGO2dCQUVBLElBQUlPLFVBQVVLLElBQUksSUFBSUwsVUFBVUssSUFBSSxDQUFDQyxNQUFNLEdBQUcsR0FBRztvQkFDL0MsTUFBTUMsT0FBT1AsVUFBVUssSUFBSSxDQUFDLEVBQUU7b0JBQzlCRSxLQUFLTCxVQUFVLEdBQUd2QixpQkFBaUJNLElBQUk7b0JBQ3ZDc0IsS0FBS0MsU0FBUyxHQUFHO29CQUVqQixPQUFPRDtnQkFDVDtZQUNGLEVBQUUsT0FBT0UsS0FBSztnQkFDWixPQUFPO1lBQ1Q7UUFDRjtRQUVBLE9BQU87SUFDVCxFQUFDIn0=
|
|
@@ -1,27 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "JWTAuthentication", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return JWTAuthentication;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _jsonwebtoken = /*#__PURE__*/ _interop_require_default(require("jsonwebtoken"));
|
|
12
|
-
const _extractJWT = require("../extractJWT");
|
|
13
|
-
function _interop_require_default(obj) {
|
|
14
|
-
return obj && obj.__esModule ? obj : {
|
|
15
|
-
default: obj
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
const JWTAuthentication = async ({ headers, isGraphQL = false, payload })=>{
|
|
1
|
+
import jwt from 'jsonwebtoken';
|
|
2
|
+
import { extractJWT } from '../extractJWT';
|
|
3
|
+
export const JWTAuthentication = async ({ headers, isGraphQL = false, payload })=>{
|
|
19
4
|
try {
|
|
20
|
-
const token =
|
|
5
|
+
const token = extractJWT({
|
|
21
6
|
headers,
|
|
22
7
|
payload
|
|
23
8
|
});
|
|
24
|
-
const decodedPayload =
|
|
9
|
+
const decodedPayload = jwt.verify(token, payload.secret);
|
|
25
10
|
const collection = payload.collections[decodedPayload.collection];
|
|
26
11
|
const user = await payload.findByID({
|
|
27
12
|
id: decodedPayload.id,
|
|
@@ -40,4 +25,4 @@ const JWTAuthentication = async ({ headers, isGraphQL = false, payload })=>{
|
|
|
40
25
|
}
|
|
41
26
|
};
|
|
42
27
|
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRoL3N0cmF0ZWdpZXMvand0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBqd3QgZnJvbSAnanNvbndlYnRva2VuJ1xuXG5pbXBvcnQgdHlwZSB7IEF1dGhTdHJhdGVneUZ1bmN0aW9uLCBVc2VyIH0gZnJvbSAnLi4nXG5cbmltcG9ydCB7IGV4dHJhY3RKV1QgfSBmcm9tICcuLi9leHRyYWN0SldUJ1xuXG50eXBlIEpXVFRva2VuID0ge1xuICBjb2xsZWN0aW9uOiBzdHJpbmdcbiAgaWQ6IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3QgSldUQXV0aGVudGljYXRpb246IEF1dGhTdHJhdGVneUZ1bmN0aW9uID0gYXN5bmMgKHtcbiAgaGVhZGVycyxcbiAgaXNHcmFwaFFMID0gZmFsc2UsXG4gIHBheWxvYWQsXG59KSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgdG9rZW4gPSBleHRyYWN0SldUKHsgaGVhZGVycywgcGF5bG9hZCB9KVxuICAgIGNvbnN0IGRlY29kZWRQYXlsb2FkID0gand0LnZlcmlmeSh0b2tlbiwgcGF5bG9hZC5zZWNyZXQpIGFzIGp3dC5Kd3RQYXlsb2FkICYgSldUVG9rZW5cblxuICAgIGNvbnN0IGNvbGxlY3Rpb24gPSBwYXlsb2FkLmNvbGxlY3Rpb25zW2RlY29kZWRQYXlsb2FkLmNvbGxlY3Rpb25dXG5cbiAgICBjb25zdCB1c2VyID0gYXdhaXQgcGF5bG9hZC5maW5kQnlJRCh7XG4gICAgICBpZDogZGVjb2RlZFBheWxvYWQuaWQsXG4gICAgICBjb2xsZWN0aW9uOiBkZWNvZGVkUGF5bG9hZC5jb2xsZWN0aW9uLFxuICAgICAgZGVwdGg6IGlzR3JhcGhRTCA/
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRoL3N0cmF0ZWdpZXMvand0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBqd3QgZnJvbSAnanNvbndlYnRva2VuJ1xuXG5pbXBvcnQgdHlwZSB7IEF1dGhTdHJhdGVneUZ1bmN0aW9uLCBVc2VyIH0gZnJvbSAnLi4nXG5cbmltcG9ydCB7IGV4dHJhY3RKV1QgfSBmcm9tICcuLi9leHRyYWN0SldUJ1xuXG50eXBlIEpXVFRva2VuID0ge1xuICBjb2xsZWN0aW9uOiBzdHJpbmdcbiAgaWQ6IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3QgSldUQXV0aGVudGljYXRpb246IEF1dGhTdHJhdGVneUZ1bmN0aW9uID0gYXN5bmMgKHtcbiAgaGVhZGVycyxcbiAgaXNHcmFwaFFMID0gZmFsc2UsXG4gIHBheWxvYWQsXG59KSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgdG9rZW4gPSBleHRyYWN0SldUKHsgaGVhZGVycywgcGF5bG9hZCB9KVxuICAgIGNvbnN0IGRlY29kZWRQYXlsb2FkID0gand0LnZlcmlmeSh0b2tlbiwgcGF5bG9hZC5zZWNyZXQpIGFzIGp3dC5Kd3RQYXlsb2FkICYgSldUVG9rZW5cblxuICAgIGNvbnN0IGNvbGxlY3Rpb24gPSBwYXlsb2FkLmNvbGxlY3Rpb25zW2RlY29kZWRQYXlsb2FkLmNvbGxlY3Rpb25dXG5cbiAgICBjb25zdCB1c2VyID0gYXdhaXQgcGF5bG9hZC5maW5kQnlJRCh7XG4gICAgICBpZDogZGVjb2RlZFBheWxvYWQuaWQsXG4gICAgICBjb2xsZWN0aW9uOiBkZWNvZGVkUGF5bG9hZC5jb2xsZWN0aW9uLFxuICAgICAgZGVwdGg6IGlzR3JhcGhRTCA/IDAgOiBjb2xsZWN0aW9uLmNvbmZpZy5hdXRoLmRlcHRoLFxuICAgIH0pXG5cbiAgICBpZiAodXNlciAmJiAoIWNvbGxlY3Rpb24uY29uZmlnLmF1dGgudmVyaWZ5IHx8IHVzZXIuX3ZlcmlmaWVkKSkge1xuICAgICAgdXNlci5jb2xsZWN0aW9uID0gY29sbGVjdGlvbi5jb25maWcuc2x1Z1xuICAgICAgdXNlci5fc3RyYXRlZ3kgPSAnbG9jYWwtand0J1xuICAgICAgcmV0dXJuIHVzZXIgYXMgVXNlclxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG59XG4iXSwibmFtZXMiOlsiand0IiwiZXh0cmFjdEpXVCIsIkpXVEF1dGhlbnRpY2F0aW9uIiwiaGVhZGVycyIsImlzR3JhcGhRTCIsInBheWxvYWQiLCJ0b2tlbiIsImRlY29kZWRQYXlsb2FkIiwidmVyaWZ5Iiwic2VjcmV0IiwiY29sbGVjdGlvbiIsImNvbGxlY3Rpb25zIiwidXNlciIsImZpbmRCeUlEIiwiaWQiLCJkZXB0aCIsImNvbmZpZyIsImF1dGgiLCJfdmVyaWZpZWQiLCJzbHVnIiwiX3N0cmF0ZWd5IiwiZXJyb3IiXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLFNBQVMsZUFBYztBQUk5QixTQUFTQyxVQUFVLFFBQVEsZ0JBQWU7QUFPMUMsT0FBTyxNQUFNQyxvQkFBMEMsT0FBTyxFQUM1REMsT0FBTyxFQUNQQyxZQUFZLEtBQUssRUFDakJDLE9BQU8sRUFDUjtJQUNDLElBQUk7UUFDRixNQUFNQyxRQUFRTCxXQUFXO1lBQUVFO1lBQVNFO1FBQVE7UUFDNUMsTUFBTUUsaUJBQWlCUCxJQUFJUSxNQUFNLENBQUNGLE9BQU9ELFFBQVFJLE1BQU07UUFFdkQsTUFBTUMsYUFBYUwsUUFBUU0sV0FBVyxDQUFDSixlQUFlRyxVQUFVLENBQUM7UUFFakUsTUFBTUUsT0FBTyxNQUFNUCxRQUFRUSxRQUFRLENBQUM7WUFDbENDLElBQUlQLGVBQWVPLEVBQUU7WUFDckJKLFlBQVlILGVBQWVHLFVBQVU7WUFDckNLLE9BQU9YLFlBQVksSUFBSU0sV0FBV00sTUFBTSxDQUFDQyxJQUFJLENBQUNGLEtBQUs7UUFDckQ7UUFFQSxJQUFJSCxRQUFTLENBQUEsQ0FBQ0YsV0FBV00sTUFBTSxDQUFDQyxJQUFJLENBQUNULE1BQU0sSUFBSUksS0FBS00sU0FBUyxBQUFELEdBQUk7WUFDOUROLEtBQUtGLFVBQVUsR0FBR0EsV0FBV00sTUFBTSxDQUFDRyxJQUFJO1lBQ3hDUCxLQUFLUSxTQUFTLEdBQUc7WUFDakIsT0FBT1I7UUFDVCxPQUFPO1lBQ0wsT0FBTztRQUNUO0lBQ0YsRUFBRSxPQUFPUyxPQUFPO1FBQ2QsT0FBTztJQUNUO0FBQ0YsRUFBQyJ9
|
|
@@ -1,28 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "authenticateLocalStrategy", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return authenticateLocalStrategy;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _crypto = /*#__PURE__*/ _interop_require_default(require("crypto"));
|
|
12
|
-
const _scmp = /*#__PURE__*/ _interop_require_default(require("scmp"));
|
|
13
|
-
function _interop_require_default(obj) {
|
|
14
|
-
return obj && obj.__esModule ? obj : {
|
|
15
|
-
default: obj
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
const authenticateLocalStrategy = async ({ doc, password })=>{
|
|
1
|
+
import crypto from 'crypto';
|
|
2
|
+
import scmp from 'scmp';
|
|
3
|
+
export const authenticateLocalStrategy = async ({ doc, password })=>{
|
|
19
4
|
try {
|
|
20
5
|
const { hash, salt } = doc;
|
|
21
6
|
if (typeof salt === 'string' && typeof hash === 'string') {
|
|
22
7
|
const res = await new Promise((resolve, reject)=>{
|
|
23
|
-
|
|
8
|
+
crypto.pbkdf2(password, salt, 25000, 512, 'sha256', (e, hashBuffer)=>{
|
|
24
9
|
if (e) reject(null);
|
|
25
|
-
if ((
|
|
10
|
+
if (scmp(hashBuffer, Buffer.from(hash, 'hex'))) {
|
|
26
11
|
resolve(doc);
|
|
27
12
|
} else {
|
|
28
13
|
reject(null);
|
|
@@ -37,4 +22,4 @@ const authenticateLocalStrategy = async ({ doc, password })=>{
|
|
|
37
22
|
}
|
|
38
23
|
};
|
|
39
24
|
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hdXRoL3N0cmF0ZWdpZXMvbG9jYWwvYXV0aGVudGljYXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjcnlwdG8gZnJvbSAnY3J5cHRvJ1xuaW1wb3J0IHNjbXAgZnJvbSAnc2NtcCdcblxuaW1wb3J0IHR5cGUgeyBUeXBlV2l0aElEIH0gZnJvbSAnLi4vLi4vLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzJ1xuXG50eXBlIERvYyA9IFR5cGVXaXRoSUQgJiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuXG50eXBlIEFyZ3MgPSB7XG4gIGRvYzogRG9jXG4gIHBhc3N3b3JkOiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IGF1dGhlbnRpY2F0ZUxvY2FsU3RyYXRlZ3kgPSBhc3luYyAoeyBkb2MsIHBhc3N3b3JkIH06IEFyZ3MpOiBQcm9taXNlPERvYyB8IG51bGw+ID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCB7IGhhc2gsIHNhbHQgfSA9IGRvY1xuXG4gICAgaWYgKHR5cGVvZiBzYWx0ID09PSAnc3RyaW5nJyAmJiB0eXBlb2YgaGFzaCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IG5ldyBQcm9taXNlPERvYyB8IG51bGw+KChyZXNvbHZlLCByZWplY3QpID0+
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hdXRoL3N0cmF0ZWdpZXMvbG9jYWwvYXV0aGVudGljYXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjcnlwdG8gZnJvbSAnY3J5cHRvJ1xuaW1wb3J0IHNjbXAgZnJvbSAnc2NtcCdcblxuaW1wb3J0IHR5cGUgeyBUeXBlV2l0aElEIH0gZnJvbSAnLi4vLi4vLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzJ1xuXG50eXBlIERvYyA9IFR5cGVXaXRoSUQgJiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuXG50eXBlIEFyZ3MgPSB7XG4gIGRvYzogRG9jXG4gIHBhc3N3b3JkOiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IGF1dGhlbnRpY2F0ZUxvY2FsU3RyYXRlZ3kgPSBhc3luYyAoeyBkb2MsIHBhc3N3b3JkIH06IEFyZ3MpOiBQcm9taXNlPERvYyB8IG51bGw+ID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCB7IGhhc2gsIHNhbHQgfSA9IGRvY1xuXG4gICAgaWYgKHR5cGVvZiBzYWx0ID09PSAnc3RyaW5nJyAmJiB0eXBlb2YgaGFzaCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IG5ldyBQcm9taXNlPERvYyB8IG51bGw+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgY3J5cHRvLnBia2RmMihwYXNzd29yZCwgc2FsdCwgMjUwMDAsIDUxMiwgJ3NoYTI1NicsIChlLCBoYXNoQnVmZmVyKSA9PiB7XG4gICAgICAgICAgaWYgKGUpIHJlamVjdChudWxsKVxuXG4gICAgICAgICAgaWYgKHNjbXAoaGFzaEJ1ZmZlciwgQnVmZmVyLmZyb20oaGFzaCwgJ2hleCcpKSkge1xuICAgICAgICAgICAgcmVzb2x2ZShkb2MpXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlamVjdChudWxsKVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIH0pXG5cbiAgICAgIHJldHVybiByZXNcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbFxuICB9IGNhdGNoIChlcnIpIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG59XG4iXSwibmFtZXMiOlsiY3J5cHRvIiwic2NtcCIsImF1dGhlbnRpY2F0ZUxvY2FsU3RyYXRlZ3kiLCJkb2MiLCJwYXNzd29yZCIsImhhc2giLCJzYWx0IiwicmVzIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJwYmtkZjIiLCJlIiwiaGFzaEJ1ZmZlciIsIkJ1ZmZlciIsImZyb20iLCJlcnIiXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLFlBQVksU0FBUTtBQUMzQixPQUFPQyxVQUFVLE9BQU07QUFXdkIsT0FBTyxNQUFNQyw0QkFBNEIsT0FBTyxFQUFFQyxHQUFHLEVBQUVDLFFBQVEsRUFBUTtJQUNyRSxJQUFJO1FBQ0YsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLElBQUksRUFBRSxHQUFHSDtRQUV2QixJQUFJLE9BQU9HLFNBQVMsWUFBWSxPQUFPRCxTQUFTLFVBQVU7WUFDeEQsTUFBTUUsTUFBTSxNQUFNLElBQUlDLFFBQW9CLENBQUNDLFNBQVNDO2dCQUNsRFYsT0FBT1csTUFBTSxDQUFDUCxVQUFVRSxNQUFNLE9BQU8sS0FBSyxVQUFVLENBQUNNLEdBQUdDO29CQUN0RCxJQUFJRCxHQUFHRixPQUFPO29CQUVkLElBQUlULEtBQUtZLFlBQVlDLE9BQU9DLElBQUksQ0FBQ1YsTUFBTSxTQUFTO3dCQUM5Q0ksUUFBUU47b0JBQ1YsT0FBTzt3QkFDTE8sT0FBTztvQkFDVDtnQkFDRjtZQUNGO1lBRUEsT0FBT0g7UUFDVDtRQUVBLE9BQU87SUFDVCxFQUFFLE9BQU9TLEtBQUs7UUFDWixPQUFPO0lBQ1Q7QUFDRixFQUFDIn0=
|