Files
imphnen-frontend-service/libs/service/src/hooks/auth/index.ts
T

61 lines
1.4 KiB
TypeScript
Raw Normal View History

2025-03-19 23:38:42 +07:00
import { useMutation, UseMutationResult } from '@tanstack/react-query';
2025-06-18 18:50:06 +07:00
import { postLogin, postRegister, postSendOtp, postVerifyEmail } from '../../api/auth';
2025-03-19 23:38:42 +07:00
import {
TLoginRequest,
TLoginResponse,
TRegisterRequest,
2025-06-18 18:50:06 +07:00
TSendOTPRequest,
2025-03-19 23:38:42 +07:00
TVerifyEmailRequest,
} from '../../types/auth';
2025-04-03 12:21:10 +07:00
2025-03-19 23:38:42 +07:00
import { TResponseError, TResponseMessage } from '../../types/common';
export const usePostLogin = (): UseMutationResult<
TLoginResponse,
TResponseError,
TLoginRequest,
unknown
> => {
return useMutation({
mutationKey: ['post-login'],
mutationFn: async (payload) => await postLogin(payload),
});
};
export const usePostRegister = (): UseMutationResult<
TResponseMessage,
TResponseError,
TRegisterRequest,
unknown
> => {
return useMutation({
mutationKey: ['post-register'],
mutationFn: async (payload) => await postRegister(payload),
});
};
export const usePostVerifyEmail = (): UseMutationResult<
TResponseMessage,
TResponseError,
TVerifyEmailRequest,
unknown
> => {
return useMutation({
mutationKey: ['post-verify-email'],
mutationFn: async (payload) => await postVerifyEmail(payload),
});
};
2025-06-18 18:50:06 +07:00
export const usePostSendOTP = (): UseMutationResult<
TResponseMessage,
TResponseError,
TSendOTPRequest,
unknown
> => {
return useMutation({
mutationKey: ['post-send-otp'],
mutationFn: async (payload) => await postSendOtp(payload),
});
};