CFE-5 set token socket

This commit is contained in:
AmirHossein Mahmoodi
2023-10-02 10:09:42 +03:30
parent 3992502b94
commit 27dd632541

View File

@@ -2,6 +2,7 @@ import {GET_USER_ROUTE} from "@/core/data/apiRoutes";
import axios from "axios"; import axios from "axios";
import {createContext, useCallback, useEffect, useReducer} from "react"; import {createContext, useCallback, useEffect, useReducer} from "react";
import {errorRequest, errorResponse, errorSetting} from "@/core/utils/errorHandler"; import {errorRequest, errorResponse, errorSetting} from "@/core/utils/errorHandler";
import useSocket from "@/lib/app/hooks/useSocket";
const initialUser = { const initialUser = {
isAuth: false, isAuth: false,
@@ -39,6 +40,7 @@ const reducer = (state, action) => {
export const UserContext = createContext(); export const UserContext = createContext();
export const UserProvider = ({children}) => { export const UserProvider = ({children}) => {
const socket = useSocket()
const [state, dispatch] = useReducer(reducer, initialUser); const [state, dispatch] = useReducer(reducer, initialUser);
const clearUser = useCallback(() => { const clearUser = useCallback(() => {
@@ -75,7 +77,7 @@ export const UserProvider = ({children}) => {
headers: {authorization: `Bearer ${state.token}`}, headers: {authorization: `Bearer ${state.token}`},
}) })
.then(({data}) => { .then(({data}) => {
if (typeof callback === "function") callback(data); if (typeof callback === "function") callback(data.data);
}) })
.catch(error => { .catch(error => {
if (error.response) { if (error.response) {
@@ -100,12 +102,16 @@ export const UserProvider = ({children}) => {
clearUser(); clearUser();
changeAuthState(false); changeAuthState(false);
changeLanguageState(false); changeLanguageState(false);
socket.auth.token = ""
return; return;
} }
getUser((data) => { getUser((data) => {
changeUser(data); changeUser(data);
changeAuthState(true); changeAuthState(true);
changeLanguageState(true); changeLanguageState(true);
socket.auth.token = data.telephone_id
}); });
}, [state.token]); }, [state.token]);