edit:module:auth:*logout | add single line documentation for logout module
This commit is contained in:
@ -11,13 +11,16 @@ import { logoutService } from "../services/logout.service";
|
||||
|
||||
export const logoutController = async (ctx: Context) => {
|
||||
try {
|
||||
// Get the user cookie from the request, if not found, return an error
|
||||
const userCookie = getCookie(ctx);
|
||||
if (!userCookie || !userCookie.auth_token) {
|
||||
return returnErrorResponse(ctx.set, 401, "You're not logged in yet");
|
||||
}
|
||||
|
||||
// Call the logout service to clear the user session
|
||||
const clearSession = logoutService(userCookie.auth_token);
|
||||
|
||||
// Clear the auth cookie from the user session
|
||||
clearCookies(ctx.set, [COOKIE_KEYS.AUTH]);
|
||||
return returnWriteResponse(
|
||||
ctx.set,
|
||||
@ -25,6 +28,8 @@ export const logoutController = async (ctx: Context) => {
|
||||
"Successfully logged out",
|
||||
clearSession
|
||||
);
|
||||
|
||||
// If there's an error during the logout process, handle it
|
||||
} catch (error) {
|
||||
return mainErrorHandler(ctx.set, error);
|
||||
}
|
||||
|
||||
@ -4,11 +4,15 @@ import { deleteUserSessionInCacheAndDBService } from "../../userSession/services
|
||||
|
||||
export const logoutService = async (userCookie: string) => {
|
||||
try {
|
||||
// Decode the JWT token to get the user session
|
||||
const jwtToken = jwtDecode(userCookie);
|
||||
|
||||
// Delete the user session from cache and database
|
||||
const deleteUserSessionInCacheAndDB =
|
||||
deleteUserSessionInCacheAndDBService(jwtToken);
|
||||
|
||||
return deleteUserSessionInCacheAndDB;
|
||||
|
||||
// If the session was not found in the cache or database, throw an error
|
||||
} catch (error) {
|
||||
ErrorForwarder(error, 500, "Logout service had encountered error");
|
||||
}
|
||||
|
||||
@ -7,14 +7,19 @@ export const deleteUserSessionInCacheAndDBService = async (
|
||||
jwtToken: JWTAuthToken
|
||||
) => {
|
||||
try {
|
||||
// Construct the userId and sessionId from the JWT token
|
||||
const userId = jwtToken.userId;
|
||||
const sessionId = jwtToken.id;
|
||||
|
||||
// Delete the user session from cache and database
|
||||
await deleteUserSessionFromCacheRepo(userId, sessionId);
|
||||
const deleteUserSessionFromDB = await deleteUserSessionFromDBRepo(
|
||||
sessionId
|
||||
);
|
||||
|
||||
return deleteUserSessionFromDB;
|
||||
|
||||
// If the session was not found in the cache or database, throw an error
|
||||
} catch (error) {
|
||||
ErrorForwarder(
|
||||
error,
|
||||
|
||||
Reference in New Issue
Block a user