UNPKG

node-express-mongodb-jwt-rest-api-skeleton

Version:

Node.js express.js MongoDB JWT REST API - This is a basic API REST skeleton written on JavaScript using async/await. Great for building a starter web API for your front-end (Android, iOS, Vue, react, angular, or anything that can consume an API)

35 lines (30 loc) 989 B
const { matchedData } = require('express-validator') const { registerUser, setUserInfo, returnRegisterToken } = require('./helpers') const { handleError } = require('../../middleware/utils') const { emailExists, sendRegistrationEmailMessage } = require('../../middleware/emailer') /** * Register function called by route * @param {Object} req - request object * @param {Object} res - response object */ const register = async (req, res) => { try { // Gets locale from header 'Accept-Language' const locale = req.getLocale() req = matchedData(req) const doesEmailExists = await emailExists(req.email) if (!doesEmailExists) { const item = await registerUser(req) const userInfo = await setUserInfo(item) const response = await returnRegisterToken(item, userInfo) sendRegistrationEmailMessage(locale, item) res.status(201).json(response) } } catch (error) { handleError(res, error) } } module.exports = { register }