index.ts 727 B

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