diff --git a/routes/users.js b/routes/users.js index 4cd4a0b..d669fd4 100644 --- a/routes/users.js +++ b/routes/users.js @@ -9,10 +9,21 @@ const router = Router({prefix: '/api/v1/users'}); router.get('/', auth, getAll); router.post('/', bodyParser(), validateUser, createUser); +router.post('/login', auth, login); router.get('/:id([0-9]{1,})', auth, getById); router.put('/:id([0-9]{1,})', auth, bodyParser(), validateUser, updateUser); router.del('/:id([0-9]{1,})', auth, deleteUser); + +async function login(ctx) { + // return any details needed by the client + const {ID, username, email, avatarURL} = ctx.state.user + const links = { + self: `${ctx.protocol}://${ctx.host}${prefix}/${ID}` + } + ctx.body = {ID, username, email, avatarURL, links}; +} + async function getAll(ctx) { const permission = can.readAll(ctx.state.user); if (!permission.granted) {