summary refs log tree commit diff
path: root/src/api/routes/auth/accountRoutes.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/routes/auth/accountRoutes.js')
-rw-r--r--src/api/routes/auth/accountRoutes.js14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/api/routes/auth/accountRoutes.js b/src/api/routes/auth/accountRoutes.js

index 34592ed..f0d0102 100644 --- a/src/api/routes/auth/accountRoutes.js +++ b/src/api/routes/auth/accountRoutes.js
@@ -3,6 +3,7 @@ import { AuthDto, RegisterDto } from '#dto/index.js'; import { RouteDescription, RouteMethod } from '#api/RouteDescription.js'; import { WhoAmIDto } from '#dto/auth/WhoAmIDto.js'; import { requireAuth } from '#api/middlewares/index.js'; +import { SafeNSoundError } from '#util/error.js'; /** * @type {RouteDescription} @@ -59,13 +60,17 @@ export const logoutRoute = { path: '/auth/logout', methods: { post: new RouteMethod({ - description: 'Log out from a device (TODO)', + description: 'Log out from a device', exampleHeaders: { Authorization: 'Bearer {{accessToken}}' }, + middlewares: [requireAuth], async method(req, res) { - const data = await AuthDto.create(req.body); - // const loginResult = await deleteDevice(data, ); + const deviceIndex = req.user.devices.findIndex( + device => device.id === req.device._id + ); + req.user.devices.splice(deviceIndex, 1); + await req.user.save(); res.status(204).send(); } }) @@ -102,6 +107,9 @@ export const whoAmI = { methods: { get: new RouteMethod({ description: 'Get current user', + exampleHeaders: { + Authorization: 'Bearer {{accessToken}}' + }, middlewares: [requireAuth], async method(req, res) { const data = await WhoAmIDto.create({