Browse Source

Bugfix: Standardize error and success messages in authentication actions

BedirhanOZCAN 1 tháng trước cách đây
mục cha
commit
d1efdc5e69

+ 4 - 4
src/actions/auth/login/index.ts

@@ -40,21 +40,21 @@ const login = async (input: LoginInput): Promise<LoginResult> => {
 
     if (!user) {
         return {
-            message: "User not found",
+            message: "user-not-found",
             code: 404,
         };
     }
 
     if (user.password !== password) {
         return {
-            message: "Wrong password",
+            message: "wrong-password",
             code: 401,
         };
     }
 
     if (!user.isMailVerified) {
         return {
-            message: "Please verify your email address.",
+            message: "please-verify-your-email-address.",
             code: 403,
             payload: {
                 isMailVerified: user.isMailVerified,
@@ -97,7 +97,7 @@ const login = async (input: LoginInput): Promise<LoginResult> => {
     await user.save();
 
     return {
-        message: "Login successful",
+        message: "login-successful",
         code: 200,
         payload: {
             refreshToken,

+ 2 - 2
src/actions/auth/logout/index.ts

@@ -15,13 +15,13 @@ const logout = async (userID: string, token: string): Promise<LogoutResult> => {
         await redis.del(`${userID}`);
 
         return {
-            message: "Logout successful",
+            message: "logout-successful",
             code: 200,
         };
     } catch (error) {
         console.error("Logout action error:", error);
         return {
-            message: "Logout failed",
+            message: "logout-failed",
             code: 500,
         };
     }

+ 14 - 7
src/actions/auth/me/index.ts

@@ -7,17 +7,24 @@ import {
 
 const me = async (userID: string): Promise<MeResult> => {
     try {
-        const user = await User.findById(userID).select("-password -refreshToken");
-
+        const user = await User.findById(userID, {
+            phoneNumber: 1,
+            companyName: 1,
+            firstName: 1,
+            fullName: 1,
+            lastName: 1,
+            mail: 1,
+            _id: 1,
+        });
         if (!user) {
             return {
-                message: "User not found",
+                message: "user-not-found",
                 code: 404,
             };
         }
 
         return {
-            message: "User profile retrieved",
+            message: "user-profile-retrieved",
             code: 200,
             payload: {
                 user: {
@@ -25,16 +32,16 @@ const me = async (userID: string): Promise<MeResult> => {
                     companyName: user.companyName,
                     userID: user._id.toString(),
                     firstName: user.firstName,
-                    fullName: user.fullName,
                     lastName: user.lastName,
-                    mail: user.mail,
+                    fullName: user.fullName,
+                    mail: user.mail
                 }
             }
         };
     } catch (error) {
         console.error("Me action error:", error);
         return {
-            message: "Internal server error", code: 500
+            message: "internal-server-error", code: 500
         };
     }
 };

+ 6 - 6
src/controllers/authController.ts

@@ -74,7 +74,7 @@ export const login = async (req: Request, res: Response): Promise<void> => {
         console.error("Login error:", error);
         res.status(500)
             .json({
-                message: "Server error",
+                message: "server-error",
                 code: 500,
             });
     }
@@ -86,7 +86,7 @@ export const logout = async (req: AuthRequest, res: Response): Promise<void> =>
 
         if (!context) {
             res.status(401).json({
-                message: "Unauthorized: Missing context",
+                message: "unauthorized-missing-context",
                 code: 401
             });
             return;
@@ -99,7 +99,7 @@ export const logout = async (req: AuthRequest, res: Response): Promise<void> =>
 
         if (!userID || !token) {
             res.status(401).json({
-                message: "Unauthorized: Missing user information",
+                message: "unauthorized-missing-user-information",
                 code: 401
             });
             return;
@@ -114,7 +114,7 @@ export const logout = async (req: AuthRequest, res: Response): Promise<void> =>
     } catch (error) {
         console.error("Logout controller error:", error);
         res.status(500).json({
-            message: "Server error",
+            message: "server-error",
             code: 500,
         });
     }
@@ -126,7 +126,7 @@ export const me = async (req: AuthRequest, res: Response): Promise<void> => {
 
         if (!context || !context.userID) {
             res.status(401).json({
-                message: "Unauthorized", code: 401
+                message: "unauthorized", code: 401
             });
             return;
         }
@@ -142,7 +142,7 @@ export const me = async (req: AuthRequest, res: Response): Promise<void> => {
         });
     } catch (error) {
         res.status(500).json({
-            message: "Server error", code: 500
+            message: "server-error", code: 500
         });
     }
 };