UNPKG

express-typeorm-rest-boilerplate

Version:

Boilerplate code to get started with building RESTful API Services

57 lines 2.67 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const express_1 = require("express"); const typedi_1 = require("typedi"); const celebrate_1 = require("celebrate"); const UserService_1 = __importDefault(require("../services/UserService")); const route = express_1.Router(); route.post('/register', celebrate_1.celebrate({ body: celebrate_1.Joi.object({ firstName: celebrate_1.Joi.string().required(), lastName: celebrate_1.Joi.string().required(), email: celebrate_1.Joi.string().required(), password: celebrate_1.Joi.string().required(), }), }), (req, res, next) => __awaiter(void 0, void 0, void 0, function* () { const logger = typedi_1.Container.get('logger'); logger.debug('Calling /register endpoint with body: %o', req.body); try { const userServiceInstance = typedi_1.Container.get(UserService_1.default); const { user, token } = yield userServiceInstance.register(req.body); return res.status(201).json({ user, token }); } catch (e) { return next(e); } })); route.post('/login', celebrate_1.celebrate({ body: celebrate_1.Joi.object({ email: celebrate_1.Joi.string().required(), password: celebrate_1.Joi.string().required(), }), }), (req, res, next) => __awaiter(void 0, void 0, void 0, function* () { const logger = typedi_1.Container.get('logger'); logger.debug('Calling /login endpoint with email: %s', req.body.email); try { const userServiceInstance = typedi_1.Container.get(UserService_1.default); const { user, token } = yield userServiceInstance.login(req.body.email, req.body.password); return res.json({ user, token }).status(200); } catch (e) { return next(e); } })); exports.default = route; //# sourceMappingURL=auth.js.map