Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import joi from 'joi'
- import validate from 'express-validation'
- import middleware from 'middleware'
- import AuthService from 'auth.service'
- /**
- * Controller's generic middleware
- */
- export const middleware = [middleware.authenticate('token')]
- /**
- * POST auth/login endpoint
- *
- * @export
- * @param {any} req
- * @param {any} res
- */
- login.middleware = [middleware.guest('token'), validate({
- body: {
- type: joi.string().required(),
- token: joi.string().required()
- }
- })]
- export async function login(req, res, next) {
- const service = new AuthService(req)
- try {
- await service.login()
- } catch(e) {
- return next(e)
- }
- res.status(200).send({
- data: {
- token: service.getUserToken().token,
- profile: service.getUser()
- }
- })
- }
- login.posmiddleware = []
- /**
- *
- *
- * @export
- * @param {any} req
- * @param {any} res
- */
- logout.middleware = [middleware.authenticated('token')]
- export async function logout(req, res, next) {
- const service = new AuthService(req, next)
- await service.logout()
- res.status(200).send({
- data: 'success'
- })
- }
Add Comment
Please, Sign In to add comment