All files / src/store/features/auth/api logoutApi.ts

0% Statements 0/14
100% Branches 0/0
0% Functions 0/3
0% Lines 0/14

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28                                                       
import { LOGOUT_USER } from "../../../../constants/index.ts";
import { apiSlice } from "../../../app/apiSlice.ts";
import { logOut } from "../authSlice.ts";
 
export const logoutApi = apiSlice.injectEndpoints({
  endpoints: (builder) => ({
    logout: builder.mutation<any, void>({
      query: () => ({
        url: LOGOUT_USER,
        method: "POST",
      }),
      onQueryStarted: async (_, { dispatch, queryFulfilled }) => {
        try {
          await queryFulfilled;
          localStorage.removeItem("email");
          localStorage.removeItem("access_token");
          localStorage.removeItem("refresh_token");
          dispatch(logOut());
        } catch (error) {
          console.log(error);
        }
      },
    }),
  }),
});
 
export const { useLogoutMutation } = logoutApi;