first commit

This commit is contained in:
sajjadtalkhabi
2026-05-13 01:43:05 +03:30
commit d2a577f254
297 changed files with 36274 additions and 0 deletions
+65
View File
@@ -0,0 +1,65 @@
import { useMutation, useQuery } from '@tanstack/vue-query'
import {
apiCompleteProfile,
apiForgotPassword,
apiGetProfile,
apiGetRegistrationQuestionVideo,
apiLogin,
apiLoginWithCode,
apiLogout,
apiRegister,
apiResendVerificationCode,
apiResetPassword,
apiUpdateProfile,
apiUploadTemporary,
apiVerifyCode,
apiVerifyForgotPasswordCode,
} from '@/services/api/auth'
export const authKeys = {
profile: () => ['auth', 'profile'],
registrationVideo: () => ['auth', 'registration-video'],
}
export const useLoginMutation = () => useMutation({ mutationFn: apiLogin })
export const useLoginWithCodeMutation = () => useMutation({ mutationFn: apiLoginWithCode })
export const useRegisterMutation = () => useMutation({ mutationFn: apiRegister })
export const useVerifyCodeMutation = () => useMutation({ mutationFn: apiVerifyCode })
export const useResendVerificationCodeMutation = () =>
useMutation({ mutationFn: apiResendVerificationCode })
export const useForgotPasswordMutation = () => useMutation({ mutationFn: apiForgotPassword })
export const useVerifyForgotPasswordCodeMutation = () =>
useMutation({ mutationFn: apiVerifyForgotPasswordCode })
export const useResetPasswordMutation = () => useMutation({ mutationFn: apiResetPassword })
export const useLogoutMutation = () => useMutation({ mutationFn: apiLogout })
export const useGetProfileQuery = (options = {}) =>
useQuery({
queryKey: authKeys.profile(),
queryFn: () => apiGetProfile(),
select: (response) => response?.data?.user ?? response?.data ?? response,
...options,
})
export const useCompleteProfileMutation = () => useMutation({ mutationFn: apiCompleteProfile })
export const useUpdateProfileMutation = () => useMutation({ mutationFn: apiUpdateProfile })
export const useGetRegistrationVideoQuery = (options = {}) =>
useQuery({
queryKey: authKeys.registrationVideo(),
queryFn: () => apiGetRegistrationQuestionVideo(),
select: (response) => response?.data ?? response,
...options,
})
export const useUploadTemporaryMutation = () => useMutation({ mutationFn: apiUploadTemporary })