UNPKG

payload

Version:

Node, React and MongoDB Headless CMS and Application Framework

78 lines (77 loc) 7.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function() { return _default; } }); const _errors = require("../../errors"); const _commitTransaction = require("../../utilities/commitTransaction"); const _initTransaction = require("../../utilities/initTransaction"); const _killTransaction = require("../../utilities/killTransaction"); const _executeAccess = /*#__PURE__*/ _interop_require_default(require("../executeAccess")); const _resetLoginAttempts = require("../strategies/local/resetLoginAttempts"); function _interop_require_default(obj) { return obj && obj.__esModule ? obj : { default: obj }; } async function unlock(args) { if (!Object.prototype.hasOwnProperty.call(args.data, 'email')) { throw new _errors.APIError('Missing email.'); } const { collection: { config: collectionConfig }, overrideAccess, req: { locale, payload }, req } = args; try { const shouldCommit = await (0, _initTransaction.initTransaction)(req); // ///////////////////////////////////// // Access // ///////////////////////////////////// if (!overrideAccess) { await (0, _executeAccess.default)({ req }, collectionConfig.access.unlock); } const options = { ...args }; const { data } = options; // ///////////////////////////////////// // Unlock // ///////////////////////////////////// if (!data.email) { throw new _errors.APIError('Missing email.'); } const user = await req.payload.db.findOne({ collection: collectionConfig.slug, locale, req, where: { email: { equals: data.email.toLowerCase() } } }); let result; if (user) { await (0, _resetLoginAttempts.resetLoginAttempts)({ collection: collectionConfig, doc: user, payload: req.payload, req }); result = true; } else { result = null; } if (shouldCommit) await (0, _commitTransaction.commitTransaction)(req); return result; } catch (error) { await (0, _killTransaction.killTransaction)(req); throw error; } } const _default = unlock; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRoL29wZXJhdGlvbnMvdW5sb2NrLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi8uLi9leHByZXNzL3R5cGVzJ1xuXG5pbXBvcnQgeyBBUElFcnJvciB9IGZyb20gJy4uLy4uL2Vycm9ycydcbmltcG9ydCB7IGNvbW1pdFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2NvbW1pdFRyYW5zYWN0aW9uJ1xuaW1wb3J0IHsgaW5pdFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2luaXRUcmFuc2FjdGlvbidcbmltcG9ydCB7IGtpbGxUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9raWxsVHJhbnNhY3Rpb24nXG5pbXBvcnQgZXhlY3V0ZUFjY2VzcyBmcm9tICcuLi9leGVjdXRlQWNjZXNzJ1xuaW1wb3J0IHsgcmVzZXRMb2dpbkF0dGVtcHRzIH0gZnJvbSAnLi4vc3RyYXRlZ2llcy9sb2NhbC9yZXNldExvZ2luQXR0ZW1wdHMnXG5cbmV4cG9ydCB0eXBlIEFyZ3MgPSB7XG4gIGNvbGxlY3Rpb246IENvbGxlY3Rpb25cbiAgZGF0YToge1xuICAgIGVtYWlsOiBzdHJpbmdcbiAgfVxuICBvdmVycmlkZUFjY2Vzcz86IGJvb2xlYW5cbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxufVxuXG5hc3luYyBmdW5jdGlvbiB1bmxvY2soYXJnczogQXJncyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhcmdzLmRhdGEsICdlbWFpbCcpKSB7XG4gICAgdGhyb3cgbmV3IEFQSUVycm9yKCdNaXNzaW5nIGVtYWlsLicpXG4gIH1cblxuICBjb25zdCB7XG4gICAgY29sbGVjdGlvbjogeyBjb25maWc6IGNvbGxlY3Rpb25Db25maWcgfSxcbiAgICBvdmVycmlkZUFjY2VzcyxcbiAgICByZXE6IHsgbG9jYWxlLCBwYXlsb2FkIH0sXG4gICAgcmVxLFxuICB9ID0gYXJnc1xuXG4gIHRyeSB7XG4gICAgY29uc3Qgc2hvdWxkQ29tbWl0ID0gYXdhaXQgaW5pdFRyYW5zYWN0aW9uKHJlcSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBBY2Nlc3NcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBpZiAoIW92ZXJyaWRlQWNjZXNzKSB7XG4gICAgICBhd2FpdCBleGVjdXRlQWNjZXNzKHsgcmVxIH0sIGNvbGxlY3Rpb25Db25maWcuYWNjZXNzLnVubG9jaylcbiAgICB9XG5cbiAgICBjb25zdCBvcHRpb25zID0geyAuLi5hcmdzIH1cblxuICAgIGNvbnN0IHsgZGF0YSB9ID0gb3B0aW9uc1xuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIFVubG9ja1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGlmICghZGF0YS5lbWFpbCkge1xuICAgICAgdGhyb3cgbmV3IEFQSUVycm9yKCdNaXNzaW5nIGVtYWlsLicpXG4gICAgfVxuXG4gICAgY29uc3QgdXNlciA9IGF3YWl0IHJlcS5wYXlsb2FkLmRiLmZpbmRPbmUoe1xuICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZy5zbHVnLFxuICAgICAgbG9jYWxlLFxuICAgICAgcmVxLFxuICAgICAgd2hlcmU6IHsgZW1haWw6IHsgZXF1YWxzOiBkYXRhLmVtYWlsLnRvTG93ZXJDYXNlKCkgfSB9LFxuICAgIH0pXG5cbiAgICBsZXQgcmVzdWx0XG5cbiAgICBpZiAodXNlcikge1xuICAgICAgYXdhaXQgcmVzZXRMb2dpbkF0dGVtcHRzKHtcbiAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgZG9jOiB1c2VyLFxuICAgICAgICBwYXlsb2FkOiByZXEucGF5bG9hZCxcbiAgICAgICAgcmVxLFxuICAgICAgfSlcbiAgICAgIHJlc3VsdCA9IHRydWVcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzdWx0ID0gbnVsbFxuICAgIH1cblxuICAgIGlmIChzaG91bGRDb21taXQpIGF3YWl0IGNvbW1pdFRyYW5zYWN0aW9uKHJlcSlcblxuICAgIHJldHVybiByZXN1bHRcbiAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICBhd2FpdCBraWxsVHJhbnNhY3Rpb24ocmVxKVxuICAgIHRocm93IGVycm9yXG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdW5sb2NrXG4iXSwibmFtZXMiOlsidW5sb2NrIiwiYXJncyIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRhdGEiLCJBUElFcnJvciIsImNvbGxlY3Rpb24iLCJjb25maWciLCJjb2xsZWN0aW9uQ29uZmlnIiwib3ZlcnJpZGVBY2Nlc3MiLCJyZXEiLCJsb2NhbGUiLCJwYXlsb2FkIiwic2hvdWxkQ29tbWl0IiwiaW5pdFRyYW5zYWN0aW9uIiwiZXhlY3V0ZUFjY2VzcyIsImFjY2VzcyIsIm9wdGlvbnMiLCJlbWFpbCIsInVzZXIiLCJkYiIsImZpbmRPbmUiLCJzbHVnIiwid2hlcmUiLCJlcXVhbHMiLCJ0b0xvd2VyQ2FzZSIsInJlc3VsdCIsInJlc2V0TG9naW5BdHRlbXB0cyIsImRvYyIsImNvbW1pdFRyYW5zYWN0aW9uIiwiZXJyb3IiLCJraWxsVHJhbnNhY3Rpb24iXSwibWFwcGluZ3MiOiI7Ozs7K0JBb0ZBOzs7ZUFBQTs7O3dCQWpGeUI7bUNBQ1M7aUNBQ0Y7aUNBQ0E7c0VBQ047b0NBQ1M7Ozs7OztBQVduQyxlQUFlQSxPQUFPQyxJQUFVO0lBQzlCLElBQUksQ0FBQ0MsT0FBT0MsU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ0osS0FBS0ssSUFBSSxFQUFFLFVBQVU7UUFDN0QsTUFBTSxJQUFJQyxnQkFBUSxDQUFDO0lBQ3JCO0lBRUEsTUFBTSxFQUNKQyxZQUFZLEVBQUVDLFFBQVFDLGdCQUFnQixFQUFFLEVBQ3hDQyxjQUFjLEVBQ2RDLEtBQUssRUFBRUMsTUFBTSxFQUFFQyxPQUFPLEVBQUUsRUFDeEJGLEdBQUcsRUFDSixHQUFHWDtJQUVKLElBQUk7UUFDRixNQUFNYyxlQUFlLE1BQU1DLElBQUFBLGdDQUFlLEVBQUNKO1FBRTNDLHdDQUF3QztRQUN4QyxTQUFTO1FBQ1Qsd0NBQXdDO1FBRXhDLElBQUksQ0FBQ0QsZ0JBQWdCO1lBQ25CLE1BQU1NLElBQUFBLHNCQUFhLEVBQUM7Z0JBQUVMO1lBQUksR0FBR0YsaUJBQWlCUSxNQUFNLENBQUNsQixNQUFNO1FBQzdEO1FBRUEsTUFBTW1CLFVBQVU7WUFBRSxHQUFHbEIsSUFBSTtRQUFDO1FBRTFCLE1BQU0sRUFBRUssSUFBSSxFQUFFLEdBQUdhO1FBRWpCLHdDQUF3QztRQUN4QyxTQUFTO1FBQ1Qsd0NBQXdDO1FBRXhDLElBQUksQ0FBQ2IsS0FBS2MsS0FBSyxFQUFFO1lBQ2YsTUFBTSxJQUFJYixnQkFBUSxDQUFDO1FBQ3JCO1FBRUEsTUFBTWMsT0FBTyxNQUFNVCxJQUFJRSxPQUFPLENBQUNRLEVBQUUsQ0FBQ0MsT0FBTyxDQUFDO1lBQ3hDZixZQUFZRSxpQkFBaUJjLElBQUk7WUFDakNYO1lBQ0FEO1lBQ0FhLE9BQU87Z0JBQUVMLE9BQU87b0JBQUVNLFFBQVFwQixLQUFLYyxLQUFLLENBQUNPLFdBQVc7Z0JBQUc7WUFBRTtRQUN2RDtRQUVBLElBQUlDO1FBRUosSUFBSVAsTUFBTTtZQUNSLE1BQU1RLElBQUFBLHNDQUFrQixFQUFDO2dCQUN2QnJCLFlBQVlFO2dCQUNab0IsS0FBS1Q7Z0JBQ0xQLFNBQVNGLElBQUlFLE9BQU87Z0JBQ3BCRjtZQUNGO1lBQ0FnQixTQUFTO1FBQ1gsT0FBTztZQUNMQSxTQUFTO1FBQ1g7UUFFQSxJQUFJYixjQUFjLE1BQU1nQixJQUFBQSxvQ0FBaUIsRUFBQ25CO1FBRTFDLE9BQU9nQjtJQUNULEVBQUUsT0FBT0ksT0FBZ0I7UUFDdkIsTUFBTUMsSUFBQUEsZ0NBQWUsRUFBQ3JCO1FBQ3RCLE1BQU1vQjtJQUNSO0FBQ0Y7TUFFQSxXQUFlaEMifQ==