All files / src/services/api/onboarding signup.ts

0% Statements 0/35
100% Branches 0/0
0% Functions 0/11
0% Lines 0/33

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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91                                                                                                                                                                                     
import { customInstance } from "../index";
import { useMutation, useQuery, useQueryClient } from "react-query";
import { BASE_URL } from "../api.constant";
import { AxiosResponse } from "axios";
import { showMessage } from "@common/Toast/ShowToast";
import { useDispatch } from "react-redux";
import { login } from "@redux/slices/auth/auth";
 
const signup = async (data: any) => {
  try {
    const response = (await customInstance({
      url: "signup?lang=en",
      method: "POST",
      data,
    })) as AxiosResponse<any>;
    const dispatch = useDispatch();
    dispatch(login(response.data));
    return response.data;
  } catch (error) {
    // Handle error
    console.error(error);
    throw error;
  }
};
 
export const useSignup = (data: any) => {
  return useQuery("signup", () => signup(data));
};
 
const signin = async (data: any) => {
  try {
    const response: AxiosResponse = (await customInstance({
      url: "signin?lang=en",
      method: "POST",
      data,
    })) as AxiosResponse<any>;
 
    return response.data;
  } catch (error) {
    // Handle error
    console.error(error);
    throw error;
  }
};
 
export const useSignin = (data: any) => {
  return useQuery("signin", () => signin(data));
};
 
export const signupMutation = useMutation((data: any) => {
  return customInstance({
    url: "signup?lang=en",
    method: "POST",
    data,
  });
});
 
const resetPassword = async (data: any) => {
  try {
    const response = (await customInstance({
      url: "reset-password",
      method: "POST",
      data,
    })) as AxiosResponse<any>;
 
    return response.data;
  } catch (error) {
    // Handle error
    console.error(error);
    throw error;
  }
};
 
export const useResetPassword = () => {
  const queryClient = useQueryClient();
  const resetPasswordMustation = useMutation(resetPassword, {
    onError: (error: any) => {
      console.error(error);
      showMessage("Error", error.message);
    },
    onSuccess: (data) => {
      showMessage("Success", data);
    },
  });
 
  return {
    mutate: resetPasswordMustation.mutate,
    isLoading: resetPasswordMustation.isLoading,
  };
};