/**
* Checks tRPC errors, if UNAUTHORIZED it notifies the front-end the user's
* token is no longer valid.
*/
export const unauthorizedLink =
<TRouter extends AnyRouter>(): TRPCLink<TRouter> =>
() =>
({ op, next }) => {
const observable = next(op);
observable.subscribe({
error: (error) => {
if (error.shape?.data.httpStatus === StatusCodes.UNAUTHORIZED) {
useEnduvoToken.getState().clearToken();
}
},
});
return observable;
};
/**
* Checks tRPC errors, if UNAUTHORIZED it notifies the front-end the user's
* token is no longer valid.
*/
export const unauthorizedLink =
<TRouter extends AnyRouter>(): TRPCLink<TRouter> =>
() =>
({ op, next }) => {
const observable = next(op);
observable.subscribe({
error: (error) => {
if (error.shape?.data.httpStatus === StatusCodes.UNAUTHORIZED) {
useEnduvoToken.getState().clearToken();
}
},
});
return observable;
};