UNPKG

@itrocks/signup

Version:

Handles user sign-up for @itrocks/user, with account creation and secure onboarding flow

38 lines 1.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Signup = void 0; const action_1 = require("@itrocks/action"); const data_to_object_1 = require("@itrocks/data-to-object"); const storage_1 = require("@itrocks/storage"); class Signup extends action_1.Action { async html(request) { const userType = request.type; let templateName = 'signup'; let user = new userType; if (Object.keys(request.request.data).length) { await (0, data_to_object_1.dataToObject)(user, request.request.data); const { email, login, password } = user; if (email.length && login.length && password.length) { const dao = (0, storage_1.dataSource)(); const found = await dao.searchOne(userType, { email }) || await dao.searchOne(userType, { login }) || await dao.searchOne(userType, { email: login }) || await dao.searchOne(userType, { login: email }); if (found) { templateName = 'signup-error'; user = found; } else { await dao.save(user); templateName = 'registered'; } } else { templateName = 'signup-error'; } } return this.htmlTemplateResponse(user, request, __dirname + '/' + templateName + '.html'); } } exports.Signup = Signup; //# sourceMappingURL=signup.js.map