Parcourir la source

Bugfix: Ensure context is required for logout function and streamline error handling

BedirhanOZCAN il y a 1 mois
Parent
commit
706187ad7e
2 fichiers modifiés avec 4 ajouts et 19 suppressions
  1. 3 18
      src/actions/auth/logout/index.ts
  2. 1 1
      src/controllers/authController.ts

+ 3 - 18
src/actions/auth/logout/index.ts

@@ -1,38 +1,23 @@
 import {
-    LogoutResult,
-    ContextType
+    LogoutResult, ContextType
 } from "./types";
 import {
     User
 } from "../../../models/User";
 import redis from "../../../config/redis";
 
-export const logout = async (context?: ContextType): Promise<LogoutResult> => {
+export const logout = async (context: ContextType): Promise<LogoutResult> => {
     try {
-        if (!context) {
-            return {
-                message: "unauthorized-missing-context",
-                code: 401
-            };
-        }
-
         const {
             userID,
             token
         } = context;
 
-        if (!userID || !token) {
-            return {
-                message: "unauthorized-missing-user-information",
-                code: 401
-            };
-        }
-
         await User.findByIdAndUpdate(userID, {
             refreshToken: null
         });
 
-        await redis.del(`user:${userID}`);
+        await redis.del(`${userID}`);
 
         return {
             message: "logout-successful",

+ 1 - 1
src/controllers/authController.ts

@@ -83,7 +83,7 @@ export const login = async (req: Request, res: Response): Promise<void> => {
 
 export const logout = async (req: AuthRequest, res: Response): Promise<void> => {
     try {
-        const result = await _logout(req.context);
+        const result = await _logout(req.context!);
 
         res.status(result.code).json({
             message: result.message,