index.ts 648 B

123456789101112131415161718192021222324252627282930
  1. import {
  2. User
  3. } from "../../../models/User";
  4. import redis from "../../../config/redis";
  5. import {
  6. LogoutResult
  7. } from "./types";
  8. const logout = async (userID: string, token: string): Promise<LogoutResult> => {
  9. try {
  10. await User.findByIdAndUpdate(userID, {
  11. refreshToken: null
  12. });
  13. await redis.del(`${userID}`);
  14. return {
  15. message: "logout-successful",
  16. code: 200,
  17. };
  18. } catch (error) {
  19. console.error("Logout action error:", error);
  20. return {
  21. message: "logout-failed",
  22. code: 500,
  23. };
  24. }
  25. };
  26. export default logout;