'use strict'; const Joi = require('joi'); const User = require('../../models/user'); const pluginConfig = { handlerType: 'user', docs: { post: { description: 'login', notes: 'Attempt login' } } } /** Validator functions by request method */ const validators = { post: { payload: Joi.object({ user: Joi.object().required().keys({ email: User.field('email').required(), password: Joi.string().required() }) }) } } module.exports = { method: 'post', path: '/login', handler: async (request, h) => { try { const { user: { email, password } } = request.payload const { mathService } = request.services() console.log(mathService.add(10, 1)) // const { userService, displayService } = request.services(); // const login = async (txn) => { // return await userService.login({ email, password }, txn); // }; // const user = await h.context.transaction(login); // const token = userService.createToken(user.id); return { ok: true, handler: pluginConfig.handlerType, data: { user: { email: '', password: '' } }, // data: { user: displayService.user(user, token) } } } catch(err) { return { ok: false, handler: pluginConfig.handlerType, data: { error: err }, } } }, options: { ...pluginConfig.docs.post, tags: ['api'], auth: false, validate: validators.post, response: { schema: Joi.object({ ok: Joi.bool(), handler: Joi.string(), data: validators.post.payload }), failAction: 'log' } } }