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)

63 lines (54 loc) 1.06 kB
const express = require('express') const router = express.Router() require('../../config/passport') const passport = require('passport') const requireAuth = passport.authenticate('jwt', { session: false }) const trimRequest = require('trim-request') const { roleAuthorization } = require('../controllers/auth') const { getProfile, updateProfile, changePassword } = require('../controllers/profile') const { validateUpdateProfile, validateChangePassword } = require('../controllers/profile/validators') /* * Profile routes */ /* * Get profile route */ router.get( '/', requireAuth, roleAuthorization(['user', 'admin']), trimRequest.all, getProfile ) /* * Update profile route */ router.patch( '/', requireAuth, roleAuthorization(['user', 'admin']), trimRequest.all, validateUpdateProfile, updateProfile ) /* * Change password route */ router.post( '/changePassword', requireAuth, roleAuthorization(['user', 'admin']), trimRequest.all, validateChangePassword, changePassword ) module.exports = router