feat: logout route/sign out button (#54)

This commit is contained in:
sct
2020-09-06 23:11:42 +09:00
committed by GitHub
parent e6349c13a0
commit cb9098f457
7 changed files with 79 additions and 29 deletions

View File

@@ -457,10 +457,7 @@ paths:
content:
application/json:
schema:
type: object
properties:
status:
type: string
$ref: '#/components/schemas/User'
requestBody:
required: true
content:
@@ -472,7 +469,23 @@ paths:
type: string
required:
- authToken
/auth/logout:
get:
summary: Logout and clear session cookie
description: This endpoint will completely clear the session cookie and associated values, logging out the user
tags:
- auth
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
status:
type: string
example: 'ok'
/user:
get:
summary: Returns a list of all users

View File

@@ -75,7 +75,7 @@ authRoutes.post('/login', async (req, res) => {
req.session.userId = user.id;
}
return res.status(200).json({ status: 'ok' });
return res.status(200).json(user?.filter() ?? {});
} catch (e) {
console.error(e);
res
@@ -84,4 +84,17 @@ authRoutes.post('/login', async (req, res) => {
}
});
authRoutes.get('/logout', (req, res, next) => {
req.session?.destroy((err) => {
if (err) {
return next({
status: 500,
message: 'Something went wrong while attempting to logout',
});
}
return res.status(200).json({ status: 'ok' });
});
});
export default authRoutes;