fix/various fixes
This commit is contained in:
@@ -1,8 +1,13 @@
|
||||
import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
|
||||
import { router } from 'expo-router';
|
||||
|
||||
import { tokenManager } from '@/core/auth/token-manager';
|
||||
import { authKeys } from '@/features/auth/hooks';
|
||||
|
||||
import { profileApi } from './api';
|
||||
import type {
|
||||
LegalDocType,
|
||||
PurgeUserDataRequest,
|
||||
SubmitFeedbackRequest,
|
||||
UpdateProfileRequest,
|
||||
} from './types';
|
||||
@@ -82,6 +87,24 @@ export function useSubmitFeedback() {
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 永久清空服务端业务数据;成功后服务端会吊销所有 refresh token,
|
||||
* 因此仅清本地会话并跳转登录(不再调用 logout 接口)。
|
||||
*/
|
||||
export function usePurgeUserData() {
|
||||
const queryClient = useQueryClient();
|
||||
|
||||
return useMutation({
|
||||
mutationFn: (body: PurgeUserDataRequest) => profileApi.purgeUserData(body),
|
||||
onSuccess: async () => {
|
||||
await tokenManager.clearTokens();
|
||||
queryClient.clear();
|
||||
queryClient.setQueryData(authKeys.tokenCheck, false);
|
||||
router.replace('/(auth)/login');
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
// ─── Legal ───
|
||||
|
||||
export function useLegalDoc(type: LegalDocType) {
|
||||
|
||||
Reference in New Issue
Block a user