import { Request, Response } from 'express' import { AppUserDao } from '../../dao/_index' import { body, validationResult } from 'express-validator' const createUserValidationRules = [ body('pwd', 'Password is required').notEmpty(), body('email', 'Email is required').notEmpty(), body('email', 'A valid email is required').isEmail() ] const loginValidationRules = [ body('pwd', 'Password is required').notEmpty(), body('email', 'Email is required').notEmpty(), body('email', 'A valid email is required').isEmail() ] export function getValidationRules(method) { switch (method) { case 'CreateUser': { return createUserValidationRules } case 'Login': { return loginValidationRules } } } export function createUser(req: Request, res: Response) { let errors = validationResult(req); if (!errors.isEmpty()) { return res.status(400).json({ errors: errors.array() }); } return AppUserDao.createUserDao(req.body).then(user => res.json(user)) } export function login(req: Request, res: Response) { let errors = validationResult(req); if (!errors.isEmpty()) { return res.status(400).json({ errors: errors.array() }); } return AppUserDao.login(req.body).then(user => res.json(user)) }