UNPKG

payload

Version:

Node, React and MongoDB Headless CMS and Application Framework

68 lines (67 loc) 7.51 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"); async function registerFirstUser(args) { const { collection: { config, config: { auth: { verify }, slug } }, data, req, req: { payload } } = args; try { const shouldCommit = await (0, _initTransaction.initTransaction)(req); const doc = await payload.db.findOne({ collection: config.slug, req }); if (doc) throw new _errors.Forbidden(req.t); // ///////////////////////////////////// // Register first user // ///////////////////////////////////// const result = await payload.create({ collection: slug, data, overrideAccess: true, req }); // auto-verify (if applicable) if (verify) { await payload.update({ id: result.id, collection: slug, data: { _verified: true }, req }); } // ///////////////////////////////////// // Log in new user // ///////////////////////////////////// const { token } = await payload.login({ ...args, collection: slug, req }); const resultToReturn = { ...result, token }; if (shouldCommit) await (0, _commitTransaction.commitTransaction)(req); return { message: 'Registered and logged in successfully. Welcome!', user: resultToReturn }; } catch (error) { await (0, _killTransaction.killTransaction)(req); throw error; } } const _default = registerFirstUser; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRoL29wZXJhdGlvbnMvcmVnaXN0ZXJGaXJzdFVzZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSZXNwb25zZSB9IGZyb20gJ2V4cHJlc3MnXG5pbXBvcnQgdHlwZSB7IE1hcmtPcHRpb25hbCB9IGZyb20gJ3RzLWVzc2VudGlhbHMnXG5cbmltcG9ydCB0eXBlIHsgR2VuZXJhdGVkVHlwZXMgfSBmcm9tICcuLi8uLi8nXG5pbXBvcnQgdHlwZSB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vZXhwcmVzcy90eXBlcydcblxuaW1wb3J0IHsgRm9yYmlkZGVuIH0gZnJvbSAnLi4vLi4vZXJyb3JzJ1xuaW1wb3J0IHsgY29tbWl0VHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvY29tbWl0VHJhbnNhY3Rpb24nXG5pbXBvcnQgeyBpbml0VHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvaW5pdFRyYW5zYWN0aW9uJ1xuaW1wb3J0IHsga2lsbFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2tpbGxUcmFuc2FjdGlvbidcblxuZXhwb3J0IHR5cGUgQXJndW1lbnRzPFQgZXh0ZW5kcyB7IFtmaWVsZDogbnVtYmVyIHwgc3RyaW5nIHwgc3ltYm9sXTogdW5rbm93biB9PiA9IHtcbiAgY29sbGVjdGlvbjogQ29sbGVjdGlvblxuICBkYXRhOiBNYXJrT3B0aW9uYWw8VCwgJ2NyZWF0ZWRBdCcgfCAnaWQnIHwgJ3NpemVzJyB8ICd1cGRhdGVkQXQnPiAmIHtcbiAgICBlbWFpbDogc3RyaW5nXG4gICAgcGFzc3dvcmQ6IHN0cmluZ1xuICB9XG4gIHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgcmVzOiBSZXNwb25zZVxufVxuXG5leHBvcnQgdHlwZSBSZXN1bHQ8VD4gPSB7XG4gIG1lc3NhZ2U6IHN0cmluZ1xuICB1c2VyOiBUXG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJlZ2lzdGVyRmlyc3RVc2VyPFRTbHVnIGV4dGVuZHMga2V5b2YgR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICBhcmdzOiBBcmd1bWVudHM8R2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVFNsdWddPixcbik6IFByb21pc2U8UmVzdWx0PEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RTbHVnXT4+IHtcbiAgY29uc3Qge1xuICAgIGNvbGxlY3Rpb246IHtcbiAgICAgIGNvbmZpZyxcbiAgICAgIGNvbmZpZzoge1xuICAgICAgICBhdXRoOiB7IHZlcmlmeSB9LFxuICAgICAgICBzbHVnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGRhdGEsXG4gICAgcmVxLFxuICAgIHJlcTogeyBwYXlsb2FkIH0sXG4gIH0gPSBhcmdzXG5cbiAgdHJ5IHtcbiAgICBjb25zdCBzaG91bGRDb21taXQgPSBhd2FpdCBpbml0VHJhbnNhY3Rpb24ocmVxKVxuXG4gICAgY29uc3QgZG9jID0gYXdhaXQgcGF5bG9hZC5kYi5maW5kT25lKHtcbiAgICAgIGNvbGxlY3Rpb246IGNvbmZpZy5zbHVnLFxuICAgICAgcmVxLFxuICAgIH0pXG5cbiAgICBpZiAoZG9jKSB0aHJvdyBuZXcgRm9yYmlkZGVuKHJlcS50KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIFJlZ2lzdGVyIGZpcnN0IHVzZXJcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBwYXlsb2FkLmNyZWF0ZTxUU2x1Zz4oe1xuICAgICAgY29sbGVjdGlvbjogc2x1ZyBhcyBUU2x1ZyxcbiAgICAgIGRhdGEsXG4gICAgICBvdmVycmlkZUFjY2VzczogdHJ1ZSxcbiAgICAgIHJlcSxcbiAgICB9KVxuXG4gICAgLy8gYXV0by12ZXJpZnkgKGlmIGFwcGxpY2FibGUpXG4gICAgaWYgKHZlcmlmeSkge1xuICAgICAgYXdhaXQgcGF5bG9hZC51cGRhdGUoe1xuICAgICAgICBpZDogcmVzdWx0LmlkLFxuICAgICAgICBjb2xsZWN0aW9uOiBzbHVnLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgX3ZlcmlmaWVkOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICByZXEsXG4gICAgICB9KVxuICAgIH1cblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBMb2cgaW4gbmV3IHVzZXJcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBjb25zdCB7IHRva2VuIH0gPSBhd2FpdCBwYXlsb2FkLmxvZ2luKHtcbiAgICAgIC4uLmFyZ3MsXG4gICAgICBjb2xsZWN0aW9uOiBzbHVnLFxuICAgICAgcmVxLFxuICAgIH0pXG5cbiAgICBjb25zdCByZXN1bHRUb1JldHVybiA9IHtcbiAgICAgIC4uLnJlc3VsdCxcbiAgICAgIHRva2VuLFxuICAgIH1cblxuICAgIGlmIChzaG91bGRDb21taXQpIGF3YWl0IGNvbW1pdFRyYW5zYWN0aW9uKHJlcSlcblxuICAgIHJldHVybiB7XG4gICAgICBtZXNzYWdlOiAnUmVnaXN0ZXJlZCBhbmQgbG9nZ2VkIGluIHN1Y2Nlc3NmdWxseS4gV2VsY29tZSEnLFxuICAgICAgdXNlcjogcmVzdWx0VG9SZXR1cm4sXG4gICAgfVxuICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgIGF3YWl0IGtpbGxUcmFuc2FjdGlvbihyZXEpXG4gICAgdGhyb3cgZXJyb3JcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCByZWdpc3RlckZpcnN0VXNlclxuIl0sIm5hbWVzIjpbInJlZ2lzdGVyRmlyc3RVc2VyIiwiYXJncyIsImNvbGxlY3Rpb24iLCJjb25maWciLCJhdXRoIiwidmVyaWZ5Iiwic2x1ZyIsImRhdGEiLCJyZXEiLCJwYXlsb2FkIiwic2hvdWxkQ29tbWl0IiwiaW5pdFRyYW5zYWN0aW9uIiwiZG9jIiwiZGIiLCJmaW5kT25lIiwiRm9yYmlkZGVuIiwidCIsInJlc3VsdCIsImNyZWF0ZSIsIm92ZXJyaWRlQWNjZXNzIiwidXBkYXRlIiwiaWQiLCJfdmVyaWZpZWQiLCJ0b2tlbiIsImxvZ2luIiwicmVzdWx0VG9SZXR1cm4iLCJjb21taXRUcmFuc2FjdGlvbiIsIm1lc3NhZ2UiLCJ1c2VyIiwiZXJyb3IiLCJraWxsVHJhbnNhY3Rpb24iXSwibWFwcGluZ3MiOiI7Ozs7K0JBdUdBOzs7ZUFBQTs7O3dCQWhHMEI7bUNBQ1E7aUNBQ0Y7aUNBQ0E7QUFpQmhDLGVBQWVBLGtCQUNiQyxJQUFxRDtJQUVyRCxNQUFNLEVBQ0pDLFlBQVksRUFDVkMsTUFBTSxFQUNOQSxRQUFRLEVBQ05DLE1BQU0sRUFBRUMsTUFBTSxFQUFFLEVBQ2hCQyxJQUFJLEVBQ0wsRUFDRixFQUNEQyxJQUFJLEVBQ0pDLEdBQUcsRUFDSEEsS0FBSyxFQUFFQyxPQUFPLEVBQUUsRUFDakIsR0FBR1I7SUFFSixJQUFJO1FBQ0YsTUFBTVMsZUFBZSxNQUFNQyxJQUFBQSxnQ0FBZSxFQUFDSDtRQUUzQyxNQUFNSSxNQUFNLE1BQU1ILFFBQVFJLEVBQUUsQ0FBQ0MsT0FBTyxDQUFDO1lBQ25DWixZQUFZQyxPQUFPRyxJQUFJO1lBQ3ZCRTtRQUNGO1FBRUEsSUFBSUksS0FBSyxNQUFNLElBQUlHLGlCQUFTLENBQUNQLElBQUlRLENBQUM7UUFFbEMsd0NBQXdDO1FBQ3hDLHNCQUFzQjtRQUN0Qix3Q0FBd0M7UUFFeEMsTUFBTUMsU0FBUyxNQUFNUixRQUFRUyxNQUFNLENBQVE7WUFDekNoQixZQUFZSTtZQUNaQztZQUNBWSxnQkFBZ0I7WUFDaEJYO1FBQ0Y7UUFFQSw4QkFBOEI7UUFDOUIsSUFBSUgsUUFBUTtZQUNWLE1BQU1JLFFBQVFXLE1BQU0sQ0FBQztnQkFDbkJDLElBQUlKLE9BQU9JLEVBQUU7Z0JBQ2JuQixZQUFZSTtnQkFDWkMsTUFBTTtvQkFDSmUsV0FBVztnQkFDYjtnQkFDQWQ7WUFDRjtRQUNGO1FBRUEsd0NBQXdDO1FBQ3hDLGtCQUFrQjtRQUNsQix3Q0FBd0M7UUFFeEMsTUFBTSxFQUFFZSxLQUFLLEVBQUUsR0FBRyxNQUFNZCxRQUFRZSxLQUFLLENBQUM7WUFDcEMsR0FBR3ZCLElBQUk7WUFDUEMsWUFBWUk7WUFDWkU7UUFDRjtRQUVBLE1BQU1pQixpQkFBaUI7WUFDckIsR0FBR1IsTUFBTTtZQUNUTTtRQUNGO1FBRUEsSUFBSWIsY0FBYyxNQUFNZ0IsSUFBQUEsb0NBQWlCLEVBQUNsQjtRQUUxQyxPQUFPO1lBQ0xtQixTQUFTO1lBQ1RDLE1BQU1IO1FBQ1I7SUFDRixFQUFFLE9BQU9JLE9BQWdCO1FBQ3ZCLE1BQU1DLElBQUFBLGdDQUFlLEVBQUN0QjtRQUN0QixNQUFNcUI7SUFDUjtBQUNGO01BRUEsV0FBZTdCIn0=